diff options
Diffstat (limited to 'Include/Protocol/Nbci.h')
-rw-r--r-- | Include/Protocol/Nbci.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/Include/Protocol/Nbci.h b/Include/Protocol/Nbci.h new file mode 100644 index 0000000..276fa93 --- /dev/null +++ b/Include/Protocol/Nbci.h @@ -0,0 +1,77 @@ +#define NBCI_EFI_GUID \ + { 0x4EA9D4FE, 0xE6F6, 0x410B, 0x80, 0x37, 0x0F, 0x98, 0xB5, 0x96, 0x8B, 0x65 } + +///////////////////////////////////////////////////////////////////////////////////////// +//////N B C I D E F I N I T I O N S //////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////// +#define EFI_Nbci_DataBlockID NBCI_REV_SUPPORTED +//0x11; +// the revision of the NBCI software specification that is supported by the NBCI module. +// Format is binary coded decimal, for example: 0x30 = 3.0, etc. + +#define EFI_Nbci_SupportFuncs NBCI_FUNC_SUPPORTED +//0x3; +// Bit 0 = `1' NBCIReturnSpecLevel method is required +// Bit 1 = `1' NBCIReturnStucture is also required +// Bit 2 = `1' OPTIONAL. if NBCISelectOutputDevice is supported, `0' if not +// Bit 3 = `1' OPTIONAL. if NBCICheckOutputDevice is supported, `0' if not + +typedef struct { + CHAR8 Sig[4]; // "NBCI_" + UINT8 Ver; + UINT8 Rev; + UINT16 Len; +} NBCI_STRUCT_HDR; + +typedef EFI_STATUS (EFIAPI *NBCI_RETURN_SPEC_LEVEL) ( + IN struct _NBCI_EFI_INTERFACE *This, + IN OUT CHAR8 *pucRevisionLevel, + OUT UINTN *puSupportFuncs +); + +typedef EFI_STATUS (EFIAPI *NBCI_RETURN_STRUCTURE)( + IN struct _NBCI_EFI_INTERFACE *This, + IN EFI_HANDLE ControllerHandle, + IN OUT CHAR16 *usStructSize, + IN CHAR16 usDataBlockID, + OUT CHAR8 **pNBCIStruct +); + +typedef EFI_STATUS (EFIAPI *NBCI_SELECT_OUTPUT_DEVICE)( + IN struct _NBCI_EFI_INTERFACE *This, + IN EFI_HANDLE ControllerHandle, + IN OUT CHAR16 usStructSize, + IN EFI_HANDLE ChildHandle, + IN CHAR8 ucOutputSetting +); + +typedef EFI_STATUS (EFIAPI *NBCI_CHECK_OUTPUT_DEVICE)( + IN struct _NBCI_EFI_INTERFACE *This, + IN EFI_HANDLE ControllerHandle, + IN OUT CHAR16 usStructSize, + IN EFI_HANDLE ChildHandle, + OUT CHAR8 ucDisplayAvailable +); + +typedef struct _NBCI_EFI_INTERFACE { + NBCI_RETURN_SPEC_LEVEL NBCIReturnSpecLevel; + NBCI_RETURN_STRUCTURE NBCIReturnStructure; + NBCI_SELECT_OUTPUT_DEVICE NBCISelectOutputDevice; + NBCI_CHECK_OUTPUT_DEVICE NBCICheckOutputDevice; +} NBCI_EFI_PROTOCOL; + + +EFI_STATUS +LoadAcpiTables( + IN EFI_EVENT Event, IN VOID *Context + ); + +EFI_STATUS +LoadFile( + IN EFI_GUID *Guid, + OUT VOID **Buffer, + OUT UINTN *BufferSize + ); + +//#define NBCI_DRIVER_VERSION 0x001 + |