Merge remote-tracking branch 'docs-next/docs-next' into devel/docs-next
[cascardo/linux.git] / Documentation / media / uapi / dvb / video-fopen.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _video_fopen:
4
5 ================
6 dvb video open()
7 ================
8
9 Name
10 ----
11
12 dvb video open()
13
14
15 Synopsis
16 --------
17
18 .. cpp:function:: int open(const char *deviceName, int flags)
19
20
21 Arguments
22 ---------
23
24 .. flat-table::
25     :header-rows:  0
26     :stub-columns: 0
27
28
29     -  .. row 1
30
31        -  const char \*deviceName
32
33        -  Name of specific video device.
34
35     -  .. row 2
36
37        -  int flags
38
39        -  A bit-wise OR of the following flags:
40
41     -  .. row 3
42
43        -
44        -  O_RDONLY read-only access
45
46     -  .. row 4
47
48        -
49        -  O_RDWR read/write access
50
51     -  .. row 5
52
53        -
54        -  O_NONBLOCK open in non-blocking mode
55
56     -  .. row 6
57
58        -
59        -  (blocking mode is the default)
60
61
62 Description
63 -----------
64
65 This system call opens a named video device (e.g.
66 /dev/dvb/adapter0/video0) for subsequent use.
67
68 When an open() call has succeeded, the device will be ready for use. The
69 significance of blocking or non-blocking mode is described in the
70 documentation for functions where there is a difference. It does not
71 affect the semantics of the open() call itself. A device opened in
72 blocking mode can later be put into non-blocking mode (and vice versa)
73 using the F_SETFL command of the fcntl system call. This is a standard
74 system call, documented in the Linux manual page for fcntl. Only one
75 user can open the Video Device in O_RDWR mode. All other attempts to
76 open the device in this mode will fail, and an error-code will be
77 returned. If the Video Device is opened in O_RDONLY mode, the only
78 ioctl call that can be used is VIDEO_GET_STATUS. All other call will
79 return an error code.
80
81
82 Return Value
83 ------------
84
85 .. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
86
87 .. flat-table::
88     :header-rows:  0
89     :stub-columns: 0
90
91
92     -  .. row 1
93
94        -  ``ENODEV``
95
96        -  Device driver not loaded/available.
97
98     -  .. row 2
99
100        -  ``EINTERNAL``
101
102        -  Internal error.
103
104     -  .. row 3
105
106        -  ``EBUSY``
107
108        -  Device or resource busy.
109
110     -  .. row 4
111
112        -  ``EINVAL``
113
114        -  Invalid argument.