]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/WorkingBlockHeader.h
93a0c8d934d52e12e02815c82994ce392fcd8e42
[mirror_edk2.git] / MdeModulePkg / Include / WorkingBlockHeader.h
1 /** @file
2
3 The header structure of FTW working block region.
4
5 Copyright (c) 2006 - 2008, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef __EFI_WORKING_BLOCK_HEADER_H__
17 #define __EFI_WORKING_BLOCK_HEADER_H__
18
19 #define WORKING_BLOCK_VALID 0x1
20 #define WORKING_BLOCK_INVALID 0x2
21
22 ///
23 /// EFI Fault tolerant working block header
24 /// The header is immediately followed by the write queue.
25 ///
26 typedef struct {
27 ///
28 /// System Non Volatile FV Guid
29 ///
30 EFI_GUID Signature;
31 ///
32 /// 32bit CRC caculated for this header
33 ///
34 UINT32 Crc;
35 ///
36 /// Working block valid bit
37 ///
38 UINT8 WorkingBlockValid : 1;
39 UINT8 WorkingBlockInvalid : 1;
40 UINT8 Reserved : 6;
41 UINT8 Reserved3[3];
42 ///
43 /// Total size of the following write queue range.
44 ///
45 UINT64 WriteQueueSize;
46 ///
47 /// Write Queue data
48 /// UINT8 WriteQueue[WriteQueueSize];
49 ///
50 } EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER;
51
52 #endif