00001 00010 /* (c) 2003 Technische Universitaet Dresden 00011 * This file is part of DROPS, which is distributed under the terms of the 00012 * GNU General Public License 2. Please see the COPYING file for details. 00013 */ 00014 00015 #ifndef SERVER_H 00016 #define SERVER_H 00017 00018 #include "l4/events/events.h" 00019 00022 #define STATIC_MEMORY 00023 00025 #define MALLOC_POOL_ADDR 0x10000000 00026 00027 #define MALLOC_POOL_SIZE 0x00010000 00028 00029 00030 /*****************************************************************************/ 00040 /*****************************************************************************/ 00041 l4_uint8_t 00042 server_register(l4_threadid_t client, 00043 l4events_ch_t event_ch, 00044 l4events_pr_t priority); 00045 00046 /*****************************************************************************/ 00055 /*****************************************************************************/ 00056 l4_uint8_t 00057 server_unregister(l4_threadid_t client, l4events_ch_t event_ch); 00058 00059 /*****************************************************************************/ 00069 /*****************************************************************************/ 00070 l4_uint8_t 00071 server_unregister_all(l4_threadid_t client); 00072 00073 /*****************************************************************************/ 00088 /*****************************************************************************/ 00089 l4_uint8_t 00090 server_send_event(l4_threadid_t client, l4events_ch_t event_ch, 00091 const l4events_event_t *event, int async, int ack); 00092 00093 /*****************************************************************************/ 00107 /*****************************************************************************/ 00108 l4_uint8_t 00109 server_receive_event(l4_threadid_t client, l4events_ch_t *event_ch, 00110 l4events_event_t *event, int ack); 00111 00112 /*****************************************************************************/ 00121 /*****************************************************************************/ 00122 l4_uint8_t 00123 server_give_ack(l4_threadid_t client, l4events_nr_t event_nr); 00124 00125 /*****************************************************************************/ 00134 /*****************************************************************************/ 00135 l4_uint8_t 00136 server_get_ack(l4_threadid_t client, l4events_nr_t event_nr); 00137 00138 /*****************************************************************************/ 00144 /*****************************************************************************/ 00145 l4_uint8_t 00146 server_handle_timeout(void); 00147 00148 /*****************************************************************************/ 00152 /*****************************************************************************/ 00153 void 00154 server_dump(void); 00155 00156 #endif