Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / drivers / media / video / pvrusb2 / pvrusb2-dvb.h
1 #ifndef __PVRUSB2_DVB_H__
2 #define __PVRUSB2_DVB_H__
3
4 #include "dvb_frontend.h"
5 #include "dvb_demux.h"
6 #include "dvb_net.h"
7 #include "dmxdev.h"
8 #include "pvrusb2-context.h"
9
10 #define PVR2_DVB_BUFFER_COUNT 32
11 #define PVR2_DVB_BUFFER_SIZE PAGE_ALIGN(0x4000)
12
13 struct pvr2_dvb_adapter {
14         struct pvr2_channel     channel;
15
16         struct dvb_adapter      dvb_adap;
17         struct dmxdev           dmxdev;
18         struct dvb_demux        demux;
19         struct dvb_net          dvb_net;
20         struct dvb_frontend     *fe;
21
22         int                     feedcount;
23         int                     max_feed_count;
24
25         struct task_struct      *thread;
26         struct mutex            lock;
27
28         unsigned int            stream_run:1;
29
30         wait_queue_head_t       buffer_wait_data;
31         char                    *buffer_storage[PVR2_DVB_BUFFER_COUNT];
32 };
33
34 struct pvr2_dvb_props {
35         int (*frontend_attach) (struct pvr2_dvb_adapter *);
36         int (*tuner_attach) (struct pvr2_dvb_adapter *);
37 };
38
39 struct pvr2_dvb_adapter *pvr2_dvb_create(struct pvr2_context *pvr);
40
41 #endif /* __PVRUSB2_DVB_H__ */