L4Re Operating System Framework – Interface and Usage Documentation
Loading...
Searching...
No Matches
event_buffer.h
1#pragma once
2/*
3 * (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>
4 * economic rights: Technische Universität Dresden (Germany)
5 *
6 * This file is part of TUD:OS and distributed under the terms of the
7 * GNU General Public License 2.
8 * Please see the COPYING-GPL-2 file for details.
9 *
10 * As a special exception, you may use this file as part of a free software
11 * library without restriction. Specifically, if other files instantiate
12 * templates or use macros or inline functions from this file, or you compile
13 * this file and link it with other files to produce an executable, this
14 * file does not by itself cause the resulting executable to be covered by
15 * the GNU General Public License. This exception does not however
16 * invalidate any other reasons why the executable file might be covered by
17 * the GNU General Public License.
18 */
19
20#include <l4/sys/linkage.h>
21#include <l4/re/c/event.h>
22
24
25typedef struct l4re_event_buffer_consumer_t
26{
27 unsigned long _obj_buf[8];
28} l4re_event_buffer_consumer_t;
29
30L4_CV void
31l4re_event_free(l4re_event_t *e) L4_NOTHROW;
32
33L4_CV long
34l4re_event_buffer_attach(l4re_event_buffer_consumer_t *evbuf,
36
37L4_CV long
38l4re_event_buffer_detach(l4re_event_buffer_consumer_t *evbuf,
40
42l4re_event_buffer_next(l4re_event_buffer_consumer_t *evbuf) L4_NOTHROW;
43
44typedef L4_CV void l4re_event_buffer_cb_t(l4re_event_t *ev, void *data);
45
46L4_CV void
47l4re_event_buffer_consumer_foreach_available_event(l4re_event_buffer_consumer_t *evbuf,
48 void *data, l4re_event_buffer_cb_t *cb);
49
50
51L4_CV void
52l4re_event_buffer_consumer_process(l4re_event_buffer_consumer_t *evbuf,
53 l4_cap_idx_t irq, l4_cap_idx_t thread, void *data,
54 l4re_event_buffer_cb_t *cb);
55
Event C interface.
l4_cap_idx_t l4re_ds_t
Dataspace type.
Definition dataspace.h:39
unsigned long l4_cap_idx_t
Capability selector type.
Definition types.h:358
#define L4_CV
Define calling convention.
Definition linkage.h:44
#define L4_NOTHROW
Mark a function declaration and definition as never throwing an exception.
Definition compiler.h:188
#define EXTERN_C_BEGIN
Start section with C types and functions.
Definition compiler.h:192
#define EXTERN_C_END
End section with C types and functions.
Definition compiler.h:193
Event structure used in buffer.
Definition event.h:41