z/OS Communications Server: IP CICS Sockets Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


SENDTO call

z/OS Communications Server: IP CICS Sockets Guide
SC27-3649-00

SENDTO is similar to SEND, except that it includes the destination address parameter. The destination address allows you to use the SENDTO call to send datagrams on a UDP socket, regardless of whether the socket is connected.

The FLAGS parameter allows you to:
  • Send out-of-band data such as interrupts, aborts, and data marked as urgent.
  • Suppress use of local routing tables. This implies that the caller takes control of routing, which requires writing network software.

For datagram sockets SENDTO 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 SENDTO in a loop that repeats the call until all data has been sent.
Note: See EZACIC04 program for a subroutine that translates EBCDIC input data to ASCII.
The following requirements apply to this call:
Requirement Description
Authorization: Supervisor state or problem state, any PSW key
Dispatchable unit mode: Task
Cross memory mode: PASN = HASN
Amode: 31-bit or 24-bit
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 SENDTO call instructions.

Figure 1. SENDTO call instruction example
    WORKING-STORAGE SECTION.
        01  SOC-FUNCTION    PIC X(16)  VALUE IS 'SENDTO'.
        01  S               PIC 9(4) BINARY.
        01  FLAGS.          PIC 9(8) BINARY.
        01  NO-FLAG         PIC 9(8) BINARY  VALUE IS 0.
        01  OOB             PIC 9(8) BINARY  VALUE IS 1.
        01  DONT-ROUTE      PIC 9(8) BINARY  VALUE IS 4.
        01  NBYTE           PIC 9(8) BINARY.
        01  BUF             PIC X(length of buffer).
    *                                                                 
    * IPv4 Socket Address Structure.                                  
    *                                                                 

        01  NAME.
            03  FAMILY      PIC 9(4) BINARY.
            03  PORT        PIC 9(4) BINARY.
            03  IP-ADDRESS  PIC 9(8) BINARY.
            03  RESERVED    PIC X(8).
    *                                                                 
    * IPv6 Socket Address Structure.                                  
    *                                                                 
        01  NAME.                                                    
            03  FAMILY      PIC 9(4) BINARY.                         
            03  PORT        PIC 9(4) BINARY.                         
            03  FLOW-INFO   PIC 9(8) BINARY.                         
            03  IP-ADDRESS.                                          
                05  FILLER  PIC 9(16) BINARY.                        
                05  FILLER  PIC 9(16) BINARY.                        
            03  SCOPE-ID    PIC 9(8) BINARY.                         
                                                                     

        01  ERRNO           PIC 9(8) BINARY.
        01  RETCODE         PIC S9(8) BINARY.
 
    PROCEDURE DIVISION.
         CALL 'EZASOKET' USING SOC-FUNCTION S FLAGS NBYTE
                        BUF NAME ERRNO RETCODE.

For equivalent PL/I and assembler language declarations, see Converting parameter descriptions.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014