/********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:29:48 by OpenVMS SDL EV3-3 */ /* Source: 30-MAR-2010 17:29:21 $1$DGA7274:[STARLET_H.SRC]STARDEFAE.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $ACLDEF ***/ #ifndef __ACLDEF_LOADED #define __ACLDEF_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 #define ACL$K_LENGTH 12 /* Length of the overhead area */ #define ACL$C_LENGTH 12 /* Length of the overhead area */ #define ACL$C_FILE 1 /* Files */ #define ACL$C_DEVICE 2 /* MBX, MT, TT, etc. */ #define ACL$C_JOBCTL_QUEUE 3 /* Job controller queue */ #define ACL$C_COMMON_EF_CLUSTER 4 /* Common event flag clusters */ #define ACL$C_LOGICAL_NAME_TABLE 5 /* Logical name tables */ #define ACL$C_PROCESS 6 /* Process */ #define ACL$C_GROUP_GLOBAL_SECTION 7 /* Group global sections */ #define ACL$C_SYSTEM_GLOBAL_SECTION 8 /* System global sections */ #define ACL$C_CAPABILITY 9 /* Capability */ #define ACL$C_EVENT_FACILITY 10 /* Event facility */ #define ACL$C_LOCK 11 /* Lock block/resource */ #define ACL$C_VOLUME 12 /* Disk volume (set) */ #define ACL$C_MAX_OBJECT 13 /* max object code */ #define ACL$C_NUM_OBJECTS 12 /* number of objects */ #define ACL$K_NUM_OBJECTS 12 /* number of objects */ /* Action codes */ #define ACL$C_ADDACLENT 1 /* Add an ACL entry */ #define ACL$C_DELACLENT 2 /* Delete an ACL entry */ #define ACL$C_MODACLENT 3 /* Modify an ACL entry */ #define ACL$C_FNDACLENT 4 /* Locate an ACL entry */ #define ACL$C_FNDACETYP 5 /* Locate specific ACE type */ #define ACL$C_DELETEACL 6 /* Delete ACL, leaving protected */ #define ACL$C_READACL 7 /* Read the ACL */ #define ACL$C_ACLLENGTH 8 /* Get the ACL's length */ #define ACL$C_READACE 9 /* Read a single ACE */ #define ACL$C_RLOCK_ACL 10 /* Read lock on ACL */ #define ACL$C_WLOCK_ACL 11 /* Write lock on ACL */ #define ACL$C_UNLOCK_ACL 12 /* Release exclusive lock */ #define ACL$C_GRANT_ACE 13 /* ACE granting access */ #define ACL$C_NEXT_ACE 14 /* Increment ACE number */ #define ACL$C_DELETE_ALL 15 /* Delete entire ACL */ #define ACL$C_RESERVED_ITEM_2 16 /* Reserved item code */ #define ACL$C_RESERVED_ITEM_3 17 /* Reserved item code */ #define ACL$S_ADDACLENT 255 /* Add an ACL entry */ #define ACL$S_DELACLENT 255 /* Delete an ACL entry */ #define ACL$S_MODACLENT 255 /* Modify an ACL entry */ #define ACL$S_FNDACLENT 255 /* Locate an ACL entry */ #define ACL$S_FNDACETYP 255 /* Locate specific ACE type */ #define ACL$S_DELETEACL 255 /* Delete ACL, leaving protected */ #define ACL$S_READACL 512 /* Read the ACL */ #define ACL$S_ACLLENGTH 4 /* Get the ACL's length */ #define ACL$S_READACE 255 /* Read a single ACE */ #define ACL$S_RLOCK_ACL 4 /* Read lock on ACL */ #define ACL$S_WLOCK_ACL 4 /* Write lock on ACL */ #define ACL$S_UNLOCK_ACL 4 /* Remove lock on ACL */ #define ACL$S_GRANT_ACE 255 /* ACE granting access */ #define ACL$S_NEXT_ACE 4 /* Increment ACE number */ #define ACL$S_DELETE_ALL 255 /* Delete entire ACL */ #define ACL$S_RESERVED_ITEM_2 255 /* Reserved item code */ #define ACL$S_RESERVED_ITEM_3 255 /* Reserved item code */ #define ACL$C_MAX_SEGMENT_SIZE 512 /* Maximum ACL segemnt size */ #define ACL$K_MAX_SEGMENT_SIZE 512 /* Maximum ACL segemnt size */ #ifdef __NEW_STARLET typedef struct _acldef { unsigned int acl$l_flink; /* Forward link to next list in the queue */ unsigned int acl$l_blink; /* Back link to previous list in queue */ unsigned short int acl$w_size; /* Total size of the list */ unsigned char acl$b_type; /* Structure type code */ char acldef$$_fill_1; /* Spare unused byte */ unsigned int acl$l_list; /* Start of the Access Control Entries */ /* Object types */ } ACLDEF; #else /* __OLD_STARLET */ struct acldef { unsigned int acl$l_flink; /* Forward link to next list in the queue */ unsigned int acl$l_blink; /* Back link to previous list in queue */ unsigned short int acl$w_size; /* Total size of the list */ unsigned char acl$b_type; /* Structure type code */ char acldef$$_fill_1; /* Spare unused byte */ unsigned int acl$l_list; /* Start of the Access Control Entries */ /* Object types */ } ; #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 /* __ACLDEF_LOADED */