Drop C wrappers and switch to C++ API
This commit is contained in:
@@ -51,6 +51,10 @@ typedef BOOLEAN (*PBL_BOOTUTIL_GET_BOOLEAN_PARAMETER)(IN PCWSTR Parameters, IN P
|
||||
typedef EFI_STATUS (*PBL_BUILD_PAGE_MAP)(IN PXTBL_PAGE_MAPPING PageMap, IN ULONG_PTR SelfMapAddress);
|
||||
typedef EFI_STATUS (*PBL_CLOSE_VOLUME)(IN PEFI_HANDLE VolumeHandle);
|
||||
typedef VOID (*PBL_CLEAR_CONSOLE_LINE)(IN ULONGLONG LineNo);
|
||||
typedef BOOLEAN (XTCDECL *PBL_CPU_CPUID)(IN OUT PCPUID_REGISTERS Registers);
|
||||
typedef ULONG_PTR (XTCDECL *PBL_CPU_READ_CONTROL_REGISTER)(IN USHORT ControlRegister);
|
||||
typedef ULONGLONG (XTCDECL *PBL_CPU_READ_MODEL_SPECIFIC_REGISTER)(IN ULONG Register);
|
||||
typedef VOID (XTCDECL *PBL_CPU_WRITE_CONTROL_REGISTER)(IN USHORT ControlRegister, IN UINT_PTR Value);
|
||||
typedef EFI_STATUS (*PBL_CLOSE_XT_PROTOCOL)(IN PEFI_HANDLE Handle, IN PEFI_GUID ProtocolGuid);
|
||||
typedef BOOLEAN (*PBL_CONFIG_GET_BOOLEAN_VALUE)(IN PCWSTR ConfigName);
|
||||
typedef EFI_STATUS (*PBL_CONFIG_GET_BOOT_OPTION_VALUE)(IN PLIST_ENTRY Options, IN PCWSTR OptionName, OUT PWCHAR *OptionValue);
|
||||
@@ -67,6 +71,8 @@ typedef VOID (*PBL_CONSOLE_RESET_INPUT_BUFFER)();
|
||||
typedef VOID (*PBL_CONSOLE_SET_ATTRIBUTES)(IN ULONGLONG Attributes);
|
||||
typedef VOID (*PBL_CONSOLE_SET_CURSOR_POSITION)(IN ULONGLONG PosX, IN ULONGLONG PosY);
|
||||
typedef VOID (*PBL_CONSOLE_WRITE)(IN PCWSTR String);
|
||||
typedef SIZE_T (*PBL_COMPARE_MEMORY)(IN PCVOID LeftBuffer, IN PCVOID RightBuffer, IN SIZE_T Length);
|
||||
typedef SIZE_T (XTAPI *PBL_WIDESTRING_COMPARE)(IN PCWSTR String1, IN PCWSTR String2, IN SIZE_T Length);
|
||||
typedef VOID (XTAPI *PBL_COPY_MEMORY)(OUT PVOID Destination, IN PCVOID Source, IN SIZE_T Length);
|
||||
typedef VOID (*PBL_DEBUG_PRINT)(IN PCWSTR Format, IN ...);
|
||||
typedef EFI_STATUS (*PBL_ENTER_FIRMWARE_SETUP)();
|
||||
@@ -88,19 +94,34 @@ typedef EFI_STATUS (*PBL_INSTALL_XT_PROTOCOL)(IN PVOID Interface, IN PEFI_GUID G
|
||||
typedef EFI_STATUS (*PBL_INVOKE_BOOT_PROTOCOL)(IN PWCHAR ShortName, IN PLIST_ENTRY OptionsList);
|
||||
typedef EFI_STATUS (*PBL_LOCATE_PROTOCOL_HANDLES)(OUT PEFI_HANDLE *Handles, OUT PUINT_PTR Count, IN PEFI_GUID ProtocolGuid);
|
||||
typedef EFI_STATUS (*PBL_LOAD_EFI_IMAGE)(IN PEFI_DEVICE_PATH_PROTOCOL DevicePath, IN PVOID ImageData, IN SIZE_T ImageSize, OUT PEFI_HANDLE ImageHandle);
|
||||
typedef VOID (XTCDECL *PBL_LLIST_INITIALIZE_HEAD)(IN PLIST_ENTRY ListHead);
|
||||
typedef VOID (XTCDECL *PBL_LLIST_INSERT_HEAD)(IN OUT PLIST_ENTRY ListHead, IN PLIST_ENTRY Entry);
|
||||
typedef VOID (XTCDECL *PBL_LLIST_INSERT_TAIL)(IN OUT PLIST_ENTRY ListHead, IN PLIST_ENTRY Entry);
|
||||
typedef VOID (XTCDECL *PBL_LLIST_REMOVE_ENTRY)(IN PLIST_ENTRY Entry);
|
||||
typedef EFI_STATUS (*PBL_MAP_EFI_MEMORY)(IN OUT PXTBL_PAGE_MAPPING PageMap, IN OUT PVOID *MemoryMapAddress, IN PBL_GET_MEMTYPE_ROUTINE GetMemoryTypeRoutine);
|
||||
typedef EFI_STATUS (*PBL_MAP_PAGE)(IN PXTBL_PAGE_MAPPING PageMap, IN ULONG_PTR VirtualAddress, IN ULONG_PTR PhysicalAddress, IN ULONG NumberOfPages);
|
||||
typedef EFI_STATUS (*PBL_MAP_VIRTUAL_MEMORY)(IN OUT PXTBL_PAGE_MAPPING PageMap, IN PVOID VirtualAddress, IN PVOID PhysicalAddress, IN ULONGLONG NumberOfPages, IN LOADER_MEMORY_TYPE MemoryType);
|
||||
typedef VOID (*PBL_MOVE_MEMORY)(IN OUT PVOID Destination, IN PCVOID Source, IN SIZE_T Length);
|
||||
typedef EFI_STATUS (*PBL_OPEN_VOLUME)(IN PEFI_DEVICE_PATH_PROTOCOL DevicePath, OUT PEFI_HANDLE DiskHandle, OUT PEFI_FILE_HANDLE *FsHandle);
|
||||
typedef EFI_STATUS (*PBL_OPEN_PROTOCOL)(OUT PEFI_HANDLE Handle, OUT PVOID *ProtocolHandler, IN PEFI_GUID ProtocolGuid);
|
||||
typedef EFI_STATUS (*PBL_OPEN_PROTOCOL_HANDLE)(IN EFI_HANDLE Handle, OUT PVOID *ProtocolHandler, IN PEFI_GUID ProtocolGuid);
|
||||
typedef PVOID (*PBL_PHYSICAL_ADDRESS_TO_VIRTUAL)(IN PVOID PhysicalAddress, IN PVOID PhysicalBase, IN PVOID VirtualBase);
|
||||
typedef UCHAR (XTCDECL *PBL_IOPORT_READ_8)(IN USHORT Port);
|
||||
typedef USHORT (XTCDECL *PBL_IOPORT_READ_16)(IN USHORT Port);
|
||||
typedef ULONG (XTCDECL *PBL_IOPORT_READ_32)(IN USHORT Port);
|
||||
typedef VOID (XTCDECL *PBL_IOPORT_WRITE_8)(IN USHORT Port, IN UCHAR Value);
|
||||
typedef VOID (XTCDECL *PBL_IOPORT_WRITE_16)(IN USHORT Port, IN USHORT Value);
|
||||
typedef VOID (XTCDECL *PBL_IOPORT_WRITE_32)(IN USHORT Port, IN ULONG Value);
|
||||
typedef EFI_STATUS (*PBL_PHYSICAL_LIST_TO_VIRTUAL)(IN PXTBL_PAGE_MAPPING PageMap, IN OUT PLIST_ENTRY ListHead, IN PVOID PhysicalBase, IN PVOID VirtualBase);
|
||||
typedef EFI_STATUS (*PBL_POWER_SYSTEM)();
|
||||
typedef EFI_STATUS (*PBL_READ_FILE)(IN PEFI_FILE_HANDLE DirHandle, IN PCWSTR FileName, OUT PVOID *FileData, OUT PSIZE_T FileSize);
|
||||
typedef EFI_STATUS (*PBL_REGISTER_BOOT_PROTOCOL)(IN PCWSTR SystemType, IN PEFI_GUID BootProtocolGuid);
|
||||
typedef VOID (*PBL_REGISTER_XT_BOOT_MENU)(PVOID BootMenuRoutine);
|
||||
typedef EFI_STATUS (*PBL_SET_EFI_VARIABLE)(IN PEFI_GUID Vendor, IN PCWSTR VariableName, IN PVOID VariableValue, IN UINT_PTR Size);
|
||||
typedef SIZE_T (XTAPI *PBL_STRING_COMPARE)(IN PCSTR String1, IN PCSTR String2, IN SIZE_T Length);
|
||||
typedef SIZE_T (XTAPI *PBL_STRING_LENGTH)(IN PCSTR String, IN SIZE_T MaxLength);
|
||||
typedef SIZE_T (XTAPI *PBL_STRING_TO_WIDESTRING)(OUT PWCHAR Destination, IN PCSTR *Source, IN SIZE_T Length);
|
||||
typedef PCHAR (XTAPI *PBL_STRING_TRIM)(IN PCHAR String);
|
||||
typedef VOID (XTAPI *PBL_SET_MEMORY)(OUT PVOID Destination, IN UCHAR Byte, IN SIZE_T Length);
|
||||
typedef VOID (*PBL_SLEEP_EXECUTION)(IN ULONG_PTR Milliseconds);
|
||||
typedef EFI_STATUS (*PBL_START_EFI_IMAGE)(IN EFI_HANDLE ImageHandle);
|
||||
@@ -109,6 +130,11 @@ typedef VOID (*PBL_TUI_DISPLAY_INFO_DIALOG)(IN PCWSTR Caption, IN PCWSTR Message
|
||||
typedef VOID (*PBL_TUI_DISPLAY_INPUT_DIALOG)(IN PCWSTR Caption, IN PCWSTR Message, IN OUT PWCHAR *InputFieldText);
|
||||
typedef XTBL_DIALOG_HANDLE (*PBL_TUI_DISPLAY_PROGRESS_DIALOG)(IN PCWSTR Caption, IN PCWSTR Message, IN UCHAR Percentage);
|
||||
typedef VOID (*PBL_TUI_UPDATE_PROGRESS_BAR)(IN PXTBL_DIALOG_HANDLE Handle, IN PCWSTR Message, IN UCHAR Percentage);
|
||||
typedef SIZE_T (XTAPI *PBL_WIDESTRING_COMPARE_INSENSITIVE)(IN PCWSTR String1, IN PCWSTR String2, IN SIZE_T Length);
|
||||
typedef PWCHAR (XTAPI *PBL_WIDESTRING_CONCATENATE)(OUT PWCHAR Destination, IN PWCHAR Source, IN SIZE_T Count);
|
||||
typedef XTSTATUS (XTAPI *PBL_WIDESTRING_FORMAT)(IN PRTL_PRINT_CONTEXT Context, IN PCWSTR Format, IN VA_LIST ArgumentList);
|
||||
typedef SIZE_T (XTAPI *PBL_WIDESTRING_LENGTH)(IN PCWSTR String, IN SIZE_T MaxLength);
|
||||
typedef PWCHAR (XTAPI *PBL_WIDESTRING_TOKENIZE)(IN PWCHAR String, IN PCWSTR Delimiter, IN OUT PWCHAR *SavePtr);
|
||||
typedef EFI_STATUS (*PBL_WAIT_FOR_EFI_EVENT)(IN UINT_PTR NumberOfEvents, IN PEFI_EVENT Event, OUT PUINT_PTR Index);
|
||||
typedef VOID (*PBL_XT_BOOT_MENU)();
|
||||
typedef VOID (XTAPI *PBL_ZERO_MEMORY)(OUT PVOID Destination, IN SIZE_T Length);
|
||||
@@ -386,6 +412,13 @@ typedef struct _XTBL_LOADER_PROTOCOL
|
||||
PBL_CONSOLE_WRITE Write;
|
||||
} Console;
|
||||
struct
|
||||
{
|
||||
PBL_CPU_CPUID CpuId;
|
||||
PBL_CPU_READ_CONTROL_REGISTER ReadControlRegister;
|
||||
PBL_CPU_READ_MODEL_SPECIFIC_REGISTER ReadModelSpecificRegister;
|
||||
PBL_CPU_WRITE_CONTROL_REGISTER WriteControlRegister;
|
||||
} Cpu;
|
||||
struct
|
||||
{
|
||||
PBL_DEBUG_PRINT Print;
|
||||
} Debug;
|
||||
@@ -396,10 +429,27 @@ typedef struct _XTBL_LOADER_PROTOCOL
|
||||
PBL_READ_FILE ReadFile;
|
||||
} Disk;
|
||||
struct
|
||||
{
|
||||
PBL_IOPORT_READ_8 Read8;
|
||||
PBL_IOPORT_READ_16 Read16;
|
||||
PBL_IOPORT_READ_32 Read32;
|
||||
PBL_IOPORT_WRITE_8 Write8;
|
||||
PBL_IOPORT_WRITE_16 Write16;
|
||||
PBL_IOPORT_WRITE_32 Write32;
|
||||
} IoPort;
|
||||
struct
|
||||
{
|
||||
PBL_LLIST_INITIALIZE_HEAD InitializeHead;
|
||||
PBL_LLIST_INSERT_HEAD InsertHead;
|
||||
PBL_LLIST_INSERT_TAIL InsertTail;
|
||||
PBL_LLIST_REMOVE_ENTRY RemoveEntry;
|
||||
} LinkedList;
|
||||
struct
|
||||
{
|
||||
PBL_ALLOCATE_PAGES AllocatePages;
|
||||
PBL_ALLOCATE_POOL AllocatePool;
|
||||
PBL_BUILD_PAGE_MAP BuildPageMap;
|
||||
PBL_COMPARE_MEMORY CompareMemory;
|
||||
PBL_COPY_MEMORY CopyMemory;
|
||||
PBL_FREE_PAGES FreePages;
|
||||
PBL_FREE_POOL FreePool;
|
||||
@@ -410,6 +460,7 @@ typedef struct _XTBL_LOADER_PROTOCOL
|
||||
PBL_MAP_EFI_MEMORY MapEfiMemory;
|
||||
PBL_MAP_PAGE MapPage;
|
||||
PBL_MAP_VIRTUAL_MEMORY MapVirtualMemory;
|
||||
PBL_MOVE_MEMORY MoveMemory;
|
||||
PBL_PHYSICAL_ADDRESS_TO_VIRTUAL PhysicalAddressToVirtual;
|
||||
PBL_PHYSICAL_LIST_TO_VIRTUAL PhysicalListToVirtual;
|
||||
PBL_SET_MEMORY SetMemory;
|
||||
@@ -425,6 +476,13 @@ typedef struct _XTBL_LOADER_PROTOCOL
|
||||
PBL_OPEN_PROTOCOL_HANDLE OpenHandle;
|
||||
} Protocol;
|
||||
struct
|
||||
{
|
||||
PBL_STRING_COMPARE Compare;
|
||||
PBL_STRING_LENGTH Length;
|
||||
PBL_STRING_TO_WIDESTRING ToWideString;
|
||||
PBL_STRING_TRIM Trim;
|
||||
} String;
|
||||
struct
|
||||
{
|
||||
PBL_TUI_DISPLAY_ERROR_DIALOG DisplayErrorDialog;
|
||||
PBL_TUI_DISPLAY_INFO_DIALOG DisplayInfoDialog;
|
||||
@@ -449,6 +507,15 @@ typedef struct _XTBL_LOADER_PROTOCOL
|
||||
PBL_START_EFI_IMAGE StartEfiImage;
|
||||
PBL_WAIT_FOR_EFI_EVENT WaitForEfiEvent;
|
||||
} Util;
|
||||
struct
|
||||
{
|
||||
PBL_WIDESTRING_COMPARE Compare;
|
||||
PBL_WIDESTRING_COMPARE_INSENSITIVE CompareInsensitive;
|
||||
PBL_WIDESTRING_CONCATENATE Concatenate;
|
||||
PBL_WIDESTRING_FORMAT Format;
|
||||
PBL_WIDESTRING_LENGTH Length;
|
||||
PBL_WIDESTRING_TOKENIZE Tokenize;
|
||||
} WideString;
|
||||
} XTBL_LOADER_PROTOCOL, *PXTBL_LOADER_PROTOCOL;
|
||||
|
||||
#endif /* __XTDK_BLTYPES_H */
|
||||
|
Reference in New Issue
Block a user