/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:05 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFAE.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $ATRDEF ***/ #ifndef __ATRDEF_LOADED #define __ATRDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif /* ATTRIBUTE LIST DESCRIPTION. THE ATTRIBUTE CONTROL LIST IS USED TO READ AND */ /* WRITE FILE ATTRIBUTES. IT CONSISTS OF CONCATENATED ATTRIBUTE CONTROL BLOCKS */ /* TERMINATED BY A SINGLE ZERO LONGWORD. */ /* */ #define ATR$C_UCHAR 3 /* 4 BYTE USER FILE CHARACTERISTICS */ #define ATR$C_RECATTR 4 /* 32 BYTES RECORD ATTRIBUTES */ #define ATR$C_FILNAM 5 /* 6 BYTE RAD-50 FILE NAME */ #define ATR$C_FILTYP 6 /* 2 BYTE RAD-50 FILE TYPE */ #define ATR$C_FILVER 7 /* 2 BYTE BINARY FILE VERSION */ #define ATR$C_EXPDAT 8 /* 7 BYTE ASCII EXPIRATION DATE */ #define ATR$C_STATBLK 9 /* 32 BYTE STATISTICS BLOCK */ #define ATR$C_HEADER 10 /* 512 BYTE FILE HEADER */ #define ATR$C_BLOCKSIZE 11 /* MAGTAPE BLOCK SIZE */ #define ATR$C_USERLABEL 12 /* USER FILE LABEL */ #define ATR$C_ASCDATES 13 /* REVISION COUNT THRU EXP DATE IN ASCII */ #define ATR$C_ALCONTROL 14 /* COMPATIBILITY MODE ALLOCATION DATA */ #define ATR$C_ENDLBLAST 15 /* END OF MAGTAPE LABEL PROCESSING AND SUPPLY AST CONTROL BLOCK */ #define ATR$C_ASCNAME 16 /* FILE NAME, TYPE & VERSION IN ASCII */ #define ATR$C_CREDATE 17 /* 64 BIT CREATION DATE */ #define ATR$C_REVDATE 18 /* 64 BIT REVISION DATE */ #define ATR$C_EXPDATE 19 /* 64 BIT EXPIRATION DATE */ #define ATR$C_BAKDATE 20 /* 64 BIT BACKUP DATE */ #define ATR$C_UIC 21 /* 4 BYTE FILE OWNER UIC */ #define ATR$C_FPRO 22 /* 2 BYTE FILE PROTECTION */ #define ATR$C_RPRO 23 /* 2 BYTE RECORD PROTECTION */ #define ATR$C_ACLEVEL 24 /* 1 BYTE FILE ACCESS LEVEL */ #define ATR$C_SEMASK 25 /* FILE SECURITY MASK AND LIMIT */ #define ATR$C_UIC_RO 26 /* READ ONLY UIC */ #define ATR$C_DIRSEQ 27 /* DIRECTORY UPDATE SEQUENCE COUNT */ #define ATR$C_BACKLINK 28 /* FILE BACK LINK POINTER */ #define ATR$C_JOURNAL 29 /* JOURNAL CONTROL FLAGS */ #define ATR$C_HDR1_ACC 30 /* ANSI TAPE HEADER 1 ACCESSIBILITY */ /* CHARACTER */ #define ATR$C_ADDACLENT 31 /* ADD AN ACCESS CONTROL ENTRY */ #define ATR$C_DELACLENT 32 /* REMOVE AN ACCESS CONTROL ENTRY */ #define ATR$C_MODACLENT 33 /* MODIFY AN ACL ENTRY */ #define ATR$C_FNDACLENT 34 /* LOCATE AN ACL ENTRY */ #define ATR$C_FNDACLTYP 35 /* FIND A SPECIFIC TYPE OF ACE */ #define ATR$C_DELETEACL 36 /* DELETE ACL LEAVING PROTECTED */ #define ATR$C_READACL 37 /* READ THE ENTIRE ACL */ #define ATR$C_ACLLENGTH 38 /* RETURN THE LENGTH OF THE ACL */ #define ATR$C_READACE 39 /* READ A SINGLE ACE */ #define ATR$C_RESERVED 40 /* MODIFY RESERVED AREA */ #define ATR$C_HIGHWATER 41 /* HIGHWATER MARK (USER READ ONLY) */ #define ATR$C_DUMMY_0 42 /* *** AVAILABLE CODE */ #define ATR$C_PRIVS_USED 43 /* PRIVILEGES USED TO GAIN ACCESS */ #define ATR$C_MATCHING_ACE 44 /* ACE USED TO GAIN ACCESS (IF ANY) */ #define ATR$C_ACCESS_MODE 45 /* ACCESS MODE FOR FOLLOWING ATTRIBUTE DESCRIPTORS */ #define ATR$C_FILE_SPEC 46 /* CONVERT FID TO FILE-SPEC */ #define ATR$C_CLASS_MASK 47 /* Non-discretionary classification mask */ #define ATR$C_BUFFER_OFFSET 48 /* For magnetic tape only length of buffer offset of block in file */ #define ATR$C_RU_ACTIVE 49 /* Recoverable facility id number (if non-zero, means file has */ /* active recovery units managed by that facility) */ #define ATR$C_GRANT_ACE 50 /* ACE granting access */ #define ATR$C_NEXT_ACE 51 /* Increment ACE number */ #define ATR$C_DELETE_ALL 52 /* Delete the entire ACL */ #define ATR$C_BACKUP_DONE 53 /* Alter backup info in RMS journaling ACEs */ /* ISO 9660 Descriptors */ #define ATR$C_EFFDATE 54 /* ISO 9660 Backup Date */ #define ATR$C_RCDDATE 55 /* ISO 9660 Recorded Date */ #define ATR$C_VD 56 /* Volume Descriptor */ #define ATR$C_PVD 57 /* Primary Volume Descriptor */ #define ATR$C_SVD 58 /* Supplementary Volume Descriptor */ #define ATR$C_VPD 59 /* Volume Partition Descriptor */ #define ATR$C_VDST 60 /* Volume Descriptor Set Terminator */ #define ATR$C_BOOT 61 /* Boot Record */ #define ATR$C_PTR 62 /* Path Table Record */ #define ATR$C_DIR 63 /* Directory Record */ #define ATR$C_XAR 64 /* Extended Attribute Record */ /* ISO 9660 Descriptors Fields */ #define ATR$C_VOLUME_ID 65 /* Volume Identifier */ #define ATR$C_VOLUME_FLAGS 66 /* Volume Flags */ #define ATR$C_ESCAPE_SEQUENCES 67 /* Escape Sequences */ #define ATR$C_VOLUME_SET_ID 68 /* Volume Set Identifier */ #define ATR$C_COPYRIGHT_FID 69 /* Copyright File Identifier */ #define ATR$C_ABSTRACT_FID 70 /* Abstract File Identifier */ #define ATR$C_BIBLIOGRAPHIC_FID 71 /* Bibliographic File Identifier */ #define ATR$C_CACHE_SEQ 72 /* Cache sequence number */ #define ATR$C_FILE_SYSTEM_INFO 73 /* File system structure level */ #define ATR$C_FILE_ATTR_CACHING_POLICY 74 /* F64 caching only */ #define ATR$C_FILE_DATA_CACHING_POLICY 75 /* F64 caching only */ #define ATR$C_CACHING_OPTIONS 76 /* Spiralog/VDC caching options */ #define ATR$C_POSIX_DATA 77 /* POSIX private data area */ #define ATR$C_ACCDATE 78 /* ODS-5 last access time */ #define ATR$C_ATTDATE 79 /* ODS-5 last attribute mod time */ #define ATR$C_LENGTH_HINT 80 /* ODS-5 file length hint area */ #define ATR$C_EX_RECATTR 81 /* ODS-5 extended RMS attributes - Reserved */ /* to Digital for future use. Must be zero. */ #define ATR$C_EXTFLAGS 82 /* PATHWORKS MS-DOS flags */ #define ATR$C_MODDATE 83 /* ODS-5 last data mod time */ #define ATR$C_LINKCOUNT 84 /* ODS-5 (hard) link count */ #define ATR$C_SYMLINK 85 /* ODS-5 symlink data */ /* All new attributes should be */ /* added here before MAX_PLUS1 */ #define ATR$C_MAX_PLUS1 86 /* Maximum code plus one */ #define ATR$C_MAX_CODE 85 #define ATR$C_FNDACETYP 35 /* Valid values for ATR$C_CACHING_POLICY */ #define ATR$C_CACHE_POLICY_WRITETHRU 1 #define ATR$C_CACHE_POLICY_WRITEBACK 2 #define ATR$C_CACHE_POLICY_DEFAULT 3 /* ATTRIBUTE MAXIMUM LENGTHS */ #define ATR$S_UCHAR 4 /* 4 BYTE USER FILE CHARACTERISTICS */ #define ATR$S_RECATTR 32 /* 32 BYTES RECORD ATTRIBUTES */ #define ATR$S_FILNAM 6 /* 6 BYTE RAD-50 FILE NAME */ #define ATR$S_FILTYP 2 /* 2 BYTE RAD-50 FILE TYPE */ #define ATR$S_FILVER 2 /* 2 BYTE BINARY FILE VERSION */ #define ATR$S_EXPDAT 7 /* 7 BYTE ASCII EXPIRATION DATE */ #define ATR$S_STATBLK 32 /* 32 BYTE STATISTICS BLOCK */ #define ATR$S_HEADER 512 /* 512 BYTE FILE HEADER */ #define ATR$S_BLOCKSIZE 2 /* MAGTAPE BLOCK SIZE */ #define ATR$S_USERLABEL 80 /* USER FILE LABEL */ #define ATR$S_ASCDATES 35 /* REVISION COUNT THRU EXP DATE IN ASCII */ #define ATR$S_ALCONTROL 14 /* COMPATIBILITY MODE ALLOCATION DATA */ #define ATR$S_ENDLBLAST 4 /* END OF MAGTAPE LABEL PROCESSING AND SUPPLY AST CONTROL BLOCK */ #define ATR$S_ASCNAME 252 /* FILE NAME, TYPE & VERSION */ #define ATR$S_CREDATE 8 /* 64 BIT CREATION DATE */ #define ATR$S_REVDATE 8 /* 64 BIT REVISION DATE */ #define ATR$S_EXPDATE 8 /* 64 BIT EXPIRATION DATE */ #define ATR$S_BAKDATE 8 /* 64 BIT BACKUP DATE */ #define ATR$S_UIC 4 /* 4 BYTE FILE OWNER UIC */ #define ATR$S_FPRO 2 /* 2 BYTE FILE PROTECTION */ #define ATR$S_RPRO 2 /* 2 BYTE RECORD PROTECTION */ #define ATR$S_ACLEVEL 1 /* 1 BYTE FILE ACCESS LEVEL */ #define ATR$S_SEMASK 8 /* FILE SECURITY MASK AND LIMIT */ #define ATR$S_UIC_RO 4 /* READ ONLY UIC */ #define ATR$S_DIRSEQ 2 /* DIRECTORY UPDATE SEQUENCE COUNT */ #define ATR$S_BACKLINK 6 /* FILE BACK LINK POINTER */ #define ATR$S_JOURNAL 1 /* JOURNAL CONTROL FLAGS */ #define ATR$S_HDR1_ACC 1 /* ANSI TAPE HEADER 1 ACCESSIBILITY */ /* CHARACTER */ #define ATR$S_ADDACLENT 255 /* ADD AN ACCESS CONTROL ENTRY */ #define ATR$S_DELACLENT 255 /* REMOVE AN ACCESS CONTROL ENTRY */ #define ATR$S_MODACLENT 255 /* MODIFY AN ACL ENTRY */ #define ATR$S_FNDACLENT 255 /* LOCATE AN ACL ENTRY */ #define ATR$S_FNDACLTYP 255 /* FIND A SPECIFIC TYPE OF ACE */ #define ATR$S_FNDACETYP 255 /* FIND A SPECIFIC TYPE OF ACE */ #define ATR$S_DELETEACL 255 /* DELETE ACL LEAVING PROTECTED */ #define ATR$S_READACL 512 /* READ THE ENTIRE ACL */ #define ATR$S_ACLLENGTH 4 /* RETURN THE LENGTH OF THE ACL */ #define ATR$S_READACE 255 /* READ A SINGLE ACE */ #define ATR$S_RESERVED 380 /* MODIFY RESERVED AREA */ #define ATR$S_HIGHWATER 4 /* FILE HIGH WATER MARK (USER READ ONLY) */ #define ATR$S_DUMMY_0 4 /* *** AVAILABLE CODE */ #define ATR$S_PRIVS_USED 4 /* PRIVS USED TO GAIN ACCESS */ #define ATR$S_MATCHING_ACE 255 /* ACE USED TO GAIN ACCESS */ #define ATR$S_ACCESS_MODE 1 /* ACCESS MODE FOR FOLLOWING ATTRIBUTE DESCRIPTORS */ #define ATR$S_FILE_SPEC 4098 /* CONVERT FID TO FILE-SPEC */ #define ATR$S_CLASS_MASK 20 /* Non-discretionary classification mask */ #define ATR$S_BUFFER_OFFSET 2 /* Buffer offset length field */ #define ATR$S_RU_ACTIVE 1 /* Recoverable facility id if RUs active */ #define ATR$S_GRANT_ACE 255 /* ACE granting access */ #define ATR$S_NEXT_ACE 4 /* Increment ACE number */ #define ATR$S_DELETE_ALL 255 /* Delete the entire ACL */ #define ATR$S_BACKUP_DONE 1 /* Alter backup info in RMS journaling ACEs */ /* ISO 9660 Descriptors */ #define ATR$S_EFFDATE 8 /* 64 BIT EFFECTIVE DATE */ #define ATR$S_RCDDATE 8 /* 64 BIT RECORDED DATE */ #define ATR$S_VD 7 /* Volume Descriptor */ #define ATR$S_PVD 1395 /* Primary Volume Descriptor */ #define ATR$S_SVD 1395 /* Supplementary Volume Descriptor */ #define ATR$S_VPD 88 /* Volume Partition Descriptor */ #define ATR$S_VDST 7 /* Volume Descriptor Set Terminator */ #define ATR$S_BOOT 71 /* Boot Record */ #define ATR$S_PTR 45 /* Path Table Record */ #define ATR$S_DIR 512 /* Directory Record */ #define ATR$S_XAR 512 /* Extended Attribute Record */ /* ISO 9660 Descriptors Fields */ #define ATR$S_VOLUME_ID 32 /* Volume Identifier */ #define ATR$S_VOLUME_FLAGS 1 /* Volume Flags */ #define ATR$S_ESCAPE_SEQUENCES 32 /* Escape Sequences */ #define ATR$S_VOLUME_SET_ID 128 /* Volume Set Identifier */ #define ATR$S_COPYRIGHT_FID 37 /* Copyright File Identifier */ #define ATR$S_ABSTRACT_FID 37 /* Abstract File Identifier */ #define ATR$S_BIBLIOGRAPHIC_FID 37 /* Bibliographic File Identifier */ #define ATR$S_CACHE_SEQ 8 /* Cache sequence number */ #define ATR$S_FILE_SYSTEM_INFO 2 /* file system structure level */ #define ATR$S_FILE_ATTR_CACHING_POLICY 1 /* F64 caching only */ #define ATR$S_FILE_DATA_CACHING_POLICY 1 /* F64 caching only */ #define ATR$S_POSIX_DATA 64 /* F64 caching only */ #define ATR$S_CACHING_OPTIONS 4 /* Spiralog/VDC caching options */ #define ATR$S_ACCDATE 8 /* ODS-5 last access time */ #define ATR$S_ATTDATE 8 /* ODS-5 last attribute mod time */ #define ATR$S_LENGTH_HINT 16 /* ODS-5 file length hint area */ #define ATR$S_EX_RECATTR 8 /* ODS-5 extended RMS attributes */ #define ATR$S_EXTFLAGS 2 /* PATHWORKS MS-DOS flags */ #define ATR$S_LINKCOUNT 2 /* ODS-5 (hard) link count */ #define ATR$S_MODDATE 8 /* ODS-5 last data mod time */ #define ATR$S_SYMLINK 1024 /* ODS-5 symlink data */ #ifdef __NEW_STARLET typedef struct _atrdef { unsigned short int atr$w_size; /* SIZE OF ATTRIBUTE IN BYTES */ unsigned short int atr$w_type; /* ATTRIBUTE TYPE CODE */ void *atr$l_addr; /* ADDRESS OF ATTRIBUTE TEXT */ /* ATTRIBUTE CODES */ } ATRDEF; #else /* __OLD_STARLET */ struct atrdef { unsigned short int atr$w_size; /* SIZE OF ATTRIBUTE IN BYTES */ unsigned short int atr$w_type; /* ATTRIBUTE TYPE CODE */ void *atr$l_addr; /* ADDRESS OF ATTRIBUTE TEXT */ /* ATTRIBUTE CODES */ } ; #endif /* #ifdef __NEW_STARLET */ /* Define fields and constant values for ATR$_CACHING_OPTIONS longword. */ /* These must match [STARLET]FIBDEF.SDL exactly */ #define ATR$M_FILE_ATTRIBUTES 0xF #define ATR$M_FILE_CONTENTS 0xF0 #define ATR$C_DEFAULT 0 #define ATR$C_WRITETHROUGH 1 #define ATR$C_WRITEBEHIND 2 #define ATR$C_NOCACHING 3 #define ATR$M_FLUSH_ON_CLOSE 0xF00 #define ATR$C_FLUSH 1 #define ATR$C_NOFLUSH 2 #define ATR$M_CACHING_OPTIONS_MBZ 0xFFFFF000 #ifdef __NEW_STARLET typedef struct _atr_caching_options_flags { unsigned atr$v_file_attributes : 4; unsigned atr$v_file_contents : 4; unsigned atr$v_flush_on_close : 4; unsigned atr$v_caching_options_mbz : 20; } ATR_CACHING_OPTIONS_FLAGS; #else /* __OLD_STARLET */ struct atr_caching_options_flags { unsigned atr$v_file_attributes : 4; unsigned atr$v_file_contents : 4; unsigned atr$v_flush_on_close : 4; unsigned atr$v_caching_options_mbz : 20; } ; #endif /* #ifdef __NEW_STARLET */ /* Define fields and constant values for ATR$_FILESYSTEM_INFO word. */ /* These must match [LIB]F11DEF.SDL exactly */ #define ATR$C_ODS1 1 #define ATR$C_ODS2 2 #define ATR$C_ODS64 64 #ifdef __NEW_STARLET typedef struct _atr_filesystem_info_fields { unsigned char atr$b_strucver; unsigned char atr$b_struclev; } ATR_FILESYSTEM_INFO_FIELDS; #else /* __OLD_STARLET */ struct atr_filesystem_info_fields { unsigned char atr$b_strucver; unsigned char atr$b_struclev; } ; #endif /* #ifdef __NEW_STARLET */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __ATRDEF_LOADED */