/**/ /***************************************************************************/ /** **/ /** © 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 $HM2DEF ***/ #ifndef __HM2DEF_LOADED #define __HM2DEF_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 /*+ */ /* */ /* Home block definitions for Files-11 Structure Level 2 */ /* */ /*- */ #define HM2$C_LEVEL1 257 /* 401 octal = structure level 1 */ #define HM2$C_LEVEL2 512 /* 1000 octal = structure level 2 */ #define HM2$C_LEVEL5 1280 /* 2400 octal = structure level 5 */ #define HM2$C_LEVEL6 1536 /* 3000 octal = structure level 6 */ #define HM2$M_READCHECK 0x1 #define HM2$M_WRITCHECK 0x2 #define HM2$M_ERASE 0x4 #define HM2$M_NOHIGHWATER 0x8 #define HM2$M_CLASS_PROT 0x10 #define HM2$M_ACCESSTIMES 0x20 #define HM2$M_HARDLINKS 0x40 #define HM2$M_NO_SPECIAL_FILES 0x80 #define HM2$S_HM2DEF 512 /* Old size name - synonym */ typedef struct _hm2 { unsigned int hm2$l_homelbn; /* LBN of home (i.e., this) block */ unsigned int hm2$l_alhomelbn; /* LBN of alternate home block */ unsigned int hm2$l_altidxlbn; /* LBN of alternate index file header */ __union { unsigned short int hm2$w_struclev; /* volume structure level */ __struct { unsigned char hm2$b_strucver; /* structure version number */ unsigned char hm2$b_struclev; /* main structure level */ } hm2$r_struclev_fields; } hm2$r_struclev_overlay; unsigned short int hm2$w_cluster; /* storage bitmap cluster factor */ unsigned short int hm2$w_homevbn; /* VBN of home (i.e., this) block */ unsigned short int hm2$w_alhomevbn; /* VBN of alternate home block */ unsigned short int hm2$w_altidxvbn; /* VBN of alternate index file header */ unsigned short int hm2$w_ibmapvbn; /* VBN of index file bitmap */ unsigned int hm2$l_ibmaplbn; /* LBN of index file bitmap */ unsigned int hm2$l_maxfiles; /* maximum ! files on volume */ unsigned short int hm2$w_ibmapsize; /* index file bitmap size, blocks */ unsigned short int hm2$w_resfiles; /* ! reserved files on volume */ unsigned short int hm2$w_devtype; /* disk device type */ unsigned short int hm2$w_rvn; /* relative volume number of this volume */ unsigned short int hm2$w_setcount; /* count of volumes in set */ __union { unsigned short int hm2$w_volchar; /* volume characteristics */ __struct { unsigned hm2$v_readcheck : 1; /* verify all read operations */ unsigned hm2$v_writcheck : 1; /* verify all write operations */ unsigned hm2$v_erase : 1; /* erase all files on delete */ unsigned hm2$v_nohighwater : 1; /* turn off high-water marking */ unsigned hm2$v_class_prot : 1; /* enable classification checks on the volume */ unsigned hm2$v_accesstimes : 1; /* enable access time */ unsigned hm2$v_hardlinks : 1; /* enable hardlinks */ unsigned hm2$v_no_special_files : 1; /* disable special files */ } hm2$r_volchar_bits; } hm2$r_volchar_overlay; unsigned int hm2$l_volowner; /* volume owner UIC */ unsigned int hm2$l_sec_mask; /* volume security mask */ unsigned short int hm2$w_protect; /* volume protection */ unsigned short int hm2$w_fileprot; /* default file protection */ unsigned short int hm2$w_recprot; /* default file record protection */ unsigned short int hm2$w_checksum1; /* first checksum */ unsigned __int64 hm2$q_credate; /* volume creation date */ unsigned char hm2$b_window; /* default window size */ unsigned char hm2$b_lru_lim; /* default LRU limit */ unsigned short int hm2$w_extend; /* default file extend */ unsigned __int64 hm2$q_retainmin; /* minimum file retention period */ unsigned __int64 hm2$q_retainmax; /* maximum file retention period */ unsigned __int64 hm2$q_revdate; /* volume revision date */ __struct { /* volume minimum security class */ char hm2$b_fill_2 [20]; } hm2$r_min_class; __struct { /* volume maximum security class */ char hm2$b_fill_3 [20]; } hm2$r_max_class; unsigned short int hm2$w_filetab_fid [3]; /* file lookup table FID */ __union { unsigned short int hm2$w_lowstruclev; /* lowest struclev on volume */ __struct { unsigned char hm2$b_lowstrucver; /* structure version number */ unsigned char hm2$b_lowstruclev; /* main structure level */ } hm2$r_lowstruclev_fields; } hm2$r_lowstruclev_overlay; __union { unsigned short int hm2$w_highstruclev; /* highest struclev on volume */ __struct { unsigned char hm2$b_highstrucver; /* structure version number */ unsigned char hm2$b_highstruclev; /* main structure level */ } hm2$r_highstruclev_fields; } hm2$r_highstruclev_overlay; unsigned __int64 hm2$q_copydate; /* volume copy date */ unsigned __int64 hm2$q_accessdelta; /* granularity for access time */ unsigned short int hm2$w_viboffset; /* Offset in bytes to VIB (ODS6 Volume Information Block) */ unsigned short int hm2$w_vibsize; /* Size in bytes of VIB */ char hm2$b_fill_0 [2]; /* Filler to reestablish alignment */ char hm2def$$_fill_1 [288]; /* spare */ unsigned int hm2$l_serialnum; /* pack serial number */ char hm2$t_strucname [12]; /* structure (volume set name) */ char hm2$t_volname [12]; /* volume name */ char hm2$t_ownername [12]; /* volume owner name */ char hm2$t_format [12]; /* volume format type */ char hm2$$_fill_2 [2]; /* spare */ unsigned short int hm2$w_checksum2; /* second checksum */ } HM2; #if !defined(__VAXC) #define hm2$w_struclev hm2$r_struclev_overlay.hm2$w_struclev #define hm2$b_strucver hm2$r_struclev_overlay.hm2$r_struclev_fields.hm2$b_strucver #define hm2$b_struclev hm2$r_struclev_overlay.hm2$r_struclev_fields.hm2$b_struclev #define hm2$w_volchar hm2$r_volchar_overlay.hm2$w_volchar #define hm2$v_readcheck hm2$r_volchar_overlay.hm2$r_volchar_bits.hm2$v_readcheck #define hm2$v_writcheck hm2$r_volchar_overlay.hm2$r_volchar_bits.hm2$v_writcheck #define hm2$v_erase hm2$r_volchar_overlay.hm2$r_volchar_bits.hm2$v_erase #define hm2$v_nohighwater hm2$r_volchar_overlay.hm2$r_volchar_bits.hm2$v_nohighwater #define hm2$v_class_prot hm2$r_volchar_overlay.hm2$r_volchar_bits.hm2$v_class_prot #define hm2$v_accesstimes hm2$r_volchar_overlay.hm2$r_volchar_bits.hm2$v_accesstimes #define hm2$v_hardlinks hm2$r_volchar_overlay.hm2$r_volchar_bits.hm2$v_hardlinks #define hm2$v_no_special_files hm2$r_volchar_overlay.hm2$r_volchar_bits.hm2$v_no_special_files #define hm2$w_lowstruclev hm2$r_lowstruclev_overlay.hm2$w_lowstruclev #define hm2$b_lowstrucver hm2$r_lowstruclev_overlay.hm2$r_lowstruclev_fields.hm2$b_lowstrucver #define hm2$b_lowstruclev hm2$r_lowstruclev_overlay.hm2$r_lowstruclev_fields.hm2$b_lowstruclev #define hm2$w_highstruclev hm2$r_highstruclev_overlay.hm2$w_highstruclev #define hm2$b_highstrucver hm2$r_highstruclev_overlay.hm2$r_highstruclev_fields.hm2$b_highstrucver #define hm2$b_highstruclev hm2$r_highstruclev_overlay.hm2$r_highstruclev_fields.hm2$b_highstruclev #endif /* #if !defined(__VAXC) */ /* Type of homeblock placement deltas. */ /* Code assumes these are zero-based and increase monotonically */ /* */ #define HM2$C_REQ_DELTA_GEOM_DEPEND 0 /* dependent on disk geometry */ #define HM2$C_REQ_DELTA_GEOM_INDEPEND 1 /* independent of disk geometry */ #define HM2$C_REQ_DELTA_FIXED_CONTIG 2 /* fixed so index file will be contig (for Dollar) */ #define HM2$C_GEOM_INDEPEND_DELTA 1033 /* actual geometry independent delta */ /* this is a prime > 1000 */ #define HM2$C_FIXED_CONTIG_DELTA 1 /* fixed delta for contiguous index file */ #define HM2$C_LIMITED_SEARCH_LENGTH 255 /* number of blocks to check in a limited search */ #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 /* __HM2DEF_LOADED */