Lines Matching full:is
163 This function is similar as strlen_s defined in C11.
165 If String is not aligned on a 16-bit boundary, then ASSERT().
171 @retval 0 If String is NULL.
172 @retval MaxSize If there is no null character in the first MaxSize characters of String.
190 If String is not aligned on a 16-bit boundary, then ASSERT().
196 @retval 0 If String is NULL.
198 If there is no Null terminator in the first MaxSize characters of
215 This function is similar as strcpy_s defined in C11.
217 If Destination is not aligned on a 16-bit boundary, then ASSERT().
218 If Source is not aligned on a 16-bit boundary, then ASSERT().
220 If an error is returned, then the Destination is unmodified.
227 @retval RETURN_SUCCESS String is copied.
228 @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than StrLen(Source).
229 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
230 If Source is NULL.
231 If PcdMaximumUnicodeStringLength is not zero,
232 and DestMax is greater than
234 If DestMax is 0.
247 Source to the array pointed to by Destination. If no null char is copied from
248 Source, then Destination[Length] is always set to null.
250 This function is similar as strncpy_s defined in C11.
252 If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().
253 If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().
255 If an error is returned, then the Destination is unmodified.
263 @retval RETURN_SUCCESS String is copied.
264 @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than
266 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
267 If Source is NULL.
268 If PcdMaximumUnicodeStringLength is not zero,
269 and DestMax is greater than
271 If DestMax is 0.
287 This function is similar as strcat_s defined in C11.
289 If Destination is not aligned on a 16-bit boundary, then ASSERT().
290 If Source is not aligned on a 16-bit boundary, then ASSERT().
292 If an error is returned, then the Destination is unmodified.
299 @retval RETURN_SUCCESS String is appended.
300 @retval RETURN_BAD_BUFFER_SIZE If DestMax is NOT greater than
302 @retval RETURN_BUFFER_TOO_SMALL If (DestMax - StrLen(Destination)) is NOT
304 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
305 If Source is NULL.
306 If PcdMaximumUnicodeStringLength is not zero,
307 and DestMax is greater than
309 If DestMax is 0.
322 Source to the end of the string pointed to by Destination. If no null char is
323 copied from Source, then Destination[StrLen(Destination) + Length] is always
326 This function is similar as strncat_s defined in C11.
328 If Destination is not aligned on a 16-bit boundary, then ASSERT().
329 If Source is not aligned on a 16-bit boundary, then ASSERT().
331 If an error is returned, then the Destination is unmodified.
339 @retval RETURN_SUCCESS String is appended.
340 @retval RETURN_BAD_BUFFER_SIZE If DestMax is NOT greater than
342 @retval RETURN_BUFFER_TOO_SMALL If (DestMax - StrLen(Destination)) is NOT
344 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
345 If Source is NULL.
346 If PcdMaximumUnicodeStringLength is not zero,
347 and DestMax is greater than
349 If DestMax is 0.
366 input Unicode string String is:
370 The valid decimal digit character is in the range [0-9]. The function will
373 be ignored. Then, the function stops at the first character that is a not a
376 If String is not aligned in a 16-bit boundary, then ASSERT().
378 If String has no valid decimal digits in the above format, then 0 is stored
381 MAX_UINTN is stored at the location pointed to by Data.
383 If EndPointer is not NULL, a pointer to the character that stopped the scan
384 is stored at the location pointed to by EndPointer. If String has no valid
385 decimal digits right after the optional pad spaces, the value of String is
392 @retval RETURN_SUCCESS Value is translated from String.
393 @retval RETURN_INVALID_PARAMETER If String is NULL.
394 If Data is NULL.
395 If PcdMaximumUnicodeStringLength is not
417 input Unicode string String is:
421 The valid decimal digit character is in the range [0-9]. The function will
424 be ignored. Then, the function stops at the first character that is a not a
427 If String is not aligned in a 16-bit boundary, then ASSERT().
429 If String has no valid decimal digits in the above format, then 0 is stored
432 MAX_UINT64 is stored at the location pointed to by Data.
434 If EndPointer is not NULL, a pointer to the character that stopped the scan
435 is stored at the location pointed to by EndPointer. If String has no valid
436 decimal digits right after the optional pad spaces, the value of String is
443 @retval RETURN_SUCCESS Value is translated from String.
444 @retval RETURN_INVALID_PARAMETER If String is NULL.
445 If Data is NULL.
446 If PcdMaximumUnicodeStringLength is not
469 the input Unicode string String is:
473 The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
474 The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix.
480 the first character that is a not a valid hexadecimal character or NULL,
483 If String is not aligned in a 16-bit boundary, then ASSERT().
485 If String has no valid hexadecimal digits in the above format, then 0 is
488 MAX_UINTN is stored at the location pointed to by Data.
490 If EndPointer is not NULL, a pointer to the character that stopped the scan
491 is stored at the location pointed to by EndPointer. If String has no valid
493 is stored at the location pointed to by EndPointer.
499 @retval RETURN_SUCCESS Value is translated from String.
500 @retval RETURN_INVALID_PARAMETER If String is NULL.
501 If Data is NULL.
502 If PcdMaximumUnicodeStringLength is not
525 the input Unicode string String is:
529 The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
530 The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix.
536 the first character that is a not a valid hexadecimal character or NULL,
539 If String is not aligned in a 16-bit boundary, then ASSERT().
541 If String has no valid hexadecimal digits in the above format, then 0 is
544 MAX_UINT64 is stored at the location pointed to by Data.
546 If EndPointer is not NULL, a pointer to the character that stopped the scan
547 is stored at the location pointed to by EndPointer. If String has no valid
549 is stored at the location pointed to by EndPointer.
555 @retval RETURN_SUCCESS Value is translated from String.
556 @retval RETURN_INVALID_PARAMETER If String is NULL.
557 If Data is NULL.
558 If PcdMaximumUnicodeStringLength is not
578 This function is similar as strlen_s defined in C11.
584 @retval 0 If String is NULL.
585 @retval MaxSize If there is no null character in the first MaxSize characters of String.
607 @retval 0 If String is NULL.
609 If there is no Null terminator in the first MaxSize characters of
626 This function is similar as strcpy_s defined in C11.
628 If an error is returned, then the Destination is unmodified.
635 @retval RETURN_SUCCESS String is copied.
636 @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than StrLen(Source).
637 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
638 If Source is NULL.
639 If PcdMaximumAsciiStringLength is not zero,
640 and DestMax is greater than
642 If DestMax is 0.
655 Source to the array pointed to by Destination. If no null char is copied from
656 Source, then Destination[Length] is always set to null.
658 This function is similar as strncpy_s defined in C11.
660 If an error is returned, then the Destination is unmodified.
668 @retval RETURN_SUCCESS String is copied.
669 @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than
671 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
672 If Source is NULL.
673 If PcdMaximumAsciiStringLength is not zero,
674 and DestMax is greater than
676 If DestMax is 0.
692 This function is similar as strcat_s defined in C11.
694 If an error is returned, then the Destination is unmodified.
701 @retval RETURN_SUCCESS String is appended.
702 @retval RETURN_BAD_BUFFER_SIZE If DestMax is NOT greater than
704 @retval RETURN_BUFFER_TOO_SMALL If (DestMax - StrLen(Destination)) is NOT
706 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
707 If Source is NULL.
708 If PcdMaximumAsciiStringLength is not zero,
709 and DestMax is greater than
711 If DestMax is 0.
724 Source to the end of the string pointed to by Destination. If no null char is
725 copied from Source, then Destination[StrLen(Destination) + Length] is always
728 This function is similar as strncat_s defined in C11.
730 If an error is returned, then the Destination is unmodified.
738 @retval RETURN_SUCCESS String is appended.
739 @retval RETURN_BAD_BUFFER_SIZE If DestMax is NOT greater than
741 @retval RETURN_BUFFER_TOO_SMALL If (DestMax - StrLen(Destination)) is NOT
743 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
744 If Source is NULL.
745 If PcdMaximumAsciiStringLength is not zero,
746 and DestMax is greater than
748 If DestMax is 0.
765 input Ascii string String is:
769 The valid decimal digit character is in the range [0-9]. The function will
772 be ignored. Then, the function stops at the first character that is a not a
775 If String has no valid decimal digits in the above format, then 0 is stored
778 MAX_UINTN is stored at the location pointed to by Data.
780 If EndPointer is not NULL, a pointer to the character that stopped the scan
781 is stored at the location pointed to by EndPointer. If String has no valid
782 decimal digits right after the optional pad spaces, the value of String is
789 @retval RETURN_SUCCESS Value is translated from String.
790 @retval RETURN_INVALID_PARAMETER If String is NULL.
791 If Data is NULL.
792 If PcdMaximumAsciiStringLength is not zero,
814 input Ascii string String is:
818 The valid decimal digit character is in the range [0-9]. The function will
821 be ignored. Then, the function stops at the first character that is a not a
824 If String has no valid decimal digits in the above format, then 0 is stored
827 MAX_UINT64 is stored at the location pointed to by Data.
829 If EndPointer is not NULL, a pointer to the character that stopped the scan
830 is stored at the location pointed to by EndPointer. If String has no valid
831 decimal digits right after the optional pad spaces, the value of String is
838 @retval RETURN_SUCCESS Value is translated from String.
839 @retval RETURN_INVALID_PARAMETER If String is NULL.
840 If Data is NULL.
841 If PcdMaximumAsciiStringLength is not zero,
863 the input Ascii string String is:
867 The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
868 The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix. If
874 character that is a not a valid hexadecimal character or Null-terminator,
877 If String has no valid hexadecimal digits in the above format, then 0 is
880 MAX_UINTN is stored at the location pointed to by Data.
882 If EndPointer is not NULL, a pointer to the character that stopped the scan
883 is stored at the location pointed to by EndPointer. If String has no valid
885 is stored at the location pointed to by EndPointer.
891 @retval RETURN_SUCCESS Value is translated from String.
892 @retval RETURN_INVALID_PARAMETER If String is NULL.
893 If Data is NULL.
894 If PcdMaximumAsciiStringLength is not zero,
916 the input Ascii string String is:
920 The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
921 The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix. If
927 character that is a not a valid hexadecimal character or Null-terminator,
930 If String has no valid hexadecimal digits in the above format, then 0 is
933 MAX_UINT64 is stored at the location pointed to by Data.
935 If EndPointer is not NULL, a pointer to the character that stopped the scan
936 is stored at the location pointed to by EndPointer. If String has no valid
938 is stored at the location pointed to by EndPointer.
944 @retval RETURN_SUCCESS Value is translated from String.
945 @retval RETURN_INVALID_PARAMETER If String is NULL.
946 If Data is NULL.
947 If PcdMaximumAsciiStringLength is not zero,
968 [ATTENTION] This function is deprecated for security reason.
977 If Destination is NULL, then ASSERT().
978 If Destination is not aligned on a 16-bit boundary, then ASSERT().
979 If Source is NULL, then ASSERT().
980 If Source is not aligned on a 16-bit boundary, then ASSERT().
982 If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
1001 [ATTENTION] This function is deprecated for security reason.
1008 characters are copied from Source to Destination. If Length is 0, then
1009 Destination is returned unmodified. If Length is greater that the number of
1010 Unicode characters in Source, then Destination is padded with Null Unicode
1014 If Length > 0 and Destination is NULL, then ASSERT().
1015 If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().
1016 If Length > 0 and Source is NULL, then ASSERT().
1017 If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().
1019 If PcdMaximumUnicodeStringLength is not zero, and Length is greater than
1021 If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
1047 If String is NULL, then ASSERT().
1048 If String is not aligned on a 16-bit boundary, then ASSERT().
1049 If PcdMaximumUnicodeStringLength is not zero, and String contains more than
1072 If String is NULL, then ASSERT().
1073 If String is not aligned on a 16-bit boundary, then ASSERT().
1074 If PcdMaximumUnicodeStringLength is not zero, and String contains more than
1095 Null-terminated Unicode string SecondString. If FirstString is identical to
1096 SecondString, then 0 is returned. Otherwise, the value returned is the first
1100 If FirstString is NULL, then ASSERT().
1101 If FirstString is not aligned on a 16-bit boundary, then ASSERT().
1102 If SecondString is NULL, then ASSERT().
1103 If SecondString is not aligned on a 16-bit boundary, then ASSERT().
1104 If PcdMaximumUnicodeStringLength is not zero, and FirstString contains more
1107 If PcdMaximumUnicodeStringLength is not zero, and SecondString contains more
1114 @retval 0 FirstString is identical to SecondString.
1115 @return others FirstString is not identical to SecondString.
1132 characters will be compared. If Length is 0, then 0 is returned. If
1133 FirstString is identical to SecondString, then 0 is returned. Otherwise, the
1134 value returned is the first mismatched Unicode character in SecondString
1137 If Length > 0 and FirstString is NULL, then ASSERT().
1138 If Length > 0 and FirstString is not aligned on a 16-bit boundary, then ASSERT().
1139 If Length > 0 and SecondString is NULL, then ASSERT().
1140 If Length > 0 and SecondString is not aligned on a 16-bit boundary, then ASSERT().
1141 If PcdMaximumUnicodeStringLength is not zero, and Length is greater than
1143 If PcdMaximumUnicodeStringLength is not zero, and FirstString contains more than
1146 If PcdMaximumUnicodeStringLength is not zero, and SecondString contains more than
1154 @retval 0 FirstString is identical to SecondString.
1155 @return others FirstString is not identical to SecondString.
1170 [ATTENTION] This function is deprecated for security reason.
1178 Unicode String is returned. If Source and Destination overlap, then the
1181 If Destination is NULL, then ASSERT().
1182 If Destination is not aligned on a 16-bit boundary, then ASSERT().
1183 If Source is NULL, then ASSERT().
1184 If Source is not aligned on a 16-bit boundary, then ASSERT().
1186 If PcdMaximumUnicodeStringLength is not zero, and Destination contains more
1189 If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
1192 If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination
1212 [ATTENTION] This function is deprecated for security reason.
1220 Null-terminated Unicode string Destination, and Destination is returned. At
1222 Destination, and Destination is always Null-terminated. If Length is 0, then
1223 Destination is returned unmodified. If Source and Destination overlap, then
1226 If Destination is NULL, then ASSERT().
1227 If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().
1228 If Length > 0 and Source is NULL, then ASSERT().
1229 If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().
1231 If PcdMaximumUnicodeStringLength is not zero, and Length is greater than
1233 If PcdMaximumUnicodeStringLength is not zero, and Destination contains more
1236 If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
1239 If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination
1266 If SearchString is not found in String, then NULL is returned. If
1267 the length of SearchString is zero, then String is returned.
1269 If String is NULL, then ASSERT().
1270 If String is not aligned on a 16-bit boundary, then ASSERT().
1271 If SearchString is NULL, then ASSERT().
1272 If SearchString is not aligned on a 16-bit boundary, then ASSERT().
1274 If PcdMaximumUnicodeStringLength is not zero, and SearchString
1282 @return others If there is a match.
1298 of the input Unicode string String is:
1302 The valid decimal digit character is in the range [0-9]. The
1306 stops at the first character that is a not a valid decimal character
1309 If String is NULL, then ASSERT().
1310 If String is not aligned in a 16-bit boundary, then ASSERT().
1311 If String has only pad spaces, then 0 is returned.
1313 then 0 is returned.
1315 to the range defined by UINTN, then MAX_UINTN is returned.
1317 If PcdMaximumUnicodeStringLength is not zero, and String contains
1338 of the input Unicode string String is:
1342 The valid decimal digit character is in the range [0-9]. The
1346 stops at the first character that is a not a valid decimal character
1349 If String is NULL, then ASSERT().
1350 If String is not aligned in a 16-bit boundary, then ASSERT().
1351 If String has only pad spaces, then 0 is returned.
1353 then 0 is returned.
1355 to the range defined by UINT64, then MAX_UINT64 is returned.
1357 If PcdMaximumUnicodeStringLength is not zero, and String contains
1378 The format of the input Unicode string String is:
1382 The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
1383 The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix.
1389 that is a not a valid hexadecimal character or NULL, whichever one comes first.
1391 If String is NULL, then ASSERT().
1392 If String is not aligned in a 16-bit boundary, then ASSERT().
1393 If String has only pad spaces, then zero is returned.
1395 then zero is returned.
1397 UINTN, then MAX_UINTN is returned.
1399 If PcdMaximumUnicodeStringLength is not zero, and String contains more than
1420 The format of the input Unicode string String is
1424 The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
1425 The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix.
1430 first valid hexadecimal digit. Then, the function stops at the first character that is
1433 If String is NULL, then ASSERT().
1434 If String is not aligned in a 16-bit boundary, then ASSERT().
1435 If String has only pad spaces, then zero is returned.
1437 then zero is returned.
1439 UINT64, then MAX_UINT64 is returned.
1441 If PcdMaximumUnicodeStringLength is not zero, and String contains more than
1461 by String. The format of the input Unicode string String is as follows:
1466 [A-F]. X is converted to a value of type UINT16, whose low byte is stored in low
1467 memory address and high byte is stored in high memory address. P contains decimal
1469 be ignored. /P is optional.
1471 When /P is not in the String, the function stops at the first character that is
1474 When /P is in the String, the function stops at the first character that is not
1475 a valid decimal digit character after P is converted.
1480 If String is not aligned in a 16-bit boundary, then ASSERT().
1482 If EndPointer is not NULL and Address is translated from String, a pointer
1483 to the character that stopped the scan is stored at the location pointed to
1490 length. MAX_UINT8 is returned when /P is
1493 @retval RETURN_SUCCESS Address is translated from String.
1494 @retval RETURN_INVALID_PARAMETER If String is NULL.
1495 If Data is NULL.
1499 is not less than 8.
1500 If P starts with character that is not a
1520 by String. The format of the input Unicode string String is as follows:
1525 the beginning of D and P will be ignored. /P is optional.
1527 When /P is not in the String, the function stops at the first character that is
1530 When /P is in the String, the function stops at the first character that is not
1531 a valid decimal digit character after P is converted.
1533 If String is not aligned in a 16-bit boundary, then ASSERT().
1535 If EndPointer is not NULL and Address is translated from String, a pointer
1536 to the character that stopped the scan is stored at the location pointed to
1543 length. MAX_UINT8 is returned when /P is
1546 @retval RETURN_SUCCESS Address is translated from String.
1547 @retval RETURN_INVALID_PARAMETER If String is NULL.
1548 If Data is NULL.
1549 @retval RETURN_UNSUPPORTED If String is not in the correct format.
1580 The mapping between String and the EFI_GUID structure is as follows:
1598 If String is not aligned in a 16-bit boundary, then ASSERT().
1603 @retval RETURN_SUCCESS Guid is translated from String.
1604 @retval RETURN_INVALID_PARAMETER If String is NULL.
1605 If Data is NULL.
1606 @retval RETURN_UNSUPPORTED If String is not as the above format.
1621 the input Unicode string String is:
1625 X is a hexadecimal digit character in the range [0-9], [a-f] and [A-F].
1630 If String is not aligned in a 16-bit boundary, then ASSERT().
1637 @retval RETURN_SUCCESS Buffer is translated from String.
1638 @retval RETURN_INVALID_PARAMETER If String is NULL.
1639 If Data is NULL.
1640 If Length is not multiple of 2.
1641 If PcdMaximumUnicodeStringLength is not zero,
1642 and Length is greater than
1645 a character that is not valid hexadecimal
1647 @retval RETURN_BUFFER_TOO_SMALL If MaxBufferSize is less than (Length / 2).
1661 [ATTENTION] This function is deprecated for security reason.
1670 The caller is responsible to make sure Destination points to a buffer with size
1676 If Destination is NULL, then ASSERT().
1677 If Source is NULL, then ASSERT().
1678 If Source is not aligned on a 16-bit boundary, then ASSERT().
1681 If PcdMaximumUnicodeStringLength is not zero, and Source contains
1685 If PcdMaximumAsciiStringLength is not zero, and Source contains more
1708 This function is similar to AsciiStrCpyS.
1715 The caller is responsible to make sure Destination points to a buffer with size
1721 If Source is not aligned on a 16-bit boundary, then ASSERT().
1723 If an error is returned, then the Destination is unmodified.
1730 @retval RETURN_SUCCESS String is converted.
1731 @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than StrLen(Source).
1732 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
1733 If Source is NULL.
1734 If PcdMaximumAsciiStringLength is not zero,
1735 and DestMax is greater than
1737 If PcdMaximumUnicodeStringLength is not zero,
1738 and DestMax is greater than
1740 If DestMax is 0.
1754 Unicode string to a Null-terminated Ascii string. If no null char is copied
1755 from Source, then Destination[Length] is always set to null.
1762 The caller is responsible to make sure Destination points to a buffer with size
1767 If Source is not aligned on a 16-bit boundary, then ASSERT().
1769 If an error is returned, then the Destination is unmodified.
1779 @retval RETURN_SUCCESS String is converted.
1780 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
1781 If Source is NULL.
1782 If DestinationLength is NULL.
1783 If PcdMaximumAsciiStringLength is not zero,
1784 and Length or DestMax is greater than
1786 If PcdMaximumUnicodeStringLength is not
1787 zero, and Length or DestMax is greater than
1789 If DestMax is 0.
1790 @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than
1808 [ATTENTION] This function is deprecated for security reason.
1817 If Destination is NULL, then ASSERT().
1818 If Source is NULL, then ASSERT().
1820 If PcdMaximumAsciiStringLength is not zero and Source contains more than
1839 [ATTENTION] This function is deprecated for security reason.
1846 are copied from Source to Destination. If Length is 0, then Destination is
1847 returned unmodified. If Length is greater that the number of ASCII characters
1848 in Source, then Destination is padded with Null ASCII characters. If Source
1851 If Destination is NULL, then ASSERT().
1852 If Source is NULL, then ASSERT().
1854 If PcdMaximumAsciiStringLength is not zero, and Length is greater than
1856 If PcdMaximumAsciiStringLength is not zero, and Source contains more than
1882 If Length > 0 and Destination is NULL, then ASSERT().
1883 If Length > 0 and Source is NULL, then ASSERT().
1884 If PcdMaximumAsciiStringLength is not zero and String contains more than
1907 If String is NULL, then ASSERT().
1908 If PcdMaximumAsciiStringLength is not zero and String contains more than
1929 Null-terminated ASCII string SecondString. If FirstString is identical to
1930 SecondString, then 0 is returned. Otherwise, the value returned is the first
1934 If FirstString is NULL, then ASSERT().
1935 If SecondString is NULL, then ASSERT().
1936 If PcdMaximumAsciiStringLength is not zero and FirstString contains more than
1939 If PcdMaximumAsciiStringLength is not zero and SecondString contains more
1946 @retval ==0 FirstString is identical to SecondString.
1947 @retval !=0 FirstString is not identical to SecondString.
1964 FirstString is identical to SecondString, then 0 is returned. Otherwise, the
1965 value returned is the first mismatched lower case ASCII character in
1969 If FirstString is NULL, then ASSERT().
1970 If SecondString is NULL, then ASSERT().
1971 If PcdMaximumAsciiStringLength is not zero and FirstString contains more than
1974 If PcdMaximumAsciiStringLength is not zero and SecondString contains more
1981 @retval ==0 FirstString is identical to SecondString using case insensitive
1983 @retval !=0 FirstString is not identical to SecondString using case
2001 will be compared. If Length is 0, then 0 is returned. If FirstString is
2002 identical to SecondString, then 0 is returned. Otherwise, the value returned
2003 is the first mismatched ASCII character in SecondString subtracted from the
2006 If Length > 0 and FirstString is NULL, then ASSERT().
2007 If Length > 0 and SecondString is NULL, then ASSERT().
2008 If PcdMaximumAsciiStringLength is not zero, and Length is greater than
2010 If PcdMaximumAsciiStringLength is not zero, and FirstString contains more than
2013 If PcdMaximumAsciiStringLength is not zero, and SecondString contains more than
2021 @retval ==0 FirstString is identical to SecondString.
2022 @retval !=0 FirstString is not identical to SecondString.
2037 [ATTENTION] This function is deprecated for security reason.
2045 String is returned.
2047 If Destination is NULL, then ASSERT().
2048 If Source is NULL, then ASSERT().
2049 If PcdMaximumAsciiStringLength is not zero and Destination contains more than
2052 If PcdMaximumAsciiStringLength is not zero and Source contains more than
2055 If PcdMaximumAsciiStringLength is not zero and concatenating Destination and
2074 [ATTENTION] This function is deprecated for security reason.
2082 terminated ASCII string Destination, and Destination is returned. At most,
2084 Destination, and Destination is always Null-terminated. If Length is 0, then
2085 Destination is returned unmodified. If Source and Destination overlap, then
2088 If Length > 0 and Destination is NULL, then ASSERT().
2089 If Length > 0 and Source is NULL, then ASSERT().
2091 If PcdMaximumAsciiStringLength is not zero, and Length is greater than
2093 If PcdMaximumAsciiStringLength is not zero, and Destination contains more than
2096 If PcdMaximumAsciiStringLength is not zero, and Source contains more than
2099 If PcdMaximumAsciiStringLength is not zero, and concatenating Destination and
2125 and returns the first occurrence of SearchString. If SearchString is not
2126 found in String, then NULL is returned. If the length of SearchString is zero,
2127 then String is returned.
2129 If String is NULL, then ASSERT().
2130 If SearchString is NULL, then ASSERT().
2132 If PcdMaximumAsciiStringLength is not zero, and SearchString or
2140 @retval others If there is a match return the first occurrence of SearchingString.
2141 If the length of SearchString is zero,return String.
2158 ASCII string String is:
2162 The valid decimal digit character is in the range [0-9]. The function will
2165 function stops at the first character that is a not a valid decimal character or
2168 If String has only pad spaces, then 0 is returned.
2169 If String has no pad spaces or valid decimal digits, then 0 is returned.
2171 UINTN, then MAX_UINTN is returned.
2172 If String is NULL, then ASSERT().
2173 If PcdMaximumAsciiStringLength is not zero, and String contains more than
2195 ASCII string String is:
2199 The valid decimal digit character is in the range [0-9]. The function will
2202 function stops at the first character that is a not a valid decimal character or
2205 If String has only pad spaces, then 0 is returned.
2206 If String has no pad spaces or valid decimal digits, then 0 is returned.
2208 UINT64, then MAX_UINT64 is returned.
2209 If String is NULL, then ASSERT().
2210 If PcdMaximumAsciiStringLength is not zero, and String contains more than
2231 string String is:
2235 The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
2236 The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix. If "x"
2241 digit. Then, the function stops at the first character that is a not a valid
2244 If String has only pad spaces, then 0 is returned.
2246 0 is returned.
2249 then MAX_UINTN is returned.
2250 If String is NULL, then ASSERT().
2251 If PcdMaximumAsciiStringLength is not zero,
2272 string String is:
2276 The valid hexadecimal digit character is in the range [0-9], [a-f] and [A-F].
2277 The prefix "0x" is optional. Both "x" and "X" is allowed in "0x" prefix. If "x"
2282 digit. Then, the function stops at the first character that is a not a valid
2285 If String has only pad spaces, then 0 is returned.
2287 0 is returned.
2290 then MAX_UINT64 is returned.
2291 If String is NULL, then ASSERT().
2292 If PcdMaximumAsciiStringLength is not zero,
2312 by String. The format of the input ASCII string String is as follows:
2317 [A-F]. X is converted to a value of type UINT16, whose low byte is stored in low
2318 memory address and high byte is stored in high memory address. P contains decimal
2320 be ignored. /P is optional.
2322 When /P is not in the String, the function stops at the first character that is
2325 When /P is in the String, the function stops at the first character that is not
2326 a valid decimal digit character after P is converted.
2331 If EndPointer is not NULL and Address is translated from String, a pointer
2332 to the character that stopped the scan is stored at the location pointed to
2339 length. MAX_UINT8 is returned when /P is
2342 @retval RETURN_SUCCESS Address is translated from String.
2343 @retval RETURN_INVALID_PARAMETER If String is NULL.
2344 If Data is NULL.
2348 is not less than 8.
2349 If P starts with character that is not a
2369 by String. The format of the input ASCII string String is as follows:
2374 the beginning of D and P will be ignored. /P is optional.
2376 When /P is not in the String, the function stops at the first character that is
2379 When /P is in the String, the function stops at the first character that is not
2380 a valid decimal digit character after P is converted.
2382 If EndPointer is not NULL and Address is translated from String, a pointer
2383 to the character that stopped the scan is stored at the location pointed to
2390 length. MAX_UINT8 is returned when /P is
2393 @retval RETURN_SUCCESS Address is translated from String.
2394 @retval RETURN_INVALID_PARAMETER If String is NULL.
2395 If Data is NULL.
2396 @retval RETURN_UNSUPPORTED If String is not in the correct format.
2425 The mapping between String and the EFI_GUID structure is as follows:
2446 @retval RETURN_SUCCESS Guid is translated from String.
2447 @retval RETURN_INVALID_PARAMETER If String is NULL.
2448 If Data is NULL.
2449 @retval RETURN_UNSUPPORTED If String is not as the above format.
2464 the input ASCII string String is:
2468 X is a hexadecimal digit character in the range [0-9], [a-f] and [A-F].
2478 @retval RETURN_SUCCESS Buffer is translated from String.
2479 @retval RETURN_INVALID_PARAMETER If String is NULL.
2480 If Data is NULL.
2481 If Length is not multiple of 2.
2482 If PcdMaximumAsciiStringLength is not zero,
2483 and Length is greater than
2486 a character that is not valid hexadecimal
2488 @retval RETURN_BUFFER_TOO_SMALL If MaxBufferSize is less than (Length / 2).
2502 [ATTENTION] This function is deprecated for security reason.
2510 The caller is responsible to make sure Destination points to a buffer with size
2513 If Destination is NULL, then ASSERT().
2514 If Destination is not aligned on a 16-bit boundary, then ASSERT().
2515 If Source is NULL, then ASSERT().
2517 If PcdMaximumAsciiStringLength is not zero, and Source contains more than
2520 If PcdMaximumUnicodeStringLength is not zero, and Source contains more than
2543 This function is similar to StrCpyS.
2549 The caller is responsible to make sure Destination points to a buffer with size
2552 If Destination is not aligned on a 16-bit boundary, then ASSERT().
2554 If an error is returned, then the Destination is unmodified.
2561 @retval RETURN_SUCCESS String is converted.
2562 @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than StrLen(Source).
2563 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
2564 If Source is NULL.
2565 If PcdMaximumUnicodeStringLength is not zero,
2566 and DestMax is greater than
2568 If PcdMaximumAsciiStringLength is not zero,
2569 and DestMax is greater than
2571 If DestMax is 0.
2585 Ascii string to a Null-terminated Unicode string. If no null char is copied
2586 from Source, then Destination[Length] is always set to null.
2593 The caller is responsible to make sure Destination points to a buffer with
2597 If Destination is not aligned on a 16-bit boundary, then ASSERT().
2599 If an error is returned, then Destination and DestinationLength are
2609 @retval RETURN_SUCCESS String is converted.
2610 @retval RETURN_INVALID_PARAMETER If Destination is NULL.
2611 If Source is NULL.
2612 If DestinationLength is NULL.
2613 If PcdMaximumUnicodeStringLength is not
2614 zero, and Length or DestMax is greater than
2616 If PcdMaximumAsciiStringLength is not zero,
2617 and Length or DestMax is greater than
2619 If DestMax is 0.
2620 @retval RETURN_BUFFER_TOO_SMALL If DestMax is NOT greater than
2642 is returned directly.
2646 @retval LowerCharacter If the Char is with range L'a' to L'z'.
2659 If Chr is lowercase Ascii character, then converts it to upper one.
2679 The Ascii string is produced by converting the data string specified by Source and SourceLength.
2685 Caller is responsible for passing in buffer of DestinationSize
2687 @retval RETURN_SUCCESS When ascii buffer is filled in.
2688 @retval RETURN_INVALID_PARAMETER If Source is NULL or DestinationSize is NULL.
2689 …@retval RETURN_INVALID_PARAMETER If SourceLength or DestinationSize is bigger than (MAX_ADDRESS …
2690 @retval RETURN_BUFFER_TOO_SMALL If SourceLength is 0 and DestinationSize is <1.
2691 …@retval RETURN_BUFFER_TOO_SMALL If Destination is NULL or DestinationSize is smaller than requi…
2709 Whitespace is ignored at all positions:
2717 The minimum amount of required padding (with ASCII 0x3D, '=') is tolerated
2724 ASCII encoding. May be NULL if SourceSize is
2731 caller. May be NULL if DestinationSize is
2732 zero on input. If NULL, decoding is
2734 representation is not stored. If non-NULL and
2747 is indeterminate on output.
2753 DestinationSize is zero on input, and
2757 @retval RETURN_BUFFER_TOO_SMALL The input value of DestinationSize is not
2763 @retval RETURN_INVALID_PARAMETER DestinationSize is NULL.
2765 @retval RETURN_INVALID_PARAMETER Source is NULL, but SourceSize is not zero.
2767 @retval RETURN_INVALID_PARAMETER Destination is NULL, but DestinationSize is
2770 @retval RETURN_INVALID_PARAMETER Source is non-NULL, and (Source +
2773 @retval RETURN_INVALID_PARAMETER Destination is non-NULL, and (Destination +
2797 Converts the 8-bit value specified by Value to BCD. The BCD value is
2818 value is returned.
2825 @return The 8-bit value is returned.
2876 Initializes the head node of a doubly linked list that is declared as a
2922 If FirstEntry is NULL, then ASSERT().
2923 If FirstEntry->ForwardLink is NULL, then ASSERT().
2924 If FirstEntry->BackLink is NULL, then ASSERT().
2925 If SecondEntry is NULL, then ASSERT();
2926 If PcdMaximumLinkedListLength is not zero, and List contains more than
2932 @retval TRUE SecondEntry is in the same doubly-linked list as FirstEntry.
2934 or FirstEntry is invalid.
2951 functions may be used to add and remove nodes from the linked list. It is up
2954 If ListHead is NULL, then ASSERT().
2975 If ListHead is NULL, then ASSERT().
2976 If Entry is NULL, then ASSERT().
2979 If PcdMaximumLinkedListLength is not zero, and prior to insertion the number
2980 of nodes in ListHead, including the ListHead node, is greater than or
2984 @param Entry A pointer to a node that is to be inserted at the beginning
3005 If ListHead is NULL, then ASSERT().
3006 If Entry is NULL, then ASSERT().
3009 If PcdMaximumLinkedListLength is not zero, and prior to insertion the number
3010 of nodes in ListHead, including the ListHead node, is greater than or
3014 @param Entry A pointer to a node that is to be added at the end of the
3033 If List is empty, then List is returned.
3035 If List is NULL, then ASSERT().
3038 If PcdMaximumLinkedListLength is not zero, and the number of nodes
3039 in List, including the List node, is greater than or equal to
3045 @retval List The list is empty.
3060 or InitializeListHead(). If List is empty, then List is returned.
3062 If List is NULL, then ASSERT().
3063 If Node is NULL, then ASSERT().
3066 If PcdMaximumLinkedListLength is not zero, and List contains more than
3068 If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
3073 @return The pointer to the next node if one exists. Otherwise List is returned.
3089 or InitializeListHead(). If List is empty, then List is returned.
3091 If List is NULL, then ASSERT().
3092 If Node is NULL, then ASSERT().
3095 If PcdMaximumLinkedListLength is not zero, and List contains more than
3097 If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
3102 @return The pointer to the previous node if one exists. Otherwise List is returned.
3114 Checks to see if a doubly linked list is empty or not.
3116 Checks to see if the doubly linked list is empty. If the linked list contains
3119 If ListHead is NULL, then ASSERT().
3122 If PcdMaximumLinkedListLength is not zero, and the number of nodes
3123 in List, including the List node, is greater than or equal to
3128 @retval TRUE The linked list is empty.
3129 @retval FALSE The linked list is not empty.
3140 Determines if a node in a doubly linked list is the head node of a the same
3141 doubly linked list. This function is typically used to terminate a loop that
3144 Returns TRUE if Node is equal to List. Returns FALSE if Node is one of the
3148 If List is NULL, then ASSERT().
3149 If Node is NULL, then ASSERT().
3152 If PcdMaximumLinkedListLength is not zero, and the number of nodes
3153 in List, including the List node, is greater than or equal to
3155 If PcdVerifyNodeInList is TRUE and Node is not a node in List the and Node is not equal
3161 @retval TRUE Node is the head of the doubly-linked list pointed by List.
3162 @retval FALSE Node is not the head of the doubly-linked list pointed by List.
3176 Returns TRUE if Node is the last node in the doubly linked list specified by
3177 List. Otherwise, FALSE is returned. List must have been initialized with
3180 If List is NULL, then ASSERT().
3181 If Node is NULL, then ASSERT().
3184 If PcdMaximumLinkedListLength is not zero, and the number of nodes
3185 in List, including the List node, is greater than or equal to
3187 If PcdVerifyNodeInList is TRUE and Node is not a node in List, then ASSERT().
3192 @retval TRUE Node is the last node in the linked list.
3193 @retval FALSE Node is not the last node in the linked list.
3208 If FirstEntry is identical to SecondEntry, then SecondEntry is returned.
3209 Otherwise, the location of the FirstEntry node is swapped with the location
3213 SecondEntry is returned after the nodes are swapped.
3215 If FirstEntry is NULL, then ASSERT().
3216 If SecondEntry is NULL, then ASSERT().
3217 If PcdVerifyNodeInList is TRUE and SecondEntry and FirstEntry are not in the
3219 If PcdMaximumLinkedListLength is not zero, and the number of nodes in the
3221 the FirstEntry and SecondEntry nodes, is greater than or equal to
3242 Removes the node Entry from a doubly linked list. It is up to the caller of
3243 this function to release the memory used by this node if that is required. On
3244 exit, the node following Entry in the doubly linked list is returned. If
3245 Entry is the only node in the linked list, then the head node of the linked
3246 list is returned.
3248 If Entry is NULL, then ASSERT().
3249 If Entry is the head node of an empty list, then ASSERT().
3250 If PcdMaximumLinkedListLength is not zero, and the number of nodes in the
3251 linked list containing Entry, including the Entry node, is greater than
3271 with zeros. The shifted value is returned.
3274 low Count bits are set to zero. The shifted value is returned.
3276 If Count is greater than 63, then ASSERT().
3294 filled with zeros. The shifted value is returned.
3297 high Count bits are set to zero. The shifted value is returned.
3299 If Count is greater than 63, then ASSERT().
3317 with original integer's bit 63. The shifted value is returned.
3320 high Count bits are set to bit 63 of Operand. The shifted value is returned.
3322 If Count is greater than 63, then ASSERT().
3344 value is returned.
3346 If Count is greater than 31, then ASSERT().
3368 value is returned.
3370 If Count is greater than 31, then ASSERT().
3392 value is returned.
3394 If Count is greater than 63, then ASSERT().
3416 value is returned.
3418 If Count is greater than 63, then ASSERT().
3438 value specified by Operand. If Operand is zero, then -1 is returned.
3439 Otherwise, a value between 0 and 31 is returned.
3444 @retval -1 Operand is zero.
3458 value specified by Operand. If Operand is zero, then -1 is returned.
3459 Otherwise, a value between 0 and 63 is returned.
3464 @retval -1 Operand is zero.
3480 value specified by Operand. If Operand is zero, then -1 is returned.
3481 Otherwise, a value between 0 and 31 is returned.
3486 @retval -1 Operand is zero.
3501 value specified by Operand. If Operand is zero, then -1 is returned.
3502 Otherwise, a value between 0 and 63 is returned.
3507 @retval -1 Operand is zero.
3522 specified by Operand. If Operand is zero, then zero is returned.
3527 @retval 0 Operand is zero.
3542 specified by Operand. If Operand is zero, then zero is returned.
3547 @retval 0 Operand is zero.
3561 from little endian to big endian or vice versa. The byte swapped value is
3580 from little endian to big endian or vice versa. The byte swapped value is
3599 from little endian to big endian or vice versa. The byte swapped value is
3620 bit unsigned result is returned.
3642 bit unsigned result is returned.
3664 signed result is returned.
3688 If Divisor is 0, then ASSERT().
3712 If Divisor is 0, then ASSERT().
3734 is not NULL, then the 32-bit unsigned remainder is returned in Remainder.
3737 If Divisor is 0, then ASSERT().
3741 @param Remainder A pointer to a 32-bit unsigned value. This parameter is
3762 is not NULL, then the 64-bit unsigned remainder is returned in Remainder.
3765 If Divisor is 0, then ASSERT().
3769 @param Remainder A pointer to a 64-bit unsigned value. This parameter is
3789 value Divisor and generates a 64-bit signed quotient. If Remainder is not
3790 NULL, then the 64-bit signed remainder is returned in Remainder. This
3793 It is the caller's responsibility to not call this function with a Divisor of 0.
3794 If Divisor is 0, then the quotient and remainder should be assumed to be
3797 If Divisor is 0, then ASSERT().
3801 @param Remainder A pointer to a 64-bit signed value. This parameter is
3822 If the Buffer is NULL, then ASSERT().
3839 This function writes the 16-bit value specified by Value to Buffer. Value is
3843 If the Buffer is NULL, then ASSERT().
3865 If the Buffer is NULL, then ASSERT().
3882 This function writes the 24-bit value specified by Value to Buffer. Value is
3886 If the Buffer is NULL, then ASSERT().
3908 If the Buffer is NULL, then ASSERT().
3925 This function writes the 32-bit value specified by Value to Buffer. Value is
3929 If the Buffer is NULL, then ASSERT().
3951 If the Buffer is NULL, then ASSERT().
3968 This function writes the 64-bit value specified by Value to Buffer. Value is
3972 If the Buffer is NULL, then ASSERT().
3998 If StartBit is greater than 7, then ASSERT().
3999 If EndBit is greater than 7, then ASSERT().
4000 If EndBit is less than StartBit, then ASSERT().
4024 Operand. All other bits in Operand are preserved. The new 8-bit value is
4028 If StartBit is greater than 7, then ASSERT().
4029 If EndBit is greater than 7, then ASSERT().
4030 If EndBit is less than StartBit, then ASSERT().
4031 If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4059 Operand are preserved. The new 8-bit value is returned.
4062 If StartBit is greater than 7, then ASSERT().
4063 If EndBit is greater than 7, then ASSERT().
4064 If EndBit is less than StartBit, then ASSERT().
4065 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4093 preserved. The new 8-bit value is returned.
4096 If StartBit is greater than 7, then ASSERT().
4097 If EndBit is greater than 7, then ASSERT().
4098 If EndBit is less than StartBit, then ASSERT().
4099 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4128 preserved. The new 8-bit value is returned.
4131 If StartBit is greater than 7, then ASSERT().
4132 If EndBit is greater than 7, then ASSERT().
4133 If EndBit is less than StartBit, then ASSERT().
4134 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4135 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4165 If StartBit is greater than 15, then ASSERT().
4166 If EndBit is greater than 15, then ASSERT().
4167 If EndBit is less than StartBit, then ASSERT().
4191 Operand. All other bits in Operand are preserved. The new 16-bit value is
4195 If StartBit is greater than 15, then ASSERT().
4196 If EndBit is greater than 15, then ASSERT().
4197 If EndBit is less than StartBit, then ASSERT().
4198 If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4226 Operand are preserved. The new 16-bit value is returned.
4229 If StartBit is greater than 15, then ASSERT().
4230 If EndBit is greater than 15, then ASSERT().
4231 If EndBit is less than StartBit, then ASSERT().
4232 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4260 preserved. The new 16-bit value is returned.
4263 If StartBit is greater than 15, then ASSERT().
4264 If EndBit is greater than 15, then ASSERT().
4265 If EndBit is less than StartBit, then ASSERT().
4266 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4295 preserved. The new 16-bit value is returned.
4298 If StartBit is greater than 15, then ASSERT().
4299 If EndBit is greater than 15, then ASSERT().
4300 If EndBit is less than StartBit, then ASSERT().
4301 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4302 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4332 If StartBit is greater than 31, then ASSERT().
4333 If EndBit is greater than 31, then ASSERT().
4334 If EndBit is less than StartBit, then ASSERT().
4358 Operand. All other bits in Operand are preserved. The new 32-bit value is
4362 If StartBit is greater than 31, then ASSERT().
4363 If EndBit is greater than 31, then ASSERT().
4364 If EndBit is less than StartBit, then ASSERT().
4365 If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4393 Operand are preserved. The new 32-bit value is returned.
4396 If StartBit is greater than 31, then ASSERT().
4397 If EndBit is greater than 31, then ASSERT().
4398 If EndBit is less than StartBit, then ASSERT().
4399 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4427 preserved. The new 32-bit value is returned.
4430 If StartBit is greater than 31, then ASSERT().
4431 If EndBit is greater than 31, then ASSERT().
4432 If EndBit is less than StartBit, then ASSERT().
4433 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4462 preserved. The new 32-bit value is returned.
4465 If StartBit is greater than 31, then ASSERT().
4466 If EndBit is greater than 31, then ASSERT().
4467 If EndBit is less than StartBit, then ASSERT().
4468 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4469 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4499 If StartBit is greater than 63, then ASSERT().
4500 If EndBit is greater than 63, then ASSERT().
4501 If EndBit is less than StartBit, then ASSERT().
4525 Operand. All other bits in Operand are preserved. The new 64-bit value is
4529 If StartBit is greater than 63, then ASSERT().
4530 If EndBit is greater than 63, then ASSERT().
4531 If EndBit is less than StartBit, then ASSERT().
4532 If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4560 Operand are preserved. The new 64-bit value is returned.
4563 If StartBit is greater than 63, then ASSERT().
4564 If EndBit is greater than 63, then ASSERT().
4565 If EndBit is less than StartBit, then ASSERT().
4566 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4594 preserved. The new 64-bit value is returned.
4597 If StartBit is greater than 63, then ASSERT().
4598 If EndBit is greater than 63, then ASSERT().
4599 If EndBit is less than StartBit, then ASSERT().
4600 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4629 preserved. The new 64-bit value is returned.
4632 If StartBit is greater than 63, then ASSERT().
4633 If EndBit is greater than 63, then ASSERT().
4634 If EndBit is less than StartBit, then ASSERT().
4635 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4636 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
4664 StartBit and EndBit in Operand. The count is returned.
4666 If StartBit is greater than 31, then ASSERT().
4667 If EndBit is greater than 31, then ASSERT().
4668 If EndBit is less than StartBit, then ASSERT().
4692 StartBit and EndBit in Operand. The count is returned.
4694 If StartBit is greater than 63, then ASSERT().
4695 If EndBit is greater than 63, then ASSERT().
4696 If EndBit is less than StartBit, then ASSERT().
4725 The result is returned as UINT8. If Length is Zero, then Zero is
4728 If Buffer is NULL, then ASSERT().
4729 If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
4751 of addition are dropped. Then, the two's complement of the sum is
4752 returned. If Length is 0, then 0 is returned.
4754 If Buffer is NULL, then ASSERT().
4755 If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
4777 The 16-bit result is returned. If Length is 0, then 0 is returned.
4779 If Buffer is NULL, then ASSERT().
4780 If Buffer is not aligned on a 16-bit boundary, then ASSERT().
4781 If Length is not aligned on a 16-bit boundary, then ASSERT().
4782 If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
4804 are dropped. Then, the two's complement of the sum is returned. If Length
4805 is 0, then 0 is returned.
4807 If Buffer is NULL, then ASSERT().
4808 If Buffer is not aligned on a 16-bit boundary, then ASSERT().
4809 If Length is not aligned on a 16-bit boundary, then ASSERT().
4810 If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
4832 The 32-bit result is returned. If Length is 0, then 0 is returned.
4834 If Buffer is NULL, then ASSERT().
4835 If Buffer is not aligned on a 32-bit boundary, then ASSERT().
4836 If Length is not aligned on a 32-bit boundary, then ASSERT().
4837 If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
4859 are dropped. Then, the two's complement of the sum is returned. If Length
4860 is 0, then 0 is returned.
4862 If Buffer is NULL, then ASSERT().
4863 If Buffer is not aligned on a 32-bit boundary, then ASSERT().
4864 If Length is not aligned on a 32-bit boundary, then ASSERT().
4865 If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
4887 The 64-bit result is returned. If Length is 0, then 0 is returned.
4889 If Buffer is NULL, then ASSERT().
4890 If Buffer is not aligned on a 64-bit boundary, then ASSERT().
4891 If Length is not aligned on a 64-bit boundary, then ASSERT().
4892 If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
4914 are dropped. Then, the two's complement of the sum is returned. If Length
4915 is 0, then 0 is returned.
4917 If Buffer is NULL, then ASSERT().
4918 If Buffer is not aligned on a 64-bit boundary, then ASSERT().
4919 If Length is not aligned on a 64-bit boundary, then ASSERT().
4920 If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
4939 If Buffer is NULL, then ASSERT().
4940 If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
4942 @param[in] Buffer A pointer to the buffer on which the 32-bit CRC is to be computed.
4960 Function entry point used when a stack switch is requested with SwitchStack()
4996 If JumpBuffer is NULL, then ASSERT().
4997 For Itanium processors, if JumpBuffer is not aligned on a 16-byte boundary, then ASSERT().
4999 NOTE: The structure BASE_LIBRARY_JUMP_BUFFER is CPU architecture specific.
5002 SetJump()/LongJump() is not currently supported for the EBC processor type.
5021 function never returns to the caller. Instead is resumes execution based on
5024 If JumpBuffer is NULL, then ASSERT().
5025 For Itanium processors, if JumpBuffer is not aligned on a 16-byte boundary, then ASSERT().
5026 If Value is 0, then ASSERT().
5029 @param Value The value to return when the SetJump() context is
5111 InterruptState. If InterruptState is TRUE, then interrupts are enabled. If
5112 InterruptState is FALSE, then interrupts are disabled. InterruptState is
5154 If EntryPoint is NULL, then ASSERT().
5155 If NewStack is NULL, then ASSERT().
5164 @param ... This variable argument list is ignored for IA-32, x64, and
5166 argument list is expected to contain a single parameter of
5624 /// While the type is technically defined as a function type (note: not a
5627 /// never be called. This is also why the EFIAPI calling convention specifier
5628 /// is missing from the typedef, and why the typedef does not follow the usual
5639 If Eax is not NULL, then the value of EAX after CPUID is returned in Eax.
5640 If Ebx is not NULL, then the value of EBX after CPUID is returned in Ebx.
5641 If Ecx is not NULL, then the value of ECX after CPUID is returned in Ecx.
5642 If Edx is not NULL, then the value of EDX after CPUID is returned in Edx.
5643 This function is only available on IA-32 and x64.
5648 instruction. This is an optional parameter that may be NULL.
5650 instruction. This is an optional parameter that may be NULL.
5652 instruction. This is an optional parameter that may be NULL.
5654 instruction. This is an optional parameter that may be NULL.
5675 Index. This function is only available on IA-32 and x64.
5677 If Eax is not NULL, then the value of EAX after CPUID is returned in Eax.
5678 If Ebx is not NULL, then the value of EBX after CPUID is returned in Ebx.
5679 If Ecx is not NULL, then the value of ECX after CPUID is returned in Ecx.
5680 If Edx is not NULL, then the value of EDX after CPUID is returned in Edx.
5687 instruction. This is an optional parameter that may be
5690 instruction. This is an optional parameter that may be
5693 instruction. This is an optional parameter that may be
5696 instruction. This is an optional parameter that may be
5718 and executing a WBINVD instruction. This function is only available on IA-32 and x64.
5732 bits of CR0 to 0. This function is only available on IA-32 and x64.
5746 No parameter checking is performed on Index, and some Index values may cause
5747 CPU exceptions. The caller must either guarantee that Index is valid, or the
5749 is only available on IA-32 and x64.
5769 the MSR is returned. No parameter checking is performed on Index or Value,
5772 handlers. This function is only available on IA-32 and x64.
5795 32-bits of the value written to the MSR is returned. No parameter checking is
5798 must establish proper exception handlers. This function is only available on
5822 the value written to the MSR is returned. No parameter checking is performed
5825 establish proper exception handlers. This function is only available on IA-32
5851 written to the MSR is returned. No parameter checking is performed on Index,
5854 caller must establish proper exception handlers. This function is only
5876 Reads the bit field in the lower 32-bits of a 64-bit MSR. The bit field is
5877 specified by the StartBit and the EndBit. The value of the bit field is
5878 returned. The caller must either guarantee that Index is valid, or the caller
5879 must set up exception handlers to catch the exceptions. This function is only
5882 If StartBit is greater than 31, then ASSERT().
5883 If EndBit is greater than 31, then ASSERT().
5884 If EndBit is less than StartBit, then ASSERT().
5908 field is specified by the StartBit and the EndBit. All other bits in the
5909 destination MSR are preserved. The lower 32-bits of the MSR written is
5911 is valid, or the caller must set up exception handlers to catch the exceptions.
5912 This function is only available on IA-32 and x64.
5914 If StartBit is greater than 31, then ASSERT().
5915 If EndBit is greater than 31, then ASSERT().
5916 If EndBit is less than StartBit, then ASSERT().
5917 If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5947 caller must either guarantee that Index and the data written is valid, or
5949 function is only available on IA-32 and x64.
5951 If StartBit is greater than 31, then ASSERT().
5952 If EndBit is greater than 31, then ASSERT().
5953 If EndBit is less than StartBit, then ASSERT().
5954 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
5984 either guarantee that Index and the data written is valid, or the caller must
5985 set up exception handlers to catch the exceptions. This function is only
5988 If StartBit is greater than 31, then ASSERT().
5989 If EndBit is greater than 31, then ASSERT().
5990 If EndBit is less than StartBit, then ASSERT().
5991 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
6023 that Index and the data written is valid, or the caller must set up exception
6024 handlers to catch the exceptions. This function is only available on IA-32
6027 If StartBit is greater than 31, then ASSERT().
6028 If EndBit is greater than 31, then ASSERT().
6029 If EndBit is less than StartBit, then ASSERT().
6030 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
6031 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
6058 Reads and returns the 64-bit MSR specified by Index. No parameter checking is
6060 caller must either guarantee that Index is valid, or the caller must set up
6061 exception handlers to catch the exceptions. This function is only available
6081 64-bit value written to the MSR is returned. No parameter checking is
6084 must establish proper exception handlers. This function is only available on
6107 result to the 64-bit MSR specified by Index. The value written to the MSR is
6108 returned. No parameter checking is performed on Index or OrData, and some of
6111 This function is only available on IA-32 and x64.
6133 64-bit MSR specified by Index. The value written to the MSR is returned. No
6134 parameter checking is performed on Index or OrData, and some of these may
6137 function is only available on IA-32 and x64.
6161 to the MSR is returned. No parameter checking is performed on Index, AndData,
6164 establish proper exception handlers. This function is only available on IA-32
6186 Reads the bit field in the 64-bit MSR. The bit field is specified by the
6187 StartBit and the EndBit. The value of the bit field is returned. The caller
6188 must either guarantee that Index is valid, or the caller must set up
6189 exception handlers to catch the exceptions. This function is only available
6192 If StartBit is greater than 63, then ASSERT().
6193 If EndBit is greater than 63, then ASSERT().
6194 If EndBit is less than StartBit, then ASSERT().
6217 Writes Value to a bit field in a 64-bit MSR. The bit field is specified by
6219 preserved. The MSR written is returned. The caller must either guarantee
6220 that Index and the data written is valid, or the caller must set up exception
6221 handlers to catch the exceptions. This function is only available on IA-32 and x64.
6223 If StartBit is greater than 63, then ASSERT().
6224 If EndBit is greater than 63, then ASSERT().
6225 If EndBit is less than StartBit, then ASSERT().
6226 If Value is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
6254 result to the 64-bit MSR specified by Index. The value written to the MSR is
6256 guarantee that Index and the data written is valid, or the caller must set up
6257 exception handlers to catch the exceptions. This function is only available
6260 If StartBit is greater than 63, then ASSERT().
6261 If EndBit is greater than 63, then ASSERT().
6262 If EndBit is less than StartBit, then ASSERT().
6263 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
6291 64-bit MSR specified by Index. The value written to the MSR is returned.
6293 that Index and the data written is valid, or the caller must set up exception
6294 handlers to catch the exceptions. This function is only available on IA-32
6297 If StartBit is greater than 63, then ASSERT().
6298 If EndBit is greater than 63, then ASSERT().
6299 If EndBit is less than StartBit, then ASSERT().
6300 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
6330 value written to the MSR is returned. Extra left bits in both AndData and
6332 written is valid, or the caller must set up exception handlers to catch the
6333 exceptions. This function is only available on IA-32 and x64.
6335 If StartBit is greater than 63, then ASSERT().
6336 If EndBit is greater than 63, then ASSERT().
6337 If EndBit is less than StartBit, then ASSERT().
6338 If AndData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
6339 If OrData is larger than the bitmask value range specified by StartBit and EndBit, then ASSERT().
6366 Reads and returns the current value of the EFLAGS register. This function is
6383 Reads and returns the current value of CR0. This function is only available
6400 Reads and returns the current value of CR2. This function is only available
6417 Reads and returns the current value of CR3. This function is only available
6434 Reads and returns the current value of CR4. This function is only available
6451 Writes and returns a new value to CR0. This function is only available on
6469 Writes and returns a new value to CR2. This function is only available on
6487 Writes and returns a new value to CR3. This function is only available on
6505 Writes and returns a new value to CR4. This function is only available on
6523 Reads and returns the current value of DR0. This function is only available
6540 Reads and returns the current value of DR1. This function is only available
6557 Reads and returns the current value of DR2. This function is only available
6574 Reads and returns the current value of DR3. This function is only available
6591 Reads and returns the current value of DR4. This function is only available
6608 Reads and returns the current value of DR5. This function is only available
6625 Reads and returns the current value of DR6. This function is only available
6642 Reads and returns the current value of DR7. This function is only available
6659 Writes and returns a new value to DR0. This function is only available on
6677 Writes and returns a new value to DR1. This function is only available on
6695 Writes and returns a new value to DR2. This function is only available on
6713 Writes and returns a new value to DR3. This function is only available on
6731 Writes and returns a new value to DR4. This function is only available on
6749 Writes and returns a new value to DR5. This function is only available on
6767 Writes and returns a new value to DR6. This function is only available on
6785 Writes and returns a new value to DR7. This function is only available on
6803 Reads and returns the current value of CS. This function is only available on
6819 Reads and returns the current value of DS. This function is only available on
6835 Reads and returns the current value of ES. This function is only available on
6851 Reads and returns the current value of FS. This function is only available on
6867 Reads and returns the current value of GS. This function is only available on
6883 Reads and returns the current value of SS. This function is only available on
6899 Reads and returns the current value of TR. This function is only available on
6916 function is only available on IA-32 and x64.
6918 If Gdtr is NULL, then ASSERT().
6933 Writes and the current GDTR descriptor specified by Gdtr. This function is
6936 If Gdtr is NULL, then ASSERT().
6952 function is only available on IA-32 and x64.
6954 If Idtr is NULL, then ASSERT().
6969 Writes the current IDTR descriptor and returns it in Idtr. This function is
6972 If Idtr is NULL, then ASSERT().
6987 Reads and returns the current 16-bit LDTR descriptor value. This function is
7003 Writes and the current LDTR descriptor specified by Ldtr. This function is
7020 Buffer. Buffer must be aligned on a 16-byte boundary. This function is only
7023 If Buffer is NULL, then ASSERT().
7024 If Buffer is not aligned on a 16-byte boundary, then ASSERT().
7040 by Buffer. Buffer must be aligned on a 16-byte boundary. This function is
7043 If Buffer is NULL, then ASSERT().
7044 If Buffer is not aligned on a 16-byte boundary, then ASSERT().
7060 Reads and returns the current value of MM0. This function is only available
7076 Reads and returns the current value of MM1. This function is only available
7092 Reads and returns the current value of MM2. This function is only available
7108 Reads and returns the current value of MM3. This function is only available
7124 Reads and returns the current value of MM4. This function is only available
7140 Reads and returns the current value of MM5. This function is only available
7156 Reads and returns the current value of MM6. This function is only available
7172 Reads and returns the current value of MM7. This function is only available
7188 Writes the current value of MM0. This function is only available on IA32 and
7204 Writes the current value of MM1. This function is only available on IA32 and
7220 Writes the current value of MM2. This function is only available on IA32 and
7236 Writes the current value of MM3. This function is only available on IA32 and
7252 Writes the current value of MM4. This function is only available on IA32 and
7268 Writes the current value of MM5. This function is only available on IA32 and
7284 Writes the current value of MM6. This function is only available on IA32 and
7300 Writes the current value of MM7. This function is only available on IA32 and
7316 Reads and returns the current value of TSC. This function is only available
7333 Index. This function is only available on IA-32 and x64.
7348 Sets up a monitor buffer that is used by AsmMwait().
7351 and Edx. Returns Eax. This function is only available on IA-32 and x64.
7376 Ecx. Returns Eax. This function is only available on IA-32 and x64.
7397 Executes a WBINVD instruction. This function is only available on IA-32 and
7411 Executes a INVD instruction. This function is only available on IA-32 and
7427 This function is only available on IA-32 and x64.
7429 @param LinearAddress The address of the cache line to flush. If the CPU is
7430 in a physical addressing mode, then LinearAddress is a
7431 physical address. If the CPU is in a virtual
7432 addressing mode, then LinearAddress is a virtual
7449 assumes the current execution mode is 32-bit protected mode. This function is
7450 only available on IA-32. After the 32-bit paging mode is enabled, control is
7456 If the current execution mode is not 32-bit protected mode, then ASSERT().
7457 If EntryPoint is NULL, then ASSERT().
7458 If NewStack is NULL, then ASSERT().
7468 is complete, and those page tables must guarantee that the pages for this
7472 paging is enabled.
7474 function as the first parameter after paging is enabled.
7476 function as the second parameter after paging is enabled.
7478 function after paging is enabled.
7495 mode. This function assumes the current execution mode is 32-paged protected
7496 mode. This function is only available on IA-32. After the 32-bit paging mode
7497 is disabled, control is transferred to the function specified by EntryPoint
7502 If the current execution mode is not 32-bit paged mode, then ASSERT().
7503 If EntryPoint is NULL, then ASSERT().
7504 If NewStack is NULL, then ASSERT().
7515 paging is disabled.
7517 function as the first parameter after paging is disabled.
7519 function as the second parameter after paging is
7522 function after paging is disabled.
7540 assumes the current execution mode is 32-bit protected mode with flat
7541 descriptors. This function is only available on IA-32. After the 64-bit
7542 paging mode is enabled, control is transferred to the function specified by
7547 If the current execution mode is not 32-bit protected mode with flat
7549 If EntryPoint is 0, then ASSERT().
7550 If NewStack is 0, then ASSERT().
7553 is called. The descriptor in the GDT that this selector
7556 the new stack after paging is enabled.
7559 paging is enabled.
7562 paging is enabled.
7564 the EntryPoint function after paging is enabled.
7582 mode. This function assumes the current execution mode is 64-paging mode.
7583 This function is only available on x64. After the 64-bit paging mode is
7584 disabled, control is transferred to the function specified by EntryPoint
7589 If the current execution mode is not 64-bit paged mode, then ASSERT().
7590 If EntryPoint is 0, then ASSERT().
7591 If NewStack is 0, then ASSERT().
7594 is called. The descriptor in the GDT that this selector
7597 the new stack after paging is disabled.
7600 paging is disabled.
7603 paging is disabled.
7605 the EntryPoint function after paging is disabled.
7628 buffer size is returned in RealModeBufferSize, and the stack size is returned
7630 then the actual minimum stack size is ExtraStackSize plus the maximum number
7633 If RealModeBufferSize is NULL, then ASSERT().
7634 If ExtraStackSize is NULL, then ASSERT().
7657 …This interface is limited to be used in either physical mode or virtual modes with paging enabled …
7658 virtual to physical mappings for ThunkContext.RealModeBuffer is mapped 1:1.
7660 If ThunkContext is NULL, then ASSERT().
7677 AsmPrepareThunk16() must be called with ThunkContext before this function is used.
7680 The register state from the RealModeState field of ThunkContext is restored just prior
7682 which is used to set the interrupt state when a 16-bit real mode entry point is called.
7683 …Control is transferred to the 16-bit real mode entry point specified by the CS and Eip fields of R…
7684 The stack is initialized to the SS and ESP fields of RealModeState. Any parameters passed to
7686 The 16-bit real mode entry point is invoked with a 16-bit CALL FAR instruction,
7689 …point must exit with a RETF instruction. The register state is captured into RealModeState immedia…
7690 after the RETF instruction is executed.
7693 …or any of the 16-bit real mode code makes a SW interrupt, then the caller is responsible for makin…
7694 …the IDT at address 0 is initialized to handle any HW or SW interrupts that may occur while in 16-b…
7697 …then the caller is responsible for making sure the 8259 PIC is in a state compatible with 16-bit r…
7700 …If THUNK_ATTRIBUTE_BIG_REAL_MODE is set in the ThunkAttributes field of ThunkContext, then the use…
7701 …is invoked in big real mode. Otherwise, the user code is invoked in 16-bit real mode with 64KB se…
7704 …ThunkAttributes, then it is assumed that the user code did not enable the A20 mask, and no attempt…
7707 …If THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 is set and THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL is…
7711 …If THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15 is clear and THUNK_ATTRIBUTE_DISABLE_A20_MASK_KBD_CTRL …
7714 If ThunkContext is NULL, then ASSERT().
7719 …This interface is limited to be used in either physical mode or virtual modes with paging enabled …
7741 real mode thunk, then it is more efficient if AsmPrepareThunk16() is called
7744 …This interface is limited to be used in either physical mode or virtual modes with paging enabled …
7745 virtual to physical mappings for ThunkContext.RealModeBuffer is mapped 1:1.
7762 if Rand is NULL, then ASSERT().
7779 if Rand is NULL, then ASSERT().
7796 if Rand is NULL, then ASSERT().
7825 Executes a LFENCE instruction. This function is only available on IA-32 and x64.
7836 word, dword or qword operand is encoded at the end of the instruction's
7854 immediate operand to patch is expected to
7856 If InstructionEnd is closer to address 0 than
7860 The caller is responsible for ensuring that