/**/ /***************************************************************************/ /** **/ /** © 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:24:52 by OpenVMS SDL EV3-3 */ /* Source: 14-NOV-2008 16:48:53 $1$DGA7274:[LIB_H.SRC]F11DEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $FATDEF ***/ #ifndef __FATDEF_LOADED #define __FATDEF_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 /*+ */ /* */ /* Record attributes area as used by FCS and RMS. */ /* */ /*- */ #define FAT$C_UNDEFINED 0 /* undefined record type */ #define FAT$C_FIXED 1 /* fixed record type */ #define FAT$C_VARIABLE 2 /* variable length */ #define FAT$C_VFC 3 /* variable + fixed control */ #define FAT$C_STREAM 4 /* RMS-11 (DEC traditional) stream format */ #define FAT$C_STREAMLF 5 /* LF-terminated stream format */ #define FAT$C_STREAMCR 6 /* CR-terminated stream format */ #define FAT$C_SEQUENTIAL 0 /* sequential organization */ #define FAT$C_RELATIVE 1 /* relative organization */ #define FAT$C_INDEXED 2 /* indexed organization */ #define FAT$C_DIRECT 3 /* direct organization */ #define FAT$C_SPECIAL 4 /* Special file organization */ #define FAT$M_FORTRANCC 0x1 #define FAT$M_IMPLIEDCC 0x2 #define FAT$M_PRINTCC 0x4 #define FAT$M_NOSPAN 0x8 #define FAT$M_MSBRCW 0x10 #define FAT$C_FIFO 1 /* FIFO special file */ #define FAT$C_CHAR_SPECIAL 2 /* character special file */ #define FAT$C_BLOCK_SPECIAL 3 /* block special file */ #define FAT$C_SYMLINK 4 /* symbolic link special file for pre-V8.2 */ #define FAT$C_SYMBOLIC_LINK 5 /* symbolic link special file for V8.2 and beyond */ #define FAT$M_GBC_PERCENT 0x1 #define FAT$M_GBC_DEFAULT 0x2 #define FAT$K_LENGTH 32 #define FAT$C_LENGTH 32 #define FAT$S_FATDEF 32 /* Old size name - synonym */ typedef struct _fat { __union { unsigned char fat$b_rtype; /* record type */ __struct { unsigned fat$v_rtype : 4; /* record type subfield */ unsigned fat$v_fileorg : 4; /* file organization */ } fat$r_rtype_bits; } fat$r_rtype_overlay; __union { unsigned char fat$b_rattrib; /* record attributes */ __struct { unsigned fat$v_fortrancc : 1; /* Fortran carriage control */ unsigned fat$v_impliedcc : 1; /* implied carriage control */ unsigned fat$v_printcc : 1; /* print file carriage control */ unsigned fat$v_nospan : 1; /* no spanned records */ unsigned fat$v_msbrcw : 1; /* Format of RCW (0=LSB, 1=MSB) */ unsigned fat$v_fill_1 : 3; /* MBZ (or should be zero) */ } fat$r_rattrib_bits; unsigned char fat$b_special_type; /* type of special file */ /* (record attributes are */ /* meaningless for special files) */ } fat$r_rattrib_overlay; unsigned short int fat$w_rsize; /* record size in bytes */ __union { unsigned int fat$l_hiblk; /* highest allocated VBN */ __struct { unsigned short int fat$w_hiblkh; /* high order word */ unsigned short int fat$w_hiblkl; /* low order word */ } fat$r_hiblk_fields; } fat$r_hiblk_overlay; __union { unsigned int fat$l_efblk; /* end of file VBN */ __struct { unsigned short int fat$w_efblkh; /* high order word */ unsigned short int fat$w_efblkl; /* low order word */ } fat$r_efblk_fields; } fat$r_efblk_overlay; unsigned short int fat$w_ffbyte; /* first free byte in EFBLK */ unsigned char fat$b_bktsize; /* bucket size in blocks */ unsigned char fat$b_vfcsize; /* size in bytes of fixed length control for VFC records */ unsigned short int fat$w_maxrec; /* maximum record size in bytes */ unsigned short int fat$w_defext; /* default extend quantity */ __union { unsigned short int fat$w_gbc; /* global buffer count (original word) */ unsigned short int fat$w_gbc16; /* Alias */ } fat$r_gbc16_overlay; __union { unsigned char fat$b_recattr_flags; /* flags for record attribute area */ __struct { unsigned fat$v_gbc_percent : 1; /* Interpret value in GBC32 as percent instead of count */ unsigned fat$v_gbc_default : 1; /* RMS should set default for GBC at runtime and ignore */ /* any values in GBC16 or GBC32 */ unsigned fat$$_fill_4 : 6; /* Reserved for future use */ } fat$r_recattr_flags_bits; } fat$r_recattr_flags_overlay; char fat$$_fill_2; /* reserved for future use (possible flags word union) */ unsigned int fat$l_gbc32; /* longword implementation of global buffer count */ short int fat$$_fill_3; /* spare space documented as unused in I/O REF */ unsigned short int fat$w_versions; /* default version limit for directory file */ } FAT; #if !defined(__VAXC) #define fat$b_rtype fat$r_rtype_overlay.fat$b_rtype #define fat$v_rtype fat$r_rtype_overlay.fat$r_rtype_bits.fat$v_rtype #define fat$v_fileorg fat$r_rtype_overlay.fat$r_rtype_bits.fat$v_fileorg #define fat$b_rattrib fat$r_rattrib_overlay.fat$b_rattrib #define fat$v_fortrancc fat$r_rattrib_overlay.fat$r_rattrib_bits.fat$v_fortrancc #define fat$v_impliedcc fat$r_rattrib_overlay.fat$r_rattrib_bits.fat$v_impliedcc #define fat$v_printcc fat$r_rattrib_overlay.fat$r_rattrib_bits.fat$v_printcc #define fat$v_nospan fat$r_rattrib_overlay.fat$r_rattrib_bits.fat$v_nospan #define fat$v_msbrcw fat$r_rattrib_overlay.fat$r_rattrib_bits.fat$v_msbrcw #define fat$b_special_type fat$r_rattrib_overlay.fat$b_special_type #define fat$l_hiblk fat$r_hiblk_overlay.fat$l_hiblk #define fat$w_hiblkh fat$r_hiblk_overlay.fat$r_hiblk_fields.fat$w_hiblkh #define fat$w_hiblkl fat$r_hiblk_overlay.fat$r_hiblk_fields.fat$w_hiblkl #define fat$l_efblk fat$r_efblk_overlay.fat$l_efblk #define fat$w_efblkh fat$r_efblk_overlay.fat$r_efblk_fields.fat$w_efblkh #define fat$w_efblkl fat$r_efblk_overlay.fat$r_efblk_fields.fat$w_efblkl #define fat$w_gbc fat$r_gbc16_overlay.fat$w_gbc #define fat$w_gbc16 fat$r_gbc16_overlay.fat$w_gbc16 #define fat$b_recattr_flags fat$r_recattr_flags_overlay.fat$b_recattr_flags #define fat$v_gbc_percent fat$r_recattr_flags_overlay.fat$r_recattr_flags_bits.fat$v_gbc_percent #define fat$v_gbc_default fat$r_recattr_flags_overlay.fat$r_recattr_flags_bits.fat$v_gbc_default #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 /* __FATDEF_LOADED */