/**/ /***************************************************************************/ /** **/ /** © 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:27:07 by OpenVMS SDL EV3-3 */ /* Source: 28-MAY-1998 13:51:14 $1$DGA7274:[LIB_H.SRC]CRCTXDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $CRCTXDEF ***/ #ifndef __CRCTXDEF_LOADED #define __CRCTXDEF_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 #define CRCTX$M_HIGH_PRIO 0x1 #define CRCTX$M_ITEM_VALID 0x2 #ifdef __cplusplus /* Define structure prototypes */ struct _crab; #endif /* #ifdef __cplusplus */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _crctx { #pragma __nomember_alignment struct _crctx *crctx$l_flink; /* Forward link */ struct _crctx *crctx$l_blink; /* Backward link */ unsigned short int crctx$w_size; /* Structure size in bytes */ unsigned char crctx$b_type; /* Structure type */ unsigned char crctx$b_subtype; /* Structure subtype */ struct _crab *crctx$l_crab; /* Address of CRAB */ __union { unsigned char crctx$b_flck; /*FORK LOCK NUMBER */ unsigned int crctx$l_flck; /*FORK LOCK NUMBER */ } crctx$r_flck_overlay; __union { /* Flags */ int crctx$l_flags; /* */ __struct { /* */ unsigned crctx$v_high_prio : 1; /* High priority request, attempt to */ /* allocate resource immediately, */ /* without regard for whether there */ /* are other threads waiting. */ unsigned crctx$v_item_valid : 1; /* Flag to indicate that the item */ /* number and count fields are valid. */ /* Used for sanity check by DEALLOC_CNT_RES. */ unsigned crctx$v_fill_0_ : 6; } crctx$r_flag_bits; /* */ } crctx$r_flags_overlay; /* */ void *crctx$l_wqfl; /* Stalled requests are queued */ void *crctx$l_wqbl; /* to CRAB wait queue with these links */ __union { int crctx$l_context1; __int64 crctx$q_context1; } crctx$r_context1_overlay; __union { int crctx$l_context2; __int64 crctx$q_context2; } crctx$r_context2_overlay; __union { int crctx$l_context3; __int64 crctx$q_context3; } crctx$r_context3_overlay; int crctx$l_item_cnt; /* Count of allocated items */ int crctx$l_item_num; /* First allocated item num */ int crctx$l_up_bound; /* Allocation upper bound */ int crctx$l_low_bound; /* Allocation lower bound */ int (*crctx$l_callback)(); /* Callback address */ int (*crctx$l_saved_callback)(); /* Saved callback address */ void *crctx$l_aux_context; /* Auxiliary context longword */ int crctx$l_reserved1; /* Reserved longword */ int crctx$l_dma_adr; /* VMS-only - DMA adr. ret'd by LOAD_MAP */ void *crctx$ps_caller_pc; /* PC of caller of (DE)ALLOC_CNT_RES */ } CRCTX; #if !defined(__VAXC) #define crctx$b_flck crctx$r_flck_overlay.crctx$b_flck #define crctx$l_flck crctx$r_flck_overlay.crctx$l_flck #define crctx$l_flags crctx$r_flags_overlay.crctx$l_flags #define crctx$v_high_prio crctx$r_flags_overlay.crctx$r_flag_bits.crctx$v_high_prio #define crctx$v_item_valid crctx$r_flags_overlay.crctx$r_flag_bits.crctx$v_item_valid #define crctx$l_context1 crctx$r_context1_overlay.crctx$l_context1 #define crctx$q_context1 crctx$r_context1_overlay.crctx$q_context1 #define crctx$l_context2 crctx$r_context2_overlay.crctx$l_context2 #define crctx$q_context2 crctx$r_context2_overlay.crctx$q_context2 #define crctx$l_context3 crctx$r_context3_overlay.crctx$l_context3 #define crctx$q_context3 crctx$r_context3_overlay.crctx$q_context3 #endif /* #if !defined(__VAXC) */ #define CRCTX$K_LENGTH 96 /* Length of structure */ #define CRCTX$S_CRCTXDEF 96 /* Old size name, synonym */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _crctx_buf { #pragma __nomember_alignment unsigned int crctx_buf$l_xaction; /* Contains ALLO or DEAL */ unsigned int crctx_buf$l_item_num; /* Contains CRCTX$L_ITEM_NUM */ unsigned int crctx_buf$l_item_cnt; /* Contains CRCTX$L_ITEM_CNT */ struct _crctx *crctx_buf$ps_crctx; /* Address of CRCTX which made called ALLOC/DEALLOC */ void *crctx_buf$ps_caller_pc; /* Caller's PC, comes from CRCTX CALLER_PC field. */ unsigned int crctx_buf$l_status; /* Status ret'd by (DE)ALLOC_CNT_RES. */ unsigned int crctx_buf$l_dma_addr; /* DMA-able address */ unsigned int crctx_buf$l_count; /* The number of this entry */ } CRCTX_BUF; #define CRCTX_BUF$K_LENGTH 32 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _crctx_buf_h { #pragma __nomember_alignment __int64 crctx_buf_h$q_free; /* Address of the next free entry */ unsigned int crctx_buf_h$l_size; /* Size of the buffer */ int crctx_buf_h$l_reserved; int crctx_buf_h$l_count; /* Number of the next entry to be written */ int crctx_buf_h$l_reserved2; } CRCTX_BUF_H; #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 /* __CRCTXDEF_LOADED */