2005-04-17 02:20:36 +04:00
# include <dvbdev.h>
# include <dmxdev.h>
# include <dvb_demux.h>
# include <dvb_net.h>
# include <dvb_frontend.h>
2011-05-23 19:10:40 +04:00
# ifndef _VIDEOBUF_DVB_H_
# define _VIDEOBUF_DVB_H_
2005-04-17 02:20:36 +04:00
struct videobuf_dvb {
/* filling that the job of the driver */
char * name ;
struct dvb_frontend * frontend ;
struct videobuf_queue dvbq ;
/* video-buf-dvb state info */
2006-02-07 11:49:14 +03:00
struct mutex lock ;
2005-04-17 02:20:36 +04:00
struct task_struct * thread ;
int nfeeds ;
/* videobuf_dvb_(un)register manges this */
struct dvb_demux demux ;
struct dmxdev dmxdev ;
struct dmx_frontend fe_hw ;
struct dmx_frontend fe_mem ;
struct dvb_net net ;
} ;
2008-10-11 18:05:50 +04:00
struct videobuf_dvb_frontend {
struct list_head felist ;
int id ;
struct videobuf_dvb dvb ;
} ;
struct videobuf_dvb_frontends {
2008-10-15 20:43:41 +04:00
struct list_head felist ;
2008-10-11 18:05:50 +04:00
struct mutex lock ;
struct dvb_adapter adapter ;
int active_fe_id ; /* Indicates which frontend in the felist is in use */
2008-10-11 18:31:41 +04:00
int gate ; /* Frontend with gate control 0=!MFE,1=fe0,2=fe1 etc */
2008-10-11 18:05:50 +04:00
} ;
int videobuf_dvb_register_bus ( struct videobuf_dvb_frontends * f ,
2005-04-17 02:20:36 +04:00
struct module * module ,
2006-04-10 16:27:37 +04:00
void * adapter_priv ,
2008-04-10 02:13:13 +04:00
struct device * device ,
2008-10-11 18:44:05 +04:00
short * adapter_nr ,
2012-08-05 21:16:30 +04:00
int mfe_shared ) ;
2008-10-11 18:05:50 +04:00
void videobuf_dvb_unregister_bus ( struct videobuf_dvb_frontends * f ) ;
2008-10-16 03:26:34 +04:00
struct videobuf_dvb_frontend * videobuf_dvb_alloc_frontend ( struct videobuf_dvb_frontends * f , int id ) ;
2008-10-21 18:28:46 +04:00
void videobuf_dvb_dealloc_frontends ( struct videobuf_dvb_frontends * f ) ;
2008-10-11 18:05:50 +04:00
struct videobuf_dvb_frontend * videobuf_dvb_get_frontend ( struct videobuf_dvb_frontends * f , int id ) ;
int videobuf_dvb_find_frontend ( struct videobuf_dvb_frontends * f , struct dvb_frontend * p ) ;
2011-05-23 19:10:40 +04:00
# endif /* _VIDEOBUF_DVB_H_ */
2005-04-17 02:20:36 +04:00
/*
* Local variables :
* c - basic - offset : 8
* End :
*/