usb compatibility improvements (rodries)
[libogc.git] / gc / ogc / lwp_queue.h
blob4f6993c2f6e9ee406531157b21547cdf5a1566ab
1 #ifndef __LWP_QUEUE_H__
2 #define __LWP_QUEUE_H__
4 #include <gctypes.h>
6 //#define _LWPQ_DEBUG
8 #ifdef _LWPQ_DEBUG
9 extern int printk(const char *fmt,...);
10 #endif
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
16 typedef struct _lwpnode {
17 struct _lwpnode *next;
18 struct _lwpnode *prev;
19 } lwp_node;
21 typedef struct _lwpqueue {
22 lwp_node *first;
23 lwp_node *perm_null;
24 lwp_node *last;
25 } lwp_queue;
27 void __lwp_queue_initialize(lwp_queue *,void *,u32,u32);
28 lwp_node* __lwp_queue_get(lwp_queue *);
29 void __lwp_queue_append(lwp_queue *,lwp_node *);
30 void __lwp_queue_extract(lwp_node *);
31 void __lwp_queue_insert(lwp_node *,lwp_node *);
33 #ifdef LIBOGC_INTERNAL
34 #include <libogc/lwp_queue.inl>
35 #endif
37 #ifdef __cplusplus
39 #endif
41 #endif