videobuf-dvb.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #include <dvbdev.h>
  2. #include <dmxdev.h>
  3. #include <dvb_demux.h>
  4. #include <dvb_net.h>
  5. #include <dvb_frontend.h>
  6. struct videobuf_dvb {
  7. /* filling that the job of the driver */
  8. char *name;
  9. struct dvb_frontend *frontend;
  10. struct videobuf_queue dvbq;
  11. /* video-buf-dvb state info */
  12. struct mutex lock;
  13. struct task_struct *thread;
  14. int nfeeds;
  15. /* videobuf_dvb_(un)register manges this */
  16. struct dvb_demux demux;
  17. struct dmxdev dmxdev;
  18. struct dmx_frontend fe_hw;
  19. struct dmx_frontend fe_mem;
  20. struct dvb_net net;
  21. };
  22. struct videobuf_dvb_frontend {
  23. struct list_head felist;
  24. int id;
  25. struct videobuf_dvb dvb;
  26. };
  27. struct videobuf_dvb_frontends {
  28. struct list_head felist;
  29. struct mutex lock;
  30. struct dvb_adapter adapter;
  31. int active_fe_id; /* Indicates which frontend in the felist is in use */
  32. int gate; /* Frontend with gate control 0=!MFE,1=fe0,2=fe1 etc */
  33. };
  34. int videobuf_dvb_register_bus(struct videobuf_dvb_frontends *f,
  35. struct module *module,
  36. void *adapter_priv,
  37. struct device *device,
  38. short *adapter_nr,
  39. int mfe_shared);
  40. void videobuf_dvb_unregister_bus(struct videobuf_dvb_frontends *f);
  41. struct videobuf_dvb_frontend * videobuf_dvb_alloc_frontend(struct videobuf_dvb_frontends *f, int id);
  42. void videobuf_dvb_dealloc_frontends(struct videobuf_dvb_frontends *f);
  43. struct videobuf_dvb_frontend * videobuf_dvb_get_frontend(struct videobuf_dvb_frontends *f, int id);
  44. int videobuf_dvb_find_frontend(struct videobuf_dvb_frontends *f, struct dvb_frontend *p);
  45. /*
  46. * Local variables:
  47. * c-basic-offset: 8
  48. * End:
  49. */