This repository has been archived by the owner on Jun 17, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathfileinfo.h
103 lines (71 loc) · 2.6 KB
/
fileinfo.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
/*++
Copyright (c) 2014 Minoca Corp.
This file is licensed under the terms of the GNU General Public License
version 3. Alternative licensing terms are available. Contact
info@minocacorp.com for details. See the LICENSE file at the root of this
project for complete licensing information.
Module Name:
fileinfo.h
Abstract:
This header contains definitions for EFI File information.
Author:
Evan Green 13-Mar-2014
--*/
//
// ------------------------------------------------------------------- Includes
//
//
// --------------------------------------------------------------------- Macros
//
//
// The file name field of the EFI_FILE_INFO data structure is variable length.
// Whenever code needs to know the size of the EFI_FILE_INFO data structure, it
// needs to be the size of the data structure without the file name field.
// The following macro computes this size correctly no matter how big the file
// name array is declared. This is required to make the EFI_FILE_INFO data
// structure ANSI compilant.
//
#define SIZE_OF_EFI_FILE_INFO OFFSET_OF(EFI_FILE_INFO, FileName)
//
// ---------------------------------------------------------------- Definitions
//
#define EFI_FILE_INFO_ID \
{ \
0x9576E92, 0x6D3F, 0x11D2, \
{0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} \
}
//
// ------------------------------------------------------ Data Type Definitions
//
/*++
Structure Description:
This structure defines EFI file information.
Members:
Size - Stores the size of the EFI_FILE_INFO structure, including the
null-terminated file name string.
FileSize - Stores the size of the file in bytes.
PhysicalSize - Stores the amount of physical space the file consumes on the
file system volume.
CreateTime - Stores the time the file was created.
LastAccessTime - Stores the time when the file was last accessed.
ModificationTime - Stores the time when the file's contents were last
modified.
Attribute - Stores the attribute bits for the file.
FileName - Stores the null-terminated name of the file.
--*/
typedef struct {
UINT64 Size;
UINT64 FileSize;
UINT64 PhysicalSize;
EFI_TIME CreateTime;
EFI_TIME LastAccessTime;
EFI_TIME ModificationTime;
UINT64 Attribute;
CHAR16 FileName[1];
} EFI_FILE_INFO;
//
// -------------------------------------------------------------------- Globals
//
//
// -------------------------------------------------------- Function Prototypes
//