! *** 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 ! ! Enumerate Item Codes for the various types of Environmental Sensor FRUs. ! DECLARE LONG CONSTANT ESF$K_TEMP = 4096 DECLARE LONG CONSTANT ESF$K_POWER = 4097 DECLARE LONG CONSTANT ESF$K_FAN = 4098 ! ! The sys$get_env_sensors system service will populate the user's buffer ! with an array of the following structure. The dimension of the array is ! determined by the number of sensors corresponding to the item code by a ! run-time call to sys$get_env_sensors() with a buffer address of zero or ! buffer size of zero. sys$get_env_sensors() will pass the dimensions back ! to the caller so he can allocate buffers to contain the arrays for ! subsequent calls to sys$get_env_sensors() with valid buffer pointers and ! sizes. ! See [SYS]SYS_GET_ENV_SENSORS.C ! DECLARE LONG CONSTANT esf$m_valid_status = x'00000001' DECLARE LONG CONSTANT esf$m_valid_value = x'00000002' DECLARE LONG CONSTANT esf$m_feat_reserved = x'000000FC' DECLARE LONG CONSTANT esf$s_esfitem = 32 record esfitem BYTE esf$b_type ! CFG_NODE config type field BYTE esf$b_subtype ! CFG_NODE config subtype field BYTE esf$B_VALUE ! Value byte BYTE esf$b_status ! Status byte group esf$r_features_overlay variant case BYTE esf$b_features ! Features of the Sensor FRU case group esf$r_features_bits BYTE valid_status_bits ! COMMENT ADDED BY SDL - valid_status_bits contains bits valid_status through & ! feat_reserved end group esf$r_features_bits end variant end group esf$r_features_overlay ! ! Pad out to next quad word ! BYTE esf$b_reserved_1 ( 1 to 3 ) ! ! fru_node_id contains FRU Descriptor Node ID information to help ! identify the location of the associated sensor. See "Alpha Systems ! Configuration Tree Implementation Specification" Table 1-79 on Page 50. ! The byte fields in this 8-byte structure are declared in CFGDEF.H as ! struct cfg$_cfg_node_id_fru_desc in the CFG_NODE structure. ! BASIC$QUADWORD esf$q_fru_node_id ! ! fru_flags contains the Node Flags for the FRU. See "Alpha Configuration ! Tree Specification" Release T6.0-0023 page 7-45. ! See also cfg$iq_node_flags in CFGDEF.H. ! BASIC$QUADWORD esf$q_fru_flags ! ! console_id is a quadword that contains the offset and bitfield elements ! to be used to access the low-level hardware status or value information ! group esf$r_cid_overlay variant case BASIC$QUADWORD esf$q_console_id ! Whole Console ID case group esf$r_cid_fields LONG esf$l_offset ! Offset part of Console ID LONG esf$L_BITFIELD ! Bitfield part of Console ID end group esf$r_cid_fields end variant end group esf$r_cid_overlay end record esfitem