15#ifndef OC_LOG_PROTOCOL_H
16#define OC_LOG_PROTOCOL_H
19#include <Protocol/SimpleFileSystem.h>
24#define OC_LOG_REVISION 0x01000B
29#define OC_LOG_ENABLE BIT0
30#define OC_LOG_CONSOLE BIT1
31#define OC_LOG_DATA_HUB BIT2
32#define OC_LOG_SERIAL BIT3
33#define OC_LOG_VARIABLE BIT4
34#define OC_LOG_NONVOLATILE BIT5
35#define OC_LOG_FILE BIT6
36#define OC_LOG_UNSAFE BIT7
37#define OC_LOG_ALL_BITS (\
38 OC_LOG_ENABLE | OC_LOG_CONSOLE | \
39 OC_LOG_DATA_HUB | OC_LOG_SERIAL | \
40 OC_LOG_VARIABLE | OC_LOG_NONVOLATILE | \
41 OC_LOG_FILE | OC_LOG_UNSAFE )
37#define OC_LOG_ALL_BITS (\ …
46#define OC_LOG_PREFIX_CHAR_MAX 8U
53#define OC_LOG_PROTOCOL_GUID \
54 { 0xDBB6008F, 0x89E4, 0x4272, \
55 { 0x98, 0x81, 0xCE, 0x3A, 0xFD, 0x97, 0x24, 0xD0 } }
53#define OC_LOG_PROTOCOL_GUID \ …
77 IN CONST CHAR8 *FormatString,
106 OUT CHAR8 **OcLogBuffer
122 IN UINT32 NonVolatile OPTIONAL,
123 IN EFI_DEVICE_PATH_PROTOCOL *
FilePath OPTIONAL
DMG_FILEPATH_DEVICE_PATH FilePath
EFI_STATUS(EFIAPI * OC_LOG_ADD_ENTRY)(IN OC_LOG_PROTOCOL *This, IN UINTN ErrorLevel, IN CONST CHAR8 *FormatString, IN VA_LIST Marker)
EFI_STATUS(EFIAPI * OC_LOG_RESET_TIMERS)(IN OC_LOG_PROTOCOL *This)
EFI_STATUS(EFIAPI * OC_LOG_SAVE_LOG)(IN OC_LOG_PROTOCOL *This, IN UINT32 NonVolatile OPTIONAL, IN EFI_DEVICE_PATH_PROTOCOL *FilePath OPTIONAL)
EFI_GUID gOcLogProtocolGuid
A global variable storing the GUID of the OC_LOG_PROTOCOL.
EFI_STATUS(EFIAPI * OC_LOG_GET_LOG)(IN OC_LOG_PROTOCOL *This, OUT CHAR8 **OcLogBuffer)
OC_LOG_ADD_ENTRY AddEntry
A pointer to the AddEntry function.
UINTN DisplayLevel
The error level visible onscreen.
EFI_FILE_PROTOCOL * UnsafeLogFile
Log file, owned. Unsafe logging only.
UINT32 Revision
The revision of the installed protocol.
CHAR16 * FilePath
Log file path.
OC_LOG_RESET_TIMERS ResetTimers
A pointer to the ResetTimers function.
OC_LOG_SAVE_LOG SaveLog
A pointer to the SaveLog function.
OC_LOG_GET_LOG GetLog
A pointer to the GetLog function.
UINTN HaltLevel
The error level causing CPU dead loop.
UINT32 DisplayDelay
The delay after visible onscreen message in microseconds.
UINTN Reserved
Reserved for future extension.
EFI_FILE_PROTOCOL * FileSystem
Log file system root, not owned.
OC_LOG_OPTIONS Options
The current options of the installed protocol.