4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/** @file
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The definition of CFormPkg's member function
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncCopyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncThis program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncare licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncwhich accompanies this distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynchttp://opensource.org/licenses/bsd-license.php
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#ifndef _EFIIFRCLASS_H_
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define _EFIIFRCLASS_H_
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#include "string.h"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#include "EfiVfr.h"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#include "VfrError.h"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#include "VfrUtilityLib.h"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define NO_QST_REFED "no question refered"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstruct PACKAGE_DATA {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR8 *Buffer;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 Size;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/*
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * The functions below are used for flags setting
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstatic inline BOOLEAN _FLAGS_ZERO (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 &Flags
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync )
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync{
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return Flags == 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstatic inline VOID _FLAG_CLEAR (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 &Flags,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 Mask
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync )
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync{
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Flags &= (~Mask);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstatic inline UINT8 _FLAG_TEST_AND_CLEAR (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 &Flags,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 Mask
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync )
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync{
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 Ret = Flags & Mask;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Flags &= (~Mask);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstatic inline UINT8 _IS_EQUAL (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 &Flags,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 Value
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync )
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync{
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return Flags == Value;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/*
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * The definition of CIfrBin
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef enum {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PENDING,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSIGNED
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} ASSIGN_FLAG;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstruct SPendingAssign {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR8 *mKey; // key ! unique
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID *mAddr;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 mLen;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSIGN_FLAG mFlag;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 mLineNo;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR8 *mMsg;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync struct SPendingAssign *mNext;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SPendingAssign (IN CHAR8 *, IN VOID *, IN UINT32, IN UINT32, IN CONST CHAR8 *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ~SPendingAssign ();
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetAddrAndLen (IN VOID *, IN UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID AssignValue (IN VOID *, IN UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR8 * GetKey (VOID);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstruct SBufferNode {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR8 *mBufferStart;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR8 *mBufferEnd;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR8 *mBufferFree;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync struct SBufferNode *mNext;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynctypedef struct {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BOOLEAN CompatibleMode;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_GUID *OverrideClassGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync} INPUT_INFO_TO_SYNTAX;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CFormPkg {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 mBufferSize;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SBufferNode *mBufferNodeQueueHead;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SBufferNode *mBufferNodeQueueTail;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SBufferNode *mCurrBufferNode;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SBufferNode *mReadBufferNode;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 mReadBufferOffset;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 mPkgLength;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID _WRITE_PKG_LINE (IN FILE *, IN UINT32 , IN CONST CHAR8 *, IN CHAR8 *, IN UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID _WRITE_PKG_END (IN FILE *, IN UINT32 , IN CONST CHAR8 *, IN CHAR8 *, IN UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SPendingAssign *PendingAssignList;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CFormPkg (IN UINT32 BufferSize);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ~CFormPkg ();
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR8 * IfrBinBufferGet (IN UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync inline UINT32 GetPkgLength (VOID);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID Open ();
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 Read (IN CHAR8 *, IN UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID Close ();
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE BuildPkgHdr (OUT EFI_HII_PACKAGE_HEADER **);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE BuildPkg (IN FILE *, IN PACKAGE_DATA *PkgData = NULL);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE BuildPkg (OUT PACKAGE_DATA &);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE GenCFile (IN CHAR8 *, IN FILE *, IN PACKAGE_DATA *PkgData = NULL);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE AssignPending (IN CHAR8 *, IN VOID *, IN UINT32, IN UINT32, IN CONST CHAR8 *Msg = NULL);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID DoPendingAssign (IN CHAR8 *, IN VOID *, IN UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync bool HavePendingUnassigned (VOID);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID PendingAssignPrintAll (VOID);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE DeclarePendingQuestion (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CVfrVarDataTypeDB &lCVfrVarDataTypeDB,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CVfrDataStorage &lCVfrDataStorage,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CVfrQuestionDB &lCVfrQuestionDB,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_GUID *LocalFormSetGuid,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern CFormPkg gCFormPkg;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern CVfrStringDB gCVfrStringDB;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstruct SIfrRecord {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 mLineNo;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR8 *mIfrBinBuf;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 mBinBufLen;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 mOffset;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SIfrRecord *mNext;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SIfrRecord (VOID);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ~SIfrRecord (VOID);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_IFR_RECORDINFO_IDX_INVALUD 0xFFFFFF
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_IFR_RECORDINFO_IDX_START 0x0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrRecordInfoDB {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync bool mSwitch;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 mRecordCount;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SIfrRecord *mIfrRecordListHead;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SIfrRecord *mIfrRecordListTail;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SIfrRecord * GetRecordInfoFromIdx (IN UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BOOLEAN CheckQuestionOpCode (IN UINT8);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BOOLEAN CheckIdOpCode (IN UINT8);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_QUESTION_ID GetOpcodeQuestionId (IN EFI_IFR_OP_HEADER *);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrRecordInfoDB (VOID);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ~CIfrRecordInfoDB (VOID);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync inline VOID TurnOn (VOID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSwitch = TRUE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync inline VOID TurnOff (VOID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSwitch = FALSE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 IfrRecordRegister (IN UINT32, IN CHAR8 *, IN UINT8, IN UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID IfrRecordInfoUpdate (IN UINT32, IN UINT32, IN CHAR8*, IN UINT8, IN UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID IfrRecordOutput (IN FILE *, IN UINT32 LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID IfrRecordOutput (OUT PACKAGE_DATA &);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE IfrRecordAdjust (VOID);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern CIfrRecordInfoDB gCIfrRecordInfoDB;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/*
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * The definition of CIfrObj
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern BOOLEAN gCreateOp;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrObj {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BOOLEAN mDelayEmit;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CHAR8 *mObjBinBuf;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 mObjBinLen;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 mLineNo;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 mRecordIdx;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 mPkgOffset;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrObj (IN UINT8 OpCode, OUT CHAR8 **IfrObj = NULL, IN UINT8 ObjBinLen = 0, IN BOOLEAN DelayEmit = FALSE);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync virtual ~CIfrObj(VOID);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID _EMIT_PENDING_OBJ (VOID);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync inline VOID SetLineNo (IN UINT32 LineNo) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mLineNo = LineNo;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync inline CHAR8 * GetObjBinAddr (VOID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return mObjBinBuf;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync inline UINT8 GetObjBinLen (VOID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return mObjBinLen;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync inline bool ExpendObjBin (IN UINT8 Size) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if ((mDelayEmit == TRUE) && ((mObjBinLen + Size) > mObjBinLen)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mObjBinLen = mObjBinLen + Size;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return TRUE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return FALSE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync inline bool ShrinkObjBin (IN UINT8 Size) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if ((mDelayEmit == TRUE) && (mObjBinLen > Size)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mObjBinLen -= Size;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return TRUE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return FALSE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/*
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * The definition of CIfrOpHeader
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_OP_HEADER *mHeader;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (IN UINT8 OpCode, IN VOID *StartAddr, IN UINT8 Length = 0);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (IN CIfrOpHeader &);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID IncLength (UINT8 Size) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if ((mHeader->Length + Size) > mHeader->Length) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Length = mHeader->Length + Size;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID DecLength (UINT8 Size) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (mHeader->Length >= Size) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Length -= Size;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 GetLength () {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return mHeader->Length;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 GetScope () {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return mHeader->Scope;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetScope (IN UINT8 Scope) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Scope = Scope;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID UpdateHeader (IN EFI_IFR_OP_HEADER *Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader = Header;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncextern UINT8 gScopeCount;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/*
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * The definition of CIfrStatementHeader
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrStatementHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_STATEMENT_HEADER *mHeader;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrStatementHeader (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_IFR_STATEMENT_HEADER *StartAddr
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : mHeader ((EFI_IFR_STATEMENT_HEADER *)StartAddr) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader = StartAddr;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Help = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Prompt = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_STATEMENT_HEADER *GetStatementHeader () {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return mHeader;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetPrompt (IN EFI_STRING_ID Prompt) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Prompt = Prompt;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetHelp (IN EFI_STRING_ID Help) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Help = Help;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/*
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * The definition of CIfrQuestionHeader
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_IFR_QUESTION_FLAG_DEFAULT 0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrQuestionHeader : public CIfrStatementHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_QUESTION_HEADER *mHeader;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_STATEMENT_HEADER * QH2SH (EFI_IFR_QUESTION_HEADER *Qheader) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return &(Qheader)->Header;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_QUESTION_ID QUESTION_ID (VOID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return mHeader->QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VARSTORE_ID VARSTORE_ID (VOID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return mHeader->VarStoreId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID VARSTORE_INFO (OUT EFI_VARSTORE_INFO *Info) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Info != NULL) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Info->mVarStoreId = mHeader->VarStoreId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memcpy (&Info->mVarStoreId, &mHeader->VarStoreInfo, sizeof (Info->mVarStoreId));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 FLAGS (VOID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return mHeader->Flags;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_IFR_QUESTION_HEADER *StartAddr,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 Flags = EFI_IFR_QUESTION_FLAG_DEFAULT
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrStatementHeader (QH2SH(StartAddr)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader = StartAddr;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->QuestionId = EFI_QUESTION_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->VarStoreId = EFI_VARSTORE_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->VarStoreInfo.VarName = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->VarStoreInfo.VarOffset = EFI_VAROFFSET_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Flags = Flags;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetQuestionId (IN EFI_QUESTION_ID QuestionId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->QuestionId = QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetVarStoreInfo (IN EFI_VARSTORE_INFO *Info) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->VarStoreId = Info->mVarStoreId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->VarStoreInfo.VarName = Info->mInfo.mVarName;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->VarStoreInfo.VarOffset = Info->mInfo.mVarOffset;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFlags (IN UINT8 Flags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (Flags, EFI_IFR_FLAG_READ_ONLY)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Flags |= EFI_IFR_FLAG_READ_ONLY;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _FLAG_CLEAR (Flags, 0x02);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (Flags, EFI_IFR_FLAG_CALLBACK)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Flags |= EFI_IFR_FLAG_CALLBACK;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // ignore NVAccessFlag
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _FLAG_CLEAR (Flags, 0x08);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (Flags, EFI_IFR_FLAG_RESET_REQUIRED)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Flags |= EFI_IFR_FLAG_RESET_REQUIRED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // Set LateCheck Flag to compatible for framework flag
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // but it uses 0x20 as its flag, if in the future UEFI may take this flag
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (Flags, 0x20)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Flags |= 0x20;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (Flags, EFI_IFR_FLAG_OPTIONS_ONLY)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mHeader->Flags |= EFI_IFR_FLAG_OPTIONS_ONLY;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return _FLAGS_ZERO (Flags) ? VFR_RETURN_SUCCESS : VFR_RETURN_FLAGS_UNSUPPORTED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/*
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * The definition of CIfrMinMaxStepData
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrMinMaxStepData {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MINMAXSTEP_DATA *mMinMaxStepData;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BOOLEAN ValueIsSet;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BOOLEAN IsNumeric;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrMinMaxStepData (MINMAXSTEP_DATA *DataAddr, BOOLEAN NumericOpcode=FALSE) : mMinMaxStepData (DataAddr) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u64.MinValue = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u64.MaxValue = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u64.Step = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ValueIsSet = FALSE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IsNumeric = NumericOpcode;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetMinMaxStepData (IN UINT64 MinValue, IN UINT64 MaxValue, IN UINT64 Step) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (!ValueIsSet) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u64.MinValue = MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u64.MaxValue = MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ValueIsSet = TRUE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (MinValue < mMinMaxStepData->u64.MinValue) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u64.MinValue = MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (MaxValue > mMinMaxStepData->u64.MaxValue) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u64.MaxValue = MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u64.Step = Step;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetMinMaxStepData (IN UINT32 MinValue, IN UINT32 MaxValue, IN UINT32 Step) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (!ValueIsSet) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u32.MinValue = MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u32.MaxValue = MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ValueIsSet = TRUE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (MinValue < mMinMaxStepData->u32.MinValue) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u32.MinValue = MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (MaxValue > mMinMaxStepData->u32.MaxValue) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u32.MaxValue = MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u32.Step = Step;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetMinMaxStepData (IN UINT16 MinValue, IN UINT16 MaxValue, IN UINT16 Step) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (!ValueIsSet) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u16.MinValue = MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u16.MaxValue = MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ValueIsSet = TRUE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (MinValue < mMinMaxStepData->u16.MinValue) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u16.MinValue = MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (MaxValue > mMinMaxStepData->u16.MaxValue) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u16.MaxValue = MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u16.Step = Step;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetMinMaxStepData (IN UINT8 MinValue, IN UINT8 MaxValue, IN UINT8 Step) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (!ValueIsSet) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u8.MinValue = MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u8.MaxValue = MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ValueIsSet = TRUE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (MinValue < mMinMaxStepData->u8.MinValue) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u8.MinValue = MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (MaxValue > mMinMaxStepData->u8.MaxValue) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u8.MaxValue = MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMinMaxStepData->u8.Step = Step;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT64 GetMinData (UINT8 VarType) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT64 MinValue = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync switch (VarType) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_64:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MinValue = mMinMaxStepData->u64.MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_32:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MinValue = (UINT64) mMinMaxStepData->u32.MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_16:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MinValue = (UINT64) mMinMaxStepData->u16.MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_8:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MinValue = (UINT64) mMinMaxStepData->u8.MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync default:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return MinValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT64 GetMaxData (UINT8 VarType) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT64 MaxValue = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync switch (VarType) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_64:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MaxValue = mMinMaxStepData->u64.MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_32:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MaxValue = (UINT64) mMinMaxStepData->u32.MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_16:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MaxValue = (UINT64) mMinMaxStepData->u16.MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_8:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MaxValue = (UINT64) mMinMaxStepData->u8.MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync default:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT64 GetStepData (UINT8 VarType) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT64 MaxValue = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync switch (VarType) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_64:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MaxValue = mMinMaxStepData->u64.Step;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_32:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MaxValue = (UINT64) mMinMaxStepData->u32.Step;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_16:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MaxValue = (UINT64) mMinMaxStepData->u16.Step;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync case EFI_IFR_TYPE_NUM_SIZE_8:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MaxValue = (UINT64) mMinMaxStepData->u8.Step;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync default:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync break;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return MaxValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BOOLEAN IsNumericOpcode () {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return IsNumeric;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstatic CIfrQuestionHeader *gCurrentQuestion = NULL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstatic CIfrMinMaxStepData *gCurrentMinMaxData = NULL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/*
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * The definition of all of the UEFI IFR Objects
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrFormSet : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_FORM_SET *mFormSet;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_GUID *mClassGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrFormSet (UINT8 Size) : CIfrObj (EFI_IFR_FORM_SET_OP, (CHAR8 **)&mFormSet, Size),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_FORM_SET_OP, &mFormSet->Header, Size) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mFormSet->Help = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mFormSet->FormSetTitle = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mFormSet->Flags = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memset (&mFormSet->Guid, 0, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mClassGuid = (EFI_GUID *) (mFormSet + 1);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetGuid (IN EFI_GUID *Guid) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memcpy (&mFormSet->Guid, Guid, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetFormSetTitle (IN EFI_STRING_ID FormSetTitle) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mFormSet->FormSetTitle = FormSetTitle;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetHelp (IN EFI_STRING_ID Help) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mFormSet->Help = Help;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetClassGuid (IN EFI_GUID *Guid) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memcpy (&(mClassGuid[mFormSet->Flags++]), Guid, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 GetFlags() {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return mFormSet->Flags;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrEnd : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_END *mEnd;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrEnd () : CIfrObj (EFI_IFR_END_OP, (CHAR8 **)&mEnd),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_END_OP, &mEnd->Header) {}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrDefaultStore : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_DEFAULTSTORE *mDefaultStore;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrDefaultStore () : CIfrObj (EFI_IFR_DEFAULTSTORE_OP, (CHAR8 **)&mDefaultStore),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_DEFAULTSTORE_OP, &mDefaultStore->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDefaultStore->DefaultId = EFI_VARSTORE_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDefaultStore->DefaultName = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetDefaultName (IN EFI_STRING_ID DefaultName) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDefaultStore->DefaultName = DefaultName;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetDefaultId (IN UINT16 DefaultId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDefaultStore->DefaultId = DefaultId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_FORM_ID_MAX 0xFFFF
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define EFI_FREE_FORM_ID_BITMAP_SIZE ((EFI_FORM_ID_MAX + 1) / EFI_BITS_PER_UINT32)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrFormId {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync STATIC UINT32 FormIdBitMap[EFI_FREE_FORM_ID_BITMAP_SIZE];
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync STATIC BOOLEAN ChekFormIdFree (IN EFI_FORM_ID FormId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 Index = (FormId / EFI_BITS_PER_UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 Offset = (FormId % EFI_BITS_PER_UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return (FormIdBitMap[Index] & (0x80000000 >> Offset)) == 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync STATIC VOID MarkFormIdUsed (IN EFI_FORM_ID FormId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 Index = (FormId / EFI_BITS_PER_UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT32 Offset = (FormId % EFI_BITS_PER_UINT32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync FormIdBitMap[Index] |= (0x80000000 >> Offset);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrForm : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_FORM *mForm;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrForm () : CIfrObj (EFI_IFR_FORM_OP, (CHAR8 **)&mForm),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_FORM_OP, &mForm->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mForm->FormId = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mForm->FormTitle = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFormId (IN EFI_FORM_ID FormId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (FormId == 0) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // FormId can't be 0.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return VFR_RETURN_INVALID_PARAMETER;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (CIfrFormId::ChekFormIdFree (FormId) == FALSE) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return VFR_RETURN_FORMID_REDEFINED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mForm->FormId = FormId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrFormId::MarkFormIdUsed (FormId);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return VFR_RETURN_SUCCESS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetFormTitle (IN EFI_STRING_ID FormTitle) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mForm->FormTitle = FormTitle;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrFormMap : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_FORM_MAP *mFormMap;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_FORM_MAP_METHOD *mMethodMap;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrFormMap () : CIfrObj (EFI_IFR_FORM_MAP_OP, (CHAR8 **)&mFormMap, sizeof (EFI_IFR_FORM_MAP), TRUE),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_FORM_MAP_OP, &mFormMap->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mFormMap->FormId = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMethodMap = (EFI_IFR_FORM_MAP_METHOD *) (mFormMap + 1);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFormId (IN EFI_FORM_ID FormId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (FormId == 0) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync // FormId can't be 0.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync //
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return VFR_RETURN_INVALID_PARAMETER;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (CIfrFormId::ChekFormIdFree (FormId) == FALSE) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return VFR_RETURN_FORMID_REDEFINED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mFormMap->FormId = FormId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrFormId::MarkFormIdUsed (FormId);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return VFR_RETURN_SUCCESS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetFormMapMethod (IN EFI_STRING_ID MethodTitle, IN EFI_GUID *MethodGuid) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (ExpendObjBin (sizeof (EFI_IFR_FORM_MAP_METHOD))) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IncLength (sizeof (EFI_IFR_FORM_MAP_METHOD));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMethodMap->MethodTitle = MethodTitle;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memcpy (&(mMethodMap->MethodIdentifier), MethodGuid, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mMethodMap ++;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrVarStore : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_VARSTORE *mVarStore;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrVarStore () : CIfrObj (EFI_IFR_VARSTORE_OP, (CHAR8 **)&mVarStore, sizeof (EFI_IFR_VARSTORE), TRUE),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_VARSTORE_OP, &mVarStore->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStore->VarStoreId = EFI_VARSTORE_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStore->Size = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memset (&mVarStore->Guid, 0, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStore->Name[0] = '\0';
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetGuid (IN EFI_GUID *Guid) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memcpy (&mVarStore->Guid, Guid, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetVarStoreId (IN EFI_VARSTORE_ID VarStoreId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStore->VarStoreId = VarStoreId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetSize (IN UINT16 Size) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStore->Size = Size;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetName (IN CHAR8 *Name) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 Len;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Name != NULL) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Len = (UINT8) strlen (Name);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Len != 0) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (ExpendObjBin (Len) == TRUE) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IncLength (Len);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync strcpy ((CHAR8 *)(mVarStore->Name), Name);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrVarStoreEfi : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_VARSTORE_EFI *mVarStoreEfi;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrVarStoreEfi () : CIfrObj (EFI_IFR_VARSTORE_EFI_OP, (CHAR8 **)&mVarStoreEfi, sizeof (EFI_IFR_VARSTORE_EFI), TRUE),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_VARSTORE_EFI_OP, &mVarStoreEfi->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStoreEfi->VarStoreId = EFI_VAROFFSET_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStoreEfi->Size = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memset (&mVarStoreEfi->Guid, 0, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStoreEfi->Name[0] = '\0';
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetGuid (IN EFI_GUID *Guid) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memcpy (&mVarStoreEfi->Guid, Guid, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetVarStoreId (IN UINT16 VarStoreId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStoreEfi->VarStoreId = VarStoreId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetAttributes (IN UINT32 Attributes) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStoreEfi->Attributes = Attributes;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetSize (IN UINT16 Size) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStoreEfi->Size = Size;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetName (IN CHAR8 *Name) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 Len;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Name != NULL) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Len = (UINT8) strlen (Name);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Len != 0) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (ExpendObjBin (Len) == TRUE) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IncLength (Len);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync strcpy ((CHAR8 *)(mVarStoreEfi->Name), Name);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetBinaryLength (IN UINT16 Size) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT16 Len;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Len = sizeof (EFI_IFR_VARSTORE_EFI);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Size > Len) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ExpendObjBin(Size - Len);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IncLength(Size - Len);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ShrinkObjBin(Len - Size);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync DecLength(Len - Size);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrVarStoreNameValue : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_VARSTORE_NAME_VALUE *mVarStoreNameValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrVarStoreNameValue () : CIfrObj (EFI_IFR_VARSTORE_NAME_VALUE_OP, (CHAR8 **)&mVarStoreNameValue),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_VARSTORE_NAME_VALUE_OP, &mVarStoreNameValue->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStoreNameValue->VarStoreId = EFI_VAROFFSET_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memset (&mVarStoreNameValue->Guid, 0, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetGuid (IN EFI_GUID *Guid) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memcpy (&mVarStoreNameValue->Guid, Guid, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetVarStoreId (IN UINT16 VarStoreId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStoreNameValue->VarStoreId = VarStoreId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrImage : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_IMAGE *mImage;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrImage () : CIfrObj (EFI_IFR_IMAGE_OP, (CHAR8 **)&mImage),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_IMAGE_OP, &mImage->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mImage->Id = EFI_IMAGE_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetImageId (IN EFI_IMAGE_ID ImageId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mImage->Id = ImageId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrModal : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_MODAL *mModal;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrModal () : CIfrObj (EFI_IFR_MODAL_TAG_OP, (CHAR8 **)&mModal),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_MODAL_TAG_OP, &mModal->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrLocked : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_LOCKED *mLocked;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrLocked () : CIfrObj (EFI_IFR_LOCKED_OP, (CHAR8 **)&mLocked),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_LOCKED_OP, &mLocked->Header) {}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrRule : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_RULE *mRule;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrRule () : CIfrObj (EFI_IFR_RULE_OP, (CHAR8 **)&mRule),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRule ((EFI_IFR_RULE *)GetObjBinAddr()),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_RULE_OP, &mRule->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRule->RuleId = EFI_RULE_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetRuleId (IN UINT8 RuleId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRule->RuleId = RuleId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstatic EFI_IFR_TYPE_VALUE gZeroEfiIfrTypeValue = {0, };
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrDefault : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_DEFAULT *mDefault;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrDefault (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT16 DefaultId = EFI_HII_DEFAULT_CLASS_STANDARD,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT8 Type = EFI_IFR_TYPE_OTHER,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_IFR_TYPE_VALUE Value = gZeroEfiIfrTypeValue
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_DEFAULT_OP, (CHAR8 **)&mDefault),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_DEFAULT_OP, &mDefault->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDefault->Type = Type;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDefault->Value = Value;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDefault->DefaultId = DefaultId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetDefaultId (IN UINT16 DefaultId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDefault->DefaultId = DefaultId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetType (IN UINT8 Type) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDefault->Type = Type;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetValue (IN EFI_IFR_TYPE_VALUE Value) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDefault->Value = Value;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrValue : public CIfrObj, public CIfrOpHeader{
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_VALUE *mValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrValue () : CIfrObj (EFI_IFR_VALUE_OP, (CHAR8 **)&mValue),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_VALUE_OP, &mValue->Header) {}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrRead : public CIfrObj, public CIfrOpHeader{
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_READ *mRead;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrRead () : CIfrObj (EFI_IFR_READ_OP, (CHAR8 **)&mRead),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_READ_OP, &mRead->Header) {}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrWrite : public CIfrObj, public CIfrOpHeader{
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_WRITE *mWrite;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrWrite () : CIfrObj (EFI_IFR_WRITE_OP, (CHAR8 **)&mWrite),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_WRITE_OP, &mWrite->Header) {}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrGet : public CIfrObj, public CIfrOpHeader{
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GET *mGet;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrGet (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_GET_OP, (CHAR8 **)&mGet),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GET_OP, &mGet->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetVarInfo (IN EFI_VARSTORE_INFO *Info) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mGet->VarStoreId = Info->mVarStoreId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mGet->VarStoreInfo.VarName = Info->mInfo.mVarName;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mGet->VarStoreInfo.VarOffset = Info->mInfo.mVarOffset;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mGet->VarStoreType = Info->mVarType;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrSet : public CIfrObj, public CIfrOpHeader{
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_SET *mSet;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrSet (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_SET_OP, (CHAR8 **)&mSet),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_SET_OP, &mSet->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetVarInfo (IN EFI_VARSTORE_INFO *Info) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSet->VarStoreId = Info->mVarStoreId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSet->VarStoreInfo.VarName = Info->mInfo.mVarName;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSet->VarStoreInfo.VarOffset = Info->mInfo.mVarOffset;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSet->VarStoreType = Info->mVarType;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrSubtitle : public CIfrObj, public CIfrOpHeader, public CIfrStatementHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_SUBTITLE *mSubtitle;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrSubtitle () : CIfrObj (EFI_IFR_SUBTITLE_OP, (CHAR8 **)&mSubtitle),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_SUBTITLE_OP, &mSubtitle->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrStatementHeader (&mSubtitle->Statement) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSubtitle->Flags = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFlags (IN UINT8 LFlags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_IFR_FLAGS_HORIZONTAL)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSubtitle->Flags |= EFI_IFR_FLAGS_HORIZONTAL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return _FLAGS_ZERO (LFlags) ? VFR_RETURN_SUCCESS : VFR_RETURN_FLAGS_UNSUPPORTED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrText : public CIfrObj, public CIfrOpHeader, public CIfrStatementHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_TEXT *mText;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrText () : CIfrObj (EFI_IFR_TEXT_OP, (CHAR8 **)&mText),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_TEXT_OP, &mText->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrStatementHeader (&mText->Statement) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mText->TextTwo = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetTextTwo (IN EFI_STRING_ID StringId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mText->TextTwo = StringId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrRef : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_REF *mRef;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrRef () : CIfrObj (EFI_IFR_REF_OP, (CHAR8 **)&mRef),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_REF_OP, &mRef->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mRef->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef->FormId = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetFormId (IN EFI_FORM_ID FormId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef->FormId = FormId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrRef2 : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_REF2 *mRef2;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrRef2 () : CIfrObj (EFI_IFR_REF_OP, (CHAR8 **)&mRef2, sizeof (EFI_IFR_REF2)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_REF_OP, &mRef2->Header, sizeof (EFI_IFR_REF2)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mRef2->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef2->FormId = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef2->QuestionId = EFI_QUESTION_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetFormId (IN EFI_FORM_ID FormId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef2->FormId = FormId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetQuestionId (IN EFI_QUESTION_ID QuestionId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef2->QuestionId = QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrRef3 : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_REF3 *mRef3;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrRef3 () : CIfrObj (EFI_IFR_REF_OP, (CHAR8 **)&mRef3, sizeof(EFI_IFR_REF3)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_REF_OP, &mRef3->Header, sizeof (EFI_IFR_REF3)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mRef3->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef3->FormId = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef3->QuestionId = EFI_QUESTION_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memset (&mRef3->FormSetId, 0, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetFormId (IN EFI_FORM_ID FormId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef3->FormId = FormId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetQuestionId (IN EFI_QUESTION_ID QuestionId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef3->QuestionId = QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetFormSetId (IN EFI_GUID FormSetId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef3->FormSetId = FormSetId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrRef4 : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_REF4 *mRef4;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrRef4 () : CIfrObj (EFI_IFR_REF_OP, (CHAR8 **)&mRef4, sizeof(EFI_IFR_REF4)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_REF_OP, &mRef4->Header, sizeof(EFI_IFR_REF4)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mRef4->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef4->FormId = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef4->QuestionId = EFI_QUESTION_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memset (&mRef4->FormSetId, 0, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef4->DevicePath = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetFormId (IN EFI_FORM_ID FormId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef4->FormId = FormId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetQuestionId (IN EFI_QUESTION_ID QuestionId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef4->QuestionId = QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetFormSetId (IN EFI_GUID FormSetId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef4->FormSetId = FormSetId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetDevicePath (IN EFI_STRING_ID DevicePath) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRef4->DevicePath = DevicePath;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrRef5 : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_REF5 *mRef5;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrRef5 () : CIfrObj (EFI_IFR_REF_OP, (CHAR8 **)&mRef5, sizeof (EFI_IFR_REF5)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_REF_OP, &mRef5->Header, sizeof (EFI_IFR_REF5)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mRef5->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrResetButton : public CIfrObj, public CIfrOpHeader, public CIfrStatementHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_RESET_BUTTON *mResetButton;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrResetButton () : CIfrObj (EFI_IFR_RESET_BUTTON_OP, (CHAR8 **)&mResetButton),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_RESET_BUTTON_OP, &mResetButton->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrStatementHeader (&mResetButton->Statement) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mResetButton->DefaultId = EFI_HII_DEFAULT_CLASS_STANDARD;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetDefaultId (IN UINT16 DefaultId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mResetButton->DefaultId = DefaultId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrCheckBox : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_CHECKBOX *mCheckBox;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrCheckBox () : CIfrObj (EFI_IFR_CHECKBOX_OP, (CHAR8 **)&mCheckBox),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_CHECKBOX_OP, &mCheckBox->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mCheckBox->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mCheckBox->Flags = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = this;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ~CIfrCheckBox () {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = NULL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFlags (IN UINT8 HFlags, UINT8 LFlags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Ret = CIfrQuestionHeader::SetFlags (HFlags);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Ret != VFR_RETURN_SUCCESS) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_IFR_CHECKBOX_DEFAULT)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mCheckBox->Flags |= EFI_IFR_CHECKBOX_DEFAULT;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_IFR_CHECKBOX_DEFAULT_MFG)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mCheckBox->Flags |= EFI_IFR_CHECKBOX_DEFAULT_MFG;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return _FLAGS_ZERO (LFlags) ? VFR_RETURN_SUCCESS : VFR_RETURN_FLAGS_UNSUPPORTED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 GetFlags (VOID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return mCheckBox->Flags;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrAction : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_ACTION *mAction;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrAction () : CIfrObj (EFI_IFR_ACTION_OP, (CHAR8 **)&mAction),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_ACTION_OP, &mAction->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mAction->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mAction->QuestionConfig = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetQuestionConfig (IN EFI_STRING_ID QuestionConfig) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mAction->QuestionConfig = QuestionConfig;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrDate : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_DATE *mDate;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrDate () : CIfrObj (EFI_IFR_DATE_OP, (CHAR8 **)&mDate),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_DATE_OP, &mDate->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mDate->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDate->Flags = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFlags (IN UINT8 HFlags, IN UINT8 LFlags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Ret = CIfrQuestionHeader::SetFlags (HFlags);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Ret != VFR_RETURN_SUCCESS) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_QF_DATE_YEAR_SUPPRESS)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDate->Flags |= EFI_QF_DATE_YEAR_SUPPRESS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_QF_DATE_MONTH_SUPPRESS)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDate->Flags |= EFI_QF_DATE_MONTH_SUPPRESS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_QF_DATE_DAY_SUPPRESS)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDate->Flags |= EFI_QF_DATE_DAY_SUPPRESS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, QF_DATE_STORAGE_NORMAL)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDate->Flags |= QF_DATE_STORAGE_NORMAL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_FLAG_TEST_AND_CLEAR (LFlags, QF_DATE_STORAGE_TIME)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDate->Flags |= QF_DATE_STORAGE_TIME;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_FLAG_TEST_AND_CLEAR (LFlags, QF_DATE_STORAGE_WAKEUP)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDate->Flags |= QF_DATE_STORAGE_WAKEUP;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return _FLAGS_ZERO (LFlags) ? VFR_RETURN_SUCCESS : VFR_RETURN_FLAGS_UNSUPPORTED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrNumeric : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader, public CIfrMinMaxStepData {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_NUMERIC *mNumeric;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrNumeric () : CIfrObj (EFI_IFR_NUMERIC_OP, (CHAR8 **)&mNumeric),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_NUMERIC_OP, &mNumeric->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mNumeric->Question),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrMinMaxStepData (&mNumeric->data, TRUE) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mNumeric->Flags = EFI_IFR_NUMERIC_SIZE_1 | EFI_IFR_DISPLAY_UINT_DEC;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = this;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentMinMaxData = this;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ~CIfrNumeric () {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = NULL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentMinMaxData = NULL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFlags (IN UINT8 HFlags, IN UINT8 LFlags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Ret = CIfrQuestionHeader::SetFlags (HFlags);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Ret != VFR_RETURN_SUCCESS) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (LFlags & EFI_IFR_DISPLAY) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mNumeric->Flags = LFlags;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mNumeric->Flags = LFlags | EFI_IFR_DISPLAY_UINT_DEC;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return VFR_RETURN_SUCCESS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrOneOf : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader, public CIfrMinMaxStepData {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_ONE_OF *mOneOf;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOneOf () : CIfrObj (EFI_IFR_ONE_OF_OP, (CHAR8 **)&mOneOf),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_ONE_OF_OP, &mOneOf->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mOneOf->Question),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrMinMaxStepData (&mOneOf->data) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOf->Flags = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = this;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentMinMaxData = this;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ~CIfrOneOf () {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = NULL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentMinMaxData = NULL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFlags (IN UINT8 HFlags, IN UINT8 LFlags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Ret = CIfrQuestionHeader::SetFlags (HFlags);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Ret != VFR_RETURN_SUCCESS) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (LFlags & EFI_IFR_DISPLAY) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOf->Flags = LFlags;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOf->Flags = LFlags | EFI_IFR_DISPLAY_UINT_DEC;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return VFR_RETURN_SUCCESS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrString : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_STRING *mString;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrString () : CIfrObj (EFI_IFR_STRING_OP, (CHAR8 **)&mString),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_STRING_OP, &mString->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mString->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mString->Flags = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mString->MinSize = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mString->MaxSize = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = this;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ~CIfrString () {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = NULL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFlags (IN UINT8 HFlags, IN UINT8 LFlags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Ret = CIfrQuestionHeader::SetFlags (HFlags);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Ret != VFR_RETURN_SUCCESS) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_IFR_STRING_MULTI_LINE)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mString->Flags |= EFI_IFR_STRING_MULTI_LINE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return _FLAGS_ZERO (LFlags) ? VFR_RETURN_SUCCESS : VFR_RETURN_FLAGS_UNSUPPORTED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetMinSize (IN UINT8 Flags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mString->MinSize = Flags;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetMaxSize (IN UINT8 MaxSize) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mString->MaxSize = MaxSize;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrPassword : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_PASSWORD *mPassword;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrPassword () : CIfrObj (EFI_IFR_PASSWORD_OP, (CHAR8 **)&mPassword),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_PASSWORD_OP, &mPassword->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mPassword->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mPassword->MinSize = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mPassword->MaxSize = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = this;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ~CIfrPassword () {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = NULL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetMinSize (IN UINT16 MinSize) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mPassword->MinSize = MinSize;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetMaxSize (IN UINT16 MaxSize) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mPassword->MaxSize = MaxSize;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrOrderedList : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_ORDERED_LIST *mOrderedList;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOrderedList () : CIfrObj (EFI_IFR_ORDERED_LIST_OP, (CHAR8 **)&mOrderedList),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_ORDERED_LIST_OP, &mOrderedList->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mOrderedList->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOrderedList->MaxContainers = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOrderedList->Flags = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = this;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ~CIfrOrderedList () {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCurrentQuestion = NULL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetMaxContainers (IN UINT8 MaxContainers) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOrderedList->MaxContainers = MaxContainers;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFlags (IN UINT8 HFlags, IN UINT8 LFlags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Ret = CIfrQuestionHeader::SetFlags (HFlags);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Ret != VFR_RETURN_SUCCESS) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_IFR_UNIQUE_SET)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOrderedList->Flags |= EFI_IFR_UNIQUE_SET;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_IFR_NO_EMPTY_SET)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOrderedList->Flags |= EFI_IFR_NO_EMPTY_SET;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return _FLAGS_ZERO (LFlags) ? VFR_RETURN_SUCCESS : VFR_RETURN_FLAGS_UNSUPPORTED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrTime : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_TIME *mTime;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrTime () : CIfrObj (EFI_IFR_TIME_OP, (CHAR8 **)&mTime),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_TIME_OP, &mTime->Header),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionHeader (&mTime->Question) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mTime->Flags = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFlags (IN UINT8 HFlags, IN UINT8 LFlags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Ret = CIfrQuestionHeader::SetFlags (HFlags);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Ret != VFR_RETURN_SUCCESS) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return Ret;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, QF_TIME_HOUR_SUPPRESS)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mTime->Flags |= QF_TIME_HOUR_SUPPRESS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, QF_TIME_MINUTE_SUPPRESS)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mTime->Flags |= QF_TIME_MINUTE_SUPPRESS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, QF_TIME_SECOND_SUPPRESS)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mTime->Flags |= QF_TIME_SECOND_SUPPRESS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, QF_TIME_STORAGE_NORMAL)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mTime->Flags |= QF_TIME_STORAGE_NORMAL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_FLAG_TEST_AND_CLEAR (LFlags, QF_TIME_STORAGE_TIME)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mTime->Flags |= QF_TIME_STORAGE_TIME;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_FLAG_TEST_AND_CLEAR (LFlags, QF_TIME_STORAGE_WAKEUP)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mTime->Flags |= QF_TIME_STORAGE_WAKEUP;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return _FLAGS_ZERO (LFlags) ? VFR_RETURN_SUCCESS : VFR_RETURN_FLAGS_UNSUPPORTED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrDisableIf : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_DISABLE_IF *mDisableIf;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrDisableIf () : CIfrObj (EFI_IFR_DISABLE_IF_OP, (CHAR8 **)&mDisableIf),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mDisableIf ((EFI_IFR_DISABLE_IF *) GetObjBinAddr()),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_DISABLE_IF_OP, &mDisableIf->Header) {}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrSuppressIf : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_SUPPRESS_IF *mSuppressIf;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrSuppressIf () : CIfrObj (EFI_IFR_SUPPRESS_IF_OP, (CHAR8 **)&mSuppressIf),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_SUPPRESS_IF_OP, &mSuppressIf->Header) {}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrGrayOutIf : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GRAY_OUT_IF *mGrayOutIf;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrGrayOutIf () : CIfrObj (EFI_IFR_GRAY_OUT_IF_OP, (CHAR8 **)&mGrayOutIf),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GRAY_OUT_IF_OP, &mGrayOutIf->Header) {}
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrInconsistentIf : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_INCONSISTENT_IF *mInconsistentIf;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrInconsistentIf () : CIfrObj (EFI_IFR_INCONSISTENT_IF_OP, (CHAR8 **)&mInconsistentIf),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_INCONSISTENT_IF_OP, &mInconsistentIf->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mInconsistentIf->Error = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetError (IN EFI_STRING_ID Error) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mInconsistentIf->Error = Error;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrNoSubmitIf : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_NO_SUBMIT_IF *mNoSubmitIf;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrNoSubmitIf () : CIfrObj (EFI_IFR_NO_SUBMIT_IF_OP, (CHAR8 **)&mNoSubmitIf),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_NO_SUBMIT_IF_OP, &mNoSubmitIf->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mNoSubmitIf->Error = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetError (IN EFI_STRING_ID Error) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mNoSubmitIf->Error = Error;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrRefresh : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_REFRESH *mRefresh;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrRefresh () : CIfrObj (EFI_IFR_REFRESH_OP, (CHAR8 **)&mRefresh),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_REFRESH_OP, &mRefresh->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRefresh->RefreshInterval = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetRefreshInterval (IN UINT8 RefreshInterval) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRefresh->RefreshInterval = RefreshInterval;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrRefreshId : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_REFRESH_ID *mRefreshId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrRefreshId () : CIfrObj (EFI_IFR_REFRESH_ID_OP, (CHAR8 **)&mRefreshId),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_REFRESH_ID_OP, &mRefreshId->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memset (&mRefreshId->RefreshEventGroupId, 0, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetRefreshEventGroutId (IN EFI_GUID *RefreshEventGroupId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memcpy (&mRefreshId->RefreshEventGroupId, RefreshEventGroupId, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrVarStoreDevice : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_VARSTORE_DEVICE *mVarStoreDevice;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrVarStoreDevice () : CIfrObj (EFI_IFR_VARSTORE_DEVICE_OP, (CHAR8 **)&mVarStoreDevice),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_VARSTORE_DEVICE_OP, &mVarStoreDevice->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStoreDevice->DevicePath = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetDevicePath (IN EFI_STRING_ID DevicePath) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarStoreDevice->DevicePath = DevicePath;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrOneOfOption : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_ONE_OF_OPTION *mOneOfOption;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOneOfOption () : CIfrObj (EFI_IFR_ONE_OF_OPTION_OP, (CHAR8 **)&mOneOfOption),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_ONE_OF_OPTION_OP, &mOneOfOption->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Option = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Type = EFI_IFR_TYPE_OTHER;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memset (&mOneOfOption->Value, 0, sizeof (mOneOfOption->Value));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetOption (IN EFI_STRING_ID Option) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Option = Option;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFlags (IN UINT8 LFlags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_IFR_OPTION_DEFAULT)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags |= EFI_IFR_OPTION_DEFAULT;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_IFR_OPTION_DEFAULT_MFG)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags |= EFI_IFR_OPTION_DEFAULT_MFG;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_IS_EQUAL (LFlags, EFI_IFR_TYPE_NUM_SIZE_8)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _FLAG_CLEAR (LFlags, EFI_IFR_TYPE_NUM_SIZE_8);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags |= EFI_IFR_TYPE_NUM_SIZE_8;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_IS_EQUAL (LFlags, EFI_IFR_TYPE_NUM_SIZE_16)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _FLAG_CLEAR (LFlags, EFI_IFR_TYPE_NUM_SIZE_16);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags |= EFI_IFR_TYPE_NUM_SIZE_16;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_IS_EQUAL (LFlags, EFI_IFR_TYPE_NUM_SIZE_32)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _FLAG_CLEAR (LFlags, EFI_IFR_TYPE_NUM_SIZE_32);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags |= EFI_IFR_TYPE_NUM_SIZE_32;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_IS_EQUAL (LFlags, EFI_IFR_TYPE_NUM_SIZE_64)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _FLAG_CLEAR (LFlags, EFI_IFR_TYPE_NUM_SIZE_64);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags |= EFI_IFR_TYPE_NUM_SIZE_64;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_IS_EQUAL (LFlags, EFI_IFR_TYPE_BOOLEAN)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _FLAG_CLEAR (LFlags, EFI_IFR_TYPE_BOOLEAN);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags |= EFI_IFR_TYPE_BOOLEAN;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_IS_EQUAL (LFlags, EFI_IFR_TYPE_TIME)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _FLAG_CLEAR (LFlags, EFI_IFR_TYPE_TIME);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags |= EFI_IFR_TYPE_TIME;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_IS_EQUAL (LFlags, EFI_IFR_TYPE_DATE)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _FLAG_CLEAR (LFlags, EFI_IFR_TYPE_DATE);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags |= EFI_IFR_TYPE_DATE;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_IS_EQUAL (LFlags, EFI_IFR_TYPE_STRING)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _FLAG_CLEAR (LFlags, EFI_IFR_TYPE_STRING);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags |= EFI_IFR_TYPE_STRING;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_IS_EQUAL (LFlags, EFI_IFR_TYPE_OTHER)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _FLAG_CLEAR (LFlags, EFI_IFR_TYPE_OTHER);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Flags |= EFI_IFR_TYPE_OTHER;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return _FLAGS_ZERO (LFlags) ? VFR_RETURN_SUCCESS : VFR_RETURN_FLAGS_UNSUPPORTED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetType (IN UINT8 Type) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Type = Type;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetValue (IN EFI_IFR_TYPE_VALUE Value) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOneOfOption->Value = Value;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UINT8 GetFlags (VOID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return mOneOfOption->Flags;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstatic EFI_GUID IfrTianoGuid = EFI_IFR_TIANO_GUID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncstatic EFI_GUID IfrFrameworkGuid = EFI_IFR_FRAMEWORK_GUID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrClass : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GUID_CLASS *mClass;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrClass () : CIfrObj (EFI_IFR_GUID_OP, (CHAR8 **)&mClass, sizeof (EFI_IFR_GUID_CLASS)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GUID_OP, &mClass->Header, sizeof (EFI_IFR_GUID_CLASS)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mClass->ExtendOpCode = EFI_IFR_EXTEND_OP_CLASS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mClass->Guid = IfrTianoGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mClass->Class = EFI_NON_DEVICE_CLASS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetClass (IN UINT16 Class) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mClass->Class = Class;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrSubClass : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GUID_SUBCLASS *mSubClass;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrSubClass () : CIfrObj (EFI_IFR_GUID_OP, (CHAR8 **)&mSubClass, sizeof (EFI_IFR_GUID_SUBCLASS)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GUID_OP, &mSubClass->Header, sizeof (EFI_IFR_GUID_SUBCLASS)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSubClass->ExtendOpCode = EFI_IFR_EXTEND_OP_SUBCLASS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSubClass->Guid = IfrTianoGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSubClass->SubClass = EFI_SETUP_APPLICATION_SUBCLASS;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetSubClass (IN UINT16 SubClass) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSubClass->SubClass = SubClass;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrLabel : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GUID_LABEL *mLabel;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrLabel () : CIfrObj (EFI_IFR_GUID_OP, (CHAR8 **)&mLabel, sizeof (EFI_IFR_GUID_LABEL)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GUID_OP, &mLabel->Header, sizeof (EFI_IFR_GUID_LABEL)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mLabel->ExtendOpCode = EFI_IFR_EXTEND_OP_LABEL;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mLabel->Guid = IfrTianoGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetNumber (IN UINT16 Number) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mLabel->Number = Number;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrBanner : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GUID_BANNER *mBanner;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrBanner () : CIfrObj (EFI_IFR_GUID_OP, (CHAR8 **)&mBanner, sizeof (EFI_IFR_GUID_BANNER)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GUID_OP, &mBanner->Header, sizeof (EFI_IFR_GUID_BANNER)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mBanner->ExtendOpCode = EFI_IFR_EXTEND_OP_BANNER;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mBanner->Guid = IfrTianoGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetTitle (IN EFI_STRING_ID StringId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mBanner->Title = StringId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetLine (IN UINT16 Line) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mBanner->LineNumber = Line;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetAlign (IN UINT8 Align) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mBanner->Alignment = Align;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrOptionKey : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GUID_OPTIONKEY *mOptionKey;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOptionKey (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_QUESTION_ID QuestionId,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_IFR_TYPE_VALUE &OptionValue,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_QUESTION_ID KeyValue
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_GUID_OP, (CHAR8 **)&mOptionKey, sizeof (EFI_IFR_GUID_OPTIONKEY)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GUID_OP, &mOptionKey->Header, sizeof (EFI_IFR_GUID_OPTIONKEY)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOptionKey->ExtendOpCode = EFI_IFR_EXTEND_OP_OPTIONKEY;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOptionKey->Guid = IfrFrameworkGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOptionKey->QuestionId = QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOptionKey->OptionValue = OptionValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mOptionKey->KeyValue = KeyValue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrVarEqName : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GUID_VAREQNAME *mVarEqName;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrVarEqName (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_QUESTION_ID QuestionId,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_STRING_ID NameId
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_GUID_OP, (CHAR8 **)&mVarEqName, sizeof (EFI_IFR_GUID_VAREQNAME)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GUID_OP, &mVarEqName->Header, sizeof (EFI_IFR_GUID_VAREQNAME)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarEqName->ExtendOpCode = EFI_IFR_EXTEND_OP_VAREQNAME;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarEqName->Guid = IfrFrameworkGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarEqName->QuestionId = QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mVarEqName->NameId = NameId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrTimeout : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GUID_TIMEOUT *mTimeout;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrTimeout (IN UINT16 Timeout = 0) : CIfrObj (EFI_IFR_GUID_OP, (CHAR8 **)&mTimeout, sizeof (EFI_IFR_GUID_TIMEOUT)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GUID_OP, &mTimeout->Header, sizeof (EFI_IFR_GUID_TIMEOUT)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mTimeout->ExtendOpCode = EFI_IFR_EXTEND_OP_TIMEOUT;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mTimeout->Guid = IfrTianoGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mTimeout->TimeOut = Timeout;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetTimeout (IN UINT16 Timeout) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mTimeout->TimeOut = Timeout;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrGuid : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GUID *mGuid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrGuid (UINT8 Size) : CIfrObj (EFI_IFR_GUID_OP, (CHAR8 **)&mGuid, sizeof (EFI_IFR_GUID)+Size),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GUID_OP, &mGuid->Header, sizeof (EFI_IFR_GUID)+Size) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memset (&mGuid->Guid, 0, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetGuid (IN EFI_GUID *Guid) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memcpy (&mGuid->Guid, Guid, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetData (IN UINT8* DataBuff, IN UINT8 Size) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memcpy ((UINT8 *)mGuid + sizeof (EFI_IFR_GUID), DataBuff, Size);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrDup : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_DUP *mDup;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrDup (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_DUP_OP, (CHAR8 **)&mDup),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_DUP_OP, &mDup->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrEqIdId : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_EQ_ID_ID *mEqIdId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrEqIdId (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_EQ_ID_ID_OP, (CHAR8 **)&mEqIdId),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_EQ_ID_ID_OP, &mEqIdId->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdId->QuestionId1 = EFI_QUESTION_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdId->QuestionId2 = EFI_QUESTION_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetQuestionId1 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_QUESTION_ID QuestionId,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR8 *VarIdStr,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (QuestionId != EFI_QUESTION_ID_INVALID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdId->QuestionId1 = QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCFormPkg.AssignPending (VarIdStr, (VOID *)(&mEqIdId->QuestionId1), sizeof (EFI_QUESTION_ID), LineNo, NO_QST_REFED);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetQuestionId2 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_QUESTION_ID QuestionId,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR8 *VarIdStr,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (QuestionId != EFI_QUESTION_ID_INVALID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdId->QuestionId2 = QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCFormPkg.AssignPending (VarIdStr, (VOID *)(&mEqIdId->QuestionId2), sizeof (EFI_QUESTION_ID), LineNo, NO_QST_REFED);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrEqIdVal : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_EQ_ID_VAL *mEqIdVal;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrEqIdVal (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_EQ_ID_VAL_OP, (CHAR8 **)&mEqIdVal),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_EQ_ID_VAL_OP, &mEqIdVal->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdVal->QuestionId = EFI_QUESTION_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetQuestionId (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_QUESTION_ID QuestionId,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR8 *VarIdStr,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (QuestionId != EFI_QUESTION_ID_INVALID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdVal->QuestionId = QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCFormPkg.AssignPending (VarIdStr, (VOID *)(&mEqIdVal->QuestionId), sizeof (EFI_QUESTION_ID), LineNo, NO_QST_REFED);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetValue (IN UINT16 Value) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdVal->Value = Value;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrEqIdList : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_EQ_ID_VAL_LIST *mEqIdVList;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrEqIdList (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_EQ_ID_VAL_LIST_OP, (CHAR8 **)&mEqIdVList, sizeof (EFI_IFR_EQ_ID_VAL_LIST), TRUE),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_EQ_ID_VAL_LIST_OP, &mEqIdVList->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdVList->QuestionId = EFI_QUESTION_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdVList->ListLength = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdVList->ValueList[0] = 0;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID UpdateIfrBuffer (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync _EMIT_PENDING_OBJ();
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdVList = (EFI_IFR_EQ_ID_VAL_LIST *) GetObjBinAddr();
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UpdateHeader (&mEqIdVList->Header);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetQuestionId (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_QUESTION_ID QuestionId,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR8 *VarIdStr,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (QuestionId != EFI_QUESTION_ID_INVALID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdVList->QuestionId = QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCFormPkg.AssignPending (VarIdStr, (VOID *)(&mEqIdVList->QuestionId), sizeof (EFI_QUESTION_ID), LineNo, NO_QST_REFED);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetListLength (IN UINT16 ListLength) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdVList->ListLength = ListLength;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetValueList (IN UINT16 Index, IN UINT16 Value) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (Index == 0) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdVList->ValueList[0] = Value;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (ExpendObjBin (sizeof (UINT16)) ==TRUE) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IncLength (sizeof (UINT16));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mEqIdVList->ValueList[Index] = Value;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrQuestionRef1 : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_QUESTION_REF1 *mQuestionRef1;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionRef1 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_QUESTION_REF1_OP, (CHAR8 **)&mQuestionRef1),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_QUESTION_REF1_OP, &mQuestionRef1->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mQuestionRef1->QuestionId = EFI_QUESTION_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetQuestionId (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN EFI_QUESTION_ID QuestionId,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CHAR8 *VarIdStr,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (QuestionId != EFI_QUESTION_ID_INVALID) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mQuestionRef1->QuestionId = QuestionId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gCFormPkg.AssignPending (VarIdStr, (VOID *)(&mQuestionRef1->QuestionId), sizeof (EFI_QUESTION_ID), LineNo, NO_QST_REFED);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrQuestionRef2 : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_QUESTION_REF2 *mQuestionRef2;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionRef2 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_QUESTION_REF2_OP, (CHAR8 **)&mQuestionRef2),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_QUESTION_REF2_OP, &mQuestionRef2->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrQuestionRef3 : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_QUESTION_REF3 *mQuestionRef3;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionRef3 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_QUESTION_REF3_OP, (CHAR8 **)&mQuestionRef3),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_QUESTION_REF3_OP, &mQuestionRef3->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrQuestionRef3_2 : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_QUESTION_REF3_2 *mQuestionRef3_2;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionRef3_2 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_QUESTION_REF3_OP, (CHAR8 **)&mQuestionRef3_2, sizeof (EFI_IFR_QUESTION_REF3_2)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_QUESTION_REF3_OP, &mQuestionRef3_2->Header, sizeof (EFI_IFR_QUESTION_REF3_2)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mQuestionRef3_2->DevicePath = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetDevicePath (IN EFI_STRING_ID DevicePath) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mQuestionRef3_2->DevicePath = DevicePath;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrQuestionRef3_3 : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_QUESTION_REF3_3 *mQuestionRef3_3;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrQuestionRef3_3 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_QUESTION_REF3_OP, (CHAR8 **)&mQuestionRef3_3, sizeof (EFI_IFR_QUESTION_REF3_3)),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_QUESTION_REF3_OP, &mQuestionRef3_3->Header, sizeof (EFI_IFR_QUESTION_REF3_3)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mQuestionRef3_3->DevicePath = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memset (&mQuestionRef3_3->Guid, 0, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetDevicePath (IN EFI_STRING_ID DevicePath) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mQuestionRef3_3->DevicePath = DevicePath;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetGuid (IN EFI_GUID *Guid) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mQuestionRef3_3->Guid = *Guid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrRuleRef : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_RULE_REF *mRuleRef;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrRuleRef (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_RULE_REF_OP, (CHAR8 **)&mRuleRef),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_RULE_REF_OP, &mRuleRef->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRuleRef->RuleId = EFI_RULE_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetRuleId (IN UINT8 RuleId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mRuleRef->RuleId = RuleId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrStringRef1 : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_STRING_REF1 *mStringRef1;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrStringRef1 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_STRING_REF1_OP, (CHAR8 **)&mStringRef1),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_STRING_REF1_OP, &mStringRef1->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mStringRef1->StringId = EFI_STRING_ID_INVALID;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetStringId (IN EFI_STRING_ID StringId) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mStringRef1->StringId = StringId;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrStringRef2 : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_STRING_REF2 *mStringRef2;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrStringRef2 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_STRING_REF2_OP, (CHAR8 **)&mStringRef2),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_STRING_REF2_OP, &mStringRef2->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrThis : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_THIS *mThis;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrThis (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_THIS_OP, (CHAR8 **)&mThis),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_THIS_OP, &mThis->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrSecurity : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_SECURITY *mSecurity;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrSecurity (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_SECURITY_OP, (CHAR8 **)&mSecurity),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_SECURITY_OP, &mSecurity->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memset (&mSecurity->Permissions, 0, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetPermissions (IN EFI_GUID *Permissions) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync memcpy (&mSecurity->Permissions, Permissions, sizeof (EFI_GUID));
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrUint8 : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_UINT8 *mUint8;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrUint8 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_UINT8_OP, (CHAR8 **)&mUint8),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_UINT8_OP, &mUint8->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetValue (IN UINT8 Value) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mUint8->Value = Value;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrUint16 : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_UINT16 *mUint16;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrUint16 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_UINT16_OP, (CHAR8 **)&mUint16),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_UINT16_OP, &mUint16->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetValue (IN UINT16 Value) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mUint16->Value = Value;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrUint32 : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_UINT32 *mUint32;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrUint32 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_UINT32_OP, (CHAR8 **)&mUint32),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_UINT32_OP, &mUint32->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetValue (IN UINT32 Value) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mUint32->Value = Value;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrUint64 : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_UINT64 *mUint64;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrUint64 (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_UINT64_OP, (CHAR8 **)&mUint64),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_UINT64_OP, &mUint64->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetValue (IN UINT64 Value) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mUint64->Value = Value;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrTrue : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_TRUE *mTrue;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrTrue (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_TRUE_OP, (CHAR8 **)&mTrue),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_TRUE_OP, &mTrue->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrFalse : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_FALSE *mFalse;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrFalse (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_FALSE_OP, (CHAR8 **)&mFalse),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_FALSE_OP, &mFalse->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrOne : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_ONE *mOne;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOne (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_ONE_OP, (CHAR8 **)&mOne),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_ONE_OP, &mOne->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrOnes : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_ONES *mOnes;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOnes (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_ONES_OP, (CHAR8 **)&mOnes),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_ONES_OP, &mOnes->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrZero : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_ZERO *mZero;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrZero (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_ZERO_OP, (CHAR8 **)&mZero),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_ZERO_OP, &mZero->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrUndefined : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_UNDEFINED *mUndefined;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrUndefined (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_UNDEFINED_OP, (CHAR8 **)&mUndefined),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_UNDEFINED_OP, &mUndefined->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrVersion : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_VERSION *mVersion;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrVersion (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_VERSION_OP, (CHAR8 **)&mVersion),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_VERSION_OP, &mVersion->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrLength : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_LENGTH *mLength;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrLength (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_LENGTH_OP, (CHAR8 **)&mLength),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_LENGTH_OP, &mLength->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrNot : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_NOT *mNot;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrNot (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_NOT_OP, (CHAR8 **)&mNot),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_NOT_OP, &mNot->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrBitWiseNot : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_BITWISE_NOT *mBitWise;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrBitWiseNot (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_BITWISE_NOT_OP, (CHAR8 **)&mBitWise),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_BITWISE_NOT_OP, &mBitWise->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrToBoolean : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_TO_BOOLEAN *mToBoolean;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrToBoolean (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_TO_BOOLEAN_OP, (CHAR8 **)&mToBoolean),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_TO_BOOLEAN_OP, &mToBoolean->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrToString : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_TO_STRING *mToString;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrToString (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_TO_STRING_OP, (CHAR8 **)&mToString),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_TO_STRING_OP, &mToString->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetFormat (IN UINT8 Format) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mToString->Format = Format;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrToUint : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_TO_UINT *mToUint;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrToUint (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_TO_UINT_OP, (CHAR8 **)&mToUint),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_TO_UINT_OP, &mToUint->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrToUpper : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_TO_UPPER *mToUpper;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrToUpper (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_TO_UPPER_OP, (CHAR8 **)&mToUpper),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_TO_UPPER_OP, &mToUpper->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrToLower : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_TO_LOWER *mToLower;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrToLower (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_TO_LOWER_OP, (CHAR8 **)&mToLower),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_TO_LOWER_OP, &mToLower->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrAdd : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_ADD *mAdd;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrAdd (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_ADD_OP, (CHAR8 **)&mAdd),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_ADD_OP, &mAdd->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrBitWiseAnd : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_BITWISE_AND *mBitWiseAnd;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrBitWiseAnd (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_BITWISE_AND_OP, (CHAR8 **)&mBitWiseAnd),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_BITWISE_AND_OP, &mBitWiseAnd->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo(LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrBitWiseOr : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_BITWISE_OR *mBitWiseOr;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrBitWiseOr (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_BITWISE_OR_OP, (CHAR8 **)&mBitWiseOr),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_BITWISE_OR_OP, &mBitWiseOr->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrAnd : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_AND *mAnd;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrAnd (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_AND_OP, (CHAR8 **)&mAnd),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_AND_OP, &mAnd->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrCatenate : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_CATENATE *mCatenate;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrCatenate (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_CATENATE_OP, (CHAR8 **)&mCatenate),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_CATENATE_OP, &mCatenate->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrDivide : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_DIVIDE *mDivide;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrDivide (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_DIVIDE_OP, (CHAR8 **)&mDivide),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_DIVIDE_OP, &mDivide->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrEqual : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_EQUAL *mEqual;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrEqual (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_EQUAL_OP, (CHAR8 **)&mEqual),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_EQUAL_OP, &mEqual->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrGreaterEqual : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GREATER_EQUAL *mGreaterEqual;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrGreaterEqual (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_GREATER_EQUAL_OP, (CHAR8 **)&mGreaterEqual),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GREATER_EQUAL_OP, &mGreaterEqual->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrGreaterThan : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_GREATER_THAN *mGreaterThan;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrGreaterThan (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_GREATER_THAN_OP, (CHAR8 **)&mGreaterThan),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_GREATER_THAN_OP, &mGreaterThan->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrLessEqual : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_LESS_EQUAL *mLessEqual;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrLessEqual (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_LESS_EQUAL_OP, (CHAR8 **)&mLessEqual),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_LESS_EQUAL_OP, &mLessEqual->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrLessThan : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_LESS_THAN *mLessThan;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrLessThan (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_LESS_THAN_OP, (CHAR8 **)&mLessThan),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_LESS_THAN_OP, &mLessThan->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrMap : public CIfrObj, public CIfrOpHeader{
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_MAP *mMap;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrMap (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_MAP_OP, (CHAR8 **)&mMap),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_MAP_OP, &mMap->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrMatch : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_MATCH *mMatch;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrMatch (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_MATCH_OP, (CHAR8 **)&mMatch),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_MATCH_OP, &mMatch->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrMultiply : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_MULTIPLY *mMultiply;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrMultiply (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_MULTIPLY_OP, (CHAR8 **)&mMultiply),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_MULTIPLY_OP, &mMultiply->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrModulo : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_MODULO *mModulo;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrModulo (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_MODULO_OP, (CHAR8 **)&mModulo),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_MODULO_OP, &mModulo->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrNotEqual : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_NOT_EQUAL *mNotEqual;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrNotEqual (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_NOT_EQUAL_OP, (CHAR8 **)&mNotEqual),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_NOT_EQUAL_OP, &mNotEqual->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrOr : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_OR *mOr;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOr (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_OR_OP, (CHAR8 **)&mOr),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_OR_OP, &mOr->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrShiftLeft : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_SHIFT_LEFT *mShiftLeft;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrShiftLeft (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_SHIFT_LEFT_OP, (CHAR8 **)&mShiftLeft),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_SHIFT_LEFT_OP, &mShiftLeft->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrShiftRight : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_SHIFT_RIGHT *mShiftRight;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrShiftRight (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_SHIFT_RIGHT_OP, (CHAR8 **)&mShiftRight),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_SHIFT_RIGHT_OP, &mShiftRight->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrSubtract : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_SUBTRACT *mSubtract;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrSubtract (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_SUBTRACT_OP, (CHAR8 **)&mSubtract),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_SUBTRACT_OP, &mSubtract->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrConditional : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_CONDITIONAL *mConditional;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrConditional (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_CONDITIONAL_OP, (CHAR8 **)&mConditional),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_CONDITIONAL_OP, &mConditional->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrFind : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_FIND *mFind;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrFind (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_FIND_OP, (CHAR8 **)&mFind),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_FIND_OP, &mFind->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VOID SetFormat (IN UINT8 Format) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mFind->Format = Format;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrMid : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_MID *mMid;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrMid (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_MID_OP, (CHAR8 **)&mMid),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_MID_OP, &mMid->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrToken : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_TOKEN *mToken;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrToken (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_TOKEN_OP, (CHAR8 **)&mToken),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_TOKEN_OP, &mToken->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncclass CIfrSpan : public CIfrObj, public CIfrOpHeader {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncprivate:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_IFR_SPAN *mSpan;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncpublic:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrSpan (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINT32 LineNo
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ) : CIfrObj (EFI_IFR_SPAN_OP, (CHAR8 **)&mSpan),
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CIfrOpHeader (EFI_IFR_SPAN_OP, &mSpan->Header) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync SetLineNo (LineNo);
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSpan->Flags = EFI_IFR_FLAGS_FIRST_MATCHING;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync EFI_VFR_RETURN_CODE SetFlags (IN UINT8 LFlags) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync if (_IS_EQUAL (LFlags, EFI_IFR_FLAGS_FIRST_MATCHING)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSpan->Flags |= EFI_IFR_FLAGS_FIRST_MATCHING;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync } else if (_FLAG_TEST_AND_CLEAR (LFlags, EFI_IFR_FLAGS_FIRST_NON_MATCHING)) {
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync mSpan->Flags |= EFI_IFR_FLAGS_FIRST_NON_MATCHING;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync return _FLAGS_ZERO (LFlags) ? VFR_RETURN_SUCCESS : VFR_RETURN_FLAGS_UNSUPPORTED;
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync }
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync};
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#endif