xref: /linux-6.15/include/uapi/linux/dvb/net.h (revision 8478afa8)
1*e2be04c7SGreg Kroah-Hartman /* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
2c57fd021SDavid Howells /*
3c57fd021SDavid Howells  * net.h
4c57fd021SDavid Howells  *
5c57fd021SDavid Howells  * Copyright (C) 2000 Marcus Metzler <[email protected]>
6c57fd021SDavid Howells  *                  & Ralph  Metzler <[email protected]>
7c57fd021SDavid Howells  *                    for convergence integrated media GmbH
8c57fd021SDavid Howells  */
9c57fd021SDavid Howells 
10c57fd021SDavid Howells #ifndef _DVBNET_H_
11c57fd021SDavid Howells #define _DVBNET_H_
12c57fd021SDavid Howells 
13c57fd021SDavid Howells #include <linux/types.h>
14c57fd021SDavid Howells 
1556d51b65SMauro Carvalho Chehab /**
1656d51b65SMauro Carvalho Chehab  * struct dvb_net_if - describes a DVB network interface
1756d51b65SMauro Carvalho Chehab  *
1856d51b65SMauro Carvalho Chehab  * @pid: Packet ID (PID) of the MPEG-TS that contains data
1956d51b65SMauro Carvalho Chehab  * @if_num: number of the Digital TV interface.
2056d51b65SMauro Carvalho Chehab  * @feedtype: Encapsulation type of the feed.
2156d51b65SMauro Carvalho Chehab  *
2256d51b65SMauro Carvalho Chehab  * A MPEG-TS stream may contain packet IDs with IP packages on it.
2356d51b65SMauro Carvalho Chehab  * This struct describes it, and the type of encoding.
2456d51b65SMauro Carvalho Chehab  *
2556d51b65SMauro Carvalho Chehab  * @feedtype can be:
2656d51b65SMauro Carvalho Chehab  *
2756d51b65SMauro Carvalho Chehab  *	- %DVB_NET_FEEDTYPE_MPE for MPE encoding
2856d51b65SMauro Carvalho Chehab  *	- %DVB_NET_FEEDTYPE_ULE for ULE encoding.
2956d51b65SMauro Carvalho Chehab  */
30c57fd021SDavid Howells struct dvb_net_if {
31c57fd021SDavid Howells 	__u16 pid;
32c57fd021SDavid Howells 	__u16 if_num;
33c57fd021SDavid Howells 	__u8  feedtype;
34c57fd021SDavid Howells #define DVB_NET_FEEDTYPE_MPE 0	/* multi protocol encapsulation */
35c57fd021SDavid Howells #define DVB_NET_FEEDTYPE_ULE 1	/* ultra lightweight encapsulation */
36c57fd021SDavid Howells };
37c57fd021SDavid Howells 
38c57fd021SDavid Howells 
39c57fd021SDavid Howells #define NET_ADD_IF    _IOWR('o', 52, struct dvb_net_if)
40c57fd021SDavid Howells #define NET_REMOVE_IF _IO('o', 53)
41c57fd021SDavid Howells #define NET_GET_IF    _IOWR('o', 54, struct dvb_net_if)
42c57fd021SDavid Howells 
43c57fd021SDavid Howells 
44c57fd021SDavid Howells /* binary compatibility cruft: */
45c57fd021SDavid Howells struct __dvb_net_if_old {
46c57fd021SDavid Howells 	__u16 pid;
47c57fd021SDavid Howells 	__u16 if_num;
48c57fd021SDavid Howells };
49c57fd021SDavid Howells #define __NET_ADD_IF_OLD _IOWR('o', 52, struct __dvb_net_if_old)
50c57fd021SDavid Howells #define __NET_GET_IF_OLD _IOWR('o', 54, struct __dvb_net_if_old)
51c57fd021SDavid Howells 
52c57fd021SDavid Howells 
53c57fd021SDavid Howells #endif /*_DVBNET_H_*/
54