Provides string functions, linked list functions, math functions, synchronization\r
functions, and CPU architecture-specific functions.\r
\r
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved<BR>\r
-Portions copyright (c) 2008-2009 Apple Inc. All rights reserved.<BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
+This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
http://opensource.org/licenses/bsd-license.php.\r
to the ASCII string Destination by copying the lower 8 bits of\r
each Unicode character. It returns Destination.\r
\r
+ The caller is responsible to make sure Destination points to a buffer with size\r
+ equal or greater than ((StrLen (Source) + 1) * sizeof (CHAR8)) in bytes.\r
+\r
If any Unicode characters in Source contain non-zero value in\r
the upper 8 bits, then ASSERT().\r
\r
@param List A pointer to the head node of a doubly linked list.\r
@param Node A pointer to a node in the doubly linked list.\r
\r
- @retval TRUE Node is one of the nodes in the doubly linked list.\r
- @retval FALSE Node is not one of the nodes in the doubly linked list.\r
+ @retval TRUE Node is the head of the doubly-linked list pointed by List.\r
+ @retval FALSE Node is not the head of the doubly-linked list pointed by List.\r
\r
**/\r
BOOLEAN\r
UINTN UintN;\r
} IA32_CR4;\r
\r
+///\r
+/// Byte packed structure for a segment descriptor in a GDT/LDT.\r
+///\r
+typedef union {\r
+ struct {\r
+ UINT32 LimitLow:16;\r
+ UINT32 BaseLow:16;\r
+ UINT32 BaseMid:8;\r
+ UINT32 Type:4;\r
+ UINT32 S:1;\r
+ UINT32 DPL:2;\r
+ UINT32 P:1;\r
+ UINT32 LimitHigh:4;\r
+ UINT32 AVL:1;\r
+ UINT32 L:1;\r
+ UINT32 DB:1;\r
+ UINT32 G:1;\r
+ UINT32 BaseHigh:8;\r
+ } Bits;\r
+ UINT64 Uint64;\r
+} IA32_SEGMENT_DESCRIPTOR;\r
+\r
///\r
/// Byte packed structure for an IDTR, GDTR, LDTR descriptor.\r
///\r