BPXYFUIO — Map file system user I/O block
BPXYFUIO is used to map the user and file system I/O
block.
BPXYFUIO ,
** BPXYFUIO: User I/O block
** Used By: VRW VRD VRA
FUIO DSECT ,
FUIOBEGIN DS 0D
FUIOHDR DS 0D
*
FUIOID DC C'FUIO' X
EBCDIC ID - FUIO
FUIOLEN DC AL4(FUIO#LENGTH) X
Length of this FUIO
FUIOINFO DS 0D Note: The following fields must X
map to BPXZDDPL
FUIOBUFFERADDR64 DS 0CL8 64 Bit Real Buffer address
FUIOBUFFERADDR64P DS 0D 64 Bit Real Buffer address
FUIOBUFFERADDR DS F Buffer address for READ or X
WRITE, etc. Address of iov X
for READV and WRITEV
FUIOBUFFALET DS F Alet associated with Buffer
FUIOCURSOR DS 0F Current position in the file
FUIOCUR1 DS F Word 1 of cursor
FUIOCUR2 DS F Word 2 of cursor
FUIOIBYTESRW DS F Num of bytes to read or write X
(or iovcnt for READV and WRITEV)
FUIOASID DS H Address Space ID
*
*
FUIOFLAGS DS XL1 Flags
*
FUIORWIND EQU FUIOFLAGS X
Indicates if READ or WRITE X
0 - Read, 1 - Write
FUIO#RD EQU X'7F' Read: AND with FUIORWIND
FUIO#WRT EQU X'80' Write: OR with FUIORWIND
*
FUIOPSWKEY EQU FUIOFLAGS X
Describes bits 1 through 4 of X
byte FUIOFLAGS
FUIOPSWKEYMASK EQU X'78' AND with FUIOPSWKEY to clear X
non-PSWKEY bits in FUIOFLAGS
*
FUIOSYNC EQU X'04' Sync on write requested
FUIOSYNCDONE EQU X'02' Sync on write was done
FUIOCHKACC EQU X'01' Perform access checking
FUIOFLAG2 DS XL1 More flags
FUIOREALPAGE EQU X'80' Real page address provided
FUIOLIMITEX EQU X'40' File size limit exceeded
FUIOIOVINUIO EQU X'20' uio contains an iov struc
FUIOSHUTD EQU X'10' Do shutdown after send
FUIOADDR64 EQU X'08' 64 bit addressing
FUIOVSPECIFIC DS CL8 Vnop Specific Fields
FUIOFSSIZELIMIT DS 0CL8 Rlimit support
FUIOFSSIZELIMITHW DS F hiword - filesize limit
FUIONONEWFILES EQU X'80' can't create new files
FUIOFSSIZELIMITLW DS F loword - filesize limit
FUIOREL2SIZE DS 0F Fuio before Rel 3 expansion
*
FUIOINTERNAL DS 0CL16
FUIOCURRBUFFPTR DS F Buffer currently being processed
FUIOCURRBUFFLEN DS F Length of current buffer
FUIOCURRBUFFOFFSET DS F Offset into current buffer
FUIOCURRIOVENTRY DS F Iov entry being processed
*
FUIOIOVRESIDUALCNT DS F Num bytes remaining in iov str
FUIOTOTALBYTESRW DS F Total number of bytes to be moved X
If FuioIovinUio=on, X
this is the sum of all bytes X
in the iov. Otherwise, this is X
the same as FuioIBytesRW
FUIOBUFF64VADDR DS D 64 Bit Virtual Buffer address
FUIOEND DS 0F End of FUIO
*----------------------------------------------------------------
* ReadDir Specific Information
*----------------------------------------------------------------
FUIOREADDIR ORG FUIOVSPECIFIC
FUIORDINDEX DS F Readdir Index
FUIORDDFLAGS DS 0XL4 Readdir flags
DS XL3
FUIORDDFLAGS4 DS XL1 Readdir flags:
FUIOCVERRET EQU X'02' Cookie Verifier Returned
FUIORDDPLUS EQU X'01' ReaddirPlus requested
*----------------------------------------------------------------
* VN_ReadWriteV and VN_SRMsg Specific Information
*----------------------------------------------------------------
FUIOSOCKETALETS ORG FUIOVSPECIFIC
FUIOIOVALET DS F SRMsg IOV Alet
FUIOIOVBUFALET DS F All IOV's Buff's Alet
*
* Readdir and ReaddirPlus Output Cookie Verifier
ORG FUIOINTERNAL
FUIOCVER DS CL8 Cookie Verifier
ORG
*
* Constants
*
FUIO#LEN EQU FUIOEND-FUIOBEGIN X
Length of FUIO
FUIO#LENGTH EQU FUIO#LEN Length of FUIO
FUIO#REL2LEN EQU FUIOREL2SIZE-FUIOBEGIN X
Length of Release 2 FUIO
FUIO#SP EQU 3 Subpool for the FUIO
** BPXYFUIO End