Commit Graph

14 Commits

Author SHA1 Message Date
Hao Wu e5735b98c2 MdeModulePkg/Print2: Refine the comment for ASCII_VALUE_TO_STRING_S
The commit refines the comment description for EFI_PRINT2S_PROTOCOL
service ASCII_VALUE_TO_STRING_S.

This service will not ASSERT when the input/output parameter 'Buffer' is
not aligned on a 16-bit boundary.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2017-03-13 11:09:34 +08:00
Hao Wu e43adbafe8 MdeModulePkg: Add the EFI_PRINT2S_PROTOCOL
Add the EFI_PRINT2S_PROTOCOL as a safe version of the EFI_PRINT2_PROTOCOL,
the EFI_PRINT2S_PROTOCOL replaces the following 2 services in
EFI_PRINT2_PROTOCOL:
UNICODE_VALUE_TO_STRING
ASCII_VALUE_TO_STRING

with:
UNICODE_VALUE_TO_STRING_S
ASCII_VALUE_TO_STRING_S

The 2 new services perform checks to the input parameters and will return
relative status to reflect the check result.

Return RETURN_INVALID_PARAMETER when:
1). The input Buffer is NULL.
2). The input BufferSize is greater than (PcdMaximumUnicodeStringLength *
sizeof (CHAR16) + 1) for UnicodeValueToStringS or greater than
PcdMaximumAsciiStringLength for AsciiValueToStringS.
3). The input Flags is not set properly.
4). The input Width is not smaller than MAXIMUM_VALUE_CHARACTERS.

Return RETURN_BUFFER_TOO_SMALL when:
1). The input BufferSize cannot hold the converted value.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2017-02-21 13:56:22 +08:00
Hao Wu 0b6642e60e MdeModulePkg: Refine the services comments in EFI_PRINT2_PROTOCOL
For the following 8 services in EFI_PRINT2_PROTOCOL:
UNICODE_BS_PRINT
UNICODE_S_PRINT
UNICODE_BS_PRINT_ASCII_FORMAT
UNICODE_S_PRINT_ASCII_FORMAT
ASCII_BS_PRINT
ASCII_S_PRINT
ASCII_BS_PRINT_UNICODE_FORMAT
ASCII_S_PRINT_UNICODE_FORMAT

They will ASSERT when:
1) The input parameter 'StartOfBuffer' is NULL if 'BufferSize' indicates
at least 1 Ascii/Unicode character can be held.
2) The input parameter 'FormatString' is NULL if 'BufferSize' indicates at
least 1 Ascii/Unicode character can be held.
3) The input parameter 'FormatString' contains more than
PcdMaximum[Ascii|Unicode]StringLength Ascii/Unicode characters.
4) The produced string contains more than
PcdMaximum[Ascii|Unicode]StringLength Ascii/Unicode characters.

This commits removes the ASSERT case 4) and add the following new ASSERT
case:
4) The input parameter 'BufferSize' is greater than
(PcdMaximumAsciiStringLength * sizeof (CHAR8)) for Ascii format string or
(PcdMaximumUnicodeStringLength * sizeof (CHAR16) + 1) for Unicode format
string.

And for those ASSERT cases, 0 will be returned by those services.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2017-02-21 13:55:28 +08:00
hhtian cd5ebaa06d Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10420 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:49:11 +00:00
myronporter 64a80549c8 Grammatical and disclaimer changes (does not follow internal C coding stds.)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10269 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-17 20:48:52 +00:00
rsun3 0c1a4aa69a Minor update to some protocol interface function prototype for Doxygen document
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10207 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-05 06:31:45 +00:00
xdu2 df8d0595dc Update function description to be consistent with code definition: HEX_RADIX => RADIX_HEX.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9434 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-17 01:46:51 +00:00
lgao4 e40b7d5d1b Update some comments for MdeModulePkg Include header files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8536 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-12 05:47:03 +00:00
pkandel e9b67286ad Committing changes to the comments, to improve code documentation.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8533 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-11 14:17:23 +00:00
mdkinney 504dcb0a4e This checkin addresses the compatibility issue of passing arguments of type VA_LIST between components. The type VA_LIST is mapped onto the compiler specific implementation of varargs. As a result, modules build with different compilers may not use the same VA_LIST structure. The solution to this issue is to define a new type called BASE_LIST that is a compiler independent method of passing varargs between modules.
1) Update the Print2 Protocol to only use arguments of type BASE_LIST.  Since this is a change to the protocol definition, the GUID has also been updated.
2) Update the implementation of DxePrintLibPrint2Protocol for the update definition of the Print2 Protocol.  Since the PrintLib does contain APIs that use VA_LIST, this library must convert arguments of type VA_LIST to arguments of type BASE_LIST prior to calling the Print2 Protocol services.
3) Update the implementation of PrintDxe to match the updated Print2 Prootocol





git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8405 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-30 23:49:35 +00:00
qhuang8 e996a8c98a Retire Print protocol in MdeModulePkg and update Print2 protocol to provide full set of API in PrintLib classes
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7564 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-23 02:58:46 +00:00
lgao4 346cf9ace3 Code scrub for MdeModule Include header file (Protocol and DEC)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6817 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 08:55:36 +00:00
qwang12 2b4d6ac808 To improve backward compatibility, add gEfiPrint2ProtocolGuid and rename gEfiPrintProtocolGuid to the previous GUID value used in EDK I. gEfiPrint2ProtocolGuid is a enhanced version of gEfiPrintProtocolGuid.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5772 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-02 01:58:16 +00:00
qwang12 217697afd2 To improve backward compatibility, add gEfiPrint2ProtocolGuid and rename gEfiPrintProtocolGuid to the previous GUID value used in EDK I. gEfiPrint2ProtocolGuid is a enhanced version of gEfiPrintProtocolGuid.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5766 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-02 01:20:36 +00:00