+++ /dev/null
-/** @file\r
- Library Routines to create IFR independent of string data - assume tokens already exist\r
- Primarily to be used for exporting op-codes at a label in pre-defined forms.\r
-\r
-Copyright (c) 2007 - 2008, Intel Corporation. <BR>\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include "LibraryInternal.h"\r
-\r
-/**\r
- Create GUIDed opcode for banner. Banner opcode\r
- EFI_IFR_EXTEND_OP_BANNER is extended opcode specific\r
- to Intel's implementation.\r
-\r
- @param Title String ID for title\r
- @param LineNumber Line number for this banner\r
- @param Alignment Alignment for this banner, left, center or right\r
- @param Data Destination for the created opcode binary\r
-\r
- @retval EFI_SUCCESS Opcode create success\r
- @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-CreateBannerOpCode (\r
- IN EFI_STRING_ID Title,\r
- IN UINT16 LineNumber,\r
- IN UINT8 Alignment,\r
- IN OUT EFI_HII_UPDATE_DATA *Data\r
- )\r
-{\r
- EFI_IFR_GUID_BANNER Banner;\r
- UINT8 *LocalBuffer;\r
-\r
- ASSERT (Data != NULL && Data->Data != NULL);\r
-\r
- if (Data->Offset + sizeof (EFI_IFR_GUID_BANNER) > Data->BufferSize) {\r
- return EFI_BUFFER_TOO_SMALL;\r
- }\r
-\r
- Banner.Header.OpCode = EFI_IFR_GUID_OP;\r
- Banner.Header.Length = sizeof (EFI_IFR_GUID_BANNER);\r
- Banner.Header.Scope = 0;\r
- CopyMem (&Banner.Guid, &gEfiIfrTianoGuid, sizeof (EFI_IFR_GUID));\r
- Banner.ExtendOpCode = EFI_IFR_EXTEND_OP_BANNER;\r
- Banner.Title = Title;\r
- Banner.LineNumber = LineNumber;\r
- Banner.Alignment = Alignment;\r
-\r
- LocalBuffer = (UINT8 *) Data->Data + Data->Offset;\r
- CopyMem (LocalBuffer, &Banner, sizeof (EFI_IFR_GUID_BANNER));\r
- Data->Offset += sizeof (EFI_IFR_GUID_BANNER);\r
-\r
- return EFI_SUCCESS;\r
-}\r
-\r