123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383 |
- /****************************************************************
- ****************************************************************
- ** **
- ** (C)Copyright 2005-2006, American Megatrends Inc. **
- ** **
- ** All Rights Reserved. **
- ** **
- ** 6145-F, Northbelt Parkway, Norcross, **
- ** **
- ** Georgia - 30071, USA. Phone-(770)-246-8600. **
- ** **
- ****************************************************************
- ****************************************************************
- ****************************************************************
- ****************************************************************
- *
- * ipmi_sensor.h
- * IPMI Sensor Requests and Responses.
- *
- * Author: Govind Kothandapani <govindk@ami.com>
- *
- ******************************************************************/
- #ifndef IPMI_SENSOR_H
- #define IPMI_SENSOR_H
- /*** External Definitions ***/
- #define SENSOR_TYPE_TEMP 0x01
- #define SENSOR_TYPE_SECUIRTY_VIOLATION 0x06
- #define SENSOR_TYPE_EVT_LOGGING 0x10
- #define SENSOR_TYPE_SYSTEM_EVENT 0x12
- #define SENSOR_TYPE_CRITICAL_INTERRUPT 0x13
- #define SENSOR_TYPE_MODULE_BOARD 0x15
- #define SENSOR_TYPE_WATCHDOG2 0x23
- #define SENSOR_TYPE_OS_CRITICAL_STOP 0x20
- #define SENSOR_TYPE_FRU_STATE 0x2C
- #define SENSOR_TYPE_SERV_STATE 0xF0
- #define FP_NMI_OFFSET 0x00
- #define PW_VIOLATION_OFFSET 0x05
- #define WDT_SENSOR_NUMBER 0xFE
- #define SECUIRTY_VIOLATION_SENSOR_NUMBER 0xFD
- #define NMI_SENSOR_NUMBER 0xFC
- #define SENSOR_SPECIFIC_READ_TYPE 0x6F
- #define SENSOR_SPECIFIC_OFFSET_MASK 0x0F
- #define PEF_ACTION_SEN_SPECIFIC_OFFSET 0xC4
- #define OS_RUNTIME_CRITICAL_STOP 0x01
- #define HOT_SWAP_SENSOR_START_NUM 0xD0
- #define SENSOR_TYPE_FRUSDR_COLLECTION 0xD0
- #define FRUSDR_COLLECTION_SENSOR_NUMBER 0xFD
- // 0 = Communication lost during FRU collection
- // 1 = FRU Invalid checksum
- // 2 = Communication lost during SDR collection
- #define FRU_COLLECTION_COMMUNICATION_LOST 0
- #define FRU_COLLECTION_INV_CHECKSUM 1
- #define SDR_COLLECTION_COMMUNICATION_LOST 2
- #define SDR_COLLECTION_INV_CC 3
- #define INVALID_PICMG_VERSION 4
- #pragma pack( 1 )
- /* GetSDRInfoRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t NumSensor;
- uint8_t Flags;
- uint32_t TimeStamp;
- } GetSDRInfoRes_T;
- /* GetDevSDRReq_T */
- typedef struct
- {
- uint16_t ReservationID;
- uint16_t RecID;
- uint8_t Offset;
- uint8_t Size;
- } GetDevSDRReq_T;
- /* GetDevSDRRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint16_t NextRecID;
- } GetDevSDRRes_T;
- /* ReserveDevSDRRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint16_t ReservationID;
- } ReserveDevSDRRes_T;
- /* GetSensorReadingFactorReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- uint8_t ReadingByte;
- } GetSensorReadingFactorReq_T;
- /* GetSensorReadingFactorRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t NextReading;
- uint8_t M_LSB;
- uint8_t M_MSB_Tolerance;
- uint8_t B_LSB;
- uint8_t B_MSB_Accuracy;
- uint8_t Accuracy_MSB_Exp;
- uint8_t RExp_BExp;
- } GetSensorReadingFactorRes_T;
- /* SetSensorHysterisisReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- uint8_t Reserved;
- uint8_t PositiveHysterisis;
- uint8_t NegativeHysterisis;
- } SetSensorHysterisisReq_T;
- /* SetSensorHysterisisRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- } SetSensorHysterisisRes_T;
- /* GetSensorHysterisisReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- uint8_t Reserved;
- } GetSensorHysterisisReq_T;
- /* GetSensorHysterisisRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t PositiveHysterisis;
- uint8_t NegativeHysterisis;
- } GetSensorHysterisisRes_T;
- /* SetSensorThresholdReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- uint8_t SetFlags;
- uint8_t LowerNonCritical;
- uint8_t LowerCritical;
- uint8_t LowerNonRecoverable;
- uint8_t UpperNonCritical;
- uint8_t UpperCritical;
- uint8_t UpperNonRecoverable;
- } SetSensorThresholdReq_T;
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t records[480];
- } SensorhistoryData_T;
- /* SetSensorThresholdRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- } SetSensorThresholdRes_T;
- /* GetSensorThresholdReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- } GetSensorThresholdReq_T;
- /* GetSensorThresholdRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t GetFlags;
- uint8_t LowerNonCritical;
- uint8_t LowerCritical;
- uint8_t LowerNonRecoverable;
- uint8_t UpperNonCritical;
- uint8_t UpperCritical;
- uint8_t UpperNonRecoverable;
- } GetSensorThresholdRes_T;
- /* SetSensorEventEnableReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- uint8_t Flags;
- uint16_t AssertionMask;
- uint16_t DeAssertionMask;
- } SetSensorEventEnableReq_T;
- /* SetSensorEventEnableRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- } SetSensorEventEnableRes_T;
- /* GetSensorEventEnableReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- } GetSensorEventEnableReq_T;
- /* GetSensorEventEnableRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t Flags;
- uint16_t AssertionMask;
- uint16_t DeAssertionMask;
- } GetSensorEventEnableRes_T;
- /* GetSensorReadingReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- } GetSensorReadingReq_T;
- /* GetSensorReadingRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t SensorReading;
- uint8_t Flags;
- uint8_t ComparisonStatus;
- uint8_t OptionalStatus;
- } GetSensorReadingRes_T;
- /* SetSensorTypeReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- uint8_t SensorType;
- uint8_t EventTypeCode;
- } SetSensorTypeReq_T;
- /* SetSensorTypeRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- } SetSensorTypeRes_T;
- /* GetSensorTypeReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- } GetSensorTypeReq_T;
- /* GetSensorTypeRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t SensorType;
- uint8_t EventTypeCode;
- } GetSensorTypeRes_T;
- /* ReArmSensorReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- uint8_t ReArmAllEvents;
- uint8_t ReArmAssertionEvents1;
- uint8_t ReArmAssertionEvents2;
- uint8_t ReArmDeassertionEvents1;
- uint8_t ReArmDeassertionEvents2;
- } ReArmSensorReq_T;
- /* ReArmSensorRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- } ReArmSensorRes_T;
- /* GetSensorEventStatusReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- } GetSensorEventStatusReq_T;
- /* GetSensorEventStatusRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- uint8_t Flags;
- uint8_t AssertionEvents1;
- uint8_t AssertionEvents2;
- uint8_t DeassertionEvents1;
- uint8_t DeassertionEvents2;
- } GetSensorEventStatusRes_T;
- /* SetSensorReadingReq_T */
- typedef struct
- {
- uint8_t SensorNum;
- uint8_t Operation;
- uint8_t SensorReading;
- uint8_t AssertionEventOccuredByte1;
- uint8_t AssertionEventOccuredByte2;
- uint8_t DeAssertionEventOccuredByte1;
- uint8_t DeAssertionEventOccuredByte2;
- uint8_t EvtData1;
- uint8_t EvtData2;
- uint8_t EvtData3;
- } SetSensorReadingReq_T;
- /* SetSensorReadingRes_T */
- typedef struct
- {
- uint8_t CompletionCode;
- } SetSensorReadingRes_T;
- #pragma pack( )
- #endif /* IPMI_SENSOR_H */
|