Synchronize fork
此提交包含在:
89
sdk/xtdk/bltypes.h
一般檔案
89
sdk/xtdk/bltypes.h
一般檔案
@@ -0,0 +1,89 @@
|
||||
/**
|
||||
* PROJECT: ExectOS
|
||||
* COPYRIGHT: See COPYING.md in the top level directory
|
||||
* FILE: sdk/xtdk/bmtypes.h
|
||||
* DESCRIPTION: XT Boot Manager structures definitions
|
||||
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||
*/
|
||||
|
||||
#ifndef __XTDK_BMTYPES_H
|
||||
#define __XTDK_BMTYPES_H
|
||||
|
||||
#include <xttypes.h>
|
||||
#include <xtuefi.h>
|
||||
|
||||
|
||||
/* XTLDR directories */
|
||||
#define XTBL_LOADER_DIRECTORY L"\\EFI\\BOOT\\XTLDR\\"
|
||||
#define XTBL_THEMES_DIRECTORY L"\\EFI\\BOOT\\XTLDR\\THEMES\\"
|
||||
|
||||
/* XTLDR Debug Port type definitions */
|
||||
#define XTBL_DEBUGPORT_SCREEN 1
|
||||
#define XTBL_DEBUGPORT_SERIAL 2
|
||||
|
||||
/* Loader protocol routine pointers */
|
||||
typedef EFI_STATUS (*PBL_ALLOCATE_PAGES)(IN UINT64 Size, OUT PEFI_PHYSICAL_ADDRESS Memory);
|
||||
typedef EFI_STATUS (*PBL_ALLOCATE_POOL)(IN UINT_PTR Size, OUT PVOID *Memory);
|
||||
typedef VOID (*PBL_CONSOLE_CLEAR_SCREEN)();
|
||||
typedef VOID (*PBL_CONSOLE_DISABLE_CURSOR)();
|
||||
typedef VOID (*PBL_CONSOLE_ENABLE_CURSOR)();
|
||||
typedef VOID (*PBL_CONSOLE_PRINT)(IN PUINT16 Format, IN ...);
|
||||
typedef VOID (*PBL_DEBUG_PRINT)(IN PUINT16 Format, IN ...);
|
||||
typedef EFI_STATUS (*PBL_EXIT_BOOT_SERVICES)(IN UINT_PTR MapKey);
|
||||
typedef EFI_STATUS (*PBL_FREE_PAGES)(IN UINT64 Size, IN EFI_PHYSICAL_ADDRESS Memory);
|
||||
typedef EFI_STATUS (*PBL_FREE_POOL)(IN PVOID Memory);
|
||||
typedef EFI_STATUS (*PBL_OPEN_XT_PROTOCOL)(OUT PVOID *ProtocolHandler, IN PEFI_GUID ProtocolGuid);
|
||||
typedef VOID (*PBL_SLEEP_EXECUTION)(IN ULONG_PTR Milliseconds);
|
||||
|
||||
/* XTLDR Configuration data */
|
||||
typedef struct _XTBL_CONFIGURATION
|
||||
{
|
||||
PWCHAR Default;
|
||||
PWCHAR Debug;
|
||||
ULONG DebugPort;
|
||||
BOOLEAN Shell;
|
||||
ULONG Timeout;
|
||||
PWCHAR Tune;
|
||||
} XTBL_CONFIGURATION, *PXTBL_CONFIGURATION;
|
||||
|
||||
/* XTLDR Status data */
|
||||
typedef struct _XTBL_STATUS
|
||||
{
|
||||
BOOLEAN BootServices;
|
||||
EFI_HANDLE ImageHandle;
|
||||
PEFI_SYSTEM_TABLE SystemTable;
|
||||
} XTBL_STATUS, *PXTBL_STATUS;
|
||||
|
||||
/* XTLDR Loader protocol */
|
||||
typedef struct _XTBL_LOADER_PROTOCOL
|
||||
{
|
||||
struct
|
||||
{
|
||||
PBL_CONSOLE_CLEAR_SCREEN ClearScreen;
|
||||
PBL_CONSOLE_DISABLE_CURSOR DisableCursor;
|
||||
PBL_CONSOLE_ENABLE_CURSOR EnableCursor;
|
||||
PBL_CONSOLE_PRINT Print;
|
||||
} Console;
|
||||
struct
|
||||
{
|
||||
PBL_DEBUG_PRINT Print;
|
||||
} Debug;
|
||||
struct
|
||||
{
|
||||
PBL_ALLOCATE_PAGES AllocatePages;
|
||||
PBL_ALLOCATE_POOL AllocatePool;
|
||||
PBL_FREE_PAGES FreePages;
|
||||
PBL_FREE_POOL FreePool;
|
||||
} Memory;
|
||||
struct
|
||||
{
|
||||
PBL_OPEN_XT_PROTOCOL Open;
|
||||
} Protocol;
|
||||
struct
|
||||
{
|
||||
PBL_EXIT_BOOT_SERVICES ExitBootServices;
|
||||
PBL_SLEEP_EXECUTION SleepExecution;
|
||||
} Util;
|
||||
} XTBL_LOADER_PROTOCOL, *PXTBL_LOADER_PROTOCOL;
|
||||
|
||||
#endif /* __XTDK_BMTYPES_H */
|
@@ -1,8 +1,8 @@
|
||||
/**
|
||||
* PROJECT: ExectOS
|
||||
* COPYRIGHT: See COPYING.md in the top level directory
|
||||
* FILE: sdk/xtdk/xtbmapi.h
|
||||
* DESCRIPTION: Top level header for the XT Boot Manager API
|
||||
* FILE: sdk/xtdk/xtblapi.h
|
||||
* DESCRIPTION: Top level header for the XT Boot Loader API
|
||||
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||
*/
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
#include <xtstruct.h>
|
||||
|
||||
/* Architecture-specific XT forward references */
|
||||
#include ARCH_HEADER(xtstruct.h)
|
||||
// #include ARCH_HEADER(xtstruct.h)
|
||||
|
||||
/* Architecture-independent XT API */
|
||||
#include <xtbase.h>
|
||||
@@ -32,15 +32,16 @@
|
||||
#include <rtltypes.h>
|
||||
|
||||
/* Architecture dependent XT kernel data types */
|
||||
#include ARCH_HEADER(artypes.h)
|
||||
#include ARCH_HEADER(hltypes.h)
|
||||
// #include ARCH_HEADER(artypes.h)
|
||||
// #include ARCH_HEADER(hltypes.h)
|
||||
|
||||
/* XT Kernel runtime routines */
|
||||
#include <hlfuncs.h>
|
||||
#include <rtlfuncs.h>
|
||||
|
||||
/* Architecture specific XT kernel routines */
|
||||
#include ARCH_HEADER(arfuncs.h)
|
||||
#include ARCH_HEADER(hlfuncs.h)
|
||||
// #include ARCH_HEADER(arfuncs.h)
|
||||
// #include ARCH_HEADER(hlfuncs.h)
|
||||
|
||||
/* Boot Manager specific structures */
|
||||
#include <bmtypes.h>
|
||||
#include <bltypes.h>
|
新增問題並參考
封鎖使用者