linked_lists.rst (1014B)
1 This chapter describes the NSPR API for managing linked lists. The API 2 is a set of macros for initializing a circular (doubly linked) list, 3 inserting and removing elements from the list. The macros are not thread 4 safe. The caller must provide for mutually-exclusive access to the list, 5 and for the nodes being added and removed from the list. 6 7 - `Linked List Types <#Linked_List_Types>`__ 8 - `Linked List Macros <#Linked_List_Macros>`__ 9 10 .. _Linked_List_Types: 11 12 Linked List Types 13 ----------------- 14 15 The :ref:`PRCList` type represents a circular linked list. 16 17 .. _Linked_List_Macros: 18 19 Linked List Macros 20 ------------------ 21 22 Macros that create and operate on linked lists are: 23 24 - :ref:`PR_INIT_CLIST` 25 - :ref:`PR_INIT_STATIC_CLIST` 26 - :ref:`PR_APPEND_LINK` 27 - :ref:`PR_INSERT_LINK` 28 - :ref:`PR_NEXT_LINK` 29 - :ref:`PR_PREV_LINK` 30 - :ref:`PR_REMOVE_LINK` 31 - :ref:`PR_REMOVE_AND_INIT_LINK` 32 - :ref:`PR_INSERT_BEFORE` 33 - :ref:`PR_INSERT_AFTER` 34 - :ref:`PR_CLIST_IS_EMPTY` 35 - :ref:`PR_LIST_HEAD` 36 - :ref:`PR_LIST_TAIL`