xref: /linux/Documentation/userspace-api/media/mediactl/media-func-open.rst (revision 4f6b838c378a52ea3ae0b15f12ca8a20849072fa)
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2.. c:namespace:: MC
3
4.. _media-func-open:
5
6************
7media open()
8************
9
10Name
11====
12
13media-open - Open a media device
14
15Synopsis
16========
17
18.. code-block:: c
19
20    #include <fcntl.h>
21
22.. c:function:: int open( const char *device_name, int flags )
23
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
34Description
35===========
36
37To open a media device applications call :c:func:`open()` with the
38desired 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
45Return Value
46============
47
48:c:func:`open()` returns the new file descriptor on success. On error,
49-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.
66