/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:06 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFQZ.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $WBEMIDEF ***/ #ifndef __WBEMIDEF_LOADED #define __WBEMIDEF_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 /*+ */ /* SYS$GET_WBEM_INFO item code values */ /*- */ #define WBEMI$_SPU_COUNT 1 /* Count, 64-bit integer, of "schedulable processing units" (SPU id, aka VMS CPUID) */ #define WBEMI$_SPU_LID_MAPPING 2 /* Vector of WBEMI_LID_MAP, with LID and SPU_ID pairings, with SPU_COUNT entries */ #define WBEMI$_SPU_FREQUENCY 3 /* SPU cycle frequency, 64-bit integer, param1=SPU id */ #define WBEMI$_SYS_HT_CAPABLE 4 /* Is system Hyperthreads capable? (0/1, 64-bit integer) */ #define WBEMI$_SYS_HT_ENABLED 5 /* Are system Hyperthreads currently enabled? (0/1, 64-bit integer) */ #define WBEMI$_SMBIOS_TABLE_TYPE 6 /* Get SMBIOS table entries by type, param1=SMBIOS table type, raw binary data */ #define WBEMI$_DIMM_COUNT 7 /* Number of DIMMs on the system, 64-bit integer, count of ACPI DIMM objects */ #define WBEMI$_DIMM_LOC 8 /* DIMM location, ASCII string from ACPI, param1=DIMM# */ #define WBEMI$_DIMM_UID 9 /* DIMM serial number, ASCII string from ACPI, param1=DIMM# */ #define WBEMI$_DIMM_PART 10 /* DIMM part number, ASCII string from ACPI, param1=DIMM# */ #define WBEMI$_DIMM_SIZE 11 /* DIMM size, 64-bit integer from ACPI, param1=DIMM# */ #define WBEMI$_DIMM_STATUS 12 /* DIMM status, 64-bit integer from ACPI, param1=DIMM# */ #define WBEMI$_CELL_COUNT 13 /* Number of cells in the system, 64-bit integer, count of ACPI cell objects */ #define WBEMI$_CELL_LOC 14 /* Cell location, ASCII string from ACPI, param1=cell# */ #define WBEMI$_CELL_UID 15 /* Cell UID, 64-bit integer from ACPI, param1=cell# */ #define WBEMI$_PHYS_CPU_COUNT 16 /* Number of physical CPUs, 64-bit integer, count of ACPI processor objects */ #define WBEMI$_PHYS_CPU_ID 17 /* Vector of 64-bit ACPI ProcIDs for PHYS_CPU_COUNT */ #define WBEMI$_PHYS_LID_MAPPING 18 /* Vector of WBEMI_LID_MAP, with LID and PROC_ID pairings, with PHYS_CPU_COUNT entries */ #define WBEMI$_PHYS_CPU_LOC 19 /* CPU chip location, ASCII string from ACPI, param1=ProcID */ #define WBEMI$_PHYS_CPU_SLOT_NUM 20 /* CPU slot number, 64-bit integer from ACPI, param1=ProcID */ #define WBEMI$_PHYS_CPU_SERIAL 21 /* CPU serial number, ASCII string from ACPI, param1=ProcID */ #define WBEMI$_PHYS_CPU_STATUS 22 /* CPU status, 64-bit integer from ACPI, param1=ProcID */ #define WBEMI$_CORES_PER_SOCKET 23 /* Number of cores per processor socket, 64-bit integer */ #define WBEMI$_THREADS_PER_CORE 24 /* Number of threads per processor core, 64-bit integer */ #define WBEMI$_THREADS_CORE_MAX 25 /* Number of potential threads per processor core, 64-bit integer */ #define WBEMI$_PHYS_CPU_UID_INT 26 /* CPU UID, 64-bit integer from ACPI, param1=ProcID */ #define WBEMI$K_MAX_ITEM 26 /* Maximum currently supported item code value */ /*+ */ /* WBEMI_LID_MAP Structure */ /* */ /* Data returned by SYS$GET_WBEM_INFO WBEMI$_SPU_LID_MAPPING is a vector of */ /* WBEMI_LID_MAP structures, pairing a LID to its associated VMS cpuid in SPU_ID. */ /* The total number of these pairings is given by SPU_COUNT. */ /* */ /* Data returned by SYS$GET_WBEM_INFO WBEMI$_PHYS_LID_MAPPING is a vector of */ /* WBEMI_LID_MAP structures, pairing a LID to its associate ACPI PROC_ID. */ /* The total number of these pairings is given by PHYS_CPU_COUNT. */ /* */ /* The caller should not infer any significance to the order of the pairings in */ /* this vector. For example, one should not assume that the 5th instance of a */ /* LID and PROC_ID pairing corresponds to VMS CPUID 5. Instead, one needs to use */ /* both the LID/SPU_ID and LID/PROC_ID pairings to determine the SPU_ID/PROC_ID */ /* associations. */ /*- */ #ifdef __NEW_STARLET #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _wbemi_lid_map { #pragma __nomember_alignment unsigned __int64 wbemi_lid_map$q_lid; /* LID for the processor */ __union { unsigned int wbemi_lid_map$l_id; /* Generic ID field, can be... */ unsigned int wbemi_lid_map$l_spu_id; /* VMS CPUID (aka SPU IS) associated with the LID */ unsigned int wbemi_lid_map$l_proc_id; /* ACPI PROC_ID associated with the LID */ } wbemi_lid_map$r_id_overlay; unsigned int wbemi_lid_map$l_filler; } WBEMI_LID_MAP; #if !defined(__VAXC) #define wbemi_lid_map$l_id wbemi_lid_map$r_id_overlay.wbemi_lid_map$l_id #define wbemi_lid_map$l_spu_id wbemi_lid_map$r_id_overlay.wbemi_lid_map$l_spu_id #define wbemi_lid_map$l_proc_id wbemi_lid_map$r_id_overlay.wbemi_lid_map$l_proc_id #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _wbemi_lid_map { #pragma __nomember_alignment unsigned int wbemi_lid_map$q_lid [2]; /* LID for the processor */ __union { unsigned int wbemi_lid_map$l_id; /* Generic ID field, can be... */ unsigned int wbemi_lid_map$l_spu_id; /* VMS CPUID (aka SPU IS) associated with the LID */ unsigned int wbemi_lid_map$l_proc_id; /* ACPI PROC_ID associated with the LID */ } wbemi_lid_map$r_id_overlay; unsigned int wbemi_lid_map$l_filler; } wbemi_lid_map; #if !defined(__VAXC) #define wbemi_lid_map$l_id wbemi_lid_map$r_id_overlay.wbemi_lid_map$l_id #define wbemi_lid_map$l_spu_id wbemi_lid_map$r_id_overlay.wbemi_lid_map$l_spu_id #define wbemi_lid_map$l_proc_id wbemi_lid_map$r_id_overlay.wbemi_lid_map$l_proc_id #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ # ifdef __INITIAL_POINTER_SIZE # pragma __required_pointer_size __save /* Save current pointer size */ # pragma __required_pointer_size 64 /* Pointers are 64-bits */ typedef struct _wbemi_lid_map * WBEMI_LID_MAP_PQ; /* 64-bit pointer to an WBEMI_LID_MAP */ # pragma __required_pointer_size __restore /* Return to previous pointer size */ # endif #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 /* __WBEMIDEF_LOADED */