/***************************************************************************/ /** **/ /** HPE CONFIDENTIAL. This software is confidential proprietary software **/ /** licensed by Hewlett-Packard Enterprise Development, LP, and is not **/ /** authorized to be used, duplicated OR disclosed to anyone without the **/ /** prior written permission of HPE. **/ /** © 2023 Copyright Hewlett-Packard Enterprise Development, LP **/ /** **/ /** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential **/ /** proprietary software licensed by VMS Software, Inc., and is not **/ /** authorized to be used, duplicated or disclosed to anyone without **/ /** the prior written permission of VMS Software, Inc. **/ /** © 2023 Copyright VMS Software, Inc. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 9-Nov-2023 12:06:43 by OpenVMS SDL V3.7 */ /* Source: 21-APR-1993 16:22:29 $1$DGA8345:[LIB_H.SRC]NMBDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $NMBDEF ***/ #ifndef __NMBDEF_LOADED #define __NMBDEF_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 /*+ */ /* */ /* FORMAT OF THE FILE NAME BLOCK. THE FILE NAME BLOCK IS USED AS AN INTERNAL */ /* INTERFACE TO THE DIRECTORY SCAN ROUTINE, AND IS ALSO THE FORMAT OF A */ /* DIRECTORY RECORD. */ /* */ /*- */ #define NMB$K_DIRENTRY 16 /* LENGTH OF DIRECTORY ENTRY */ #define NMB$C_DIRENTRY 16 /* LENGTH OF DIRECTORY ENTRY */ #define NMB$M_ALLVER 0x8 #define NMB$M_ALLTYP 0x10 #define NMB$M_ALLNAM 0x20 #define NMB$M_WILD 0x100 #define NMB$M_NEWVER 0x200 #define NMB$M_SUPERSEDE 0x400 #define NMB$M_FINDFID 0x800 #define NMB$M_LOWVER 0x4000 #define NMB$M_HIGHVER 0x8000 #define NMB$K_LENGTH 40 /* LENGTH OF NAME BLOCK */ #define NMB$C_LENGTH 40 /* LENGTH OF NAME BLOCK */ #define NMB$S_NMBDEF 40 typedef struct _nmb { __union { unsigned short int nmb$w_fid [3]; /* FILE ID */ __struct { unsigned short int nmb$w_fid_num; /* FID - FILE NUMBER */ unsigned short int nmb$w_fid_seq; /* FID - FILE SEQUENCE NUMBER */ unsigned short int nmb$w_fid_rvn; /* FID - RELATIVE VOLUME NUMBER */ } nmb$r_fid_fields; } nmb$r_fid_overlay; unsigned short int nmb$w_name [3]; /* FILE NAME (RAD-50) */ unsigned short int nmb$w_type; /* FILE TYPE (RAD-50) */ short int nmb$w_version; /* VERSION NUMBER */ __union { unsigned short int nmb$w_flags; /* NAME STATUS FLAGS */ __struct { unsigned nmbdef$$_fill_1 : 3; unsigned nmb$v_allver : 1; /* MATCH ALL VERSIONS */ unsigned nmb$v_alltyp : 1; /* MATCH ALL TYPES */ unsigned nmb$v_allnam : 1; /* MATCH ALL NAMES */ unsigned nmbdef$$_fill_2 : 2; unsigned nmb$v_wild : 1; /* WILD CARDS IN FILE NAME */ unsigned nmb$v_newver : 1; /* MAXIMIZE VERSION NUMBER */ unsigned nmb$v_supersede : 1; /* SUPERSEDE EXISTING FILE */ unsigned nmb$v_findfid : 1; /* SEARCH FOR FILE ID */ unsigned nmbdef$$_fill_3 : 2; unsigned nmb$v_lowver : 1; /* LOWER VERSION OF FILE EXISTS */ unsigned nmb$v_highver : 1; /* HIGHER VERSION OF FILE EXISTS */ } nmb$r_flags_bits; } nmb$r_flags_overlay; __struct { unsigned char nmb$b_ascnamsiz; char nmb$t_ascnamtxt [19]; } nmb$r_ascname; unsigned short int nmb$w_context; /* START POINT FOR NEXT FIND */ } NMB; #if !defined(__VAXC) #define nmb$w_fid nmb$r_fid_overlay.nmb$w_fid #define nmb$w_fid_num nmb$r_fid_overlay.nmb$r_fid_fields.nmb$w_fid_num #define nmb$w_fid_seq nmb$r_fid_overlay.nmb$r_fid_fields.nmb$w_fid_seq #define nmb$w_fid_rvn nmb$r_fid_overlay.nmb$r_fid_fields.nmb$w_fid_rvn #define nmb$w_flags nmb$r_flags_overlay.nmb$w_flags #define nmb$v_allver nmb$r_flags_overlay.nmb$r_flags_bits.nmb$v_allver #define nmb$v_alltyp nmb$r_flags_overlay.nmb$r_flags_bits.nmb$v_alltyp #define nmb$v_allnam nmb$r_flags_overlay.nmb$r_flags_bits.nmb$v_allnam #define nmb$v_wild nmb$r_flags_overlay.nmb$r_flags_bits.nmb$v_wild #define nmb$v_newver nmb$r_flags_overlay.nmb$r_flags_bits.nmb$v_newver #define nmb$v_supersede nmb$r_flags_overlay.nmb$r_flags_bits.nmb$v_supersede #define nmb$v_findfid nmb$r_flags_overlay.nmb$r_flags_bits.nmb$v_findfid #define nmb$v_lowver nmb$r_flags_overlay.nmb$r_flags_bits.nmb$v_lowver #define nmb$v_highver nmb$r_flags_overlay.nmb$r_flags_bits.nmb$v_highver #define nmb$b_ascnamsiz nmb$r_ascname.nmb$b_ascnamsiz #define nmb$t_ascnamtxt nmb$r_ascname.nmb$t_ascnamtxt #endif /* #if !defined(__VAXC) */ #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 /* __NMBDEF_LOADED */