aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/kernel/slist.h
blob: 07b13c56b8545a30ec4ed64840848107b18b3430 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* SList -- simple list for students */
        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 */