| /* Copyright (c) 2009 The Regents of the University of California. |
| * See the COPYRIGHT files at the top of this source tree for full |
| * license information. |
| * |
| * Kevin Klues <klueska@cs.berkeley.edu> |
| */ |
| |
| #pragma once |
| |
| #include <ros/ring_buffer.h> |
| #include <ros/arch/mmu.h> |
| |
| |
| typedef enum { |
| SYS_begofevents, //Should always be first |
| |
| SYS_shared_page_alloc_event, |
| SYS_shared_page_free_event, |
| |
| SYS_endofevents //Should always be last |
| } sysevent_type_t; |
| |
| #define NUM_SYSEVENT_ARGS 6 |
| typedef struct sysevent { |
| sysevent_type_t type; |
| uint32_t args[NUM_SYSEVENT_ARGS]; |
| } sysevent_t; |
| |
| typedef struct sysevent_rsp { |
| int rsp; |
| } sysevent_rsp_t; |
| |
| // Generic Sysevent Ring Buffer |
| #define SYSEVENTRINGSIZE PGSIZE |
| DEFINE_RING_TYPES(sysevent, sysevent_t, sysevent_rsp_t); |