From: <ric...@us...> - 2009-02-15 03:01:23
|
Revision: 6958 http://openhpi.svn.sourceforge.net/openhpi/?rev=6958&view=rev Author: ricwhite Date: 2009-02-15 01:55:39 +0000 (Sun, 15 Feb 2009) Log Message: ----------- Updating the 2.13.x branch with trunk changes made since the 2.13.2 development release (merge -r6935:6957). This will hopefully become the 2.13.3 release after successful testing. Modified Paths: -------------- openhpi/branches/2.13.x/README openhpi/branches/2.13.x/hpi_shell/ctrl_inv.c openhpi/branches/2.13.x/include/SaHpi.h openhpi/branches/2.13.x/include/oh_event.h openhpi/branches/2.13.x/include/oh_handler.h openhpi/branches/2.13.x/include/oh_plugin.h openhpi/branches/2.13.x/marshal/marshal_hpi.c openhpi/branches/2.13.x/marshal/marshal_hpi.h openhpi/branches/2.13.x/marshal/marshal_hpi_types.c openhpi/branches/2.13.x/marshal/marshal_hpi_types.h openhpi/branches/2.13.x/marshal/strmsock.cpp openhpi/branches/2.13.x/openhpid/oh_client.cpp openhpi/branches/2.13.x/openhpid/oh_client_session.cpp openhpi/branches/2.13.x/openhpid/oh_client_session.h openhpi/branches/2.13.x/openhpid/openhpid.cpp openhpi/branches/2.13.x/openhpid/openhpid.sh.in openhpi/branches/2.13.x/plugins/ilo2_ribcl/ilo2_ribcl.h openhpi/branches/2.13.x/plugins/ilo2_ribcl/ilo2_ribcl_power.c openhpi/branches/2.13.x/plugins/ipmidirect/ipmi_inventory_parser.cpp openhpi/branches/2.13.x/plugins/oa_soap/OpenHPI_Blade_DevGuide.pdf openhpi/branches/2.13.x/plugins/oa_soap/oa_soap.c openhpi/branches/2.13.x/plugins/oa_soap/oa_soap.h openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_discover.c openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_event.c openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_event.h openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_oa_event.c openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_power.c openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_power.h openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_re_discover.c openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_re_discover.h openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_sensor.c openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_server_event.c openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_utils.c openhpi/branches/2.13.x/plugins/oa_soap/oa_soap_utils.h openhpi/branches/2.13.x/plugins/simulator/sim_init.c openhpi/branches/2.13.x/src/event.c openhpi/branches/2.13.x/src/init.c openhpi/branches/2.13.x/src/plugin.c openhpi/branches/2.13.x/src/safhpi.c openhpi/branches/2.13.x/src/threaded.c openhpi/branches/2.13.x/ssl/oh_ssl.c openhpi/branches/2.13.x/ssl/oh_ssl.h openhpi/branches/2.13.x/utils/sahpi_enum_utils.c openhpi/branches/2.13.x/utils/sahpi_enum_utils.h openhpi/branches/2.13.x/utils/sahpi_struct_utils.c openhpi/branches/2.13.x/utils/t/sahpi/sahpi_struct_utils_test.c Modified: openhpi/branches/2.13.x/README =================================================================== --- openhpi/branches/2.13.x/README 2009-02-15 01:34:37 UTC (rev 6957) +++ openhpi/branches/2.13.x/README 2009-02-15 01:55:39 UTC (rev 6958) @@ -1,5 +1,5 @@ This is an implementation of the Service Availability Forum's -Hardware Platform Interface B.01.01 specification. +Hardware Platform Interface B.03.01 specification. The following components are supported: * OpenHPI base library Modified: openhpi/branches/2.13.x/hpi_shell/ctrl_inv.c =================================================================== --- openhpi/branches/2.13.x/hpi_shell/ctrl_inv.c 2009-02-15 01:34:37 UTC (rev 6957) +++ openhpi/branches/2.13.x/hpi_shell/ctrl_inv.c 2009-02-15 01:55:39 UTC (rev 6958) @@ -850,7 +850,6 @@ }; announ.Severity = sev; - memset(&announ, 0, sizeof(SaHpiAnnouncementT)); i = get_string_param("Condition Type(sensor|res|oem|user): ", str, 10); if (i != 0) return(-1); Modified: openhpi/branches/2.13.x/include/SaHpi.h =================================================================== --- openhpi/branches/2.13.x/include/SaHpi.h 2009-02-15 01:34:37 UTC (rev 6957) +++ openhpi/branches/2.13.x/include/SaHpi.h 2009-02-15 01:55:39 UTC (rev 6958) @@ -10,10 +10,10 @@ ** generated from the Platform Interface specification document. ** ** SPECIFICATION VERSION: -** SAI-HPI-B.02.01 +** SAI-HPI-B.03.01 ** ** DATE: -** Wed Jan 17 2007 11:33 +** Wed Oct 08 2008 18:33 ** ** LEGAL: ** OWNERSHIP OF SPECIFICATION AND COPYRIGHTS. @@ -26,7 +26,7 @@ ** at any time without notice. Licensor is not obligated to support or ** update the Specification. ** -** Copyright(c) 2004, 2007, Service Availability(TM) Forum. All rights +** Copyright(c) 2004, 2008, Service Availability(TM) Forum. All rights ** reserved. ** ** Permission to use, copy, modify, and distribute this software for any @@ -45,6 +45,10 @@ #ifndef __SAHPI_H #define __SAHPI_H +#ifdef __cplusplus +extern "C" { +#endif + /******************************************************************************* ******************************************************************************** ********** ********** @@ -129,7 +133,7 @@ ** ** This is the IANA-assigned private enterprise number for the ** manufacturer of the resource or FRU, or of the manufacturer -** defining an OEM Control or event type. A list of current +** defining an OEM Control or event type. A list of current ** IANA-assigned private enterprise numbers may be obtained at ** ** http://www.iana.org/assignments/enterprise-numbers @@ -155,14 +159,14 @@ ** the next 8 bits represent the major version number; and ** the least significant 8 bits represent the minor version number. */ -#define SAHPI_INTERFACE_VERSION (SaHpiVersionT)0x020201 /* B.02.01 */ +#define SAHPI_INTERFACE_VERSION (SaHpiVersionT)0x020301 /* B.03.01 */ /* ** Return Codes ** ** SaErrorT is defined in the HPI specification. In the future a -** common SAF types definition may be created to contain this type. At -** that time, this typedef should be removed. Each of the return codes +** common SAF types definition may be created to contain this type. At +** that time, this typedef should be removed. Each of the return codes ** is defined in Section 4.1 of the specification. ** ** Future version of the specification may add new return codes. User @@ -387,7 +391,8 @@ SAHPI_LANG_TWI, SAHPI_LANG_UKRAINIAN, SAHPI_LANG_URDU, SAHPI_LANG_UZBEK, SAHPI_LANG_VIETNAMESE, SAHPI_LANG_VOLAPUK, SAHPI_LANG_WOLOF, SAHPI_LANG_XHOSA, SAHPI_LANG_YORUBA, - SAHPI_LANG_CHINESE, SAHPI_LANG_ZULU + SAHPI_LANG_CHINESE, SAHPI_LANG_ZULU, + SAHPI_LANG_MAX_VALID = SAHPI_LANG_ZULU } SaHpiLanguageT; /* @@ -459,7 +464,8 @@ SAHPI_TL_TYPE_ASCII6, /* Reduced ASCII character set: 0x20-0x5F ONLY */ SAHPI_TL_TYPE_TEXT, /* ASCII+Latin 1 */ - SAHPI_TL_TYPE_BINARY /* Binary data, any values legal */ + SAHPI_TL_TYPE_BINARY, /* Binary data, any values legal */ + SAHPI_TL_TYPE_MAX_VALID = SAHPI_TL_TYPE_BINARY } SaHpiTextTypeT; typedef struct { @@ -480,7 +486,6 @@ typedef SaHpiUint32T SaHpiInstrumentIdT; - /******************************************************************************* ******************************************************************************** ********** ********** @@ -491,12 +496,12 @@ /* ** Entity Types ** -** An Entity is a physical hardware component of the system. Entities are +** An Entity is a physical hardware component of the system. Entities are ** defined with an entity type enumeration, and an entity location number ** (to identify the physical location of a particular type of entity). ** ** Entities are uniquely identified in a system with an ordered series of -** Entity Type / Entity Location pairs called an "Entity Path". Each subsequent +** Entity Type / Entity Location pairs called an "Entity Path". Each subsequent ** Entity Type/Entity Location in the path is the next higher "containing" ** entity. The "root" of the Entity Path (the outermost level of containment) ** is designated with an Entity Type of SAHPI_ENT_ROOT if the entire Entity Path @@ -578,16 +583,16 @@ SAHPI_ENT_OPERATING_SYSTEM, SAHPI_ENT_SYSTEM_BUS, SAHPI_ENT_GROUP, /* This is a logical entity for use with - Entity Association records. It is - provided to allow a Sensor data - record to point to an entity- - association record when there is no - appropriate pre-defined logical - entity for the entity grouping. - This Entity should not be used as a - physical entity. */ + Entity Association records. It is + provided to allow a Sensor data + record to point to an entity- + association record when there is no + appropriate pre-defined logical + entity for the entity grouping. + This Entity should not be used as a + physical entity. */ SAHPI_ENT_REMOTE, /* Out of band management communication - device */ + device */ SAHPI_ENT_EXTERNAL_ENVIRONMENT, SAHPI_ENT_BATTERY, SAHPI_ENT_RESERVED_1, @@ -595,27 +600,27 @@ SAHPI_ENT_RESERVED_3, SAHPI_ENT_RESERVED_4, SAHPI_ENT_RESERVED_5, - SAHPI_ENT_MC_FIRMWARE, /* Management Controller Firmware, - represents firmware or software - running on a management controller */ - SAHPI_ENT_IPMI_CHANNEL, /* This Entity ID enables associating - Sensors with the IPMI communication - channels - for example a Redundancy - Sensor could be used to report - redundancy status for a channel that - is composed of multiple physical - links. By convention, the Entity - Instance corresponds to the channel - number. */ + SAHPI_ENT_MC_FIRMWARE , /* Management Controller Firmware, + represents firmware or software + running on a management controller */ + SAHPI_ENT_IPMI_CHANNEL, /* This Entity ID enables associating + Sensors with the IPMI communication + channels - for example a Redundancy + Sensor could be used to report + redundancy status for a channel that + is composed of multiple physical + links. By convention, the Entity + Instance corresponds to the channel + number. */ - SAHPI_ENT_PCI_BUS, - SAHPI_ENT_PCI_EXPRESS_BUS, - SAHPI_ENT_SCSI_BUS, - SAHPI_ENT_SATA_BUS, - SAHPI_ENT_PROC_FSB, /* Processor, front side bus */ - SAHPI_ENT_CLOCK, /* e.g. Real Time Clock (RTC) */ - SAHPI_ENT_SYSTEM_FIRMWARE, /* e.g. BIOS/ EFI */ - /* The range from + SAHPI_ENT_PCI_BUS, + SAHPI_ENT_PCI_EXPRESS_BUS, + SAHPI_ENT_SCSI_BUS, + SAHPI_ENT_SATA_BUS, + SAHPI_ENT_PROC_FSB, /* Processor, front side bus */ + SAHPI_ENT_CLOCK, /* e.g. Real Time Clock (RTC) */ + SAHPI_ENT_SYSTEM_FIRMWARE, /* e.g. BIOS/ EFI */ + /* The range from SAHPI_ENT_SYSTEM_FIRMWARE + 1 to SAHPI_ENT_CHASSIS_SPECIFIC - 1 is Reserved for future use by this @@ -649,29 +654,29 @@ SBC board */ SAHPI_ENT_ALARM_MANAGER, /* Chassis alarm manager board */ SAHPI_ENT_SHELF_MANAGER, /* Blade-based shelf manager */ - SAHPI_ENT_DISPLAY_PANEL, /* Display panel, such as an + SAHPI_ENT_DISPLAY_PANEL, /* Display panel, such as an alarm display panel. */ SAHPI_ENT_SUBBOARD_CARRIER_BLADE, /* Includes PMC Carrier Blade -- Use only if "carrier" is only - function of blade. Else use + function of blade. Else use primary function (SBC_BLADE, SPEC_PROC_BLADE, etc.). */ SAHPI_ENT_PHYSICAL_SLOT, /* Indicates the physical slot into which a FRU is inserted. */ SAHPI_ENT_PICMG_FRONT_BLADE, /* Any blade conforming to a PICMG - Standard. E.g. AdvancedTCA */ + Standard. E.g. AdvancedTCA */ SAHPI_ENT_SYSTEM_INVENTORY_DEVICE, /* Inventory storage device for - storing system definitions */ - SAHPI_ENT_FILTRATION_UNIT, /* E.g. a fan filter */ - SAHPI_ENT_AMC, /* Advanced Mezzannine Card */ - /* The range from - SAHPI_ENT_AMC + 0x01 to - SAHPI_ENT_SAFHPI_GROUP + 0x2F is - reserved for future use by this - specification */ + storing system definitions */ + SAHPI_ENT_FILTRATION_UNIT, /* E.g. a fan filter */ + SAHPI_ENT_AMC, /* Advanced Mezzannine Card */ + /* The range from + SAHPI_ENT_AMC + 0x01 to + SAHPI_ENT_SAFHPI_GROUP + 0x2F is + reserved for future use by this + specification */ SAHPI_ENT_BMC = SAHPI_ENT_SAFHPI_GROUP + 0x30, /* Baseboard Management - Controller */ + Controller */ SAHPI_ENT_IPMC, /* IPM controller */ SAHPI_ENT_MMC, /* Module Management controller */ SAHPI_ENT_SHMC, /* Shelf Mangement Controller */ @@ -684,8 +689,9 @@ SAHPI_ENT_DSP, /* Digital Signal Processor */ SAHPI_ENT_UCODE, /* Microcode */ SAHPI_ENT_NPU, /* Network Processor */ - SAHPI_ENT_OEM /* Proprietary device */ - /* The range from + SAHPI_ENT_OEM, /* Proprietary device */ + SAHPI_ENT_MAX_VALID = SAHPI_ENT_OEM + /* The range from SAHPI_ENT_OEM + 0x01 to SAHPI_ENT_SAFHPI_GROUP + 0xFF is reserved for future use by this @@ -716,7 +722,7 @@ /* ** Category ** -** Sensor events contain an event category and event state. Depending on the +** Sensor events contain an event category and event state. Depending on the ** event category, the event states take on different meanings for events ** generated by specific Sensors. ** @@ -766,7 +772,7 @@ ** Event States ** ** The following event states are specified relative to the categories listed -** above. The event types are only valid for their given category. Each set of +** above. The event types are only valid for their given category. Each set of ** events is labeled as to which category it belongs to. ** Each event has only one event state associated with it. When retrieving ** the event status or event enabled status a bit mask of all applicable event @@ -896,7 +902,7 @@ ** by the HPI specification. ** HPI Implementations shall not assign Sensor numbers within this ** number range, except for the specific Sensors identified in the -** specification. For example, currently, three aggregate Sensors are named in +** specification. For example, currently, three aggregate Sensors are named in ** this range. Other Sensors exposed by the HPI Implementation (e.g., a ** temperature Sensor) must be assigned a number outside of this range. **/ @@ -956,7 +962,8 @@ SAHPI_OPERATIONAL = 0xA0, SAHPI_OEM_SENSOR=0xC0, SAHPI_COMM_CHANNEL_LINK_STATE = SAHPI_SENSOR_TYPE_SAFHPI_GROUP + 0x1, - SAHPI_MANAGEMENT_BUS_STATE + SAHPI_MANAGEMENT_BUS_STATE, + SAHPI_SENSOR_TYPE_MAX_VALID = SAHPI_MANAGEMENT_BUS_STATE } SaHpiSensorTypeT; /* @@ -973,12 +980,13 @@ SAHPI_SENSOR_READING_TYPE_INT64, SAHPI_SENSOR_READING_TYPE_UINT64, SAHPI_SENSOR_READING_TYPE_FLOAT64, - SAHPI_SENSOR_READING_TYPE_BUFFER /* 32 byte array. The format of + SAHPI_SENSOR_READING_TYPE_BUFFER, /* 32 byte array. The format of the buffer is implementation- specific. Sensors that use this reading type may not have thresholds that are settable or readable. */ + SAHPI_SENSOR_READING_TYPE_MAX_VALID = SAHPI_SENSOR_READING_TYPE_BUFFER } SaHpiSensorReadingTypeT; typedef union { @@ -1004,7 +1012,7 @@ typedef struct { SaHpiBoolT IsSupported; SaHpiSensorReadingTypeT Type; - SaHpiSensorReadingUnionT Value; + SaHpiSensorReadingUnionT Value; } SaHpiSensorReadingT; @@ -1012,7 +1020,8 @@ typedef enum { SAHPI_SENS_ADD_EVENTS_TO_MASKS, - SAHPI_SENS_REMOVE_EVENTS_FROM_MASKS + SAHPI_SENS_REMOVE_EVENTS_FROM_MASKS, + SAHPI_SENS_EVENT_MASK_ACTION_MAX_VALID = SAHPI_SENS_REMOVE_EVENTS_FROM_MASKS } SaHpiSensorEventMaskActionT; /* Value to use for AssertEvents or DeassertEvents parameter @@ -1062,9 +1071,8 @@ SaHpiSensorReadingT UpMinor; /* Upper minor Threshold */ SaHpiSensorReadingT PosThdHysteresis; /* Positive Threshold Hysteresis */ SaHpiSensorReadingT NegThdHysteresis; /* Negative Threshold Hysteresis */ -}SaHpiSensorThresholdsT; +} SaHpiSensorThresholdsT; - /******************************************************************************* ******************************************************************************** ********** ********** @@ -1074,7 +1082,7 @@ *******************************************************************************/ /* -** Sensor Range +** Sensor Range ** Sensor range values can include minimum, maximum, normal minimum, normal ** maximum, and nominal values. ** @@ -1137,12 +1145,13 @@ SAHPI_SU_RESET, SAHPI_SU_OVERRUN, SAHPI_SU_UNDERRUN, SAHPI_SU_COLLISION, SAHPI_SU_PACKETS, SAHPI_SU_MESSAGES, SAHPI_SU_CHARACTERS, SAHPI_SU_ERRORS, SAHPI_SU_CORRECTABLE_ERRORS, - SAHPI_SU_UNCORRECTABLE_ERRORS + SAHPI_SU_UNCORRECTABLE_ERRORS, + SAHPI_SU_MAX_VALID = SAHPI_SU_UNCORRECTABLE_ERRORS } SaHpiSensorUnitsT; /* ** Modifier Unit Use -** This type defines how the modifier unit is used. For example: base unit == +** This type defines how the modifier unit is used. For example: base unit == ** meter, modifier unit == seconds, and modifier unit use == ** SAHPI_SMUU_BASIC_OVER_MODIFIER. The resulting unit would be meters per ** second. @@ -1150,7 +1159,8 @@ typedef enum { SAHPI_SMUU_NONE = 0, SAHPI_SMUU_BASIC_OVER_MODIFIER, /* Basic Unit / Modifier Unit */ - SAHPI_SMUU_BASIC_TIMES_MODIFIER /* Basic Unit * Modifier Unit */ + SAHPI_SMUU_BASIC_TIMES_MODIFIER, /* Basic Unit * Modifier Unit */ + SAHPI_SMUU_MAX_VALID = SAHPI_SMUU_BASIC_TIMES_MODIFIER } SaHpiSensorModUnitUseT; /* @@ -1160,7 +1170,7 @@ ** indicates that the rest of the structure is not meaningful. ** ** This structure encapsulates all of the various types that make up the -** definition of Sensor data. For reading type of +** definition of Sensor data. For reading type of ** SAHPI_SENSOR_READING_TYPE_BUFFER, the rest of the structure ** (beyond ReadingType) is not meaningful. ** @@ -1233,9 +1243,10 @@ SAHPI_SEC_READ_ONLY_MASKS, /* Control for entire Sensor only; Sensor event enable status can be changed, but assert/deassert masks cannot be changed */ - SAHPI_SEC_READ_ONLY /* Event control not supported; Sensor event + SAHPI_SEC_READ_ONLY, /* Event control not supported; Sensor event enable status cannot be changed and assert/deassert masks cannot be changed */ + SAHPI_SEC_MAX_VALID = SAHPI_SEC_READ_ONLY } SaHpiSensorEventCtrlT; /* @@ -1259,7 +1270,6 @@ SaHpiUint32T Oem; /* Reserved for OEM use */ } SaHpiSensorRecT; - /******************************************************************************* ******************************************************************************** ********** ********** @@ -1277,7 +1287,6 @@ #define SAHPI_DEFAGSENS_MIN (SaHpiSensorNumT)0x00000100 #define SAHPI_DEFAGSENS_MAX (SaHpiSensorNumT)0x0000010F - /******************************************************************************* ******************************************************************************** ********** ********** @@ -1304,7 +1313,8 @@ SAHPI_CTRL_TYPE_ANALOG, SAHPI_CTRL_TYPE_STREAM, SAHPI_CTRL_TYPE_TEXT, - SAHPI_CTRL_TYPE_OEM = 0xC0 + SAHPI_CTRL_TYPE_OEM = 0xC0, + SAHPI_CTRL_TYPE_MAX_VALID = SAHPI_CTRL_TYPE_OEM } SaHpiCtrlTypeT; /* @@ -1329,7 +1339,8 @@ SAHPI_CTRL_STATE_OFF = 0, SAHPI_CTRL_STATE_ON, SAHPI_CTRL_STATE_PULSE_OFF, - SAHPI_CTRL_STATE_PULSE_ON + SAHPI_CTRL_STATE_PULSE_ON, + SAHPI_CTRL_STATE_MAX_VALID = SAHPI_CTRL_STATE_PULSE_ON } SaHpiCtrlStateDigitalT; /* @@ -1397,10 +1408,10 @@ */ typedef enum { SAHPI_CTRL_MODE_AUTO, - SAHPI_CTRL_MODE_MANUAL + SAHPI_CTRL_MODE_MANUAL, + SAHPI_CTRL_MODE_MAX_VALID = SAHPI_CTRL_MODE_MANUAL } SaHpiCtrlModeT; - /******************************************************************************* ******************************************************************************** ********** ********** @@ -1428,7 +1439,8 @@ SAHPI_CTRL_POWER_INTERLOCK, SAHPI_CTRL_POWER_STATE, SAHPI_CTRL_LCD_DISPLAY, - SAHPI_CTRL_OEM + SAHPI_CTRL_OEM, + SAHPI_CTRL_OUTPUT_TYPE_MAX_VALID = SAHPI_CTRL_OEM } SaHpiCtrlOutputTypeT; /* @@ -1516,7 +1528,6 @@ } SaHpiCtrlRecT; - /******************************************************************************* ******************************************************************************** ********** ********** @@ -1546,7 +1557,8 @@ SAHPI_IDR_AREATYPE_BOARD_INFO, SAHPI_IDR_AREATYPE_PRODUCT_INFO, SAHPI_IDR_AREATYPE_OEM = 0xC0, - SAHPI_IDR_AREATYPE_UNSPECIFIED = 0xFF + SAHPI_IDR_AREATYPE_UNSPECIFIED = 0xFF, + SAHPI_IDR_AREATYPE_MAX_VALID = SAHPI_IDR_AREATYPE_UNSPECIFIED } SaHpiIdrAreaTypeT; /* Inventory Data Field type definitions @@ -1565,7 +1577,8 @@ SAHPI_IDR_FIELDTYPE_FILE_ID, SAHPI_IDR_FIELDTYPE_ASSET_TAG, SAHPI_IDR_FIELDTYPE_CUSTOM, - SAHPI_IDR_FIELDTYPE_UNSPECIFIED = 0xFF + SAHPI_IDR_FIELDTYPE_UNSPECIFIED = 0xFF, + SAHPI_IDR_FIELDTYPE_MAX_VALID = SAHPI_IDR_FIELDTYPE_UNSPECIFIED } SaHpiIdrFieldTypeT; /* Inventory Data Field structure definition */ @@ -1596,12 +1609,10 @@ SaHpiUint32T NumAreas; /* Number of Areas contained in IDR */ } SaHpiIdrInfoT; - - /******************************************************************************* ******************************************************************************** ********** ********** -********** Inventory Data Repository Resource Data Records ********** +********** Inventory Data Repository Resource Data Records ********** ********** ********** ******************************************************************************** *******************************************************************************/ @@ -1622,8 +1633,6 @@ SaHpiUint32T Oem; } SaHpiInventoryRecT; - - /******************************************************************************* ******************************************************************************** ********** ********** @@ -1650,7 +1659,8 @@ SAHPI_WA_NO_ACTION = 0, SAHPI_WA_RESET, SAHPI_WA_POWER_DOWN, - SAHPI_WA_POWER_CYCLE + SAHPI_WA_POWER_CYCLE, + SAHPI_WA_MAX_VALID = SAHPI_WA_POWER_CYCLE } SaHpiWatchdogActionT; typedef enum { @@ -1658,7 +1668,8 @@ SAHPI_WAE_RESET, SAHPI_WAE_POWER_DOWN, SAHPI_WAE_POWER_CYCLE, - SAHPI_WAE_TIMER_INT=0x08 /* Used if Timer Preinterrupt only */ + SAHPI_WAE_TIMER_INT=0x08, /* Used if Timer Preinterrupt only */ + SAHPI_WAE_MAX_VALID = SAHPI_WAE_TIMER_INT } SaHpiWatchdogActionEventT; /* @@ -1673,14 +1684,15 @@ SAHPI_WPI_SMI, SAHPI_WPI_NMI, SAHPI_WPI_MESSAGE_INTERRUPT, - SAHPI_WPI_OEM = 0x0F + SAHPI_WPI_OEM = 0x0F, + SAHPI_WPI_MAX_VALID = SAHPI_WPI_OEM } SaHpiWatchdogPretimerInterruptT; /* ** Watchdog Timer Use ** ** These enumerations represent the possible Watchdog users that may have caused -** the Watchdog to expire. For instance, if a Watchdog is used during power +** the Watchdog to expire. For instance, if a Watchdog is used during power ** on self test (POST), and it expires, the SAHPI_WTU_BIOS_POST expiration type ** is set. Most specific uses for Watchdog timer by users of HPI should ** indicate SAHPI_WTU_SMS_OS if the use is to provide an OS-healthy heartbeat, @@ -1694,7 +1706,8 @@ SAHPI_WTU_SMS_OS, /* System Management System providing heartbeat for OS */ SAHPI_WTU_OEM, - SAHPI_WTU_UNSPECIFIED = 0x0F + SAHPI_WTU_UNSPECIFIED = 0x0F, + SAHPI_WTU_MAX_VALID = SAHPI_WTU_UNSPECIFIED } SaHpiWatchdogTimerUseT; /* @@ -1718,9 +1731,9 @@ ** ** For saHpiWatchdogTimerGet() : ** -** Log - indicates whether or not the Watchdog is configured to +** Log - indicates whether the Watchdog is configured to ** issue events. True=events are generated. -** Running - indicates whether or not the Watchdog is currently +** Running - indicates whether the Watchdog is currently ** running or stopped. True=Watchdog is running. ** TimerUse - indicates the current use of the timer; one of the ** enumerated preset uses which was included on the last @@ -1755,7 +1768,7 @@ ** resolution could be supported. The HPI implementation ** returns this rounded value. ** PresentCount - The remaining time in milliseconds before the timer -** times out unless a saHpiWatchdogTimerReset() +** times out unless an saHpiWatchdogTimerReset() ** function call is made, or some other implementation- ** dependent strobe is sent to the Watchdog. ** HPI implementations may not be able to support @@ -1765,9 +1778,9 @@ ** ** For saHpiWatchdogTimerSet(): ** -** Log - indicates whether or not the Watchdog should issue +** Log - indicates whether the Watchdog should issue ** events. True=events are generated. -** Running - indicates whether or not the Watchdog should be +** Running - indicates whether the Watchdog should be ** stopped before updating. ** True = Watchdog is not stopped. If it is ** already stopped, it remains stopped, @@ -1777,12 +1790,12 @@ ** there is a race condition possible ** with this setting, so it should be used ** with care. -** False = Watchdog is stopped. After +** False = Watchdog is stopped. After ** saHpiWatchdogTimerSet() is called, a ** subsequent call to ** saHpiWatchdogTimerReset() is required ** to start the timer. -** TimerUse - indicates the current use of the timer. Controls +** TimerUse - indicates the current use of the timer. Controls ** which TimerUseExpFlag will be set if the timer ** expires. ** TimerAction - indicates what action will be taken when the Watchdog @@ -1799,16 +1812,16 @@ ** These restrictions should be documented by the ** provider of the HPI interface. ** TimerUseExpFlags - Set of five bit flags corresponding to the five -** TimerUse values. For each bit set to "1", the +** TimerUse values. For each bit set to "1", the ** corresponding Timer Use Expiration Flag is cleared, ** that is, set to "0". Generally, a program should only ** clear the Timer Use Expiration Flag corresponding to ** its own TimerUse, so that other software, which may ** have used the timer for another purpose in the past ** can still read its TimerUseExpFlag to determine -** whether or not the timer expired during that use. +** whether the timer expired during that use. ** InitialCount - The time, in milliseconds, before the timer will time -** out after a saHpiWatchdogTimerReset() function call is +** out after an saHpiWatchdogTimerReset() function call is ** made, or some other implementation-dependent strobe is ** sent to the Watchdog. HPI implementations may not be ** able to support millisecond resolution and may have a @@ -1830,7 +1843,6 @@ SaHpiUint32T PresentCount; } SaHpiWatchdogT; - /******************************************************************************* ******************************************************************************** ********** ********** @@ -1841,7 +1853,7 @@ /* ** When the "Watchdog" capability is set in a resource, a Watchdog with an -** identifier of SAHPI_DEFAULT_WATCHDOG_NUM is required. All Watchdogs must be +** identifier of SAHPI_DEFAULT_WATCHDOG_NUM is required. All Watchdogs must be ** represented in the RDR repository with an SaHpiWatchdogRecT, including the ** Watchdog with an identifier of SAHPI_DEFAULT_WATCHDOG_NUM. */ @@ -1850,12 +1862,10 @@ SaHpiUint32T Oem; } SaHpiWatchdogRecT; - - /******************************************************************************* ******************************************************************************** ********** ********** -********** DIMI ********** +********** DIMI ********** ********** ********** ******************************************************************************** *******************************************************************************/ @@ -1873,9 +1883,10 @@ typedef enum { SAHPI_DIMITEST_NONDEGRADING, SAHPI_DIMITEST_DEGRADING, - SAHPI_DIMITEST_VENDOR_DEFINED_LEVEL /* VENDOR_DEFINED_LEVEL can be used - to indicate severity of degrading - test */ + SAHPI_DIMITEST_VENDOR_DEFINED_LEVEL, /* VENDOR_DEFINED_LEVEL can be used + to indicate severity of degrading + test */ + SAHPI_DIMITEST_SERVICE_IMPACT_MAX_VALID = SAHPI_DIMITEST_VENDOR_DEFINED_LEVEL } SaHpiDimiTestServiceImpactT; @@ -1887,23 +1898,24 @@ typedef struct { SaHpiEntityPathT EntityImpacted; /* Entity path of impacted - entity */ - SaHpiDimiTestServiceImpactT ServiceImpact; /* Service Impact on - affected entity */ + entity */ + SaHpiDimiTestServiceImpactT ServiceImpact; /* Service Impact on affected + entity */ } SaHpiDimiTestAffectedEntityT; typedef enum { - SAHPI_DIMITEST_STATUS_NOT_RUN, /* Only returned if test has never - been executed on the DIMI */ + SAHPI_DIMITEST_STATUS_NOT_RUN, /* Only returned if test has never + been executed on the DIMI */ SAHPI_DIMITEST_STATUS_FINISHED_NO_ERRORS, /* Test is not running. Last run - finished without any errors */ - SAHPI_DIMITEST_STATUS_FINISHED_ERRORS, /* Test is not running. But the last - run finished with error */ - SAHPI_DIMITEST_STATUS_CANCELED, /* This is returned when a test has + finished without any errors */ + SAHPI_DIMITEST_STATUS_FINISHED_ERRORS, /* Test is not running. But the last + run finished with error */ + SAHPI_DIMITEST_STATUS_CANCELED, /* This is returned when a test has canceled using the saHpiDimiTestCancel function */ - SAHPI_DIMITEST_STATUS_RUNNING /* This is returned when a test is + SAHPI_DIMITEST_STATUS_RUNNING, /* This is returned when a test is in progress */ + SAHPI_DIMITEST_STATUS_MAX_VALID = SAHPI_DIMITEST_STATUS_RUNNING } SaHpiDimiTestRunStatusT; @@ -1913,41 +1925,42 @@ ** undefined errors. */ typedef enum { - SAHPI_DIMITEST_STATUSERR_NOERR = 0, /* No Error was generated */ - SAHPI_DIMITEST_STATUSERR_RUNERR, /* Run time error was generated */ - SAHPI_DIMITEST_STATUSERR_UNDEF /* Undefined Error*/ + SAHPI_DIMITEST_STATUSERR_NOERR = 0, /* No Error was generated */ + SAHPI_DIMITEST_STATUSERR_RUNERR, /* Run time error was generated */ + SAHPI_DIMITEST_STATUSERR_UNDEF, /* Undefined Error*/ + SAHPI_DIMITEST_STATUSERR_MAX_VALID = SAHPI_DIMITEST_STATUSERR_UNDEF } SaHpiDimiTestErrCodeT; /* Test results from last run of test */ typedef struct { - SaHpiTimeT ResultTimeStamp; /* TimeStamp when the results are - generated. When test ends, - ResultTimeStamp captures the time - test ended */ - SaHpiTimeoutT RunDuration; /* Implementation provides the - duration from the start of last run - until the time results were - generated */ - SaHpiDimiTestRunStatusT LastRunStatus; - SaHpiDimiTestErrCodeT TestErrorCode; - SaHpiTextBufferT TestResultString; /* String contains either in line - Test result or URI to the file name - containing results from last run */ - SaHpiBoolT TestResultStringIsURI; /* True = URI to file name, - False = in-line test result, - If True, the DataType of the - TestResultString text buffer - must be SAHPI_TL_TYPE_TEXT. */ +SaHpiTimeT ResultTimeStamp; /* TimeStamp when the results are + generated. When test ends, + ResultTimeStamp captures the time + test ended */ +SaHpiTimeoutT RunDuration; /* Implementation provides the + duration from the start of last run + until the time results were + generated */ +SaHpiDimiTestRunStatusT LastRunStatus; +SaHpiDimiTestErrCodeT TestErrorCode; +SaHpiTextBufferT TestResultString; /* String contains either in line + Test result or URI to the file name + containing results from last run */ +SaHpiBoolT TestResultStringIsURI; /* True = URI to file name, + False = in-line test result, + If True, the DataType of the + TestResultString text buffer + must be SAHPI_TL_TYPE_TEXT. */ } SaHpiDimiTestResultsT; /* SaHpiDimiTestParamsDefinitionT struct defines test parameters. The test ** parameter definition consists of Parameter Name, human readable text for ** parameters information, parameters type and value (min, max, default). -** HPI user can use APIs to obtain the parameters definition along with test -** information. Based on test parameters definition a proper parameter can +** HPI User can use APIs to obtain the parameters definition along with test +** information. Based on test parameters definition a proper parameter can ** be defined and passed together with the test invocation. */ @@ -1957,17 +1970,18 @@ SAHPI_DIMITEST_PARAM_TYPE_BOOLEAN, /* HPI type SaHpiBoolT */ SAHPI_DIMITEST_PARAM_TYPE_INT32, /* HPI type SaHpiUint32T */ SAHPI_DIMITEST_PARAM_TYPE_FLOAT64, /* HPI type SaHpiFloat64T */ - SAHPI_DIMITEST_PARAM_TYPE_TEXT /* HPI type SaHpiTextBufferT */ + SAHPI_DIMITEST_PARAM_TYPE_TEXT, /* HPI type SaHpiTextBufferT */ + SAHPI_DIMITEST_PARAM_TYPE_MAX_VALID = SAHPI_DIMITEST_PARAM_TYPE_TEXT } SaHpiDimiTestParamTypeT; /* This union is defining the values for the test parameter*/ typedef union { - SaHpiInt32T paramint; - SaHpiBoolT parambool; - SaHpiFloat64T paramfloat; - SaHpiTextBufferT paramtext; /* Must be DataType=SAHPI_TL_TYPE_TEXT */ + SaHpiInt32T paramint; + SaHpiBoolT parambool; + SaHpiFloat64T paramfloat; + SaHpiTextBufferT paramtext; /* Must be DataType = SAHPI_TL_TYPE_TEXT */ } SaHpiDimiTestParamValueT; @@ -1979,22 +1993,20 @@ typedef union { SaHpiInt32T IntValue; - SaHpiFloat64T FloatValue; + SaHpiFloat64T FloatValue; } SaHpiDimiTestParameterValueUnionT; typedef struct { - SaHpiUint8T ParamName[SAHPI_DIMITEST_PARAM_NAME_LEN]; /* Name of the - parameter, case - sensitive */ - SaHpiTextBufferT ParamInfo; /* This is a human readable - text */ - SaHpiDimiTestParamTypeT ParamType; - SaHpiDimiTestParameterValueUnionT MinValue; /* Only valid for integer and - float parameters */ - SaHpiDimiTestParameterValueUnionT MaxValue; /* Only valid for integer and - float parameters */ - SaHpiDimiTestParamValueT DefaultParam; /* Default value */ + SaHpiUint8T ParamName[SAHPI_DIMITEST_PARAM_NAME_LEN]; /* Name of the + parameter, case sensitive */ + SaHpiTextBufferT ParamInfo; /* This is a human readable text */ + SaHpiDimiTestParamTypeT ParamType; + SaHpiDimiTestParameterValueUnionT MinValue; /* Only valid for integer and float + parameters */ + SaHpiDimiTestParameterValueUnionT MaxValue; /* Only valid for integer and float + parameters */ + SaHpiDimiTestParamValueT DefaultParam; /* Default value */ } SaHpiDimiTestParamsDefinitionT; @@ -2003,7 +2015,7 @@ ** mask. If a test supports one of these capabilities then the corresponding ** bit is set in the bit mask. ** There is a close relationship between capabilities and parameters of a -** test. A test may support some standard parameters if specific capability +** test. A test may support some standard parameters if specific capability ** bits are set. Some capabilities might not have test parameters. ** ** Future versions of the HPI specification may define additional DIMI test @@ -2053,100 +2065,100 @@ typedef SaHpiUint32T SaHpiDimiTestCapabilityT; #define SAHPI_DIMITEST_CAPABILITY_NO_CAPABILITY \ - (SaHpiDimiTestCapabilityT)0x00000000 + (SaHpiDimiTestCapabilityT)0x00000000 #define SAHPI_DIMITEST_CAPABILITY_RESULTSOUTPUT \ - (SaHpiDimiTestCapabilityT)0x00000001 + (SaHpiDimiTestCapabilityT)0x00000001 #define SAHPI_DIMITEST_CAPABILITY_SERVICEMODE \ - (SaHpiDimiTestCapabilityT)0x00000002 -#define SAHPI_DIMITEST_CAPABILITY_LOOPCOUNT \ - (SaHpiDimiTestCapabilityT)0x00000004 -#define SAHPI_DIMITEST_CAPABILITY_LOOPTIME \ - (SaHpiDimiTestCapabilityT)0x00000008 -#define SAHPI_DIMITEST_CAPABILITY_LOGGING \ - (SaHpiDimiTestCapabilityT)0x00000010 + (SaHpiDimiTestCapabilityT)0x00000002 +#define SAHPI_DIMITEST_CAPABILITY_LOOPCOUNT \ + (SaHpiDimiTestCapabilityT)0x00000004 +#define SAHPI_DIMITEST_CAPABILITY_LOOPTIME \ + (SaHpiDimiTestCapabilityT)0x00000008 +#define SAHPI_DIMITEST_CAPABILITY_LOGGING \ + (SaHpiDimiTestCapabilityT)0x00000010 #define SAHPI_DIMITEST_CAPABILITY_TESTCANCEL \ - (SaHpiDimiTestCapabilityT)0x00000020 + (SaHpiDimiTestCapabilityT)0x00000020 /* The following are the standard test parameters available for use with DIMI ** tests. These parameters are applicable only if the corresponding test -** capability is supported by a DIMI test. HPI user can check the capabilities +** capability is supported by a DIMI test. HPI User can check the capabilities ** through the bit-stream defined through SaHpiDimiTestCapabilityT. If a test ** supports certain capability, corresponding test parameter is defined in -** standard format. The parameters are defined here as macros. For tests +** standard format. The parameters are defined here as macros. For tests ** supporting these parameters they are returned as type ** SaHpiDimiTestParamsDefinitionT with the SaHpiDimiTestT structure. */ #ifndef SAHPI_DIMITEST_LOOP_COUNT_PARAM #define SAHPI_DIMITEST_LOOP_COUNT_PARAM_NAME "Loop Count" -#define SAHPI_DIMITEST_LOOP_COUNT_PARAM \ - { \ +#define SAHPI_DIMITEST_LOOP_COUNT_PARAM \ + { \ SAHPI_DIMITEST_LOOP_COUNT_PARAM_NAME, \ - { \ - SAHPI_TL_TYPE_TEXT, \ - SAHPI_LANG_ENGLISH, \ - 15, \ - "Test Loop Count" \ - }, \ + { \ + SAHPI_TL_TYPE_TEXT, \ + SAHPI_LANG_ENGLISH, \ + 15, \ + "Test Loop Count" \ + }, \ SAHPI_DIMITEST_PARAM_TYPE_INT32, \ - 1, \ - 0xFFFFFFFF, \ - { 1 } \ + 1, \ + 0xFFFFFFFF, \ + { 1 } \ } #endif // SAHPI_DIMITEST_LOOP_COUNT_PARAM #ifndef SAHPI_DIMITEST_LOOP_TIME_PARAM -#define SAHPI_DIMITEST_LOOP_TIME_PARAM_NAME "Loop Time" -#define SAHPI_DIMITEST_LOOP_TIME_PARAM \ - { \ +#define SAHPI_DIMITEST_LOOP_TIME_PARAM_NAME "Loop Time" +#define SAHPI_DIMITEST_LOOP_TIME_PARAM \ + { \ SAHPI_DIMITEST_LOOP_TIME_PARAM_NAME, \ - { \ - SAHPI_TL_TYPE_TEXT, \ - SAHPI_LANG_ENGLISH, \ - 14, \ - "Test Loop Time" \ - }, \ - SAHPI_DIMITEST_PARAM_TYPE_INT32, \ - 0, \ - 0xFFFFFFFF, \ - { 1 } \ - } + { \ + SAHPI_TL_TYPE_TEXT, \ + SAHPI_LANG_ENGLISH, \ + 14, \ + "Test Loop Time" \ + }, \ + SAHPI_DIMITEST_PARAM_TYPE_INT32, \ + 0, \ + 0xFFFFFFFF, \ + { 1 } \ + } #endif // SAHPI_DIMITEST_LOOP_TIME_PARAM #ifndef SAHPI_DIMITEST_SERVICE_MODE_PARAM #define SAHPI_DIMITEST_SERVICE_MODE_PARAM_NAME "Service Mode" -#define SAHPI_DIMITEST_SERVICE_MODE_PARAM \ - { \ - SAHPI_DIMITEST_SERVICE_MODE_PARAM_NAME, \ - { \ - SAHPI_TL_TYPE_TEXT, \ - SAHPI_LANG_ENGLISH, \ - 14, \ - "Operating Mode" \ - }, \ - SAHPI_DIMITEST_PARAM_TYPE_INT32, \ - 0, /* basic mode */ \ - 1, /* extended mode */ \ - { 0 } /* default is basic mode */ \ - } +#define SAHPI_DIMITEST_SERVICE_MODE_PARAM { \ + { \ + SAHPI_DIMITEST_SERVICE_MODE_PARAM_NAME, \ + { \ + SAHPI_TL_TYPE_TEXT, \ + SAHPI_LANG_ENGLISH, \ + 14, \ + "Operating Mode" \ + }, \ + SAHPI_DIMITEST_PARAM_TYPE_INT32, \ + 0, /* basic mode */ \ + 1, /* extended mode */ \ + { 0 } /* default is basic mode */ \ + } #endif // SAHPI_DIMITEST_SERVICE_MODE_PARAM #ifndef SAHPI_DIMITEST_LOGGING_PARAM -#define SAHPI_DIMITEST_LOGGING_PARAM_NAME "Logging" -#define SAHPI_DIMITEST_LOGGING_PARAM \ - { \ - SAHPI_DIMITEST_LOGGING_PARAM_NAME, \ - { \ - SAHPI_TL_TYPE_TEXT, \ - SAHPI_LANG_ENGLISH, \ - 18, \ - "Logging Capability" \ - }, \ - SAHPI_DIMITEST_PARAM_TYPE_INT32, \ - 0, /* No Logging */ \ - 5, /* Verbose Logging*/ \ - { 0 } \ - } +#define SAHPI_DIMITEST_LOGGING_PARAM_NAME "Logging" +#define SAHPI_DIMITEST_LOGGING_PARAM \ + { \ + SAHPI_DIMITEST_LOGGING_PARAM_NAME, \ + { \ + SAHPI_TL_TYPE_TEXT, \ + SAHPI_LANG_ENGLISH, \ + 18, \ + "Logging Capability" \ + }, \ + SAHPI_DIMITEST_PARAM_TYPE_INT32, \ + 0, /* No Logging */ \ + 5, /* Verbose Logging*/ \ + { 0 } \ + } #endif // SAHPI_DIMITEST_LOGGING_PARAM /* ResultsOutputParam: Standard parameter describing the capability of a @@ -2157,26 +2169,26 @@ #ifndef SAHPI_DIMITEST_RESULTS_OUTPUT_PARAM -#define SAHPI_DIMITEST_CAPAB_RES_FINALONLY 0 -#define SAHPI_DIMITEST_CAPAB_RES_ONDEMAND 1 -#define SAHPI_DIMITEST_CAPAB_RES_ASYNC 2 +#define SAHPI_DIMITEST_CAPAB_RES_FINALONLY 0 +#define SAHPI_DIMITEST_CAPAB_RES_ONDEMAND 1 +#define SAHPI_DIMITEST_CAPAB_RES_ASYNC 2 #define SAHPI_DIMITEST_RESULTS_OUTPUT_PARAM_NAME "Results Output" -#define SAHPI_DIMITEST_RESULTS_OUTPUT_PARAM \ - { \ - SAHPI_DIMITEST_RESULTS_OUTPUT_PARAM_NAME, \ - { \ - SAHPI_TL_TYPE_TEXT, \ - SAHPI_LANG_ENGLISH, \ - 25, \ - "Results Output Capability" \ - }, \ - SAHPI_DIMITEST_PARAM_TYPE_INT32, \ - 0, \ - 2, \ - { 0 } \ - } +#define SAHPI_DIMITEST_RESULTS_OUTPUT_PARAM { \ + { \ + SAHPI_DIMITEST_RESULTS_OUTPUT_PARAM_NAME,\ + { \ + SAHPI_TL_TYPE_TEXT, \ + SAHPI_LANG_ENGLISH, \ + 25, \ + "Results Output Capability" \ + }, \ + SAHPI_DIMITEST_PARAM_TYPE_INT32, \ + 0, \ + 2, \ + { 0 } \ + } #endif // SAHPI_DIMITEST_RESULTS_OUTPUT_PARAM @@ -2187,95 +2199,91 @@ /* DIMI test number */ typedef SaHpiUint32T SaHpiDimiTestNumT; -/* Maximum number entities that can be impacted by a test */ +/* Maximum number entities that can be affected by a test */ #define SAHPI_DIMITEST_MAX_ENTITIESIMPACTED 5 typedef struct { - SaHpiTextBufferT TestName; - SaHpiDimiTestServiceImpactT ServiceImpact; /* Service Impact on DIMI - itself */ - SaHpiDimiTestAffectedEntityT - EntitiesImpacted[SAHPI_DIMITEST_MAX_ENTITIESIMPACTED]; - /* Entities impacted by the Test. If entity contains - other entities then contained entities are considered - impacted as well. If Entities impacted by Test are more - than Max number, its recommended to associate test with - higher level entity DIMI. */ - SaHpiBoolT NeedServiceOS; /* True if a special Service - OS is needed for this test */ - SaHpiTextBufferT ServiceOS; /* If a special Service OS - is needed to be run for the - test, the HPI user is required - to load the particular Service - OS before running the tests, - else DIMI returns an error code.*/ - SaHpiTimeT ExpectedRunDuration; /* Expected run duration - for a test with default - parameters */ - SaHpiDimiTestCapabilityT TestCapabilities; - - SaHpiDimiTestParamsDefinitionT - TestParameters[SAHPI_DIMITEST_MAX_PARAMETERS]; + SaHpiTextBufferT TestName; + SaHpiDimiTestServiceImpactT ServiceImpact; /* Service Impact + on DIMI itself */ + SaHpiDimiTestAffectedEntityT EntitiesImpacted[SAHPI_DIMITEST_MAX_ENTITIESIMPACTED]; + /* Entities affected by the Test. If entity contains + other entities then contained entities are considered + affected as well. If Entities affected by Test are more + than Max number, its recommended to associate test with + higher level entity DIMI. */ + SaHpiBoolT NeedServiceOS; /* True if a special Service + OS is needed for this test */ + SaHpiTextBufferT ServiceOS; /* If a special Service OS is + needed to be run for the test, + the HPI User is required to + load the particular Service + OS before running the tests, + else DIMI returns an error + code.*/ + SaHpiTimeT ExpectedRunDuration; /* Expected run duration + for a test with default + parameters */ + SaHpiDimiTestCapabilityT TestCapabilities; + SaHpiDimiTestParamsDefinitionT TestParameters[SAHPI_DIMITEST_MAX_PARAMETERS]; } SaHpiDimiTestT; /* This struct defines the format of parameter which is passed ** to the test on invocation */ typedef struct { - SaHpiUint8T ParamName[SAHPI_DIMITEST_PARAM_NAME_LEN]; - /* Must exactly match the one - returned by the ParamsDefinition */ - SaHpiDimiTestParamTypeT ParamType; /* Must exactly match the one - returned by the ParamsDefinition */ - SaHpiDimiTestParamValueT Value; + SaHpiUint8T ParamName[SAHPI_DIMITEST_PARAM_NAME_LEN]; + /* Must exactly match the one returned + by the ParamsDefinition */ + SaHpiDimiTestParamTypeT ParamType; /* Must exactly match the one + returned by the ParamsDefinition */ + SaHpiDimiTestParamValueT Value; } SaHpiDimiTestVariableParamsT; -/* Percentage of test completed. Based on DIMI test capability, +/* Percentage of test completed. Based on DIMI test capability, Value range is 0 - 100, 0xFF returned if capability not available. */ typedef SaHpiUint8T SaHpiDimiTestPercentCompletedT; typedef enum { - SAHPI_DIMI_READY, /* DIMI is in ready state to run a particular test */ + SAHPI_DIMI_READY, /* DIMI is in ready state to run a particular test */ SAHPI_DIMI_WRONG_STATE, /* DIMI is in the wrong state to run a particular test. For example, need to load a correct ServiceOS before this test can run */ - SAHPI_DIMI_BUSY /* DIMI cannot start a particular test at this - time. User can try again later. */ + SAHPI_DIMI_BUSY, /* DIMI cannot start a particular test at this + time. User can try again later. */ + SAHPI_DIMI_READY_MAX_VALID = SAHPI_DIMI_BUSY } SaHpiDimiReadyT; -typedef SaHpiUint32T SaHpiDimiTotalTestsT; +typedef struct { + SaHpiUint32T NumberOfTests; /* It is recommended that the DIMI + advertise all available tests + regardless of ServiceImpact or + Service OS */ +SaHpiUint32T TestNumUpdateCounter; /* If number of tests change for + DIMI this counter is incremented and + Event is generated*/ -typedef struct { - SaHpiDimiTotalTestsT NumberOfTests; /* It is recommended that the DIMI - advertise all available tests - regardless of ServiceImpact or - Service OS */ - SaHpiUint32T TestNumUpdateCounter; /* If number of tests change for - DIMI this counter is incremented - and Event is generated */ } SaHpiDimiInfoT; - /******************************************************************************* ******************************************************************************** ********** ********** -********** DIMI Resource Data Records ... [truncated message content] |