/****************************************************************
 ****************************************************************
 **                                                            **
 **    (C)Copyright 2005-2006, American Megatrends Inc.        **
 **                                                            **
 **            All Rights Reserved.                            **
 **                                                            **
 **        6145-F, Northbelt Parkway, Norcross,                **
 **                                                            **
 **        Georgia - 30071, USA. Phone-(770)-246-8600.         **
 **                                                            **
 ****************************************************************
 *****************************************************************
 *
 * IPMDevice.h
 * IPMDevice Commands Handler
 *
 * Author: Govind Kothandapani <govindk@ami.com> 
 *       : Rama Bisa <ramab@ami.com>
 *       : Basavaraj Astekar <basavaraja@ami.com>
 *       : Bakka Ravinder Reddy <bakkar@ami.com>
 * 
 *****************************************************************/
#ifndef IPMDEVICE_H
#define IPMDEVICE_H
#include "com_BmcType.h"

/*** Extern Declaration ***/




/**
 * @var _FAR_ uint8_t g_ACPISysPwrState
 * @brief Contains System ACPI state.
 * @warning Should not be accessed from task other than Message Handler
 **/

 /*Commented it inorder to access the data across the processes and moved it to the
 shared memory structure BMCSharedMem_T in SharedMem.h file*/

//extern _FAR_ uint8_t      g_ACPISysPwrState;

/**
 * @var _FAR_ uint8_t g_ACPIDevPwrState
 * @brief Contains Device ACPI state.
 * @warning Should not be accessed from task other than Message Handler
 **/

 /*Commented it inorder to access the data across the processes and moved it to the
 shared memory structure BMCSharedMem_T in SharedMem.h file*/

//	extern _FAR_ uint8_t      g_ACPIDevPwrState;

/*** Function Prototypes ***/
/**
 * @defgroup apcf1 IPM Device Commands
 * @ingroup apcf
 * IPMI IPM Device Command Handlers. Invoked by the message handler
 * @{
 **/
extern int GetDevID             ( uint8_t* pReq, uint8_t ReqLen,  uint8_t* pRes);
extern int ColdReset            ( uint8_t* pReq, uint8_t ReqLen,  uint8_t* pRes);
extern int WarmReset            ( uint8_t* pReq, uint8_t ReqLen,  uint8_t* pRes);
extern int GetSelfTestResults   ( uint8_t* pReq, uint8_t ReqLen,  uint8_t* pRes);
extern int MfgTestOn            ( uint8_t* pReq, uint8_t ReqLen,  uint8_t* pRes);
extern int SetACPIPwrState      ( uint8_t* pReq, uint8_t ReqLen,  uint8_t* pRes);
extern int GetACPIPwrState      ( uint8_t* pReq, uint8_t ReqLen,  uint8_t* pRes);
extern int GetDevGUID           ( uint8_t* pReq, uint8_t ReqLen,  uint8_t* pRes);
/** @} */

#endif  /* IPMDEVICE_H */
