/****************************************************************
 ****************************************************************
 **                                                            **
 **    (C)Copyright 2005-2006, American Megatrends Inc.        **
 **                                                            **
 **            All Rights Reserved.                            **
 **                                                            **
 **        6145-F, Northbelt Parkway, Norcross,                **
 **                                                            **
 **        Georgia - 30071, USA. Phone-(770)-246-8600.         **
 **                                                            **
 ****************************************************************
 ****************************************************************
 ****************************************************************
 *
 * IPMI_IPMB.H
 * IPMB IPMI related structures
 *
 * Author: Rama Bisa <ramab@ami.com>
 *
 *
 *****************************************************************/
#ifndef IPMI_IPMB_H
#define IPMI_IPMB_H
#include <stdint.h>
#include <com_IPMIDefs.h>
#pragma pack( 1 )

/**
 * @struct IPMIEvtMsgHdr_T
 * @brief IPMI Event Message Header. 
**/
typedef struct
{
    IPMIMsgHdr_T    IPMIMsgHdr;
    uint8_t   EvMRev;
    uint8_t   SensorType;
    uint8_t   SensorNum;
    uint8_t   Ev_Type_Dir;
    uint8_t   EventData1;
    uint8_t   EventData2;
    uint8_t   EventData3;
    uint8_t   ChkSum;
}    IPMIEvtMsgHdr_T;


/**
 * @struct EvtRecord_T
 * @brief Event Record structure.
**/
typedef struct 
{
    uint8_t	GeneratorID;
    uint8_t	EvMRev;			/**< Event Message format version. */
    uint8_t	SensorType;		/**< Sensor Type Code. */
    uint8_t	SensorNum;		/**< Number of sensor that generated the event.	*/
    uint8_t	Ev_Type_Dir;	/**< [7]   - 0b = Assertion event	
    						 		   - 1b = Deassertion event.
    						     [6:0] - Event Type Code.   */
    uint8_t	EventData1;		/**< Event Data Field Contents.	*/
    uint8_t	EventData2;		/**< Event Data Field Contents.	*/
    uint8_t	EventData3;		/**< Event Data Field Contents.	*/

}    EvtRecord_T;

#pragma pack( )

#endif /* IPMI_IPMB_H */
