11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * dvb_net.h
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Copyright (C) 2001 Ralph Metzler for convergence integrated media GmbH
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * This program is free software; you can redistribute it and/or
71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * modify it under the terms of the GNU Lesser General Public License
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * as published by the Free Software Foundation; either version 2.1
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * of the License, or (at your option) any later version.
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * This program is distributed in the hope that it will be useful,
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * but WITHOUT ANY WARRANTY; without even the implied warranty of
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * GNU General Public License for more details.
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * You should have received a copy of the GNU Lesser General Public License
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * along with this program; if not, write to the Free Software
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef _DVB_NET_H_
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define _DVB_NET_H_
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/module.h>
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/netdevice.h>
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/inetdevice.h>
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/etherdevice.h>
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/skbuff.h>
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include "dvbdev.h"
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define DVB_NET_DEVICES_MAX 10
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
35a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky#ifdef CONFIG_DVB_NET
36a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky
371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsstruct dvb_net {
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	struct dvb_device *dvbdev;
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	struct net_device *device[DVB_NET_DEVICES_MAX];
401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	int state[DVB_NET_DEVICES_MAX];
412c4d336468b400f9a47d6c1785d230548b89ca24Markus Rechberger	unsigned int exit:1;
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	struct dmx_demux *demux;
4330ad64b8ac539459f8975aa186421ef3db0bb5cbNikolaus Schulz	struct mutex ioctl_mutex;
441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds};
451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsvoid dvb_net_release(struct dvb_net *);
471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsint  dvb_net_init(struct dvb_adapter *, struct dvb_net *, struct dmx_demux *);
481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
49fcc8e7d8c0e228cf032de0df049a91d5d2bfd0e9Mauro Carvalho Chehab#else
50a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky
51a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selaskystruct dvb_net {
52fcc8e7d8c0e228cf032de0df049a91d5d2bfd0e9Mauro Carvalho Chehab	struct dvb_device *dvbdev;
53a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky};
54a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky
55a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selaskystatic inline void dvb_net_release(struct dvb_net *dvbnet)
56a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky{
57a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky}
58a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky
59a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selaskystatic inline int dvb_net_init(struct dvb_adapter *adap,
60a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky			       struct dvb_net *dvbnet, struct dmx_demux *dmx)
61a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky{
62a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky	return 0;
63a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky}
64a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky
65fcc8e7d8c0e228cf032de0df049a91d5d2bfd0e9Mauro Carvalho Chehab#endif /* ifdef CONFIG_DVB_NET */
66a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky
67a34ff6cdbb464b3e37f0cbb6b0cff9dab4ee057bHans Petter Selasky#endif
68