/***************************************************************************/ /** **/ /** HPE CONFIDENTIAL. This software is confidential proprietary software **/ /** licensed by Hewlett-Packard Enterprise Development, LP, and is not **/ /** authorized to be used, duplicated OR disclosed to anyone without the **/ /** prior written permission of HPE. **/ /** © 2023 Copyright Hewlett-Packard Enterprise Development, LP **/ /** **/ /** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential **/ /** proprietary software licensed by VMS Software, Inc., and is not **/ /** authorized to be used, duplicated or disclosed to anyone without **/ /** the prior written permission of VMS Software, Inc. **/ /** © 2023 Copyright VMS Software, Inc. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 9-Nov-2023 12:06:43 by OpenVMS SDL V3.7 */ /* Source: 13-DEC-2020 08:21:02 $1$DGA8345:[LIB_H.SRC]HWPRTDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $HWPRTDEF ***/ #ifndef __HWPRTDEF_LOADED #define __HWPRTDEF_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 /*+ */ /* Protection field definitions. These encodings are specific */ /* to the architecture and should only be used for privileged */ /* interfaces. */ /* */ /* The definitions here specify the contents of the PROT field */ /* in a PTE, and as it says just above, are architecture */ /* specific. */ /* */ /* For protection encodings available at the system-service */ /* interface, see PRTDEF in STARLET. */ /* */ /* For protection codes ready to OR directly into a zeroed PTE */ /* (rather than assign to the PROT field), see PTEDEF. */ /* */ /* For X86, the HWPRT$C_NA protection of No Access is not a */ /* protection that can be specified within a valid PTE. A */ /* request for a No Access protection will result in the */ /* page being marked as invalid. */ /*- */ #define HWPRT$C_HWPRT -2147483648 /* Identify protection argument as HW protection form */ #define HWPRT$M_HWPRT -2147483648 /* Identify protection argument as HW protection form */ /* Verified for x86 port--Drew Mason */ #define HWPRT$C_NA 0 /* No Access */ #define HWPRT$C_KR 3 /* Kernel Read only (execute) */ #define HWPRT$C_ER 7 /* Exec Read only (execute) */ #define HWPRT$C_SR 11 /* Super Read only (execute) */ #define HWPRT$C_UR 15 /* User Read only (execute) */ #define HWPRT$C_KW 18 /* Kernel Write (no execute) */ #define HWPRT$C_EW 21 /* Exec Write (no execute) */ #define HWPRT$C_SW 24 /* Super Write (no execute) */ #define HWPRT$C_UW 20 /* User Write (no execute) */ /* */ /* SRKW and URKW differ from IA64 in that they are no execute; see SRKWX and URKWX, below */ /* */ #define HWPRT$C_ERKW 22 /* Exec Read Kernel Write (no execute) */ #define HWPRT$C_SRKW 26 /* Super Read Kernel Write (no execute) */ #define HWPRT$C_SREW 25 /* Super Read Exec Write (no execute) */ #define HWPRT$C_URKW 30 /* User Read Kernel Write (no execute) */ #define HWPRT$C_UREW 29 /* User Read Exec Write (no execute) */ #define HWPRT$C_URSW 28 /* User Read Super Write (no execute) */ /* */ /* These protection encodings are not VAX / Alpha compatible: */ /* */ #define HWPRT$C_KRO 19 /* Kernel Read only (no execute) */ #define HWPRT$C_ERO 23 /* Exec Read only (no execute) */ #define HWPRT$C_SRO 27 /* Super Read only (no execute) */ #define HWPRT$C_URO 31 /* User Read only (no execute) */ #define HWPRT$C_KWX 2 /* Kernel Write (execute) */ #define HWPRT$C_EWX 5 /* Exec Write (execute) */ #define HWPRT$C_SWX 8 /* Super Write (execute) */ #define HWPRT$C_UWX 4 /* User Write (execute) */ /* */ /* These protection encodings are not VAX / Alpha / IA64 compatible: */ /* */ #define HWPRT$C_ERKWX 6 /* Exec Read Kernel Write (execute) */ #define HWPRT$C_SRKWX 10 /* Super Read Kernel Write (execute) */ #define HWPRT$C_SREWX 9 /* Super Read Exec Write (execute) */ #define HWPRT$C_URKWX 14 /* User Read Kernel Write (execute) */ #define HWPRT$C_UREWX 13 /* User Read Exec Write (execute) */ #define HWPRT$C_URSWX 12 /* User Read Super Write (execute) */ #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 /* __HWPRTDEF_LOADED */