00001 /* $Id: io.h 30907 2008-01-04 16:09:11Z adam $ */ 00002 /*****************************************************************************/ 00011 /* (c) 2003 Technische Universitaet Dresden 00012 * This file is part of DROPS, which is distributed under the terms of the 00013 * GNU General Public License 2. Please see the COPYING file for details. 00014 */ 00015 00016 #ifndef __L4IO_SERVER_INCLUDE_IO_H_ 00017 #define __L4IO_SERVER_INCLUDE_IO_H_ 00018 00019 /* L4 includes */ 00020 #include <l4/sys/types.h> 00021 #include <l4/generic_io/types.h> 00022 00023 /* FIXME !!! see also libio implementation */ 00024 #define IO_NAMES_STR "io" 00028 typedef struct io_client 00029 { 00030 struct io_client *next; 00031 l4_threadid_t c_l4id; 00032 char name[16]; 00033 l4io_drv_t drv; 00034 } io_client_t; 00035 00039 extern l4io_info_t io_info; 00040 00050 extern __inline__ int client_equal(io_client_t *c0, io_client_t *c1); 00051 00052 extern __inline__ int client_equal(io_client_t *c0, io_client_t *c1) 00053 { 00054 return l4_tasknum_equal(c0->c_l4id, c1->c_l4id); 00055 } 00056 00057 00059 extern int io_static_cfg_init(l4io_info_t *info, const char *requested_platform); 00060 00061 00063 extern int io_ux_init(void); 00064 00065 #endif