diff options
author | lzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-10-27 08:45:50 +0000 |
---|---|---|
committer | lzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-10-27 08:45:50 +0000 |
commit | 30f001ca5f08974c8d5a5483f8b8e1a4f46a1025 (patch) | |
tree | d62379284334ffba61bd2a83d80b08cc4b2c6a94 /MdePkg/Include/Pi/PiFirmwareFile.h | |
parent | 59d88f42ca8b2d1556e52930a164f908814b9b9e (diff) | |
download | edk2-30f001ca5f08974c8d5a5483f8b8e1a4f46a1025.tar.gz edk2-30f001ca5f08974c8d5a5483f8b8e1a4f46a1025.tar.bz2 edk2-30f001ca5f08974c8d5a5483f8b8e1a4f46a1025.zip |
Add core FFS3 support, ExtractGuidedSectionLib/GuidedSectionExtractionLib/PiFirmwareFile.h.
Signed-off-by: lzeng14
Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12582 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Include/Pi/PiFirmwareFile.h')
-rw-r--r-- | MdePkg/Include/Pi/PiFirmwareFile.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/MdePkg/Include/Pi/PiFirmwareFile.h b/MdePkg/Include/Pi/PiFirmwareFile.h index 1408df0930..3e020b4208 100644 --- a/MdePkg/Include/Pi/PiFirmwareFile.h +++ b/MdePkg/Include/Pi/PiFirmwareFile.h @@ -176,6 +176,15 @@ typedef struct { UINT32 ExtendedSize;
} EFI_FFS_FILE_HEADER2;
+#define IS_FFS_FILE2(FfsFileHeaderPtr) \
+ (((((EFI_FFS_FILE_HEADER *) (UINTN) FfsFileHeaderPtr)->Attributes) & FFS_ATTRIB_LARGE_FILE) == FFS_ATTRIB_LARGE_FILE)
+
+#define FFS_FILE_SIZE(FfsFileHeaderPtr) \
+ ((UINT32) (*((UINT32 *) ((EFI_FFS_FILE_HEADER *) (UINTN) FfsFileHeaderPtr)->Size) & 0x00ffffff))
+
+#define FFS_FILE2_SIZE(FfsFileHeaderPtr) \
+ (((EFI_FFS_FILE_HEADER2 *) (UINTN) FfsFileHeaderPtr)->ExtendedSize)
+
typedef UINT8 EFI_SECTION_TYPE;
///
@@ -470,8 +479,14 @@ typedef struct { CHAR16 VersionString[1];
} EFI_VERSION_SECTION2;
+#define IS_SECTION2(SectionHeaderPtr) \
+ ((UINT32) (*((UINT32 *) ((EFI_COMMON_SECTION_HEADER *) (UINTN) SectionHeaderPtr)->Size) & 0x00ffffff) == 0x00ffffff)
+
#define SECTION_SIZE(SectionHeaderPtr) \
- ((UINT32) (*((UINT32 *) ((EFI_COMMON_SECTION_HEADER *) SectionHeaderPtr)->Size) & 0x00ffffff))
+ ((UINT32) (*((UINT32 *) ((EFI_COMMON_SECTION_HEADER *) (UINTN) SectionHeaderPtr)->Size) & 0x00ffffff))
+
+#define SECTION2_SIZE(SectionHeaderPtr) \
+ (((EFI_COMMON_SECTION_HEADER2 *) (UINTN) SectionHeaderPtr)->ExtendedSize)
#pragma pack()
|