AMODE 64 callers use BPXYAIO — Map asyncio parameter list.
BPXYAIO ,
* ------------------------------ 31-Bit Version
* ------------------------------
** BPXYAIO: Asyncio parameter block
** Used by: AIO
AIO DSECT ,
AIOFD DS F File Descriptor
AIOBUFFDW DS 0CL8 Eight byte addresses
AIOBUFFALET DS F Alet for AioBuffPtr
&AIOBUFFPTR31 DS F Buffer Pointer
AIOBUFFSIZE DS F Buffer Length or Iov count
AIOOFFSETDW DS 0CL8 Offset in File
AIOOFFSETH DS F Offset in File highword
AIOOFFSET DS F Offset in File lowword
AIOMSGEVENT DS 0C Message Event overlays SigEv
&AIOSIGEVENT31 DS CL20 POSIX Signals
AIOREQPRIO DS F REQUEST PRIORITY
AIOLIOOPCODE DS F LIO_LISTIO() OP
*
ORG AIOLIOOPCODE
AIOCMD DS F Command Code
AIONOTIFYTYPE DS H Notification Type
AIOCFLAGS DS XL1 Control Flags
AIOOK2COMPIMD EQU X'80' Ok to complete immediately
AIOCALLB4 EQU X'40' Call exit before redrive
AIOSYNC EQU X'10' Do synchronously
AIOEXITMODETCB EQU X'08' 0=SRB, 1=TCB
AIOCANCELNOWAIT EQU X'04' Nowait option on cancel
AIOCANCELNONOTIFY EQU X'02' NoNotify option on cancel
AIOTCBAFFINITY EQU X'01' TCB Affinity I/O
AIOCFLAGS2 DS XL1 Control Flags2
AIOUSERKEY EQU X'F0' Caller's User's Key bit positions
AIOUSEUSERKEY EQU X'08' Use User's Key for moves
AIOTHLICOMECB EQU X'04' AioEcbPtr points tp ThliComEcb
AIOCOMMBUFF EQU X'02' Common Area Buffer
AIOMSGIOVALET DS F Alet for recvmsg/sendmsg IOV
AIOIOVBUFALET DS F Alet for all IOV buffers
*
AIORV DS F Return value
AIORC DS F Return code
AIORSN DS F Reason code
*
AIOPOSIXFLAGS DS XL4 Posix flags
&AIOEXITPTR31 DS F Pointer to user exit
AIOEXITDATA DS CL8 User Data for exit program
AIOECBPTR DS F ECB address
AIOSOCKADDRLEN DS F Sockaddr length
&AIOSOCKADDRPTR31 DS F Sockaddr pointer
AIOTIMEOUT DS F TimeOut Value in Milli-seconds
AIOACEE DS F SRB ACEE for MLS
AIOSICODE DS XL2 Signal si_code
AIORES06 DS CL2 Reserved
AIOLEN DS F (Output,debug) Len of AIO rcvd
AIOENDVER1 DS 0D End of Original Aiocb
* -------- 64-Bit Extension
AIOLP64 DS 0D
&AIOBUFFPTR64 DS AD Buffer Ptr
&AIOEXITPTR64 DS AD Exit Program Address
&AIOSIGEVENT64 DS CL32 SigEvent Structure
&AIOSOCKADDRPTR64 DS AD Sockaddr Ptr
DS CL8
* -------- Version 3 Extension
* ------------------------------ 31-Bit Version
AIORES01 DS F RESERVED
AIOLOCSOCKADDRPTR DS F Local Sockaddr Ptr for ANR
AIOLOCSOCKADDRLEN DS F Local Sockaddr Len for ANR
AIOANRSOCKET DS F Accepted Socket for ANR
DS CL48
AIOENDVER3 DS 0D End of Version 3 extension
AIOEND DS 0D End of Aiocb
*
AIO#LENGTH EQU *-AIO Length of this structure
*
** AIO command values
AIO#ACCEPT EQU 126
AIO#CONNECT EQU 128
AIO#READ EQU 43
AIO#WRITE EQU 54
AIO#READV EQU 133
AIO#WRITEV EQU 144
AIO#RECV EQU 134
AIO#SEND EQU 138
AIO#RECVFROM EQU 135
AIO#SENDTO EQU 140
AIO#RECVMSG EQU 243
AIO#SENDMSG EQU 244
AIO#ANR EQU 264
AIO#BRLOCK EQU 264
AIO#SELPOLL EQU 2
AIO#CANCEL EQU 1
*
** AIO notify type
AIO#POSIX EQU 0
AIO#MVS EQU 1
AIO#MSGQ EQU 2
*
** AIO Message Event Structure
* For AioNotifyType of AIO#MSGQ the AioMsgEvent
* structure overlays AioSigEvent (31-bit location).
* Msgbuf and Msgbuf64 are defined in BPXYMSG.
* IPC_NOWAIT is defined in BPXYIPCP.
*
AIO_BEFORE_MSGEV DS 0C Note current position
ORG AIOMSGEVENT
AIOMSGEV_QID DS F Msg Queue Id
AIOMSGEV_SIZE DS H Length of Msg_mtext
AIOMSGEV_FLAG DS H 0 or IPC_NOWAIT
AIOMSGEV_ADDR64 DS D Amode(64)-> MsgBuf64
ORG AIOMSGEV_ADDR64
AIOMSGEV_ADDRH DS F
AIOMSGEV_ADDR DS F Amode(31)-> MsgBuf
ORG AIO_BEFORE_MSGEV Return to above
*
AIO#MSGTEXTMAX EQU 240 Max Msg_MText
*
** AIO Signal Event
SIGEVENT DSECT ,
SIGEVENT DS 0F
SIGEV_NOTIFY DS F NOTIFICATION TYPE
SIGEV_SIGNO DS F SIGNAL NUMBER
SIGEV_VALUE DS &AIOPTRSIZE SIG VALUE
ORG SIGEV_VALUE
SIVAL_INT DS F
ORG SIGEV_VALUE
SIVAL_PTR DS &AIOPTRSIZE
SIGEV_NOTIFY_FUNCTION DS &AIOPTRSIZE NOTIF. FUNCTION
SIGEV_NOTIFY_ATTRIBUTES DS &AIOPTRSIZE NOTIF. ATTRIBUTES
*
SIGEV#LENGTH EQU *-SIGEVENT Length of this structure
*
* SIGEV_NOTIFY Values
SIGEV_SIGNAL EQU 0 GENERATE A SIGNAL
SIGEV_NONE EQU 1 DON'T GENERATE SIGNAL
SIGEV_THREAD EQU 2 Call Notif. function
*
** AIOTIMEOUT VALUES
AIO#FOREVER EQU 0 NO TIMEOUT, JUST WAIT
AIO#NOWAITING EQU X'FFFFFFFF' NO WAITING, JUST CHECK
** AIO CANCEL RETURN VALUES
AIO_CANCELED EQU 1 ALL CANCELS SUCCESSFUL
AIO_NOTCANCELED EQU 2 AT LEAST 1 CANCEL FAILED
AIO_ALLDONE EQU 3 NONE CANCELED, ALL COMP
*
** BPXYAIO End