/**/ /***************************************************************************/ /** **/ /** © 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:29 by OpenVMS SDL EV3-3 */ /* Source: 18-JUL-1997 11:01:56 $1$DGA7274:[LIB_H.SRC]NSAIFPDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $NSAIFPDEF ***/ #ifndef __NSAIFPDEF_LOADED #define __NSAIFPDEF_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 #define NSAP$M_MANDATORY 0x1 #define NSAP$M_PRIVMASK 0x2 #define NSAP$M_PROCPRIV 0x4 #define NSAP$M_AUTHPRIV 0x8 #define NSAP$M_AUDIT 0x10 #define NSAP$M_ALTPRIV 0x20 #define NSAP$M_IDENTIFIER 0x40 #define NSAP$M_INTERNAL 0x80 #define NSAP$M_IMAGEID 0x100 #define NSAP$M_ONEBIT 0x200 #define NSAP$M_NOPROBE 0x400 #define NSAP$M_FLUSH 0x800 #define NSAP$M_SERVER 0x1000 #define NSAP$M_NOFAILAUD 0x2000 #define NSAP$M_NOSUCCAUD 0x4000 #define NSAP$M_KTBVALID 0x8000 #define NSAP$M_PSBVALID 0x10000 #define NSAP$K_LENGTH 28 /* size of input potion of control block */ #define NSAP$S_NSAIFPDEF 28 typedef struct _nsaifp { __union { /* control flags overlay */ unsigned int nsap$l_flags; __struct { unsigned nsap$v_mandatory : 1; /* force privilege audit */ unsigned nsap$v_privmask : 1; /* caller supplied address of privilege mask */ unsigned nsap$v_procpriv : 1; /* check permanent privilege mask */ unsigned nsap$v_authpriv : 1; /* check authorized privilege mask */ unsigned nsap$v_audit : 1; /* privilege audit required */ unsigned nsap$v_altpriv : 1; /* check alternate mask supplied by caller */ unsigned nsap$v_identifier : 1; /* check identifier instead of privilege */ unsigned nsap$v_internal : 1; /* privilege check being performed on behalf of TCB */ unsigned nsap$v_imageid : 1; /* identifier was located in image rights list segment */ unsigned nsap$v_onebit : 1; /* privilege mask contained only a single bit */ unsigned nsap$v_noprobe : 1; /* do not probe item list */ unsigned nsap$v_flush : 1; /* force audit server buffer flush */ unsigned nsap$v_server : 1; /* audit from trusted (TCB) server */ unsigned nsap$v_nofailaud : 1; /* do not audit failures */ unsigned nsap$v_nosuccaud : 1; /* do not audit success */ unsigned nsap$v_ktbvalid : 1; /* KTB address in R4 is accurate */ /* (reflects the applicable KTB when PCB) */ unsigned nsap$v_psbvalid : 1; /* PSB referenced by KTB is current */ /* (no need to perform a lazy assume or import ARB) */ unsigned nsap$v_fill_0_ : 7; } nsap$r_flags_bits; } nsap$r_flags_overlay; unsigned int nsap$l_audit_mask; /* audit mask (NSA$W_FLAGS) */ void *nsap$l_audit_list; /* address of optional audit message itemlist */ __union { unsigned int nsap$l_message; /* privilege audit message code ($NSA) */ unsigned int nsap$l_audsts; /* privilege audit return status */ } nsap$r_msg_overlay; __union { /* quadword mask overlay */ unsigned __int64 nsap$q_altpriv; /* alternate privilege mask to check */ unsigned __int64 nsap$q_priv; /* mask of privileges that were checked (success) */ unsigned __int64 nsap$q_audpriv; /* mask of privileges to audit (success/failure) */ unsigned __int64 nsap$q_failpriv; /* mask of privileges that caller lacked (failure) */ __struct { unsigned int nsap$l_identifier; /* identifier to check */ } nsap$r_id_over; } nsap$r_mask_overlay; void *nsap$l_reply_mailbox; /* reply mailbox descriptor address */ } NSAIFP; #if !defined(__VAXC) #define nsap$l_flags nsap$r_flags_overlay.nsap$l_flags #define nsap$v_mandatory nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_mandatory #define nsap$v_privmask nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_privmask #define nsap$v_procpriv nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_procpriv #define nsap$v_authpriv nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_authpriv #define nsap$v_audit nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_audit #define nsap$v_altpriv nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_altpriv #define nsap$v_identifier nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_identifier #define nsap$v_internal nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_internal #define nsap$v_imageid nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_imageid #define nsap$v_onebit nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_onebit #define nsap$v_noprobe nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_noprobe #define nsap$v_flush nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_flush #define nsap$v_server nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_server #define nsap$v_nofailaud nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_nofailaud #define nsap$v_nosuccaud nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_nosuccaud #define nsap$v_ktbvalid nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_ktbvalid #define nsap$v_psbvalid nsap$r_flags_overlay.nsap$r_flags_bits.nsap$v_psbvalid #define nsap$l_message nsap$r_msg_overlay.nsap$l_message #define nsap$l_audsts nsap$r_msg_overlay.nsap$l_audsts #define nsap$q_altpriv nsap$r_mask_overlay.nsap$q_altpriv #define nsap$q_priv nsap$r_mask_overlay.nsap$q_priv #define nsap$q_audpriv nsap$r_mask_overlay.nsap$q_audpriv #define nsap$q_failpriv nsap$r_mask_overlay.nsap$q_failpriv #define nsap$l_identifier nsap$r_mask_overlay.nsap$r_id_over.nsap$l_identifier #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 /* __NSAIFPDEF_LOADED */