\r
**/\r
\r
+#include "BaseLibInternals.h"\r
+\r
+/**\r
+ Worker function that locates the Node in the List\r
+\r
+ By searching the List, finds the location of the Node in List. At the same time,\r
+ verifies the validity of this list.\r
+\r
+ If List is NULL, then ASSERT().\r
+ If List->ForwardLink is NULL, then ASSERT().\r
+ If List->backLink is NULL, then ASSERT().\r
+ If Node is NULL, then ASSERT();\r
+ If PcdMaximumLinkedListLenth is not zero, and prior to insertion the number\r
+ of nodes in ListHead, including the ListHead node, is greater than or\r
+ equal to PcdMaximumLinkedListLength, then ASSERT().\r
+\r
+ @param List A pointer to a node in a linked list.\r
+ @param Node A pointer to one nod.\r
+\r
+ @retval TRUE Node is in List\r
+ @retval FALSE Node isn't in List, or List is invalid\r
+\r
+**/\r
BOOLEAN\r
-EFIAPI\r
IsNodeInList (\r
IN CONST LIST_ENTRY *List,\r
IN CONST LIST_ENTRY *Node\r
ASSERT (Node != NULL);\r
\r
Count = PcdGet32 (PcdMaximumLinkedListLength);\r
- if (Count != 0) {\r
- Count++;\r
- }\r
\r
Ptr = List;\r
do {\r
If ListHead is NULL, then ASSERT().\r
If Entry is NULL, then ASSERT().\r
If ListHead was not initialized with InitializeListHead(), then ASSERT().\r
- If PcdMaximumLinkedListLenth is not zero, and ListHead contains more than\r
- PcdMaximumLinkedListLenth nodes, then ASSERT().\r
+ If PcdMaximumLinkedListLenth is not zero, and prior to insertion the number\r
+ of nodes in ListHead, including the ListHead node, is greater than or\r
+ equal to PcdMaximumLinkedListLength, then ASSERT().\r
\r
@param ListHead A pointer to the head node of a doubly linked list.\r
@param Entry A pointer to a node that is to be inserted at the beginning\r
If ListHead is NULL, then ASSERT().\r
If Entry is NULL, then ASSERT().\r
If ListHead was not initialized with InitializeListHead(), then ASSERT().\r
- If PcdMaximumLinkedListLenth is not zero, and ListHead contains more than\r
- PcdMaximumLinkedListLenth nodes, then ASSERT().\r
+ If PcdMaximumLinkedListLenth is not zero, and prior to insertion the number\r
+ of nodes in ListHead, including the ListHead node, is greater than or\r
+ equal to PcdMaximumLinkedListLength, then ASSERT().\r
\r
@param ListHead A pointer to the head node of a doubly linked list.\r
@param Entry A pointer to a node that is to be added at the end of the\r
\r
If List is NULL, then ASSERT().\r
If List was not initialized with InitializeListHead(), then ASSERT().\r
- If PcdMaximumLinkedListLenth is not zero, and List contains more than\r
- PcdMaximumLinkedListLenth nodes, then ASSERT().\r
+ If PcdMaximumLinkedListLenth is not zero, and the number of nodes\r
+ in List, including the List node, is greater than or equal to\r
+ PcdMaximumLinkedListLength, then ASSERT().\r
\r
@param List A pointer to the head node of a doubly linked list.\r
\r
\r
If ListHead is NULL, then ASSERT().\r
If ListHead was not initialized with InitializeListHead(), then ASSERT().\r
- If PcdMaximumLinkedListLenth is not zero, and List contains more than\r
- PcdMaximumLinkedListLenth nodes, then ASSERT().\r
+ If PcdMaximumLinkedListLenth is not zero, and the number of nodes\r
+ in List, including the List node, is greater than or equal to\r
+ PcdMaximumLinkedListLength, then ASSERT().\r
\r
@param ListHead A pointer to the head node of a doubly linked list.\r
\r
If List is NULL, then ASSERT().\r
If Node is NULL, then ASSERT().\r
If List was not initialized with InitializeListHead(), then ASSERT().\r
- If PcdMaximumLinkedListLenth is not zero, and List contains more than\r
- PcdMaximumLinkedListLenth nodes, then ASSERT().\r
+ If PcdMaximumLinkedListLenth is not zero, and the number of nodes\r
+ in List, including the List node, is greater than or equal to\r
+ PcdMaximumLinkedListLength, then ASSERT().\r
If Node is not a node in List and Node is not equal to List, then ASSERT().\r
\r
@param List A pointer to the head node of a doubly linked list.\r
If List is NULL, then ASSERT().\r
If Node is NULL, then ASSERT().\r
If List was not initialized with InitializeListHead(), then ASSERT().\r
- If PcdMaximumLinkedListLenth is not zero, and List contains more than\r
- PcdMaximumLinkedListLenth nodes, then ASSERT().\r
+ If PcdMaximumLinkedListLenth is not zero, and the number of nodes\r
+ in List, including the List node, is greater than or equal to\r
+ PcdMaximumLinkedListLength, then ASSERT().\r
If Node is not a node in List, then ASSERT().\r
\r
@param List A pointer to the head node of a doubly linked list.\r
If FirstEntry is NULL, then ASSERT().\r
If SecondEntry is NULL, then ASSERT().\r
If SecondEntry and FirstEntry are not in the same linked list, then ASSERT().\r
- If PcdMaximumLinkedListLenth is not zero, and the linked list containing\r
- FirstEntry and SecondEntry contains more than PcdMaximumLinkedListLenth\r
- nodes, then ASSERT().\r
+ If PcdMaximumLinkedListLength is not zero, and the number of nodes in the\r
+ linked list containing the FirstEntry and SecondEntry nodes, including\r
+ the FirstEntry and SecondEntry nodes, is greater than or equal to\r
+ PcdMaximumLinkedListLength, then ASSERT().\r
\r
@param FirstEntry A pointer to a node in a linked list.\r
@param SecondEntry A pointer to another node in the same linked list.\r
\r
If Entry is NULL, then ASSERT().\r
If Entry is the head node of an empty list, then ASSERT().\r
- If PcdMaximumLinkedListLenth is not zero, and the linked list containing\r
- Entry contains more than PcdMaximumLinkedListLenth nodes, then ASSERT().\r
+ If PcdMaximumLinkedListLength is not zero, and the number of nodes in the\r
+ linked list containing Entry, including the Entry node, is greater than\r
+ or equal to PcdMaximumLinkedListLength, then ASSERT().\r
\r
@param Entry A pointer to a node in a linked list\r
\r