/**/ /***************************************************************************/ /** **/ /** © 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:24:47 by OpenVMS SDL EV3-3 */ /* Source: 22-APR-1993 11:32:24 $1$DGA7274:[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 */