/*****************************************************************
 *****************************************************************
 ***                                                            **
 ***    (C)Copyright 2005-2006, American Megatrends Inc.        **
 ***                                                            **
 ***            All Rights Reserved.                            **
 ***                                                            **
 ***        6145-F, Northbelt Parkway, Norcross,                **
 ***                                                            **
 ***        Georgia - 30071, USA. Phone-(770)-246-8600.         **
 ***                                                            **
 *****************************************************************
 ******************************************************************
 *
 * AmiRestoreDefaults.h
 * AMI Restore Defaults command Macros
 *
 * Author: Gokula Kannan. S	<gokulakannans@amiindia.co.in>
 *
 ******************************************************************/
#ifndef __AMIRESTOREDEF_H__ 
#define __AMIRESTOREDEF_H__

#include "Types.h"

#ifdef __GNUC__
#define PACKED __attribute__ ((packed))
#else
#define PACKED
#pragma pack( 1 )
#endif
/* GetPreserveConfigRes_T */
typedef struct
{
	INT8U Selector;
} GetPreserveConfigReq_T;

/* GetPreserveConfigRes_T */
typedef struct
{
	INT8U   CompletionCode;
	INT8U	Status;
} GetPreserveConfigRes_T;

/* SetPreserveConfigReq_T */
typedef struct 
{
    INT8U Selector;
	INT8U	Status;
} SetPreserveConfigReq_T;

/* SetPreserveConfigRes_T */
typedef struct 
{
    INT8U   CompletionCode;
} SetPreserveConfigRes_T;

/* GetAllPreserveConfigRes_T */
typedef struct
{
    INT8U   CompletionCode;
    INT8U   Reserved;
    INT16U  Status;
    INT16U  EnabledStatus;
} PACKED GetAllPreserveConfigRes_T;

/* SetAllPreserveConfigReq_T */
typedef struct 
{
    INT16U   Status;
} PACKED SetAllPreserveConfigReq_T;

/* SetAllPreserveConfigRes_T */
typedef struct 
{
    INT8U   CompletionCode;
} PACKED SetAllPreserveConfigRes_T;

#ifdef __GNUC__
#else
#define PACKED
#pragma pack(  )
#endif

extern int AMIRestoreDefaults (_NEAR_ INT8U* pReq, INT32U ReqLen, _NEAR_ INT8U* pRes,int BMCInst);

extern int AMIGetPreserveConfStatus(_NEAR_ INT8U* pReq, INT32U ReqLen, _NEAR_ INT8U* pRes,int BMCInst);

extern int AMISetPreserveConfStatus(_NEAR_ INT8U* pReq, INT32U ReqLen, _NEAR_ INT8U* pRes,int BMCInst);

extern int AMISetAllPreserveConfStatus(_NEAR_ INT8U* pReq, INT32U ReqLen, _NEAR_ INT8U* pRes,int BMCInst);

extern int AMIGetAllPreserveConfStatus(_NEAR_ INT8U* pReq, INT32U ReqLen, _NEAR_ INT8U* pRes,int BMCInst);

#endif // __AMIRESTOREDEF_H__ 
