summaryrefslogtreecommitdiff
path: root/include/MESA/MESA_list.h
blob: 6ad7c454935ba93990454277329a11591fb4a6d5 (plain)
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
26
27
28
29
30
31
32
33
34
#ifndef _MESA_LIST_H_
#define _MESA_LIST_H_

typedef struct MESA_list{
	struct MESA_list	*nextele;
	struct MESA_list	*preele;
	void *quiddity;
}MESA_list_t;


#ifdef __cplusplus
extern "C"
{
#endif

#define MESA_LIST_VERSION_MACRO  (20150529)
extern const unsigned int MESA_LIST_VERSION_INT;

void MESA_list_init_head(struct MESA_list *head);
int  MESA_list_is_empty(const struct MESA_list *head);
void MESA_list_add(struct MESA_list *head, struct MESA_list *new_list);
void MESA_list_add_tail(struct MESA_list *head, struct MESA_list *new_list);
void MESA_list_del(struct MESA_list *head, struct MESA_list *del_list);
void MESA_list_move(struct MESA_list *head, struct MESA_list *list);
void MESA_list_move_tail(struct MESA_list *head, struct MESA_list *list);
struct MESA_list *MESA_list_join_n(struct MESA_list *head, struct MESA_list *op_place, struct MESA_list *new_obj);
struct MESA_list *MESA_list_join_p(struct MESA_list *head, struct MESA_list *new_obj, struct MESA_list *op_place);

#ifdef __cplusplus
}
#endif

#endif