blob: 24487cb0a3087f3189dca477fe724b723474a4aa [file] [log] [blame]
Mauro Carvalho Chehab059b1c52020-08-26 09:03:09 +02001.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
Mauro Carvalho Chehab937e6802020-09-24 16:57:41 +02002.. c:namespace:: MC
Mauro Carvalho Chehab54f38fc2020-03-04 10:21:39 +01003
4.. _media-func-open:
5
6************
7media open()
8************
9
10Name
11====
12
13media-open - Open a media device
14
Mauro Carvalho Chehab54f38fc2020-03-04 10:21:39 +010015Synopsis
16========
17
18.. code-block:: c
19
20 #include <fcntl.h>
21
Mauro Carvalho Chehab54f38fc2020-03-04 10:21:39 +010022.. c:function:: int open( const char *device_name, int flags )
Mauro Carvalho Chehab54f38fc2020-03-04 10:21:39 +010023
24Arguments
25=========
26
27``device_name``
28 Device to be opened.
29
30``flags``
31 Open flags. Access mode must be either ``O_RDONLY`` or ``O_RDWR``.
32 Other flags have no effect.
33
Mauro Carvalho Chehab54f38fc2020-03-04 10:21:39 +010034Description
35===========
36
Mauro Carvalho Chehab937e6802020-09-24 16:57:41 +020037To open a media device applications call :c:func:`open()` with the
Mauro Carvalho Chehab54f38fc2020-03-04 10:21:39 +010038desired device name. The function has no side effects; the device
39configuration remain unchanged.
40
41When the device is opened in read-only mode, attempts to modify its
42configuration will result in an error, and ``errno`` will be set to
43EBADF.
44
Mauro Carvalho Chehab54f38fc2020-03-04 10:21:39 +010045Return Value
46============
47
Mauro Carvalho Chehab937e6802020-09-24 16:57:41 +020048:c:func:`open()` returns the new file descriptor on success. On error,
Mauro Carvalho Chehab54f38fc2020-03-04 10:21:39 +010049-1 is returned, and ``errno`` is set appropriately. Possible error codes
50are:
51
52EACCES
53 The requested access to the file is not allowed.
54
55EMFILE
56 The process already has the maximum number of files open.
57
58ENFILE
59 The system limit on the total number of open files has been reached.
60
61ENOMEM
62 Insufficient kernel memory was available.
63
64ENXIO
65 No device corresponding to this device special file exists.