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,
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
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
@ -249,6 +249,8 @@ EfiInitializeLock (
);
/**
Initializes a basic mutual exclusion lock.
This macro initializes the contents of a basic mutual exclusion lock to the
released state. Each lock provides mutual exclusion access at its task
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.
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
priority level of the mutual exclusion lock. Then, it attempts to place the
lock in the acquired state.
This function raises the system's current task priority level to the task priority
level of the mutual exclusion lock. Then, it attempts to place the 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 not initialized, then ASSERT().
@ -407,7 +409,7 @@ EfiTestChildHandle (
/**
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
is returned in UnicodeString.
@ -445,48 +447,42 @@ LookupUnicodeString (
/**
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
RFC 3066 language code for the
Unicode string to look up and
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.
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 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 UnicodeString is NULL.
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
@retval EFI_UNSUPPORTED UnicodeStringTable is NULL.
@retval EFI_UNSUPPORTED The language specified by
Language is not a member
ofSupportedLanguages.
@retval EFI_UNSUPPORTED The language specified by
Language is not supported by
UnicodeStringTable.
@retval EFI_UNSUPPORTED The language specified by Language is not a member of SupportedLanguages.
@retval EFI_UNSUPPORTED The language specified by Language is not supported by UnicodeStringTable.
**/
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
UnicodeString is added to UnicodeStringTable. New buffers are
allocated for both Language and UnicodeString. The contents
of Language and UnicodeString are copied into these new
buffers. These buffers are automatically freed when
FreeUnicodeStringTable() is called.
If Language is a member of SupportedLanguages then UnicodeString is added to
UnicodeStringTable. New buffers are allocated for both Language and UnicodeString.
The contents of Language and UnicodeString are copied into these new buffers.
These buffers are automatically freed when EfiLibFreeUnicodeStringTable() is called.
@param Language A pointer to the ISO 639-2 or
RFC 3066 language code for the
Unicode string to add.
@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 to add.
@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 Unicode strings
UnicodeStringTable, and it was
returned in UnicodeString.
@retval EFI_INVALID_PARAMETER Language is NULL.
@retval EFI_INVALID_PARAMETER UnicodeString is NULL.
@retval EFI_INVALID_PARAMETER UnicodeString is an empty string.
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
@retval EFI_ALREADY_STARTED A Unicode string with language
Language is already present in
UnicodeStringTable.
@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.
@param Language A pointer to an ASCII string containing the ISO 639-2 or
the RFC 4646 language code for the Unicode string to add.
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 Unicode string to add.
@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 UnicodeString is NULL.
@retval EFI_INVALID_PARAMETER UnicodeString is an empty string.
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
@retval EFI_ALREADY_STARTED A Unicode string with language Language is already present in
UnicodeStringTable.
@retval EFI_OUT_OF_RESOURCES There is not enough memory to add another Unicode string UnicodeStringTable.
@retval EFI_UNSUPPORTED The language specified by Language is not a member of SupportedLanguages.
**/
EFI_STATUS
@ -619,8 +608,10 @@ FreeUnicodeStringTable (
);
/**
This function computes and returns the width of the Unicode character
specified by UnicodeChar.
Retrieves the width of a Unicode character.
This function computes and returns the width of the Unicode character specified
by UnicodeChar.
@param UnicodeChar A Unicode character.
@ -638,11 +629,13 @@ GetGlyphWidth (
/**
Computes the display length of a Null-terminated Unicode String.
This function computes and returns the display length of
the Null-terminated Unicode string specified by String.
If String is NULL, then 0 is returned.
If any of the widths of the Unicode characters in String
can not be determined, then 0 is returned.
This function computes and returns the display length of the Null-terminated Unicode
string specified by String. If String is NULL then 0 is returned. If any of the widths
of the Unicode characters in String can not be determined, then 0 is returned. The display
width of String can be computed by summing the display widths of each Unicode character
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.
@ -662,9 +655,9 @@ UnicodeStringDisplayLength (
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
from a proprietary to UEFI 2.0 based mechanism. This library abstracts the caller from
how this event is created to prevent to code form having to change with the version of
the specification supported.
from a proprietary to UEFI 2.0 based mechanism. This library abstracts the caller
from how this event is created to prevent to code form having to change with the
version of the specification supported.
**/
VOID
@ -689,14 +682,14 @@ EfiSignalEventLegacyBoot (
);
/**
Creates an EFI event in the Legacy Boot Event Group. 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 abstracts the creation of the Legacy Boot Event. 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 to code form having to
change with the version of the specification supported.
Creates an EFI event in the Legacy Boot Event Group.
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
abstracts the creation of the Legacy Boot Event. 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 to code form having to change with the version of the
specification supported.
If LegacyBootEvent is NULL, then ASSERT().
@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
was done via a non-standard UEFI extension, and this library abstracts the
implementation mechanism of this event from the caller.
Create an EFI event in the Ready To Boot Event Group.
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
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
@ -899,7 +892,6 @@ ErrorPrint (
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
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 ... Variable argument list whose contents are accessed based
@ -925,7 +917,6 @@ AsciiPrint (
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
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 ... 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
string is printed, and 0 is returned.
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 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
DriverBindingHandle.
Installs and completes the initialization of a Driver Binding Protocol instance.
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
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.
@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 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.
@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().
@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
@ -1070,25 +1062,29 @@ EfiLibInstallDriverBinding (
/**
Initializes a driver by installing the Driver Binding Protocol together with the optional Component Name,
Driver Configure and Driver Diagnostic Protocols onto the driver's DriverBindingHandle.
Installs and completes the initialization of a Driver Binding Protocol instance and
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
DriverBinding Protocols.
If the Driver Binding Protocol interface is NULL, then ASSERT ().
If the installation fails, then ASSERT ().
Initializes a driver by installing the Driver Binding Protocol together with the
optional Component Name, optional Driver Configure and optional Driver Diagnostic
Protocols onto the driver's DriverBindingHandle. If DriverBindingHandle is NULL,
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.
@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.
@retval EFI_SUCCESS The protocol installation is completed successfully.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces().
@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
@ -1106,22 +1102,26 @@ EfiLibInstallAllDriverProtocols (
/**
Initializes a driver by installing the Driver Binding Protocol together with the optional Component Name,
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 ().
Installs Driver Binding Protocol with optional Component Name and Component Name 2 Protocols.
@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 ComponentName2 A Component Name 2 Protocol instance that this driver is producing.
Initializes a driver by installing the Driver Binding Protocol together with the
optional Component Name and optional Component Name 2 protocols onto the driver's
DriverBindingHandle. If DriverBindingHandle is NULL, 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().
@retval EFI_SUCCESS The protocol installation is completed successfully.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces().
@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 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
@ -1137,29 +1137,31 @@ EfiLibInstallDriverBindingComponentName2 (
/**
Intialize a driver by installing the Driver Binding Protocol together with the optional Component Name,
Component Name 2, Driver Configure, Driver Diagnostic and Driver Diagnostic 2 Protocols onto the driver's
DriverBindingHandle.
Installs Driver Binding Protocol with optional Component Name, Component Name 2, Driver
Configuration, Driver Configuration 2, Driver Diagnostics, and Driver Diagnostics 2 Protocols.
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 ().
Initializes a driver by installing the Driver Binding Protocol together with the optional
Component Name, optional Component Name 2, optional Driver Configuration, optional Driver
Configuration 2, optional Driver Diagnostic, and optional Driver Diagnostic 2 Protocols
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 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 installe 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.
@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 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 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 installe 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.
@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 DriverDiagnostics A Driver Diagnostics Protocol 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 Others Status from gBS->InstallMultipleProtocolInterfaces().
@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

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
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 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
Null-Terminated Unicode String
Each vendor may create and manage its own variables without the risk of name conflicts by
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 Attributes Point to memory location to return the attributes of variable. If the point
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.
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
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.
@ -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 ResetStatus The status code for the reset. If the system reset is part of a
normal operation, the status code would be EFI_SUCCESS. If the system
reset is due to some type of failure the most appropriate EFI Status
code would be used.
@param ResetStatus The status code for the reset. If the system reset is part of a normal operation, the status code
would be EFI_SUCCESS. If the system reset is due to some type of failure the most appropriate EFI
Status code would be used.
@param DataSizeThe size, in bytes, of ResetData.
@param ResetData For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown
the data buffer starts with a Null-terminated Unicode string, optionally
followed by additional binary data. The string is a description that the
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 address. For a ResetType of EfiRestUpdate the
data buffer also starts with a Null-terminated string that is followed by
a physical VOID * to an EFI_CAPSULE_HEADER.
@param ResetData For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown the data buffer starts with a
Null-terminated Unicode string, optionally followed by additional binary data. The string is a
description that the 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
address. For a ResetType of EfiRestUpdate the data buffer also starts with a Null-terminated string
that is followed by a physical VOID * to an EFI_CAPSULE_HEADER.
**/
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 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 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.
Depending on the intended consumption, the firmware may
process the capsule immediately. If the payload should persist across a
system reset, the reset value returned from EFI_QueryCapsuleCapabilities must
be passed into ResetSystem() and will cause the capsule to be processed by
the firmware as part of the reset process.
This service is a wrapper for the UEFI Runtime Service UpdateCapsule().
Passes capsules to the firmware with both virtual and physical mapping. Depending on the intended
consumption, the firmware may process the capsule immediately. If the payload should persist across a
system reset, the reset value returned from EFI_QueryCapsuleCapabilities must be passed into ResetSystem()
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
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
capsules can be updated via UpdateCapsule(). The Flags values in the capsule header and
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
maximum size of the storage space available for the EFI variables, the remaining size of the storage
@ -528,6 +577,7 @@ EfiQueryCapsuleCapabilities (
MaximumVariableStorageSize,
RemainingVariableStorageSize, MaximumVariableSize
are undefined.
**/
EFI_STATUS
EFIAPI

View File

@ -1,8 +1,16 @@
/** @file
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.
Copyright (c) 2006 - 2008, Intel Corporation
Copyright (c) 2006 - 2008, Intel Corporation<BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at

View File

@ -1,7 +1,10 @@
/** @file
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>
All rights reserved. This program and the accompanying materials
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
specified by UnicodeChar.
Retrieves the width of a Unicode character.
This function computes and returns the width of the Unicode character specified
by UnicodeChar.
@param UnicodeChar A Unicode character.
@ -246,11 +248,13 @@ GetGlyphWidth (
/**
Computes the display length of a Null-terminated Unicode String.
This function computes and returns the display length of
the Null-terminated Unicode string specified by String.
If String is NULL, then 0 is returned.
If any of the widths of the Unicode characters in String
can not be determined, then 0 is returned.
This function computes and returns the display length of the Null-terminated Unicode
string specified by String. If String is NULL then 0 is returned. If any of the widths
of the Unicode characters in String can not be determined, then 0 is returned. The display
width of String can be computed by summing the display widths of each Unicode character
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.

View File

@ -17,23 +17,25 @@
#include "UefiLibInternal.h"
/**
Initializes a driver by installing the Driver Binding Protocol onto the driver's
DriverBindingHandle.
Installs and completes the initialization of a Driver Binding Protocol instance.
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
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.
@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 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.
@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().
@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
@ -70,25 +72,29 @@ EfiLibInstallDriverBinding (
/**
Initializes a driver by installing the Driver Binding Protocol together with the optional Component Name,
Driver Configure and Driver Diagnostic Protocols onto the driver's DriverBindingHandle.
Installs and completes the initialization of a Driver Binding Protocol instance and
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
DriverBinding Protocols.
If the Driver Binding Protocol interface is NULL, then ASSERT ().
If the installation fails, then ASSERT ().
Initializes a driver by installing the Driver Binding Protocol together with the
optional Component Name, optional Driver Configure and optional Driver Diagnostic
Protocols onto the driver's DriverBindingHandle. If DriverBindingHandle is NULL,
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.
@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.
@retval EFI_SUCCESS The protocol installation is completed successfully.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces().
@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
@ -198,22 +204,26 @@ EfiLibInstallAllDriverProtocols (
/**
Intialize a driver by installing the Driver Binding Protocol together with the optional Component Name,
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 ().
Installs Driver Binding Protocol with optional Component Name and Component Name 2 Protocols.
@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 installe 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.
Initializes a driver by installing the Driver Binding Protocol together with the
optional Component Name and optional Component Name 2 protocols onto the driver's
DriverBindingHandle. If DriverBindingHandle is NULL, 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().
@retval EFI_SUCCESS The protocol installation is completed successfully.
@retval Others Status from gBS->InstallMultipleProtocolInterfaces().
@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 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
@ -281,29 +291,31 @@ EfiLibInstallDriverBindingComponentName2 (
/**
Intialize a driver by installing the Driver Binding Protocol together with the optional Component Name,
Component Name 2, Driver Configure, Driver Diagnostic and Driver Diagnostic 2 Protocols onto the driver's
DriverBindingHandle.
Installs Driver Binding Protocol with optional Component Name, Component Name 2, Driver
Configuration, Driver Configuration 2, Driver Diagnostics, and Driver Diagnostics 2 Protocols.
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 ().
Initializes a driver by installing the Driver Binding Protocol together with the optional
Component Name, optional Component Name 2, optional Driver Configuration, optional Driver
Configuration 2, optional Driver Diagnostic, and optional Driver Diagnostic 2 Protocols
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 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 installe 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.
@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 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 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 installe 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.
@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 DriverDiagnostics A Driver Diagnostics Protocol 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 Others Status from gBS->InstallMultipleProtocolInterfaces().
@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

View File

@ -280,18 +280,16 @@ EfiNamedEventSignal (
return Status;
}
/**
/**
Returns the current TPL.
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
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
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
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
to RestoreTPL().
@param VOID
@retval EFI_TPL The current TPL.
@return The current 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
priority level of the mutual exclusion lock. Then, it attempts to place the
lock in the acquired state.
This function raises the system's current task priority level to the task priority
level of the mutual exclusion lock. Then, it attempts to place the 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 not initialized, then ASSERT().
@ -444,7 +443,7 @@ EfiReleaseLock (
currently managing the controller specified by ControllerHandle. This test
is performed by evaluating if the the protocol specified by ProtocolGuid is
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().
@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.
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 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_UNSUPPORTED ChildHandle is not a child of the
@ -565,7 +564,7 @@ EfiTestChildHandle (
/**
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
is returned in UnicodeString.
@ -651,48 +650,42 @@ LookupUnicodeString (
/**
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
RFC 3066 language code for the
Unicode string to look up and
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.
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 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 UnicodeString is NULL.
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
@retval EFI_UNSUPPORTED UnicodeStringTable is NULL.
@retval EFI_UNSUPPORTED The language specified by
Language is not a member
ofSupportedLanguages.
@retval EFI_UNSUPPORTED The language specified by
Language is not supported by
UnicodeStringTable.
@retval EFI_UNSUPPORTED UnicodeStringTable is NULL.
@retval EFI_UNSUPPORTED The language specified by Language is not a member of SupportedLanguages.
@retval EFI_UNSUPPORTED The language specified by Language is not supported by UnicodeStringTable.
**/
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
UnicodeString is added to UnicodeStringTable. New buffers are
allocated for both Language and UnicodeString. The contents
of Language and UnicodeString are copied into these new
buffers. These buffers are automatically freed when
FreeUnicodeStringTable() is called.
If Language is a member of SupportedLanguages then UnicodeString is added to
UnicodeStringTable. New buffers are allocated for both Language and UnicodeString.
The contents of Language and UnicodeString are copied into these new buffers.
These buffers are automatically freed when EfiLibFreeUnicodeStringTable() is called.
@param Language A pointer to the ISO 639-2 or
RFC 3066 language code for the
Unicode string to add.
@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 to add.
@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 Unicode strings
UnicodeStringTable, and it was
returned in UnicodeString.
@retval EFI_INVALID_PARAMETER Language is NULL.
@retval EFI_INVALID_PARAMETER UnicodeString is NULL.
@retval EFI_INVALID_PARAMETER UnicodeString is an empty string.
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
@retval EFI_ALREADY_STARTED A Unicode string with language
Language is already present in
UnicodeStringTable.
@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.
@param Language A pointer to an ASCII string containing the ISO 639-2 or
the RFC 4646 language code for the Unicode string to add.
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 Unicode string to add.
@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 UnicodeString is NULL.
@retval EFI_INVALID_PARAMETER UnicodeString is an empty string.
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
@retval EFI_ALREADY_STARTED A Unicode string with language Language is already present in
UnicodeStringTable.
@retval EFI_OUT_OF_RESOURCES There is not enough memory to add another Unicode string UnicodeStringTable.
@retval EFI_UNSUPPORTED The language specified by Language is not a member of SupportedLanguages.
**/
EFI_STATUS

View File

@ -85,14 +85,14 @@ InternalPrint (
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.
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
characters that printed to ConOut. If the length of the formatted Unicode
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
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
characters that printed to ConOut. If the length of the formatted Unicode
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
If Format is NULL, 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
on the format string specified by Format.
@return The number of Unicode characters in the produced
output buffer not including the Null-terminator.
@return Number of Unicode characters printed to ConOut.
**/
UINTN
@ -124,14 +123,14 @@ Print (
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.
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
characters that printed to StdErr. If the length of the formatted Unicode
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
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
characters that printed to StdErr. If the length of the formatted Unicode
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
If Format is NULL, 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 ... Variable argument list whose contents are accessed based
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
EFIAPI
@ -214,14 +213,14 @@ AsciiInternalPrint (
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.
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
characters that printed to ConOut. If the length of the formatted ASCII
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
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
characters that printed to ConOut. If the length of the formatted ASCII
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
If Format is NULL, then ASSERT().
@ -229,8 +228,7 @@ AsciiInternalPrint (
@param ... Variable argument list whose contents are accessed based
on the format string specified by Format.
@return The number of Ascii characters in the produced
output buffer not including the Null-terminator.
@return Number of ASCII characters printed to ConOut.
**/
UINTN
@ -253,14 +251,14 @@ AsciiPrint (
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.
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
characters that printed to StdErr. If the length of the formatted ASCII
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
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
characters that printed to StdErr. If the length of the formatted ASCII
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
If Format is NULL, then ASSERT().
@ -268,8 +266,7 @@ AsciiPrint (
@param ... Variable argument list whose contents are accessed based
on the format string specified by Format.
@return The number of Ascii characters in the produced output
buffer not including the Null-terminator.
@return Number of ASCII characters printed to ConErr.
**/
UINTN
@ -567,7 +564,7 @@ Error:
@param ... Variable argument list whose contents are accessed based on
the format string specified by Format.
@return The number of characters printed.
@return The number of Unicode characters printed.
**/
UINTN
@ -612,7 +609,7 @@ PrintXY (
This function prints a formatted ASCII string to the graphics console device
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
PcdUefiLibMaxPrintBufferSize characters are printed. The EFI_HII_FONT_PROTOCOL
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
the format string specified by Format.
@return The number of characters printed.
@return The number of ASCII characters printed.
**/
UINTN

View File

@ -43,16 +43,16 @@ InternalEmptyFuntion (
}
/**
Creates an EFI event in the Legacy Boot Event Group. 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 abstracts the creation of the Legacy Boot Event. 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 to code form having to
change with the version of the specification supported.
Creates an EFI event in the Legacy Boot Event Group.
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
abstracts the creation of the Legacy Boot Event. 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 to code form having to change with the version of the
specification supported.
If LegacyBootEvent is NULL, then ASSERT().
@param LegacyBootEvent Returns the EFI event returned from gBS->CreateEvent(Ex).
@retval EFI_SUCCESS Event was created.
@ -75,8 +75,8 @@ EfiCreateEventLegacyBoot (
/**
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.
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
@ -128,17 +128,17 @@ EfiCreateEventLegacyBootEx (
}
/**
Create an EFI event in the Ready To Boot Event Group. 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.
Create an EFI event in the Ready To Boot Event Group.
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
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
change with the version of the specification supported.
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 Other Event was not created.
@ -160,8 +160,8 @@ EfiCreateEventReadyToBoot (
/**
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.
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
@ -217,9 +217,9 @@ EfiCreateEventReadyToBootEx (
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
from a proprietary to UEFI 2.0 based mechanism. This library abstracts the caller from
how this event is created to prevent to code form having to change with the version of
the specification supported.
from a proprietary to UEFI 2.0 based mechanism. This library abstracts the caller
from how this event is created to prevent to code form having to change with the
version of the specification supported.
**/
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 ResetStatus The status code for the reset. If the system reset is part of a
normal operation, the status code would be EFI_SUCCESS. If the system
reset is due to some type of failure the most appropriate EFI Status
code would be used.
@param ResetStatus The status code for the reset. If the system reset is part of a normal operation, the status code
would be EFI_SUCCESS. If the system reset is due to some type of failure the most appropriate EFI
Status code would be used.
@param DataSizeThe size, in bytes, of ResetData.
@param ResetData For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown
the data buffer starts with a Null-terminated Unicode string, optionally
followed by additional binary data. The string is a description that the
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 address. For a ResetType of EfiRestUpdate the
data buffer also starts with a Null-terminated string that is followed by
a physical VOID * to an EFI_CAPSULE_HEADER.
@param ResetData For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown the data buffer starts with a
Null-terminated Unicode string, optionally followed by additional binary data. The string is a
description that the 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
address. For a ResetType of EfiRestUpdate the data buffer also starts with a Null-terminated string
that is followed by a physical VOID * to an EFI_CAPSULE_HEADER.
**/
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
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 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
Null-Terminated Unicode String
Each vendor may create and manage its own variables without the risk of name conflicts by
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 Attributes Point to memory location to return the attributes of variable. If the point
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.
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
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.
@ -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 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 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.
Depending on the intended consumption, the firmware may
process the capsule immediately. If the payload should persist across a
system reset, the reset value returned from EFI_QueryCapsuleCapabilities must
be passed into ResetSystem() and will cause the capsule to be processed by
the firmware as part of the reset process.
This service is a wrapper for the UEFI Runtime Service UpdateCapsule().
Passes capsules to the firmware with both virtual and physical mapping. Depending on the intended
consumption, the firmware may process the capsule immediately. If the payload should persist across a
system reset, the reset value returned from EFI_QueryCapsuleCapabilities must be passed into ResetSystem()
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
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
capsules can be updated via UpdateCapsule(). The Flags values in the capsule header and
size of the entire capsule is checked.
@ -530,16 +579,17 @@ EfiUpdateCapsule (
stored in contiguous virtual memory.
@param CapsuleCount Number of pointers to EFI_CAPSULE_HEADER in
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
CapsuleHeaderArray and ScatterGatherList.
Undefined on input.
@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_UNSUPPORTED The capsule type is not supported on this platform, and
MaximumCapsuleSize and ResetType are undefined.
@retval EFI_OUT_OF_RESOURCES There were insufficient resources to process the query request.
**/
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
maximum size of the storage space available for the EFI variables, the remaining size of the storage
@ -592,6 +642,7 @@ EfiQueryCapsuleCapabilities (
MaximumVariableStorageSize,
RemainingVariableStorageSize, MaximumVariableSize
are undefined.
**/
EFI_STATUS
EFIAPI