audk/EdkModulePkg/Library/EdkRuntimeStatusCodeLib/BsDataHubStatusCode/BsDataHubStatusCode.h

131 lines
2.6 KiB
C

/*++
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