/***************************************************************************/ /** **/ /** 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:55 by OpenVMS SDL V3.7 */ /* Source: 23-APR-1993 14:31:40 $1$DGA8345:[LIB_H.SRC]PSXFCBDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $PSXFCBDEF ***/ #ifndef __PSXFCBDEF_LOADED #define __PSXFCBDEF_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 /* amount of space reserved to save kernel stack */ /* during callbacks */ /* and the exec stack */ /* */ /* The following structure contains data about the process's use of fork */ /* callbacks. There is at most one of these per process and it is */ /* referenced through the P1 space cell CTL$GL_FORK_CONTROL_BLOCK */ /* */ #define PSXFCB$M_DISABLED 0x1 #define PSXFCB$C_KERN_SAVE_SIZE 384 #define PSXFCB$K_KERN_SAVE_SIZE 384 #define PSXFCB$C_EXEC_STACK_SAVE 1280 #define PSXFCB$K_EXEC_STACK_SAVE 1280 typedef struct _psxfcb { struct _psxfcb *psxfcb$l_flink; /* forward link (unused) */ struct _psxfcb *psxfcb$l_blink; /* backeard link (unused) */ unsigned short int psxfcb$w_size; /* size allocated */ unsigned char psxfcb$b_type; /* block type */ unsigned char psxfcb$b_subtype; /* sub type */ __struct { /* flags longword */ unsigned psxfcb$v_disabled : 1; /* callbacks are diabled */ unsigned psxfcb$v_spare : 31; } psxfcb$r_flags; int psxfcb$l_block_count [4]; /* per-mode block counters */ int psxfcb$l_handler_count [4]; /* count of handlers */ int psxfcb$l_wait [4]; /* wait counters (unused */ int psxfcb$l_when; /* when callbacks are being call */ int psxfcb$l_failed_when; /* state of when bits on failure */ int psxfcb$l_cancel_state; /* mode (+1) of failure */ int psxfcb$l_callback_state; /* mode (+1) of current callbacks */ unsigned int psxfcb$l_pid; /* pid of 'other' process */ unsigned int psxfcb$l_failing_disp; /* psxdisp address of failing cb */ void *psxfcb$l_image_list; /* pointer to first image fdb */ void *psxfcb$l_process_list; /* pointer to first process fdb */ unsigned int psxfcb$l_outer_stack; /* saved outer mode stack for cbs */ unsigned int psxfcb$l_save_ap; /* saved AP during callbacks */ unsigned int psxfcb$l_save_fp; /* saved FP during cbs */ unsigned int psxfcb$l_save_sp; /* saved sp during cbs */ unsigned int psxfcb$l_save_psl; /* saved psl during cbs */ unsigned int psxfcb$l_save_exec_sp; /* saved exec stack pointer */ /* */ /* The area below is used to save the kernel mode stack contents while */ /* callbacks are being made */ /* */ unsigned int psxfcb$l_stack_save_area [384]; unsigned int psxfcb$l_exec_stack_area [1280]; } PSXFCB; #if !defined(__VAXC) #define psxfcb$v_disabled psxfcb$r_flags.psxfcb$v_disabled #define psxfcb$v_spare psxfcb$r_flags.psxfcb$v_spare #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 /* __PSXFCBDEF_LOADED */