diff options
| -rw-r--r-- | linked_list.inc | 34 | 
1 files changed, 34 insertions, 0 deletions
diff --git a/linked_list.inc b/linked_list.inc new file mode 100644 index 0000000..76a3956 --- /dev/null +++ b/linked_list.inc @@ -0,0 +1,34 @@ +%ifndef LINKED_LIST_INC +%define LINKED_LIST_INC +%ifndef ALLOC_INC +%include "alloc.inc" +%endif + +struc	LinkedListNode +ll_next:	resq	1 +ll_value:	resq	1 +endstruc + +struc	DoublyLinkedListNode +dll_next:	resq	1 +dll_prev:	resq	1 +dll_value:	resq	1 +endstruc + +%macro	alloc_lln	0 +	alloc	LinkedListNode_size +%endmacro + +%macro	alloc_dlln	0 +	alloc	DoublyLinkedListNode_size +%endmacro + +%macro	free_lln	0-1	rax +	free	%1,	LinkedListNode_size +%endmacro + +%macro	free_dlln	0-1	rax +	free	%1,	DoublyLinkedListNode_size +%endmacro + +%endif  | 
