mirror of https://github.com/acidanthera/audk.git
181 lines
5.4 KiB
C
181 lines
5.4 KiB
C
|
/** @file
|
||
|
Implementation of event and timer related services in the UEFI Boot Services table for use in unit tests.
|
||
|
|
||
|
Copyright (c) Microsoft Corporation
|
||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||
|
|
||
|
**/
|
||
|
|
||
|
#include "UnitTestUefiBootServicesTableLib.h"
|
||
|
|
||
|
/**
|
||
|
Creates an event.
|
||
|
|
||
|
@param Type The type of event to create and its mode and
|
||
|
attributes
|
||
|
@param NotifyTpl The task priority level of event notifications
|
||
|
@param NotifyFunction Pointer to the events notification function
|
||
|
@param NotifyContext Pointer to the notification functions context
|
||
|
corresponds to parameter "Context" in the
|
||
|
notification function
|
||
|
@param Event Pointer to the newly created event if the call
|
||
|
succeeds undefined otherwise
|
||
|
|
||
|
@retval EFI_SUCCESS The event structure was created
|
||
|
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value
|
||
|
@retval EFI_OUT_OF_RESOURCES The event could not be allocated
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
EFIAPI
|
||
|
UnitTestCreateEvent (
|
||
|
IN UINT32 Type,
|
||
|
IN EFI_TPL NotifyTpl,
|
||
|
IN EFI_EVENT_NOTIFY NotifyFunction, OPTIONAL
|
||
|
IN VOID *NotifyContext, OPTIONAL
|
||
|
OUT EFI_EVENT *Event
|
||
|
)
|
||
|
{
|
||
|
return EFI_NOT_AVAILABLE_YET;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
Sets the type of timer and the trigger time for a timer event.
|
||
|
|
||
|
@param UserEvent The timer event that is to be signaled at the
|
||
|
specified time
|
||
|
@param Type The type of time that is specified in
|
||
|
TriggerTime
|
||
|
@param TriggerTime The number of 100ns units until the timer
|
||
|
expires
|
||
|
|
||
|
@retval EFI_SUCCESS The event has been set to be signaled at the
|
||
|
requested time
|
||
|
@retval EFI_INVALID_PARAMETER Event or Type is not valid
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
EFIAPI
|
||
|
UnitTestSetTimer (
|
||
|
IN EFI_EVENT UserEvent,
|
||
|
IN EFI_TIMER_DELAY Type,
|
||
|
IN UINT64 TriggerTime
|
||
|
)
|
||
|
{
|
||
|
return EFI_NOT_AVAILABLE_YET;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
Stops execution until an event is signaled.
|
||
|
|
||
|
@param NumberOfEvents The number of events in the UserEvents array
|
||
|
@param UserEvents An array of EFI_EVENT
|
||
|
@param UserIndex Pointer to the index of the event which
|
||
|
satisfied the wait condition
|
||
|
|
||
|
@retval EFI_SUCCESS The event indicated by Index was signaled.
|
||
|
@retval EFI_INVALID_PARAMETER The event indicated by Index has a notification
|
||
|
function or Event was not a valid type
|
||
|
@retval EFI_UNSUPPORTED The current TPL is not TPL_APPLICATION
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
EFIAPI
|
||
|
UnitTestWaitForEvent (
|
||
|
IN UINTN NumberOfEvents,
|
||
|
IN EFI_EVENT *UserEvents,
|
||
|
OUT UINTN *UserIndex
|
||
|
)
|
||
|
{
|
||
|
return EFI_NOT_AVAILABLE_YET;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
Signals the event. Queues the event to be notified if needed.
|
||
|
|
||
|
@param UserEvent The event to signal .
|
||
|
|
||
|
@retval EFI_INVALID_PARAMETER Parameters are not valid.
|
||
|
@retval EFI_SUCCESS The event was signaled.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
EFIAPI
|
||
|
UnitTestSignalEvent (
|
||
|
IN EFI_EVENT UserEvent
|
||
|
)
|
||
|
{
|
||
|
return EFI_NOT_AVAILABLE_YET;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
Closes an event and frees the event structure.
|
||
|
|
||
|
@param UserEvent Event to close
|
||
|
|
||
|
@retval EFI_INVALID_PARAMETER Parameters are not valid.
|
||
|
@retval EFI_SUCCESS The event has been closed
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
EFIAPI
|
||
|
UnitTestCloseEvent (
|
||
|
IN EFI_EVENT UserEvent
|
||
|
)
|
||
|
{
|
||
|
return EFI_NOT_AVAILABLE_YET;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
Check the status of an event.
|
||
|
|
||
|
@param UserEvent The event to check
|
||
|
|
||
|
@retval EFI_SUCCESS The event is in the signaled state
|
||
|
@retval EFI_NOT_READY The event is not in the signaled state
|
||
|
@retval EFI_INVALID_PARAMETER Event is of type EVT_NOTIFY_SIGNAL
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
EFIAPI
|
||
|
UnitTestCheckEvent (
|
||
|
IN EFI_EVENT UserEvent
|
||
|
)
|
||
|
{
|
||
|
return EFI_NOT_AVAILABLE_YET;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
Creates an event in a group.
|
||
|
|
||
|
@param Type The type of event to create and its mode and
|
||
|
attributes
|
||
|
@param NotifyTpl The task priority level of event notifications
|
||
|
@param NotifyFunction Pointer to the events notification function
|
||
|
@param NotifyContext Pointer to the notification functions context
|
||
|
corresponds to parameter "Context" in the
|
||
|
notification function
|
||
|
@param EventGroup GUID for EventGroup if NULL act the same as
|
||
|
gBS->CreateEvent().
|
||
|
@param Event Pointer to the newly created event if the call
|
||
|
succeeds undefined otherwise
|
||
|
|
||
|
@retval EFI_SUCCESS The event structure was created
|
||
|
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value
|
||
|
@retval EFI_OUT_OF_RESOURCES The event could not be allocated
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
EFIAPI
|
||
|
UnitTestCreateEventEx (
|
||
|
IN UINT32 Type,
|
||
|
IN EFI_TPL NotifyTpl,
|
||
|
IN EFI_EVENT_NOTIFY NotifyFunction, OPTIONAL
|
||
|
IN CONST VOID *NotifyContext, OPTIONAL
|
||
|
IN CONST EFI_GUID *EventGroup, OPTIONAL
|
||
|
OUT EFI_EVENT *Event
|
||
|
)
|
||
|
{
|
||
|
return EFI_NOT_AVAILABLE_YET;
|
||
|
}
|