/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]RMSUSR.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $XABFHCDEF ***/ #ifndef __XABFHCDEF_LOADED #define __XABFHCDEF_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 /* */ /* file header characteristics xab definitions */ /* $xabfhcdef */ /* */ /* the fields of this xab cannot be rearranged since */ /* they correspond to an on-disk structure */ /* */ #define XAB$C_FHC 29 /* xabfhc id code */ #define XAB$M_FTN 0x1 #define XAB$M_CR 0x2 #define XAB$M_PRN 0x4 #define XAB$M_BLK 0x8 #define XAB$M_GBC_PERCENT 0x1 #define XAB$M_GBC_DEFAULT 0x2 #ifdef __NEW_STARLET #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _xabfhcdef { #pragma __nomember_alignment unsigned char xab$b_cod; /* xab id code */ unsigned char xab$b_bln; /* block length */ short int xabfhcdef$$_fill_1; /* (spare) */ void *xab$l_nxt; /* xab chain link */ unsigned char xab$b_rfo; /* record format and file org */ __union { unsigned char xab$b_atr; /* record attributes */ __struct { unsigned xab$v_ftn : 1; /* fortran carriage-ctl */ unsigned xab$v_cr : 1; /* lf-record-cr carriage ctl */ unsigned xab$v_prn : 1; /* print-file carriage ctl */ unsigned xab$v_blk : 1; /* records don't cross block boundaries */ unsigned xab$v_fill_11_ : 4; } xab$r_fill_10_; } xab$r_fill_9_; unsigned short int xab$w_lrl; /* longest record's length */ __union { unsigned int xab$l_hbk; /* hi vbn allocated */ /* (n.b. reversed on disk!) */ __struct { unsigned short int xab$w_hbk0; unsigned short int xab$w_hbk2; } xab$r_hbk_fields; } xab$r_hbk_overlay; __union { unsigned int xab$l_ebk; /* eof vbn */ /* (n.b. reversed on disk) */ __struct { unsigned short int xab$w_ebk0; unsigned short int xab$w_ebk2; } xab$r_ebk_fields; } xab$r_ebk_overlay; unsigned short int xab$w_ffb; /* first free byte in eof block */ unsigned char xab$b_bkz; /*COMMON TO FHC AND ALQ XABS */ /* defined above in $xabdef, since it is shared */ /* by the all xab) */ unsigned char xab$b_hsz; /* header size for vfc */ unsigned short int xab$w_mrz; /* max record size */ unsigned short int xab$w_dxq; /* default extend quantity */ __union { unsigned short int xab$w_gbc; /* global buffer count (original word) */ unsigned short int xab$w_gbc16; /* Alias */ } xab$r_gbc16_overlay; __union { unsigned char xab$b_recattr_flags; /* flags for record attribute area */ __struct { unsigned xab$v_gbc_percent : 1; /* Interpret value in GBC32 as percent instead of count */ unsigned xab$v_gbc_default : 1; /* RMS should set default for GBC at runtime and ignore */ /* any values in GBC16 or GBC32 */ unsigned xabfhcdef$$_fill_7 : 6; /* Reserved for future use */ } xab$r_recattr_flags_bits; } xab$r_recattr_flags_overlay; char xabfhcdef$$_fill_8; /* reserved for future use (possible flags word union) */ unsigned int xab$l_gbc32; /* longword implementation of global buffer count */ char xabfhcdef$$_fill_6 [2]; /* spare space documented as unused in I/O REF */ unsigned short int xab$w_verlimit; /* version limit for file. */ /*-----***** */ unsigned int xab$l_sbn; /* starting lbn if contiguous */ } XABFHCDEF; #if !defined(__VAXC) #define xab$b_atr xab$r_fill_9_.xab$b_atr #define xab$v_ftn xab$r_fill_9_.xab$r_fill_10_.xab$v_ftn #define xab$v_cr xab$r_fill_9_.xab$r_fill_10_.xab$v_cr #define xab$v_prn xab$r_fill_9_.xab$r_fill_10_.xab$v_prn #define xab$v_blk xab$r_fill_9_.xab$r_fill_10_.xab$v_blk #define xab$l_hbk xab$r_hbk_overlay.xab$l_hbk #define xab$r_hbk_fields xab$r_hbk_overlay.xab$r_hbk_fields #define xab$w_hbk0 xab$r_hbk_fields.xab$w_hbk0 #define xab$w_hbk2 xab$r_hbk_fields.xab$w_hbk2 #define xab$l_ebk xab$r_ebk_overlay.xab$l_ebk #define xab$r_ebk_fields xab$r_ebk_overlay.xab$r_ebk_fields #define xab$w_ebk0 xab$r_ebk_fields.xab$w_ebk0 #define xab$w_ebk2 xab$r_ebk_fields.xab$w_ebk2 #define xab$w_gbc xab$r_gbc16_overlay.xab$w_gbc #define xab$w_gbc16 xab$r_gbc16_overlay.xab$w_gbc16 #define xab$b_recattr_flags xab$r_recattr_flags_overlay.xab$b_recattr_flags #define xab$v_gbc_percent xab$r_recattr_flags_overlay.xab$r_recattr_flags_bits.xab$v_gbc_percent #define xab$v_gbc_default xab$r_recattr_flags_overlay.xab$r_recattr_flags_bits.xab$v_gbc_default #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif struct xabfhcdef { #pragma __nomember_alignment unsigned char xab$b_cod; /* xab id code */ unsigned char xab$b_bln; /* block length */ short int xabfhcdef$$_fill_1; /* (spare) */ void *xab$l_nxt; /* xab chain link */ unsigned char xab$b_rfo; /* record format and file org */ __union { unsigned char xab$b_atr; /* record attributes */ __struct { unsigned xab$v_ftn : 1; /* fortran carriage-ctl */ unsigned xab$v_cr : 1; /* lf-record-cr carriage ctl */ unsigned xab$v_prn : 1; /* print-file carriage ctl */ unsigned xab$v_blk : 1; /* records don't cross block boundaries */ unsigned xab$v_fill_11_ : 4; } xab$r_fill_10_; } xab$r_fill_9_; unsigned short int xab$w_lrl; /* longest record's length */ __union { unsigned int xab$l_hbk; /* hi vbn allocated */ /* (n.b. reversed on disk!) */ __struct { unsigned short int xab$w_hbk0; unsigned short int xab$w_hbk2; } xab$r_hbk_fields; } xab$r_hbk_overlay; __union { unsigned int xab$l_ebk; /* eof vbn */ /* (n.b. reversed on disk) */ __struct { unsigned short int xab$w_ebk0; unsigned short int xab$w_ebk2; } xab$r_ebk_fields; } xab$r_ebk_overlay; unsigned short int xab$w_ffb; /* first free byte in eof block */ unsigned char xab$b_bkz; /*COMMON TO FHC AND ALQ XABS */ /* defined above in $xabdef, since it is shared */ /* by the all xab) */ unsigned char xab$b_hsz; /* header size for vfc */ unsigned short int xab$w_mrz; /* max record size */ unsigned short int xab$w_dxq; /* default extend quantity */ __union { unsigned short int xab$w_gbc; /* global buffer count (original word) */ unsigned short int xab$w_gbc16; /* Alias */ } xab$r_gbc16_overlay; __union { unsigned char xab$b_recattr_flags; /* flags for record attribute area */ __struct { unsigned xab$v_gbc_percent : 1; /* Interpret value in GBC32 as percent instead of count */ unsigned xab$v_gbc_default : 1; /* RMS should set default for GBC at runtime and ignore */ /* any values in GBC16 or GBC32 */ unsigned xabfhcdef$$_fill_7 : 6; /* Reserved for future use */ } xab$r_recattr_flags_bits; } xab$r_recattr_flags_overlay; char xabfhcdef$$_fill_8; /* reserved for future use (possible flags word union) */ unsigned int xab$l_gbc32; /* longword implementation of global buffer count */ char xabfhcdef$$_fill_6 [2]; /* spare space documented as unused in I/O REF */ unsigned short int xab$w_verlimit; /* version limit for file. */ /*-----***** */ unsigned int xab$l_sbn; /* starting lbn if contiguous */ } ; #if !defined(__VAXC) #define xab$b_atr xab$r_fill_9_.xab$b_atr #define xab$v_ftn xab$r_fill_9_.xab$r_fill_10_.xab$v_ftn #define xab$v_cr xab$r_fill_9_.xab$r_fill_10_.xab$v_cr #define xab$v_prn xab$r_fill_9_.xab$r_fill_10_.xab$v_prn #define xab$v_blk xab$r_fill_9_.xab$r_fill_10_.xab$v_blk #define xab$l_hbk xab$r_hbk_overlay.xab$l_hbk #define xab$w_hbk0 xab$r_hbk_overlay.xab$r_hbk_fields.xab$w_hbk0 #define xab$w_hbk2 xab$r_hbk_overlay.xab$r_hbk_fields.xab$w_hbk2 #define xab$l_ebk xab$r_ebk_overlay.xab$l_ebk #define xab$w_ebk0 xab$r_ebk_overlay.xab$r_ebk_fields.xab$w_ebk0 #define xab$w_ebk2 xab$r_ebk_overlay.xab$r_ebk_fields.xab$w_ebk2 #define xab$w_gbc xab$r_gbc16_overlay.xab$w_gbc #define xab$w_gbc16 xab$r_gbc16_overlay.xab$w_gbc16 #define xab$b_recattr_flags xab$r_recattr_flags_overlay.xab$b_recattr_flags #define xab$v_gbc_percent xab$r_recattr_flags_overlay.xab$r_recattr_flags_bits.xab$v_gbc_percent #define xab$v_gbc_default xab$r_recattr_flags_overlay.xab$r_recattr_flags_bits.xab$v_gbc_default #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ /* basealign on aggregate XABFHCDEF operates after aggregate end */ #define XAB$K_FHCLEN 44 /* length of xabfhc */ #define XAB$C_FHCLEN 44 /* length of xabfhc */ #ifdef __NEW_STARLET #define XABFHC _xabfhcdef #else #define XABFHC xabfhcdef #endif #define cc$rms_xabfhc (*decc$ga_rms_xabfhc) #if defined(__DECC) || defined(__DECCXX) # pragma extern_model __save # pragma extern_model strict_refdef extern struct XABFHC cc$rms_xabfhc; /* Declare initialized prototype data structures */ # pragma extern_model __restore #else globalref struct XABFHC cc$rms_xabfhc; /* Declare initialized prototype data structures */ #endif #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 /* __XABFHCDEF_LOADED */