/********************************************************************************************************************************/ /* 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 $XABCXFDEF ***/ #ifndef __XABCXFDEF_LOADED #define __XABCXFDEF_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 /* */ /* RMS Context XAB associated with the FAB */ /* $xabcxfdef */ /* */ #define XAB$C_CXF 32 /* XABCXF id code */ #define XAB$M_CXFRST 0x1 #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 _xabcxfdef { #pragma __nomember_alignment unsigned char xab$b_cod; /* xab id code */ unsigned char xab$b_bln; /* block length */ short int xabcxfdef$$_fill_1; /* (spare) */ void *xab$l_nxt; /* xab chain link */ /* */ /* Following in common with the CXR block, too. */ /* Do not rearrange without changing both. */ /* */ unsigned int xab$l_cxfsts; /* Status of the last file operation. */ unsigned int xab$l_cxfstv; /* Status Value of the last file operation. */ /* */ /* Top four bits of the options longword are reserved for the XABCXR. These */ /* bits describe the version of the key buffer. */ /* */ __union { unsigned int xab$l_cxfcop; /* Context Options. */ __struct { unsigned xab$v_cxfrst : 1; /* Restore file state - use context blk as input. */ unsigned xab$v_fill_15_ : 7; } xab$r_cxfcop_bits; } xab$r_cxfcop_overlay; unsigned int xab$l_cxfbkp; /* Bookkeeping bits */ unsigned short int xab$w_cxfifi; /* Internal File Identifier */ unsigned char xab$b_cxfver; /* prologue version num */ char xabcxfdef$$_fill_5; /* spare to longword align commonality */ unsigned int xabcxfdef$$_fill_6; /* spare */ /* */ /* Up Till now in common with XABCXR, too. */ /* */ /* The following fields correspond to those in the FAB or IFB */ /* They should not be rearranged as their order is assumed for */ /* purposes of moving large chunks of data rather than a byte */ /* or word at a time. Note: ASSUME is used in the actual code */ /* */ unsigned short int xab$w_cxfdeq; /* Default extention quantity */ unsigned char xab$b_cxffac; /* File access */ unsigned char xab$b_cxfshr; /* File Sharing */ unsigned short int xab$w_cxfrte; /* (Not used) */ char xabcxfdef$$_fill_7; /* spare */ unsigned char xab$b_cxforg; /* file organization */ unsigned short int xab$w_cxfgbc; /* global buffer count */ unsigned char xab$b_cxfrtv; /* retrieval window */ char xabcxfdef$$_fill_8; unsigned int xabcxfdef$$_fill_9 [4]; /* spares */ } XABCXFDEF; #if !defined(__VAXC) #define xab$l_cxfcop xab$r_cxfcop_overlay.xab$l_cxfcop #define xab$r_cxfcop_bits xab$r_cxfcop_overlay.xab$r_cxfcop_bits #define xab$v_cxfrst xab$r_cxfcop_bits.xab$v_cxfrst #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 xabcxfdef { #pragma __nomember_alignment unsigned char xab$b_cod; /* xab id code */ unsigned char xab$b_bln; /* block length */ short int xabcxfdef$$_fill_1; /* (spare) */ void *xab$l_nxt; /* xab chain link */ /* */ /* Following in common with the CXR block, too. */ /* Do not rearrange without changing both. */ /* */ unsigned int xab$l_cxfsts; /* Status of the last file operation. */ unsigned int xab$l_cxfstv; /* Status Value of the last file operation. */ /* */ /* Top four bits of the options longword are reserved for the XABCXR. These */ /* bits describe the version of the key buffer. */ /* */ __union { unsigned int xab$l_cxfcop; /* Context Options. */ __struct { unsigned xab$v_cxfrst : 1; /* Restore file state - use context blk as input. */ unsigned xab$v_fill_15_ : 7; } xab$r_cxfcop_bits; } xab$r_cxfcop_overlay; unsigned int xab$l_cxfbkp; /* Bookkeeping bits */ unsigned short int xab$w_cxfifi; /* Internal File Identifier */ unsigned char xab$b_cxfver; /* prologue version num */ char xabcxfdef$$_fill_5; /* spare to longword align commonality */ unsigned int xabcxfdef$$_fill_6; /* spare */ /* */ /* Up Till now in common with XABCXR, too. */ /* */ /* The following fields correspond to those in the FAB or IFB */ /* They should not be rearranged as their order is assumed for */ /* purposes of moving large chunks of data rather than a byte */ /* or word at a time. Note: ASSUME is used in the actual code */ /* */ unsigned short int xab$w_cxfdeq; /* Default extention quantity */ unsigned char xab$b_cxffac; /* File access */ unsigned char xab$b_cxfshr; /* File Sharing */ unsigned short int xab$w_cxfrte; /* (Not used) */ char xabcxfdef$$_fill_7; /* spare */ unsigned char xab$b_cxforg; /* file organization */ unsigned short int xab$w_cxfgbc; /* global buffer count */ unsigned char xab$b_cxfrtv; /* retrieval window */ char xabcxfdef$$_fill_8; unsigned int xabcxfdef$$_fill_9 [4]; /* spares */ } ; #if !defined(__VAXC) #define xab$l_cxfcop xab$r_cxfcop_overlay.xab$l_cxfcop #define xab$v_cxfrst xab$r_cxfcop_overlay.xab$r_cxfcop_bits.xab$v_cxfrst #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ /* basealign on aggregate XABCXFDEF operates after aggregate end */ #define XAB$K_CXFLEN 60 /* length of xab type CXF */ #define XAB$C_CXFLEN 60 /* length of xab type CXF */ #ifdef __NEW_STARLET #define XABCXF _xabcxfdef #else #define XABCXF xabcxfdef #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 /* __XABCXFDEF_LOADED */