We never actually removed <ros/error.h>, now we do
[akaros.git] / kern / include / ros / sysevent.h
1 /* Copyright (c) 2009 The Regents of the University of California. 
2  * See the COPYRIGHT files at the top of this source tree for full 
3  * license information.
4  * 
5  * Kevin Klues <klueska@cs.berkeley.edu>    
6  */
7
8 #ifndef ROS_SYSEVENT_H
9 #define ROS_SYSEVENT_H
10
11 #include <ros/ring_buffer.h>
12
13 typedef enum {
14         SYS_begofevents, //Should always be first
15         
16         SYS_shared_page_alloc_event, 
17         SYS_shared_page_free_event, 
18
19         SYS_endofevents //Should always be last
20 } sysevent_type_t;
21
22 #define NUM_SYSEVENT_ARGS 6
23 typedef struct sysevent {
24         sysevent_type_t type;
25         uint32_t args[NUM_SYSEVENT_ARGS];
26 } sysevent_t;
27
28 typedef struct sysevent_rsp {
29         int rsp;
30 } sysevent_rsp_t;
31
32 // Generic Sysevent Ring Buffer
33 #define SYSEVENTRINGSIZE    PGSIZE
34 DEFINE_RING_TYPES_WITH_SIZE(sysevent, sysevent_t, sysevent_rsp_t, SYSEVENTRINGSIZE);
35
36 #endif //ROS_SYSEVENT_H
37