xref: /OK3568_Linux_fs/kernel/include/uapi/linux/dvb/net.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * net.h
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de>
6*4882a593Smuzhiyun  *                  & Ralph  Metzler <ralph@convergence.de>
7*4882a593Smuzhiyun  *                    for convergence integrated media GmbH
8*4882a593Smuzhiyun  *
9*4882a593Smuzhiyun  * This program is free software; you can redistribute it and/or
10*4882a593Smuzhiyun  * modify it under the terms of the GNU Lesser General Public License
11*4882a593Smuzhiyun  * as published by the Free Software Foundation; either version 2.1
12*4882a593Smuzhiyun  * of the License, or (at your option) any later version.
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  * This program is distributed in the hope that it will be useful,
15*4882a593Smuzhiyun  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16*4882a593Smuzhiyun  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17*4882a593Smuzhiyun  * GNU General Public License for more details.
18*4882a593Smuzhiyun  *
19*4882a593Smuzhiyun  * You should have received a copy of the GNU Lesser General Public License
20*4882a593Smuzhiyun  * along with this program; if not, write to the Free Software
21*4882a593Smuzhiyun  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22*4882a593Smuzhiyun  *
23*4882a593Smuzhiyun  */
24*4882a593Smuzhiyun 
25*4882a593Smuzhiyun #ifndef _DVBNET_H_
26*4882a593Smuzhiyun #define _DVBNET_H_
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun #include <linux/types.h>
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun /**
31*4882a593Smuzhiyun  * struct dvb_net_if - describes a DVB network interface
32*4882a593Smuzhiyun  *
33*4882a593Smuzhiyun  * @pid: Packet ID (PID) of the MPEG-TS that contains data
34*4882a593Smuzhiyun  * @if_num: number of the Digital TV interface.
35*4882a593Smuzhiyun  * @feedtype: Encapsulation type of the feed.
36*4882a593Smuzhiyun  *
37*4882a593Smuzhiyun  * A MPEG-TS stream may contain packet IDs with IP packages on it.
38*4882a593Smuzhiyun  * This struct describes it, and the type of encoding.
39*4882a593Smuzhiyun  *
40*4882a593Smuzhiyun  * @feedtype can be:
41*4882a593Smuzhiyun  *
42*4882a593Smuzhiyun  *	- %DVB_NET_FEEDTYPE_MPE for MPE encoding
43*4882a593Smuzhiyun  *	- %DVB_NET_FEEDTYPE_ULE for ULE encoding.
44*4882a593Smuzhiyun  */
45*4882a593Smuzhiyun struct dvb_net_if {
46*4882a593Smuzhiyun 	__u16 pid;
47*4882a593Smuzhiyun 	__u16 if_num;
48*4882a593Smuzhiyun 	__u8  feedtype;
49*4882a593Smuzhiyun #define DVB_NET_FEEDTYPE_MPE 0	/* multi protocol encapsulation */
50*4882a593Smuzhiyun #define DVB_NET_FEEDTYPE_ULE 1	/* ultra lightweight encapsulation */
51*4882a593Smuzhiyun };
52*4882a593Smuzhiyun 
53*4882a593Smuzhiyun 
54*4882a593Smuzhiyun #define NET_ADD_IF    _IOWR('o', 52, struct dvb_net_if)
55*4882a593Smuzhiyun #define NET_REMOVE_IF _IO('o', 53)
56*4882a593Smuzhiyun #define NET_GET_IF    _IOWR('o', 54, struct dvb_net_if)
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun /* binary compatibility cruft: */
60*4882a593Smuzhiyun struct __dvb_net_if_old {
61*4882a593Smuzhiyun 	__u16 pid;
62*4882a593Smuzhiyun 	__u16 if_num;
63*4882a593Smuzhiyun };
64*4882a593Smuzhiyun #define __NET_ADD_IF_OLD _IOWR('o', 52, struct __dvb_net_if_old)
65*4882a593Smuzhiyun #define __NET_GET_IF_OLD _IOWR('o', 54, struct __dvb_net_if_old)
66*4882a593Smuzhiyun 
67*4882a593Smuzhiyun 
68*4882a593Smuzhiyun #endif /*_DVBNET_H_*/
69