00001 #ifndef __DRIVERS_DRIVER_H__ 00002 #define __DRIVERS_DRIVER_H__ 00003 00004 #include <cartcomm/cframe.h> 00005 00007 typedef int (*drivefunc_t)(cframe_t *, void *); 00008 typedef void *(*allocfunc_t)(void); 00009 typedef void (*freefunc_t)(void *); 00010 00011 typedef struct { 00012 char *name; 00013 drivefunc_t drive; 00014 allocfunc_t alloc; 00015 freefunc_t free; 00016 } driver_t; 00017 00018 #include <drivers/eight.h> 00019 #include <drivers/null.h> 00020 #include <drivers/rosetta.h> 00021 #include <drivers/square.h> 00022 #include <drivers/straight.h> 00023 00024 extern const driver_t drivers[]; 00025 00026 #endif