Function headers in .h and .c files synchronized with spec

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6722 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jji4 2008-11-25 07:38:54 +00:00
parent eb1c78dbb9
commit cf8ae2f6fe
10 changed files with 582 additions and 469 deletions

View File

@ -8,7 +8,7 @@
EFI Driver Model related protocols, manage Unicode string tables for UEFI Drivers, EFI Driver Model related protocols, manage Unicode string tables for UEFI Drivers,
and print messages on the console output and standard error devices. and print messages on the console output and standard error devices.
Copyright (c) 2006 - 2008, Intel Corporation Copyright (c) 2006 - 2008, Intel Corporation<BR>
All rights reserved. This program and the accompanying materials All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License 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 which accompanies this distribution. The full text of the license may be found at
@ -249,6 +249,8 @@ EfiInitializeLock (
); );
/** /**
Initializes a basic mutual exclusion lock.
This macro initializes the contents of a basic mutual exclusion lock to the This macro initializes the contents of a basic mutual exclusion lock to the
released state. Each lock provides mutual exclusion access at its task released state. Each lock provides mutual exclusion access at its task
priority level. Since there is no preemption or multiprocessor support in EFI, priority level. Since there is no preemption or multiprocessor support in EFI,
@ -264,7 +266,6 @@ EfiInitializeLock (
/** /**
Macro that calls DebugAssert() if an EFI_LOCK structure is not in the locked state. Macro that calls DebugAssert() if an EFI_LOCK structure is not in the locked state.
If the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is set, If the DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED bit of PcdDebugProperyMask is set,
@ -307,11 +308,12 @@ EfiAcquireLock (
); );
/** /**
Acquires ownership of a lock. If the lock is already owned , then an error is returned. Acquires ownership of a lock.
This function raises the system's current task priority level to the task This function raises the system's current task priority level to the task priority
priority level of the mutual exclusion lock. Then, it attempts to place the level of the mutual exclusion lock. Then, it attempts to place the lock in the acquired state.
lock in the acquired state. If the lock is already in the acquired state, then EFI_ACCESS_DENIED is returned.
Otherwise, EFI_SUCCESS is returned.
If Lock is NULL, then ASSERT(). If Lock is NULL, then ASSERT().
If Lock is not initialized, then ASSERT(). If Lock is not initialized, then ASSERT().
@ -407,7 +409,7 @@ EfiTestChildHandle (
/** /**
This function looks up a Unicode string in UnicodeStringTable. This function looks up a Unicode string in UnicodeStringTable.
If Language is a member of SupportedLanguages and a Unicode string is found in If Language is a member of SupportedLanguages and a Unicode string is found in
UnicodeStringTable that matches the language code specified by Language, then it UnicodeStringTable that matches the language code specified by Language, then it
is returned in UnicodeString. is returned in UnicodeString.
@ -445,48 +447,42 @@ LookupUnicodeString (
/** /**
This function looks up a Unicode string in UnicodeStringTable. This function looks up a Unicode string in UnicodeStringTable.
If Language is a member of SupportedLanguages and a Unicode
string is found in UnicodeStringTable that matches the
language code specified by Language, then it is returned in
UnicodeString.
@param Language A pointer to the ISO 639-2 or If Language is a member of SupportedLanguages and a Unicode string is found in
RFC 3066 language code for the UnicodeStringTable that matches the language code specified by Language, then
Unicode string to look up and it is returned in UnicodeString.
return.
@param SupportedLanguages A pointer to the set of ISO
639-2 or RFC 3066 language
codes that the Unicode string
table supports. Language must
be a member of this set.
@param UnicodeStringTable A pointer to the table of
Unicode strings.
@param UnicodeString A pointer to the Unicode
string from UnicodeStringTable
that matches the language
specified by Language.
@param Iso639Language Specify the language code
format supported. If true,
then the format follow ISO
639-2. If false, then it
follows RFC3066.
@retval EFI_SUCCESS The Unicode string that
matches the language specified
by Language was found in the
table of Unicoide strings
UnicodeStringTable, and it was
returned in UnicodeString.
@param Language A pointer to an ASCII string containing the ISO 639-2 or the
RFC 4646 language code for the Unicode string to look up and
return. If Iso639Language is TRUE, then this ASCII string is
not assumed to be Null-terminated, and only the first three
chacters are used. If Iso639Language is FALSE, then this ASCII
string must be Null-terminated.
@param SupportedLanguages A pointer to a Null-terminated ASCII string that contains a
set of ISO 639-2 or RFC 4646 language codes that the Unicode
string table supports. Language must be a member of this set.
If Iso639Language is TRUE, then this string contains one or more
ISO 639-2 language codes with no separator characters. If Iso639Language
is FALSE, then is string contains one or more RFC 4646 language
codes separated by ';'.
@param UnicodeStringTable A pointer to the table of Unicode strings. Type EFI_UNICODE_STRING_TABLE
is defined in "Related Definitions".
@param UnicodeString A pointer to the Null-terminated Unicode string from UnicodeStringTable
that matches the language specified by Language.
@param Iso639Language Specifies the supported language code format. If it is TRUE, then
Language and SupportedLanguages follow ISO 639-2 language code format.
Otherwise, they follow RFC 4646 language code format.
@retval EFI_SUCCESS The Unicode string that matches the language specified by Language
was found in the table of Unicode strings UnicodeStringTable, and
it was returned in UnicodeString.
@retval EFI_INVALID_PARAMETER Language is NULL. @retval EFI_INVALID_PARAMETER Language is NULL.
@retval EFI_INVALID_PARAMETER UnicodeString is NULL. @retval EFI_INVALID_PARAMETER UnicodeString is NULL.
@retval EFI_UNSUPPORTED SupportedLanguages is NULL. @retval EFI_UNSUPPORTED SupportedLanguages is NULL.
@retval EFI_UNSUPPORTED UnicodeStringTable is NULL. @retval EFI_UNSUPPORTED UnicodeStringTable is NULL.
@retval EFI_UNSUPPORTED The language specified by @retval EFI_UNSUPPORTED The language specified by Language is not a member of SupportedLanguages.
Language is not a member @retval EFI_UNSUPPORTED The language specified by Language is not supported by UnicodeStringTable.
ofSupportedLanguages.
@retval EFI_UNSUPPORTED The language specified by
Language is not supported by
UnicodeStringTable.
**/ **/
EFI_STATUS EFI_STATUS
@ -542,52 +538,45 @@ AddUnicodeString (
); );
/** /**
This function adds a Unicode string to UnicodeStringTable. This function adds the Null-terminated Unicode string specified by UnicodeString
to UnicodeStringTable.
If Language is a member of SupportedLanguages then If Language is a member of SupportedLanguages then UnicodeString is added to
UnicodeString is added to UnicodeStringTable. New buffers are UnicodeStringTable. New buffers are allocated for both Language and UnicodeString.
allocated for both Language and UnicodeString. The contents The contents of Language and UnicodeString are copied into these new buffers.
of Language and UnicodeString are copied into these new These buffers are automatically freed when EfiLibFreeUnicodeStringTable() is called.
buffers. These buffers are automatically freed when
FreeUnicodeStringTable() is called.
@param Language A pointer to the ISO 639-2 or @param Language A pointer to an ASCII string containing the ISO 639-2 or
RFC 3066 language code for the the RFC 4646 language code for the Unicode string to add.
Unicode string to add. If Iso639Language is TRUE, then this ASCII string is not
@param SupportedLanguages A pointer to the set of ISO assumed to be Null-terminated, and only the first three
639-2 or RFC 3066 language chacters are used. If Iso639Language is FALSE, then this
codes that the Unicode string ASCII string must be Null-terminated.
table supports. Language must @param SupportedLanguages A pointer to a Null-terminated ASCII string that contains
be a member of this set. a set of ISO 639-2 or RFC 4646 language codes that the Unicode
@param UnicodeStringTable A pointer to the table of string table supports. Language must be a member of this set.
Unicode strings. If Iso639Language is TRUE, then this string contains one or more
@param UnicodeString A pointer to the Unicode ISO 639-2 language codes with no separator characters.
string to add. If Iso639Language is FALSE, then is string contains one or more
@param Iso639Language Specify the language code RFC 4646 language codes separated by ';'.
format supported. If true, @param UnicodeStringTable A pointer to the table of Unicode strings. Type EFI_UNICODE_STRING_TABLE
then the format follow ISO is defined in "Related Definitions".
639-2. If false, then it @param UnicodeString A pointer to the Unicode string to add.
follows RFC3066. @param Iso639Language Specifies the supported language code format. If it is TRUE,
@retval EFI_SUCCESS The Unicode string that then Language and SupportedLanguages follow ISO 639-2 language code format.
matches the language specified Otherwise, they follow RFC 4646 language code format.
by Language was found in the
table of Unicode strings @retval EFI_SUCCESS The Unicode string that matches the language specified by
UnicodeStringTable, and it was Language was found in the table of Unicode strings UnicodeStringTable,
returned in UnicodeString. and it was returned in UnicodeString.
@retval EFI_INVALID_PARAMETER Language is NULL.
@retval EFI_INVALID_PARAMETER Language is NULL. @retval EFI_INVALID_PARAMETER UnicodeString is NULL.
@retval EFI_INVALID_PARAMETER UnicodeString is NULL. @retval EFI_INVALID_PARAMETER UnicodeString is an empty string.
@retval EFI_INVALID_PARAMETER UnicodeString is an empty string. @retval EFI_UNSUPPORTED SupportedLanguages is NULL.
@retval EFI_UNSUPPORTED SupportedLanguages is NULL. @retval EFI_ALREADY_STARTED A Unicode string with language Language is already present in
@retval EFI_ALREADY_STARTED A Unicode string with language UnicodeStringTable.
Language is already present in @retval EFI_OUT_OF_RESOURCES There is not enough memory to add another Unicode string UnicodeStringTable.
UnicodeStringTable. @retval EFI_UNSUPPORTED The language specified by Language is not a member of SupportedLanguages.
@retval EFI_OUT_OF_RESOURCES There is not enough memory to
add another Unicode string to
UnicodeStringTable.
@retval EFI_UNSUPPORTED The language specified by
Language is not a member of
SupportedLanguages.
**/ **/
EFI_STATUS EFI_STATUS
@ -619,8 +608,10 @@ FreeUnicodeStringTable (
); );
/** /**
This function computes and returns the width of the Unicode character Retrieves the width of a Unicode character.
specified by UnicodeChar.
This function computes and returns the width of the Unicode character specified
by UnicodeChar.
@param UnicodeChar A Unicode character. @param UnicodeChar A Unicode character.
@ -638,11 +629,13 @@ GetGlyphWidth (
/** /**
Computes the display length of a Null-terminated Unicode String. Computes the display length of a Null-terminated Unicode String.
This function computes and returns the display length of This function computes and returns the display length of the Null-terminated Unicode
the Null-terminated Unicode string specified by String. string specified by String. If String is NULL then 0 is returned. If any of the widths
If String is NULL, then 0 is returned. of the Unicode characters in String can not be determined, then 0 is returned. The display
If any of the widths of the Unicode characters in String width of String can be computed by summing the display widths of each Unicode character
can not be determined, then 0 is returned. in String. Unicode characters that are narrow glyphs have a width of 1, and Unicode
characters that are width glyphs have a width of 2.
If String is not aligned on a 16-bit boundary, then ASSERT().
@param String A pointer to a Null-terminated Unicode string. @param String A pointer to a Null-terminated Unicode string.
@ -662,9 +655,9 @@ UnicodeStringDisplayLength (
Create, Signal, and Close the Ready to Boot event using EfiSignalEventReadyToBoot(). Create, Signal, and Close the Ready to Boot event using EfiSignalEventReadyToBoot().
This function abstracts the signaling of the Ready to Boot Event. The Framework moved This function abstracts the signaling of the Ready to Boot Event. The Framework moved
from a proprietary to UEFI 2.0 based mechanism. This library abstracts the caller from from a proprietary to UEFI 2.0 based mechanism. This library abstracts the caller
how this event is created to prevent to code form having to change with the version of from how this event is created to prevent to code form having to change with the
the specification supported. version of the specification supported.
**/ **/
VOID VOID
@ -689,14 +682,14 @@ EfiSignalEventLegacyBoot (
); );
/** /**
Creates an EFI event in the Legacy Boot Event Group. Prior to UEFI 2.0 this Creates an EFI event in the Legacy Boot Event Group.
was done via a non blessed UEFI extensions and this library abstracts the
implementation mechanism of this event from the caller. Prior to UEFI 2.0 this was done via a non blessed UEFI extensions and this library
abstracts the implementation mechanism of this event from the caller. This function
This function abstracts the creation of the Legacy Boot Event. The Framework abstracts the creation of the Legacy Boot Event. The Framework moved from a proprietary
moved from a proprietary to UEFI 2.0 based mechanism. This library abstracts to UEFI 2.0 based mechanism. This library abstracts the caller from how this event
the caller from how this event is created to prevent to code form having to is created to prevent to code form having to change with the version of the
change with the version of the specification supported. specification supported.
If LegacyBootEvent is NULL, then ASSERT(). If LegacyBootEvent is NULL, then ASSERT().
@param LegacyBootEvent Returns the EFI event returned from gBS->CreateEvent(Ex). @param LegacyBootEvent Returns the EFI event returned from gBS->CreateEvent(Ex).
@ -740,10 +733,10 @@ EfiCreateEventLegacyBootEx (
); );
/** /**
Create an EFI event in the Ready To Boot Event Group. Prior to UEFI 2.0 this Create an EFI event in the Ready To Boot Event Group.
was done via a non-standard UEFI extension, and this library abstracts the
implementation mechanism of this event from the caller. Prior to UEFI 2.0 this was done via a non-standard UEFI extension, and this library
abstracts the implementation mechanism of this event from the caller.
This function abstracts the creation of the Ready to Boot Event. The Framework This function abstracts the creation of the Ready to Boot Event. The Framework
moved from a proprietary to UEFI 2.0-based mechanism. This library abstracts moved from a proprietary to UEFI 2.0-based mechanism. This library abstracts
the caller from how this event is created to prevent the code form having to the caller from how this event is created to prevent the code form having to
@ -899,7 +892,6 @@ ErrorPrint (
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut. PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
If Format is NULL, then ASSERT(). If Format is NULL, then ASSERT().
If Format is not aligned on a 16-bit boundary, then ASSERT().
@param Format Null-terminated ASCII format string. @param Format Null-terminated ASCII format string.
@param ... Variable argument list whose contents are accessed based @param ... Variable argument list whose contents are accessed based
@ -925,7 +917,6 @@ AsciiPrint (
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr. PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
If Format is NULL, then ASSERT(). If Format is NULL, then ASSERT().
If Format is not aligned on a 16-bit boundary, then ASSERT().
@param Format Null-terminated ASCII format string. @param Format Null-terminated ASCII format string.
@param ... Variable argument list whose contents are accessed based @param ... Variable argument list whose contents are accessed based
@ -1008,7 +999,6 @@ PrintXY (
If the EFI_HII_FONT_PROTOCOL is not present in the handle database, then no If the EFI_HII_FONT_PROTOCOL is not present in the handle database, then no
string is printed, and 0 is returned. string is printed, and 0 is returned.
If Format is NULL, then ASSERT(). If Format is NULL, then ASSERT().
If Format is not aligned on a 16-bit boundary, then ASSERT().
@param X X coordinate to print the string. @param X X coordinate to print the string.
@param Y Y coordinate to print the string. @param Y Y coordinate to print the string.
@ -1040,23 +1030,25 @@ AsciiPrintXY (
); );
/** /**
Initializes a driver by installing the Driver Binding Protocol onto the driver's Installs and completes the initialization of a Driver Binding Protocol instance.
DriverBindingHandle.
Installs the Driver Binding Protocol specified by DriverBinding onto the handle
specified by DriverBindingHandle. If DriverBindingHandle is NULL, then DriverBinding
is installed onto a newly created handle. DriverBindingHandle is typically the same
as the driver's ImageHandle, but it can be different if the driver produces multiple
Driver Binding Protocols.
If DriverBinding is NULL, then ASSERT().
If DriverBinding can not be installed onto a handle, then ASSERT().
This is typically the same as the driver's ImageHandle, but @param ImageHandle The image handle of the driver.
it can be different if the driver produces multiple DriverBinding Protocols. @param SystemTable The EFI System Table that was passed to the driver's entry point.
If the Driver Binding Protocol interface is NULL, then ASSERT (). @param DriverBinding A Driver Binding Protocol instance that this driver is producing.
If the installation fails, then ASSERT (). @param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this
parameter is NULL, then a new handle is created.
@param ImageHandle The image handle of the driver. @retval EFI_SUCCESS The protocol installation is completed successfully.
@param SystemTable The EFI System Table that was passed to the driver's entry point. @retval EFI_OUT_OF_RESOURCES There was not enough system resources to install the protocol.
@param DriverBinding A Driver Binding Protocol instance that this driver is producing. @retval Others Status from gBS->InstallMultipleProtocolInterfaces().
@param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this
parameter is NULL, then a new handle is created.
@retval EFI_SUCCESS The protocol installation is completed successfully.
@retval EFI_OUT_OF_RESOURCES There was not enough system resources to install the protocol.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces().
**/ **/
EFI_STATUS EFI_STATUS
@ -1070,25 +1062,29 @@ EfiLibInstallDriverBinding (
/** /**
Initializes a driver by installing the Driver Binding Protocol together with the optional Component Name, Installs and completes the initialization of a Driver Binding Protocol instance and
Driver Configure and Driver Diagnostic Protocols onto the driver's DriverBindingHandle. optionally installs the Component Name, Driver Configuration and Driver Diagnostics Protocols.
This is typically the same as the driver's ImageHandle, but it can be different if the driver produces multiple Initializes a driver by installing the Driver Binding Protocol together with the
DriverBinding Protocols. optional Component Name, optional Driver Configure and optional Driver Diagnostic
If the Driver Binding Protocol interface is NULL, then ASSERT (). Protocols onto the driver's DriverBindingHandle. If DriverBindingHandle is NULL,
If the installation fails, then ASSERT (). then the protocols are installed onto a newly created handle. DriverBindingHandle
is typically the same as the driver's ImageHandle, but it can be different if the
driver produces multiple Driver Binding Protocols.
If DriverBinding is NULL, then ASSERT().
If the installation fails, then ASSERT().
@param ImageHandle The image handle of the driver.
@param SystemTable The EFI System Table that was passed to the driver's entry point.
@param DriverBinding A Driver Binding Protocol instance that this driver is producing.
@param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this
parameter is NULL, then a new handle is created.
@param ComponentName A Component Name Protocol instance that this driver is producing.
@param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.
@param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.
@param ImageHandle The image handle of the driver. @retval EFI_SUCCESS The protocol installation is completed successfully.
@param SystemTable The EFI System Table that was passed to the driver's entry point. @retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.
@param DriverBinding A Driver Binding Protocol instance that this driver is producing.
@param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this
parameter is NULL, then a new handle is created.
@param ComponentName A Component Name Protocol instance that this driver is producing.
@param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.
@param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.
@retval EFI_SUCCESS The protocol installation is completed successfully.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces().
**/ **/
EFI_STATUS EFI_STATUS
@ -1106,22 +1102,26 @@ EfiLibInstallAllDriverProtocols (
/** /**
Initializes a driver by installing the Driver Binding Protocol together with the optional Component Name, Installs Driver Binding Protocol with optional Component Name and Component Name 2 Protocols.
Component Name 2 onto the driver's DriverBindingHandle. This is typically the same as the driver's
ImageHandle, but it can be different if the driver produces multiple DriverBinding Protocols.
If the Driver Binding Protocol interface is NULL, then ASSERT ().
If the installation fails, then ASSERT ().
@param ImageHandle The image handle of the driver. Initializes a driver by installing the Driver Binding Protocol together with the
@param SystemTable The EFI System Table that was passed to the driver's entry point. optional Component Name and optional Component Name 2 protocols onto the driver's
@param DriverBinding A Driver Binding Protocol instance that this driver is producing. DriverBindingHandle. If DriverBindingHandle is NULL, then the protocols are installed
@param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this onto a newly created handle. DriverBindingHandle is typically the same as the driver's
parameter is NULL, then a new handle is created. ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols.
@param ComponentName A Component Name Protocol instance that this driver is producing. If DriverBinding is NULL, then ASSERT().
@param ComponentName2 A Component Name 2 Protocol instance that this driver is producing. If the installation fails, then ASSERT().
@retval EFI_SUCCESS The protocol installation is completed successfully. @param ImageHandle The image handle of the driver.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces(). @param SystemTable The EFI System Table that was passed to the driver's entry point.
@param DriverBinding A Driver Binding Protocol instance that this driver is producing.
@param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this
parameter is NULL, then a new handle is created.
@param ComponentName A Component Name Protocol instance that this driver is producing.
@param ComponentName2 A Component Name 2 Protocol instance that this driver is producing.
@retval EFI_SUCCESS The protocol installation is completed successfully.
@retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.
**/ **/
EFI_STATUS EFI_STATUS
@ -1137,29 +1137,31 @@ EfiLibInstallDriverBindingComponentName2 (
/** /**
Intialize a driver by installing the Driver Binding Protocol together with the optional Component Name, Installs Driver Binding Protocol with optional Component Name, Component Name 2, Driver
Component Name 2, Driver Configure, Driver Diagnostic and Driver Diagnostic 2 Protocols onto the driver's Configuration, Driver Configuration 2, Driver Diagnostics, and Driver Diagnostics 2 Protocols.
DriverBindingHandle.
This is typically the same as the driver's ImageHandle, but it can be different if Initializes a driver by installing the Driver Binding Protocol together with the optional
the driver produces multiple DriverBinding Protocols. Component Name, optional Component Name 2, optional Driver Configuration, optional Driver
If the Drvier Binding Protocol interface is NULL, then ASSERT (). Configuration 2, optional Driver Diagnostic, and optional Driver Diagnostic 2 Protocols
If the installation fails, then ASSERT (). onto the driver's DriverBindingHandle. DriverBindingHandle is typically the same as the
driver's ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols.
If DriverBinding is NULL, then ASSERT().
If the installation fails, then ASSERT().
@param ImageHandle The image handle of the driver. @param ImageHandle The image handle of the driver.
@param SystemTable The EFI System Table that was passed to the driver's entry point. @param SystemTable The EFI System Table that was passed to the driver's entry point.
@param DriverBinding A Driver Binding Protocol instance that this driver is producing. @param DriverBinding A Driver Binding Protocol instance that this driver is producing.
@param DriverBindingHandle The handle that DriverBinding is to be installe onto. If this @param DriverBindingHandle The handle that DriverBinding is to be installe onto. If this
parameter is NULL, then a new handle is created. parameter is NULL, then a new handle is created.
@param ComponentName A Component Name Protocol instance that this driver is producing. @param ComponentName A Component Name Protocol instance that this driver is producing.
@param ComponentName2 A Component Name 2 Protocol instance that this driver is producing. @param ComponentName2 A Component Name 2 Protocol instance that this driver is producing.
@param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing. @param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.
@param DriverConfiguration2 A Driver Configuration Protocol 2 instance that this driver is producing. @param DriverConfiguration2 A Driver Configuration Protocol 2 instance that this driver is producing.
@param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing. @param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.
@param DriverDiagnostics2 A Driver Diagnostics Protocol 2 instance that this driver is producing. @param DriverDiagnostics2 A Driver Diagnostics Protocol 2 instance that this driver is producing.
@retval EFI_SUCCESS The protocol installation is completed successfully. @retval EFI_SUCCESS The protocol installation is completed successfully.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces(). @retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.
**/ **/
EFI_STATUS EFI_STATUS

View File

@ -113,7 +113,7 @@ EfiSetTime (
); );
/** /**
Returns the current wakeup alarm clock setting. This service is a wrapper for the UEFI Runtime Service GetWakeupTime().
The alarm clock time may be rounded from the set alarm clock time to be within the resolution The alarm clock time may be rounded from the set alarm clock time to be within the resolution
of the alarm clock device. The resolution of the alarm clock device is defined to be one second. of the alarm clock device. The resolution of the alarm clock device is defined to be one second.
@ -142,7 +142,14 @@ EfiGetWakeupTime (
); );
/** /**
Sets the system wakeup alarm clock time. This service is a wrapper for the UEFI Runtime Service SetWakeupTime()
Setting a system wakeup alarm causes the system to wake up or power on at the set time.
When the alarm fires, the alarm signal is latched until it is acknowledged by calling SetWakeupTime()
to disable the alarm. If the alarm fires before the system is put into a sleeping or off state,
since the alarm signal is latched the system will immediately wake up. If the alarm fires while
the system is off and there is insufficient power to power on the system, the system is powered
on when power is restored.
@param Enable Enable or disable the wakeup alarm. @param Enable Enable or disable the wakeup alarm.
@param Time If Enable is TRUE, the time to set the wakeup alarm for. Type EFI_TIME @param Time If Enable is TRUE, the time to set the wakeup alarm for. Type EFI_TIME
@ -164,10 +171,17 @@ EfiSetWakeupTime (
); );
/** /**
Return value of variable. This service is a wrapper for the UEFI Runtime Service GetVariable().
@param VariableName the name of the vendor's variable, it's a Each vendor may create and manage its own variables without the risk of name conflicts by
Null-Terminated Unicode String using a unique VendorGuid. When a variable is set its Attributes are supplied to indicate
how the data variable should be stored and maintained by the system. The attributes affect
when the variable may be accessed and volatility of the data. Any attempts to access a variable
that does not have the attribute set for runtime access will yield the EFI_NOT_FOUND error.
If the Data buffer is too small to hold the contents of the variable, the error EFI_BUFFER_TOO_SMALL
is returned and DataSize is set to the required buffer size to obtain the data.
@param VariableName the name of the vendor's variable, it's a Null-Terminated Unicode String
@param VendorGuid Unify identifier for vendor. @param VendorGuid Unify identifier for vendor.
@param Attributes Point to memory location to return the attributes of variable. If the point @param Attributes Point to memory location to return the attributes of variable. If the point
is NULL, the parameter would be ignored. is NULL, the parameter would be ignored.
@ -197,7 +211,13 @@ EfiGetVariable (
); );
/** /**
Enumerates variable's name. This service is a wrapper for the UEFI Runtime Service GetNextVariableName().
GetNextVariableName() is called multiple times to retrieve the VariableName and VendorGuid of
all variables currently available in the system. On each call to GetNextVariableName() the
previous results are passed into the interface, and on output the interface returns the next
variable name data. When the entire variable list has been returned, the error EFI_NOT_FOUND
is returned.
@param VariableNameSize As input, point to maxinum size of variable name. @param VariableNameSize As input, point to maxinum size of variable name.
As output, point to actual size of varaible name. As output, point to actual size of varaible name.
@ -229,7 +249,10 @@ EfiGetNextVariableName (
); );
/** /**
Sets value of variable. This service is a wrapper for the UEFI Runtime Service GetNextVariableName()
Variables are stored by the firmware and may maintain their values across power cycles. Each vendor
may create and manage its own variables without the risk of name conflicts by using a unique VendorGuid.
@param VariableName the name of the vendor's variable, it's a @param VariableName the name of the vendor's variable, it's a
Null-Terminated Unicode String Null-Terminated Unicode String
@ -265,7 +288,13 @@ EfiSetVariable (
); );
/** /**
Returns the next high 32 bits of platform's monotonic counter. This service is a wrapper for the UEFI Runtime Service GetNextHighMonotonicCount().
The platform¡¯s monotonic counter is comprised of two 32-bit quantities: the high 32 bits and
the low 32 bits. During boot service time the low 32-bit value is volatile: it is reset to zero
on every system reset and is increased by 1 on every call to GetNextMonotonicCount(). The high
32-bit value is nonvolatile and is increased by 1 whenever the system resets or whenever the low
32-bit count (returned by GetNextMonoticCount()) overflows.
@param HighCount Pointer to returned value. @param HighCount Pointer to returned value.
@ -281,22 +310,32 @@ EfiGetNextHighMonotonicCount (
); );
/** /**
Resets the entire platform. This service is a wrapper for the UEFI Runtime Service ResetSystem().
The ResetSystem()function resets the entire platform, including all processors and devices,and reboots the system.
Calling this interface with ResetType of EfiResetCold causes a system-wide reset. This sets all circuitry within
the system to its initial state. This type of reset is asynchronous to system operation and operates without regard
to cycle boundaries. EfiResetCold is tantamount to a system power cycle.
Calling this interface with ResetType of EfiResetWarm causes a system-wide initialization. The processors are set to
their initial state, and pending cycles are not corrupted. If the system does not support this reset type, then an
EfiResetCold must be performed.
Calling this interface with ResetType of EfiResetShutdown causes the system to enter a power state equivalent to the
ACPI G2/S5 or G3 states. If the system does not support this reset type, then when the system is rebooted, it should
exhibit the EfiResetCold attributes.
The platform may optionally log the parmeters from any non-normal reset that occurs.
The ResetSystem() function does not return.
@param ResetType The type of reset to perform. @param ResetType The type of reset to perform.
@param ResetStatus The status code for the reset. If the system reset is part of a @param ResetStatus The status code for the reset. If the system reset is part of a normal operation, the status code
normal operation, the status code would be EFI_SUCCESS. If the system would be EFI_SUCCESS. If the system reset is due to some type of failure the most appropriate EFI
reset is due to some type of failure the most appropriate EFI Status Status code would be used.
code would be used.
@param DataSizeThe size, in bytes, of ResetData. @param DataSizeThe size, in bytes, of ResetData.
@param ResetData For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown @param ResetData For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown the data buffer starts with a
the data buffer starts with a Null-terminated Unicode string, optionally Null-terminated Unicode string, optionally followed by additional binary data. The string is a
followed by additional binary data. The string is a description that the description that the caller may use to further indicate the reason for the system reset. ResetData
caller may use to further indicate the reason for the system reset. ResetData is only valid if ResetStatus is something other then EFI_SUCCESS. This pointer must be a physical
is only valid if ResetStatus is something other then EFI_SUCCESS. This address. For a ResetType of EfiRestUpdate the data buffer also starts with a Null-terminated string
pointer must be a physical address. For a ResetType of EfiRestUpdate the that is followed by a physical VOID * to an EFI_CAPSULE_HEADER.
data buffer also starts with a Null-terminated string that is followed by
a physical VOID * to an EFI_CAPSULE_HEADER.
**/ **/
VOID VOID
@ -309,7 +348,10 @@ EfiResetSystem (
); );
/** /**
This service converts a function pointer from physical to virtual addressing. This service is a wrapper for the UEFI Runtime Service ConvertPointer().
The ConvertPointer() function is used by an EFI component during the SetVirtualAddressMap() operation.
ConvertPointer()must be called using physical address pointers during the execution of SetVirtualAddressMap().
@param DebugDisposition Supplies type information for the pointer being converted. @param DebugDisposition Supplies type information for the pointer being converted.
@param Address The pointer to a pointer that is to be fixed to be the @param Address The pointer to a pointer that is to be fixed to be the
@ -360,7 +402,12 @@ EfiConvertFunctionPointer (
); );
/** /**
Change the runtime addressing mode of EFI firmware from physical to virtual. This service is a wrapper for the UEFI Runtime Service SetVirtualAddressMap().
The SetVirtualAddressMap() function is used by the OS loader. The function can only be called
at runtime, and is called by the owner of the system¡¯s memory map. I.e., the component which
called ExitBootServices(). All events of type EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE must be signaled
before SetVirtualAddressMap() returns.
@param MemoryMapSize The size in bytes of VirtualMap. @param MemoryMapSize The size in bytes of VirtualMap.
@param DescriptorSize The size in bytes of an entry in the VirtualMap. @param DescriptorSize The size in bytes of an entry in the VirtualMap.
@ -412,12 +459,12 @@ EfiConvertList (
); );
/** /**
Passes capsules to the firmware with both virtual and physical mapping. This service is a wrapper for the UEFI Runtime Service UpdateCapsule().
Depending on the intended consumption, the firmware may
process the capsule immediately. If the payload should persist across a Passes capsules to the firmware with both virtual and physical mapping. Depending on the intended
system reset, the reset value returned from EFI_QueryCapsuleCapabilities must consumption, the firmware may process the capsule immediately. If the payload should persist across a
be passed into ResetSystem() and will cause the capsule to be processed by system reset, the reset value returned from EFI_QueryCapsuleCapabilities must be passed into ResetSystem()
the firmware as part of the reset process. and will cause the capsule to be processed by the firmware as part of the reset process.
@param CapsuleHeaderArray Virtual pointer to an array of virtual pointers to the capsules @param CapsuleHeaderArray Virtual pointer to an array of virtual pointers to the capsules
being passed into update capsule. Each capsules is assumed to being passed into update capsule. Each capsules is assumed to
@ -455,6 +502,8 @@ EfiUpdateCapsule (
/** /**
This service is a wrapper for the UEFI Runtime Service QueryCapsuleCapabilities().
The QueryCapsuleCapabilities() function allows a caller to test to see if a capsule or The QueryCapsuleCapabilities() function allows a caller to test to see if a capsule or
capsules can be updated via UpdateCapsule(). The Flags values in the capsule header and capsules can be updated via UpdateCapsule(). The Flags values in the capsule header and
size of the entire capsule is checked. size of the entire capsule is checked.
@ -497,7 +546,7 @@ EfiQueryCapsuleCapabilities (
/** /**
Returns information about the EFI variables. This service is a wrapper for the UEFI Runtime Service QueryVariableInfo().
The QueryVariableInfo() function allows a caller to obtain the information about the The QueryVariableInfo() function allows a caller to obtain the information about the
maximum size of the storage space available for the EFI variables, the remaining size of the storage maximum size of the storage space available for the EFI variables, the remaining size of the storage
@ -528,6 +577,7 @@ EfiQueryCapsuleCapabilities (
MaximumVariableStorageSize, MaximumVariableStorageSize,
RemainingVariableStorageSize, MaximumVariableSize RemainingVariableStorageSize, MaximumVariableSize
are undefined. are undefined.
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI

View File

@ -1,8 +1,16 @@
/** @file /** @file
Provides a service to retrieve a pointer to the EFI Runtime Services Table. Provides a service to retrieve a pointer to the EFI Runtime Services Table.
This library does not contain any functions or macros. It simply exports the
global variable gRT that is a pointer to the EFI Runtime Services Table as defined
in the UEFI Specification. The global variable gRT must be preinitialized to NULL.
The library constructor must set gRT to point at the EFI Runtime Services Table so
it is available at the module's entry point. Since there is overhead in initializing
this global variable, only those modules that actually require access to the EFI
Runtime Services Table should use this library.
Only available to DXE and UEFI module types. Only available to DXE and UEFI module types.
Copyright (c) 2006 - 2008, Intel Corporation Copyright (c) 2006 - 2008, Intel Corporation<BR>
All rights reserved. This program and the accompanying materials All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License 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 which accompanies this distribution. The full text of the license may be found at

View File

@ -1,7 +1,10 @@
/** @file /** @file
Provides the functions to submit Scsi commands defined in SCSI-2 specification for scsi device. Provides the functions to submit Scsi commands defined in SCSI-2 specification for scsi device.
This library class provides the functions to submit SCSI commands defined in SCSI-2 specification
for hard drive, CD and DVD devices that are the most common SCSI boot targets used by UEFI platforms.
This library class depends on SCSI I/O Protocol defined in UEFI Specification and SCSI-2 industry standard.
Copyright (c) 2006 - 2008, Intel Corporation<BR> Copyright (c) 2006 - 2008, Intel Corporation<BR>
All rights reserved. This program and the accompanying materials All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License

View File

@ -189,8 +189,10 @@ GLOBAL_REMOVE_IF_UNREFERENCED CONST UNICODE_WIDTH_ENTRY mUnicodeWidthTable[] = {
}; };
/** /**
This function computes and returns the width of the Unicode character Retrieves the width of a Unicode character.
specified by UnicodeChar.
This function computes and returns the width of the Unicode character specified
by UnicodeChar.
@param UnicodeChar A Unicode character. @param UnicodeChar A Unicode character.
@ -246,11 +248,13 @@ GetGlyphWidth (
/** /**
Computes the display length of a Null-terminated Unicode String. Computes the display length of a Null-terminated Unicode String.
This function computes and returns the display length of This function computes and returns the display length of the Null-terminated Unicode
the Null-terminated Unicode string specified by String. string specified by String. If String is NULL then 0 is returned. If any of the widths
If String is NULL, then 0 is returned. of the Unicode characters in String can not be determined, then 0 is returned. The display
If any of the widths of the Unicode characters in String width of String can be computed by summing the display widths of each Unicode character
can not be determined, then 0 is returned. in String. Unicode characters that are narrow glyphs have a width of 1, and Unicode
characters that are width glyphs have a width of 2.
If String is not aligned on a 16-bit boundary, then ASSERT().
@param String A pointer to a Null-terminated Unicode string. @param String A pointer to a Null-terminated Unicode string.

View File

@ -17,23 +17,25 @@
#include "UefiLibInternal.h" #include "UefiLibInternal.h"
/** /**
Initializes a driver by installing the Driver Binding Protocol onto the driver's Installs and completes the initialization of a Driver Binding Protocol instance.
DriverBindingHandle.
Installs the Driver Binding Protocol specified by DriverBinding onto the handle
specified by DriverBindingHandle. If DriverBindingHandle is NULL, then DriverBinding
is installed onto a newly created handle. DriverBindingHandle is typically the same
as the driver's ImageHandle, but it can be different if the driver produces multiple
Driver Binding Protocols.
If DriverBinding is NULL, then ASSERT().
If DriverBinding can not be installed onto a handle, then ASSERT().
This is typically the same as the driver's ImageHandle, but @param ImageHandle The image handle of the driver.
it can be different if the driver produces multiple DriverBinding Protocols. @param SystemTable The EFI System Table that was passed to the driver's entry point.
If the Driver Binding Protocol interface is NULL, then ASSERT (). @param DriverBinding A Driver Binding Protocol instance that this driver is producing.
If the installation fails, then ASSERT (). @param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this
parameter is NULL, then a new handle is created.
@param ImageHandle The image handle of the driver. @retval EFI_SUCCESS The protocol installation is completed successfully.
@param SystemTable The EFI System Table that was passed to the driver's entry point. @retval EFI_OUT_OF_RESOURCES There was not enough system resources to install the protocol.
@param DriverBinding A Driver Binding Protocol instance that this driver is producing. @retval Others Status from gBS->InstallMultipleProtocolInterfaces().
@param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this
parameter is NULL, then a new handle is created.
@retval EFI_SUCCESS The protocol installation is completed successfully.
@retval EFI_OUT_OF_RESOURCES There was not enough system resources to install the protocol.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces().
**/ **/
EFI_STATUS EFI_STATUS
@ -70,25 +72,29 @@ EfiLibInstallDriverBinding (
/** /**
Initializes a driver by installing the Driver Binding Protocol together with the optional Component Name, Installs and completes the initialization of a Driver Binding Protocol instance and
Driver Configure and Driver Diagnostic Protocols onto the driver's DriverBindingHandle. optionally installs the Component Name, Driver Configuration and Driver Diagnostics Protocols.
This is typically the same as the driver's ImageHandle, but it can be different if the driver produces multiple Initializes a driver by installing the Driver Binding Protocol together with the
DriverBinding Protocols. optional Component Name, optional Driver Configure and optional Driver Diagnostic
If the Driver Binding Protocol interface is NULL, then ASSERT (). Protocols onto the driver's DriverBindingHandle. If DriverBindingHandle is NULL,
If the installation fails, then ASSERT (). then the protocols are installed onto a newly created handle. DriverBindingHandle
is typically the same as the driver's ImageHandle, but it can be different if the
driver produces multiple Driver Binding Protocols.
If DriverBinding is NULL, then ASSERT().
If the installation fails, then ASSERT().
@param ImageHandle The image handle of the driver.
@param SystemTable The EFI System Table that was passed to the driver's entry point.
@param DriverBinding A Driver Binding Protocol instance that this driver is producing.
@param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this
parameter is NULL, then a new handle is created.
@param ComponentName A Component Name Protocol instance that this driver is producing.
@param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.
@param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.
@param ImageHandle The image handle of the driver. @retval EFI_SUCCESS The protocol installation is completed successfully.
@param SystemTable The EFI System Table that was passed to the driver's entry point. @retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.
@param DriverBinding A Driver Binding Protocol instance that this driver is producing.
@param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this
parameter is NULL, then a new handle is created.
@param ComponentName A Component Name Protocol instance that this driver is producing.
@param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.
@param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.
@retval EFI_SUCCESS The protocol installation is completed successfully.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces().
**/ **/
EFI_STATUS EFI_STATUS
@ -198,22 +204,26 @@ EfiLibInstallAllDriverProtocols (
/** /**
Intialize a driver by installing the Driver Binding Protocol together with the optional Component Name, Installs Driver Binding Protocol with optional Component Name and Component Name 2 Protocols.
Component Name 2 onto the driver's DriverBindingHandle. This is typically the same as the driver's
ImageHandle, but it can be different if the driver produces multiple DriverBinding Protocols.
If the Drvier Binding Protocol interface is NULL, then ASSERT ().
If the installation fails, then ASSERT ().
@param ImageHandle The image handle of the driver. Initializes a driver by installing the Driver Binding Protocol together with the
@param SystemTable The EFI System Table that was passed to the driver's entry point. optional Component Name and optional Component Name 2 protocols onto the driver's
@param DriverBinding A Driver Binding Protocol instance that this driver is producing. DriverBindingHandle. If DriverBindingHandle is NULL, then the protocols are installed
@param DriverBindingHandle The handle that DriverBinding is to be installe onto. If this onto a newly created handle. DriverBindingHandle is typically the same as the driver's
parameter is NULL, then a new handle is created. ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols.
@param ComponentName A Component Name Protocol instance that this driver is producing. If DriverBinding is NULL, then ASSERT().
@param ComponentName2 A Component Name 2 Protocol instance that this driver is producing. If the installation fails, then ASSERT().
@retval EFI_SUCCESS The protocol installation is completed successfully. @param ImageHandle The image handle of the driver.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces(). @param SystemTable The EFI System Table that was passed to the driver's entry point.
@param DriverBinding A Driver Binding Protocol instance that this driver is producing.
@param DriverBindingHandle The handle that DriverBinding is to be installed onto. If this
parameter is NULL, then a new handle is created.
@param ComponentName A Component Name Protocol instance that this driver is producing.
@param ComponentName2 A Component Name 2 Protocol instance that this driver is producing.
@retval EFI_SUCCESS The protocol installation is completed successfully.
@retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.
**/ **/
EFI_STATUS EFI_STATUS
@ -281,29 +291,31 @@ EfiLibInstallDriverBindingComponentName2 (
/** /**
Intialize a driver by installing the Driver Binding Protocol together with the optional Component Name, Installs Driver Binding Protocol with optional Component Name, Component Name 2, Driver
Component Name 2, Driver Configure, Driver Diagnostic and Driver Diagnostic 2 Protocols onto the driver's Configuration, Driver Configuration 2, Driver Diagnostics, and Driver Diagnostics 2 Protocols.
DriverBindingHandle.
This is typically the same as the driver's ImageHandle, but it can be different if Initializes a driver by installing the Driver Binding Protocol together with the optional
the driver produces multiple DriverBinding Protocols. Component Name, optional Component Name 2, optional Driver Configuration, optional Driver
If the Drvier Binding Protocol interface is NULL, then ASSERT (). Configuration 2, optional Driver Diagnostic, and optional Driver Diagnostic 2 Protocols
If the installation fails, then ASSERT (). onto the driver's DriverBindingHandle. DriverBindingHandle is typically the same as the
driver's ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols.
If DriverBinding is NULL, then ASSERT().
If the installation fails, then ASSERT().
@param ImageHandle The image handle of the driver. @param ImageHandle The image handle of the driver.
@param SystemTable The EFI System Table that was passed to the driver's entry point. @param SystemTable The EFI System Table that was passed to the driver's entry point.
@param DriverBinding A Driver Binding Protocol instance that this driver is producing. @param DriverBinding A Driver Binding Protocol instance that this driver is producing.
@param DriverBindingHandle The handle that DriverBinding is to be installe onto. If this @param DriverBindingHandle The handle that DriverBinding is to be installe onto. If this
parameter is NULL, then a new handle is created. parameter is NULL, then a new handle is created.
@param ComponentName A Component Name Protocol instance that this driver is producing. @param ComponentName A Component Name Protocol instance that this driver is producing.
@param ComponentName2 A Component Name 2 Protocol instance that this driver is producing. @param ComponentName2 A Component Name 2 Protocol instance that this driver is producing.
@param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing. @param DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.
@param DriverConfiguration2 A Driver Configuration Protocol 2 instance that this driver is producing. @param DriverConfiguration2 A Driver Configuration Protocol 2 instance that this driver is producing.
@param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing. @param DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.
@param DriverDiagnostics2 A Driver Diagnostics Protocol 2 instance that this driver is producing. @param DriverDiagnostics2 A Driver Diagnostics Protocol 2 instance that this driver is producing.
@retval EFI_SUCCESS The protocol installation is completed successfully. @retval EFI_SUCCESS The protocol installation is completed successfully.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces(). @retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.
**/ **/
EFI_STATUS EFI_STATUS

View File

@ -280,18 +280,16 @@ EfiNamedEventSignal (
return Status; return Status;
} }
/** /**
Returns the current TPL. Returns the current TPL.
This function returns the current TPL. There is no EFI service to directly This function returns the current TPL. There is no EFI service to directly
retrieve the current TPL. Instead, the RaiseTPL() function is used to raise retrieve the current TPL. Instead, the RaiseTPL() function is used to raise
the TPL to TPL_HIGH_LEVEL. This will return the current TPL. The TPL level the TPL to TPL_HIGH_LEVEL. This will return the current TPL. The TPL level
can then immediately be restored back to the current TPL level with a call can then immediately be restored back to the current TPL level with a call
to RestoreTPL(). to RestoreTPL().
@param VOID @return The current TPL.
@retval EFI_TPL The current TPL.
**/ **/
EFI_TPL EFI_TPL
@ -368,11 +366,12 @@ EfiAcquireLock (
} }
/** /**
Acquires ownership of a lock. If the lock is already owned , then an error is returned. Acquires ownership of a lock.
This function raises the system's current task priority level to the task This function raises the system's current task priority level to the task priority
priority level of the mutual exclusion lock. Then, it attempts to place the level of the mutual exclusion lock. Then, it attempts to place the lock in the acquired state.
lock in the acquired state. If the lock is already in the acquired state, then EFI_ACCESS_DENIED is returned.
Otherwise, EFI_SUCCESS is returned.
If Lock is NULL, then ASSERT(). If Lock is NULL, then ASSERT().
If Lock is not initialized, then ASSERT(). If Lock is not initialized, then ASSERT().
@ -444,7 +443,7 @@ EfiReleaseLock (
currently managing the controller specified by ControllerHandle. This test currently managing the controller specified by ControllerHandle. This test
is performed by evaluating if the the protocol specified by ProtocolGuid is is performed by evaluating if the the protocol specified by ProtocolGuid is
present on ControllerHandle and is was opened by DriverBindingHandle with an present on ControllerHandle and is was opened by DriverBindingHandle with an
attribute of EFI_OPEN_PROTOCOL_BY_DRIVER. attribute of EFI_OPEN_PROTOCOL_BY_DRIVER.
If ProtocolGuid is NULL, then ASSERT(). If ProtocolGuid is NULL, then ASSERT().
@param ControllerHandle A handle for a controller to test. @param ControllerHandle A handle for a controller to test.
@ -507,10 +506,10 @@ EfiTestManagedDevice (
ChildHandle with an attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER. ChildHandle with an attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER.
If ProtocolGuid is NULL, then ASSERT(). If ProtocolGuid is NULL, then ASSERT().
@param ControllerHandle A handle for a (parent) controller to test. @param ControllerHandle A handle for a (parent) controller to test.
@param ChildHandle A child handle to test. @param ChildHandle A child handle to test.
@param ProtocolGuid Supplies the protocol that the child controller @param ProtocolGuid Supplies the protocol that the child controller
opens on its parent controller. opens on its parent controller.
@retval EFI_SUCCESS ChildHandle is a child of the ControllerHandle. @retval EFI_SUCCESS ChildHandle is a child of the ControllerHandle.
@retval EFI_UNSUPPORTED ChildHandle is not a child of the @retval EFI_UNSUPPORTED ChildHandle is not a child of the
@ -565,7 +564,7 @@ EfiTestChildHandle (
/** /**
This function looks up a Unicode string in UnicodeStringTable. This function looks up a Unicode string in UnicodeStringTable.
If Language is a member of SupportedLanguages and a Unicode string is found in If Language is a member of SupportedLanguages and a Unicode string is found in
UnicodeStringTable that matches the language code specified by Language, then it UnicodeStringTable that matches the language code specified by Language, then it
is returned in UnicodeString. is returned in UnicodeString.
@ -651,48 +650,42 @@ LookupUnicodeString (
/** /**
This function looks up a Unicode string in UnicodeStringTable. This function looks up a Unicode string in UnicodeStringTable.
If Language is a member of SupportedLanguages and a Unicode
string is found in UnicodeStringTable that matches the
language code specified by Language, then it is returned in
UnicodeString.
@param Language A pointer to the ISO 639-2 or If Language is a member of SupportedLanguages and a Unicode string is found in
RFC 3066 language code for the UnicodeStringTable that matches the language code specified by Language, then
Unicode string to look up and it is returned in UnicodeString.
return.
@param SupportedLanguages A pointer to the set of ISO @param Language A pointer to an ASCII string containing the ISO 639-2 or the
639-2 or RFC 3066 language RFC 4646 language code for the Unicode string to look up and
codes that the Unicode string return. If Iso639Language is TRUE, then this ASCII string is
table supports. Language must not assumed to be Null-terminated, and only the first three
be a member of this set. chacters are used. If Iso639Language is FALSE, then this ASCII
@param UnicodeStringTable A pointer to the table of string must be Null-terminated.
Unicode strings. @param SupportedLanguages A pointer to a Null-terminated ASCII string that contains a
@param UnicodeString A pointer to the Unicode set of ISO 639-2 or RFC 4646 language codes that the Unicode
string from UnicodeStringTable string table supports. Language must be a member of this set.
that matches the language If Iso639Language is TRUE, then this string contains one or more
specified by Language. ISO 639-2 language codes with no separator characters. If Iso639Language
@param Iso639Language Specify the language code is FALSE, then is string contains one or more RFC 4646 language
format supported. If true, codes separated by ';'.
then the format follow ISO @param UnicodeStringTable A pointer to the table of Unicode strings. Type EFI_UNICODE_STRING_TABLE
639-2. If false, then it is defined in "Related Definitions".
follows RFC3066. @param UnicodeString A pointer to the Null-terminated Unicode string from UnicodeStringTable
@retval EFI_SUCCESS The Unicode string that that matches the language specified by Language.
matches the language specified @param Iso639Language Specifies the supported language code format. If it is TRUE, then
by Language was found in the Language and SupportedLanguages follow ISO 639-2 language code format.
table of Unicoide strings Otherwise, they follow RFC 4646 language code format.
UnicodeStringTable, and it was
returned in UnicodeString.
@retval EFI_SUCCESS The Unicode string that matches the language specified by Language
was found in the table of Unicode strings UnicodeStringTable, and
it was returned in UnicodeString.
@retval EFI_INVALID_PARAMETER Language is NULL. @retval EFI_INVALID_PARAMETER Language is NULL.
@retval EFI_INVALID_PARAMETER UnicodeString is NULL. @retval EFI_INVALID_PARAMETER UnicodeString is NULL.
@retval EFI_UNSUPPORTED SupportedLanguages is NULL. @retval EFI_UNSUPPORTED SupportedLanguages is NULL.
@retval EFI_UNSUPPORTED UnicodeStringTable is NULL. @retval EFI_UNSUPPORTED UnicodeStringTable is NULL.
@retval EFI_UNSUPPORTED The language specified by @retval EFI_UNSUPPORTED The language specified by Language is not a member of SupportedLanguages.
Language is not a member @retval EFI_UNSUPPORTED The language specified by Language is not supported by UnicodeStringTable.
ofSupportedLanguages.
@retval EFI_UNSUPPORTED The language specified by
Language is not supported by
UnicodeStringTable.
**/ **/
EFI_STATUS EFI_STATUS
@ -944,52 +937,45 @@ AddUnicodeString (
/** /**
This function adds a Unicode string to UnicodeStringTable. This function adds the Null-terminated Unicode string specified by UnicodeString
to UnicodeStringTable.
If Language is a member of SupportedLanguages then If Language is a member of SupportedLanguages then UnicodeString is added to
UnicodeString is added to UnicodeStringTable. New buffers are UnicodeStringTable. New buffers are allocated for both Language and UnicodeString.
allocated for both Language and UnicodeString. The contents The contents of Language and UnicodeString are copied into these new buffers.
of Language and UnicodeString are copied into these new These buffers are automatically freed when EfiLibFreeUnicodeStringTable() is called.
buffers. These buffers are automatically freed when
FreeUnicodeStringTable() is called.
@param Language A pointer to the ISO 639-2 or @param Language A pointer to an ASCII string containing the ISO 639-2 or
RFC 3066 language code for the the RFC 4646 language code for the Unicode string to add.
Unicode string to add. If Iso639Language is TRUE, then this ASCII string is not
@param SupportedLanguages A pointer to the set of ISO assumed to be Null-terminated, and only the first three
639-2 or RFC 3066 language chacters are used. If Iso639Language is FALSE, then this
codes that the Unicode string ASCII string must be Null-terminated.
table supports. Language must @param SupportedLanguages A pointer to a Null-terminated ASCII string that contains
be a member of this set. a set of ISO 639-2 or RFC 4646 language codes that the Unicode
@param UnicodeStringTable A pointer to the table of string table supports. Language must be a member of this set.
Unicode strings. If Iso639Language is TRUE, then this string contains one or more
@param UnicodeString A pointer to the Unicode ISO 639-2 language codes with no separator characters.
string to add. If Iso639Language is FALSE, then is string contains one or more
@param Iso639Language Specify the language code RFC 4646 language codes separated by ';'.
format supported. If true, @param UnicodeStringTable A pointer to the table of Unicode strings. Type EFI_UNICODE_STRING_TABLE
then the format follow ISO is defined in "Related Definitions".
639-2. If false, then it @param UnicodeString A pointer to the Unicode string to add.
follows RFC3066. @param Iso639Language Specifies the supported language code format. If it is TRUE,
@retval EFI_SUCCESS The Unicode string that then Language and SupportedLanguages follow ISO 639-2 language code format.
matches the language specified Otherwise, they follow RFC 4646 language code format.
by Language was found in the
table of Unicode strings @retval EFI_SUCCESS The Unicode string that matches the language specified by
UnicodeStringTable, and it was Language was found in the table of Unicode strings UnicodeStringTable,
returned in UnicodeString. and it was returned in UnicodeString.
@retval EFI_INVALID_PARAMETER Language is NULL.
@retval EFI_INVALID_PARAMETER Language is NULL. @retval EFI_INVALID_PARAMETER UnicodeString is NULL.
@retval EFI_INVALID_PARAMETER UnicodeString is NULL. @retval EFI_INVALID_PARAMETER UnicodeString is an empty string.
@retval EFI_INVALID_PARAMETER UnicodeString is an empty string. @retval EFI_UNSUPPORTED SupportedLanguages is NULL.
@retval EFI_UNSUPPORTED SupportedLanguages is NULL. @retval EFI_ALREADY_STARTED A Unicode string with language Language is already present in
@retval EFI_ALREADY_STARTED A Unicode string with language UnicodeStringTable.
Language is already present in @retval EFI_OUT_OF_RESOURCES There is not enough memory to add another Unicode string UnicodeStringTable.
UnicodeStringTable. @retval EFI_UNSUPPORTED The language specified by Language is not a member of SupportedLanguages.
@retval EFI_OUT_OF_RESOURCES There is not enough memory to
add another Unicode string to
UnicodeStringTable.
@retval EFI_UNSUPPORTED The language specified by
Language is not a member of
SupportedLanguages.
**/ **/
EFI_STATUS EFI_STATUS

View File

@ -85,14 +85,14 @@ InternalPrint (
return Return; return Return;
} }
/** /**
Prints a formatted Unicode string to the console output device specified by Prints a formatted Unicode string to the console output device specified by
ConOut defined in the EFI_SYSTEM_TABLE. ConOut defined in the EFI_SYSTEM_TABLE.
This function prints a formatted Unicode string to the console output device This function prints a formatted Unicode string to the console output device
specified by ConOut in EFI_SYSTEM_TABLE and returns the number of Unicode specified by ConOut in EFI_SYSTEM_TABLE and returns the number of Unicode
characters that printed to ConOut. If the length of the formatted Unicode characters that printed to ConOut. If the length of the formatted Unicode
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut. PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
If Format is NULL, then ASSERT(). If Format is NULL, then ASSERT().
If Format is not aligned on a 16-bit boundary, then ASSERT(). If Format is not aligned on a 16-bit boundary, then ASSERT().
@ -101,8 +101,7 @@ InternalPrint (
@param ... Variable argument list whose contents are accessed based @param ... Variable argument list whose contents are accessed based
on the format string specified by Format. on the format string specified by Format.
@return The number of Unicode characters in the produced @return Number of Unicode characters printed to ConOut.
output buffer not including the Null-terminator.
**/ **/
UINTN UINTN
@ -124,14 +123,14 @@ Print (
return Return; return Return;
} }
/** /**
Prints a formatted Unicode string to the console output device specified by Prints a formatted Unicode string to the console output device specified by
StdErr defined in the EFI_SYSTEM_TABLE. StdErr defined in the EFI_SYSTEM_TABLE.
This function prints a formatted Unicode string to the console output device This function prints a formatted Unicode string to the console output device
specified by StdErr in EFI_SYSTEM_TABLE and returns the number of Unicode specified by StdErr in EFI_SYSTEM_TABLE and returns the number of Unicode
characters that printed to StdErr. If the length of the formatted Unicode characters that printed to StdErr. If the length of the formatted Unicode
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr. PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
If Format is NULL, then ASSERT(). If Format is NULL, then ASSERT().
If Format is not aligned on a 16-bit boundary, then ASSERT(). If Format is not aligned on a 16-bit boundary, then ASSERT().
@ -139,9 +138,9 @@ Print (
@param Format Null-terminated Unicode format string. @param Format Null-terminated Unicode format string.
@param ... Variable argument list whose contents are accessed based @param ... Variable argument list whose contents are accessed based
on the format string specified by Format. on the format string specified by Format.
@return Number of Unicode characters printed to StdErr.
@return The number of Unicode characters in the produced
output buffer not including the Null-terminator.
**/ **/
UINTN UINTN
EFIAPI EFIAPI
@ -214,14 +213,14 @@ AsciiInternalPrint (
return Return; return Return;
} }
/** /**
Prints a formatted ASCII string to the console output device specified by Prints a formatted ASCII string to the console output device specified by
ConOut defined in the EFI_SYSTEM_TABLE. ConOut defined in the EFI_SYSTEM_TABLE.
This function prints a formatted ASCII string to the console output device This function prints a formatted ASCII string to the console output device
specified by ConOut in EFI_SYSTEM_TABLE and returns the number of ASCII specified by ConOut in EFI_SYSTEM_TABLE and returns the number of ASCII
characters that printed to ConOut. If the length of the formatted ASCII characters that printed to ConOut. If the length of the formatted ASCII
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut. PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
If Format is NULL, then ASSERT(). If Format is NULL, then ASSERT().
@ -229,8 +228,7 @@ AsciiInternalPrint (
@param ... Variable argument list whose contents are accessed based @param ... Variable argument list whose contents are accessed based
on the format string specified by Format. on the format string specified by Format.
@return The number of Ascii characters in the produced @return Number of ASCII characters printed to ConOut.
output buffer not including the Null-terminator.
**/ **/
UINTN UINTN
@ -253,14 +251,14 @@ AsciiPrint (
return Return; return Return;
} }
/** /**
Prints a formatted ASCII string to the console output device specified by Prints a formatted ASCII string to the console output device specified by
StdErr defined in the EFI_SYSTEM_TABLE. StdErr defined in the EFI_SYSTEM_TABLE.
This function prints a formatted ASCII string to the console output device This function prints a formatted ASCII string to the console output device
specified by StdErr in EFI_SYSTEM_TABLE and returns the number of ASCII specified by StdErr in EFI_SYSTEM_TABLE and returns the number of ASCII
characters that printed to StdErr. If the length of the formatted ASCII characters that printed to StdErr. If the length of the formatted ASCII
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr. PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
If Format is NULL, then ASSERT(). If Format is NULL, then ASSERT().
@ -268,8 +266,7 @@ AsciiPrint (
@param ... Variable argument list whose contents are accessed based @param ... Variable argument list whose contents are accessed based
on the format string specified by Format. on the format string specified by Format.
@return The number of Ascii characters in the produced output @return Number of ASCII characters printed to ConErr.
buffer not including the Null-terminator.
**/ **/
UINTN UINTN
@ -567,7 +564,7 @@ Error:
@param ... Variable argument list whose contents are accessed based on @param ... Variable argument list whose contents are accessed based on
the format string specified by Format. the format string specified by Format.
@return The number of characters printed. @return The number of Unicode characters printed.
**/ **/
UINTN UINTN
@ -612,7 +609,7 @@ PrintXY (
This function prints a formatted ASCII string to the graphics console device This function prints a formatted ASCII string to the graphics console device
specified by ConsoleOutputHandle in EFI_SYSTEM_TABLE and returns the number of specified by ConsoleOutputHandle in EFI_SYSTEM_TABLE and returns the number of
Unicode characters printed. If the length of the formatted ASCII string is ASCII characters printed. If the length of the formatted ASCII string is
greater than PcdUefiLibMaxPrintBufferSize, then only the first greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are printed. The EFI_HII_FONT_PROTOCOL PcdUefiLibMaxPrintBufferSize characters are printed. The EFI_HII_FONT_PROTOCOL
is used to convert the string to a bitmap using the glyphs registered with the is used to convert the string to a bitmap using the glyphs registered with the
@ -640,7 +637,7 @@ PrintXY (
@param ... Variable argument list whose contents are accessed based on @param ... Variable argument list whose contents are accessed based on
the format string specified by Format. the format string specified by Format.
@return The number of characters printed. @return The number of ASCII characters printed.
**/ **/
UINTN UINTN

View File

@ -43,16 +43,16 @@ InternalEmptyFuntion (
} }
/** /**
Creates an EFI event in the Legacy Boot Event Group. Prior to UEFI 2.0 this Creates an EFI event in the Legacy Boot Event Group.
was done via a non blessed UEFI extensions and this library abstracts the
implementation mechanism of this event from the caller. Prior to UEFI 2.0 this was done via a non blessed UEFI extensions and this library
abstracts the implementation mechanism of this event from the caller. This function
This function abstracts the creation of the Legacy Boot Event. The Framework abstracts the creation of the Legacy Boot Event. The Framework moved from a proprietary
moved from a proprietary to UEFI 2.0 based mechanism. This library abstracts to UEFI 2.0 based mechanism. This library abstracts the caller from how this event
the caller from how this event is created to prevent to code form having to is created to prevent to code form having to change with the version of the
change with the version of the specification supported. specification supported.
If LegacyBootEvent is NULL, then ASSERT(). If LegacyBootEvent is NULL, then ASSERT().
@param LegacyBootEvent Returns the EFI event returned from gBS->CreateEvent(Ex). @param LegacyBootEvent Returns the EFI event returned from gBS->CreateEvent(Ex).
@retval EFI_SUCCESS Event was created. @retval EFI_SUCCESS Event was created.
@ -75,8 +75,8 @@ EfiCreateEventLegacyBoot (
/** /**
Create an EFI event in the Legacy Boot Event Group and allows Create an EFI event in the Legacy Boot Event Group and allows
the caller to specify a notification function. the caller to specify a notification function.
This function abstracts the creation of the Legacy Boot Event. This function abstracts the creation of the Legacy Boot Event.
The Framework moved from a proprietary to UEFI 2.0 based mechanism. The Framework moved from a proprietary to UEFI 2.0 based mechanism.
This library abstracts the caller from how this event is created to prevent This library abstracts the caller from how this event is created to prevent
@ -128,17 +128,17 @@ EfiCreateEventLegacyBootEx (
} }
/** /**
Create an EFI event in the Ready To Boot Event Group. Prior to UEFI 2.0 this Create an EFI event in the Ready To Boot Event Group.
was done via a non-standard UEFI extension, and this library abstracts the
implementation mechanism of this event from the caller. Prior to UEFI 2.0 this was done via a non-standard UEFI extension, and this library
abstracts the implementation mechanism of this event from the caller.
This function abstracts the creation of the Ready to Boot Event. The Framework This function abstracts the creation of the Ready to Boot Event. The Framework
moved from a proprietary to UEFI 2.0-based mechanism. This library abstracts moved from a proprietary to UEFI 2.0-based mechanism. This library abstracts
the caller from how this event is created to prevent the code form having to the caller from how this event is created to prevent the code form having to
change with the version of the specification supported. change with the version of the specification supported.
If ReadyToBootEvent is NULL, then ASSERT(). If ReadyToBootEvent is NULL, then ASSERT().
@param ReadyToBootEvent Returns the EFI event returned from gBS->CreateEvent(Ex). @param ReadyToBootEvent Returns the EFI event returned from gBS->CreateEvent(Ex).
@retval EFI_SUCCESS Event was created. @retval EFI_SUCCESS Event was created.
@retval Other Event was not created. @retval Other Event was not created.
@ -160,8 +160,8 @@ EfiCreateEventReadyToBoot (
/** /**
Create an EFI event in the Ready To Boot Event Group and allows Create an EFI event in the Ready To Boot Event Group and allows
the caller to specify a notification function. the caller to specify a notification function.
This function abstracts the creation of the Ready to Boot Event. This function abstracts the creation of the Ready to Boot Event.
The Framework moved from a proprietary to UEFI 2.0 based mechanism. The Framework moved from a proprietary to UEFI 2.0 based mechanism.
This library abstracts the caller from how this event is created to prevent This library abstracts the caller from how this event is created to prevent
@ -217,9 +217,9 @@ EfiCreateEventReadyToBootEx (
Create, Signal, and Close the Ready to Boot event using EfiSignalEventReadyToBoot(). Create, Signal, and Close the Ready to Boot event using EfiSignalEventReadyToBoot().
This function abstracts the signaling of the Ready to Boot Event. The Framework moved This function abstracts the signaling of the Ready to Boot Event. The Framework moved
from a proprietary to UEFI 2.0 based mechanism. This library abstracts the caller from from a proprietary to UEFI 2.0 based mechanism. This library abstracts the caller
how this event is created to prevent to code form having to change with the version of from how this event is created to prevent to code form having to change with the
the specification supported. version of the specification supported.
**/ **/
VOID VOID

View File

@ -21,22 +21,32 @@
/** /**
Resets the entire platform. This service is a wrapper for the UEFI Runtime Service ResetSystem().
The ResetSystem()function resets the entire platform, including all processors and devices,and reboots the system.
Calling this interface with ResetType of EfiResetCold causes a system-wide reset. This sets all circuitry within
the system to its initial state. This type of reset is asynchronous to system operation and operates without regard
to cycle boundaries. EfiResetCold is tantamount to a system power cycle.
Calling this interface with ResetType of EfiResetWarm causes a system-wide initialization. The processors are set to
their initial state, and pending cycles are not corrupted. If the system does not support this reset type, then an
EfiResetCold must be performed.
Calling this interface with ResetType of EfiResetShutdown causes the system to enter a power state equivalent to the
ACPI G2/S5 or G3 states. If the system does not support this reset type, then when the system is rebooted, it should
exhibit the EfiResetCold attributes.
The platform may optionally log the parmeters from any non-normal reset that occurs.
The ResetSystem() function does not return.
@param ResetType The type of reset to perform. @param ResetType The type of reset to perform.
@param ResetStatus The status code for the reset. If the system reset is part of a @param ResetStatus The status code for the reset. If the system reset is part of a normal operation, the status code
normal operation, the status code would be EFI_SUCCESS. If the system would be EFI_SUCCESS. If the system reset is due to some type of failure the most appropriate EFI
reset is due to some type of failure the most appropriate EFI Status Status code would be used.
code would be used.
@param DataSizeThe size, in bytes, of ResetData. @param DataSizeThe size, in bytes, of ResetData.
@param ResetData For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown @param ResetData For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown the data buffer starts with a
the data buffer starts with a Null-terminated Unicode string, optionally Null-terminated Unicode string, optionally followed by additional binary data. The string is a
followed by additional binary data. The string is a description that the description that the caller may use to further indicate the reason for the system reset. ResetData
caller may use to further indicate the reason for the system reset. ResetData is only valid if ResetStatus is something other then EFI_SUCCESS. This pointer must be a physical
is only valid if ResetStatus is something other then EFI_SUCCESS. This address. For a ResetType of EfiRestUpdate the data buffer also starts with a Null-terminated string
pointer must be a physical address. For a ResetType of EfiRestUpdate the that is followed by a physical VOID * to an EFI_CAPSULE_HEADER.
data buffer also starts with a Null-terminated string that is followed by
a physical VOID * to an EFI_CAPSULE_HEADER.
**/ **/
VOID VOID
@ -117,7 +127,7 @@ EfiSetTime (
/** /**
Returns the current wakeup alarm clock setting. This service is a wrapper for the UEFI Runtime Service GetWakeupTime().
The alarm clock time may be rounded from the set alarm clock time to be within the resolution The alarm clock time may be rounded from the set alarm clock time to be within the resolution
of the alarm clock device. The resolution of the alarm clock device is defined to be one second. of the alarm clock device. The resolution of the alarm clock device is defined to be one second.
@ -151,7 +161,14 @@ EfiGetWakeupTime (
/** /**
Sets the system wakeup alarm clock time. This service is a wrapper for the UEFI Runtime Service SetWakeupTime()
Setting a system wakeup alarm causes the system to wake up or power on at the set time.
When the alarm fires, the alarm signal is latched until it is acknowledged by calling SetWakeupTime()
to disable the alarm. If the alarm fires before the system is put into a sleeping or off state,
since the alarm signal is latched the system will immediately wake up. If the alarm fires while
the system is off and there is insufficient power to power on the system, the system is powered
on when power is restored.
@param Enable Enable or disable the wakeup alarm. @param Enable Enable or disable the wakeup alarm.
@param Time If Enable is TRUE, the time to set the wakeup alarm for. Type EFI_TIME @param Time If Enable is TRUE, the time to set the wakeup alarm for. Type EFI_TIME
@ -177,10 +194,17 @@ EfiSetWakeupTime (
/** /**
Return value of variable. This service is a wrapper for the UEFI Runtime Service GetVariable().
@param VariableName the name of the vendor's variable, it's a Each vendor may create and manage its own variables without the risk of name conflicts by
Null-Terminated Unicode String using a unique VendorGuid. When a variable is set its Attributes are supplied to indicate
how the data variable should be stored and maintained by the system. The attributes affect
when the variable may be accessed and volatility of the data. Any attempts to access a variable
that does not have the attribute set for runtime access will yield the EFI_NOT_FOUND error.
If the Data buffer is too small to hold the contents of the variable, the error EFI_BUFFER_TOO_SMALL
is returned and DataSize is set to the required buffer size to obtain the data.
@param VariableName the name of the vendor's variable, it's a Null-Terminated Unicode String
@param VendorGuid Unify identifier for vendor. @param VendorGuid Unify identifier for vendor.
@param Attributes Point to memory location to return the attributes of variable. If the point @param Attributes Point to memory location to return the attributes of variable. If the point
is NULL, the parameter would be ignored. is NULL, the parameter would be ignored.
@ -214,7 +238,13 @@ EfiGetVariable (
/** /**
Enumerates variable's name. This service is a wrapper for the UEFI Runtime Service GetNextVariableName().
GetNextVariableName() is called multiple times to retrieve the VariableName and VendorGuid of
all variables currently available in the system. On each call to GetNextVariableName() the
previous results are passed into the interface, and on output the interface returns the next
variable name data. When the entire variable list has been returned, the error EFI_NOT_FOUND
is returned.
@param VariableNameSize As input, point to maxinum size of variable name. @param VariableNameSize As input, point to maxinum size of variable name.
As output, point to actual size of varaible name. As output, point to actual size of varaible name.
@ -250,7 +280,10 @@ EfiGetNextVariableName (
/** /**
Sets value of variable. This service is a wrapper for the UEFI Runtime Service GetNextVariableName()
Variables are stored by the firmware and may maintain their values across power cycles. Each vendor
may create and manage its own variables without the risk of name conflicts by using a unique VendorGuid.
@param VariableName the name of the vendor's variable, it's a @param VariableName the name of the vendor's variable, it's a
Null-Terminated Unicode String Null-Terminated Unicode String
@ -290,7 +323,13 @@ EfiSetVariable (
/** /**
Returns the next high 32 bits of platform's monotonic counter. This service is a wrapper for the UEFI Runtime Service GetNextHighMonotonicCount().
The platform¡¯s monotonic counter is comprised of two 32-bit quantities: the high 32 bits and
the low 32 bits. During boot service time the low 32-bit value is volatile: it is reset to zero
on every system reset and is increased by 1 on every call to GetNextMonotonicCount(). The high
32-bit value is nonvolatile and is increased by 1 whenever the system resets or whenever the low
32-bit count (returned by GetNextMonoticCount()) overflows.
@param HighCount Pointer to returned value. @param HighCount Pointer to returned value.
@ -310,7 +349,10 @@ EfiGetNextHighMonotonicCount (
/** /**
This service converts a function pointer from physical to virtual addressing. This service is a wrapper for the UEFI Runtime Service ConvertPointer().
The ConvertPointer() function is used by an EFI component during the SetVirtualAddressMap() operation.
ConvertPointer()must be called using physical address pointers during the execution of SetVirtualAddressMap().
@param DebugDisposition Supplies type information for the pointer being converted. @param DebugDisposition Supplies type information for the pointer being converted.
@param Address The pointer to a pointer that is to be fixed to be the @param Address The pointer to a pointer that is to be fixed to be the
@ -423,7 +465,12 @@ EfiConvertList (
/** /**
Change the runtime addressing mode of EFI firmware from physical to virtual. This service is a wrapper for the UEFI Runtime Service SetVirtualAddressMap().
The SetVirtualAddressMap() function is used by the OS loader. The function can only be called
at runtime, and is called by the owner of the system¡¯s memory map. I.e., the component which
called ExitBootServices(). All events of type EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE must be signaled
before SetVirtualAddressMap() returns.
@param MemoryMapSize The size in bytes of VirtualMap. @param MemoryMapSize The size in bytes of VirtualMap.
@param DescriptorSize The size in bytes of an entry in the VirtualMap. @param DescriptorSize The size in bytes of an entry in the VirtualMap.
@ -462,12 +509,12 @@ EfiSetVirtualAddressMap (
/** /**
Passes capsules to the firmware with both virtual and physical mapping. This service is a wrapper for the UEFI Runtime Service UpdateCapsule().
Depending on the intended consumption, the firmware may
process the capsule immediately. If the payload should persist across a Passes capsules to the firmware with both virtual and physical mapping. Depending on the intended
system reset, the reset value returned from EFI_QueryCapsuleCapabilities must consumption, the firmware may process the capsule immediately. If the payload should persist across a
be passed into ResetSystem() and will cause the capsule to be processed by system reset, the reset value returned from EFI_QueryCapsuleCapabilities must be passed into ResetSystem()
the firmware as part of the reset process. and will cause the capsule to be processed by the firmware as part of the reset process.
@param CapsuleHeaderArray Virtual pointer to an array of virtual pointers to the capsules @param CapsuleHeaderArray Virtual pointer to an array of virtual pointers to the capsules
being passed into update capsule. Each capsules is assumed to being passed into update capsule. Each capsules is assumed to
@ -512,6 +559,8 @@ EfiUpdateCapsule (
/** /**
This service is a wrapper for the UEFI Runtime Service QueryCapsuleCapabilities().
The QueryCapsuleCapabilities() function allows a caller to test to see if a capsule or The QueryCapsuleCapabilities() function allows a caller to test to see if a capsule or
capsules can be updated via UpdateCapsule(). The Flags values in the capsule header and capsules can be updated via UpdateCapsule(). The Flags values in the capsule header and
size of the entire capsule is checked. size of the entire capsule is checked.
@ -530,16 +579,17 @@ EfiUpdateCapsule (
stored in contiguous virtual memory. stored in contiguous virtual memory.
@param CapsuleCount Number of pointers to EFI_CAPSULE_HEADER in @param CapsuleCount Number of pointers to EFI_CAPSULE_HEADER in
CaspuleHeaderArray. CaspuleHeaderArray.
@param MaximumCapsuleSize On output the maximum size that UpdateCapsule() can @param MaximumCapsuleSize On output the maximum size that UpdateCapsule() can
support as an argument to UpdateCapsule() via support as an argument to UpdateCapsule() via
CapsuleHeaderArray and ScatterGatherList. CapsuleHeaderArray and ScatterGatherList.
Undefined on input. Undefined on input.
@param ResetType Returns the type of reset required for the capsule update. @param ResetType Returns the type of reset required for the capsule update.
@retval EFI_SUCCESS Valid answer returned.. @retval EFI_SUCCESS Valid answer returned.
@retval EFI_INVALID_PARAMETER MaximumCapsuleSize is NULL. @retval EFI_INVALID_PARAMETER MaximumCapsuleSize is NULL.
@retval EFI_UNSUPPORTED The capsule type is not supported on this platform, and @retval EFI_UNSUPPORTED The capsule type is not supported on this platform, and
MaximumCapsuleSize and ResetType are undefined. MaximumCapsuleSize and ResetType are undefined.
@retval EFI_OUT_OF_RESOURCES There were insufficient resources to process the query request.
**/ **/
EFI_STATUS EFI_STATUS
@ -561,7 +611,7 @@ EfiQueryCapsuleCapabilities (
/** /**
Returns information about the EFI variables. This service is a wrapper for the UEFI Runtime Service QueryVariableInfo().
The QueryVariableInfo() function allows a caller to obtain the information about the The QueryVariableInfo() function allows a caller to obtain the information about the
maximum size of the storage space available for the EFI variables, the remaining size of the storage maximum size of the storage space available for the EFI variables, the remaining size of the storage
@ -592,6 +642,7 @@ EfiQueryCapsuleCapabilities (
MaximumVariableStorageSize, MaximumVariableStorageSize,
RemainingVariableStorageSize, MaximumVariableSize RemainingVariableStorageSize, MaximumVariableSize
are undefined. are undefined.
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI