/**/ /***************************************************************************/ /** **/ /** © 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:37:34 by OpenVMS SDL EV3-3 */ /* Source: 01-SEP-1999 15:28:13 $1$DGA7274:[LIB_H.SRC]GLXDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $GLXDEF ***/ #ifndef __GLXDEF_LOADED #define __GLXDEF_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 /* */ /* values for memory types */ /* */ #define GLX$C_PRIVATE 1 #define GLX$C_SHARED 2 #define GLX$C_IO 3 #define GLX$C_UNOWNED 4 /* */ /* Shared Memory CPP page allocation flags. */ /* */ #define GLX$M_SHM_CPP_LARGEST 0x1 #define GLX$M_SHM_CPP_RESERVED 0xFFFFFFFE typedef struct _shm_cpp_alloc { __union { unsigned int glx$l_shm_cpp_alloc_flags; /* Shared memory CPP allocation flags */ __struct { unsigned glx$v_shm_cpp_largest : 1; /* Allocate largest group found */ unsigned glx$v_shm_cpp_reserved : 31; } glx$r_shm_cpp_alloc_bits; } glx$r_shm_cpp_alloc_overlay; } SHM_CPP_ALLOC; #if !defined(__VAXC) #define glx$l_shm_cpp_alloc_flags glx$r_shm_cpp_alloc_overlay.glx$l_shm_cpp_alloc_flags #define glx$v_shm_cpp_largest glx$r_shm_cpp_alloc_overlay.glx$r_shm_cpp_alloc_bits.glx$v_shm_cpp_largest #define glx$v_shm_cpp_reserved glx$r_shm_cpp_alloc_overlay.glx$r_shm_cpp_alloc_bits.glx$v_shm_cpp_reserved #endif /* #if !defined(__VAXC) */ /* */ /* Shared Memory CPP page list IDs. */ /* */ #define GLX$C_FREE_LIST 1 /* Free page list */ #define GLX$C_BAD_LIST 2 /* Bad page list */ #define GLX$C_UNTESTED_LIST 3 /* Untested page list */ /* */ /* Shared Memory Region callback routine reasons */ /* */ #define GLX$C_INIT 1 /* This node is the creator of the shared memory region. */ #define GLX$C_ATTACH 2 /* A gNode has attached to this SHM_REG. */ #define GLX$C_DETACH 3 /* A gNode has deatched from this SHM_REG. */ #define GLX$C_GNODE_CRASH 4 /* A gNode has detached because of a system crash. */ #define GLX$C_SHUTDOWN 5 /* The local gNode is shutting down, the SHM_REG must be detached from. */ #define GLX$C_MEM_ERROR 6 /* A memory error has occured, the SHM_REG must be detached from. */ /* */ /* Shared memory region tag max length */ /* */ #define GLX$C_SHM_TAG_MAX_LENGTH 63 /* */ /* Shared Memory Info Functions */ /* */ #define GLX$M_WILDCARD_LOOKUP 0x1 #define GLX$M_TAG_LOOKUP 0x2 #define GLX$M_SHM_ID_LOOKUP 0x4 #define GLX$M_SHMEM_INFO_RESERVED 0xFFFFFFF8 typedef struct _shmem_info { __union { unsigned int glx$l_shmem_info_flags; __struct { unsigned glx$v_wildcard_lookup : 1; /* Wildcard lookup */ unsigned glx$v_tag_lookup : 1; /* Look up region by tag */ unsigned glx$v_shm_id_lookup : 1; /* Look up region by ID */ unsigned glx$v_shmem_info_reserved : 29; } glx$r_shmem_info_bits; } glx$r_shmem_info_overlay; } SHMEM_INFO; #if !defined(__VAXC) #define glx$l_shmem_info_flags glx$r_shmem_info_overlay.glx$l_shmem_info_flags #define glx$v_wildcard_lookup glx$r_shmem_info_overlay.glx$r_shmem_info_bits.glx$v_wildcard_lookup #define glx$v_tag_lookup glx$r_shmem_info_overlay.glx$r_shmem_info_bits.glx$v_tag_lookup #define glx$v_shm_id_lookup glx$r_shmem_info_overlay.glx$r_shmem_info_bits.glx$v_shm_id_lookup #define glx$v_shmem_info_reserved glx$r_shmem_info_overlay.glx$r_shmem_info_bits.glx$v_shmem_info_reserved #endif /* #if !defined(__VAXC) */ /* */ /* Shared Memory Flags */ /* */ #define GLX$M_SHM_REG_VALID 0x1 #define GLX$M_GLOBAL_SECTION 0x2 #define GLX$M_SHM_REG_ATTACHED 0x4 #define GLX$M_SHM_CPP_VALID 0x8 #define GLX$M_SHM_CPP_CONNECTED 0x10 #define GLX$M_SHM_REG_SHARED_CONTEXT 0x20 #define GLX$M_SYS_VA_VALID 0x40 #define GLX$M_ATTACH_DETACH_NOTIFY 0x80 #define GLX$M_SHMEM_FLAGS_RESERVED 0xFFFFFF00 typedef struct _shmem_flags { __union { unsigned int glx$l_shmem_flags; __struct { unsigned glx$v_shm_reg_valid : 1; /* Shared memory region is valid */ unsigned glx$v_global_section : 1; /* This region is associated with a global section */ unsigned glx$v_shm_reg_attached : 1; /* Local node is attached to the shared memory region */ unsigned glx$v_shm_cpp_valid : 1; /* Shared memory region is valid */ unsigned glx$v_shm_cpp_connected : 1; /* Local node is connected to the shared memory CPP */ unsigned glx$v_shm_reg_shared_context : 1; /* Shared memory region context variable is the same for all nodes */ unsigned glx$v_sys_va_valid : 1; /* This region is mapped in system space */ unsigned glx$v_attach_detach_notify : 1; /* Region callback routine is called when nodes attach and detach */ unsigned glx$v_shmem_flags_reserved : 24; } glx$r_shmem_flags_bits; } glx$r_shmem_flags_overlay; } SHMEM_FLAGS; #if !defined(__VAXC) #define glx$l_shmem_flags glx$r_shmem_flags_overlay.glx$l_shmem_flags #define glx$v_shm_reg_valid glx$r_shmem_flags_overlay.glx$r_shmem_flags_bits.glx$v_shm_reg_valid #define glx$v_global_section glx$r_shmem_flags_overlay.glx$r_shmem_flags_bits.glx$v_global_section #define glx$v_shm_reg_attached glx$r_shmem_flags_overlay.glx$r_shmem_flags_bits.glx$v_shm_reg_attached #define glx$v_shm_cpp_valid glx$r_shmem_flags_overlay.glx$r_shmem_flags_bits.glx$v_shm_cpp_valid #define glx$v_shm_cpp_connected glx$r_shmem_flags_overlay.glx$r_shmem_flags_bits.glx$v_shm_cpp_connected #define glx$v_shm_reg_shared_context glx$r_shmem_flags_overlay.glx$r_shmem_flags_bits.glx$v_shm_reg_shared_context #define glx$v_sys_va_valid glx$r_shmem_flags_overlay.glx$r_shmem_flags_bits.glx$v_sys_va_valid #define glx$v_attach_detach_notify glx$r_shmem_flags_overlay.glx$r_shmem_flags_bits.glx$v_attach_detach_notify #define glx$v_shmem_flags_reserved glx$r_shmem_flags_overlay.glx$r_shmem_flags_bits.glx$v_shmem_flags_reserved #endif /* #if !defined(__VAXC) */ #ifdef __INITIAL_POINTER_SIZE #pragma __required_pointer_size __save /* Save current pointer size */ #pragma __required_pointer_size __long /* Pointers are 64-bit */ typedef struct _shmem_flags * SHMEM_FLAGS_PQ; /* Long pointer to a SHM_FLAGS structure. */ #pragma __required_pointer_size __restore /* Return to previous pointer size */ #else typedef unsigned __int64 SHMEM_FLAGS_PQ; #endif /* __INITIAL_POINTER_SIZE */ /* */ /* Bit definitions for GLX$GL_SYSTEM_FEATURES */ /* */ #define GLX$M_HW_PARTITIONABLE 0x1 #define GLX$M_CPU_MIGRATE 0x2 #define GLX$M_MEMORY_RECONFIG 0x4 #define GLX$M_SHARED_MEMORY 0x8 #define GLX$M_CONSOLE_EMULATION 0x10 #define GLX$M_GCT_EMULATION 0x20 #define GLX$M_SYSTEM_FEATURES_RSRVD 0xFFFFFFC0 struct system_features_flags { unsigned glx$v_hw_partitionable : 1; unsigned glx$v_cpu_migrate : 1; unsigned glx$v_memory_reconfig : 1; unsigned glx$v_shared_memory : 1; unsigned glx$v_console_emulation : 1; /* Console does not support Galaxy callbacks */ unsigned glx$v_gct_emulation : 1; /* GCT is file based */ unsigned glx$v_system_features_rsrvd : 26; } ; /* */ /* Config tree compatibility type values */ /* */ #define GLX$C_CFG_COMPAT_V5 0 /* The config tree is compatible with Version 5 trees */ #define GLX$C_CFG_COMPAT_V6 1 /* The config tree is compatible with Version 6.0 trees */ #define GLX$C_CFG_COMPAT_UNKNOWN -1 /* The config tree is not compatible with either version */ #define GLX$C_CFG_COMPAT_NOTREE -2 /* There is no valid config tree */ #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 /* __GLXDEF_LOADED */