File: gqueue.h

package info (click to toggle)
entity 0.7.2-6
  • links: PTS
  • area: main
  • in suites: woody
  • size: 5,352 kB
  • ctags: 5,272
  • sloc: ansic: 61,707; sh: 7,921; makefile: 732; perl: 399
file content (54 lines) | stat: -rw-r--r-- 1,337 bytes parent folder | download | duplicates (3)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <glib.h>

#if GLIB_MAJOR_VERSION == 1 && GLIB_MINOR_VERSION < 3
typedef struct _GQueue		GQueue;
typedef struct _GTrashStack     GTrashStack;

struct _GTrashStack
{
  GTrashStack *next;
};

/* Trash Stacks
 * elements need to be >= sizeof (gpointer)
 */
void	g_trash_stack_push	(GTrashStack **stack_p,
				 gpointer      data_p);

gpointer	g_trash_stack_pop	(GTrashStack **stack_p);


gpointer	g_trash_stack_peek	(GTrashStack **stack_p);


guint	g_trash_stack_height	(GTrashStack **stack_p);


struct _GQueue
{
  GList *head;
  GList *tail;
  guint  length;
};

/* Queues
 */
GQueue*  g_queue_create         (void);
void     g_queue_free           (GQueue  *queue);
void     g_queue_push_head      (GQueue  *queue,
				 gpointer data);
void     g_queue_push_tail      (GQueue  *queue,
				 gpointer data);
gpointer g_queue_pop_head       (GQueue  *queue);
gpointer g_queue_pop_tail       (GQueue  *queue);
gboolean g_queue_is_empty       (GQueue  *queue);
gpointer g_queue_peek_head      (GQueue  *queue);
gpointer g_queue_peek_tail      (GQueue  *queue);
void     g_queue_push_head_link (GQueue  *queue,
				 GList   *link);
void     g_queue_push_tail_link (GQueue  *queue,
				 GList   *link);
GList*   g_queue_pop_head_link  (GQueue  *queue);
GList*   g_queue_pop_tail_link  (GQueue  *queue);

#endif /* GLIB_VERSION < 1.3 */