/* * * Event Parameter Block */ #ifndef _EPBDEF_H #define _EPBDEF_H /* Generalized Event Notification Definitions This block is used by the IOC$DCLSYSEVT system routine to declare a system event. This block is variable length based on the number of optional parameters provided. */ #define EPB$V_LOCAL 0 #define EPB$M_LOCAL 1 #define EPB$S_LOCAL 1 #define EPB$V_DEVICE 1 #define EPB$M_DEVICE 2 #define EPB$S_DEVICE 1 #define EPB$V_RSVD2 2 #define EPB$M_RSVD2 0x003C #define EPB$S_RSVD2 4 #define EPB$V_RSVD3 0 #define EPB$M_RSVD3 0x7FFF #define EPB$S_RSVD3 15 #define EPB$V_CUST_DEF 15 #define EPB$M_CUST_DEF 0x8000 #define EPB$S_CUST_DEF 1 #define EPB$C_ASTRING 0 /* ascii string */ #define EPB$C_CLUMEMADD 1 /* cluster member added */ #define EPB$C_CLUMEMREM 2 /* cluster member removed */ #define EPB$C_DISK_ONLINE 3 /* disk transition to online */ #define EPB$C_TAPE_ONLINE 4 /* tape transition to online */ #define EPB$C_DISK_OFFLINE 5 /* disk transition to offline */ #define EPB$C_TAPE_OFFLINE 6 /* tape transition to offline */ #define EPB$C_MAX_TYPE 7 /* must be last */ #define EPB$K_LENGTH 36 /* length of block */ #define EPB$C_LENGTH 36 struct epbdef { unsigned long epb$l_qfl; /* queue forward link */ unsigned long epb$l_qbl; /* queue backward link */ unsigned short epb$w_size; /* structure size in bytes */ unsigned char epb$b_type; /* structure type code */ unsigned char epb$b_subtype; /* structure subtype code */ union { unsigned long epb$l_flags; /* event flags */ struct { unsigned epb$v_local : 1; /* local node */ unsigned epb$v_device : 1; /* device related */ unsigned epb$v_rsvd2 : 4; /* overlaps image, flost, ulost, wildcard */ unsigned : 2; } epb$r_flag_bits; } epb$r_flags_overlay; int epb$q_event_time[2][2]; /* event time */ union { unsigned short epb$w_event_type; /* event type */ struct { unsigned epb$v_rsvd3 : 15; unsigned epb$v_cust_def : 1; /* customer defined event */ } epb$r_type_flags; } epb$r_event_type_overlay; /* event types */ unsigned short epb$w_params; /* number of parameters */ unsigned long epb$l_p1; /* optional parameters */ unsigned long epb$l_p2; /* " */ unsigned long epb$l_p3; /* " */ unsigned long epb$l_p4; /* " */ unsigned long epb$l_p5; /* " */ unsigned long epb$l_p6; /* " */ }; #endif /*_EPBDEF_H*/