WIP FPC-III support
[linux/fpc-iii.git] / Documentation / userspace-api / media / dvb / video-fopen.rst
blob1371b083e4e88736ba6c33596e0c46e71a31cd81
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2 .. c:namespace:: DTV.video
4 .. _video_fopen:
6 ================
7 dvb video open()
8 ================
10 Name
11 ----
13 dvb video open()
15 .. attention:: This ioctl is deprecated.
17 Synopsis
18 --------
20 .. c:function:: int open(const char *deviceName, int flags)
22 Arguments
23 ---------
25 .. flat-table::
26     :header-rows:  0
27     :stub-columns: 0
29     -  .. row 1
31        -  const char \*deviceName
33        -  Name of specific video device.
35     -  .. row 2
37        -  int flags
39        -  A bit-wise OR of the following flags:
41     -  .. row 3
43        -
44        -  O_RDONLY read-only access
46     -  .. row 4
48        -
49        -  O_RDWR read/write access
51     -  .. row 5
53        -
54        -  O_NONBLOCK open in non-blocking mode
56     -  .. row 6
58        -
59        -  (blocking mode is the default)
61 Description
62 -----------
64 This system call opens a named video device (e.g.
65 /dev/dvb/adapter0/video0) for subsequent use.
67 When an open() call has succeeded, the device will be ready for use. The
68 significance of blocking or non-blocking mode is described in the
69 documentation for functions where there is a difference. It does not
70 affect the semantics of the open() call itself. A device opened in
71 blocking mode can later be put into non-blocking mode (and vice versa)
72 using the F_SETFL command of the fcntl system call. This is a standard
73 system call, documented in the Linux manual page for fcntl. Only one
74 user can open the Video Device in O_RDWR mode. All other attempts to
75 open the device in this mode will fail, and an error-code will be
76 returned. If the Video Device is opened in O_RDONLY mode, the only
77 ioctl call that can be used is VIDEO_GET_STATUS. All other call will
78 return an error code.
80 Return Value
81 ------------
83 .. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
85 .. flat-table::
86     :header-rows:  0
87     :stub-columns: 0
89     -  .. row 1
91        -  ``ENODEV``
93        -  Device driver not loaded/available.
95     -  .. row 2
97        -  ``EINTERNAL``
99        -  Internal error.
101     -  .. row 3
103        -  ``EBUSY``
105        -  Device or resource busy.
107     -  .. row 4
109        -  ``EINVAL``
111        -  Invalid argument.