cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

dvb_net.h (2396B)


      1/*
      2 * dvb_net.h
      3 *
      4 * Copyright (C) 2001 Ralph Metzler for convergence integrated media GmbH
      5 *
      6 * This program is free software; you can redistribute it and/or
      7 * modify it under the terms of the GNU Lesser General Public License
      8 * as published by the Free Software Foundation; either version 2.1
      9 * of the License, or (at your option) any later version.
     10 *
     11 * This program is distributed in the hope that it will be useful,
     12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14 * GNU General Public License for more details.
     15 *
     16 */
     17
     18#ifndef _DVB_NET_H_
     19#define _DVB_NET_H_
     20
     21#include <linux/module.h>
     22#include <linux/netdevice.h>
     23#include <linux/inetdevice.h>
     24#include <linux/etherdevice.h>
     25#include <linux/skbuff.h>
     26
     27#include <media/dvbdev.h>
     28
     29#define DVB_NET_DEVICES_MAX 10
     30
     31#ifdef CONFIG_DVB_NET
     32
     33/**
     34 * struct dvb_net - describes a DVB network interface
     35 *
     36 * @dvbdev:		pointer to &struct dvb_device.
     37 * @device:		array of pointers to &struct net_device.
     38 * @state:		array of integers to each net device. A value
     39 *			different than zero means that the interface is
     40 *			in usage.
     41 * @exit:		flag to indicate when the device is being removed.
     42 * @demux:		pointer to &struct dmx_demux.
     43 * @ioctl_mutex:	protect access to this struct.
     44 *
     45 * Currently, the core supports up to %DVB_NET_DEVICES_MAX (10) network
     46 * devices.
     47 */
     48
     49struct dvb_net {
     50	struct dvb_device *dvbdev;
     51	struct net_device *device[DVB_NET_DEVICES_MAX];
     52	int state[DVB_NET_DEVICES_MAX];
     53	unsigned int exit:1;
     54	struct dmx_demux *demux;
     55	struct mutex ioctl_mutex;
     56};
     57
     58/**
     59 * dvb_net_init - nitializes a digital TV network device and registers it.
     60 *
     61 * @adap:	pointer to &struct dvb_adapter.
     62 * @dvbnet:	pointer to &struct dvb_net.
     63 * @dmxdemux:	pointer to &struct dmx_demux.
     64 */
     65int dvb_net_init(struct dvb_adapter *adap, struct dvb_net *dvbnet,
     66		  struct dmx_demux *dmxdemux);
     67
     68/**
     69 * dvb_net_release - releases a digital TV network device and unregisters it.
     70 *
     71 * @dvbnet:	pointer to &struct dvb_net.
     72 */
     73void dvb_net_release(struct dvb_net *dvbnet);
     74
     75#else
     76
     77struct dvb_net {
     78	struct dvb_device *dvbdev;
     79};
     80
     81static inline void dvb_net_release(struct dvb_net *dvbnet)
     82{
     83}
     84
     85static inline int dvb_net_init(struct dvb_adapter *adap,
     86			       struct dvb_net *dvbnet, struct dmx_demux *dmx)
     87{
     88	return 0;
     89}
     90
     91#endif /* ifdef CONFIG_DVB_NET */
     92
     93#endif