]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Java/Source/FrameworkTasks/org/tianocore/framework/tasks/FfsTypes.java
- Fixed EDKT240. Now the Blank.pad file for alignment purpose will no longer be needed.
[mirror_edk2.git] / Tools / Java / Source / FrameworkTasks / org / tianocore / framework / tasks / FfsTypes.java
1 /** @file
2 FfsTypes class.
3
4 FfsType class record the costant value of Ffs File attribute, type, and
5 architecture.
6
7 Copyright (c) 2006, Intel Corporation
8 All rights reserved. This program and the accompanying materials
9 are licensed and made available under the terms and conditions of the BSD License
10 which accompanies this distribution. The full text of the license may be found at
11 http://opensource.org/licenses/bsd-license.php
12
13 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
14 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15
16 **/
17 package org.tianocore.framework.tasks;
18
19 /**
20 FfsType
21
22 FfsType class record the costant value of Ffs File attribute, type, and
23 architecture.
24
25 **/
26 public interface FfsTypes {
27 //
28 // Ffs file attributes
29 //
30 static final int FFS_ATTRIB_TAIL_PRESENT = 0x01;
31
32 static final int FFS_ATTRIB_RECOVERY = 0x02;
33
34 static final int FFS_ATTRIB_HEADER_EXTENSION = 0x04;
35
36 static final int FFS_ATTRIB_DATA_ALIGNMENT = 0x38;
37
38 static final int FFS_ATTRIB_CHECKSUM = 0x40;
39
40 //
41 // Ffs states difinitions
42 //
43 static final int EFI_FILE_HEADER_CONSTRUCTION = 0x01;
44
45 static final int EFI_FILE_HEADER_VALID = 0x02;
46
47 static final int EFI_FILE_DATA_VALID = 0x04;
48
49 static final int EFI_FILE_MARKED_FOR_UPDATE = 0x08;
50
51 static final int EFI_FILE_DELETED = 0x10;
52
53 static final int EFI_FILE_HEADER_INVALID = 0x20;
54
55 //
56 // FFS_FIXED_CHECKSUM is the default checksum value used when the
57 // FFS_ATTRIB_CHECKSUM attribute bit is clear note this is NOT an
58 // architecturally defined value, but is in this file for implementation
59 // convenience
60 //
61 static final int FFS_FIXED_CHECKSUM = 0x5a;
62
63 //
64 // Architectural file types
65 //
66 static final int EFI_FV_FILETYPE_ALL = 0x00;
67
68 static final int EFI_FV_FILETYPE_RAW = 0x01;
69
70 static final int EFI_FV_FILETYPE_FREEFORM = 0x02;
71
72 static final int EFI_FV_FILETYPE_SECURITY_CORE = 0x03;
73
74 static final int EFI_FV_FILETYPE_PEI_CORE = 0x04;
75
76 static final int EFI_FV_FILETYPE_DXE_CORE = 0x05;
77
78 static final int EFI_FV_FILETYPE_PEIM = 0x06;
79
80 static final int EFI_FV_FILETYPE_DRIVER = 0x07;
81
82 static final int EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER = 0x08;
83
84 static final int EFI_FV_FILETYPE_APPLICATION = 0x09;
85
86 static final int EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE = 0x0B;
87
88 static final int EFI_FV_FILETYPE_FFS_PAD = 0xF0;
89
90 //
91 // Ffs file type
92 //
93 static final String EFI_FV_FFS_FILETYPE_STR = ".FFS";
94 static final String EFI_FV_DXE_FILETYPE_STR = ".DXE";
95 static final String EFI_FV_PEI_FILETYPE_STR = ".PEI";
96 static final String EFI_FV_APP_FILETYPE_STR = ".APP";
97 static final String EFI_FV_FVI_FILETYPE_STR = ".FVI";
98 static final String EFI_FV_SEC_FILETYPE_STR = ".SEC";
99
100 //
101 // Section Type copy from EfiImageFormat.h
102 //
103 static final int EFI_SECTION_COMPRESSION = 0x01;
104 static final int EFI_SECTION_GUID_DEFINED = 0x02;
105
106 //
107 // CompressionType values, we currently don't support
108 // "EFI_CUSTOMIZED_COMPRESSION".
109 //
110 static final int EFI_NOT_COMPRESSED = 0x00;
111 static final int EFI_STANDARD_COMPRESSION = 0x01;
112 static final int EFI_CUSTOMIZED_COMPRESSION = 0x02;
113
114
115 }