diff --git a/MdePkg/Include/Library/FvbServiceLib.h b/MdePkg/Include/Library/FvbServiceLib.h deleted file mode 100644 index a87750a7b4..0000000000 --- a/MdePkg/Include/Library/FvbServiceLib.h +++ /dev/null @@ -1,311 +0,0 @@ -/** @file - Firmeware Volume BLock Service Library - - Copyright (c) 2006 - 2007, Intel Corporation.
- All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef __FVB_SERVICE_LIB_H__ -#define __FVB_SERVICE_LIB_H__ - -/** - Reads specified number of bytes into a buffer from the specified block. - - The EfiFvbReadBlock() function reads the requested number of bytes from - the requested block in the specified firmware volume and stores them in - the provided buffer. Implementations should be mindful that the firmware - volume might be in the ReadDisabled state. If it is in this state, the - EfiFvbReadBlock() function must return the status code EFI_ACCESS_DENIED - without modifying the contents of the buffer. - - The EfiFvbReadBlock() function must also prevent spanning block boundaries. - If a read is requested that would span a block boundary, the read must read - up to the boundary but not beyond. The output parameter NumBytes must be - set to correctly indicate the number of bytes actually read. - The caller must be aware that a read may be partially completed. - - If NumBytes is NULL, then ASSERT(). - - If Buffer is NULL, then ASSERT(). - - @param[in] Instance The FV instance to be read from. - @param[in] Lba The logical block address to be read from - @param[in] Offset The offset relative to the block, at which to begin reading. - @param[in, out] NumBytes Pointer to a UINTN. On input, *NumBytes contains the total - size of the buffer. On output, it contains the actual number - of bytes read. - @param[out] Buffer Pointer to a caller allocated buffer that will be - used to hold the data read. - - @retval EFI_SUCCESS The firmware volume was read successfully and contents are in Buffer. - @retval EFI_BAD_BUFFER_SIZE Read attempted across an LBA boundary. On output, NumBytes contains - the total number of bytes returned in Buffer. - @retval EFI_ACCESS_DENIED The firmware volume is in the ReadDisabled state. - @retval EFI_DEVICE_ERROR The block device is not functioning correctly and could not be read. - @retval EFI_INVALID_PARAMETER Invalid parameter, Instance is larger than the max FVB number. Lba index - is larger than the last block of the firmware volume. Offset is larger - than the block size. - -**/ -EFI_STATUS -EFIAPI -EfiFvbReadBlock ( - IN UINTN Instance, - IN EFI_LBA Lba, - IN UINTN Offset, - IN OUT UINTN *NumBytes, - OUT UINT8 *Buffer - ); - - -/** - Writes specified number of bytes from the input buffer to the block - - The EfiFvbWriteBlock() function writes the specified number of bytes - from the provided buffer to the specified block and offset in the - requested firmware volume. - - If the firmware volume is sticky write, the caller must ensure that - all the bits of the specified range to write are in the EFI_FVB_ERASE_POLARITY - state before calling the EfiFvbWriteBlock() function, or else the - result will be unpredictable. This unpredictability arises because, - for a sticky-write firmware volume, a write may negate a bit in the - EFI_FVB_ERASE_POLARITY state but it cannot flip it back again. In - general, before calling the EfiFvbWriteBlock() function, the caller - should call the EfiFvbEraseBlock() function first to erase the specified - block to write. A block erase cycle will transition bits from the - (NOT)EFI_FVB_ERASE_POLARITY state back to the EFI_FVB_ERASE_POLARITY state. - Implementations should be mindful that the firmware volume might be - in the WriteDisabled state. If it is in this state, the EfiFvbWriteBlock() - function must return the status code EFI_ACCESS_DENIED without modifying - the contents of the firmware volume. - - The EfiFvbWriteBlock() function must also prevent spanning block boundaries. - If a write is requested that spans a block boundary, the write must store - up to the boundary but not beyond. The output parameter NumBytes must be - set to correctly indicate the number of bytes actually written. The caller - must be aware that a write may be partially completed. - All writes, partial or otherwise, must be fully flushed to the hardware - before the EfiFvbWriteBlock() function returns. - - If NumBytes is NULL, then ASSERT(). - - @param Instance The FV instance to be written to - @param Lba The starting logical block index to write to - @param Offset The offset relative to the block, at which to begin writting. - @param NumBytes Pointer to a UINTN. On input, *NumBytes contains - the total size of the buffer. On output, it contains - the actual number of bytes written. - @param Buffer Pointer to a caller allocated buffer that contains - the source for the write - - @retval EFI_SUCCESS The firmware volume was written successfully. - @retval EFI_BAD_BUFFER_SIZE The write was attempted across an LBA boundary. - On output, NumBytes contains the total number of bytes actually written. - @retval EFI_ACCESS_DENIED The firmware volume is in the WriteDisabled state. - @retval EFI_DEVICE_ERROR The block device is malfunctioning and could not be written. - @retval EFI_INVALID_PARAMETER Invalid parameter, Instance is larger than the max FVB number. - Lba index is larger than the last block of the firmware volume. - Offset is larger than the block size. -**/ -EFI_STATUS -EFIAPI -EfiFvbWriteBlock ( - IN UINTN Instance, - IN EFI_LBA Lba, - IN UINTN Offset, - IN OUT UINTN *NumBytes, - IN UINT8 *Buffer - ); - - -/** - Erases and initializes a firmware volume block. - - The EfiFvbEraseBlock() function erases one block specified by Lba. - Implementations should be mindful that the firmware volume might - be in the WriteDisabled state. If it is in this state, the EfiFvbEraseBlock() - function must return the status code EFI_ACCESS_DENIED without - modifying the contents of the firmware volume. If Instance is - larger than the max FVB number, or Lba index is larger than the - last block of the firmware volume, this function return the status - code EFI_INVALID_PARAMETER. - - All calls to EfiFvbEraseBlock() must be fully flushed to the - hardware before this function returns. - - @param[in] Instance The FV instance to be erased. - @param[in] Lba The logical block index to be erased from. - - @retval EFI_SUCCESS The erase request was successfully completed. - @retval EFI_ACCESS_DENIED The firmware volume is in the WriteDisabled state. - @retval EFI_DEVICE_ERROR The block device is not functioning correctly and - could not be written. The firmware device may - have been partially erased. - @retval EFI_INVALID_PARAMETER Invalid parameter. Instance is larger than the max - FVB number. Lba index is larger than the last block - of the firmware volume. - -**/ -EFI_STATUS -EFIAPI -EfiFvbEraseBlock ( - IN UINTN Instance, - IN EFI_LBA Lba - ); - - -/** - Retrieves the attributes and current settings of the specified block, - returns resulting attributes in output parameter. - - The EfiFvbGetAttributes() function retrieves the attributes and current - settings of the block specified by Instance. If Instance is larger than - the max FVB number, this function returns the status code EFI_INVALID_PARAMETER. - - If Attributes is NULL, then ASSERT(). - - @param[in] Instance The FV instance to be operated. - @param[out] Attributes Pointer to EFI_FVB_ATTRIBUTES_2 in which the - attributes and current settings are returned. - - @retval EFI_EFI_SUCCESS The firmware volume attributes were returned. - @retval EFI_INVALID_PARAMETER Invalid parameter. Instance is larger than the max FVB number. -**/ -EFI_STATUS -EFIAPI -EfiFvbGetVolumeAttributes ( - IN UINTN Instance, - OUT EFI_FVB_ATTRIBUTES_2 *Attributes - ); - - -/** - Modify the attributes and current settings of the specified block - according to the input parameter. - - The EfiFvbSetAttributes() function sets configurable firmware volume - attributes and returns the new settings of the firmware volume specified - by Instance. If Instance is larger than the max FVB number, this function - returns the status code EFI_INVALID_PARAMETER. - - If Attributes is NULL, then ASSERT(). - - @param[in] Instance The FV instance to be operated. - @param[in, out]Attributes On input, Attributes is a pointer to EFI_FVB_ATTRIBUTES_2 - that contains the desired firmware volume settings. - On successful return, it contains the new settings of the firmware volume. - - @retval EFI_EFI_SUCCESS The firmware volume attributes were modified successfully. - @retval EFI_INVALID_PARAMETER Invalid parameter. Instance is larger than the max FVB number. - -**/ -EFI_STATUS -EFIAPI -EfiFvbSetVolumeAttributes ( - IN UINTN Instance, - IN OUT EFI_FVB_ATTRIBUTES_2 *Attributes - ); - - -/** - Retrieves the physical address of the specified memory mapped FV. - - Retrieve the base address of a memory-mapped firmware volume specified by Instance. - If Instance is larger than the max FVB number, this function returns the status - code EFI_INVALID_PARAMETER. - - If BaseAddress is NULL, then ASSERT(). - - @param[in] Instance The FV instance to be operated. - @param[out] BaseAddress Pointer to a caller allocated EFI_PHYSICAL_ADDRESS - that on successful return, contains the base address - of the firmware volume. - - @retval EFI_EFI_SUCCESS The firmware volume base address is returned. - @retval EFI_INVALID_PARAMETER Invalid parameter. Instance is larger than the max FVB number. - -**/ -EFI_STATUS -EFIAPI -EfiFvbGetPhysicalAddress ( - IN UINTN Instance, - OUT EFI_PHYSICAL_ADDRESS *BaseAddress - ); - - -/** - Retrieve the block size of the specified fv. - - The EfiFvbGetBlockSize() function retrieves the size of the requested block. - It also returns the number of additional blocks with the identical size. - If Instance is larger than the max FVB number, or Lba index is larger than - the last block of the firmware volume, this function return the status code - EFI_INVALID_PARAMETER. - - If BlockSize is NULL, then ASSERT(). - - If NumOfBlocks is NULL, then ASSERT(). - - @param[in] Instance The FV instance to be operated. - @param[in] Lba Indicates which block to return the size for. - @param[out] BlockSize Pointer to a caller-allocated UINTN in which the - size of the block is returned. - @param[out] NumOfBlocks Pointer to a caller-allocated UINTN in which the - number of consecutive blocks, starting with Lba, - is returned. All blocks in this range have a size of BlockSize. - - @retval EFI_EFI_SUCCESS The firmware volume base address is returned. - @retval EFI_INVALID_PARAMETER Invalid parameter. Instance is larger than the max FVB number. - Lba index is larger than the last block of the firmware volume. - -**/ -EFI_STATUS -EFIAPI -EfiFvbGetBlockSize ( - IN UINTN Instance, - IN EFI_LBA Lba, - OUT UINTN *BlockSize, - OUT UINTN *NumOfBlocks - ); - - -/** - Erases and initializes a specified range of a firmware volume. - - The EfiFvbEraseCustomBlockRange() function erases the specified range in the firmware - volume index by Instance. If Instance is larger than the max FVB number, StartLba or - LastLba index is larger than the last block of the firmware volume, StartLba > LastLba - or StartLba equal to LastLba but OffsetStartLba > OffsetLastLba, this function return - the status code EFI_INVALID_PARAMETER. - - @param[in] Instance The FV instance to be operated. - @param[in] StartLba The starting logical block index to be erased. - @param[in] OffsetStartLba Offset into the starting block at which to - begin erasing. - @param[in] LastLba The last logical block index to be erased. - @param[in] OffsetLastLba Offset into the last block at which to end erasing. - - @retval EFI_EFI_SUCCESS Successfully erase custom block range - @retval EFI_INVALID_PARAMETER Invalid parameter. Instance is larger than the max FVB number. - @retval EFI_UNSUPPORTED Firmware volume block device has no this capability. - -**/ -EFI_STATUS -EFIAPI -EfiFvbEraseCustomBlockRange ( - IN UINTN Instance, - IN EFI_LBA StartLba, - IN UINTN OffsetStartLba, - IN EFI_LBA LastLba, - IN UINTN OffsetLastLba - ); - -#endif diff --git a/MdePkg/Include/Library/HiiLib.h b/MdePkg/Include/Library/HiiLib.h deleted file mode 100644 index a92431ab4d..0000000000 --- a/MdePkg/Include/Library/HiiLib.h +++ /dev/null @@ -1,500 +0,0 @@ -/** @file - Public include file for the HII Library - - Copyright (c) 2007 - 2008, Intel Corporation - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef __HII_LIB_H__ -#define __HII_LIB_H__ - - -/** - Assemble EFI_HII_PACKAGE_LIST according to the passed in packages. - - If GuidId is NULL, then ASSERT. - If not enough resource to complete the operation, then ASSERT. - - @param NumberOfPackages Number of packages. - @param GuidId Package GUID. - @param ... Variable argument list for packages to be assembled. - - @return Pointer of EFI_HII_PACKAGE_LIST_HEADER. - -**/ -EFI_HII_PACKAGE_LIST_HEADER * -EFIAPI -HiiLibPreparePackageList ( - IN UINTN NumberOfPackages, - IN CONST EFI_GUID *GuidId, - ... - ); - -/** - This function allocates pool for an EFI_HII_PACKAGE_LIST structure - with additional space that is big enough to host all packages described by the variable - argument list of package pointers. The allocated structure is initialized using NumberOfPackages, - GuidId, and the variable length argument list of package pointers. - - Then, EFI_HII_PACKAGE_LIST will be register to the default System HII Database. The - Handle to the newly registered Package List is returned throught HiiHandle. - - If HiiHandle is NULL, then ASSERT. - - @param NumberOfPackages The number of HII packages to register. - @param GuidId Package List GUID ID. - @param DriverHandle Optional. If not NULL, the DriverHandle on which an instance of DEVICE_PATH_PROTOCOL is installed. - This DriverHandle uniquely defines the device that the added packages are associated with. - @param HiiHandle On output, the HiiHandle is update with the handle which can be used to retrieve the Package - List later. If the functions failed to add the package to the default HII database, this value will - be set to NULL. - @param ... The variable argument list describing all HII Package. - - @return EFI_SUCCESS If the packages are successfully added to the default HII database. - @return EFI_OUT_OF_RESOURCE Not enough resource to complete the operation. - -**/ -EFI_STATUS -EFIAPI -HiiLibAddPackages ( - IN UINTN NumberOfPackages, - IN CONST EFI_GUID *GuidId, - IN EFI_HANDLE DriverHandle, OPTIONAL - OUT EFI_HII_HANDLE *HiiHandle, - ... - ); - -/** - Removes a package list from the default HII database. - - If HiiHandle is NULL, then ASSERT. - If HiiHandle is not a valid EFI_HII_HANDLE in the default HII database, then ASSERT. - - @param HiiHandle The handle that was previously registered to the data base that is requested for removal. - List later. - -**/ -VOID -EFIAPI -HiiLibRemovePackages ( - IN EFI_HII_HANDLE HiiHandle - ); - -/** - This function adds the string into String Package of each language - supported by the package list. - - If String is NULL, then ASSERT. - If StringId is NULL, the ASSERT. - If PackageList could not be found in the default HII database, then ASSERT. - - @param PackageList Handle of the package list where this string will - be added. - @param StringId On return, contains the new strings id, which is - unique within PackageList. - @param String Points to the new null-terminated string. - - @retval EFI_SUCCESS The new string was added successfully. - @retval EFI_OUT_OF_RESOURCES Could not add the string due to lack of resources. - -**/ -EFI_STATUS -EFIAPI -HiiLibNewString ( - IN EFI_HII_HANDLE PackageList, - OUT EFI_STRING_ID *StringId, - IN CONST EFI_STRING String - ); - -/** - This function update the specified string in String Package of each language - supported by the package list. - - If String is NULL, then ASSERT. - If PackageList could not be found in the default HII database, then ASSERT. - If StringId is not found in PackageList, then ASSERT. - - @param PackageList Handle of the package list where this string will - be added. - @param StringId Ths String Id to be updated. - @param String Points to the new null-terminated string. - - @retval EFI_SUCCESS The new string was added successfully. - @retval EFI_OUT_OF_RESOURCES Could not add the string due to lack of resources. - -**/ -EFI_STATUS -EFIAPI -HiiLibSetString ( - IN EFI_HII_HANDLE PackageList, - IN EFI_STRING_ID StringId, - IN CONST EFI_STRING String - ); - -/** - This function try to retrieve string from String package of current language. - If fails, it try to retrieve string from String package of first language it support. - - If StringSize is NULL, then ASSERT. - If String is NULL and *StringSize is not 0, then ASSERT. - If PackageList could not be found in the default HII database, then ASSERT. - If StringId is not found in PackageList, then ASSERT. - - @param PackageList The package list in the HII database to search for - the specified string. - @param StringId The string's id, which is unique within - PackageList. - @param String Points to the new null-terminated string. - @param StringSize On entry, points to the size of the buffer pointed - to by String, in bytes. On return, points to the - length of the string, in bytes. - - @retval EFI_SUCCESS The string was returned successfully. - @retval EFI_NOT_FOUND The string specified by StringId is not available. - @retval EFI_BUFFER_TOO_SMALL The buffer specified by StringLength is too small - to hold the string. - -**/ -EFI_STATUS -EFIAPI -HiiLibGetString ( - IN EFI_HII_HANDLE PackageList, - IN EFI_STRING_ID StringId, - OUT EFI_STRING String, - IN OUT UINTN *StringSize - ); - -/** - Get string specified by StringId form the HiiHandle. The caller - is responsible to free the *String. - - If String is NULL, then ASSERT. - If HiiHandle could not be found in the default HII database, then ASSERT. - If StringId is not found in PackageList, then ASSERT. - - @param HiiHandle The HII handle of package list. - @param StringId The String ID. - @param String The output string. - - @retval EFI_NOT_FOUND String is not found. - @retval EFI_SUCCESS Operation is successful. - @retval EFI_OUT_OF_RESOURCES There is not enought memory in the system. - -**/ -EFI_STATUS -EFIAPI -HiiLibGetStringFromHandle ( - IN EFI_HII_HANDLE HiiHandle, - IN EFI_STRING_ID StringId, - OUT EFI_STRING *String - ); - -/** - Get the string given the StringId and String package Producer's Guid. The caller - is responsible to free the *String. - - If PackageList with the matching ProducerGuid is not found, then ASSERT. - If PackageList with the matching ProducerGuid is found but no String is - specified by StringId is found, then ASSERT. - - @param ProducerGuid The Guid of String package list. - @param StringId The String ID. - @param String The output string. - - @retval EFI_SUCCESS Operation is successful. - @retval EFI_OUT_OF_RESOURCES There is not enought memory in the system. - -**/ -EFI_STATUS -EFIAPI -HiiLibGetStringFromToken ( - IN EFI_GUID *ProducerGuid, - IN EFI_STRING_ID StringId, - OUT EFI_STRING *String - ); - -/** - Determines the handles that are currently active in the database. - It's the caller's responsibility to free handle buffer. - - If HandleBufferLength is NULL, then ASSERT. - If HiiHandleBuffer is NULL, then ASSERT. - - @param HandleBufferLength On input, a pointer to the length of the handle - buffer. On output, the length of the handle buffer - that is required for the handles found. - @param HiiHandleBuffer Pointer to an array of Hii Handles returned. - - @retval EFI_SUCCESS Get an array of Hii Handles successfully. - -**/ -EFI_STATUS -EFIAPI -HiiLibGetHiiHandles ( - IN OUT UINTN *HandleBufferLength, - OUT EFI_HII_HANDLE **HiiHandleBuffer - ); - -/** - Extract Hii package list GUID for given HII handle. - - If HiiHandle could not be found in the default HII database, then ASSERT. - If Guid is NULL, then ASSERT. - - @param Handle Hii handle - @param Guid Package list GUID - - @retval EFI_SUCCESS Successfully extract GUID from Hii database. - -**/ -EFI_STATUS -EFIAPI -HiiLibExtractGuidFromHiiHandle ( - IN EFI_HII_HANDLE Handle, - OUT EFI_GUID *Guid - ); - -/** - Find HII Handle in the default HII database associated with given Device Path. - - If DevicePath is NULL, then ASSERT. - - @param DevicePath Device Path associated with the HII package list - handle. - - @retval Handle HII package list Handle associated with the Device - Path. - @retval NULL Hii Package list handle is not found. - -**/ -EFI_HII_HANDLE -EFIAPI -HiiLibDevicePathToHiiHandle ( - IN EFI_DEVICE_PATH_PROTOCOL *DevicePath - ); - - -/** - Get next language from language code list (with separator ';'). - - If LangCode is NULL, then ASSERT. - If Lang is NULL, then ASSERT. - - @param LangCode On input: point to first language in the list. On - output: point to next language in the list, or - NULL if no more language in the list. - @param Lang The first language in the list. - -**/ -VOID -EFIAPI -HiiLibGetNextLanguage ( - IN OUT CHAR8 **LangCode, - OUT CHAR8 *Lang - ); - -/** - This function returns the list of supported languages, in the format specified - in UEFI specification Appendix M. - - If HiiHandle is not a valid Handle in the default HII database, then ASSERT. - - @param HiiHandle The HII package list handle. - - @retval !NULL The supported languages. - @retval NULL If Supported Languages can not be retrived. - -**/ -CHAR8 * -EFIAPI -HiiLibGetSupportedLanguages ( - IN EFI_HII_HANDLE HiiHandle - ); - -/** - This function returns the list of supported 2nd languages, in the format specified - in UEFI specification Appendix M. - - If HiiHandle is not a valid Handle in the default HII database, then ASSERT. - If not enough resource to complete the operation, then ASSERT. - - @param HiiHandle The HII package list handle. - @param FirstLanguage Pointer to language name buffer. - - @return The supported languages. - -**/ -CHAR8 * -EFIAPI -HiiLibGetSupportedSecondaryLanguages ( - IN EFI_HII_HANDLE HiiHandle, - IN CONST CHAR8 *FirstLanguage - ); - - -/** - This function returns the number of supported languages on HiiHandle. - - If HiiHandle is not a valid Handle in the default HII database, then ASSERT. - If not enough resource to complete the operation, then ASSERT. - - @param HiiHandle The HII package list handle. - - @return The number of supported languages. - -**/ -UINT16 -EFIAPI -HiiLibGetSupportedLanguageNumber ( - IN EFI_HII_HANDLE HiiHandle - ); - -/** - Exports the contents of one or all package lists in the HII database into a buffer. - - If Handle is not NULL and not a valid EFI_HII_HANDLE registered in the database, - then ASSERT. - If PackageListHeader is NULL, then ASSERT. - If PackageListSize is NULL, then ASSERT. - - @param Handle The HII Handle. - @param PackageListHeader A pointer to a buffer that will contain the results of - the export function. - @param PackageListSize On output, the length of the buffer that is required for the exported data. - - @retval EFI_SUCCESS Package exported. - - @retval EFI_OUT_OF_RESOURCES Not enought memory to complete the operations. - -**/ -EFI_STATUS -EFIAPI -HiiLibExportPackageLists ( - IN EFI_HII_HANDLE Handle, - OUT EFI_HII_PACKAGE_LIST_HEADER **PackageListHeader, - OUT UINTN *PackageListSize - ); - -/** - - This function returns a list of the package handles of the - specified type that are currently active in the HII database. The - pseudo-type EFI_HII_PACKAGE_TYPE_ALL will cause all package - handles to be listed. - - If HandleBufferLength is NULL, then ASSERT. - If HandleBuffer is NULL, the ASSERT. - If PackageType is EFI_HII_PACKAGE_TYPE_GUID and PackageGuid is - NULL, then ASSERT. - If PackageType is not EFI_HII_PACKAGE_TYPE_GUID and PackageGuid is not - NULL, then ASSERT. - - - @param PackageType Specifies the package type of the packages - to list or EFI_HII_PACKAGE_TYPE_ALL for - all packages to be listed. - - @param PackageGuid If PackageType is - EFI_HII_PACKAGE_TYPE_GUID, then this is - the pointer to the GUID which must match - the Guid field of - EFI_HII_PACKAGE_GUID_HEADER. Otherwise, it - must be NULL. - - @param HandleBufferLength On output, the length of the handle buffer - that is required for the handles found. - - @param HandleBuffer On output, an array of EFI_HII_HANDLE instances returned. - The caller is responcible to free this pointer allocated. - - @retval EFI_SUCCESS The matching handles are outputed successfully. - HandleBufferLength is updated with the actual length. - @retval EFI_OUT_OF_RESOURCES Not enough resource to complete the operation. - @retval EFI_NOT_FOUND No matching handle could not be found in database. -**/ -EFI_STATUS -EFIAPI -HiiLibListPackageLists ( - IN UINT8 PackageType, - IN CONST EFI_GUID *PackageGuid, - IN OUT UINTN *HandleBufferLength, - OUT EFI_HII_HANDLE **Handle - ); - -/** - Convert language code from RFC3066 to ISO639-2. - - LanguageRfc3066 contain a single RFC 3066 code such as - "en-US" or "fr-FR". - - The LanguageRfc3066 must be a buffer large enough - for ISO_639_2_ENTRY_SIZE characters. - - If LanguageRfc3066 is NULL, then ASSERT. - If LanguageIso639 is NULL, then ASSERT. - - @param LanguageRfc3066 RFC3066 language code. - @param LanguageIso639 ISO639-2 language code. - - @retval EFI_SUCCESS Language code converted. - @retval EFI_NOT_FOUND Language code not found. - -**/ -EFI_STATUS -EFIAPI -ConvertRfc3066LanguageToIso639Language ( - IN CHAR8 *LanguageRfc3066, - OUT CHAR8 *LanguageIso639 - ); - -/** - Convert language code from ISO639-2 to RFC3066. - - LanguageIso639 contain a single ISO639-2 code such as - "eng" or "fra". - - The LanguageRfc3066 must be a buffer large enough - for RFC_3066_ENTRY_SIZE characters. - - If LanguageIso639 is NULL, then ASSERT. - If LanguageRfc3066 is NULL, then ASSERT. - - @param LanguageIso639 ISO639-2 language code. - @param LanguageRfc3066 RFC3066 language code. - - @retval EFI_SUCCESS Language code converted. - @retval EFI_NOT_FOUND Language code not found. - -**/ -EFI_STATUS -EFIAPI -ConvertIso639LanguageToRfc3066Language ( - IN CONST CHAR8 *LanguageIso639, - OUT CHAR8 *LanguageRfc3066 - ); - -/** - Convert language code list from RFC3066 to ISO639-2, e.g. "en-US;fr-FR" will - be converted to "engfra". - - If SupportedLanguages is NULL, then ASSERT. - - @param SupportedLanguages The RFC3066 language list. - - @return The ISO639-2 language list. - -**/ -CHAR8 * -EFIAPI -Rfc3066ToIso639 ( - CHAR8 *SupportedLanguages - ); - -#endif diff --git a/MdePkg/Include/Library/IfrSupportLib.h b/MdePkg/Include/Library/IfrSupportLib.h deleted file mode 100644 index 3f686bd49c..0000000000 --- a/MdePkg/Include/Library/IfrSupportLib.h +++ /dev/null @@ -1,765 +0,0 @@ -/** @file - This library contains functions to do IFR opcode creation and utility functions - to help module to interact with a UEFI Form Browser. - - Copyright (c) 2007 - 2008, Intel Corporation - All rights reserved. This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef _IFR_SUPPORT_LIBRARY_H_ -#define _IFR_SUPPORT_LIBRARY_H_ - - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -// -// The architectural variable "Lang" and "LangCodes" are deprecated in UEFI -// specification. While, UEFI specification also states that these deprecated -// variables may be provided for backwards compatibility. - -#define EFI_LANGUAGE_VARIABLE L"Lang" -#define EFI_LANGUAGE_CODES_VARIABLE L"LangCodes" - -#define UEFI_LANGUAGE_VARIABLE L"PlatformLang" -#define UEFI_LANGUAGE_CODES_VARIABLE L"PlatformLangCodes" - -#define INVALID_VARSTORE_ID 0 - -#define QUESTION_FLAGS (EFI_IFR_FLAG_READ_ONLY | EFI_IFR_FLAG_CALLBACK | EFI_IFR_FLAG_RESET_REQUIRED | EFI_IFR_FLAG_OPTIONS_ONLY) -#define QUESTION_FLAGS_MASK (~QUESTION_FLAGS) - -#pragma pack(1) -typedef struct { - EFI_STRING_ID StringToken; - EFI_IFR_TYPE_VALUE Value; - UINT8 Flags; -} IFR_OPTION; -#pragma pack() - -typedef struct { - /// - /// Buffer size allocated for Data. - /// - UINT32 BufferSize; - - /// - /// Offset in Data to append the newly created opcode binary. - /// It will be adjusted automatically in Create***OpCode(), and should be - /// initialized to 0 before invocation of a serial of Create***OpCode() - /// - UINT32 Offset; - - /// - /// The destination buffer for created op-codes - /// - UINT8 *Data; -} EFI_HII_UPDATE_DATA; - - -/** - Create EFI_IFR_END_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - -**/ -EFI_STATUS -EFIAPI -CreateEndOpCode ( - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_DEFAULT_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param Value Value for the default - @param Type Type for the default - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER The type is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateDefaultOpCode ( - IN EFI_IFR_TYPE_VALUE *Value, - IN UINT8 Type, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_ACTION_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param QuestionConfig String ID for configuration - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateActionOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN EFI_STRING_ID QuestionConfig, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_SUBTITLE_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param Prompt String ID for Prompt - @param Help String ID for Help - @param Flags Subtitle opcode flags - @param Scope Subtitle Scope bit - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - -**/ -EFI_STATUS -EFIAPI -CreateSubTitleOpCode ( - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 Flags, - IN UINT8 Scope, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_TEXT_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param Prompt String ID for Prompt - @param Help String ID for Help - @param TextTwo String ID for text two - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - -**/ -EFI_STATUS -EFIAPI -CreateTextOpCode ( - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN EFI_STRING_ID TextTwo, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_REF_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param FormId Destination Form ID - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param QuestionId Question ID - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateGotoOpCode ( - IN EFI_FORM_ID FormId, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN EFI_QUESTION_ID QuestionId, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_ONE_OF_OPTION_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param OptionCount The number of options. - @param OptionsList The list of Options. - @param Type The data type. - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If OptionCount is not zero but OptionsList is NULL. - -**/ -EFI_STATUS -EFIAPI -CreateOneOfOptionOpCode ( - IN UINTN OptionCount, - IN IFR_OPTION *OptionsList, - IN UINT8 Type, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_ONE_OF_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param VarStoreId Storage ID - @param VarOffset Offset in Storage - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param OneOfFlags Flags for oneof opcode - @param OptionsList List of options - @param OptionCount Number of options in option list - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateOneOfOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_VARSTORE_ID VarStoreId, - IN UINT16 VarOffset, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN UINT8 OneOfFlags, - IN IFR_OPTION *OptionsList, - IN UINTN OptionCount, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_ORDERED_LIST_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param VarStoreId Storage ID - @param VarOffset Offset in Storage - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param OrderedListFlags Flags for ordered list opcode - @param DataType Type for option value - @param MaxContainers Maximum count for options in this ordered list - @param OptionsList List of options - @param OptionCount Number of options in option list - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateOrderedListOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_VARSTORE_ID VarStoreId, - IN UINT16 VarOffset, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN UINT8 OrderedListFlags, - IN UINT8 DataType, - IN UINT8 MaxContainers, - IN IFR_OPTION *OptionsList, - IN UINTN OptionCount, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_CHECKBOX_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param VarStoreId Storage ID - @param VarOffset Offset in Storage - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param CheckBoxFlags Flags for checkbox opcode - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateCheckBoxOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_VARSTORE_ID VarStoreId, - IN UINT16 VarOffset, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN UINT8 CheckBoxFlags, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_NUMERIC_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param VarStoreId Storage ID - @param VarOffset Offset in Storage - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param NumericFlags Flags for numeric opcode - @param Minimum Numeric minimum value - @param Maximum Numeric maximum value - @param Step Numeric step for edit - @param Default Numeric default value - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateNumericOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_VARSTORE_ID VarStoreId, - IN UINT16 VarOffset, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN UINT8 NumericFlags, - IN UINT64 Minimum, - IN UINT64 Maximum, - IN UINT64 Step, - IN UINT64 Default, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; - -/** - Create EFI_IFR_STRING_OP opcode. - - If Data is NULL or Data->Data is NULL, then ASSERT. - - @param QuestionId Question ID - @param VarStoreId Storage ID - @param VarOffset Offset in Storage - @param Prompt String ID for Prompt - @param Help String ID for Help - @param QuestionFlags Flags in Question Header - @param StringFlags Flags for string opcode - @param MinSize String minimum length - @param MaxSize String maximum length - @param Data Destination for the created opcode binary - - @retval EFI_SUCCESS Opcode is created successfully. - @retval EFI_BUFFER_TOO_SMALL The space reserved in Data field is too small. - @retval EFI_INVALID_PARAMETER If QuestionFlags is not valid. - -**/ -EFI_STATUS -EFIAPI -CreateStringOpCode ( - IN EFI_QUESTION_ID QuestionId, - IN EFI_VARSTORE_ID VarStoreId, - IN UINT16 VarOffset, - IN EFI_STRING_ID Prompt, - IN EFI_STRING_ID Help, - IN UINT8 QuestionFlags, - IN UINT8 StringFlags, - IN UINT8 MinSize, - IN UINT8 MaxSize, - IN OUT EFI_HII_UPDATE_DATA *Data - ) -; -/** - Construct for a buffer storage. - - @param ConfigRequest The Config request string. If set to NULL, all the - configurable elements will be extracted from BlockNameArray. - @param ConfigAltResp The returned . - @param Progress On return, points to a character in the Request. - @param Guid GUID of the buffer storage. - @param Name Name of the buffer storage. - @param DriverHandle The DriverHandle which is used to invoke HiiDatabase - protocol interface NewPackageList(). - @param BufferStorage Content of the buffer storage. - @param BufferStorageSize Length in bytes of the buffer storage. - @param BlockNameArray Array generated by VFR compiler. - @param NumberAltCfg Number of Default value array generated by VFR compiler. - The sequential input parameters will be number of - AltCfgId and DefaultValueArray pairs. When set to 0, - there will be no . - - retval EFI_OUT_OF_RESOURCES Run out of memory resource. - retval EFI_INVALID_PARAMETER ConfigAltResp is NULL. - retval EFI_SUCCESS Operation successful. - -**/ -EFI_STATUS -ConstructConfigAltResp ( - IN EFI_STRING ConfigRequest, OPTIONAL - OUT EFI_STRING *Progress, - OUT EFI_STRING *ConfigAltResp, - IN EFI_GUID *Guid, - IN CHAR16 *Name, - IN EFI_HANDLE *DriverHandle, - IN VOID *BufferStorage, - IN UINTN BufferStorageSize, - IN VOID *BlockNameArray, OPTIONAL - IN UINTN NumberAltCfg, - ... -//IN UINT16 AltCfgId, -//IN VOID *DefaultValueArray, - ) -; - -/** - Converts the unicode character of the string from uppercase to lowercase. - - @param Str String to be converted - - -**/ -VOID -EFIAPI -ToLower ( - IN OUT CHAR16 *Str - ) -; - -/** - Converts binary buffer to a Unicode string. The byte buffer is in a reversed byte order - compared with the byte order defined in BufToHexString(). - - @param Str String for output - @param Buffer Binary buffer. - @param BufferSize Size of the buffer in bytes. - - @retval EFI_SUCCESS The function completed successfully. - @retval EFI_OUT_OF_RESOURCES There is no enough available memory space. - -**/ -EFI_STATUS -EFIAPI -BufInReverseOrderToHexString ( - IN OUT CHAR16 *Str, - IN UINT8 *Buffer, - IN UINTN BufferSize - ) -; - -/** - Converts Hex String to binary buffer in reversed byte order to HexStringToBuf(). - - @param Buffer Pointer to buffer that receives the data. - @param BufferSize Length in bytes of the buffer to hold converted - data. If routine return with EFI_SUCCESS, - containing length of converted data. If routine - return with EFI_BUFFER_TOO_SMALL, containg length - of buffer desired. - @param Str String to be converted from. - - @retval EFI_SUCCESS The function completed successfully. - @retval RETURN_BUFFER_TOO_SMALL The input BufferSize is too small to hold the output. BufferSize - will be updated to the size required for the converstion. - -**/ -EFI_STATUS -EFIAPI -HexStringToBufInReverseOrder ( - IN OUT UINT8 *Buffer, - IN OUT UINTN *BufferSize, - IN CHAR16 *Str - ) -; - -/** - Convert binary representation Config string (e.g. "0041004200430044") to the - original string (e.g. "ABCD"). Config string appears in (i.e. - "&NAME="), or Name/Value pair in (i.e. "label="). - - @param UnicodeString Original Unicode string. - @param StrBufferLen On input: Length in bytes of buffer to hold the Unicode string. - Includes tailing '\0' character. - On output: - containing length of Unicode string buffer when returning EFI_SUCCESS; - containg length of string buffer desired when returning EFI_BUFFER_TOO_SMALL. - @param ConfigString Binary representation of Unicode String, := (4)+ - - @retval EFI_SUCCESS Operation completes successfully. - @retval EFI_BUFFER_TOO_SMALL The string buffer is too small. - -**/ -EFI_STATUS -EFIAPI -ConfigStringToUnicode ( - IN OUT CHAR16 *UnicodeString, - IN OUT UINTN *StrBufferLen, - IN CHAR16 *ConfigString - ) -; - -/** - Convert Unicode string to binary representation Config string, e.g. - "ABCD" => "0041004200430044". Config string appears in (i.e. - "&NAME="), or Name/Value pair in (i.e. "label="). - - @param ConfigString Binary representation of Unicode String, := (4)+ - @param StrBufferLen On input: Length in bytes of buffer to hold the Unicode string. - Includes tailing '\0' character. - On output: - If return EFI_SUCCESS, containing length of Unicode string buffer. - If return EFI_BUFFER_TOO_SMALL, containg length of string buffer desired. - @param UnicodeString Original Unicode string. - - @retval EFI_SUCCESS Operation completes successfully. - @retval EFI_BUFFER_TOO_SMALL The string buffer is too small. - -**/ -EFI_STATUS -EFIAPI -UnicodeToConfigString ( - IN OUT CHAR16 *ConfigString, - IN OUT UINTN *StrBufferLen, - IN CHAR16 *UnicodeString - ) -; - -/** - Construct using routing information GUID/NAME/PATH. - - @param ConfigHdr Pointer to the ConfigHdr string. - @param StrBufferLen On input: Length in bytes of buffer to hold the - ConfigHdr string. Includes tailing '\0' character. - On output: If return EFI_SUCCESS, containing - length of ConfigHdr string buffer. If return - EFI_BUFFER_TOO_SMALL, containg length of string - buffer desired. - @param Guid Routing information: GUID. - @param Name Routing information: NAME. - @param DriverHandle Driver handle which contains the routing - information: PATH. - - @retval EFI_SUCCESS Operation completes successfully. - @retval EFI_BUFFER_TOO_SMALL The ConfigHdr string buffer is too small. - -**/ -EFI_STATUS -EFIAPI -ConstructConfigHdr ( - IN OUT CHAR16 *ConfigHdr, - IN OUT UINTN *StrBufferLen, - IN CONST EFI_GUID *Guid, - IN CHAR16 *Name, OPTIONAL - IN EFI_HANDLE *DriverHandle - ) - -; - -/** - Determines if the Routing data (Guid and Name) is correct in . - - @param ConfigString Either or . - @param StorageGuid GUID of the storage. - @param StorageName Name of the stoarge. - - @retval TRUE Routing information is correct in ConfigString. - @retval FALSE Routing information is incorrect in ConfigString. - -**/ -BOOLEAN -IsConfigHdrMatch ( - IN EFI_STRING ConfigString, - IN EFI_GUID *StorageGuid, OPTIONAL - IN CHAR16 *StorageName OPTIONAL - ) -; - -/** - Search BlockName "&OFFSET=Offset&WIDTH=Width" in a string. - - @param String The string to be searched in. - @param Offset Offset in BlockName. - @param Width Width in BlockName. - - @retval TRUE Block name found. - @retval FALSE Block name not found. - -**/ -BOOLEAN -EFIAPI -FindBlockName ( - IN OUT CHAR16 *String, - IN UINTN Offset, - IN UINTN Width - ) -; - -/** - This routine is invoked by ConfigAccess.Callback() to retrived uncommitted data from Form Browser. - - @param VariableGuid An optional field to indicate the target variable - GUID name to use. - @param VariableName An optional field to indicate the target - human-readable variable name. - @param BufferSize On input: Length in bytes of buffer to hold - retrived data. On output: If return - EFI_BUFFER_TOO_SMALL, containg length of buffer - desired. - @param Buffer Buffer to hold retrived data. - - @retval EFI_SUCCESS Operation completes successfully. - @retval EFI_BUFFER_TOO_SMALL The intput buffer is too small. - -**/ -EFI_STATUS -EFIAPI -GetBrowserData ( - IN CONST EFI_GUID *VariableGuid, OPTIONAL - IN CONST CHAR16 *VariableName, OPTIONAL - IN OUT UINTN *BufferSize, - IN OUT UINT8 *Buffer - ) -; - -/** - This routine is invoked by ConfigAccess.Callback() to update uncommitted data of Form Browser. - - @param VariableGuid An optional field to indicate the target variable - GUID name to use. - @param VariableName An optional field to indicate the target - human-readable variable name. - @param BufferSize Length in bytes of buffer to hold retrived data. - @param Buffer Buffer to hold retrived data. - @param RequestElement An optional field to specify which part of the - buffer data will be send back to Browser. If NULL, - the whole buffer of data will be committed to - Browser. ::= - &OFFSET=&WIDTH=* - - @retval EFI_SUCCESS Operation completes successfully. - @retval Other Updating Browser uncommitted data failed. - -**/ -EFI_STATUS -EFIAPI -SetBrowserData ( - IN CONST EFI_GUID *VariableGuid, OPTIONAL - IN CONST CHAR16 *VariableName, OPTIONAL - IN UINTN BufferSize, - IN CONST UINT8 *Buffer, - IN CONST CHAR16 *RequestElement OPTIONAL - ) -; - -/** - Draw a dialog and return the selected key. - - @param NumberOfLines The number of lines for the dialog box - @param KeyValue The EFI_KEY value returned if HotKey is TRUE.. - @param String Pointer to the first string in the list - @param ... A series of (quantity == NumberOfLines - 1) text - strings which will be used to construct the dialog - box - - @retval EFI_SUCCESS Displayed dialog and received user interaction - @retval EFI_INVALID_PARAMETER One of the parameters was invalid. - -**/ -EFI_STATUS -EFIAPI -IfrLibCreatePopUp ( - IN UINTN NumberOfLines, - OUT EFI_INPUT_KEY *KeyValue, - IN CHAR16 *String, - ... - ) -; - -/** - Draw a dialog and return the selected key using Variable Argument List. - - @param NumberOfLines The number of lines for the dialog box - @param KeyValue The EFI_KEY value returned if HotKey is TRUE.. - @param Args VA_LIST marker for the variable argument list. - A series of (quantity == NumberOfLines - 1) text - strings which will be used to construct the dialog - box - - @retval EFI_SUCCESS Displayed dialog and received user interaction - @retval EFI_INVALID_PARAMETER One of the parameters was invalid. - -**/ -EFI_STATUS -EFIAPI -IfrLibCreatePopUp2 ( - IN UINTN NumberOfLines, - OUT EFI_INPUT_KEY *KeyValue, - IN VA_LIST Args - ) -; - -#endif