mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2025-09-16 15:38:01 -04:00
31 lines
731 B
C
31 lines
731 B
C
#ifndef ULIST_H_
|
|
#define ULIST_H_
|
|
|
|
typedef struct Node {
|
|
void* data;
|
|
struct Node* prev;
|
|
struct Node* next;
|
|
} Node;
|
|
|
|
typedef struct Ulist {
|
|
Node* head;
|
|
Node* tail;
|
|
int size;
|
|
} Ulist;
|
|
|
|
Ulist* ulist_create();
|
|
void ulist_destroy(Ulist* list);
|
|
void ulist_push_front(Ulist* list, void* data);
|
|
void ulist_push_back(Ulist* list, void* data);
|
|
void ulist_remove(Ulist *list, Node *node);
|
|
void ulist_remove_front(Ulist* list);
|
|
void ulist_splice(Ulist* list, int n);
|
|
void ulist_remove_back(Ulist* list);
|
|
int ulist_search(Ulist* list, void* data);
|
|
void* ulist_get_front(Ulist* list);
|
|
void* ulist_get_back(Ulist* list);
|
|
int ulist_size(Ulist* list);
|
|
void ulist_print(Ulist* list);
|
|
void ulist_test();
|
|
|
|
#endif /* ULIST_H_ */ |