Fixed up ivy annotations on the new structure supporting page_coloring.
[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/error.h>
12 #include <ros/ring_buffer.h>
13
14 typedef enum {
15         SYS_begofevents, //Should always be first
16         
17         SYS_shared_page_alloc_event, 
18         SYS_shared_page_free_event, 
19
20         SYS_endofevents //Should always be last
21 } sysevent_type_t;
22
23 #define NUM_SYSEVENT_ARGS 6
24 typedef struct sysevent {
25         sysevent_type_t type;
26         uint32_t args[NUM_SYSEVENT_ARGS];
27 } sysevent_t;
28
29 typedef struct sysevent_rsp {
30         error_t rsp;
31 } sysevent_rsp_t;
32
33 // Generic Sysevent Ring Buffer
34 #define SYSEVENTRINGSIZE    PGSIZE
35 DEFINE_RING_TYPES_WITH_SIZE(sysevent, sysevent_t, sysevent_rsp_t, SYSEVENTRINGSIZE);
36
37 #endif //ROS_SYSEVENT_H
38