Table A.2.16 defines the NDIS interface library non-interlocked list manipulation functions that the driver must protect with a spin lock. These functions are actually macros that use a LIST_ENTRY structure. They do not interlock operations with spin locks.
Table A.2.16 Noninterlocked List Manipulation Functions
| Function | Definition | 
| InitializeListHead | Initializes a linked list head structure. | 
| InsertHeadList | Inserts a structure at the head of a linked list. | 
| InsertTailList | Inserts a structure at the tail of a linked list. | 
| IsListEmpty | Determines if a linked list is empty. | 
| RemoveEntryList | Removes a structure from a linked list. | 
| RemoveHeadList | Removes a structure from the head of a linked list. |