/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:06 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFFL.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $LNMDEF ***/ #ifndef __LNMDEF_LOADED #define __LNMDEF_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 LNM$M_NO_ALIAS 0x1 #define LNM$M_CONFINE 0x2 #define LNM$M_CRELOG 0x4 #define LNM$M_TABLE 0x8 #define LNM$M_CONCEALED 0x100 #define LNM$M_TERMINAL 0x200 #define LNM$M_EXISTS 0x400 #define LNM$M_SHAREABLE 0x10000 #define LNM$M_CLUSTERWIDE 0x20000 #define LNM$M_DCL_REQUEST 0x40000 #define LNM$M_CREATE_IF 0x1000000 #define LNM$M_CASE_BLIND 0x2000000 #define LNM$M_INTERLOCKED 0x4000000 #define LNM$M_LOCAL_ACTION 0x8000000 #ifdef __NEW_STARLET typedef struct _lnmdef { /* Logical name attributes -- bits 0-7 */ unsigned lnm$v_no_alias : 1; /* Do not allow outer mode alias */ unsigned lnm$v_confine : 1; /* Do not copy into subprocess */ unsigned lnm$v_crelog : 1; /* Created with old $CRELOG service */ unsigned lnm$v_table : 1; /* This is a table name */ unsigned lnm$v_fill_0 : 4; /* Fill out logical name byte */ /* Logical name translation attributes -- bits 8-15 */ unsigned lnm$v_concealed : 1; /* Do not display result of translation */ unsigned lnm$v_terminal : 1; /* Do not retranslate result of translation */ unsigned lnm$v_exists : 1; /* Translation does exist at this index */ unsigned lnm$v_fill_1 : 5; /* Fill out translation byte */ /* Logical name table characteristics -- bits 16-23 */ unsigned lnm$v_shareable : 1; /* Logical name table is shareable (S0 space) */ unsigned lnm$v_clusterwide : 1; /* This is a clusterwide table (or name) */ /* Only supported as returned $TRNLNM attribute */ unsigned lnm$v_dcl_request : 1; /* $CRELNM or $CRELNT request made by DCL */ unsigned lnm$v_fill_2 : 1; /* Reserved bit numbers 18-19 */ unsigned lnm$v_fill_3 : 4; /* Fill out table byte */ /* System service options -- bits 24-31 */ unsigned lnm$v_create_if : 1; /* May map to existing logical name table */ unsigned lnm$v_case_blind : 1; /* Perform case-insensitive translation */ unsigned lnm$v_interlocked : 1; /* Translate clusterwide name with LNM$CWLOGICALS locked */ unsigned lnm$v_local_action : 1; /* A local operation on a clusterwide name */ /* done in response to a request from another node */ /* Only supported from kernel mode */ unsigned lnm$v_fill_4 : 4; /* Fill out options byte */ } LNMDEF; #else /* __OLD_STARLET */ struct lnmdef { /* Logical name attributes -- bits 0-7 */ unsigned lnm$v_no_alias : 1; /* Do not allow outer mode alias */ unsigned lnm$v_confine : 1; /* Do not copy into subprocess */ unsigned lnm$v_crelog : 1; /* Created with old $CRELOG service */ unsigned lnm$v_table : 1; /* This is a table name */ unsigned lnm$v_fill_0 : 4; /* Fill out logical name byte */ /* Logical name translation attributes -- bits 8-15 */ unsigned lnm$v_concealed : 1; /* Do not display result of translation */ unsigned lnm$v_terminal : 1; /* Do not retranslate result of translation */ unsigned lnm$v_exists : 1; /* Translation does exist at this index */ unsigned lnm$v_fill_1 : 5; /* Fill out translation byte */ /* Logical name table characteristics -- bits 16-23 */ unsigned lnm$v_shareable : 1; /* Logical name table is shareable (S0 space) */ unsigned lnm$v_clusterwide : 1; /* This is a clusterwide table (or name) */ /* Only supported as returned $TRNLNM attribute */ unsigned lnm$v_dcl_request : 1; /* $CRELNM or $CRELNT request made by DCL */ unsigned lnm$v_fill_2 : 1; /* Reserved bit numbers 18-19 */ unsigned lnm$v_fill_3 : 4; /* Fill out table byte */ /* System service options -- bits 24-31 */ unsigned lnm$v_create_if : 1; /* May map to existing logical name table */ unsigned lnm$v_case_blind : 1; /* Perform case-insensitive translation */ unsigned lnm$v_interlocked : 1; /* Translate clusterwide name with LNM$CWLOGICALS locked */ unsigned lnm$v_local_action : 1; /* A local operation on a clusterwide name */ /* done in response to a request from another node */ /* Only supported from kernel mode */ unsigned lnm$v_fill_4 : 4; /* Fill out options byte */ } ; #endif /* #ifdef __NEW_STARLET */ #define LNM$C_TABNAMLEN 31 /* Maximum length of a name contained within a directory table */ #define LNM$C_NAMLENGTH 255 /* Maximum logical name / translation length */ #define LNM$C_MAXDEPTH 10 /* Maximum logical name recursion depth */ #define LNM$_INDEX 1 /* Translation index */ #define LNM$_STRING 2 /* Translation string */ #define LNM$_ATTRIBUTES 3 /* Attribute bits */ #define LNM$_TABLE 4 /* Logical name table name */ #define LNM$_LENGTH 5 /* Length of translation string */ #define LNM$_ACMODE 6 /* Access mode of name */ #define LNM$_MAX_INDEX 7 /* Maximum translation index */ #define LNM$_PARENT 8 /* Parent logical name table name */ #define LNM$_LNMB_ADDR 9 /* Return LNM block address */ /* internal use by MTL */ /* and mailbox UCB */ #define LNM$_AGENT_ACMODE 10 /* Probes to be done at a different access mode */ /* Define item list codes */ #define LNM$_CHAIN -1 /* Chain to next list */ #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 /* __LNMDEF_LOADED */