/**/ /***************************************************************************/ /** **/ /** © 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:37:53 by OpenVMS SDL EV3-3 */ /* Source: 22-DEC-1999 13:36:39 $1$DGA7274:[LIB_H.SRC]SYSEVTIDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $SYSEVTIDEF ***/ #ifndef __SYSEVTIDEF_LOADED #define __SYSEVTIDEF_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 /* get the ACB def */ /* get the spinlock definitions */ #include #include /* This system ACB structure is created when the $SET_SYSTEM_EVENT system */ /* service is invoked. */ /* */ #define SYSEVT_ACB$K_LENGTH 84 /* Length of block. */ #define SYSEVT_ACB$C_LENGTH 84 /* Length of block. */ typedef struct _sysevt_acb { ACB64 sysevt_acb$r_imbedded_acb64; __union { unsigned __int64 sysevt_acb$q_handle; __struct { int sysevt_acb$l_sysevt_acb; int sysevt_acb$l_seq_num; } sysevt_acb$r_fill_1_; } sysevt_acb$r_fill_0_; unsigned int sysevt_acb$l_events; /* mask of events for which process is to be notified */ unsigned int sysevt_acb$l_local_queue; /* set indicates SYSEVT_ACB on SYSEVT private queue */ unsigned int sysevt_acb$l_imgcnt; /* image count taken from the PHD */ } SYSEVT_ACB; #if !defined(__VAXC) #define sysevt_acb$q_handle sysevt_acb$r_fill_0_.sysevt_acb$q_handle #define sysevt_acb$l_sysevt_acb sysevt_acb$r_fill_0_.sysevt_acb$r_fill_1_.sysevt_acb$l_sysevt_acb #define sysevt_acb$l_seq_num sysevt_acb$r_fill_0_.sysevt_acb$r_fill_1_.sysevt_acb$l_seq_num #endif /* #if !defined(__VAXC) */ #define SYSEVT$M_GALAXY_REGISTERED 0x1 #define SYSEVT$K_LENGTH 40 /* Length of block. */ #define SYSEVT$C_LENGTH 40 /* Length of block. */ typedef struct _sysevt { /* */ /* This is the system event data structure. This data struture contains */ /* an AST queue listhead, a lock to synchronize access to the queue, and a */ /* sequence number field. Each time a process requests notification of a system */ /* event (or set of events), an AST is queued. Then when the event occurs, the */ /* AST is removed from this queue and delivered to the target process. */ /* */ unsigned __int64 sysevt$q_event_mask; /* Bitmask of events which indicate that */ /* something may be in the queue for this event. */ unsigned short int sysevt$w_size; /* Size of data structure */ unsigned char sysevt$b_type; /* Type is DYN$C_SYSEVT */ unsigned char sysevt$b_subtype; /* Subtype field to further qualify type */ struct _spl *sysevt$ps_lock; /* Pointer to dynamic spinlock */ __union { unsigned __int64 sysevt$q_flags; /* interlocked flags */ __struct { unsigned sysevt$v_galaxy_registered : 1; /* Galaxy membership callback routine registered */ unsigned sysevt$v_fill_2_ : 7; } sysevt$r_flag_bits; } sysevt$r_flags_overlay; unsigned __int64 sysevt$q_seq_num; /* ever increasing counter */ struct _sysevt_acb *sysevt$l_ast_qfl; /* queued SYSEVT_ACBs */ struct _sysevt_acb *sysevt$l_ast_qbl; } SYSEVT; #if !defined(__VAXC) #define sysevt$q_flags sysevt$r_flags_overlay.sysevt$q_flags #define sysevt$v_galaxy_registered sysevt$r_flags_overlay.sysevt$r_flag_bits.sysevt$v_galaxy_registered #endif /* #if !defined(__VAXC) */ #define sysevt_acb$l_astqfl sysevt_acb$r_imbedded_acb64.acb64$l_astqfl; #define sysevt_acb$l_astqbl sysevt_acb$r_imbedded_acb64.acb64$l_astqbl; #define sysevt_acb$w_size sysevt_acb$r_imbedded_acb64.acb64$w_size #define sysevt_acb$b_type sysevt_acb$r_imbedded_acb64.acb64$b_type #define sysevt_acb$b_rmod sysevt_acb$r_imbedded_acb64.acb64$b_rmod #define sysevt_acb$v_mode sysevt_acb$r_imbedded_acb64.acb64$v_mode #define sysevt_acb$v_nodelete sysevt_acb$r_imbedded_acb64.acb64$v_nodelete #define sysevt_acb$v_pkast sysevt_acb$r_imbedded_acb64.acb64$v_pkast #define sysevt_acb$v_quota sysevt_acb$r_imbedded_acb64.acb64$v_quota #define sysevt_acb$l_flags sysevt_acb$r_imbedded_acb64.acb64$l_flags #define sysevt_acb$v_flags_valid sysevt_acb$r_imbedded_acb64.acb64$v_flags_valid #define sysevt_acb$l_pid sysevt_acb$r_imbedded_acb64.acb64$l_pid #define sysevt_acb$l_acb64x sysevt_acb$r_imbedded_acb64.acb64$l_acb64x #define sysevt_acb$pq_ast sysevt_acb$r_imbedded_acb64.acb64$pq_ast #define sysevt_acb$q_astprm sysevt_acb$r_imbedded_acb64.acb64$q_astprm #define sysevt_acb$l_kast sysevt_acb$r_imbedded_acb64.acb64$l_kast #define sysevt_acb$v_64bits sysevt_acb$r_imbedded_acb64.acb64$v_64bits #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 /* __SYSEVTIDEF_LOADED */