|
OpENer - Open Source EtherNet/IP(TM) I/O Target Stack
2.1
|
Go to the source code of this file.
Data Structures | |
| struct | doubly_linked_list_node |
| struct | DoublyLinkedList |
Typedefs | |
| typedef struct doubly_linked_list_node | DoublyLinkedListNode |
| typedef DoublyLinkedListNode *(* | NodeMemoryAllocator )() |
| typedef void(* | NodeMemoryDeallocator )(DoublyLinkedListNode **node) |
Functions | |
| void | DoublyLinkedListDestroy (DoublyLinkedList *list) |
| void | DoublyLinkedListInitialize (DoublyLinkedList *list, NodeMemoryAllocator allocator, NodeMemoryDeallocator deallocator) |
| void | DoublyLinkedListInsertAfterNode (DoublyLinkedList *const list, DoublyLinkedListNode *node, void *data) |
| void | DoublyLinkedListInsertAtHead (DoublyLinkedList *const list, void *data) |
| void | DoublyLinkedListInsertAtTail (DoublyLinkedList *const list, const void *const data) |
| void | DoublyLinkedListInsertBeforeNode (DoublyLinkedList *const list, DoublyLinkedListNode *node, void *data) |
| DoublyLinkedListNode * | DoublyLinkedListNodeCreate (const void *const data, NodeMemoryAllocator allocator) |
| void | DoublyLinkedListNodeDestroy (const DoublyLinkedList *const list, DoublyLinkedListNode **node) |
| void | DoublyLinkedListRemoveNode (DoublyLinkedList *const list, DoublyLinkedListNode **pointer_to_node_pointer) |
The public interface for a reference type doubly linked list
Definition in file doublylinkedlist.h.
| typedef struct doubly_linked_list_node DoublyLinkedListNode |
Definition at line 16 of file doublylinkedlist.h.
| typedef DoublyLinkedListNode*(* NodeMemoryAllocator)() |
Definition at line 18 of file doublylinkedlist.h.
| typedef void(* NodeMemoryDeallocator)(DoublyLinkedListNode **node) |
Definition at line 21 of file doublylinkedlist.h.
| void DoublyLinkedListDestroy | ( | DoublyLinkedList * | list | ) |
Definition at line 22 of file doublylinkedlist.c.
References DoublyLinkedList::allocator, DoublyLinkedList::deallocator, DoublyLinkedListNodeDestroy(), DoublyLinkedList::first, DoublyLinkedList::last, and doubly_linked_list_node::next.
| void DoublyLinkedListInitialize | ( | DoublyLinkedList * | list, |
| NodeMemoryAllocator | allocator, | ||
| NodeMemoryDeallocator | deallocator | ||
| ) |
Definition at line 13 of file doublylinkedlist.c.
References DoublyLinkedList::allocator, DoublyLinkedList::deallocator, DoublyLinkedList::first, and DoublyLinkedList::last.
Referenced by main().
| void DoublyLinkedListInsertAfterNode | ( | DoublyLinkedList *const | list, |
| DoublyLinkedListNode * | node, | ||
| void * | data | ||
| ) |
Definition at line 97 of file doublylinkedlist.c.
References DoublyLinkedList::allocator, DoublyLinkedListInsertAtTail(), DoublyLinkedListNodeCreate(), DoublyLinkedList::last, doubly_linked_list_node::next, OPENER_ASSERT, and doubly_linked_list_node::previous.
| void DoublyLinkedListInsertAtHead | ( | DoublyLinkedList *const | list, |
| void * | data | ||
| ) |
Definition at line 51 of file doublylinkedlist.c.
References DoublyLinkedList::allocator, DoublyLinkedListNodeCreate(), DoublyLinkedList::first, DoublyLinkedList::last, doubly_linked_list_node::next, OPENER_ASSERT, and doubly_linked_list_node::previous.
Referenced by AddNewActiveConnection(), and DoublyLinkedListInsertBeforeNode().
| void DoublyLinkedListInsertAtTail | ( | DoublyLinkedList *const | list, |
| const void *const | data | ||
| ) |
Definition at line 66 of file doublylinkedlist.c.
References DoublyLinkedList::allocator, DoublyLinkedListNodeCreate(), DoublyLinkedList::first, DoublyLinkedList::last, doubly_linked_list_node::next, OPENER_ASSERT, and doubly_linked_list_node::previous.
Referenced by DoublyLinkedListInsertAfterNode().
| void DoublyLinkedListInsertBeforeNode | ( | DoublyLinkedList *const | list, |
| DoublyLinkedListNode * | node, | ||
| void * | data | ||
| ) |
Definition at line 81 of file doublylinkedlist.c.
References DoublyLinkedList::allocator, DoublyLinkedListInsertAtHead(), DoublyLinkedListNodeCreate(), DoublyLinkedList::first, doubly_linked_list_node::next, OPENER_ASSERT, and doubly_linked_list_node::previous.
| DoublyLinkedListNode* DoublyLinkedListNodeCreate | ( | const void *const | data, |
| NodeMemoryAllocator | allocator | ||
| ) |
Definition at line 36 of file doublylinkedlist.c.
References doubly_linked_list_node::data.
Referenced by DoublyLinkedListInsertAfterNode(), DoublyLinkedListInsertAtHead(), DoublyLinkedListInsertAtTail(), and DoublyLinkedListInsertBeforeNode().
| void DoublyLinkedListNodeDestroy | ( | const DoublyLinkedList *const | list, |
| DoublyLinkedListNode ** | node | ||
| ) |
Definition at line 45 of file doublylinkedlist.c.
References DoublyLinkedList::deallocator, and OPENER_ASSERT.
Referenced by DoublyLinkedListDestroy(), and DoublyLinkedListRemoveNode().
| void DoublyLinkedListRemoveNode | ( | DoublyLinkedList *const | list, |
| DoublyLinkedListNode ** | pointer_to_node_pointer | ||
| ) |
Definition at line 113 of file doublylinkedlist.c.
References DoublyLinkedListNodeDestroy(), DoublyLinkedList::first, DoublyLinkedList::last, doubly_linked_list_node::next, and doubly_linked_list_node::previous.
Referenced by RemoveFromActiveConnections().