Merge tag 'drm-intel-next-2016-10-24' of git://anongit.freedesktop.org/drm-intel...
[sfrench/cifs-2.6.git] / Documentation / media / uapi / dvb / net-add-if.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _NET_ADD_IF:
4
5 ****************
6 ioctl NET_ADD_IF
7 ****************
8
9 Name
10 ====
11
12 NET_ADD_IF - Creates a new network interface for a given Packet ID.
13
14
15 Synopsis
16 ========
17
18 .. c:function:: int ioctl( int fd, NET_ADD_IF, struct dvb_net_if *net_if )
19     :name: NET_ADD_IF
20
21
22 Arguments
23 =========
24
25 ``fd``
26     File descriptor returned by :ref:`open() <frontend_f_open>`.
27
28 ``net_if``
29     pointer to struct :c:type:`dvb_net_if`
30
31
32 Description
33 ===========
34
35 The NET_ADD_IF ioctl system call selects the Packet ID (PID) that
36 contains a TCP/IP traffic, the type of encapsulation to be used (MPE or
37 ULE) and the interface number for the new interface to be created. When
38 the system call successfully returns, a new virtual network interface is
39 created.
40
41 The struct :c:type:`dvb_net_if`::ifnum field will be
42 filled with the number of the created interface.
43
44 .. c:type:: dvb_net_if
45
46 .. flat-table:: struct dvb_net_if
47     :header-rows:  1
48     :stub-columns: 0
49
50
51     -  .. row 1
52
53        -  ID
54
55        -  Description
56
57     -  .. row 2
58
59        -  pid
60
61        -  Packet ID (PID) of the MPEG-TS that contains data
62
63     -  .. row 3
64
65        -  ifnum
66
67        -  number of the DVB interface.
68
69     -  .. row 4
70
71        -  feedtype
72
73        -  Encapsulation type of the feed. It can be:
74           ``DVB_NET_FEEDTYPE_MPE`` for MPE encoding or
75           ``DVB_NET_FEEDTYPE_ULE`` for ULE encoding.
76
77
78 Return Value
79 ============
80
81 On success 0 is returned, on error -1 and the ``errno`` variable is set
82 appropriately. The generic error codes are described at the
83 :ref:`Generic Error Codes <gen-errors>` chapter.