Xenomai API
2.5.6.1
|
00001 00023 #ifndef __ANALOGY_DRIVER__ 00024 #define __ANALOGY_DRIVER__ 00025 00026 #ifdef __KERNEL__ 00027 00028 #include <linux/list.h> 00029 00030 struct a4l_link_desc; 00031 struct a4l_device; 00032 00037 /* Analogy driver descriptor */ 00038 struct a4l_driver { 00039 00040 /* List stuff */ 00041 struct list_head list; 00044 /* Visible description stuff */ 00045 struct module *owner; 00047 unsigned int flags; 00049 char *board_name; 00051 int privdata_size; 00054 /* Init/destroy procedures */ 00055 int (*attach) (struct a4l_device *, struct a4l_link_desc *); 00057 int (*detach) (struct a4l_device *); 00060 }; 00061 typedef struct a4l_driver a4l_drv_t; 00062 00063 #ifndef DOXYGEN_CPP 00064 00065 /* Driver list related functions */ 00066 00067 int a4l_register_drv(a4l_drv_t * drv); 00068 int a4l_unregister_drv(a4l_drv_t * drv); 00069 int a4l_lct_drv(char *pin, a4l_drv_t ** pio); 00070 #ifdef CONFIG_PROC_FS 00071 int a4l_rdproc_drvs(char *page, 00072 char **start, 00073 off_t off, int count, int *eof, void *data); 00074 #endif /* CONFIG_PROC_FS */ 00075 00076 #endif /* !DOXYGEN_CPP */ 00077 00078 #endif /* __KERNEL__ */ 00079 00080 #endif /* __ANALOGY_DRIVER__ */