/********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:29:50 by OpenVMS SDL EV3-3 */ /* Source: 30-MAR-2010 17:29:22 $1$DGA7274:[STARLET_H.SRC]STARDEFFL.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $IACDEF ***/ #ifndef __IACDEF_LOADED #define __IACDEF_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 /*+ */ /* IMAGE ACTIVATION CONTROL FLAGS */ /*- */ #define IAC$M_NOACT 0x1 #define IAC$M_WRITABLE 0x2 #define IAC$M_SHAREABLE 0x4 #define IAC$M_PRIVILEGE 0x8 #define IAC$M_MERGE 0x10 #define IAC$M_EXPREG 0x20 #define IAC$M_P1MERGE 0x40 #define IAC$M_PARANOID 0x80 #define IAC$M_LASTCLU 0x100 #define IAC$M_LIM 0x200 #define IAC$M_RETRY 0x400 #define IAC$M_NOCMKRNL 0x800 #define IAC$M_SEQDEVLOD 0x1000 #define IAC$M_XLINKER 0x2000 #define IAC$M_KP_RESHDR 0x4000 #define IAC$M_IS_RESHDR 0x8000 #define IAC$M_NOTSHARED 0x10000 #define IAC$M_GBLCLUSTR 0x20000 #define IAC$M_SHMIDENT 0x40000 #define IAC$M_NOCOPY 0x80000 #define IAC$M_P1MERG_P0 0x100000 #define IAC$M_SETVECTOR 0x200000 #define IAC$M_PROTECTED 0x400000 #define IAC$M_P1DIRECT 0x800000 #define IAC$M_DEBUG 0x1000000 #define IAC$M_PERMANENT 0x2000000 #define IAC$M_NOTRANS 0x4000000 #define IAC$M_NO_SHARE_LINKAGE 0x8000000 #define IAC$M_PAGE_PROTECT 0x10000000 #define IAC$C_LARGEST 6 /*LARGEST FLAG CALLER MAY SPECIFY */ #ifdef __NEW_STARLET typedef union _iacdef { __struct { unsigned iac$v_noact : 1; /*DO NOT ACTIVATE THE IMAGE (FOR INSTALL) */ unsigned iac$v_writable : 1; /*MAKE IMAGE FILE WRITABLE */ unsigned iac$v_shareable : 1; /*ACT. SHAREABLE IMAGE FOR EXECUTABLE IMG */ unsigned iac$v_privilege : 1; /*ACT. SHARE. IMG FOR PRIV EXECUTABLE IMG */ unsigned iac$v_merge : 1; /*ACT 2ND EXECUTABLE IMG INTO ADR SPACE */ unsigned iac$v_expreg : 1; /*MAP IMAGE INTO NEXT FREE VA SPACE */ unsigned iac$v_p1merge : 1; /*P1 MERGED ACTIVATION (LEGAL INPUT FLAG) */ unsigned iac$v_paranoid : 1; /*GO INTO PARANOIA MODE */ unsigned iac$v_lastclu : 1; /*LAST CLUSTER FLAG */ unsigned iac$v_lim : 1; /*LINKABLE IMAGE */ unsigned iac$v_retry : 1; /*RETRY IMAGE ACTIVATION */ unsigned iac$v_nocmkrnl : 1; /*SHUT OFF CMKRNL,CMEXEC-SYSVER DIFF */ unsigned iac$v_seqdevlod : 1; /*LOADING FROM SEQUENTIAL DEVICE (NET) */ unsigned iac$v_xlinker : 1; /*CROSS LINKER FORMAT */ unsigned iac$v_kp_reshdr : 1; /*MAKE IMAGE HEADER RESIDENT */ unsigned iac$v_is_reshdr : 1; /*IMAGE HEADER IS RESIDENT */ unsigned iac$v_notshared : 1; /*DO NOT SET IS_SHARED IN KFI ENTRY */ unsigned iac$v_gblclustr : 1; /*CURRENTLY PROCESSING GBL ISD CLUSTER */ unsigned iac$v_shmident : 1; /*SHARED MEMORY IDENT USED FOR GBL SEC */ unsigned iac$v_nocopy : 1; /*NO PRIVATE COPY OF SECTION IN EXEC IMG */ unsigned iac$v_p1merg_p0 : 1; /*P1 MERGED ACTIVATION WITH P0 ADDRESS */ /* RANGE (INTERNAL FLAG ONLY) */ unsigned iac$v_setvector : 1; /*SIGNAL ATLERNATE ENTRY TO SET VECTORS */ unsigned iac$v_protected : 1; /*REQUIRE SHAREABLES BE /PROTECTED */ unsigned iac$v_p1direct : 1; /*DIRECT P1 MERGE */ unsigned iac$v_debug : 1; /*DEBUG SPECIFIED WITH ACTIVATION */ unsigned iac$v_permanent : 1; /*MAKE P1 IMAGE PERMANENT */ unsigned iac$v_notrans : 1; /*DO LOOKUP ON UNTRANSLATED IMAGE NAME */ unsigned iac$v_no_share_linkage : 1; /*Activate without shared linkage */ unsigned iac$v_page_protect : 1; /*Protect image pages according to acmode */ unsigned iac$v_fill_16_ : 3; } iac$r_iacdef_bits; } IACDEF; #if !defined(__VAXC) #define iac$v_noact iac$r_iacdef_bits.iac$v_noact #define iac$v_writable iac$r_iacdef_bits.iac$v_writable #define iac$v_shareable iac$r_iacdef_bits.iac$v_shareable #define iac$v_privilege iac$r_iacdef_bits.iac$v_privilege #define iac$v_merge iac$r_iacdef_bits.iac$v_merge #define iac$v_expreg iac$r_iacdef_bits.iac$v_expreg #define iac$v_p1merge iac$r_iacdef_bits.iac$v_p1merge #define iac$v_paranoid iac$r_iacdef_bits.iac$v_paranoid #define iac$v_lastclu iac$r_iacdef_bits.iac$v_lastclu #define iac$v_lim iac$r_iacdef_bits.iac$v_lim #define iac$v_retry iac$r_iacdef_bits.iac$v_retry #define iac$v_nocmkrnl iac$r_iacdef_bits.iac$v_nocmkrnl #define iac$v_seqdevlod iac$r_iacdef_bits.iac$v_seqdevlod #define iac$v_xlinker iac$r_iacdef_bits.iac$v_xlinker #define iac$v_kp_reshdr iac$r_iacdef_bits.iac$v_kp_reshdr #define iac$v_is_reshdr iac$r_iacdef_bits.iac$v_is_reshdr #define iac$v_notshared iac$r_iacdef_bits.iac$v_notshared #define iac$v_gblclustr iac$r_iacdef_bits.iac$v_gblclustr #define iac$v_shmident iac$r_iacdef_bits.iac$v_shmident #define iac$v_nocopy iac$r_iacdef_bits.iac$v_nocopy #define iac$v_p1merg_p0 iac$r_iacdef_bits.iac$v_p1merg_p0 #define iac$v_setvector iac$r_iacdef_bits.iac$v_setvector #define iac$v_protected iac$r_iacdef_bits.iac$v_protected #define iac$v_p1direct iac$r_iacdef_bits.iac$v_p1direct #define iac$v_debug iac$r_iacdef_bits.iac$v_debug #define iac$v_permanent iac$r_iacdef_bits.iac$v_permanent #define iac$v_notrans iac$r_iacdef_bits.iac$v_notrans #define iac$v_no_share_linkage iac$r_iacdef_bits.iac$v_no_share_linkage #define iac$v_page_protect iac$r_iacdef_bits.iac$v_page_protect #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ union iacdef { __struct { unsigned iac$v_noact : 1; /*DO NOT ACTIVATE THE IMAGE (FOR INSTALL) */ unsigned iac$v_writable : 1; /*MAKE IMAGE FILE WRITABLE */ unsigned iac$v_shareable : 1; /*ACT. SHAREABLE IMAGE FOR EXECUTABLE IMG */ unsigned iac$v_privilege : 1; /*ACT. SHARE. IMG FOR PRIV EXECUTABLE IMG */ unsigned iac$v_merge : 1; /*ACT 2ND EXECUTABLE IMG INTO ADR SPACE */ unsigned iac$v_expreg : 1; /*MAP IMAGE INTO NEXT FREE VA SPACE */ unsigned iac$v_p1merge : 1; /*P1 MERGED ACTIVATION (LEGAL INPUT FLAG) */ unsigned iac$v_paranoid : 1; /*GO INTO PARANOIA MODE */ unsigned iac$v_lastclu : 1; /*LAST CLUSTER FLAG */ unsigned iac$v_lim : 1; /*LINKABLE IMAGE */ unsigned iac$v_retry : 1; /*RETRY IMAGE ACTIVATION */ unsigned iac$v_nocmkrnl : 1; /*SHUT OFF CMKRNL,CMEXEC-SYSVER DIFF */ unsigned iac$v_seqdevlod : 1; /*LOADING FROM SEQUENTIAL DEVICE (NET) */ unsigned iac$v_xlinker : 1; /*CROSS LINKER FORMAT */ unsigned iac$v_kp_reshdr : 1; /*MAKE IMAGE HEADER RESIDENT */ unsigned iac$v_is_reshdr : 1; /*IMAGE HEADER IS RESIDENT */ unsigned iac$v_notshared : 1; /*DO NOT SET IS_SHARED IN KFI ENTRY */ unsigned iac$v_gblclustr : 1; /*CURRENTLY PROCESSING GBL ISD CLUSTER */ unsigned iac$v_shmident : 1; /*SHARED MEMORY IDENT USED FOR GBL SEC */ unsigned iac$v_nocopy : 1; /*NO PRIVATE COPY OF SECTION IN EXEC IMG */ unsigned iac$v_p1merg_p0 : 1; /*P1 MERGED ACTIVATION WITH P0 ADDRESS */ /* RANGE (INTERNAL FLAG ONLY) */ unsigned iac$v_setvector : 1; /*SIGNAL ATLERNATE ENTRY TO SET VECTORS */ unsigned iac$v_protected : 1; /*REQUIRE SHAREABLES BE /PROTECTED */ unsigned iac$v_p1direct : 1; /*DIRECT P1 MERGE */ unsigned iac$v_debug : 1; /*DEBUG SPECIFIED WITH ACTIVATION */ unsigned iac$v_permanent : 1; /*MAKE P1 IMAGE PERMANENT */ unsigned iac$v_notrans : 1; /*DO LOOKUP ON UNTRANSLATED IMAGE NAME */ unsigned iac$v_no_share_linkage : 1; /*Activate without shared linkage */ unsigned iac$v_page_protect : 1; /*Protect image pages according to acmode */ unsigned iac$v_fill_16_ : 3; } iac$r_iacdef_bits; } ; #if !defined(__VAXC) #define iac$v_noact iac$r_iacdef_bits.iac$v_noact #define iac$v_writable iac$r_iacdef_bits.iac$v_writable #define iac$v_shareable iac$r_iacdef_bits.iac$v_shareable #define iac$v_privilege iac$r_iacdef_bits.iac$v_privilege #define iac$v_merge iac$r_iacdef_bits.iac$v_merge #define iac$v_expreg iac$r_iacdef_bits.iac$v_expreg #define iac$v_p1merge iac$r_iacdef_bits.iac$v_p1merge #define iac$v_paranoid iac$r_iacdef_bits.iac$v_paranoid #define iac$v_lastclu iac$r_iacdef_bits.iac$v_lastclu #define iac$v_lim iac$r_iacdef_bits.iac$v_lim #define iac$v_retry iac$r_iacdef_bits.iac$v_retry #define iac$v_nocmkrnl iac$r_iacdef_bits.iac$v_nocmkrnl #define iac$v_seqdevlod iac$r_iacdef_bits.iac$v_seqdevlod #define iac$v_xlinker iac$r_iacdef_bits.iac$v_xlinker #define iac$v_kp_reshdr iac$r_iacdef_bits.iac$v_kp_reshdr #define iac$v_is_reshdr iac$r_iacdef_bits.iac$v_is_reshdr #define iac$v_notshared iac$r_iacdef_bits.iac$v_notshared #define iac$v_gblclustr iac$r_iacdef_bits.iac$v_gblclustr #define iac$v_shmident iac$r_iacdef_bits.iac$v_shmident #define iac$v_nocopy iac$r_iacdef_bits.iac$v_nocopy #define iac$v_p1merg_p0 iac$r_iacdef_bits.iac$v_p1merg_p0 #define iac$v_setvector iac$r_iacdef_bits.iac$v_setvector #define iac$v_protected iac$r_iacdef_bits.iac$v_protected #define iac$v_p1direct iac$r_iacdef_bits.iac$v_p1direct #define iac$v_debug iac$r_iacdef_bits.iac$v_debug #define iac$v_permanent iac$r_iacdef_bits.iac$v_permanent #define iac$v_notrans iac$r_iacdef_bits.iac$v_notrans #define iac$v_no_share_linkage iac$r_iacdef_bits.iac$v_no_share_linkage #define iac$v_page_protect iac$r_iacdef_bits.iac$v_page_protect #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #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 /* __IACDEF_LOADED */