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


SENDMSG call

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

The SENDMSG call sends messages on a socket with descriptor S passed in an array of messages.

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 SENDMSG call instructions.

Figure 1. SENDMSG call instruction example
        WORKING-STORAGE SECTION.
            01  SOC-FUNCTION    PIC X(16)  VALUE IS 'SENDMSG'.
            01  S               PIC 9(4)   BINARY.
            01  MSG.
                03  NAME            USAGE IS POINTER.
                03  NAME-LEN        USAGE IS POINTER.
                03  IOV             USAGE IS POINTER.
                03  IOVCNT          USAGE IS POINTER.
                03  ACCRIGHTS       USAGE IS POINTER.
                03  ACCRLEN         USAGE IS POINTER.
 
            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  DONTROUTE       PIC 9(8)  BINARY  VALUE IS 4.
            01  ERRNO           PIC 9(8)  BINARY.
            01  RETCODE         PIC S9(8) BINARY.

            01  SENDMSG-IPV4ADDR PIC 9(8) BINARY.                    
            01  SENDMSG-IPV6ADDR.                                    
                03  FILLER      PIC 9(16) BINARY.                    
                03  FILLER      PIC 9(16) BINARY.                    
 
       LINKAGE SECTION.
 
            01 L1
               03 SENDMSG-IOVECTOR.
                  05 IOV1A               USAGE IS POINTER.
                  05 IOV1AL              PIC 9(8) COMP.
                  05 IOV1L               PIC 9(8) COMP.
                  05 IOV2A               USAGE IS POINTER.
                  05 IOV2AL              PIC 9(8) COMP.
                  05 IOV2L               PIC 9(8) COMP.
                  05 IOV3A               USAGE IS POINTER.
                  05 IOV3AL              PIC 9(8) COMP.
                  05 IOV3L               PIC 9(8) COMP.
       *                                                                 
       * IPv4 Socket Address Structure.                                  
       *                                                                 
               03 SENDMSG-NAME.                                      
                  05 FAMILY        PIC 9(4) BINARY.                  
                  05 PORT          PIC 9(4) BINARY.                  
                  05 IP-ADDRESS    PIC 9(8) BINARY.                  
                  05 RESERVED      PIC X(8).                         
        *                                                                 
        * IPv6 Socket Address Structure.                                  
        *                                                                 
               03 SENDMSG-NAME.                                      
                  05 FAMILY        PIC 9(4) BINARY.                  
                  05 PORT          PIC 9(4) BINARY.                  
                  05 FLOW-INFO     PIC 9(8) BINARY.                  
                  05 IP-ADDRESS.                                     
                     10  FILLER    PIC 9(16) BINARY.                 
                     10  FILLER    PIC 9(16) BINARY.                 
                  05 SCOPE-ID      PIC 9(8) BINARY.                  
                                                                         
               03 SENDMSG-BUFFER1     PIC X(16).
               03 SENDMSG-BUFFER2     PIC X(16).
               03 SENDMSG-BUFFER3     PIC X(16).
               03 SENDMSG-BUFNO       PIC 9(8) COMP.
  PROCEDURE DIVISION USING L1.

       * For IPv6                                                       
                  MOVE 19 TO FAMILY.                                 
                  MOVE 1234 TO PORT.                                 
                  MOVE 0 TO FLOW-INFO.                               
                  MOVE SENDMSG-IPV6ADDR TO IP-ADDRESS.               
                  MOVE 0 TO SCOPE-ID.                                
       * For IPv4                                                       
                  MOVE 2 TO FAMILY.                                  
                  MOVE 1234 TO PORT.                                 
                  MOVE SENDMSG-IPV4ADDR TO IP-ADDRESS.               
 
                  SET NAME TO ADDRESS OF SENDMSG-NAME.
                  SET IOV TO ADDRESS OF SENDMSG-IOVECTOR.
                  MOVE LENGTH OF SENDMSG-NAME TO NAME-LEN.
                  SET IOVCNT TO ADDRESS OF SENDMSG-BUFNO.
                  SET IOV1A TO ADDRESS OF SENDMSG-BUFFER1.
                  MOVE 0 TO IOV1AL.
                  MOVE LENGTH OF SENDMSG-BUFFER1 TO IOV1L.
                  SET IOV2A TO ADDRESS OF SENDMSG-BUFFER2.
                  MOVE 0 TO IOV2AL.
                  MOVE LENGTH OF SENDMSG-BUFFER2 TO IOV2L.
                  SET IOV3A TO ADDRESS OF SENDMSG-BUFFER3.
                  MOVE 0 TO IOV3AL.
                  MOVE LENGTH OF SENDMSG-BUFFER3 TO IOV3L.
                  SET ACCRIGHTS TO NULLS.
                  SET ACCRLEN TO NULLS.
                  MOVE 0 TO FLAGS.
                  MOVE "MESSAGE TEXT 1" TO SENDMSG-BUFFER1.
                  MOVE "MESSAGE TEXT 2" TO SENDMSG-BUFFER2.
                  MOVE "MESSAGE TEXT 3" TO SENDMSG-BUFFER3.
 
           CALL 'EZASOKET' USING SOC-FUNCTION MSG FLAGS 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