/********************************************************************************************************************************/ /* Created: 15-MAR-2001 23:38:00 by OpenVMS SDL EV1-33 */ /* Source: 15-MAR-2001 23:34:09 _$11$DUA933:[BUILD.SDL]STARDEFFL.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $LNMDEF ***/ #ifndef __LNMDEF_LOADED #define __LNMDEF_LOADED 1 #pragma nostandard #ifdef __cplusplus extern "C" { #define __unknown_params ... #else #define __unknown_params #endif #if !defined(__VAXC) && !defined(VAXC) #define __struct struct #define __union union #else #define __struct variant_struct #define __union variant_union #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_CREATE_IF 0x1000000 #define LNM$M_CASE_BLIND 0x2000000 #define LNM$M_INTERLOCKED 0x4000000 #define LNM$M_LOCAL_ACTION 0x8000000 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_fill_2 : 2; /* 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 */ } ; #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 /* Agent access mode */ /* Define item list codes */ #define LNM$_CHAIN -1 /* Chain to next list */ #ifdef __cplusplus } #endif #pragma standard #endif /* __LNMDEF_LOADED */