From d4522b8e9854178473adcea0fbb84f23f6e744bd Mon Sep 17 00:00:00 2001 From: Felipe Boeira Date: Tue, 8 Jan 2019 18:39:03 +0100 Subject: Initial commit --- src/lib/kernel/slist.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/lib/kernel/slist.h (limited to 'src/lib/kernel/slist.h') diff --git a/src/lib/kernel/slist.h b/src/lib/kernel/slist.h new file mode 100644 index 0000000..708105f --- /dev/null +++ b/src/lib/kernel/slist.h @@ -0,0 +1,27 @@ +/* SList -- simple list for students. + * This list was not originally in the pintos implementation. + */ +typedef void * ListElement; + +#ifndef _SList_H +#define _SList_H + +struct Node; +typedef struct Node *PtrToNode; +typedef PtrToNode SList; +typedef PtrToNode Position; + +SList MakeEmpty( SList L ); +int IsEmpty( SList L ); +int IsLast( Position P, SList L); +Position Find( ListElement X, SList L ); +void Delete( ListElement X, SList L ); +Position FindPrevious( ListElement X, SList L ); +void Insert( ListElement X, SList L, Position P ); +void DeleteList( SList L ); +Position Header( SList L ); +Position First( SList L ); +Position Advance( Position P ); +ListElement Retrieve( Position P ); + +#endif /* _SList_H */ -- cgit v1.2.1