Better code organization
This commit is contained in:
parent
46942dc800
commit
f037737fc1
16 changed files with 513 additions and 476 deletions
51
efi.h
51
efi.h
|
@ -13,67 +13,18 @@ typedef struct {
|
||||||
|
|
||||||
#define EFI_GLOBAL_VARIABLE {0x8be4df61,0x93ca,0x11d2, {0xaa,0x0d,0x00,0xe0,0x98,0x03,0x2b,0x8c}}
|
#define EFI_GLOBAL_VARIABLE {0x8be4df61,0x93ca,0x11d2, {0xaa,0x0d,0x00,0xe0,0x98,0x03,0x2b,0x8c}}
|
||||||
|
|
||||||
// Variable-size array
|
|
||||||
#define ANYSIZE_ARRAY 1
|
|
||||||
|
|
||||||
// Event types
|
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
// Task Priority Levels
|
|
||||||
#define TPL_APPLICATION 4
|
|
||||||
#define TPL_CALLBACK 8
|
|
||||||
#define TPL_NOTIFY 16
|
|
||||||
#define TPL_HIGH_LEVEL 31
|
|
||||||
//
|
|
||||||
|
|
||||||
// Variable Attributes
|
|
||||||
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
|
|
||||||
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
|
|
||||||
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
|
|
||||||
#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
|
|
||||||
// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated
|
|
||||||
// and should be considered reserved.
|
|
||||||
#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
|
|
||||||
#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020
|
|
||||||
#define EFI_VARIABLE_APPEND_WRITE 0x00000040
|
|
||||||
#define EFI_VARIABLE_ENHANCED_AUTHENTICATED_ACCESS 0x00000080
|
|
||||||
|
|
||||||
// EFI Open Protocol Attributes
|
|
||||||
#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001
|
|
||||||
#define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002
|
|
||||||
#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004
|
|
||||||
#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008
|
|
||||||
#define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
|
|
||||||
#define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020
|
|
||||||
//
|
|
||||||
|
|
||||||
// Memory Descriptor Version Number
|
|
||||||
#define EFI_MEMORY_DESCRIPTOR_VERSION 1
|
|
||||||
|
|
||||||
#include "efi_st.h"
|
#include "efi_st.h"
|
||||||
#include "efi_rs.h"
|
#include "efi_rs.h"
|
||||||
#include "efi_bs.h"
|
#include "efi_bs.h"
|
||||||
|
|
||||||
#include "protocols/adapter_information.h"
|
|
||||||
#include "protocols/boot_manager_policy.h"
|
#include "protocols/boot_manager_policy.h"
|
||||||
#include "protocols/bus_specific_driver_override.h"
|
|
||||||
#include "protocols/component_name2.h"
|
|
||||||
#include "protocols/device_path.h"
|
#include "protocols/device_path.h"
|
||||||
#include "protocols/driver_binding.h"
|
|
||||||
#include "protocols/driver_diagnostics2.h"
|
|
||||||
#include "protocols/driver_family_override.h"
|
|
||||||
#include "protocols/driver_health.h"
|
|
||||||
#include "protocols/driver_supported_efi_version.h"
|
|
||||||
#include "protocols/file.h"
|
#include "protocols/file.h"
|
||||||
#include "protocols/loaded_image.h"
|
#include "protocols/loaded_image.h"
|
||||||
#include "protocols/loaded_image_device_path.h"
|
|
||||||
#include "protocols/platform_driver_override.h"
|
|
||||||
#include "protocols/platform_to_driver_configuration.h"
|
|
||||||
#include "protocols/service_binding.h"
|
|
||||||
#include "protocols/simple_file_system.h"
|
#include "protocols/simple_file_system.h"
|
||||||
#include "protocols/simple_text_input.h"
|
#include "protocols/simple_text_input.h"
|
||||||
#include "protocols/simple_text_output.h"
|
#include "protocols/simple_text_output.h"
|
||||||
|
#include "protocols/uefi_driver_model.h"
|
||||||
|
|
||||||
#define EFI_ERROR(Status) (((INTN)(EFI_STATUS)(Status)) < 0)
|
#define EFI_ERROR(Status) (((INTN)(EFI_STATUS)(Status)) < 0)
|
||||||
|
|
||||||
|
|
|
@ -1,78 +0,0 @@
|
||||||
#ifndef EFI_PROTOCOLS_ADAPTER_INFORMATION_H
|
|
||||||
#define EFI_PROTOCOLS_ADAPTER_INFORMATION_H
|
|
||||||
|
|
||||||
#define EFI_ADAPTER_INFORMATION_PROTOCOL_GUID {0xe5dd1403,0xd622,0xc24e, {0x84,0x88,0xc7,0x1b,0x17,0xf5,0xe8,0x02}}
|
|
||||||
#define EFI_ADAPTER_INFO_MEDIA_STATE_GUID {0xd7c74207,0xa831,0x4a26, {0xb1,0xf5,0xd1,0x93,0x06,0x5c,0xe8,0xb6}}
|
|
||||||
#define EFI_ADAPTER_INFO_NETWORK_BOOT_GUID {0x1fbd2960,0x4130,0x41e5,{0x94,0xac,0xd2,0xcf,0x03,0x7f,0xb3,0x7c}}
|
|
||||||
#define EFI_ADAPTER_INFO_SAN_MAC_ADDRESS_GUID {0x114da5ef,0x2cf1,0x4e12, {0x9b,0xbb,0xc4,0x70,0xb5,0x52,0x05,0xd9}}
|
|
||||||
#define EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT_GUID {0x4bd56be3,0x4975,0x4d8a, {0xa0,0xad,0xc4,0x91,0x20,0x4b,0x5d,0x4d}}
|
|
||||||
#define EFI_ADAPTER_INFO_MEDIA_TYPE_GUID {0x8484472f,0x71ec,0x411a, {0xb3,0x9c,0x62,0xcd,0x94,0xd9,0x91,0x6e}}
|
|
||||||
#define EFI_ADAPTER_INFO_CDAT_TYPE_GUID {0x77af24d1,0xb6f0,0x42b9, {0x83,0xf5,0x8f,0xe6,0xe8,0x3e,0xb6,0xf0}}
|
|
||||||
|
|
||||||
typedef struct _EFI_ADAPTER_INFORMATION_PROTOCOL EFI_ADAPTER_INFORMATION_PROTOCOL;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
EFI_STATUS MediaState;
|
|
||||||
} EFI_ADAPTER_INFO_MEDIA_STATE;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
BOOLEAN iSsciIpv4BootCapablity;
|
|
||||||
BOOLEAN iScsiIpv6BootCapablity;
|
|
||||||
BOOLEAN FCoeBootCapablity;
|
|
||||||
BOOLEAN OffloadCapability;
|
|
||||||
BOOLEAN iScsiMpioCapability;
|
|
||||||
BOOLEAN iScsiIpv4Boot;
|
|
||||||
BOOLEAN iScsiIpv6Boot;
|
|
||||||
BOOLEAN FCoeBoot;
|
|
||||||
} EFI_ADAPTER_INFO_NETWORK_BOOT;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
EFI_MAC_ADDRESS SanMacAddress;
|
|
||||||
} EFI_ADAPTER_INFO_SAN_MAC_ADDRESS;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
BOOLEAN Ipv6Support;
|
|
||||||
} EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
UINT8 MediaType;
|
|
||||||
} EFI_ADAPTER_INFO_MEDIA_TYPE;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
UINTN CdatSize;
|
|
||||||
UINT8 Cdat[];
|
|
||||||
} EFI_ADAPTER_INFO_CDAT_TYPE_TYPE;
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_ADAPTER_INFO_GET_INFO)(
|
|
||||||
IN EFI_ADAPTER_INFORMATION_PROTOCOL *This,
|
|
||||||
IN EFI_GUID *InformationType,
|
|
||||||
OUT VOID **InformationBlock,
|
|
||||||
OUT UINTN *InformationBlockSize
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_ADAPTER_INFO_SET_INFO)(
|
|
||||||
IN EFI_ADAPTER_INFORMATION_PROTOCOL *This,
|
|
||||||
IN EFI_GUID *InformationType,
|
|
||||||
IN VOID *InformationBlock,
|
|
||||||
IN UINTN InformationBlockSize
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_ADAPTER_INFO_GET_SUPPORTED_TYPES)(
|
|
||||||
IN EFI_ADAPTER_INFORMATION_PROTOCOL *This,
|
|
||||||
OUT EFI_GUID **InfoTypesBuffer,
|
|
||||||
OUT UINTN *InfoTypesBufferCount
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct _EFI_ADAPTER_INFORMATION_PROTOCOL {
|
|
||||||
EFI_ADAPTER_INFO_GET_INFO GetInformation;
|
|
||||||
EFI_ADAPTER_INFO_SET_INFO SetInformation;
|
|
||||||
EFI_ADAPTER_INFO_GET_SUPPORTED_TYPES GetSupportedTypes;
|
|
||||||
} EFI_ADAPTER_INFORMATION_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_ADAPTER_INFORMATION_H */
|
|
|
@ -1,19 +0,0 @@
|
||||||
#ifndef EFI_PROTOCOLS_BUS_SPECIFIC_DRIVER_OVERRIDE_H
|
|
||||||
#define EFI_PROTOCOLS_BUS_SPECIFIC_DRIVER_OVERRIDE_H
|
|
||||||
|
|
||||||
#define EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_GUID {0x3bc1b285,0x8a15,0x4a82, {0xaa,0xbf,0x4d,0x7d,0x13,0xfb,0x32,0x65}}
|
|
||||||
|
|
||||||
typedef struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL;
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_GET_DRIVER)(
|
|
||||||
IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This,
|
|
||||||
IN OUT EFI_HANDLE *DriverImageHandle
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL {
|
|
||||||
EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
|
|
||||||
} EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_BUS_SPECIFIC_DRIVER_OVERRIDE_H */
|
|
|
@ -1,32 +0,0 @@
|
||||||
#ifndef EFI_PROTOCOLS_COMPONENT_NAME2_H
|
|
||||||
#define EFI_PROTOCOLS_COMPONENT_NAME2_H
|
|
||||||
|
|
||||||
#define EFI_COMPONENT_NAME2_PROTOCOL_GUID {0x6a7a5cff,0xe8d9,0x4f70, {0xba,0xda,0x75,0xab,0x30,0x25,0xce,0x14}}
|
|
||||||
|
|
||||||
typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_COMPONENT_NAME_GET_DRIVER_NAME)(
|
|
||||||
IN EFI_COMPONENT_NAME2_PROTOCOL *This,
|
|
||||||
IN CHAR8 *Language,
|
|
||||||
OUT CHAR16 **DriverName
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_COMPONENT_NAME_GET_CONTROLLER_NAME)(
|
|
||||||
IN EFI_COMPONENT_NAME2_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle,
|
|
||||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
|
||||||
IN CHAR8 *Language,
|
|
||||||
OUT CHAR16 **ControllerName
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct _EFI_COMPONENT_NAME2_PROTOCOL {
|
|
||||||
EFI_COMPONENT_NAME_GET_DRIVER_NAME GetDriverName;
|
|
||||||
EFI_COMPONENT_NAME_GET_CONTROLLER_NAME GetControllerName;
|
|
||||||
CHAR8 *SupportedLanguages;
|
|
||||||
} EFI_COMPONENT_NAME2_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_COMPONENT_NAME2_H */
|
|
|
@ -1,6 +1,10 @@
|
||||||
#ifndef EFI_PROTOCOLS_DEVICE_PATH_H
|
#ifndef EFI_PROTOCOLS_DEVICE_PATH_H
|
||||||
#define EFI_PROTOCOLS_DEVICE_PATH_H
|
#define EFI_PROTOCOLS_DEVICE_PATH_H
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Device Path Protocol
|
||||||
|
///
|
||||||
|
|
||||||
#define EFI_DEVICE_PATH_PROTOCOL_GUID {0x09576e91,0x6d3f,0x11d2,{0x8e,0x39,0x00,0xa0,0xc9,0x69,0x72,0x3b}}
|
#define EFI_DEVICE_PATH_PROTOCOL_GUID {0x09576e91,0x6d3f,0x11d2,{0x8e,0x39,0x00,0xa0,0xc9,0x69,0x72,0x3b}}
|
||||||
|
|
||||||
typedef struct _EFI_DEVICE_PATH_PROTOCOL EFI_DEVICE_PATH_PROTOCOL;
|
typedef struct _EFI_DEVICE_PATH_PROTOCOL EFI_DEVICE_PATH_PROTOCOL;
|
||||||
|
@ -11,4 +15,77 @@ typedef struct _EFI_DEVICE_PATH_PROTOCOL {
|
||||||
UINT8 Length[2];
|
UINT8 Length[2];
|
||||||
} EFI_DEVICE_PATH_PROTOCOL;
|
} EFI_DEVICE_PATH_PROTOCOL;
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Device Path Utilities Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_DEVICE_PATH_UTILITIES_PROTOCOL_GUID {0x379be4e,0xd706,0x437d, {0xb0,0x37,0xed,0xb8,0x2f,0xb7,0x72,0xa4}}
|
||||||
|
|
||||||
|
typedef struct _EFI_DEVICE_PATH_UTILITIES_PROTOCOL EFI_DEVICE_PATH_UTILITIES_PROTOCOL;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
UINTN
|
||||||
|
(EFIAPI *EFI_DEVICE_PATH_UTILS_GET_DEVICE_PATH_SIZE)(
|
||||||
|
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL*
|
||||||
|
(EFIAPI *EFI_DEVICE_PATH_UTILS_DUP_DEVICE_PATH)(
|
||||||
|
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL*
|
||||||
|
(EFIAPI *EFI_DEVICE_PATH_UTILS_APPEND_PATH)(
|
||||||
|
IN CONST EFI_DEVICE_PATH_PROTOCOL *Src1,
|
||||||
|
IN CONST EFI_DEVICE_PATH_PROTOCOL *Src2
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL*
|
||||||
|
(EFIAPI *EFI_DEVICE_PATH_UTILS_APPEND_NODE)(
|
||||||
|
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
|
||||||
|
IN CONST EFI_DEVICE_PATH_PROTOCOL *DeviceNode
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL*
|
||||||
|
(EFIAPI *EFI_DEVICE_PATH_UTILS_APPEND_INSTANCE)(
|
||||||
|
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
|
||||||
|
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePathInstance
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL*
|
||||||
|
(EFIAPI *EFI_DEVICE_PATH_UTILS_GET_NEXT_INSTANCE)(
|
||||||
|
IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePathInstance,
|
||||||
|
OUT UINTN *DevicePathInstanceSize OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
BOOLEAN
|
||||||
|
(EFIAPI *EFI_DEVICE_PATH_UTILS_IS_MULTI_INSTANCE)(
|
||||||
|
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL*
|
||||||
|
(EFIAPI *EFI_DEVICE_PATH_UTILS_CREATE_NODE)(
|
||||||
|
IN UINT8 NodeType,
|
||||||
|
IN UINT8 NodeSubType,
|
||||||
|
IN UINT16 NodeLength
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _EFI_DEVICE_PATH_UTILITIES_PROTOCOL {
|
||||||
|
EFI_DEVICE_PATH_UTILS_GET_DEVICE_PATH_SIZE GetDevicePathSize;
|
||||||
|
EFI_DEVICE_PATH_UTILS_DUP_DEVICE_PATH DuplicateDevicePath;
|
||||||
|
EFI_DEVICE_PATH_UTILS_APPEND_PATH AppendDevicePath;
|
||||||
|
EFI_DEVICE_PATH_UTILS_APPEND_NODE AppendDeviceNode;
|
||||||
|
EFI_DEVICE_PATH_UTILS_APPEND_INSTANCE AppendDevicePathInstance;
|
||||||
|
EFI_DEVICE_PATH_UTILS_GET_NEXT_INSTANCE GetNextDevicePathInstance;
|
||||||
|
EFI_DEVICE_PATH_UTILS_IS_MULTI_INSTANCE IsDevicePathMultiInstance;
|
||||||
|
EFI_DEVICE_PATH_UTILS_CREATE_NODE CreateDeviceNode;
|
||||||
|
} EFI_DEVICE_PATH_UTILITIES_PROTOCOL;
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_DEVICE_PATH_H */
|
#endif /* EFI_PROTOCOLS_DEVICE_PATH_H */
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
#ifndef EFI_PROTOCOLS_DRIVER_BINDING_H
|
|
||||||
#define EFI_PROTOCOLS_DRIVER_BINDING_H
|
|
||||||
|
|
||||||
#define EFI_DRIVER_BINDING_PROTOCOL_GUID {0x18a031ab,0xb443,0x4d1a, {0xa5,0xc0,0x0c,0x09,0x26,0x1e,0x9f,0x71}}
|
|
||||||
|
|
||||||
typedef struct _EFI_DRIVER_BINDING_PROTOCOL EFI_DRIVER_BINDING_PROTOCOL;
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_SUPPORTED)(
|
|
||||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle,
|
|
||||||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_START)(
|
|
||||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle,
|
|
||||||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_STOP)(
|
|
||||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle,
|
|
||||||
IN UINTN NumberOfChildren,
|
|
||||||
IN EFI_DEVICE_PATH_PROTOCOL *ChildHandleBuffer OPTIONAL
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct _EFI_DRIVER_BINDING_PROTOCOL {
|
|
||||||
EFI_DRIVER_BINDING_PROTOCOL_SUPPORTED Supported;
|
|
||||||
EFI_DRIVER_BINDING_PROTOCOL_START Start;
|
|
||||||
EFI_DRIVER_BINDING_PROTOCOL_STOP Stop;
|
|
||||||
UINT32 Version;
|
|
||||||
EFI_HANDLE ImageHandle;
|
|
||||||
EFI_HANDLE DriverBindingHandle;
|
|
||||||
} EFI_DRIVER_BINDING_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_DRIVER_BINDING_H */
|
|
|
@ -1,34 +0,0 @@
|
||||||
#ifndef EFI_PROTOCOLS_DRIVER_DIAGNOSTICS2_H
|
|
||||||
#define EFI_PROTOCOLS_DRIVER_DIAGNOSTICS2_H
|
|
||||||
|
|
||||||
#define EFI_DRIVER_DIAGNOSTICS_PROTOCOL_GUID {0x4d330321,0x025f,0x4aac, {0x90,0xd8,0x5e,0xd9,0x00,0x17,0x3b,0x63}}
|
|
||||||
|
|
||||||
typedef struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL EFI_DRIVER_DIAGNOSTICS2_PROTOCOL;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
EfiDriverDiagnosticTypeStandard = 0,
|
|
||||||
EfiDriverDiagnosticTypeExtended = 1,
|
|
||||||
EfiDriverDiagnosticTypeManufacturing = 2,
|
|
||||||
EfiDriverDiagnosticTypeCancel = 3,
|
|
||||||
EfiDriverDiagnosticTypeMaximum
|
|
||||||
} EFI_DRIVER_DIAGNOSTIC_TYPE;
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_DRIVER_DIAGNOSTICS2_RUN_DIAGNOSTICS)(
|
|
||||||
IN EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle,
|
|
||||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
|
||||||
IN EFI_DRIVER_DIAGNOSTIC_TYPE DiagnosticType,
|
|
||||||
IN CHAR8 *Language,
|
|
||||||
OUT EFI_GUID **ErrorType,
|
|
||||||
OUT UINTN *BufferSize,
|
|
||||||
OUT CHAR16 **Buffer
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL {
|
|
||||||
EFI_DRIVER_DIAGNOSTICS2_RUN_DIAGNOSTICS RunDiagnostics;
|
|
||||||
CHAR8 *SupportedLanguages;
|
|
||||||
} EFI_DRIVER_DIAGNOSTICS2_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_DRIVER_DIAGNOSTICS2_H */
|
|
|
@ -1,18 +0,0 @@
|
||||||
#ifndef EFI_PROTOCOLS_DRIVER_FAMILY_OVERRIDE_H
|
|
||||||
#define EFI_PROTOCOLS_DRIVER_FAMILY_OVERRIDE_H
|
|
||||||
|
|
||||||
#define EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL_GUID {0xb1ee129e,0xda36,0x4181, {0x91,0xf8,0x04,0xa4,0x92,0x37,0x66,0xa7}}
|
|
||||||
|
|
||||||
typedef struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL;
|
|
||||||
|
|
||||||
typedef
|
|
||||||
UINT32
|
|
||||||
(EFIAPI *EFI_DRIVER_FAMILY_OVERRIDE_GET_VERSION)(
|
|
||||||
IN EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL *This
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL {
|
|
||||||
EFI_DRIVER_FAMILY_OVERRIDE_GET_VERSION GetVersion;
|
|
||||||
} EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_DRIVER_FAMILY_OVERRIDE_H */
|
|
|
@ -1,55 +0,0 @@
|
||||||
#ifndef EFI_PROTOCOLS_DRIVER_HEALTH_H
|
|
||||||
#define EFI_PROTOCOLS_DRIVER_HEALTH_H
|
|
||||||
|
|
||||||
#define EFI_DRIVER_HEALTH_PROTOCOL_GUID {0x2a534210,0x9280,0x41d8, {0xae,0x79,0xca,0xda,0x01,0xa2,0xb1,0x27}}
|
|
||||||
|
|
||||||
typedef struct _EFI_DRIVER_HEALTH_PROTOCOL EFI_DRIVER_HEALTH_PROTOCOL;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
EfiDriverHealthStatusHealthy,
|
|
||||||
EfiDriverHealthStatusRepairRequired,
|
|
||||||
EfiDriverHealthStatusConfigurationRequired,
|
|
||||||
EfiDriverHealthStatusFailed,
|
|
||||||
EfiDriverHealthStatusReconnectRequired,
|
|
||||||
EfiDriverHealthStatusRebootRequired
|
|
||||||
} EFI_DRIVER_HEALTH_STATUS;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
EFI_HII_HANDLE HiiHandle;
|
|
||||||
EFI_STRING_ID StringId;
|
|
||||||
UINT64 MessageCode;
|
|
||||||
} EFI_DRIVER_HEALTH_HII_MESSAGE;
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_DRIVER_HEALTH_GET_HEALTH_STATUS)(
|
|
||||||
IN EFI_DRIVER_HEALTH_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle OPTIONAL,
|
|
||||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
|
||||||
OUT EFI_DRIVER_HEALTH_STATUS *HealthStatus,
|
|
||||||
OUT EFI_DRIVER_HEALTH_HII_MESSAGE **MessageList OPTIONAL,
|
|
||||||
OUT EFI_HII_HANDLE *FormHiiHandle OPTIONAL
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_DRIVER_HEALTH_REPAIR_NOTIFY)(
|
|
||||||
IN UINTN Value,
|
|
||||||
IN UINTN Limit
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_DRIVER_HEALTH_REPAIR)(
|
|
||||||
IN EFI_DRIVER_HEALTH_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle,
|
|
||||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
|
||||||
IN EFI_DRIVER_HEALTH_REPAIR_NOTIFY RepairNotify OPTIONAL
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct _EFI_DRIVER_HEALTH_PROTOCOL {
|
|
||||||
EFI_DRIVER_HEALTH_GET_HEALTH_STATUS GetHealthStatus;
|
|
||||||
EFI_DRIVER_HEALTH_REPAIR Repair;
|
|
||||||
} EFI_DRIVER_HEALTH_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_DRIVER_HEALTH_H */
|
|
|
@ -1,13 +0,0 @@
|
||||||
#ifndef EFI_PROTOCOLS_DRIVER_SUPPORTED_EFI_VERSION_H
|
|
||||||
#define EFI_PROTOCOLS_DRIVER_SUPPORTED_EFI_VERSION_H
|
|
||||||
|
|
||||||
#define EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL_GUID {0x5c198761,0x16a8,0x4e69, {0x97,0x2c,0x89,0xd6,0x79,0x54,0xf8,0x1d}}
|
|
||||||
|
|
||||||
typedef struct _EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL;
|
|
||||||
|
|
||||||
typedef struct _EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL {
|
|
||||||
UINT32 Length;
|
|
||||||
UINT32 FirmwareVersion;
|
|
||||||
} EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_DRIVER_SUPPORTED_EFI_VERSION_H */
|
|
|
@ -1,6 +1,10 @@
|
||||||
#ifndef EFI_PROTOCOLS_LOADED_IMAGE_H
|
#ifndef EFI_PROTOCOLS_LOADED_IMAGE_H
|
||||||
#define EFI_PROTOCOLS_LOADED_IMAGE_H
|
#define EFI_PROTOCOLS_LOADED_IMAGE_H
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Loaded Image Protocol
|
||||||
|
///
|
||||||
|
|
||||||
#define EFI_LOADED_IMAGE_PROTOCOL_GUID {0x5b1b31a1,0x9562,0x11d2, {0x8e,0x3f,0x00,0xa0,0xc9,0x69,0x72,0x3b}}
|
#define EFI_LOADED_IMAGE_PROTOCOL_GUID {0x5b1b31a1,0x9562,0x11d2, {0x8e,0x3f,0x00,0xa0,0xc9,0x69,0x72,0x3b}}
|
||||||
|
|
||||||
#define EFI_LOADED_IMAGE_PROTOCOL_VERSION 0x1000
|
#define EFI_LOADED_IMAGE_PROTOCOL_VERSION 0x1000
|
||||||
|
@ -33,4 +37,16 @@ typedef struct _EFI_LOADED_IMAGE_PROTOCOL {
|
||||||
EFI_IMAGE_UNLOAD Unload;
|
EFI_IMAGE_UNLOAD Unload;
|
||||||
} EFI_LOADED_IMAGE_PROTOCOL;
|
} EFI_LOADED_IMAGE_PROTOCOL;
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Loaded Image Device Path Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID {0xbc62157e,0x3e33,0x4fec, {0x99,0x20,0x2d,0x3b,0x36,0xd7,0x50,0xdf}}
|
||||||
|
|
||||||
|
// UEFI Spec 2.10, 9.2.1:
|
||||||
|
// The Loaded Image Device Path Protocol uses the same protocol interface structure as the Device Path Protocol defined
|
||||||
|
// in Chapter 9. The only difference between the Device Path Protocol and the Loaded Image Device Path Protocol is
|
||||||
|
// the protocol GUID value.
|
||||||
|
typedef EFI_DEVICE_PATH_PROTOCOL EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL;
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_LOADED_IMAGE_H */
|
#endif /* EFI_PROTOCOLS_LOADED_IMAGE_H */
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
#ifndef EFI_PROTOCOLS_LOADED_IMAGE_DEVICE_PATH_H
|
|
||||||
#define EFI_PROTOCOLS_LOADED_IMAGE_DEVICE_PATH_H
|
|
||||||
|
|
||||||
#define EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID {0xbc62157e,0x3e33,0x4fec, {0x99,0x20,0x2d,0x3b,0x36,0xd7,0x50,0xdf}}
|
|
||||||
|
|
||||||
// UEFI Spec 2.10, 9.2.1:
|
|
||||||
// The Loaded Image Device Path Protocol uses the same protocol interface structure as the Device Path Protocol defined
|
|
||||||
// in Chapter 9. The only difference between the Device Path Protocol and the Loaded Image Device Path Protocol is
|
|
||||||
// the protocol GUID value.
|
|
||||||
typedef EFI_DEVICE_PATH_PROTOCOL EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_LOADED_IMAGE_DEVICE_PATH_H */
|
|
|
@ -1,39 +0,0 @@
|
||||||
#ifndef EFI_PLATFORMS_PLATFORM_DRIVER_OVERRIDE_H
|
|
||||||
#define EFI_PLATFORMS_PLATFORM_DRIVER_OVERRIDE_H
|
|
||||||
|
|
||||||
#define EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL_GUID {0x6b30c738,0xa391,0x11d4, {0x9a,0x3b,0x00,0x90,0x27,0x3f,0xc1,0x4d}}
|
|
||||||
|
|
||||||
typedef struct _EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL;
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER)(
|
|
||||||
IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle,
|
|
||||||
IN OUT EFI_HANDLE *DriverImageHandle
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER_PATH)(
|
|
||||||
IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle,
|
|
||||||
IN OUT EFI_DEVICE_PATH_PROTOCOL **DriverImagePath
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_PLATFORM_DRIVER_OVERRIDE_DRIVER_LOADED)(
|
|
||||||
IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle,
|
|
||||||
IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath,
|
|
||||||
IN EFI_HANDLE DriverImageHandle
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct _EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL {
|
|
||||||
EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
|
|
||||||
EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER_PATH GetDriverPath;
|
|
||||||
EFI_PLATFORM_DRIVER_OVERRIDE_DRIVER_LOADED DriverLoaded;
|
|
||||||
} EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PLATFORMS_PLATFORM_DRIVER_OVERRIDE_H */
|
|
|
@ -1,59 +0,0 @@
|
||||||
#ifndef EFI_PROTOCOLS_PLATFORM_TO_DRIVER_CONFIGURATION_H
|
|
||||||
#define EFI_PROTOCOLS_PLATFORM_TO_DRIVER_CONFIGURATION_H
|
|
||||||
|
|
||||||
#define EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL_GUID {0x642cd590,0x8059,0x4c0a, {0xa9,0x58,0xc5,0xec,0x07,0xd2,0x3c,0x4b}}
|
|
||||||
#define EFI_PLATFORM_TO_DRIVER_CONFIGURATION_CLP_GUID {0x345ecc0e,0xcb6,0x4b75, {0xbb,0x57,0x1b,0x12,0x9c,0x47,0x33,0x3e}}
|
|
||||||
|
|
||||||
typedef struct _EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
EfiPlatformConfigurationActionNone = 0,
|
|
||||||
EfiPlatformConfigurationActionStopController = 1,
|
|
||||||
EfiPlatformConfigurationActionRestartController = 2,
|
|
||||||
EfiPlatformConfigurationActionRestartPlatform = 3,
|
|
||||||
EfiPlatformConfigurationActionNvramFailed = 4,
|
|
||||||
EfiPlatformConfigurationActionUnsupportedGuid = 5,
|
|
||||||
EfiPlatformConfigurationActionMaximum
|
|
||||||
} EFI_PLATFORM_CONFIGURATION_ACTION;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
CHAR8 *CLPCommand;
|
|
||||||
UINT32 CLPCommandLength;
|
|
||||||
CHAR8 *CLPReturnString;
|
|
||||||
UINT32 CLPReturnStringLength;
|
|
||||||
UINT8 CLPCmdStatus;
|
|
||||||
UINT8 CLPErrorValue;
|
|
||||||
UINT16 CLPMsgCode;
|
|
||||||
} EFI_CONFIGURE_CLP_PARAMETER_BLK;
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_PLATFORM_TO_DRIVER_CONFIGURATION_QUERY)(
|
|
||||||
IN EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle,
|
|
||||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
|
||||||
IN UINTN *Instance,
|
|
||||||
OUT EFI_GUID **ParameterTypeGuid,
|
|
||||||
OUT VOID **ParameterBlock,
|
|
||||||
OUT UINTN *ParameterBlockSize
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_PLATFORM_TO_DRIVER_CONFIGURATION_RESPONSE)(
|
|
||||||
IN EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ControllerHandle,
|
|
||||||
IN EFI_HANDLE ChildHandle OPTIONAL,
|
|
||||||
IN UINTN *Instance,
|
|
||||||
IN EFI_GUID *ParameterTypeGuid,
|
|
||||||
IN VOID *ParameterBlock,
|
|
||||||
IN UINTN ParameterBlockSize,
|
|
||||||
IN EFI_PLATFORM_CONFIGURATION_ACTION ConfigurationAction
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct _EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL {
|
|
||||||
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_QUERY Query;
|
|
||||||
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_RESPONSE Response;
|
|
||||||
} EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_PLATFORM_TO_DRIVER_CONFIGURATION_H */
|
|
|
@ -1,25 +0,0 @@
|
||||||
#ifndef EFI_PROTOCOLS_SERVICE_BINDING_H
|
|
||||||
#define EFI_PROTOCOLS_SERVICE_BINDING_H
|
|
||||||
|
|
||||||
typedef struct _EFI_SERVICE_BINDING_PROTOCOL EFI_SERVICE_BINDING_PROTOCOL;
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_SERVICE_BINDING_CREATE_CHILD)(
|
|
||||||
IN EFI_SERVICE_BINDING_PROTOCOL *This,
|
|
||||||
IN OUT EFI_HANDLE *ChildHandle
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_SERVICE_BINDING_DESTROY_CHILD)(
|
|
||||||
IN EFI_SERVICE_BINDING_PROTOCOL *This,
|
|
||||||
IN EFI_HANDLE ChildHandle
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef struct _EFI_SERVICE_BINDING_PROTOCOL {
|
|
||||||
EFI_SERVICE_BINDING_CREATE_CHILD CreateChild;
|
|
||||||
EFI_SERVICE_BINDING_DESTROY_CHILD DestroyChild;
|
|
||||||
} EFI_SERVICE_BINDING_PROTOCOL;
|
|
||||||
|
|
||||||
#endif /* EFI_PROTOCOLS_SERVICE_BINDING_H */
|
|
419
protocols/uefi_driver_model.h
Normal file
419
protocols/uefi_driver_model.h
Normal file
|
@ -0,0 +1,419 @@
|
||||||
|
#ifndef EFI_PROTOCOLS_UEFI_DRIVER_MODEL_H
|
||||||
|
#define EFI_PROTOCOLS_UEFI_DRIVER_MODEL_H
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Driver Binding Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_DRIVER_BINDING_PROTOCOL_GUID {0x18a031ab,0xb443,0x4d1a, {0xa5,0xc0,0x0c,0x09,0x26,0x1e,0x9f,0x71}}
|
||||||
|
|
||||||
|
typedef struct _EFI_DRIVER_BINDING_PROTOCOL EFI_DRIVER_BINDING_PROTOCOL;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_SUPPORTED)(
|
||||||
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_START)(
|
||||||
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_STOP)(
|
||||||
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN UINTN NumberOfChildren,
|
||||||
|
IN EFI_DEVICE_PATH_PROTOCOL *ChildHandleBuffer OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _EFI_DRIVER_BINDING_PROTOCOL {
|
||||||
|
EFI_DRIVER_BINDING_PROTOCOL_SUPPORTED Supported;
|
||||||
|
EFI_DRIVER_BINDING_PROTOCOL_START Start;
|
||||||
|
EFI_DRIVER_BINDING_PROTOCOL_STOP Stop;
|
||||||
|
UINT32 Version;
|
||||||
|
EFI_HANDLE ImageHandle;
|
||||||
|
EFI_HANDLE DriverBindingHandle;
|
||||||
|
} EFI_DRIVER_BINDING_PROTOCOL;
|
||||||
|
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Platform Driver Override Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL_GUID {0x6b30c738,0xa391,0x11d4, {0x9a,0x3b,0x00,0x90,0x27,0x3f,0xc1,0x4d}}
|
||||||
|
|
||||||
|
typedef struct _EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER)(
|
||||||
|
IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN OUT EFI_HANDLE *DriverImageHandle
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER_PATH)(
|
||||||
|
IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN OUT EFI_DEVICE_PATH_PROTOCOL **DriverImagePath
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_PLATFORM_DRIVER_OVERRIDE_DRIVER_LOADED)(
|
||||||
|
IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath,
|
||||||
|
IN EFI_HANDLE DriverImageHandle
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL {
|
||||||
|
EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
|
||||||
|
EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER_PATH GetDriverPath;
|
||||||
|
EFI_PLATFORM_DRIVER_OVERRIDE_DRIVER_LOADED DriverLoaded;
|
||||||
|
} EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL;
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Bus Specific Driver Override Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_GUID {0x3bc1b285,0x8a15,0x4a82, {0xaa,0xbf,0x4d,0x7d,0x13,0xfb,0x32,0x65}}
|
||||||
|
|
||||||
|
typedef struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_GET_DRIVER)(
|
||||||
|
IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This,
|
||||||
|
IN OUT EFI_HANDLE *DriverImageHandle
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL {
|
||||||
|
EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
|
||||||
|
} EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL;
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Driver Diagnostics Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_DRIVER_DIAGNOSTICS_PROTOCOL_GUID {0x4d330321,0x025f,0x4aac, {0x90,0xd8,0x5e,0xd9,0x00,0x17,0x3b,0x63}}
|
||||||
|
|
||||||
|
typedef struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL EFI_DRIVER_DIAGNOSTICS2_PROTOCOL;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
EfiDriverDiagnosticTypeStandard = 0,
|
||||||
|
EfiDriverDiagnosticTypeExtended = 1,
|
||||||
|
EfiDriverDiagnosticTypeManufacturing = 2,
|
||||||
|
EfiDriverDiagnosticTypeCancel = 3,
|
||||||
|
EfiDriverDiagnosticTypeMaximum
|
||||||
|
} EFI_DRIVER_DIAGNOSTIC_TYPE;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_DRIVER_DIAGNOSTICS2_RUN_DIAGNOSTICS)(
|
||||||
|
IN EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||||
|
IN EFI_DRIVER_DIAGNOSTIC_TYPE DiagnosticType,
|
||||||
|
IN CHAR8 *Language,
|
||||||
|
OUT EFI_GUID **ErrorType,
|
||||||
|
OUT UINTN *BufferSize,
|
||||||
|
OUT CHAR16 **Buffer
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _EFI_DRIVER_DIAGNOSTICS2_PROTOCOL {
|
||||||
|
EFI_DRIVER_DIAGNOSTICS2_RUN_DIAGNOSTICS RunDiagnostics;
|
||||||
|
CHAR8 *SupportedLanguages;
|
||||||
|
} EFI_DRIVER_DIAGNOSTICS2_PROTOCOL;
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Component Name Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_COMPONENT_NAME2_PROTOCOL_GUID {0x6a7a5cff,0xe8d9,0x4f70, {0xba,0xda,0x75,0xab,0x30,0x25,0xce,0x14}}
|
||||||
|
|
||||||
|
typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_COMPONENT_NAME_GET_DRIVER_NAME)(
|
||||||
|
IN EFI_COMPONENT_NAME2_PROTOCOL *This,
|
||||||
|
IN CHAR8 *Language,
|
||||||
|
OUT CHAR16 **DriverName
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_COMPONENT_NAME_GET_CONTROLLER_NAME)(
|
||||||
|
IN EFI_COMPONENT_NAME2_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||||
|
IN CHAR8 *Language,
|
||||||
|
OUT CHAR16 **ControllerName
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _EFI_COMPONENT_NAME2_PROTOCOL {
|
||||||
|
EFI_COMPONENT_NAME_GET_DRIVER_NAME GetDriverName;
|
||||||
|
EFI_COMPONENT_NAME_GET_CONTROLLER_NAME GetControllerName;
|
||||||
|
CHAR8 *SupportedLanguages;
|
||||||
|
} EFI_COMPONENT_NAME2_PROTOCOL;
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Service Binding Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
typedef struct _EFI_SERVICE_BINDING_PROTOCOL EFI_SERVICE_BINDING_PROTOCOL;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_SERVICE_BINDING_CREATE_CHILD)(
|
||||||
|
IN EFI_SERVICE_BINDING_PROTOCOL *This,
|
||||||
|
IN OUT EFI_HANDLE *ChildHandle
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_SERVICE_BINDING_DESTROY_CHILD)(
|
||||||
|
IN EFI_SERVICE_BINDING_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ChildHandle
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _EFI_SERVICE_BINDING_PROTOCOL {
|
||||||
|
EFI_SERVICE_BINDING_CREATE_CHILD CreateChild;
|
||||||
|
EFI_SERVICE_BINDING_DESTROY_CHILD DestroyChild;
|
||||||
|
} EFI_SERVICE_BINDING_PROTOCOL;
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Platform to Driver Configuration Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL_GUID {0x642cd590,0x8059,0x4c0a, {0xa9,0x58,0xc5,0xec,0x07,0xd2,0x3c,0x4b}}
|
||||||
|
#define EFI_PLATFORM_TO_DRIVER_CONFIGURATION_CLP_GUID {0x345ecc0e,0xcb6,0x4b75, {0xbb,0x57,0x1b,0x12,0x9c,0x47,0x33,0x3e}}
|
||||||
|
|
||||||
|
typedef struct _EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
EfiPlatformConfigurationActionNone = 0,
|
||||||
|
EfiPlatformConfigurationActionStopController = 1,
|
||||||
|
EfiPlatformConfigurationActionRestartController = 2,
|
||||||
|
EfiPlatformConfigurationActionRestartPlatform = 3,
|
||||||
|
EfiPlatformConfigurationActionNvramFailed = 4,
|
||||||
|
EfiPlatformConfigurationActionUnsupportedGuid = 5,
|
||||||
|
EfiPlatformConfigurationActionMaximum
|
||||||
|
} EFI_PLATFORM_CONFIGURATION_ACTION;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
CHAR8 *CLPCommand;
|
||||||
|
UINT32 CLPCommandLength;
|
||||||
|
CHAR8 *CLPReturnString;
|
||||||
|
UINT32 CLPReturnStringLength;
|
||||||
|
UINT8 CLPCmdStatus;
|
||||||
|
UINT8 CLPErrorValue;
|
||||||
|
UINT16 CLPMsgCode;
|
||||||
|
} EFI_CONFIGURE_CLP_PARAMETER_BLK;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_PLATFORM_TO_DRIVER_CONFIGURATION_QUERY)(
|
||||||
|
IN EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||||
|
IN UINTN *Instance,
|
||||||
|
OUT EFI_GUID **ParameterTypeGuid,
|
||||||
|
OUT VOID **ParameterBlock,
|
||||||
|
OUT UINTN *ParameterBlockSize
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_PLATFORM_TO_DRIVER_CONFIGURATION_RESPONSE)(
|
||||||
|
IN EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||||
|
IN UINTN *Instance,
|
||||||
|
IN EFI_GUID *ParameterTypeGuid,
|
||||||
|
IN VOID *ParameterBlock,
|
||||||
|
IN UINTN ParameterBlockSize,
|
||||||
|
IN EFI_PLATFORM_CONFIGURATION_ACTION ConfigurationAction
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL {
|
||||||
|
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_QUERY Query;
|
||||||
|
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_RESPONSE Response;
|
||||||
|
} EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL;
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Driver Supported EFI Version Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL_GUID {0x5c198761,0x16a8,0x4e69, {0x97,0x2c,0x89,0xd6,0x79,0x54,0xf8,0x1d}}
|
||||||
|
|
||||||
|
typedef struct _EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL;
|
||||||
|
|
||||||
|
typedef struct _EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL {
|
||||||
|
UINT32 Length;
|
||||||
|
UINT32 FirmwareVersion;
|
||||||
|
} EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL;
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Driver Family Override Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL_GUID {0xb1ee129e,0xda36,0x4181, {0x91,0xf8,0x04,0xa4,0x92,0x37,0x66,0xa7}}
|
||||||
|
|
||||||
|
typedef struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
UINT32
|
||||||
|
(EFIAPI *EFI_DRIVER_FAMILY_OVERRIDE_GET_VERSION)(
|
||||||
|
IN EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL *This
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL {
|
||||||
|
EFI_DRIVER_FAMILY_OVERRIDE_GET_VERSION GetVersion;
|
||||||
|
} EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL;
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Driver Health Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_DRIVER_HEALTH_PROTOCOL_GUID {0x2a534210,0x9280,0x41d8, {0xae,0x79,0xca,0xda,0x01,0xa2,0xb1,0x27}}
|
||||||
|
|
||||||
|
typedef struct _EFI_DRIVER_HEALTH_PROTOCOL EFI_DRIVER_HEALTH_PROTOCOL;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
EfiDriverHealthStatusHealthy,
|
||||||
|
EfiDriverHealthStatusRepairRequired,
|
||||||
|
EfiDriverHealthStatusConfigurationRequired,
|
||||||
|
EfiDriverHealthStatusFailed,
|
||||||
|
EfiDriverHealthStatusReconnectRequired,
|
||||||
|
EfiDriverHealthStatusRebootRequired
|
||||||
|
} EFI_DRIVER_HEALTH_STATUS;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
EFI_HII_HANDLE HiiHandle;
|
||||||
|
EFI_STRING_ID StringId;
|
||||||
|
UINT64 MessageCode;
|
||||||
|
} EFI_DRIVER_HEALTH_HII_MESSAGE;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_DRIVER_HEALTH_GET_HEALTH_STATUS)(
|
||||||
|
IN EFI_DRIVER_HEALTH_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle OPTIONAL,
|
||||||
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||||
|
OUT EFI_DRIVER_HEALTH_STATUS *HealthStatus,
|
||||||
|
OUT EFI_DRIVER_HEALTH_HII_MESSAGE **MessageList OPTIONAL,
|
||||||
|
OUT EFI_HII_HANDLE *FormHiiHandle OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_DRIVER_HEALTH_REPAIR_NOTIFY)(
|
||||||
|
IN UINTN Value,
|
||||||
|
IN UINTN Limit
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_DRIVER_HEALTH_REPAIR)(
|
||||||
|
IN EFI_DRIVER_HEALTH_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||||
|
IN EFI_DRIVER_HEALTH_REPAIR_NOTIFY RepairNotify OPTIONAL
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _EFI_DRIVER_HEALTH_PROTOCOL {
|
||||||
|
EFI_DRIVER_HEALTH_GET_HEALTH_STATUS GetHealthStatus;
|
||||||
|
EFI_DRIVER_HEALTH_REPAIR Repair;
|
||||||
|
} EFI_DRIVER_HEALTH_PROTOCOL;
|
||||||
|
|
||||||
|
////
|
||||||
|
// EFI Adapter Information Protocol
|
||||||
|
///
|
||||||
|
|
||||||
|
#define EFI_ADAPTER_INFORMATION_PROTOCOL_GUID {0xe5dd1403,0xd622,0xc24e, {0x84,0x88,0xc7,0x1b,0x17,0xf5,0xe8,0x02}}
|
||||||
|
#define EFI_ADAPTER_INFO_MEDIA_STATE_GUID {0xd7c74207,0xa831,0x4a26, {0xb1,0xf5,0xd1,0x93,0x06,0x5c,0xe8,0xb6}}
|
||||||
|
#define EFI_ADAPTER_INFO_NETWORK_BOOT_GUID {0x1fbd2960,0x4130,0x41e5,{0x94,0xac,0xd2,0xcf,0x03,0x7f,0xb3,0x7c}}
|
||||||
|
#define EFI_ADAPTER_INFO_SAN_MAC_ADDRESS_GUID {0x114da5ef,0x2cf1,0x4e12, {0x9b,0xbb,0xc4,0x70,0xb5,0x52,0x05,0xd9}}
|
||||||
|
#define EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT_GUID {0x4bd56be3,0x4975,0x4d8a, {0xa0,0xad,0xc4,0x91,0x20,0x4b,0x5d,0x4d}}
|
||||||
|
#define EFI_ADAPTER_INFO_MEDIA_TYPE_GUID {0x8484472f,0x71ec,0x411a, {0xb3,0x9c,0x62,0xcd,0x94,0xd9,0x91,0x6e}}
|
||||||
|
#define EFI_ADAPTER_INFO_CDAT_TYPE_GUID {0x77af24d1,0xb6f0,0x42b9, {0x83,0xf5,0x8f,0xe6,0xe8,0x3e,0xb6,0xf0}}
|
||||||
|
|
||||||
|
typedef struct _EFI_ADAPTER_INFORMATION_PROTOCOL EFI_ADAPTER_INFORMATION_PROTOCOL;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
EFI_STATUS MediaState;
|
||||||
|
} EFI_ADAPTER_INFO_MEDIA_STATE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
BOOLEAN iSsciIpv4BootCapablity;
|
||||||
|
BOOLEAN iScsiIpv6BootCapablity;
|
||||||
|
BOOLEAN FCoeBootCapablity;
|
||||||
|
BOOLEAN OffloadCapability;
|
||||||
|
BOOLEAN iScsiMpioCapability;
|
||||||
|
BOOLEAN iScsiIpv4Boot;
|
||||||
|
BOOLEAN iScsiIpv6Boot;
|
||||||
|
BOOLEAN FCoeBoot;
|
||||||
|
} EFI_ADAPTER_INFO_NETWORK_BOOT;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
EFI_MAC_ADDRESS SanMacAddress;
|
||||||
|
} EFI_ADAPTER_INFO_SAN_MAC_ADDRESS;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
BOOLEAN Ipv6Support;
|
||||||
|
} EFI_ADAPTER_INFO_UNDI_IPV6_SUPPORT;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT8 MediaType;
|
||||||
|
} EFI_ADAPTER_INFO_MEDIA_TYPE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINTN CdatSize;
|
||||||
|
UINT8 Cdat[];
|
||||||
|
} EFI_ADAPTER_INFO_CDAT_TYPE_TYPE;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_ADAPTER_INFO_GET_INFO)(
|
||||||
|
IN EFI_ADAPTER_INFORMATION_PROTOCOL *This,
|
||||||
|
IN EFI_GUID *InformationType,
|
||||||
|
OUT VOID **InformationBlock,
|
||||||
|
OUT UINTN *InformationBlockSize
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_ADAPTER_INFO_SET_INFO)(
|
||||||
|
IN EFI_ADAPTER_INFORMATION_PROTOCOL *This,
|
||||||
|
IN EFI_GUID *InformationType,
|
||||||
|
IN VOID *InformationBlock,
|
||||||
|
IN UINTN InformationBlockSize
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_ADAPTER_INFO_GET_SUPPORTED_TYPES)(
|
||||||
|
IN EFI_ADAPTER_INFORMATION_PROTOCOL *This,
|
||||||
|
OUT EFI_GUID **InfoTypesBuffer,
|
||||||
|
OUT UINTN *InfoTypesBufferCount
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _EFI_ADAPTER_INFORMATION_PROTOCOL {
|
||||||
|
EFI_ADAPTER_INFO_GET_INFO GetInformation;
|
||||||
|
EFI_ADAPTER_INFO_SET_INFO SetInformation;
|
||||||
|
EFI_ADAPTER_INFO_GET_SUPPORTED_TYPES GetSupportedTypes;
|
||||||
|
} EFI_ADAPTER_INFORMATION_PROTOCOL;
|
||||||
|
|
||||||
|
#endif /* EFI_PROTOCOLS_UEFI_DRIVER_MODEL_H */
|
Loading…
Add table
Add a link
Reference in a new issue