! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF ! + ! SYS$GET_WBEM_INFO item code values ! - DECLARE LONG CONSTANT WBEMI$_SPU_COUNT = 1 ! Count, 64-bit integer, of "schedulable processing units" (SPU id, aka VMS & ! CPUID) DECLARE LONG CONSTANT WBEMI$_SPU_LID_MAPPING = 2 ! Vector of WBEMI_LID_MAP, with LID and SPU_ID pairings, with SPU_COUNT & ! entries DECLARE LONG CONSTANT WBEMI$_SPU_FREQUENCY = 3 ! SPU cycle frequency, 64-bit integer, param1=SPU id DECLARE LONG CONSTANT WBEMI$_SYS_HT_CAPABLE = 4 ! Is system Hyperthreads capable? (0/1, 64-bit integer) DECLARE LONG CONSTANT WBEMI$_SYS_HT_ENABLED = 5 ! Are system Hyperthreads currently enabled? (0/1, 64-bit integer) DECLARE LONG CONSTANT WBEMI$_SMBIOS_TABLE_TYPE = 6 ! Get SMBIOS table entries by type, param1=SMBIOS table type, raw & ! binary data DECLARE LONG CONSTANT WBEMI$_DIMM_COUNT = 7 ! Number of DIMMs on the system, 64-bit integer, count of ACPI DIMM objects DECLARE LONG CONSTANT WBEMI$_DIMM_LOC = 8 ! DIMM location, ASCII string from ACPI, param1=DIMM# DECLARE LONG CONSTANT WBEMI$_DIMM_UID = 9 ! DIMM serial number, ASCII string from ACPI, param1=DIMM# DECLARE LONG CONSTANT WBEMI$_DIMM_PART = 10 ! DIMM part number, ASCII string from ACPI, param1=DIMM# DECLARE LONG CONSTANT WBEMI$_DIMM_SIZE = 11 ! DIMM size, 64-bit integer from ACPI, param1=DIMM# DECLARE LONG CONSTANT WBEMI$_DIMM_STATUS = 12 ! DIMM status, 64-bit integer from ACPI, param1=DIMM# DECLARE LONG CONSTANT WBEMI$_CELL_COUNT = 13 ! Number of cells in the system, 64-bit integer, count of ACPI cell objects DECLARE LONG CONSTANT WBEMI$_CELL_LOC = 14 ! Cell location, ASCII string from ACPI, param1=cell# DECLARE LONG CONSTANT WBEMI$_CELL_UID = 15 ! Cell UID, 64-bit integer from ACPI, param1=cell# DECLARE LONG CONSTANT WBEMI$_PHYS_CPU_COUNT = 16 ! Number of physical CPUs, 64-bit integer, count of ACPI processor & ! objects DECLARE LONG CONSTANT WBEMI$_PHYS_CPU_ID = 17 ! Vector of 64-bit ACPI ProcIDs for PHYS_CPU_COUNT DECLARE LONG CONSTANT WBEMI$_PHYS_LID_MAPPING = 18 ! Vector of WBEMI_LID_MAP, with LID and PROC_ID pairings, with & ! PHYS_CPU_COUNT entries DECLARE LONG CONSTANT WBEMI$_PHYS_CPU_LOC = 19 ! CPU chip location, ASCII string from ACPI, param1=ProcID DECLARE LONG CONSTANT WBEMI$_PHYS_CPU_SLOT_NUM = 20 ! CPU slot number, 64-bit integer from ACPI, param1=ProcID DECLARE LONG CONSTANT WBEMI$_PHYS_CPU_SERIAL = 21 ! CPU serial number, ASCII string from ACPI, param1=ProcID DECLARE LONG CONSTANT WBEMI$_PHYS_CPU_STATUS = 22 ! CPU status, 64-bit integer from ACPI, param1=ProcID DECLARE LONG CONSTANT WBEMI$_CORES_PER_SOCKET = 23 ! Number of cores per processor socket, 64-bit integer DECLARE LONG CONSTANT WBEMI$_THREADS_PER_CORE = 24 ! Number of threads per processor core, 64-bit integer DECLARE LONG CONSTANT WBEMI$_THREADS_CORE_MAX = 25 ! Number of potential threads per processor core, 64-bit integer DECLARE LONG CONSTANT WBEMI$_PHYS_CPU_UID_INT = 26 ! CPU UID, 64-bit integer from ACPI, param1=ProcID DECLARE LONG CONSTANT 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. ! - DECLARE LONG CONSTANT WBEMI_LID_MAP$S_WBEMI_LID_MAP = 16 record WBEMI_LID_MAP BASIC$QUADWORD WBEMI_LID_MAP$Q_LID ! LID for the processor group WBEMI_LID_MAP$R_ID_OVERLAY variant case LONG WBEMI_LID_MAP$L_ID ! Generic ID field, can be... case LONG WBEMI_LID_MAP$L_SPU_ID ! VMS CPUID (aka SPU IS) associated with the LID case LONG WBEMI_LID_MAP$L_PROC_ID ! ACPI PROC_ID associated with the LID end variant end group WBEMI_LID_MAP$R_ID_OVERLAY LONG WBEMI_LID_MAP$L_FILLER end record WBEMI_LID_MAP