/**/ /***************************************************************************/ /** **/ /** © 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:58 by OpenVMS SDL EV3-3 */ /* Source: 15-DEC-2000 09:43:54 $1$DGA7274:[LIB_H.SRC]UNCDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $UNCDEF ***/ #ifndef __UNCDEF_LOADED #define __UNCDEF_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 /* */ /* UNCHDRDEF - Universal Context Segment Header Definition */ /* */ #define UNC$C_JPI 1 /* JPI context segment (not used) */ #define UNC$C_UAI 2 /* UAI context segment */ #define UNC$C_AUDIT_EVENT 3 /* AUDIT_EVENT context segment */ #define UNC$C_OBJECT 4 /* Object management context segment */ #define UNC$C_ORB_FIXUP 5 /* Writeback ORB after boot fixup */ #define UNC$C_OBJECT_SERVICE 6 /* Object service request context */ #define UNC$C_HDR_LENGTH 16 /* size of context segment header */ #define UNC$K_HDR_LENGTH 16 /* size of context segment header */ #define UNC$C_LIST 16 /* offset to first context block */ #define UNC$K_LIST 16 /* offset to first context block */ #define UNC$S_UNCHDRDEF 16 /* Old size name - synonym */ typedef struct _unchdr { struct _unchdr *unc$l_flink; /* forward link to next context segment */ struct _unchdr *unc$l_blink; /* back link to previous context segment */ unsigned short int unc$w_size; /* total size of context segment */ unsigned char unc$b_type; /* VMS type of block (DYN$C_UNC) */ unsigned char unc$b_subtype; /* type of context segment */ unsigned short int unc$w_count; /* number of context blocks in segment */ unsigned short int unc$w_free_count; /* number of entries free for use */ #if defined(__VAXC) char unc$r_list[]; #else /* Warning: empty char[] member for unc$r_list at end of structure not created */ #endif /* #if defined(__VAXC) */ } UNCHDR; /* */ /* Universal Context Block Definition (Go Heels!) */ /* */ #define UNC$M_ENTRY_INUSE 0x1 #define UNC$M_NEW_ENTRY 0x2 #define UNC$M_MBX_NORSWAIT 0x4 #define UNC$C_LENGTH 84 /* size of largest context block */ #define UNC$K_LENGTH 84 /* size of largest context block */ #define UNC$C_SEGMENTS 5 /* natural number of segments/page */ #define UNC$K_SEGMENTS 5 /* natural number of segments/page */ #define UNC$S_UNCDEF 84 /* Old size name - synonym */ #ifdef __cplusplus /* Define structure prototypes */ struct _iosb; struct _ocb; struct _orb; #endif /* #ifdef __cplusplus */ typedef struct _unc { __union { unsigned short int unc$w_flags; /* context cell flags */ __struct { unsigned unc$v_entry_inuse : 1; /* context entry inuse */ unsigned unc$v_new_entry : 1; /* Newly created entry */ unsigned unc$v_mbx_norswait : 1; /* Return on resource failure */ unsigned unc$v_fill_2_ : 5; } unc$r_fill_1_; } unc$r_fill_0_; unsigned char unc$b_access_mode; /* access mode of context cell */ unsigned char unc$b_unused_b1; unsigned int unc$l_image_count; /* IMGCNT when context cell assigned */ __union { __struct { unsigned short int unc$w_uai_ifi; /* FAB$W_IFI */ unsigned short int unc$w_uai_isi; /* RAB$W_ISI */ unsigned short int unc$w_uai_channel; /* UAF channel */ } unc$r_uai_context; __struct { struct _iosb *unc$l_ae_iosb; /* IOSB address */ void (*unc$l_ae_astadr)(); /* AST address */ unsigned int unc$l_ae_astprm; /* AST parameter */ unsigned short int unc$w_ae_efn; /* EFN number */ unsigned short int unc$w_ae_channel; /* reply mailbox channel */ unsigned int unc$l_ae_flags; /* $AUDIT_EVENT flags */ unsigned int unc$l_ae_reply; /* audit server reply status */ __struct { /* IOSB for $AUDIT_EVENT */ unsigned short int unc$w_ae_qio_status; /* status from $AUDIT_EVENT's $QIO to reply mailbox */ short int unc$w_unused_w2 [3]; } unc$r_ae_our_iosb; unsigned char unc$b_ae_prvmod; /* mode to deliver completion AST */ char unc$b_unused_b2 [3]; } unc$r_audit_event_context; __struct { unsigned int unc$l_so_context; /* Value of this context block */ struct _unc *unc$l_so_context_ptr; /* Address of user's context cell */ unsigned int unc$l_so_acl_position; /* Position in the ACL */ unsigned int unc$l_so_lockid; /* Lock ID for write lock on ORB */ unsigned int unc$l_so_parent_id; /* Parent lock ID for SO_LOCKID */ unsigned int unc$l_so_osr_flags; /* OSR processing flags (see $OSRDEF) */ struct _ocb *unc$l_so_ocb; /* Object Class Block address */ struct _orb *unc$l_so_orb; /* Address of the ORB */ void *unc$l_so_object_handle; /* Object handle address */ /* */ /* OBJNAM_LENGTH and OBJNAM */ /* must form an string */ /* descriptor */ /* */ unsigned short int unc$w_so_objnam_length; /* Size of object name */ unsigned short int unc$w_so_reserved_1; /* Reserved (MBZ) */ void *unc$l_so_objnam; /* Object name buffer address */ /* */ unsigned short int unc$w_so_objnam_bufsiz; /* Size of objnam buffer alloc */ unsigned char unc$b_so_acmode; /* Access mode */ unsigned char unc$b_so_reserved_2; /* Reserved for digital use */ int (*unc$l_so_aclctx_ptr)(); /* Context return address */ unsigned int unc$l_so_reserved_3; /* Reserved for digital use */ unsigned int unc$l_so_reserved_4; /* Reserved for digital use */ char unc$t_so_osr_context [16]; /* Object Support Routine context area */ } unc$r_object_context; __struct { void (*unc$l_of_astadr)(); /* AST address */ unsigned int unc$l_of_astprm; /* AST parameter */ unsigned int unc$l_of_flags; /* flags (object specific) */ __struct { /* IOSB for $AUDIT_EVENT */ unsigned short int unc$w_of_status; /* completion status */ short int unc$w_of_unused_w2 [3]; } unc$r_of_our_iosb; unsigned char unc$b_of_prvmod; /* mode to deliver completion AST */ char unc$b_of_unused_b2 [3]; unsigned int unc$l_of_object; /* context for locating the */ unsigned int unc$l_of_object1; /* next object profile */ unsigned int unc$l_of_object2; /* (object specific) */ unsigned int unc$l_of_object3; /* */ } unc$r_orb_fixup_context; __struct { void (*unc$l_os_astadr)(); /* AST address */ unsigned int unc$l_os_astprm; /* AST parameter */ unsigned int unc$l_os_flags; /* flags (object specific) */ unsigned short int unc$w_os_repl_chan; /* mailbox channel for reply */ unsigned short int unc$w_os_rqst_chan; /* mailbox channel for request */ __struct { /* IOSB for $QIO */ unsigned short int unc$w_os_status; /* completion status */ short int unc$w_os_unused_w2 [3]; } unc$r_os_iosb; unsigned char unc$b_os_prvmod; /* mode to deliver completion AST */ char unc$b_os_unused_b2 [3]; unsigned int unc$l_os_object; /* context for locating the */ unsigned int unc$l_os_object1; /* next object profile */ unsigned int unc$l_os_object2; /* (object specific) */ unsigned int unc$l_os_object3; /* */ } unc$r_object_service_context; } unc$r_context_overlay; } UNC; #if !defined(__VAXC) #define unc$w_flags unc$r_fill_0_.unc$w_flags #define unc$v_entry_inuse unc$r_fill_0_.unc$r_fill_1_.unc$v_entry_inuse #define unc$v_new_entry unc$r_fill_0_.unc$r_fill_1_.unc$v_new_entry #define unc$v_mbx_norswait unc$r_fill_0_.unc$r_fill_1_.unc$v_mbx_norswait #define unc$w_uai_ifi unc$r_context_overlay.unc$r_uai_context.unc$w_uai_ifi #define unc$w_uai_isi unc$r_context_overlay.unc$r_uai_context.unc$w_uai_isi #define unc$w_uai_channel unc$r_context_overlay.unc$r_uai_context.unc$w_uai_channel #define unc$l_ae_iosb unc$r_context_overlay.unc$r_audit_event_context.unc$l_ae_iosb #define unc$l_ae_astadr unc$r_context_overlay.unc$r_audit_event_context.unc$l_ae_astadr #define unc$l_ae_astprm unc$r_context_overlay.unc$r_audit_event_context.unc$l_ae_astprm #define unc$w_ae_efn unc$r_context_overlay.unc$r_audit_event_context.unc$w_ae_efn #define unc$w_ae_channel unc$r_context_overlay.unc$r_audit_event_context.unc$w_ae_channel #define unc$l_ae_flags unc$r_context_overlay.unc$r_audit_event_context.unc$l_ae_flags #define unc$l_ae_reply unc$r_context_overlay.unc$r_audit_event_context.unc$l_ae_reply #define unc$w_ae_qio_status unc$r_context_overlay.unc$r_audit_event_context.unc$r_ae_our_iosb.unc$w_ae_qio_status #define unc$b_ae_prvmod unc$r_context_overlay.unc$r_audit_event_context.unc$b_ae_prvmod #define unc$l_so_context unc$r_context_overlay.unc$r_object_context.unc$l_so_context #define unc$l_so_context_ptr unc$r_context_overlay.unc$r_object_context.unc$l_so_context_ptr #define unc$l_so_acl_position unc$r_context_overlay.unc$r_object_context.unc$l_so_acl_position #define unc$l_so_lockid unc$r_context_overlay.unc$r_object_context.unc$l_so_lockid #define unc$l_so_parent_id unc$r_context_overlay.unc$r_object_context.unc$l_so_parent_id #define unc$l_so_osr_flags unc$r_context_overlay.unc$r_object_context.unc$l_so_osr_flags #define unc$l_so_ocb unc$r_context_overlay.unc$r_object_context.unc$l_so_ocb #define unc$l_so_orb unc$r_context_overlay.unc$r_object_context.unc$l_so_orb #define unc$l_so_object_handle unc$r_context_overlay.unc$r_object_context.unc$l_so_object_handle #define unc$w_so_objnam_length unc$r_context_overlay.unc$r_object_context.unc$w_so_objnam_length #define unc$w_so_reserved_1 unc$r_context_overlay.unc$r_object_context.unc$w_so_reserved_1 #define unc$l_so_objnam unc$r_context_overlay.unc$r_object_context.unc$l_so_objnam #define unc$w_so_objnam_bufsiz unc$r_context_overlay.unc$r_object_context.unc$w_so_objnam_bufsiz #define unc$b_so_acmode unc$r_context_overlay.unc$r_object_context.unc$b_so_acmode #define unc$b_so_reserved_2 unc$r_context_overlay.unc$r_object_context.unc$b_so_reserved_2 #define unc$l_so_aclctx_ptr unc$r_context_overlay.unc$r_object_context.unc$l_so_aclctx_ptr #define unc$l_so_reserved_3 unc$r_context_overlay.unc$r_object_context.unc$l_so_reserved_3 #define unc$l_so_reserved_4 unc$r_context_overlay.unc$r_object_context.unc$l_so_reserved_4 #define unc$t_so_osr_context unc$r_context_overlay.unc$r_object_context.unc$t_so_osr_context #define unc$l_of_astadr unc$r_context_overlay.unc$r_orb_fixup_context.unc$l_of_astadr #define unc$l_of_astprm unc$r_context_overlay.unc$r_orb_fixup_context.unc$l_of_astprm #define unc$l_of_flags unc$r_context_overlay.unc$r_orb_fixup_context.unc$l_of_flags #define unc$w_of_status unc$r_context_overlay.unc$r_orb_fixup_context.unc$r_of_our_iosb.unc$w_of_status #define unc$b_of_prvmod unc$r_context_overlay.unc$r_orb_fixup_context.unc$b_of_prvmod #define unc$l_of_object unc$r_context_overlay.unc$r_orb_fixup_context.unc$l_of_object #define unc$l_of_object1 unc$r_context_overlay.unc$r_orb_fixup_context.unc$l_of_object1 #define unc$l_of_object2 unc$r_context_overlay.unc$r_orb_fixup_context.unc$l_of_object2 #define unc$l_of_object3 unc$r_context_overlay.unc$r_orb_fixup_context.unc$l_of_object3 #define unc$l_os_astadr unc$r_context_overlay.unc$r_object_service_context.unc$l_os_astadr #define unc$l_os_astprm unc$r_context_overlay.unc$r_object_service_context.unc$l_os_astprm #define unc$l_os_flags unc$r_context_overlay.unc$r_object_service_context.unc$l_os_flags #define unc$w_os_repl_chan unc$r_context_overlay.unc$r_object_service_context.unc$w_os_repl_chan #define unc$w_os_rqst_chan unc$r_context_overlay.unc$r_object_service_context.unc$w_os_rqst_chan #define unc$r_os_iosb unc$r_context_overlay.unc$r_object_service_context.unc$r_os_iosb #define unc$w_os_status unc$r_os_iosb.unc$w_os_status #define unc$b_os_prvmod unc$r_context_overlay.unc$r_object_service_context.unc$b_os_prvmod #define unc$l_os_object unc$r_context_overlay.unc$r_object_service_context.unc$l_os_object #define unc$l_os_object1 unc$r_context_overlay.unc$r_object_service_context.unc$l_os_object1 #define unc$l_os_object2 unc$r_context_overlay.unc$r_object_service_context.unc$l_os_object2 #define unc$l_os_object3 unc$r_context_overlay.unc$r_object_service_context.unc$l_os_object3 #endif /* #if !defined(__VAXC) */ /* */ /* Object management Context cell layout */ /* */ #define OBJCTX$S_CTXDEF 8 /* Old size name - synonym */ typedef struct _objctx { unsigned int objctx$l_index; /* Index in table */ unsigned int objctx$l_seq; /* Sequence number */ } OBJCTX; #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 /* __UNCDEF_LOADED */