/* PL/I include to define RSX File Descriptor Block (FDB) format names are from the I/O OPERATIONS REFERENCE MANUAL appendix, which see for details to use: if you only make one reference, you can refer with FDBADR(file)->F_xxx as an expression (e.g., in an IF, assignment, or call) if you make more than one reference, declare a pointer variable, e.g., fdbptr, and set fdbptr = FDBADR(file), and refer to components with fdbptr->F_xxx */ DCL FDBADR ENTRY(FILE) RETURNS(POINTER); /*THIS IS HOW YOU GET THE FDB ADDRESS*/ DCL 1 FDB BASED, 2 F_RTYP FIXED BIN(7), /*RECORD TYPE*/ 2 F_RATT FIXED BIN(7), /*RECORD ATTRIBUTES*/ 2 F_RSIZ FIXED BIN(15), /*RECORD SIZE*/ 2 F_HIBK FIXED BIN(31), /*HIGHEST ALLOCATED VIRTUAL BLOCK #*/ 2 F_EFBK FIXED BIN(31), /*EOF BLOCK #*/ 2 F_FFBY FIXED BIN(15), /*FIRST FREE BYTE IN LAST BLOCK*/ 2 F_RACC FIXED BIN(7), /*RECORD ACCESS*/ 2 F_RCTL FIXED BIN(7), /*DEVICE CHARACTERISTICS*/ 2 F_BKDS FIXED BIN(31), /*BLOCK I/O BUFFER DESCRIPTOR*/ 2 F_BKST POINTER, /*ADDR OF I/O STATUS BLOCK*/ 2 F_BKDN POINTER, /*ADDR OF AST FOR BLOCK I/O*/ 2 F_NREC POINTER, /*ADDR OF NEXT RECORD*/ 2 F_EOBB FIXED BIN(15), /*END OF BLOCK BUFFER VALUE*/ 2 F_RCNM FIXED BIN(31), /*RECORD # FOR RANDOM ACCESS*/ 2 F_ALOC FIXED BIN(15), /*# BLOCKS FOR EXTEND*/ 2 F_LUN FIXED BIN(7), /*LUN*/ 2 F_FACC FIXED BIN(7), /*FILE ACCESS*/ 2 F_DSPT POINTER, /*DATASET-DESCRIPTOR POINTER*/ 2 F_DFNB POINTER, /*DEFAULT FILENAME BLOCK POINTER*/ 2 F_EFN FIXED BIN(7), /*EVENT FLAG #*/ 2 F_BKP1 FIXED BIN(7), /*INTERNAL*/ 2 F_ERR FIXED BIN(7), /*ERROR RETURN CODE*/ 2 F_ERR1 FIXED BIN(7), /*F_ERR TYPE*/ 2 F_MBCT FIXED BIN(7), /*# BUFFERS*/ 2 F_MBC1 FIXED BIN(7), /*# BUFFERS IN USE*/ 2 F_MBFG FIXED BIN(7), /*MULTIBUFFERING FLAG*/ 2 F_BGBC FIXED BIN(7), /*BIG BUFFER COUNT*/ 2 F_VBSZ FIXED BIN(15), /*DEVICE BUFFER SIZE*/ 2 F_BBFS FIXED BIN(15), /*BLOCK BUFFER SIZE*/ 2 F_VBN FIXED BIN(31), /*VIRTUAL BLOCK NUMBER*/ 2 F_BDB POINTER, /*ADDR OF BLOCK BUFFER DESCRIPTOR BLOCK*/ 2 F_SPDV FIXED BIN(15), /*RESERVED*/ 2 F_SPUN FIXED BIN(7), /*RESERVED*/ 2 F_CHR FIXED BIN(7), /*VOLUME CHARACTERISTICS*/ 2 F_ACTL FIXED BIN(15), /*# RETRIEVAL POINTERS & CONTROL BITS*/ 2 F_SEQN FIXED BIN(15), /*SEQUENCE #*/ /* FILENAME BLOCK: */ 2 F_FID CHAR(6), /*FILE IDENTIFICATION*/ 2 F_FNAM, /*FILE NAME - 9 RAD50 CHARACTERS*/ 3 F_FNAM1 FIXED BIN(15), 3 F_FNAM2 FIXED BIN(15), 3 F_FNAM3 FIXED BIN(15), 2 F_FTYP FIXED BIN(15), /*FILE TYPE - 3 RAD50 CHARACTERS*/ 2 F_FVER FIXED BIN(15), /*FILE VERSION*/ 2 F_STAT FIXED BIN(15), /*STATUS*/ 2 F_NEXT FIXED BIN(15), /*FOR .FIND*/ 2 F_DID CHAR(6), /*DIRECTORY IDENT*/ 2 F_DVNM CHAR(2), /*DEVICE NAME (ASCII)*/ 2 F_UNIT FIXED BIN(15); /*UNIT #*/