SEND
The SEND call sends data on a specified connected socket.
The FLAGS field allows you to:
- Send out-of-band data, such as interrupts, aborts, and data marked urgent. Only stream sockets created in the AF_INET address family support out-of-band data.
- Suppress use of local routing tables. This implies that the caller takes control of routing and writing network software.
For datagram sockets, SEND transmits the entire datagram if it fits into the receiving buffer. Extra data is discarded.
For stream sockets, data is processed as streams of information
with no boundaries separating the data. For example, if a program
is required to send 1000 bytes, each call to this function can send
any number of bytes, up to the entire 1000 bytes, with the number
of bytes sent returned in RETCODE. Therefore, programs using stream
sockets should place this call in a loop, reissuing the call until
all data has been sent.
Note: See EZACIC04 for
a subroutine that will translate EBCDIC input data to ASCII.
| Condition | Requirement |
|---|---|
| Authorization: | Supervisor state or problem state, any PSW key. |
| Dispatchable unit mode: | Task. |
| Cross memory mode: | PASN = HASN. |
| Amode: | 31-bit or 24-bit. Note: See the addressability
mode (Amode) considerations under CALL instruction API environmental restrictions and programming requirements.
|
| ASC mode: | Primary address space control (ASC) mode. |
| Interrupt status: | Enabled for interrupts. |
| Locks: | Unlocked. |
| Control parameters: | All parameters must be addressable by the caller and in the primary address space. |
Figure 1 shows an example of SEND call instructions.
WORKING-STORAGE SECTION.
01 SOC-FUNCTION PIC X(16) VALUE IS 'SEND'.
01 S PIC 9(4) BINARY.
01 FLAGS PIC 9(8) BINARY.
88 NO-FLAG VALUE IS 0.
88 OOB VALUE IS 1.
88 DONT-ROUTE VALUE IS 4.
01 NBYTE PIC 9(8) BINARY.
01 BUF PIC X(length of buffer).
01 ERRNO PIC 9(8) BINARY.
01 RETCODE PIC S9(8) BINARY.
PROCEDURE DIVISION.
CALL 'EZASOKET' USING SOC-FUNCTION S FLAGS NBYTE
BUF ERRNO RETCODE.
For equivalent PL/I and assembly language declarations, see Converting parameter descriptions.