BPXYMSGX — Map the message header

BPXYMSGX is used by the srx_np() syscall. BPXYMSGX uses constants defined by mapping macro IVTBUFL.
                                                      
            IVTBUFL    ,                                                        
IVTBUFL  DSECT                         BUFFER DESCRIPTOR                        
BUFL_VERSION   DS    X                 VERSION OF BUFFER DESCRIPTOR             
BUFL_VERSIONC  EQU   X'00'             VERSION 0                                
BUFL_SOURCE    DS    X                 BUFFER SOURCE                            
BUFL_CECSA     EQU   X'80'             INDICATES THAT THE STORAGE               
*                                      IS IN CSM ECSA                           
BUFL_CDSPACE   EQU   X'40'             INDICATES THAT THE STORAGE               
*                                      IS IN CSM DATA SPACE                     
BUFL_UDSPACE   EQU   X'20'             INDICATES THAT THE STORAGE               
*                                      IS IN A USER DATA SPACE                  
BUFL_USTOR     EQU   X'10'             INDICATES THAT THE STORAGE               
*                                      IS A USER'S STORAGE OTHER THAN           
*                                      A DATA SPACE                             
Start of changeBUFL_HVCOMM    EQU   X'08'             Indicates that the storage               
                                       is in a HVCOMMEnd of change
*                                      
BUFL_TYPE      DS    X                 BUFFER TYPE                              
BUFL_FIXED     EQU   X'80'             INDICATES THAT THE STORAGE IS            
*                                      IN A GUARANTEED TO BE FIXED              
*                                      STATE                                    
BUFL_PAGEABLE  EQU   X'40'             INDICATES THAT THE STORAGE IS            
*                                      IN A GUARANTEED TO BE PAGEABLE           
*                                      STATE                                    
BUFL_PAGEELIG  EQU   X'20'             INDICATES THAT THE STORAGE IS            
*                                      ELIGIBLE TO BE PAGEFREED BY              
*                                      CSM                                      
               DS    XL1               RESERVED                                 
BUFL_TOKEN     DS    XL12              CSM BUFFER TOKEN                         
BUFL_ALET      DS    F                 DATA SPACE ALET                          
Start of changeBUFL_ADDR64    DS    AD                64-bit buffer addressEnd of change
BUFL_ADDR      DS    A                 POINTER TO BUFFER                        
BUFL_SIZE      DS    F                 THE SIZE OF THE ALLOCATED BUFFER         
*                                      ON GET_BUFFER REQUESTS, THE DATA         
*                                      LENGTH ON COPY_DATA REQUESTS             
BUFL_END       DS    0F                END OF IVTBUFL                           
            BPXYMSGX   ,                                                        
** BPXYMSGX: MSGX system call structure                                         
**  Used By: BPX1SRX                                                            
MSGX                 DSECT ,                                                    
*                                                                               
MSGXNAMEPTR          DS    A        /* PTR TO SOCKADDR BUFFER       */          
MSGXNAMELEN          DS    F        /* LENGTH OF SOCKADDR BUFFER    */          
MSGXFLAGS            DS    0BL4     /* SRX CONTROL FLAGS            */          
MSGXFLAGS1           DS    BL1                                                  
MSGXFLAGS2           DS    BL1                                                  
MSGXFLAGS3           DS    BL1                                                  
MSGXFLAGS4           DS    BL1      FLAGS ARE IN THE 4TH BYTE                   
MSGX_CECSA           EQU   X'02'    /*   RECV IN ECSA BUFFERS       */          
MSGX_CDSPACE         EQU   X'01'    /*   RECV IN DATA SPACE BUFFERS */          
MSGXMSGFLAGS         DS    BL4      /* MSG_* FLAGS, SEE BPXYMSGF    */          
MSGXDATALEN          DS    F        /* MAX/MIN DATA TO RECEIVE      */          
MSGXTCB              DS    A        /* TCB TO OWN RECEIVE BUFFERS   */          
MSGXERRIOVX          DS    F        /* SEND IOVX ELEMENT IN ERROR   */          
MSGXERRDATA          DS    F        /* AMOUNT SENT FROM LAST BUFFER */          
MSGXIVTBUFLOFFSET    DS    F        /*1ST BUFF APPL STILL OWNS                  
                     DS    CL4      RESERVED                                    
MSGXCONTROLPTR       DS    A          Ancillary Data buffer                     
MSGXCONTROLLEN       DS    F          Length of ancillary data                  
MSGXIOVX             DS    CL(BUFL_END-IVTBUFL) IVTBUFL FOR IOVX ARRAY          
MSGXEND              EQU   *                                                    
*                                                                               
MSGX#LEN             EQU   MSGXEND-MSGX                                         
*                                                                               
*  IOVX - ARRAY OF IVTBUFL BUFFER DESCRIPTIONS                                  
*                                                                               
IOVX                 DSECT ,        /* DESCRIBED BY MSGXIOVX        */          
IOVXBUFL             DS    0CL(BUFL_END-IVTBUFL)       ARRAY ELEMENT            
*                                                                               
*   Constants                                                                   
*                                    /* BPX1SRX DIRECTION PARAMETER: */         
MSGX_SEND            EQU  0          /*   SEND OPERATION             */         
MSGX_RECV            EQU  1          /*   RECEIVE OPERATION          */         
*                                                                               
** BPXYMSGX End