DSECT (MSGBUF) will be generated with either DSECT=NO or DSECT=YES. If DSECT=NO is specified, you may need an additional DSECT / CSECT statement to return to the current DSECT or CSECT. Default for the message size is 100 bytes. Specify VARLEN= to override this value.
AMODE 64 callers use BPXYMSG — Map interprocess communication message queues.
BPXYMSG ,
** BPXYMSG: Interprocess Communication Message Queue Structure
** Used By: msgctl
MSQID_DS DSECT , message queue structure
MSG_PERM DS CL(IPC#LENGTH) Mapped by BPXYIPCP
MSG_QNUM DS F # of messages on queue
MSG_QBYTES DS F max bytes allowed on queue
MSG_LSPID DS F process ID of last msgsnd()
MSG_LRPID DS F process ID of last msgrcv()
MSG_STIME DS F time of last msgsnd()
MSG_RTIME DS F time of last msgrcv()
MSG_CTIME DS F time of last change get/ctl
MSQ#LENGTH EQU *-MSQID_DS Length of this DSECT
MSGBUF DSECT , Message buffer - msgsnd, msgrcv
MSG_TYPE DS F Message type
MSG_MTEXT DS CL100 Message text
MSGB#LENGTH EQU *-MSGBUF Length of this DSECT
MSGXBUF DSECT , Message buffer - msgxrcv
MSGX_MTIME DS F time message sent
MSGX_UID DS F sender's effective UID
MSGX_GID DS F sender's effective GID
MSGX_PID DS F sender's PID
MSGX_TYPE DS F Message type
MSGX_MTEXT DS CL100 Message text
MSGX#LENGTH EQU *-MSGXBUF Length of this DSECT
* Flag bits - msgrcv (also IPC_NOWAIT
MSG_NOERROR EQU 4 No error if big message.
MSG_INFO EQU 8 Use MSGXBUF not MSGBUF format
** BPXYMSG End