| /** @file | |
| Defines for the EFI Capsule functionality. | |
| Copyright (c) 2006, 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. | |
| Module Name: Capsule.h | |
| @par Revision Reference: | |
| These definitions are from Capsule Spec Version 0.9. | |
| **/ | |
| #ifndef _EFI_CAPSULE_H_ | |
| #define _EFI_CAPSULE_H_ | |
| // | |
| // Bits in the flags field of the capsule header | |
| // | |
| #define EFI_CAPSULE_HEADER_FLAG_SETUP 0x00000001 // supports setup changes | |
| #define CAPSULE_BLOCK_DESCRIPTOR_SIGNATURE EFI_SIGNATURE_32 ('C', 'B', 'D', 'S') | |
| // | |
| // An array of these describe the blocks that make up a capsule for | |
| // a capsule update. | |
| // | |
| typedef struct { | |
| UINT64 Length; // length of the data block | |
| EFI_PHYSICAL_ADDRESS Data; // physical address of the data block | |
| UINT32 Signature; // CBDS | |
| UINT32 CheckSum; // to sum this structure to 0 | |
| } EFI_CAPSULE_BLOCK_DESCRIPTOR; | |
| typedef struct { | |
| EFI_GUID OemGuid; | |
| UINT32 HeaderSize; | |
| // | |
| // UINT8 OemHdrData[]; | |
| // | |
| } EFI_CAPSULE_OEM_HEADER; | |
| typedef struct { | |
| EFI_GUID CapsuleGuid; | |
| UINT32 HeaderSize; | |
| UINT32 Flags; | |
| UINT32 CapsuleImageSize; | |
| UINT32 SequenceNumber; | |
| EFI_GUID InstanceId; | |
| UINT32 OffsetToSplitInformation; | |
| UINT32 OffsetToCapsuleBody; | |
| UINT32 OffsetToOemDefinedHeader; | |
| UINT32 OffsetToAuthorInformation; | |
| UINT32 OffsetToRevisionInformation; | |
| UINT32 OffsetToShortDescription; | |
| UINT32 OffsetToLongDescription; | |
| UINT32 OffsetToApplicableDevices; | |
| } EFI_CAPSULE_HEADER; | |
| #endif // #ifndef _EFI_CAPSULE_H_ |