/** @file
The definition of CFormPkg's member function
Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef _EFIIFRCLASS_H_
#define _EFIIFRCLASS_H_
#include "string.h"
#include "EfiVfr.h"
#include "VfrError.h"
#include "VfrUtilityLib.h"
struct PACKAGE_DATA {
};
/*
* The functions below are used for flags setting
*/
)
{
return Flags == 0;
}
)
{
}
)
{
return Ret;
}
)
{
}
/*
* The definition of CIfrBin
*/
typedef enum {
} ASSIGN_FLAG;
struct SPendingAssign {
~SPendingAssign ();
};
struct SBufferNode {
};
typedef struct {
~CFormPkg ();
EFI_VFR_RETURN_CODE AssignPending (IN CHAR8 *, IN VOID *, IN UINT32, IN UINT32, IN CONST CHAR8 *Msg = NULL);
bool HavePendingUnassigned (VOID);
);
};
extern CVfrStringDB gCVfrStringDB;
struct SIfrRecord {
SIfrRecord (VOID);
~SIfrRecord (VOID);
};
bool mSwitch;
~CIfrRecordInfoDB (VOID);
}
}
};
extern CIfrRecordInfoDB gCIfrRecordInfoDB;
/*
* The definition of CIfrObj
*/
CIfrObj (IN UINT8 OpCode, OUT CHAR8 **IfrObj = NULL, IN UINT8 ObjBinLen = 0, IN BOOLEAN DelayEmit = FALSE);
}
return mObjBinBuf;
}
return mObjBinLen;
}
return TRUE;
} else {
return FALSE;
}
}
mObjBinLen -= Size;
return TRUE;
} else {
return FALSE;
}
}
};
/*
* The definition of CIfrOpHeader
*/
}
}
}
}
}
}
}
}
};
extern UINT8 gScopeCount;
/*
* The definition of CIfrStatementHeader
*/
}
return mHeader;
}
}
}
};
/*
* The definition of CIfrQuestionHeader
*/
#define EFI_IFR_QUESTION_FLAG_DEFAULT 0
}
return mHeader->QuestionId;
}
return mHeader->VarStoreId;
}
}
}
}
}
}
}
}
}
//
// ignore NVAccessFlag
//
}
//
// Set LateCheck Flag to compatible for framework flag
// but it uses 0x20 as its flag, if in the future UEFI may take this flag
//
}
}
}
};
/*
* The definition of CIfrMinMaxStepData
*/
CIfrMinMaxStepData (MINMAXSTEP_DATA *DataAddr, BOOLEAN NumericOpcode=FALSE) : mMinMaxStepData (DataAddr) {
ValueIsSet = FALSE;
}
if (!ValueIsSet) {
ValueIsSet = TRUE;
} else {
}
}
}
}
if (!ValueIsSet) {
ValueIsSet = TRUE;
} else {
}
}
}
}
if (!ValueIsSet) {
ValueIsSet = TRUE;
} else {
}
}
}
}
if (!ValueIsSet) {
ValueIsSet = TRUE;
} else {
}
}
}
}
switch (VarType) {
case EFI_IFR_TYPE_NUM_SIZE_64:
break;
case EFI_IFR_TYPE_NUM_SIZE_32:
break;
case EFI_IFR_TYPE_NUM_SIZE_16:
break;
case EFI_IFR_TYPE_NUM_SIZE_8:
break;
default:
break;
}
return MinValue;
}
switch (VarType) {
case EFI_IFR_TYPE_NUM_SIZE_64:
break;
case EFI_IFR_TYPE_NUM_SIZE_32:
break;
case EFI_IFR_TYPE_NUM_SIZE_16:
break;
case EFI_IFR_TYPE_NUM_SIZE_8:
break;
default:
break;
}
return MaxValue;
}
switch (VarType) {
case EFI_IFR_TYPE_NUM_SIZE_64:
break;
case EFI_IFR_TYPE_NUM_SIZE_32:
break;
case EFI_IFR_TYPE_NUM_SIZE_16:
break;
case EFI_IFR_TYPE_NUM_SIZE_8:
break;
default:
break;
}
return MaxValue;
}
return IsNumeric;
}
};
/*
* The definition of all of the UEFI IFR Objects
*/
}
}
}
}
}
}
};
};
}
}
}
};
}
}
};
}
if (FormId == 0) {
//
// FormId can't be 0.
//
return VFR_RETURN_INVALID_PARAMETER;
}
return VFR_RETURN_FORMID_REDEFINED;
}
return VFR_RETURN_SUCCESS;
}
}
};
CIfrFormMap () : CIfrObj (EFI_IFR_FORM_MAP_OP, (CHAR8 **)&mFormMap, sizeof (EFI_IFR_FORM_MAP), TRUE),
}
if (FormId == 0) {
//
// FormId can't be 0.
//
return VFR_RETURN_INVALID_PARAMETER;
}
return VFR_RETURN_FORMID_REDEFINED;
}
return VFR_RETURN_SUCCESS;
}
if (ExpendObjBin (sizeof (EFI_IFR_FORM_MAP_METHOD))) {
IncLength (sizeof (EFI_IFR_FORM_MAP_METHOD));
mMethodMap ++;
}
}
};
CIfrVarStore () : CIfrObj (EFI_IFR_VARSTORE_OP, (CHAR8 **)&mVarStore, sizeof (EFI_IFR_VARSTORE), TRUE),
}
}
}
}
if (Len != 0) {
}
}
}
}
};
CIfrVarStoreEfi () : CIfrObj (EFI_IFR_VARSTORE_EFI_OP, (CHAR8 **)&mVarStoreEfi, sizeof (EFI_IFR_VARSTORE_EFI), TRUE),
mVarStoreEfi->Size = 0;
}
}
}
}
}
if (Len != 0) {
}
}
}
}
Len = sizeof (EFI_IFR_VARSTORE_EFI);
} else {
}
}
};
}
}
}
};
}
}
};
}
};
};
}
}
};
}
}
}
}
};
};
};
};
CIfrGet (
}
}
};
CIfrSet (
}
}
};
}
}
}
};
}
}
};
}
}
};
}
}
}
};
}
}
}
}
};
}
}
}
}
}
};
}
};
}
}
};
}
~CIfrCheckBox () {
}
if (Ret != VFR_RETURN_SUCCESS) {
return Ret;
}
}
}
}
}
};
}
}
};
}
if (Ret != VFR_RETURN_SUCCESS) {
return Ret;
}
}
}
}
}
}
};
class CIfrNumeric : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader, public CIfrMinMaxStepData {
}
~CIfrNumeric () {
}
if (Ret != VFR_RETURN_SUCCESS) {
return Ret;
}
if (LFlags & EFI_IFR_DISPLAY) {
} else {
}
return VFR_RETURN_SUCCESS;
}
};
class CIfrOneOf : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader, public CIfrMinMaxStepData {
}
~CIfrOneOf () {
}
if (Ret != VFR_RETURN_SUCCESS) {
return Ret;
}
if (LFlags & EFI_IFR_DISPLAY) {
} else {
}
return VFR_RETURN_SUCCESS;
}
};
}
~CIfrString () {
}
if (Ret != VFR_RETURN_SUCCESS) {
return Ret;
}
}
}
}
}
};
}
~CIfrPassword () {
}
}
}
};
mOrderedList->MaxContainers = 0;
mOrderedList->Flags = 0;
}
~CIfrOrderedList () {
}
}
if (Ret != VFR_RETURN_SUCCESS) {
return Ret;
}
}
}
}
};
}
if (Ret != VFR_RETURN_SUCCESS) {
return Ret;
}
}
}
}
}
}
};
};
};
};
}
}
};
}
}
};
mRefresh->RefreshInterval = 0;
}
}
};
}
}
};
}
}
};
mOneOfOption->Flags = 0;
}
}
}
}
}
}
}
}
return mOneOfOption->Flags;
}
};
}
}
};
}
}
};
}
}
};
}
}
}
}
};
}
};
}
};
CIfrTimeout (IN UINT16 Timeout = 0) : CIfrObj (EFI_IFR_GUID_OP, (CHAR8 **)&mTimeout, sizeof (EFI_IFR_GUID_TIMEOUT)),
}
}
};
}
}
}
};
CIfrDup (
}
};
}
) {
if (QuestionId != EFI_QUESTION_ID_INVALID) {
} else {
gCFormPkg.AssignPending (VarIdStr, (VOID *)(&mEqIdId->QuestionId1), sizeof (EFI_QUESTION_ID), LineNo, NO_QST_REFED);
}
}
) {
if (QuestionId != EFI_QUESTION_ID_INVALID) {
} else {
gCFormPkg.AssignPending (VarIdStr, (VOID *)(&mEqIdId->QuestionId2), sizeof (EFI_QUESTION_ID), LineNo, NO_QST_REFED);
}
}
};
}
) {
if (QuestionId != EFI_QUESTION_ID_INVALID) {
} else {
gCFormPkg.AssignPending (VarIdStr, (VOID *)(&mEqIdVal->QuestionId), sizeof (EFI_QUESTION_ID), LineNo, NO_QST_REFED);
}
}
}
};
) : CIfrObj (EFI_IFR_EQ_ID_VAL_LIST_OP, (CHAR8 **)&mEqIdVList, sizeof (EFI_IFR_EQ_ID_VAL_LIST), TRUE),
mEqIdVList->ListLength = 0;
mEqIdVList->ValueList[0] = 0;
}
) {
}
) {
if (QuestionId != EFI_QUESTION_ID_INVALID) {
} else {
gCFormPkg.AssignPending (VarIdStr, (VOID *)(&mEqIdVList->QuestionId), sizeof (EFI_QUESTION_ID), LineNo, NO_QST_REFED);
}
}
}
if (Index == 0) {
return;
}
}
}
};
}
) {
if (QuestionId != EFI_QUESTION_ID_INVALID) {
} else {
gCFormPkg.AssignPending (VarIdStr, (VOID *)(&mQuestionRef1->QuestionId), sizeof (EFI_QUESTION_ID), LineNo, NO_QST_REFED);
}
}
};
}
};
}
};
) : CIfrObj (EFI_IFR_QUESTION_REF3_OP, (CHAR8 **)&mQuestionRef3_2, sizeof (EFI_IFR_QUESTION_REF3_2)),
CIfrOpHeader (EFI_IFR_QUESTION_REF3_OP, &mQuestionRef3_2->Header, sizeof (EFI_IFR_QUESTION_REF3_2)) {
}
}
};
) : CIfrObj (EFI_IFR_QUESTION_REF3_OP, (CHAR8 **)&mQuestionRef3_3, sizeof (EFI_IFR_QUESTION_REF3_3)),
CIfrOpHeader (EFI_IFR_QUESTION_REF3_OP, &mQuestionRef3_3->Header, sizeof (EFI_IFR_QUESTION_REF3_3)) {
}
}
}
};
}
}
};
}
}
};
}
};
CIfrThis (
}
};
}
}
};
}
}
};
}
}
};
}
}
};
}
}
};
CIfrTrue (
}
};
}
};
CIfrOne (
}
};
CIfrOnes (
}
};
CIfrZero (
}
};
}
};
}
};
}
};
CIfrNot (
}
};
}
};
}
};
}
}
};
}
};
}
};
}
};
CIfrAdd (
}
};
}
};
}
};
CIfrAnd (
}
};
}
};
}
};
}
};
}
};
}
};
}
};
}
};
CIfrMap (
}
};
}
};
}
};
}
};
}
};
CIfrOr (
}
};
}
};
}
};
}
};
}
};
CIfrFind (
}
}
};
CIfrMid (
}
};
}
};
CIfrSpan (
}
}
}
};
#endif