Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/external/enet/list.h @ 12219

Last change on this file since 12219 was 7459, checked in by adrfried, 14 years ago

Merged ipv6 branch

Orxonox now includes a modified version of ENet 1.3.0

  • Property svn:eol-style set to native
File size: 1.1 KB
Line 
1/**
2 @file  list.h
3 @brief ENet list management
4*/
5#ifndef __ENET_LIST_H__
6#define __ENET_LIST_H__
7
8#include <stdlib.h>
9
10typedef struct _ENetListNode
11{
12   struct _ENetListNode * next;
13   struct _ENetListNode * previous;
14} ENetListNode;
15
16typedef ENetListNode * ENetListIterator;
17
18typedef struct _ENetList
19{
20   ENetListNode sentinel;
21} ENetList;
22
23extern void enet_list_clear (ENetList *);
24
25extern ENetListIterator enet_list_insert (ENetListIterator, void *);
26extern void * enet_list_remove (ENetListIterator);
27extern ENetListIterator enet_list_move (ENetListIterator, void *, void *);
28
29extern size_t enet_list_size (ENetList *);
30
31#define enet_list_begin(list) ((list) -> sentinel.next)
32#define enet_list_end(list) (& (list) -> sentinel)
33
34#define enet_list_empty(list) (enet_list_begin (list) == enet_list_end (list))
35
36#define enet_list_next(iterator) ((iterator) -> next)
37#define enet_list_previous(iterator) ((iterator) -> previous)
38
39#define enet_list_front(list) ((void *) (list) -> sentinel.next)
40#define enet_list_back(list) ((void *) (list) -> sentinel.previous)
41
42#endif /* __ENET_LIST_H__ */
43
Note: See TracBrowser for help on using the repository browser.