Annotation of margi2/dvbdev.h, revision 1.6
1.1 mocm 1: /*
2: * dvbdev.h
3: *
4: * Copyright (C) 2000 Ralph Metzler <ralph@convergence.de>
5: * & Marcus Metzler <marcus@convergence.de>
6: for convergence integrated media GmbH
7: *
8: * This program is free software; you can redistribute it and/or
9: * modify it under the terms of the GNU General Lesser Public License
10: * as published by the Free Software Foundation; either version 2.1
11: * of the License, or (at your option) any later version.
12: *
13: * This program is distributed in the hope that it will be useful,
14: * but WITHOUT ANY WARRANTY; without even the implied warranty of
15: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16: * GNU General Public License for more details.
17: *
18: * You should have received a copy of the GNU Lesser General Public License
19: * along with this program; if not, write to the Free Software
20: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21: *
22: */
23:
24: #ifndef _DVBDEV_H_
25: #define _DVBDEV_H_
26:
27: #include <linux/types.h>
28: #include <linux/version.h>
29: #include <linux/poll.h>
30: #include <linux/devfs_fs_kernel.h>
31:
32: #define DVB_NUM_DEVICES 16
33:
34: struct dvb_device
35: {
36: char name[32];
37: int type;
38: int hardware;
39:
40: void *priv;
41: int minor;
42: devfs_handle_t devfs_handle;
43:
44: int (*open)(struct dvb_device *, int, struct inode *, struct file *);
45: int (*close)(struct dvb_device *, int, struct inode *, struct file *);
46: ssize_t (*read)(struct dvb_device *, int, struct file *, char *,
47: size_t, loff_t *);
48: ssize_t (*write)(struct dvb_device *, int, struct file *, const char *,
49: size_t, loff_t *);
50: int (*ioctl)(struct dvb_device *, int, struct file *,
51: unsigned int , unsigned long);
52: unsigned int (*poll)(struct dvb_device *, int type,
53: struct file *file, poll_table * wait);
54:
55: int (*device_type)(struct dvb_device *, unsigned int device_num);
1.6 ! mocm 56: #define DVB_DEVICE_VIDEO_0 0
! 57: #define DVB_DEVICE_AUDIO_0 4
! 58: #define DVB_DEVICE_SEC_0 8
! 59: #define DVB_DEVICE_FRONTEND_0 12
! 60: #define DVB_DEVICE_DEMUX_0 16
! 61: #define DVB_DEVICE_DEMUX_1 17
! 62: #define DVB_DEVICE_DEMUX_2 18
! 63: #define DVB_DEVICE_DEMUX_3 19
! 64: #define DVB_DEVICE_DVR_0 20
! 65: #define DVB_DEVICE_CA_0 24
! 66: #define DVB_DEVICE_NET_0 28
! 67: #define DVB_DEVICE_OSD_0 32
1.1 mocm 68: devfs_handle_t devfsh;
69: };
70:
71: typedef struct dvb_device dvb_device_t;
72:
73: int dvb_register_device(struct dvb_device *);
74: void dvb_unregister_device(struct dvb_device *);
75:
76: #endif /* #ifndef __DVBDEV_H */
LinuxTV legacy CVS <linuxtv.org/cvs>