!*** MODULE $FIBDEF *** !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN ! ---- ! ! LAYOUT OF THE FILE IDENTIFICATION BLOCK (FIB) ! ! **** ! ! NOTE: If the size of the FIB is changed the following must be changed ! to reflect the change: ! ! In Module: [RMS.SRC]RMSFWADEF.SDL ! ! Field: FWA$T_FIBBUF ! ! Constant: FWA$C_FIBLEN ! ! Both the field and constant must be GEQ to the size of ! the FIB, i.e. FIB$C_LENGTH. FIB length is currently 96. ! ! **** ! PARAMETER FIB$M_NOWRITE = '00000001'X PARAMETER FIB$M_DLOCK = '00000002'X PARAMETER FIB$M_BLK_LOCK = '00000004'X PARAMETER FIB$M_FASTRDSQNOS = '00000008'X PARAMETER FIB$M_SPOOL = '00000010'X PARAMETER FIB$M_WRITECK = '00000020'X PARAMETER FIB$M_SEQONLY = '00000040'X PARAMETER FIB$M_SEQNO = '00000080'X PARAMETER FIB$M_WRITE = '00000100'X PARAMETER FIB$M_READCK = '00000200'X PARAMETER FIB$M_NOREAD = '00000400'X PARAMETER FIB$M_NOTRUNC = '00000800'X PARAMETER FIB$M_CONTROL = '00001000'X PARAMETER FIB$M_NO_READ_DATA = '00002000'X PARAMETER FIB$M_SSIO = '00004000'X PARAMETER FIB$M_SYMLINK = '00008000'X PARAMETER FIB$M_EXECUTE = '00010000'X PARAMETER FIB$M_PRSRV_ATR = '00020000'X PARAMETER FIB$M_RMSLOCK = '00040000'X PARAMETER FIB$M_WRITETHRU = '00080000'X PARAMETER FIB$M_NOLOCK = '00100000'X PARAMETER FIB$M_NORECORD = '00200000'X PARAMETER FIB$M_NOVERIFY = '00400000'X PARAMETER FIB$M_CHANGE_VOL = '00800000'X PARAMETER FIB$M_REWIND = '00000008'X PARAMETER FIB$M_CURPOS = '00000010'X PARAMETER FIB$M_UPDATE = '00000040'X PARAMETER FIB$K_ACCDATA = '0000000A'X ! ABOVE DATA NECESSARY FOR ACCESS PARAMETER FIB$C_ACCDATA = '0000000A'X ! ABOVE DATA NECESSARY FOR ACCESS PARAMETER FIB$K_DIRDATA = '00000016'X ! ABOVE DATA NECESSARY FOR DIRECTORY OPS PARAMETER FIB$C_DIRDATA = '00000016'X ! ABOVE DATA NECESSARY FOR DIRECTORY OPS PARAMETER FIB$M_NAMES_8BIT = '00000001'X PARAMETER FIB$M_NAMES_16BIT = '00000002'X PARAMETER FIB$M_PERCENT_LITERAL = '00000004'X PARAMETER FIB$M_ALLVER = '00000008'X PARAMETER FIB$M_ALLTYP = '00000010'X PARAMETER FIB$M_ALLNAM = '00000020'X PARAMETER FIB$M_CASE_SENSITIVE = '00000040'X PARAMETER FIB$M_SEARCH = '00000080'X PARAMETER FIB$M_WILD = '00000100'X PARAMETER FIB$M_NEWVER = '00000200'X PARAMETER FIB$M_SUPERSEDE = '00000400'X PARAMETER FIB$M_FINDFID = '00000800'X PARAMETER FIB$M_FINDDIR = '00001000'X PARAMETER FIB$M_CASE_VARIANT = '00002000'X PARAMETER FIB$M_LOWVER = '00004000'X PARAMETER FIB$M_HIGHVER = '00008000'X PARAMETER FIB$M_ALCON = '00000001'X PARAMETER FIB$M_ALCONB = '00000002'X PARAMETER FIB$M_FILCON = '00000004'X PARAMETER FIB$M_ALDEF = '00000008'X PARAMETER FIB$M_ALLOCATR = '00000010'X PARAMETER FIB$M_EXTEND = '00000080'X PARAMETER FIB$M_TRUNC = '00000100'X PARAMETER FIB$M_NOHDREXT = '00000200'X PARAMETER FIB$M_MARKBAD = '00000400'X PARAMETER FIB$M_NOPLACE = '00004000'X PARAMETER FIB$M_NOCHARGE = '00008000'X PARAMETER FIB$K_EXTDATA = '00000020'X ! ABOVE NECESSARY FOR BASIC FILE EXTENSION PARAMETER FIB$C_EXTDATA = '00000020'X ! ABOVE NECESSARY FOR BASIC FILE EXTENSION PARAMETER FIB$M_EXACT = '00000001'X PARAMETER FIB$M_ONCYL = '00000002'X PARAMETER FIB$C_CYL = '00000001'X ! CYLINDER ADDRESS SPECIFIED PARAMETER FIB$C_LBN = '00000002'X ! LBN SPECIFIED PARAMETER FIB$C_VBN = '00000003'X ! PROXIMATE VBN SPECIFIED PARAMETER FIB$C_RFI = '00000004'X ! RELATED FILE ID SPECIFIED PARAMETER FIB$K_ALCDATA = '0000002C'X ! ABOVE DATA NECESSARY FOR PLACEMENT PARAMETER FIB$C_ALCDATA = '0000002C'X ! ABOVE DATA NECESSARY FOR PLACEMENT PARAMETER FIB$M_ALT_REQ = '00000001'X PARAMETER FIB$M_ALT_GRANTED = '00000002'X PARAMETER FIB$M_DIRACL = '00000004'X PARAMETER FIB$M_PROPAGATE = '00000008'X PARAMETER FIB$M_NOCOPYACL = '00000010'X PARAMETER FIB$M_NOCOPYOWNER = '00000020'X PARAMETER FIB$M_NOCOPYPROT = '00000040'X PARAMETER FIB$M_EXCLPREVIOUS = '00000080'X PARAMETER FIB$M_ALIAS_ENTRY = '00000100'X PARAMETER FIB$M_WILDFID_FLAG = '00000200'X PARAMETER FIB$M_DID_FILESPEC = '00000400'X PARAMETER FIB$M_SYMLINKENTRY = '00000800'X PARAMETER FIB$K_MOVEFILE = '00000048'X ! end of FIB required by MOVEFILE PARAMETER FIB$C_MOVEFILE = '00000048'X ! end of FIB required by MOVEFILE PARAMETER FIB$M_FILE_ATTRIBUTES = '0000000F'X PARAMETER FIB$M_FILE_CONTENTS = '000000F0'X PARAMETER FIB$C_DEFAULT = '00000000'X ! Use default caching policy PARAMETER FIB$C_WRITETHROUGH = '00000001'X ! Use writethrough caching PARAMETER FIB$C_WRITEBEHIND = '00000002'X ! Use writebehind caching PARAMETER FIB$C_NOCACHING = '00000003'X ! Do not cache file PARAMETER FIB$M_FLUSH_ON_CLOSE = '00000F00'X PARAMETER FIB$C_FLUSH = '00000001'X ! Flush file from cache when file closed PARAMETER FIB$C_NOFLUSH = '00000002'X ! Retain file in cache when file closed PARAMETER FIB$M_CACHING_OPTIONS_MBZ = 'FFFFF000'X PARAMETER FIB$C_ODS2 = '00000000'X ! Name is ODS-2 legal ASCII encoded PARAMETER FIB$C_ISL1 = '00000001'X ! Name is 8-bit (ISO Latin 1) PARAMETER FIB$C_ISO_LATIN = '00000001'X ! Synonym for ISL1 ! NOTE - Name format type 2 reserved (was UTF8) PARAMETER FIB$C_UCS2 = '00000003'X ! Name is UCS-2 encoded (both) PARAMETER FIB$C_NAMETYPE_LEN = '00000060'X ! Length of FIB including NAMETYPE fields PARAMETER FIB$K_LENGTH = '00000060'X PARAMETER FIB$C_LENGTH = '00000060'X PARAMETER FIB$K_F64LEN = '00000060'X PARAMETER FIB$C_F64LEN = '00000060'X STRUCTURE /FIBDEF/ UNION MAP INTEGER*4 FIB$L_ACCTL ! ACCESS CONTROL BITS END MAP MAP PARAMETER FIB$S_NOWRITE = 1 PARAMETER FIB$V_NOWRITE = 0 ! NO OTHER WRITERS PARAMETER FIB$S_DLOCK = 1 PARAMETER FIB$V_DLOCK = 1 ! ENABLE DEACCESS LOCK PARAMETER FIB$S_BLK_LOCK = 1 PARAMETER FIB$V_BLK_LOCK = 2 ! ENABLE RMS-11 BLOCK LOCKING PARAMETER FIB$S_FASTRDSQNOS = 1 PARAMETER FIB$V_FASTRDSQNOS = 3 ! READ HDRSEQ AND DATASEQ VALS PARAMETER FIB$S_SPOOL = 1 PARAMETER FIB$V_SPOOL = 4 ! SPOOL FILE ON CLOSE PARAMETER FIB$S_WRITECK = 1 PARAMETER FIB$V_WRITECK = 5 ! ENABLE WRITE CHECK PARAMETER FIB$S_SEQONLY = 1 PARAMETER FIB$V_SEQONLY = 6 ! SEQUENTIAL ONLY ACCESS PARAMETER FIB$S_SEQNO = 1 PARAMETER FIB$V_SEQNO = 7 ! STORE SEQNOS FOR THIS FILE PARAMETER FIB$S_WRITE = 1 PARAMETER FIB$V_WRITE = 8 ! WRITE ACCESS PARAMETER FIB$S_READCK = 1 PARAMETER FIB$V_READCK = 9 ! ENABLE READ CHECK PARAMETER FIB$S_NOREAD = 1 PARAMETER FIB$V_NOREAD = 10 ! NO OTHER READERS PARAMETER FIB$S_NOTRUNC = 1 PARAMETER FIB$V_NOTRUNC = 11 ! FILE MAY NOT BE TRUNCATED PARAMETER FIB$S_CONTROL = 1 PARAMETER FIB$V_CONTROL = 12 ! CONTROL ACCESS TO FILE PARAMETER FIB$S_NO_READ_DATA = 1 PARAMETER FIB$V_NO_READ_DATA = 13 ! NO READ ACCESS TO FILE DATA PARAMETER FIB$S_SSIO = 1 PARAMETER FIB$V_SSIO = 14 ! File is opened for SSIO access PARAMETER FIB$S_SYMLINK = 1 PARAMETER FIB$V_SYMLINK = 15 ! Caller understands symlink semantics ! THE HIGH 8 BITS CANNOT BE COPIED ! INTO THE ACCESS MODE WORD IN THE WINDOW PARAMETER FIB$S_EXECUTE = 1 PARAMETER FIB$V_EXECUTE = 16 ! ACCESS FOR EXECUTE (USE EXECUTE PROTECTION) PARAMETER FIB$S_PRSRV_ATR = 1 PARAMETER FIB$V_PRSRV_ATR = 17 ! PRESERVE ORIGINAL ATTRIBUTES OF FILE PARAMETER FIB$S_RMSLOCK = 1 PARAMETER FIB$V_RMSLOCK = 18 ! OPEN WITH RMS RECORD LOCKING PARAMETER FIB$S_WRITETHRU = 1 PARAMETER FIB$V_WRITETHRU = 19 ! FORCE CACHE WRITE-THROUGH ON OPERATION PARAMETER FIB$S_NOLOCK = 1 PARAMETER FIB$V_NOLOCK = 20 ! OVERRIDE ACCESS INTERLOCKS PARAMETER FIB$S_NORECORD = 1 PARAMETER FIB$V_NORECORD = 21 ! DO NOT RECORD FILE ACCESS PARAMETER FIB$S_NOVERIFY = 1 PARAMETER FIB$V_NOVERIFY = 22 ! Do not perform compare on move. PARAMETER FIB$S_CHANGE_VOL = 1 PARAMETER FIB$V_CHANGE_VOL = 23 BYTE %FILL (3) ! Allow Movefile move between volumes in a set. END MAP MAP PARAMETER FIB$S_REWIND = 1 PARAMETER FIB$V_REWIND = 3 ! REWIND TAPE PARAMETER FIB$S_CURPOS = 1 PARAMETER FIB$V_CURPOS = 4 ! CREATE AT CURRENT TAPE POSITION PARAMETER FIB$S_UPDATE = 1 PARAMETER FIB$V_UPDATE = 6 ! UPDATE MODE (POSITION TO START OF FILE) BYTE %FILL (1) END MAP MAP BYTE %FILL(1:3) BYTE FIB$B_WSIZE ! WINDOW SIZE END MAP END UNION UNION MAP INTEGER*2 FIB$W_FID(1:3) ! FILE ID END MAP MAP INTEGER*2 FIB$W_FID_NUM ! FILE NUMBER INTEGER*2 FIB$W_FID_SEQ ! FILE SEQUENCE NUMBER UNION MAP INTEGER*2 FIB$W_FID_RVN ! RELATIVE VOLUME NUMBER END MAP MAP BYTE FIB$B_FID_RVN ! SHORT FORM RVN BYTE FIB$B_FID_NMX ! EXTENDED FILE NUMBER END MAP END UNION END MAP MAP INTEGER*2 FIB$W_FID_DIRNUM ! Directory number of File-Id INTEGER*4 FIB$L_FID_RECNUM ! Record number of File-ID END MAP END UNION UNION MAP INTEGER*2 FIB$W_DID(1:3) ! DIRECTORY ID END MAP MAP INTEGER*2 FIB$W_DID_NUM ! FILE NUMBER INTEGER*2 FIB$W_DID_SEQ ! FILE SEQUENCE NUMBER UNION MAP INTEGER*2 FIB$W_DID_RVN ! RELATIVE VOLUME NUMBER END MAP MAP BYTE FIB$B_DID_RVN ! SHORT FORM RVN BYTE FIB$B_DID_NMX ! EXTENDED FILE NUMBER END MAP END UNION END MAP MAP INTEGER*2 FIB$W_DID_DIRNUM ! Directory number of File-Id INTEGER*4 FIB$L_DID_RECNUM ! Record number of File-ID END MAP END UNION INTEGER*4 FIB$L_WCC ! WILD CARD CONTEXT UNION MAP INTEGER*2 FIB$W_NMCTL ! NAME CONTROL BITS END MAP MAP PARAMETER FIB$S_NAMES_8BIT = 1 PARAMETER FIB$V_NAMES_8BIT = 0 ! RETURN 8BIT FILENAMES (HFS) PARAMETER FIB$S_NAMES_16BIT = 1 PARAMETER FIB$V_NAMES_16BIT = 1 ! RETURN 16BIT FILENAMES (HFS) PARAMETER FIB$S_PERCENT_LITERAL = 1 PARAMETER FIB$V_PERCENT_LITERAL = 2 ! PERCENT IS LITERAL (HFS) PARAMETER FIB$S_ALLVER = 1 PARAMETER FIB$V_ALLVER = 3 ! MATCH ALL VERSIONS PARAMETER FIB$S_ALLTYP = 1 PARAMETER FIB$V_ALLTYP = 4 ! MATCH ALL TYPES PARAMETER FIB$S_ALLNAM = 1 PARAMETER FIB$V_ALLNAM = 5 ! MATCH ALL NAMES PARAMETER FIB$S_CASE_SENSITIVE = 1 PARAMETER FIB$V_CASE_SENSITIVE = 6 ! case sensitive lookup PARAMETER FIB$S_SEARCH = 1 PARAMETER FIB$V_SEARCH = 7 ! Match names in purely case blind manner. ! (intended for search operations; normal file ! access should give preference to exact match) PARAMETER FIB$S_WILD = 1 PARAMETER FIB$V_WILD = 8 ! WILD CARDS IN FILE NAME PARAMETER FIB$S_NEWVER = 1 PARAMETER FIB$V_NEWVER = 9 ! MAXIMIZE VERSION NUMBER PARAMETER FIB$S_SUPERSEDE = 1 PARAMETER FIB$V_SUPERSEDE = 10 ! SUPERSEDE EXISTING FILE PARAMETER FIB$S_FINDFID = 1 PARAMETER FIB$V_FINDFID = 11 ! SEARCH FOR FILE ID PARAMETER FIB$S_FINDDIR = 1 PARAMETER FIB$V_FINDDIR = 12 ! SEARCH FOR DIR EXTENTION (Internal use only) ! the following bits are output, not input PARAMETER FIB$S_CASE_VARIANT = 1 PARAMETER FIB$V_CASE_VARIANT = 13 ! A case variant of this filename exists PARAMETER FIB$S_LOWVER = 1 PARAMETER FIB$V_LOWVER = 14 ! LOWER VERSION OF FILE EXISTS PARAMETER FIB$S_HIGHVER = 1 PARAMETER FIB$V_HIGHVER = 15 BYTE %FILL (2) ! HIGHER VERSION OF FILE EXISTS END MAP END UNION UNION MAP INTEGER*2 FIB$W_EXCTL ! EXTEND CONTROL END MAP MAP PARAMETER FIB$S_ALCON = 1 PARAMETER FIB$V_ALCON = 0 ! ALLOCATE CONTIGUOUS PARAMETER FIB$S_ALCONB = 1 PARAMETER FIB$V_ALCONB = 1 ! CONTIGUOUS BEST EFFORT PARAMETER FIB$S_FILCON = 1 PARAMETER FIB$V_FILCON = 2 ! MARK FILE CONTIGUOUS PARAMETER FIB$S_ALDEF = 1 PARAMETER FIB$V_ALDEF = 3 ! ALLOCATE DEFAULT AMOUNT PARAMETER FIB$S_ALLOCATR = 1 PARAMETER FIB$V_ALLOCATR = 4 ! PLACEMENT DATA PRESENT IN ATTRIBUTE LIST PARAMETER FIB$S_EXTEND = 1 PARAMETER FIB$V_EXTEND = 7 ! ENABLE EXTENSION PARAMETER FIB$S_TRUNC = 1 PARAMETER FIB$V_TRUNC = 8 ! ENABLE TRUNCATION PARAMETER FIB$S_NOHDREXT = 1 PARAMETER FIB$V_NOHDREXT = 9 ! INHIBIT EXTENSION HEADERS PARAMETER FIB$S_MARKBAD = 1 PARAMETER FIB$V_MARKBAD = 10 ! MARK BLOCKS BAD PARAMETER FIB$S_NOPLACE = 1 PARAMETER FIB$V_NOPLACE = 14 ! DON'T ADD PLACEMENT POINTERS IN MOVEFILE PARAMETER FIB$S_NOCHARGE = 1 PARAMETER FIB$V_NOCHARGE = 15 BYTE %FILL (2) ! DON'T CHARGE DISKQUOTA END MAP END UNION INTEGER*4 FIB$L_EXSZ ! EXTEND SIZE INTEGER*4 FIB$L_EXVBN ! EXTENSION VBN UNION MAP BYTE FIB$B_ALOPTS ! ALLOCATION OPTIONS END MAP MAP PARAMETER FIB$S_EXACT = 1 PARAMETER FIB$V_EXACT = 0 ! EXACT PLACEMENT REQUIRED PARAMETER FIB$S_ONCYL = 1 PARAMETER FIB$V_ONCYL = 1 ! PUT ALLOCATION ON ONE CYLINDER BYTE %FILL (1) END MAP END UNION BYTE FIB$B_ALALIGN ! ALLOCATION ALIGNMENT UNION MAP INTEGER*2 FIB$W_ALLOC(1:5) ! ALLOCATION LOCATION END MAP MAP UNION MAP INTEGER*2 FIB$W_LOC_FID(1:3) ! RELATED FILE ID END MAP MAP INTEGER*2 FIB$W_LOC_NUM ! RELATED FILE NUMBER INTEGER*2 FIB$W_LOC_SEQ ! FILE SEQUENCE NUMBER UNION MAP INTEGER*2 FIB$W_LOC_RVN ! RELATED RVN END MAP MAP BYTE FIB$B_LOC_RVN ! SHORT FORM RVN BYTE FIB$B_LOC_NMX ! EXTENDED FILE NUMBER END MAP END UNION END MAP END UNION INTEGER*4 FIB$L_LOC_ADDR ! LOCATION ADDRESS (VBN, LBN, CYL) END MAP END UNION INTEGER*2 FIB$W_VERLIMIT ! DIRECTORY ENTRY VERSION LIMIT BYTE FIB$B_AGENT_MODE ! AGENTS ACCESS MODE BYTE FIB$B_RU_FACILITY ! RECOVERABLE-FACILITY CODE INTEGER*4 FIB$L_ACLCTX ! ACL CONTEXT FOR READ INTEGER*4 FIB$L_ACL_STATUS ! RETURN STATUS FROM ACL OPERATION UNION MAP INTEGER*4 FIB$L_STATUS ! GENERAL STATUS LONGWORD END MAP MAP PARAMETER FIB$S_ALT_REQ = 1 PARAMETER FIB$V_ALT_REQ = 0 ! ALTERNATE ACCESS REQUIRED PARAMETER FIB$S_ALT_GRANTED = 1 PARAMETER FIB$V_ALT_GRANTED = 1 ! ALTERNATE ACCESS GRANTED PARAMETER FIB$S_DIRACL = 1 PARAMETER FIB$V_DIRACL = 2 ! DO DIRECTORY ACL PROPAGATION PARAMETER FIB$S_PROPAGATE = 1 PARAMETER FIB$V_PROPAGATE = 3 ! DO PROPAGATION ON ENTER/MODIFY PARAMETER FIB$S_NOCOPYACL = 1 PARAMETER FIB$V_NOCOPYACL = 4 ! DON'T PROPAGATE THE ACL PARAMETER FIB$S_NOCOPYOWNER = 1 PARAMETER FIB$V_NOCOPYOWNER = 5 ! DON'T PROPAGATE THE OWNER UIC PARAMETER FIB$S_NOCOPYPROT = 1 PARAMETER FIB$V_NOCOPYPROT = 6 ! DON'T PROPAGATE THE SOGW PROTECTION PARAMETER FIB$S_EXCLPREVIOUS = 1 PARAMETER FIB$V_EXCLPREVIOUS = 7 ! EXCLUDE THE PREVIOUS VERSION FROM PROPAGATION PARAMETER FIB$S_ALIAS_ENTRY = 1 PARAMETER FIB$V_ALIAS_ENTRY = 8 ! FILE ACCESSED VIA AN ALIAS DIRECTORY ENTRY PARAMETER FIB$S_WILDFID_FLAG = 1 PARAMETER FIB$V_WILDFID_FLAG = 9 ! WILDCARD FID FLAG PARAMETER FIB$S_DID_FILESPEC = 1 PARAMETER FIB$V_DID_FILESPEC = 10 ! FILESPEC HAD BEEN DID'ED PARAMETER FIB$S_SYMLINKENTRY = 1 PARAMETER FIB$V_SYMLINKENTRY = 11 ! FILESPEC DIRECTORY ENTRY WAS A SYMLINK. BYTE %FILL (2) END MAP END UNION INTEGER*4 FIB$L_ALT_ACCESS ! ALTERNATE ACCESS MASK UNION MAP INTEGER*4 FIB$L_MOV_SVBN ! starting VBN (MOVEFILE) INTEGER*4 FIB$L_MOV_VBNCNT ! count of VBNs (MOVEFILE) END MAP END UNION INTEGER*2 FIB$W_FILE_HDRSEQ_INCR ! header seq no increment for indiv file INTEGER*2 FIB$W_DIR_HDRSEQ_INCR ! header seq no increment for directory file INTEGER*2 FIB$W_FILE_DATASEQ_INCR ! data seq no increment for indiv file INTEGER*2 FIB$W_DIR_DATASEQ_INCR ! data seq no increment for driectory file ! Define fields and constant values for FIB$L_CACHING_OPTIONS longword. ! These must match [STARLET]ATRDEF.SDL exactly UNION MAP INTEGER*4 FIB$L_CACHING_OPTIONS ! F64XQP cache control bitvector END MAP MAP PARAMETER FIB$S_FILE_ATTRIBUTES = 4 PARAMETER FIB$V_FILE_ATTRIBUTES = 0 ! File attributes caching field PARAMETER FIB$S_FILE_CONTENTS = 4 PARAMETER FIB$V_FILE_CONTENTS = 4 ! File contents caching field PARAMETER FIB$S_FLUSH_ON_CLOSE = 4 PARAMETER FIB$V_FLUSH_ON_CLOSE = 8 ! Flush file on close field PARAMETER FIB$S_CACHING_OPTIONS_MBZ = 20 PARAMETER FIB$V_CACHING_OPTIONS_MBZ = 12 BYTE %FILL (4) ! Must be zero END MAP END UNION UNION MAP INTEGER*2 FIB$W_SD_FID(1:3) ! FILE ID END MAP MAP INTEGER*2 FIB$W_SD_FID_NUM ! FILE NUMBER INTEGER*2 FIB$W_SD_FID_SEQ ! FILE SEQUENCE NUMBER UNION MAP INTEGER*2 FIB$W_SD_FID_RVN ! RELATIVE VOLUME NUMBER END MAP MAP BYTE FIB$B_SD_FID_RVN ! SHORT FORM RVN BYTE FIB$B_SD_FID_NMX ! EXTENDED FILE NUMBER END MAP END UNION END MAP END UNION INTEGER*2 %FILL ! Pad up to a longword boundary BYTE FIB$B_NAME_FORMAT_IN ! Inbound file name encoding BYTE FIB$B_NAME_FORMAT_OUT ! Returned file name encoding BYTE FIB$B_ASCNAME_FORMAT ! ASCNAME attribute encoding BYTE FIB$B_RESERVED_2 ! For alignment. NOTE - Must be zero. END STRUCTURE ! FIBDEF PARAMETER FIB$C_REWINDVOL = '00000001'X ! REWIND VOLUME SET PARAMETER FIB$C_POSEND = '00000002'X ! POSITION TO END OF VOLUME SET PARAMETER FIB$C_NEXTVOL = '00000003'X ! FORCE NEXT VOLUME PARAMETER FIB$C_SPACE = '00000004'X ! SPACE MAGNETIC TAPE PARAMETER FIB$C_ILLEGAL = '00000005'X ! PARAMETER FIB$C_REWINDFIL = '00000006'X ! REWIND FILE PARAMETER FIB$C_LOCK_VOL = '00000007'X ! LOCK VOLUME AGAINST ALLOCATION PARAMETER FIB$C_UNLK_VOL = '00000008'X ! UNLOCK VOLUME ! QUOTA FILE OPERATIONS PARAMETER FIB$C_ENA_QUOTA = '00000009'X ! ENABLE QUOTA FILE PARAMETER FIB$C_DSA_QUOTA = '0000000A'X ! DISABLE QUOTA FILE PARAMETER FIB$C_ADD_QUOTA = '0000000B'X ! ADD QUOTA FILE ENTRY PARAMETER FIB$C_EXA_QUOTA = '0000000C'X ! EXAMINE QUOTA FILE ENTRY PARAMETER FIB$C_MOD_QUOTA = '0000000D'X ! MODIFY QUOTA FILE ENTRY PARAMETER FIB$C_REM_QUOTA = '0000000E'X ! REMOVE QUOTA FILE ENTRY PARAMETER FIB$C_USEREOT = '0000000F'X ! ENABLE USER END OF TAPE HANDLING PARAMETER FIB$C_REMAP = '00000010'X ! REMAP FILE WINDOW PARAMETER FIB$C_CLSEREXCP = '00000011'X ! ALLOW THE USER TO CLEAR A SERIOUS EXCP FROM A TAPE DRIVE PARAMETER FIB$C_FLUSH_CACHE = '00000012'X ! FLUSH SELECTED CACHE PARAMETER FIB$C_FORCE_MV = '00000013'X ! FORCE MOUNT VERIFICATION TO OCCUR PARAMETER FIB$C_VALIDATE_VOLUME = '00000014'X ! VALIDATE VOLUME SET FOLLOWING SNAPSHOT FILE BOOT PARAMETER FIB$C_VALIDATE_FILE = '00000015'X ! VALIDATE FILE FOLLOWING SNAPSHOT FILE BOOT PARAMETER FIB$C_UPDATE_VOL_PROFILE = '00000016'X ! UPDATE A VOLUME'S (PERMANENT) SECURITY PROFILE PARAMETER FIB$C_UPDATE_FIL_PROFILE = '00000017'X ! UPDATE A FILE'S (PERMANENT) SECURITY PROFILE PARAMETER FIB$C_CHECK_PROTECTION = '00000018'X ! PERFORM FILE OR VOLUME PROTECTION CHECK PARAMETER FIB$C_ADD_THREAD = '00000019'X ! ADD A NEW THREAD PARAMETER FIB$C_REM_THREAD = '0000001A'X ! REMOVE A THREAD PARAMETER FIB$C_EXA_THREAD = '0000001B'X ! INQUIRE ABOUT THREADS PARAMETER FIB$C_CHECK_PATH = '0000001C'X ! FIND DIRSEQ VAL AND ARM BLKAST PARAMETER FIB$C_ENA_DW = '0000001D'X ! ENABLE DEFERRED WRITE PARAMETER FIB$C_DSA_DW = '0000001E'X ! DISABLE DEFERRED WRITE PARAMETER FIB$C_WRITEBACK_CACHE = '0000001F'X ! F64 caching PARAMETER FIB$C_WRITETHRU_CACHE = '00000020'X ! F64 caching PARAMETER FIB$C_FILE_SYNCH = '00000021'X ! VDC/Spiralog flush file to disk PARAMETER FIB$C_CACHING_OPTIONS = '00000022'X ! VDC/Spiralog select caching mode PARAMETER FIB$C_WRITE_BARRIER = '00000023'X ! VDC/Spiralog barrier writes to this point PARAMETER FIB$C_VOL_FLUSH = '00000024'X ! VDC volume flush local node only PARAMETER FIB$C_VOL_FLUSH_ALL = '00000025'X ! VDC flush all volumes local node only PARAMETER FIB$C_CLONE_FIL_PROFILE = '00000026'X ! RETURN A COPY OF A FILE'S CURRENT SECURITY PROF PARAMETER FIB$C_STRUC_LEVEL2 = '00000027'X ! Set the vcb to ods2 PARAMETER FIB$C_STRUC_LEVEL5 = '00000028'X ! Set the vcb to ods5 PARAMETER FIB$C_EXPAND_VOLUME = '00000029'X ! Expand the volume size PARAMETER FIB$C_EXPAND_BITMAP = '0000002A'X ! Increase the BITMAP.SYS size PARAMETER FIB$K_MTALEN = '0000001C'X ! LENGTH OF MTAACP DATA PARAMETER FIB$C_MTALEN = '0000001C'X ! LENGTH OF MTAACP DATA ! PARAMETER FIB$C_FID_CACHE = '00000001'X ! FLUSH THE FID CACHE PARAMETER FIB$C_EXTENT_CACHE = '00000002'X ! FLUSH THE EXTENT CACHE PARAMETER FIB$C_QUOTA_CACHE = '00000003'X ! FLUSH THE QUOTA CACHE PARAMETER FIB$C_BFRD_CACHE = '00000004'X ! FLUSH THE BFRD CACHE PARAMETER FIB$C_VBN_CACHE = '00000005'X ! FLUSH THE VBN CACHE ! PARAMETER FIB$C_FLUSH_FILE_ATTRIBUTES = '00000001'X ! Only flush file attributes PARAMETER FIB$C_FLUSH_FILE_CONTENTS = '00000002'X ! Only flush file contents PARAMETER FIB$C_FLUSH_FILE = '00000003'X ! Flush all of file ! PARAMETER FIB$M_ALL_MEM = '00000001'X PARAMETER FIB$M_ALL_GRP = '00000002'X PARAMETER FIB$M_MOD_USE = '00000004'X PARAMETER FIB$M_MOD_PERM = '00000008'X PARAMETER FIB$M_MOD_OVER = '00000010'X STRUCTURE /FIBDEF1/ BYTE %FILL(1:22) INTEGER*2 FIB$W_CNTRLFUNC ! ACP CONTROL FUNCTION ! DEFINE ACP CONTROL FUNCTION CODES ! UNION MAP INTEGER*4 FIB$L_CNTRLVAL ! ACP CONTROL FUNCTION VALUE PARAMETER END MAP ! CACHE IDENTIFIER CODES FOR FLUSH_CACHE ! ! Files-64 CACHE IDENTIFIER CODES FOR FILE_SYNC ! ! CONTROL BITS FOR QUOTA FILE OPERATIONS ! MAP PARAMETER FIB$S_ALL_MEM = 1 PARAMETER FIB$V_ALL_MEM = 0 ! MATCH ALL MEMBER NUMBERS PARAMETER FIB$S_ALL_GRP = 1 PARAMETER FIB$V_ALL_GRP = 1 ! MATCH ALL GROUP NUMBERS PARAMETER FIB$S_MOD_USE = 1 PARAMETER FIB$V_MOD_USE = 2 ! MODIFY USAGE DATA PARAMETER FIB$S_MOD_PERM = 1 PARAMETER FIB$V_MOD_PERM = 3 ! MODIFY PERMANENT QUOTA PARAMETER FIB$S_MOD_OVER = 1 PARAMETER FIB$V_MOD_OVER = 4 ! MODIFY OVERDRAFT LIMIT BYTE %FILL (1) END MAP END UNION END STRUCTURE ! FIBDEF1 ! Add a synonym for FIB$C_FILE_SYNCH to keep naming consistency PARAMETER FIB$C_FILE_FLUSH = '00000021'X !DEC$ END OPTIONS