/**/ /***************************************************************************/ /** **/ /** © 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:25:02 by OpenVMS SDL EV3-3 */ /* Source: 14-NOV-2008 16:48:53 $1$DGA7274:[LIB_H.SRC]F11DEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $DIRDEF ***/ #ifndef __DIRDEF_LOADED #define __DIRDEF_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 /*+ */ /* */ /* Directory entry structure for Files-11 Structure Level 2 */ /* */ /*- */ #define DIR$C_FID 0 /* normal file ID */ #define DIR$C_LINKNAME 1 /* symbolic name (obsolete, not used) */ /* Filename encoding codes. */ #define DIR$C_ODS2 0 /* ODS-2 legal ASCII */ #define DIR$C_ISL1 1 /* ODS-2 illegal ASCII or ISO LATIN-1 */ #define DIR$$_TYPE_RESERVED 2 #define DIR$C_UCS2 3 /* Unicode USC-2 (16 bit characters) */ /* NOTE - The values of DIR$C_ODS2 et al. must be the same as the corresponding */ #define DIR$K_LENGTH 6 /* length of directory entry overhead */ #define DIR$C_LENGTH 6 /* length of directory entry overhead */ #define DIR$S_NAME 80 /* maximum length of name string */ #define DIR$S_ODS5_NAME 236 /* maximum length of name string (ODS-5) */ #define DIR$S_DIRDEF 6 /* Old size name - synonym */ typedef struct _dir { unsigned short int dir$w_size; /* size of directory record in bytes */ unsigned short int dir$w_verlimit; /* maximum number of versions */ __union { unsigned char dir$b_flags; /* status flags */ __struct { unsigned dir$v_type : 3; /* directory entry type */ unsigned dir$v_nametype : 3; /* Filename encoding type */ unsigned dir$v_special : 1; /* directory entry points to a special file */ unsigned dir$v_fill_8_ : 1; } dir$r_flags_bits; __struct { /* the following two flags are obsolete and were never implemented */ unsigned dir$v_fill_1 : 6; unsigned dir$v_nextrec : 1; /* another record of same name & type follows */ unsigned dir$v_prevrec : 1; /* another record of same name & type precedes */ } dir$r_flags_obsolete; /* directory entry type codes */ /* values for name encoding in FI5DEF and FIBDEF. */ } dir$r_flags_overlay; __union { unsigned char dir$b_namecount; /* byte count of name string */ __struct { char dir$$_fill_2; #if defined(__VAXC) char dir$t_name[]; #else /* Warning: empty char[] member for dir$t_name at end of structure not created */ #endif /* #if defined(__VAXC) */ /* the version numbers and file ID's follow the */ /* variable length name area in the form of a */ /* blockvector. Each entry is as follows: */ } dir$r_namecount_fields; } dir$r_namecount_overlay; } DIR; #if !defined(__VAXC) #define dir$b_flags dir$r_flags_overlay.dir$b_flags #define dir$v_type dir$r_flags_overlay.dir$r_flags_bits.dir$v_type #define dir$v_nametype dir$r_flags_overlay.dir$r_flags_bits.dir$v_nametype #define dir$v_special dir$r_flags_overlay.dir$r_flags_bits.dir$v_special #define dir$v_nextrec dir$r_flags_overlay.dir$r_flags_obsolete.dir$v_nextrec #define dir$v_prevrec dir$r_flags_overlay.dir$r_flags_obsolete.dir$v_prevrec #define dir$b_namecount dir$r_namecount_overlay.dir$b_namecount #define dir$t_name dir$r_namecount_overlay.dir$r_namecount_fields.dir$t_name #endif /* #if !defined(__VAXC) */ #define DIR$K_VERSION 8 /* size of each version entry */ #define DIR$C_VERSION 8 /* size of each version entry */ #define DIR$S_DIRDEF1 8 /* Old size name - synonym */ typedef struct _dir1 { short int dir$w_version; /* version number */ __union { unsigned short int dir$w_fid [3]; /* file ID */ __struct { unsigned short int dir$w_fid_num; /* file number */ unsigned short int dir$w_fid_seq; /* file sequence number */ __union { unsigned short int dir$w_fid_rvn; /* relative volume number */ __struct { unsigned char dir$b_fid_rvn; /* alternate format RVN */ unsigned char dir$b_fid_nmx; /* alternate format file number extension */ } dir$r_fid_rvn_fields; } dir$r_fid_rvn_overlay; } dir$r_fid_fields; } dir$r_fid_overlay; } DIR1; #if !defined(__VAXC) #define dir$w_fid dir$r_fid_overlay.dir$w_fid #define dir$w_fid_num dir$r_fid_overlay.dir$r_fid_fields.dir$w_fid_num #define dir$w_fid_seq dir$r_fid_overlay.dir$r_fid_fields.dir$w_fid_seq #define dir$w_fid_rvn dir$r_fid_overlay.dir$r_fid_fields.dir$r_fid_rvn_overlay.dir$w_fid_rvn #define dir$b_fid_rvn dir$r_fid_overlay.dir$r_fid_fields.dir$r_fid_rvn_overlay.dir$r_fid_rvn_fields.dir$b_fid_rvn #define dir$b_fid_nmx dir$r_fid_overlay.dir$r_fid_fields.dir$r_fid_rvn_overlay.dir$r_fid_rvn_fields.dir$b_fid_nmx #endif /* #if !defined(__VAXC) */ #define DIR$S_DIRDEF2 1 /* Old size name - synonym */ typedef struct _dir2 { char dir$t_linkname; /* symbolic link name (counted string) */ } DIR2; #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 /* __DIRDEF_LOADED */