TianoCore EDK2
master
Loading...
Searching...
No Matches
EmuSimpleFileSystem.h
1
/*++ @file
2
Produce Simple File System abstractions for a directory on your PC using Unix APIs.
3
The configuration of what devices to mount or emulate comes from
4
environment variables.
5
6
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
7
Portions copyright (c) 2011, Apple Inc. All rights reserved.
8
SPDX-License-Identifier: BSD-2-Clause-Patent
9
10
11
**/
12
13
#ifndef _EMU_SIMPLE_FILE_SYSTEM_H_
14
#define _EMU_SIMPLE_FILE_SYSTEM_H_
15
16
#include "
PiDxe.h
"
17
18
#include <
Guid/FileSystemInfo.h
>
19
#include <
Guid/FileInfo.h
>
20
#include <
Guid/FileSystemVolumeLabelInfo.h
>
21
22
#include <
Protocol/EmuIoThunk.h
>
23
#include <
Protocol/SimpleFileSystem.h
>
24
25
#include <
Library/DebugLib.h
>
26
#include <
Library/BaseLib.h
>
27
#include <
Library/UefiDriverEntryPoint.h
>
28
#include <
Library/UefiLib.h
>
29
#include <
Library/BaseMemoryLib.h
>
30
#include <
Library/MemoryAllocationLib.h
>
31
#include <
Library/UefiBootServicesTableLib.h
>
32
33
extern
EFI_DRIVER_BINDING_PROTOCOL
gEmuSimpleFileSystemDriverBinding;
34
extern
EFI_COMPONENT_NAME_PROTOCOL
gEmuSimpleFileSystemComponentName;
35
extern
EFI_COMPONENT_NAME2_PROTOCOL
gEmuSimpleFileSystemComponentName2;
36
37
#define EMU_SIMPLE_FILE_SYSTEM_PRIVATE_SIGNATURE SIGNATURE_32 ('E', 'M', 'f', 's')
38
39
typedef
struct
{
40
UINTN
Signature;
41
EMU_IO_THUNK_PROTOCOL
*IoThunk;
42
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
SimpleFileSystem;
43
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
*Io;
44
EFI_UNICODE_STRING_TABLE
*ControllerNameTable;
45
}
EMU_SIMPLE_FILE_SYSTEM_PRIVATE
;
46
47
#define EMU_SIMPLE_FILE_SYSTEM_PRIVATE_DATA_FROM_THIS(a) \
48
CR (a, \
49
EMU_SIMPLE_FILE_SYSTEM_PRIVATE, \
50
SimpleFileSystem, \
51
EMU_SIMPLE_FILE_SYSTEM_PRIVATE_SIGNATURE \
52
)
53
54
#define EMU_EFI_FILE_PRIVATE_SIGNATURE SIGNATURE_32 ('e', 'm', 'f', 's')
55
56
typedef
struct
{
57
UINTN
Signature;
58
EMU_IO_THUNK_PROTOCOL
*IoThunk;
59
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
*SimpleFileSystem;
60
EFI_FILE_PROTOCOL
EfiFile;
61
EFI_FILE_PROTOCOL
*Io;
62
}
EMU_EFI_FILE_PRIVATE
;
63
64
#define EMU_EFI_FILE_PRIVATE_DATA_FROM_THIS(a) \
65
CR (a, \
66
EMU_EFI_FILE_PRIVATE, \
67
EfiFile, \
68
EMU_EFI_FILE_PRIVATE_SIGNATURE \
69
)
70
71
#endif
UINTN
UINT64 UINTN
Definition:
ProcessorBind.h:112
BaseLib.h
BaseMemoryLib.h
EmuIoThunk.h
FileInfo.h
FileSystemInfo.h
FileSystemVolumeLabelInfo.h
DebugLib.h
MemoryAllocationLib.h
PiDxe.h
SimpleFileSystem.h
UefiBootServicesTableLib.h
UefiDriverEntryPoint.h
UefiLib.h
_EFI_COMPONENT_NAME2_PROTOCOL
Definition:
ComponentName2.h:148
_EFI_COMPONENT_NAME_PROTOCOL
Definition:
ComponentName.h:108
_EFI_DRIVER_BINDING_PROTOCOL
Definition:
DriverBinding.h:157
_EFI_FILE_PROTOCOL
Definition:
SimpleFileSystem.h:528
_EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
Definition:
SimpleFileSystem.h:73
_EMU_IO_THUNK_PROTOCOL
Definition:
EmuIoThunk.h:30
EFI_UNICODE_STRING_TABLE
Definition:
UefiLib.h:41
EMU_EFI_FILE_PRIVATE
Definition:
EmuSimpleFileSystem.h:56
EMU_SIMPLE_FILE_SYSTEM_PRIVATE
Definition:
EmuSimpleFileSystem.h:39
EmulatorPkg
EmuSimpleFileSystemDxe
EmuSimpleFileSystem.h
Generated on Fri Nov 15 2024 18:01:07 for TianoCore EDK2 by
1.9.6