/***************************************************************************/ /** **/ /** HPE CONFIDENTIAL. This software is confidential proprietary software **/ /** licensed by Hewlett-Packard Enterprise Development, LP, and is not **/ /** authorized to be used, duplicated OR disclosed to anyone without the **/ /** prior written permission of HPE. **/ /** © 2023 Copyright Hewlett-Packard Enterprise Development, LP **/ /** **/ /** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential **/ /** proprietary software licensed by VMS Software, Inc., and is not **/ /** authorized to be used, duplicated or disclosed to anyone without **/ /** the prior written permission of VMS Software, Inc. **/ /** © 2023 Copyright VMS Software, Inc. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 9-Nov-2023 12:06:51 by OpenVMS SDL V3.7 */ /* Source: 28-MAY-1998 13:51:14 $1$DGA8345:[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 */