VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Library/DxeCapsuleLibFmp/CapsuleOnDisk.h@ 80922

Last change on this file since 80922 was 80721, checked in by vboxsync, 5 years ago

Devices/EFI/FirmwareNew: Start upgrade process to edk2-stable201908 (compiles on Windows and works to some extent), bugref:4643

  • Property svn:eol-style set to native
File size: 2.3 KB
Line 
1/** @file
2 Defines several datastructures used by Capsule On Disk feature.
3 They are mainly used for FAT files.
4
5 Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8**/
9
10#ifndef _CAPSULES_ON_DISK_H_
11#define _CAPSULES_ON_DISK_H_
12
13#include <Uefi.h>
14#include <Pi/PiMultiPhase.h>
15
16#include <Library/UefiLib.h>
17#include <Library/DebugLib.h>
18#include <Library/BaseLib.h>
19#include <Library/UefiBootServicesTableLib.h>
20#include <Library/UefiRuntimeServicesTableLib.h>
21#include <Library/UefiRuntimeLib.h>
22#include <Library/BaseMemoryLib.h>
23#include <Library/MemoryAllocationLib.h>
24#include <Library/FileHandleLib.h>
25#include <Library/CapsuleLib.h>
26#include <Library/DevicePathLib.h>
27#include <Library/PrintLib.h>
28#include <Library/UefiBootManagerLib.h>
29
30#include <Protocol/SimpleFileSystem.h>
31#include <Protocol/DiskIo.h>
32#include <Protocol/BlockIo.h>
33
34#include <Guid/CapsuleVendor.h>
35#include <Guid/FileInfo.h>
36#include <Guid/GlobalVariable.h>
37
38//
39// This data structure is the part of FILE_INFO_ENTRY
40//
41#define FILE_INFO_SIGNATURE SIGNATURE_32 ('F', 'L', 'I', 'F')
42
43//
44// LoadOptionNumber of the boot option where the capsules is relocated.
45//
46#define COD_RELOCATION_LOAD_OPTION_VAR_NAME L"CodRelocationLoadOption"
47
48//
49// (20 * (6+5+2))+1) unicode characters from EFI FAT spec (doubled for bytes)
50//
51#define MAX_FILE_NAME_SIZE 522
52#define MAX_FILE_NAME_LEN (MAX_FILE_NAME_SIZE / sizeof(CHAR16))
53#define MAX_FILE_INFO_LEN (OFFSET_OF(EFI_FILE_INFO, FileName) + MAX_FILE_NAME_LEN)
54
55typedef struct {
56 UINTN Signature;
57 LIST_ENTRY Link; /// Linked list members.
58 EFI_FILE_INFO *FileInfo; /// Pointer to the FileInfo struct for this file or NULL.
59 CHAR16 *FileNameFirstPart; /// Text to the left of right-most period in the file name. String is capitialized
60 CHAR16 *FileNameSecondPart; /// Text to the right of right-most period in the file name.String is capitialized. Maybe NULL
61} FILE_INFO_ENTRY;
62
63typedef struct {
64 //
65 // image address.
66 //
67 VOID *ImageAddress;
68 //
69 // The file info of the image comes from.
70 // if FileInfo == NULL. means image does not come from file
71 //
72 EFI_FILE_INFO *FileInfo;
73} IMAGE_INFO;
74
75#endif // _CAPSULES_ON_DISK_H_
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette