/**/ /***************************************************************************/ /** **/ /** © 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:26:25 by OpenVMS SDL EV3-3 */ /* Source: 22-APR-1993 11:03:44 $1$DGA7274:[LIB_H.SRC]HULBDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $HULBDEF ***/ #ifndef __HULBDEF_LOADED #define __HULBDEF_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 /*+ */ /* HULB (Host/Unit Load Block) Definitions */ /* */ /* These definitions describe the format of a data structure */ /* that is used in the MSCP server to record traffic and status */ /* information used by server load balancing. Time fields are in */ /* EXE$GL_ABSTIM format. */ /*- */ #define HULB$M_LB_REQ 0x1 #define HULB$M_DELETE 0x2 #define HULB$M_LB_DISABLED 0x4 #define HULB$K_LENGTH 28 #define HULB$K_VECLEN 256 #define HULB$S_HULBDEF 28 typedef struct _hulb { void *hulb$l_flink; /* Used to link this request */ void *hulb$l_blink; /* into the DSRV data styructure */ unsigned short int hulb$w_size; /* Data structure size in bytes */ unsigned char hulb$b_type; /* This is an MSCP type struct */ unsigned char hulb$b_subtype; /* with a HULB subtype (4) */ unsigned short int hulb$w_hostno; /* Assigned host number */ unsigned short int hulb$w_unitno; /* Assigned unit number */ unsigned short int hulb$w_opcount; /* Current operation count */ unsigned short int hulb$w_prev_opc; /* Operation count for prev interval */ unsigned int hulb$l_time; /* Time of last LB request */ __union { unsigned short int hulb$w_status; /* LB status bits */ __struct { unsigned hulb$v_lb_req : 1; /* This unit has been asked to LB */ unsigned hulb$v_delete : 1; /* This unit is offline and the HULB can be deleted */ unsigned hulb$v_lb_disabled : 1; /* This unit is not available for load balancing */ unsigned hulb$v_fill_2_ : 5; } hulb$r_fill_1_; } hulb$r_fill_0_; unsigned short int hulb$w_reserved; /* Reserved for alignment */ } HULB; #if !defined(__VAXC) #define hulb$w_status hulb$r_fill_0_.hulb$w_status #define hulb$v_lb_req hulb$r_fill_0_.hulb$r_fill_1_.hulb$v_lb_req #define hulb$v_delete hulb$r_fill_0_.hulb$r_fill_1_.hulb$v_delete #define hulb$v_lb_disabled hulb$r_fill_0_.hulb$r_fill_1_.hulb$v_lb_disabled #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 /* __HULBDEF_LOADED */