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