]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/l4util/include/queue.h
Inital import
[l4.git] / l4 / pkg / l4util / include / queue.h
1 /**
2  * \file
3  * \brief Queue
4  */
5 /*
6  * (c) 2008-2009 Technische Universität Dresden
7  * This file is part of TUD:OS and distributed under the terms of the
8  * GNU Lesser General Public License 2.1.
9  * Please see the COPYING-LGPL-2.1 file for details.
10  */
11 #ifndef __L4UTIL_QUEUE_H__
12 #define __L4UTIL_QUEUE_H__
13
14 #include <l4/sys/types.h>
15 #include <l4/sys/ipc.h>
16
17 EXTERN_C_BEGIN
18
19 struct l4util_buffer_head
20 {
21   l4_threadid_t src;
22   l4_uint32_t   len;
23   char          *buffer;
24 };
25
26 L4_CV int l4util_queue_dequeue(struct l4util_buffer_head **buffer);
27
28 L4_CV int l4util_queue_init(int queue_threadno,
29                             void *(*malloc_func)(l4_uint32_t size),
30                             l4_uint32_t max_rcv);
31
32 EXTERN_C_END
33
34 #endif /* !__L4UTIL_QUEUE_H__ */