! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF ! ---- ! ! 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. ! ! **** ! DECLARE LONG CONSTANT FIB$M_NOWRITE = x'00000001' DECLARE LONG CONSTANT FIB$M_DLOCK = x'00000002' DECLARE LONG CONSTANT FIB$M_BLK_LOCK = x'00000004' DECLARE LONG CONSTANT FIB$M_FASTRDSQNOS = x'00000008' DECLARE LONG CONSTANT FIB$M_SPOOL = x'00000010' DECLARE LONG CONSTANT FIB$M_WRITECK = x'00000020' DECLARE LONG CONSTANT FIB$M_SEQONLY = x'00000040' DECLARE LONG CONSTANT FIB$M_SEQNO = x'00000080' DECLARE LONG CONSTANT FIB$M_WRITE = x'00000100' DECLARE LONG CONSTANT FIB$M_READCK = x'00000200' DECLARE LONG CONSTANT FIB$M_NOREAD = x'00000400' DECLARE LONG CONSTANT FIB$M_NOTRUNC = x'00000800' DECLARE LONG CONSTANT FIB$M_CONTROL = x'00001000' DECLARE LONG CONSTANT FIB$M_NO_READ_DATA = x'00002000' DECLARE LONG CONSTANT FIB$M_SSIO = x'00004000' DECLARE LONG CONSTANT FIB$M_EXECUTE = x'00010000' DECLARE LONG CONSTANT FIB$M_PRSRV_ATR = x'00020000' DECLARE LONG CONSTANT FIB$M_RMSLOCK = x'00040000' DECLARE LONG CONSTANT FIB$M_WRITETHRU = x'00080000' DECLARE LONG CONSTANT FIB$M_NOLOCK = x'00100000' DECLARE LONG CONSTANT FIB$M_NORECORD = x'00200000' DECLARE LONG CONSTANT FIB$M_NOVERIFY = x'00400000' DECLARE LONG CONSTANT FIB$M_CHANGE_VOL = x'00800000' DECLARE LONG CONSTANT FIB$M_REWIND = x'00000008' DECLARE LONG CONSTANT FIB$M_CURPOS = x'00000010' DECLARE LONG CONSTANT FIB$M_UPDATE = x'00000040' DECLARE LONG CONSTANT FIB$K_ACCDATA = 10 ! ABOVE DATA NECESSARY FOR ACCESS DECLARE LONG CONSTANT FIB$C_ACCDATA = 10 ! ABOVE DATA NECESSARY FOR ACCESS DECLARE LONG CONSTANT FIB$K_DIRDATA = 22 ! ABOVE DATA NECESSARY FOR DIRECTORY OPS DECLARE LONG CONSTANT FIB$C_DIRDATA = 22 ! ABOVE DATA NECESSARY FOR DIRECTORY OPS DECLARE LONG CONSTANT FIB$M_NAMES_8BIT = x'00000001' DECLARE LONG CONSTANT FIB$M_NAMES_16BIT = x'00000002' DECLARE LONG CONSTANT FIB$M_PERCENT_LITERAL = x'00000004' DECLARE LONG CONSTANT FIB$M_ALLVER = x'00000008' DECLARE LONG CONSTANT FIB$M_ALLTYP = x'00000010' DECLARE LONG CONSTANT FIB$M_ALLNAM = x'00000020' DECLARE LONG CONSTANT FIB$M_CASE_SENSITIVE = x'00000040' DECLARE LONG CONSTANT FIB$M_SEARCH = x'00000080' DECLARE LONG CONSTANT FIB$M_WILD = x'00000100' DECLARE LONG CONSTANT FIB$M_NEWVER = x'00000200' DECLARE LONG CONSTANT FIB$M_SUPERSEDE = x'00000400' DECLARE LONG CONSTANT FIB$M_FINDFID = x'00000800' DECLARE LONG CONSTANT FIB$M_FINDDIR = x'00001000' DECLARE LONG CONSTANT FIB$M_CASE_VARIANT = x'00002000' DECLARE LONG CONSTANT FIB$M_LOWVER = x'00004000' DECLARE LONG CONSTANT FIB$M_HIGHVER = x'00008000' DECLARE LONG CONSTANT FIB$M_ALCON = x'00000001' DECLARE LONG CONSTANT FIB$M_ALCONB = x'00000002' DECLARE LONG CONSTANT FIB$M_FILCON = x'00000004' DECLARE LONG CONSTANT FIB$M_ALDEF = x'00000008' DECLARE LONG CONSTANT FIB$M_ALLOCATR = x'00000010' DECLARE LONG CONSTANT FIB$M_EXTEND = x'00000080' DECLARE LONG CONSTANT FIB$M_TRUNC = x'00000100' DECLARE LONG CONSTANT FIB$M_NOHDREXT = x'00000200' DECLARE LONG CONSTANT FIB$M_MARKBAD = x'00000400' DECLARE LONG CONSTANT FIB$M_NOPLACE = x'00004000' DECLARE LONG CONSTANT FIB$M_NOCHARGE = x'00008000' DECLARE LONG CONSTANT FIB$K_EXTDATA = 32 ! ABOVE NECESSARY FOR BASIC FILE EXTENSION DECLARE LONG CONSTANT FIB$C_EXTDATA = 32 ! ABOVE NECESSARY FOR BASIC FILE EXTENSION DECLARE LONG CONSTANT FIB$M_EXACT = x'00000001' DECLARE LONG CONSTANT FIB$M_ONCYL = x'00000002' DECLARE LONG CONSTANT FIB$C_CYL = 1 ! CYLINDER ADDRESS SPECIFIED DECLARE LONG CONSTANT FIB$C_LBN = 2 ! LBN SPECIFIED DECLARE LONG CONSTANT FIB$C_VBN = 3 ! PROXIMATE VBN SPECIFIED DECLARE LONG CONSTANT FIB$C_RFI = 4 ! RELATED FILE ID SPECIFIED DECLARE LONG CONSTANT FIB$K_ALCDATA = 44 ! ABOVE DATA NECESSARY FOR PLACEMENT DECLARE LONG CONSTANT FIB$C_ALCDATA = 44 ! ABOVE DATA NECESSARY FOR PLACEMENT DECLARE LONG CONSTANT FIB$M_ALT_REQ = x'00000001' DECLARE LONG CONSTANT FIB$M_ALT_GRANTED = x'00000002' DECLARE LONG CONSTANT FIB$M_DIRACL = x'00000004' DECLARE LONG CONSTANT FIB$M_PROPAGATE = x'00000008' DECLARE LONG CONSTANT FIB$M_NOCOPYACL = x'00000010' DECLARE LONG CONSTANT FIB$M_NOCOPYOWNER = x'00000020' DECLARE LONG CONSTANT FIB$M_NOCOPYPROT = x'00000040' DECLARE LONG CONSTANT FIB$M_EXCLPREVIOUS = x'00000080' DECLARE LONG CONSTANT FIB$M_ALIAS_ENTRY = x'00000100' DECLARE LONG CONSTANT FIB$M_WILDFID_FLAG = x'00000200' DECLARE LONG CONSTANT FIB$M_DID_FILESPEC = x'00000400' DECLARE LONG CONSTANT FIB$M_IS_SPECIAL = x'00000800' DECLARE LONG CONSTANT FIB$M_CHECK_SPECIAL = x'00001000' DECLARE LONG CONSTANT FIB$K_MOVEFILE = 72 ! end of FIB required by MOVEFILE DECLARE LONG CONSTANT FIB$C_MOVEFILE = 72 ! end of FIB required by MOVEFILE DECLARE LONG CONSTANT FIB$M_FILE_ATTRIBUTES = x'0000000F' DECLARE LONG CONSTANT FIB$M_FILE_CONTENTS = x'000000F0' DECLARE LONG CONSTANT FIB$C_DEFAULT = 0 ! Use default caching policy DECLARE LONG CONSTANT FIB$C_WRITETHROUGH = 1 ! Use writethrough caching DECLARE LONG CONSTANT FIB$C_WRITEBEHIND = 2 ! Use writebehind caching DECLARE LONG CONSTANT FIB$C_NOCACHING = 3 ! Do not cache file DECLARE LONG CONSTANT FIB$M_FLUSH_ON_CLOSE = x'00000F00' DECLARE LONG CONSTANT FIB$C_FLUSH = 1 ! Flush file from cache when file closed DECLARE LONG CONSTANT FIB$C_NOFLUSH = 2 ! Retain file in cache when file closed DECLARE LONG CONSTANT FIB$M_CACHING_OPTIONS_MBZ = x'FFFFF000' DECLARE LONG CONSTANT FIB$C_ODS2 = 0 ! Name is ODS-2 legal ASCII encoded DECLARE LONG CONSTANT FIB$C_ISL1 = 1 ! Name is 8-bit (ISO Latin 1) DECLARE LONG CONSTANT FIB$C_ISO_LATIN = 1 ! Synonym for ISL1 ! NOTE - Name format type 2 reserved (was UTF8) DECLARE LONG CONSTANT FIB$C_UCS2 = 3 ! Name is UCS-2 encoded (both) DECLARE LONG CONSTANT FIB$C_NAMETYPE_LEN = 96 ! Length of FIB including NAMETYPE fields DECLARE LONG CONSTANT FIB$K_LENGTH = 96 DECLARE LONG CONSTANT FIB$C_LENGTH = 96 DECLARE LONG CONSTANT FIB$K_F64LEN = 96 DECLARE LONG CONSTANT FIB$C_F64LEN = 96 DECLARE LONG CONSTANT FIB$S_FIBDEF = 96 record FIBDEF group FIB$R_ACCTL_OVERLAY variant case LONG FIB$L_ACCTL ! ACCESS CONTROL BITS case group FIB$R_ACCTL_BITS0 ! NO OTHER WRITERS ! ENABLE DEACCESS LOCK ! ENABLE RMS-11 BLOCK LOCKING ! READ HDRSEQ AND DATASEQ VALS ! SPOOL FILE ON CLOSE ! ENABLE WRITE CHECK ! SEQUENTIAL ONLY ACCESS ! STORE SEQNOS FOR THIS FILE ! WRITE ACCESS ! ENABLE READ CHECK ! NO OTHER READERS ! FILE MAY NOT BE TRUNCATED ! CONTROL ACCESS TO FILE ! NO READ ACCESS TO FILE DATA ! File is opened for SSIO access ! SPARE ! THE HIGH 8 BITS CANNOT BE COPIED ! INTO THE ACCESS MODE WORD IN THE WINDOW ! ACCESS FOR EXECUTE (USE EXECUTE PROTECTION) ! PRESERVE ORIGINAL ATTRIBUTES OF FILE ! OPEN WITH RMS RECORD LOCKING ! FORCE CACHE WRITE-THROUGH ON OPERATION ! OVERRIDE ACCESS INTERLOCKS ! DO NOT RECORD FILE ACCESS ! Do not perform compare on move. ! Allow Movefile move between volumes in a set. LONG NOWRITE_bits ! COMMENT ADDED BY SDL - NOWRITE_bits contains bits NOWRITE through CHANGE_VOL end group FIB$R_ACCTL_BITS0 case group FIB$R_ACCTL_BITS1 ! REWIND TAPE ! CREATE AT CURRENT TAPE POSITION ! UPDATE MODE (POSITION TO START OF FILE) BYTE FILL_5_bits ! COMMENT ADDED BY SDL - FILL_5_bits contains bits FILL_5 through FILL_1_ end group FIB$R_ACCTL_BITS1 case group FIB$R_ACCTL_FIELDS2 BYTE FIBDEF$$_FILL_13 ( 1 to 3 ) BYTE FIB$B_WSIZE ! WINDOW SIZE end group FIB$R_ACCTL_FIELDS2 end variant end group FIB$R_ACCTL_OVERLAY group FIB$R_FID_OVERLAY variant case WORD FIB$W_FID ( 1 to 3 ) ! FILE ID case group FIB$R_FID_FIELDS WORD FIB$W_FID_NUM ! FILE NUMBER WORD FIB$W_FID_SEQ ! FILE SEQUENCE NUMBER group FIB$R_FID_RVN_OVERLAY variant case WORD FIB$W_FID_RVN ! RELATIVE VOLUME NUMBER case group FIB$R_FID_RVN_FIELDS BYTE FIB$B_FID_RVN ! SHORT FORM RVN BYTE FIB$B_FID_NMX ! EXTENDED FILE NUMBER end group FIB$R_FID_RVN_FIELDS end variant end group FIB$R_FID_RVN_OVERLAY end group FIB$R_FID_FIELDS case group FIB$R_FID_ISO_9660_FIELDS ! File ID fields for ISO 9660 WORD FIB$W_FID_DIRNUM ! Directory number of File-Id LONG FIB$L_FID_RECNUM ! Record number of File-ID end group FIB$R_FID_ISO_9660_FIELDS end variant end group FIB$R_FID_OVERLAY group FIB$R_DID_OVERLAY variant case WORD FIB$W_DID ( 1 to 3 ) ! DIRECTORY ID case group FIB$R_DID_FIELDS WORD FIB$W_DID_NUM ! FILE NUMBER WORD FIB$W_DID_SEQ ! FILE SEQUENCE NUMBER group FIB$R_DID_RVN_OVERLAY variant case WORD FIB$W_DID_RVN ! RELATIVE VOLUME NUMBER case group FIB$R_DID_RVN_FIELDS BYTE FIB$B_DID_RVN ! SHORT FORM RVN BYTE FIB$B_DID_NMX ! EXTENDED FILE NUMBER end group FIB$R_DID_RVN_FIELDS end variant end group FIB$R_DID_RVN_OVERLAY end group FIB$R_DID_FIELDS case group FIB$R_DID_ISO_9660_FIELDS ! Directory ID fields for ISO 9660 WORD FIB$W_DID_DIRNUM ! Directory number of File-Id LONG FIB$L_DID_RECNUM ! Record number of File-ID end group FIB$R_DID_ISO_9660_FIELDS end variant end group FIB$R_DID_OVERLAY LONG FIB$L_WCC ! WILD CARD CONTEXT group FIB$R_NMCTL_OVERLAY variant case WORD FIB$W_NMCTL ! NAME CONTROL BITS case group FIB$R_NMCTL_BITS ! RETURN 8BIT FILENAMES (HFS) ! RETURN 16BIT FILENAMES (HFS) ! PERCENT IS LITERAL (HFS) ! MATCH ALL VERSIONS ! MATCH ALL TYPES ! MATCH ALL NAMES ! case sensitive lookup ! Match names in purely case blind manner. ! (intended for search operations; normal file ! access should give preference to exact match) ! WILD CARDS IN FILE NAME ! MAXIMIZE VERSION NUMBER ! SUPERSEDE EXISTING FILE ! SEARCH FOR FILE ID ! SEARCH FOR DIR EXTENTION (Internal use only) ! the following bits are output, not input ! A case variant of this filename exists ! LOWER VERSION OF FILE EXISTS ! HIGHER VERSION OF FILE EXISTS WORD NAMES_8BIT_bits ! COMMENT ADDED BY SDL - NAMES_8BIT_bits contains bits NAMES_8BIT through HIGHVER end group FIB$R_NMCTL_BITS end variant end group FIB$R_NMCTL_OVERLAY group FIB$R_EXCTL_OVERLAY variant case WORD FIB$W_EXCTL ! EXTEND CONTROL case group FIB$R_EXCTL_BITS ! ALLOCATE CONTIGUOUS ! CONTIGUOUS BEST EFFORT ! MARK FILE CONTIGUOUS ! ALLOCATE DEFAULT AMOUNT ! PLACEMENT DATA PRESENT IN ATTRIBUTE LIST ! ENABLE EXTENSION ! ENABLE TRUNCATION ! INHIBIT EXTENSION HEADERS ! MARK BLOCKS BAD ! DON'T ADD PLACEMENT POINTERS IN MOVEFILE ! DON'T CHARGE DISKQUOTA WORD ALCON_bits ! COMMENT ADDED BY SDL - ALCON_bits contains bits ALCON through NOCHARGE end group FIB$R_EXCTL_BITS end variant end group FIB$R_EXCTL_OVERLAY LONG FIB$L_EXSZ ! EXTEND SIZE LONG FIB$L_EXVBN ! EXTENSION VBN group FIB$R_ALOPTS_OVERLAY variant case BYTE FIB$B_ALOPTS ! ALLOCATION OPTIONS case group FIB$R_ALOPTS_BITS ! EXACT PLACEMENT REQUIRED ! PUT ALLOCATION ON ONE CYLINDER BYTE EXACT_bits ! COMMENT ADDED BY SDL - EXACT_bits contains bits EXACT through FILL_2_ end group FIB$R_ALOPTS_BITS end variant end group FIB$R_ALOPTS_OVERLAY BYTE FIB$B_ALALIGN ! ALLOCATION ALIGNMENT group FIB$R_ALLOC_OVERLAY variant case WORD FIB$W_ALLOC ( 1 to 5 ) ! ALLOCATION LOCATION case group FIB$R_ALLOC_FIELDS group FIB$R_LOC_FID_OVERLAY variant case WORD FIB$W_LOC_FID ( 1 to 3 ) ! RELATED FILE ID case group FIB$R_LOC_FID_FIELDS WORD FIB$W_LOC_NUM ! RELATED FILE NUMBER WORD FIB$W_LOC_SEQ ! FILE SEQUENCE NUMBER group FIB$R_LOC_RVN_OVERLAY variant case WORD FIB$W_LOC_RVN ! RELATED RVN case group FIB$R_LOC_RVN_FIELDS BYTE FIB$B_LOC_RVN ! SHORT FORM RVN BYTE FIB$B_LOC_NMX ! EXTENDED FILE NUMBER end group FIB$R_LOC_RVN_FIELDS end variant end group FIB$R_LOC_RVN_OVERLAY end group FIB$R_LOC_FID_FIELDS end variant end group FIB$R_LOC_FID_OVERLAY LONG FIB$L_LOC_ADDR ! LOCATION ADDRESS (VBN, LBN, CYL) end group FIB$R_ALLOC_FIELDS end variant end group FIB$R_ALLOC_OVERLAY WORD FIB$W_VERLIMIT ! DIRECTORY ENTRY VERSION LIMIT BYTE FIB$B_AGENT_MODE ! AGENTS ACCESS MODE BYTE FIB$B_RU_FACILITY ! RECOVERABLE-FACILITY CODE LONG FIB$L_ACLCTX ! ACL CONTEXT FOR READ LONG FIB$L_ACL_STATUS ! RETURN STATUS FROM ACL OPERATION group FIB$R_STATUS_OVERLAY variant case LONG FIB$L_STATUS ! GENERAL STATUS LONGWORD case group FIB$R_STATUS_BITS ! ALTERNATE ACCESS REQUIRED ! ALTERNATE ACCESS GRANTED ! DO DIRECTORY ACL PROPAGATION ! DO PROPAGATION ON ENTER/MODIFY ! DON'T PROPAGATE THE ACL ! DON'T PROPAGATE THE OWNER UIC ! DON'T PROPAGATE THE SOGW PROTECTION ! EXCLUDE THE PREVIOUS VERSION FROM PROPAGATION ! FILE ACCESSED VIA AN ALIAS DIRECTORY ENTRY ! WILDCARD FID FLAG ! FILESPEC HAD BEEN DID'ED ! Special file detected and handled ! Check for special files WORD ALT_REQ_bits ! COMMENT ADDED BY SDL - ALT_REQ_bits contains bits ALT_REQ through FILL_3_ end group FIB$R_STATUS_BITS end variant end group FIB$R_STATUS_OVERLAY LONG FIB$L_ALT_ACCESS ! ALTERNATE ACCESS MASK group FIB$R_FUNCDEPEND variant case group FIB$R_MOVFILDP LONG FIB$L_MOV_SVBN ! starting VBN (MOVEFILE) LONG FIB$L_MOV_VBNCNT ! count of VBNs (MOVEFILE) end group FIB$R_MOVFILDP end variant end group FIB$R_FUNCDEPEND WORD FIB$W_FILE_HDRSEQ_INCR ! header seq no increment for indiv file WORD FIB$W_DIR_HDRSEQ_INCR ! header seq no increment for directory file WORD FIB$W_FILE_DATASEQ_INCR ! data seq no increment for indiv file WORD 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 group FIB$R_CACHING_OPTIONS_OVERLAY variant case LONG FIB$L_CACHING_OPTIONS ! F64XQP cache control bitvector case group FIB$R_CACHING_OPTIONS_BITS ! File attributes caching field ! File contents caching field ! Flush file on close field ! Must be zero LONG FILE_ATTRIBUTES_bits ! COMMENT ADDED BY SDL - FILE_ATTRIBUTES_bits contains bits FILE_ATTRIBUTES & ! through CACHING_OPTIONS_MBZ end group FIB$R_CACHING_OPTIONS_BITS end variant end group FIB$R_CACHING_OPTIONS_OVERLAY group FIB$R_SD_FID_OVERLAY ! FID field for Secondary File Delete variant case WORD FIB$W_SD_FID ( 1 to 3 ) ! FILE ID case group FIB$R_SD_FID_FIELDS WORD FIB$W_SD_FID_NUM ! FILE NUMBER WORD FIB$W_SD_FID_SEQ ! FILE SEQUENCE NUMBER group FIB$R_SD_FID_RVN_OVERLAY variant case WORD FIB$W_SD_FID_RVN ! RELATIVE VOLUME NUMBER case group FIB$R_SD_FID_RVN_FIELDS BYTE FIB$B_SD_FID_RVN ! SHORT FORM RVN BYTE FIB$B_SD_FID_NMX ! EXTENDED FILE NUMBER end group FIB$R_SD_FID_RVN_FIELDS end variant end group FIB$R_SD_FID_RVN_OVERLAY end group FIB$R_SD_FID_FIELDS end variant end group FIB$R_SD_FID_OVERLAY WORD FIB$$_RESERVED_1 ! 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 record FIBDEF DECLARE LONG CONSTANT FIB$C_REWINDVOL = 1 ! REWIND VOLUME SET DECLARE LONG CONSTANT FIB$C_POSEND = 2 ! POSITION TO END OF VOLUME SET DECLARE LONG CONSTANT FIB$C_NEXTVOL = 3 ! FORCE NEXT VOLUME DECLARE LONG CONSTANT FIB$C_SPACE = 4 ! SPACE MAGNETIC TAPE DECLARE LONG CONSTANT FIB$C_ILLEGAL = 5 ! DECLARE LONG CONSTANT FIB$C_REWINDFIL = 6 ! REWIND FILE DECLARE LONG CONSTANT FIB$C_LOCK_VOL = 7 ! LOCK VOLUME AGAINST ALLOCATION DECLARE LONG CONSTANT FIB$C_UNLK_VOL = 8 ! UNLOCK VOLUME ! QUOTA FILE OPERATIONS DECLARE LONG CONSTANT FIB$C_ENA_QUOTA = 9 ! ENABLE QUOTA FILE DECLARE LONG CONSTANT FIB$C_DSA_QUOTA = 10 ! DISABLE QUOTA FILE DECLARE LONG CONSTANT FIB$C_ADD_QUOTA = 11 ! ADD QUOTA FILE ENTRY DECLARE LONG CONSTANT FIB$C_EXA_QUOTA = 12 ! EXAMINE QUOTA FILE ENTRY DECLARE LONG CONSTANT FIB$C_MOD_QUOTA = 13 ! MODIFY QUOTA FILE ENTRY DECLARE LONG CONSTANT FIB$C_REM_QUOTA = 14 ! REMOVE QUOTA FILE ENTRY DECLARE LONG CONSTANT FIB$C_USEREOT = 15 ! ENABLE USER END OF TAPE HANDLING DECLARE LONG CONSTANT FIB$C_REMAP = 16 ! REMAP FILE WINDOW DECLARE LONG CONSTANT FIB$C_CLSEREXCP = 17 ! ALLOW THE USER TO CLEAR A SERIOUS EXCP FROM A TAPE DRIVE DECLARE LONG CONSTANT FIB$C_FLUSH_CACHE = 18 ! FLUSH SELECTED CACHE DECLARE LONG CONSTANT FIB$C_FORCE_MV = 19 ! FORCE MOUNT VERIFICATION TO OCCUR DECLARE LONG CONSTANT FIB$C_VALIDATE_VOLUME = 20 ! VALIDATE VOLUME SET FOLLOWING SNAPSHOT FILE BOOT DECLARE LONG CONSTANT FIB$C_VALIDATE_FILE = 21 ! VALIDATE FILE FOLLOWING SNAPSHOT FILE BOOT DECLARE LONG CONSTANT FIB$C_UPDATE_VOL_PROFILE = 22 ! UPDATE A VOLUME'S (PERMANENT) SECURITY PROFILE DECLARE LONG CONSTANT FIB$C_UPDATE_FIL_PROFILE = 23 ! UPDATE A FILE'S (PERMANENT) SECURITY PROFILE DECLARE LONG CONSTANT FIB$C_CHECK_PROTECTION = 24 ! PERFORM FILE OR VOLUME PROTECTION CHECK DECLARE LONG CONSTANT FIB$C_ADD_THREAD = 25 ! ADD A NEW THREAD DECLARE LONG CONSTANT FIB$C_REM_THREAD = 26 ! REMOVE A THREAD DECLARE LONG CONSTANT FIB$C_EXA_THREAD = 27 ! INQUIRE ABOUT THREADS DECLARE LONG CONSTANT FIB$C_CHECK_PATH = 28 ! FIND DIRSEQ VAL AND ARM BLKAST DECLARE LONG CONSTANT FIB$C_ENA_DW = 29 ! ENABLE DEFERRED WRITE DECLARE LONG CONSTANT FIB$C_DSA_DW = 30 ! DISABLE DEFERRED WRITE DECLARE LONG CONSTANT FIB$C_WRITEBACK_CACHE = 31 ! F64 caching DECLARE LONG CONSTANT FIB$C_WRITETHRU_CACHE = 32 ! F64 caching DECLARE LONG CONSTANT FIB$C_FILE_SYNCH = 33 ! VDC/Spiralog flush file to disk DECLARE LONG CONSTANT FIB$C_CACHING_OPTIONS = 34 ! VDC/Spiralog select caching mode DECLARE LONG CONSTANT FIB$C_WRITE_BARRIER = 35 ! VDC/Spiralog barrier writes to this point DECLARE LONG CONSTANT FIB$C_VOL_FLUSH = 36 ! VDC volume flush local node only DECLARE LONG CONSTANT FIB$C_VOL_FLUSH_ALL = 37 ! VDC flush all volumes local node only DECLARE LONG CONSTANT FIB$C_CLONE_FIL_PROFILE = 38 ! RETURN A COPY OF A FILE'S CURRENT SECURITY PROFILE DECLARE LONG CONSTANT FIB$C_STRUC_LEVEL2 = 39 ! Set the vcb to ods2 DECLARE LONG CONSTANT FIB$C_STRUC_LEVEL5 = 40 ! Set the vcb to ods5 DECLARE LONG CONSTANT FIB$C_EXPAND_VOLUME = 41 ! Expand the volume size DECLARE LONG CONSTANT FIB$C_EXPAND_BITMAP = 42 ! Increase the BITMAP.SYS size DECLARE LONG CONSTANT FIB$K_MTALEN = 28 ! LENGTH OF MTAACP DATA DECLARE LONG CONSTANT FIB$C_MTALEN = 28 ! LENGTH OF MTAACP DATA ! DECLARE LONG CONSTANT FIB$C_FID_CACHE = 1 ! FLUSH THE FID CACHE DECLARE LONG CONSTANT FIB$C_EXTENT_CACHE = 2 ! FLUSH THE EXTENT CACHE DECLARE LONG CONSTANT FIB$C_QUOTA_CACHE = 3 ! FLUSH THE QUOTA CACHE DECLARE LONG CONSTANT FIB$C_BFRD_CACHE = 4 ! FLUSH THE BFRD CACHE DECLARE LONG CONSTANT FIB$C_VBN_CACHE = 5 ! FLUSH THE VBN CACHE ! DECLARE LONG CONSTANT FIB$C_FLUSH_FILE_ATTRIBUTES = 1 ! Only flush file attributes DECLARE LONG CONSTANT FIB$C_FLUSH_FILE_CONTENTS = 2 ! Only flush file contents DECLARE LONG CONSTANT FIB$C_FLUSH_FILE = 3 ! Flush all of file ! DECLARE LONG CONSTANT FIB$M_ALL_MEM = x'00000001' DECLARE LONG CONSTANT FIB$M_ALL_GRP = x'00000002' DECLARE LONG CONSTANT FIB$M_MOD_USE = x'00000004' DECLARE LONG CONSTANT FIB$M_MOD_PERM = x'00000008' DECLARE LONG CONSTANT FIB$M_MOD_OVER = x'00000010' DECLARE LONG CONSTANT FIB$S_FIBDEF1 = 28 record FIBDEF1 BYTE FIBDEF$$_FILL_14 ( 1 to 22 ) WORD FIB$W_CNTRLFUNC ! ACP CONTROL FUNCTION ! DEFINE ACP CONTROL FUNCTION CODES ! group FIB$R_CNTRLVAL_OVERLAY variant case LONG FIB$L_CNTRLVAL ! ACP CONTROL FUNCTION VALUE PARAMETER ! CACHE IDENTIFIER CODES FOR FLUSH_CACHE ! ! Files-64 CACHE IDENTIFIER CODES FOR FILE_SYNC ! ! CONTROL BITS FOR QUOTA FILE OPERATIONS ! case group FIB$R_CNTRLVAL_BITS ! MATCH ALL MEMBER NUMBERS ! MATCH ALL GROUP NUMBERS ! MODIFY USAGE DATA ! MODIFY PERMANENT QUOTA ! MODIFY OVERDRAFT LIMIT BYTE ALL_MEM_bits ! COMMENT ADDED BY SDL - ALL_MEM_bits contains bits ALL_MEM through FILL_4_ end group FIB$R_CNTRLVAL_BITS end variant end group FIB$R_CNTRLVAL_OVERLAY end record FIBDEF1 ! Add a synonym for FIB$C_FILE_SYNCH to keep naming consistency DECLARE LONG CONSTANT FIB$C_FILE_FLUSH = 33