/***************************************************************************/ /** **/ /** 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:36 by OpenVMS SDL V3.7 */ /* Source: 22-APR-1993 11:32:24 $1$DGA8345:[LIB_H.SRC]MBXDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $MBXDEF ***/ #ifndef __MBXDEF_LOADED #define __MBXDEF_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 /*+ */ /* SHARED MEMORY MAILBOX CONTROL BLOCK DEFINITIONS */ /* */ /* THERE IS ONE MAILBOX CONTROL BLOCK FOR EACH MAILBOX IN SHARED */ /* MEMORY. ANY PROCESSOR THAT WANTS TO ACCESS THE MAILBOX CREATES */ /* A UCB TO CONTROL ACCESS TO THE MAILBOX. */ /*- */ #define MBX$M_ALLOC 0x1 #define MBX$M_VALID 0x2 #define MBX$M_DELPEND 0x4 #define MBX$M_QUOTALCK 0x8 #define MBX$K_LENGTH 48 /*LENGTH OF STRUCTURE */ #define MBX$C_LENGTH 48 /*LENGTH OF STRUCTURE */ #define MBX$S_MBXDEF 48 typedef struct _mbx { unsigned __int64 mbx$q_msg; /*MESSAGE QUEUE LISTHEAD */ __union { unsigned char mbx$b_flags; /*FLAGS */ __struct { unsigned mbx$v_alloc : 1; /* MAILBOX ALLOCATED */ unsigned mbx$v_valid : 1; /* MAILBOX INITIALIZED AND USEABLE */ unsigned mbx$v_delpend : 1; /* DELETE PENDING */ unsigned mbx$v_quotalck : 1; /* QUOTA/COUNT MODIFICATION LOCK */ unsigned mbx$v_fill_0_ : 4; } mbx$r_flags_bits; } mbx$r_flags_overlay; unsigned char mbx$b_creatport; /*PORT NUMBER OF MAILBOX CREATOR */ unsigned short int mbx$w_unit; /*MAILBOX UNIT NUMBER */ unsigned short int mbx$w_ref; /*REFERENCE FLAGS (1 BIT/PORT) */ unsigned short int mbx$w_reader; /*WAITING READER (1 BIT/PORT) */ unsigned short int mbx$w_readast; /*WAITING READ AST (1 BIT/PORT) */ unsigned short int mbx$w_writast; /*WAITING WRITE AST (1 BIT/PORT) */ unsigned short int mbx$w_maxmsg; /*MAXIMUM MESSAGE SIZE */ unsigned short int mbx$w_msgcnt; /*CURRENT NUMBER OF MESSAGES */ unsigned short int mbx$w_buffquo; /*BUFFER QUOTA */ unsigned short int mbx$w_prot; /*PROTECTION MASK */ unsigned int mbx$l_ownuic; /*OWNER UIC */ char mbx$t_name [16]; /*MAILBOX NAME (COUNTED STRING) */ /* *** THE LENGTH OF THIS STRUCTURE MUST BE AN EVEN MULTIPLE OF 8 *** */ /* *** BECAUSE THE MESSAGE QUEUE HEADER MUST BE QUADWORD ALIGNED *** */ } MBX; #if !defined(__VAXC) #define mbx$b_flags mbx$r_flags_overlay.mbx$b_flags #define mbx$v_alloc mbx$r_flags_overlay.mbx$r_flags_bits.mbx$v_alloc #define mbx$v_valid mbx$r_flags_overlay.mbx$r_flags_bits.mbx$v_valid #define mbx$v_delpend mbx$r_flags_overlay.mbx$r_flags_bits.mbx$v_delpend #define mbx$v_quotalck mbx$r_flags_overlay.mbx$r_flags_bits.mbx$v_quotalck #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 /* __MBXDEF_LOADED */