diff options
Diffstat (limited to 'EdkModulePkg/Library/EdkRuntimeStatusCodeLib/BsDataHubStatusCode/BsDataHubStatusCode.h')
-rw-r--r-- | EdkModulePkg/Library/EdkRuntimeStatusCodeLib/BsDataHubStatusCode/BsDataHubStatusCode.h | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/EdkModulePkg/Library/EdkRuntimeStatusCodeLib/BsDataHubStatusCode/BsDataHubStatusCode.h b/EdkModulePkg/Library/EdkRuntimeStatusCodeLib/BsDataHubStatusCode/BsDataHubStatusCode.h new file mode 100644 index 0000000000..f15a90e5e2 --- /dev/null +++ b/EdkModulePkg/Library/EdkRuntimeStatusCodeLib/BsDataHubStatusCode/BsDataHubStatusCode.h @@ -0,0 +1,130 @@ +/*++
+
+Copyright (c) 2006, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+Module Name:
+
+ BsDataHubStatusCode.h
+
+Abstract:
+
+ Header for the status code data hub logging component
+
+--*/
+
+#ifndef _EFI_BS_DATA_HUB_STATUS_CODE_H_
+#define _EFI_BS_DATA_HUB_STATUS_CODE_H_
+
+//
+// Private data declarations
+//
+#define MAX_RECORD_NUM 1000
+#define BYTES_PER_RECORD EFI_STATUS_CODE_DATA_MAX_SIZE
+#define EMPTY_RECORD_TAG 0xFF
+
+#define BS_DATA_HUB_STATUS_CODE_SIGNATURE EFI_SIGNATURE_32 ('B', 'D', 'H', 'S')
+
+typedef struct {
+ UINTN Signature;
+ LIST_ENTRY Link;
+ UINT8 RecordBuffer[BYTES_PER_RECORD];
+} STATUS_CODE_RECORD_LIST;
+
+//
+// Function prototypes
+//
+STATUS_CODE_RECORD_LIST *
+GetRecordBuffer (
+ VOID
+ )
+;
+
+/*++
+
+Routine Description:
+
+ Returned buffer of length BYTES_PER_RECORD
+
+Arguments:
+
+ None
+
+Returns:
+
+ Entry in mRecordBuffer or NULL if non available
+
+--*/
+DATA_HUB_STATUS_CODE_DATA_RECORD *
+AquireEmptyRecordBuffer (
+ VOID
+ )
+;
+
+/*++
+
+Routine Description:
+
+ Allocate a mRecordBuffer entry in the form of a pointer.
+
+Arguments:
+
+ None
+
+Returns:
+
+ Pointer to new buffer. NULL if none exist.
+
+--*/
+EFI_STATUS
+ReleaseRecordBuffer (
+ IN STATUS_CODE_RECORD_LIST *RecordBuffer
+ )
+;
+
+/*++
+
+Routine Description:
+
+ Release a mRecordBuffer entry allocated by AquireEmptyRecordBuffer ().
+
+Arguments:
+
+ RecordBuffer - Data to free
+
+Returns:
+
+ EFI_SUCCESS - If RecordBuffer is valid
+ EFI_UNSUPPORTED - The record list has empty
+
+--*/
+VOID
+EFIAPI
+LogDataHubEventHandler (
+ IN EFI_EVENT Event,
+ IN VOID *Context
+ )
+;
+
+/*++
+
+Routine Description:
+
+ Event Handler that log in Status code in Data Hub.
+
+Arguments:
+
+ (Standard EFI Event Handler - EFI_EVENT_NOTIFY)
+
+Returns:
+
+ NONE
+
+--*/
+#endif
|