/**/ /***************************************************************************/ /** **/ /** © Copyright 2010, Hewlett-Packard Development Company, L.P. **/ /** **/ /** Confidential computer software. Valid license from HP and/or **/ /** its subsidiaries required for possession, use, or copying. **/ /** **/ /** Consistent with FAR 12.211 and 12.212, Commercial Computer Software, **/ /** Computer Software Documentation, and Technical Data for Commercial **/ /** Items are licensed to the U.S. Government under vendor's standard **/ /** commercial license. **/ /** **/ /** Neither HP nor any of its subsidiaries shall be liable for technical **/ /** or editorial errors or omissions contained herein. The information **/ /** in this document is provided "as is" without warranty of any kind and **/ /** is subject to change without notice. The warranties for HP products **/ /** are set forth in the express limited warranty statements accompanying **/ /** such products. Nothing herein should be construed as constituting an **/ /** additional warranty. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:27:22 by OpenVMS SDL EV3-3 */ /* Source: 16-JUL-1997 11:08:42 $1$DGA7274:[LIB_H.SRC]LNMSTRDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $LNMSTRDEF ***/ #ifndef __LNMSTRDEF_LOADED #define __LNMSTRDEF_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 LNMB$M_NO_ALIAS 0x1 #define LNMB$M_CONFINE 0x2 #define LNMB$M_CRELOG 0x4 #define LNMB$M_TABLE 0x8 #define LNMB$M_NODELETE 0x10 #define LNMB$M_CLUSTERWIDE 0x20 #define LNMB$M_REMACTION 0x40 #define LNMB$S_LNMBDEF 33 /* Old size name - synonym */ #ifdef __cplusplus /* Define structure prototypes */ struct _lnmth; struct _lnmx; #endif /* #ifdef __cplusplus */ typedef struct _lnmb { struct _lnmb *lnmb$l_flink; /* Forward link in list */ struct _lnmb *lnmb$l_blink; /* Backward link in list */ unsigned short int lnmb$w_size; /* Size of LNMB in bytes */ unsigned char lnmb$b_type; /* Structure type for LNMB */ char lnmb$b_pad; /* Align to longword boundary */ unsigned int lnmb$l_acmode; /* Owner access mode / integrity level byte */ struct _lnmth *lnmb$l_table; /* Logical name table header address */ struct _lnmx *lnmb$l_lnmx; /* Pointer to first LNMX */ __union { unsigned int lnmb$l_flags; /* Name attributes */ __struct { unsigned lnmb$v_no_alias : 1; /* Do not allow outer mode alias */ unsigned lnmb$v_confine : 1; /* Do not copy into subprocess */ unsigned lnmb$v_crelog : 1; /* Created with old $CRELOG service */ unsigned lnmb$v_table : 1; /* This is a table name */ unsigned lnmb$v_nodelete : 1; /* Do not allow this table to be deleted */ unsigned lnmb$v_clusterwide : 1; /* Name is in a "clusterwide" table */ /* (this bit drives collision semantics, return of */ /* clusterwide as $TRNLNM attribute) */ /* (only this bit could be set for "clusterwide" name or table */ /* on a node booted standalone) */ unsigned lnmb$v_remaction : 1; /* Name is replicated on other cluster nodes */ /* (this bit drives replication and stall semantics) */ /* (if this is set, clusterwide should be set) */ unsigned lnmb$v_fill_0_ : 1; } lnmb$r_bits; } lnmb$r_flag_bits; unsigned int lnmb$l_namelen; /* Length of logical name string */ char lnmb$t_name; /* Name string */ /* Translation blocks follow name - */ /* pointed to by LNMB$L_LNMX */ } LNMB; #if !defined(__VAXC) #define lnmb$l_flags lnmb$r_flag_bits.lnmb$l_flags #define lnmb$r_bits lnmb$r_flag_bits.lnmb$r_bits #define lnmb$v_no_alias lnmb$r_bits.lnmb$v_no_alias #define lnmb$v_confine lnmb$r_bits.lnmb$v_confine #define lnmb$v_crelog lnmb$r_bits.lnmb$v_crelog #define lnmb$v_table lnmb$r_bits.lnmb$v_table #define lnmb$v_nodelete lnmb$r_bits.lnmb$v_nodelete #define lnmb$v_clusterwide lnmb$r_bits.lnmb$v_clusterwide #define lnmb$v_remaction lnmb$r_bits.lnmb$v_remaction #endif /* #if !defined(__VAXC) */ #define LNMX$M_CONCEALED 0x1 #define LNMX$M_TERMINAL 0x2 #define LNMX$C_HSHFCN -128 /* Hash function value */ #define LNMX$C_BACKPTR -127 /* Backpointer translation */ #define LNMX$C_TABLE -126 /* Logical name table header */ #define LNMX$C_IGNORED_INDEX -125 /* Modified back pointer for process-private names */ #define LNMX$C_CW_LINKS -124 /* Links clusterwide LNMBs together */ #define LNMX$S_LNMXDEF 25 /* Old size name - synonym */ typedef struct _lnmx { __union { unsigned int lnmx$l_flags; /* Translation attributes */ __struct { unsigned lnmx$v_concealed : 1; /* Do not display result of translation */ unsigned lnmx$v_terminal : 1; /* Do not retranslate result of translation */ unsigned lnmx$v_fill_1_ : 6; } lnmx$r_bits; } lnmx$r_flag_bits; int lnmx$l_index; /* Translation index */ int lnmx$l_hash; /* Hash code for logical names in directories */ struct _lnmx *lnmx$l_next; /* Pointer to next lnmx */ unsigned int lnmx$l_pad; /* Padding to keep quadword alignment */ unsigned int lnmx$l_xlen; /* Length of translation string */ char lnmx$t_xlation; /* Translation string */ /* Additional translation blocks follow xlation - */ /* pointed to by LNMX$L_NEXT. */ } LNMX; #if !defined(__VAXC) #define lnmx$l_flags lnmx$r_flag_bits.lnmx$l_flags #define lnmx$r_bits lnmx$r_flag_bits.lnmx$r_bits #define lnmx$v_concealed lnmx$r_bits.lnmx$v_concealed #define lnmx$v_terminal lnmx$r_bits.lnmx$v_terminal #endif /* #if !defined(__VAXC) */ #define LNMX$S_CW_LNMX 36 typedef struct _cwlnmx { char lnmx$b_res_1 [24]; void *lnmx$l_cw_flink; /* Forward link for clusterwide names */ void *lnmx$l_cw_blink; /* Backward link for clusterwide names */ struct _lnmb *lnmx$l_cw_lnmb; /* Pointer to LNMB start address */ } CWLNMX; #define LNMTH$M_SHAREABLE 0x1 #define LNMTH$M_DIRECTORY 0x2 #define LNMTH$M_GROUP 0x4 #define LNMTH$M_SYSTEM 0x8 #define LNMTH$M_CLUSTERWIDE 0x10 #define LNMTH$M_REMACTION 0x20 #define LNMTH$K_LENGTH 40 /* Length of header */ #define LNMTH$S_LNMTHDEF 40 /* Old size name - synonym */ #ifdef __cplusplus /* Define structure prototypes */ struct _orb; #endif /* #ifdef __cplusplus */ typedef struct _lnmth { __union { unsigned int lnmth$l_flags; /* Logical name table flags */ __struct { unsigned lnmth$v_shareable : 1; /* Logical name table is shareable (S0 space) */ unsigned lnmth$v_directory : 1; /* Logical name table is a directory table */ unsigned lnmth$v_group : 1; /* Logical name table is a group logical name table */ unsigned lnmth$v_system : 1; /* Logical name table is the system logical name table */ unsigned lnmth$v_clusterwide : 1; /* Table is "clusterwide" */ unsigned lnmth$v_remaction : 1; /* Table is replicated on other cluster nodes */ unsigned lnmth$v_fill_2_ : 2; } lnmth$r_bits; } lnmth$r_flag_bits; void *lnmth$l_hash; /* Address of hash table */ struct _orb *lnmth$l_orb; /* Address of Object Rights Block */ struct _lnmb *lnmth$l_name; /* Address of containing LNMB block */ void *lnmth$l_parent; /* Address of parent table */ void *lnmth$l_child; /* Address of a child table */ void *lnmth$l_sibling; /* Address of a sibling table */ void *lnmth$l_qtable; /* Address of table holding quota */ int lnmth$l_byteslm; /* Initial quota */ int lnmth$l_bytes; /* Remaining quota */ } LNMTH; #if !defined(__VAXC) #define lnmth$l_flags lnmth$r_flag_bits.lnmth$l_flags #define lnmth$r_bits lnmth$r_flag_bits.lnmth$r_bits #define lnmth$v_shareable lnmth$r_bits.lnmth$v_shareable #define lnmth$v_directory lnmth$r_bits.lnmth$v_directory #define lnmth$v_group lnmth$r_bits.lnmth$v_group #define lnmth$v_system lnmth$r_bits.lnmth$v_system #define lnmth$v_clusterwide lnmth$r_bits.lnmth$v_clusterwide #define lnmth$v_remaction lnmth$r_bits.lnmth$v_remaction #endif /* #if !defined(__VAXC) */ #define LNMC$K_NUM_ENTRIES 25 /* Number of table header entries. */ #define LNMC$K_LENGTH 128 /* Length of header */ #define LNMC$S_LNMCDEF 128 /* Old size name - synonym */ typedef struct _lnmc { struct _lnmc *lnmc$l_flink; /* Forward link in list */ struct _lnmc *lnmc$l_blink; /* Backward link in list */ unsigned short int lnmc$w_size; /* Size of LNMC in bytes */ unsigned char lnmc$b_type; /* Structure type for LNMC */ unsigned char lnmc$b_mode; /* Access mode */ unsigned int lnmc$l_cacheindx; /* Current entry number */ void *lnmc$l_tbladdr; /* Logical name table name address */ unsigned int lnmc$l_procdirseq; /* Process directory sequence number */ unsigned int lnmc$l_sysdirseq; /* System directory sequence number */ struct _lnmth *lnmc$l_entry [25]; /* Logical name table header addresses */ } LNMC; #define LNMHSH$C_BUCKET 12 /* Length of fixed part of LNMHSH */ #define LNMHSH$K_BUCKET 12 /* Length of fixed part of LNMHSH */ #define LNMHSH$S_LNMHSHDEF 12 /* Old size name - synonym */ typedef struct _lnmhsh { unsigned int lnmhsh$l_mask; /* Mask for hash value */ int lnmhsh$l_fill_1; /* Spare longword */ unsigned short int lnmhsh$w_size; /* Size of LNMHSH in bytes */ unsigned char lnmhsh$b_type; /* Structure type for LNMHSH */ char lnmhsh$b_fill_2; /* Spare byte */ } LNMHSH; #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 /* __LNMSTRDEF_LOADED */