WIP FPC-III support
[linux/fpc-iii.git] / Documentation / userspace-api / media / cec / cec-func-open.rst
blobd86563a34b9e779680ff9a9444e7bb7b802aff64
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2 .. c:namespace:: CEC
4 .. _cec-func-open:
6 **********
7 cec open()
8 **********
10 Name
11 ====
13 cec-open - Open a cec device
15 Synopsis
16 ========
18 .. code-block:: c
20     #include <fcntl.h>
22 .. c:function:: int open( const char *device_name, int flags )
24 Arguments
25 =========
27 ``device_name``
28     Device to be opened.
30 ``flags``
31     Open flags. Access mode must be ``O_RDWR``.
33     When the ``O_NONBLOCK`` flag is given, the
34     :ref:`CEC_RECEIVE <CEC_RECEIVE>` and :ref:`CEC_DQEVENT <CEC_DQEVENT>` ioctls
35     will return the ``EAGAIN`` error code when no message or event is available, and
36     ioctls :ref:`CEC_TRANSMIT <CEC_TRANSMIT>`,
37     :ref:`CEC_ADAP_S_PHYS_ADDR <CEC_ADAP_S_PHYS_ADDR>` and
38     :ref:`CEC_ADAP_S_LOG_ADDRS <CEC_ADAP_S_LOG_ADDRS>`
39     all return 0.
41     Other flags have no effect.
43 Description
44 ===========
46 To open a cec device applications call :c:func:`open()` with the
47 desired device name. The function has no side effects; the device
48 configuration remain unchanged.
50 When the device is opened in read-only mode, attempts to modify its
51 configuration will result in an error, and ``errno`` will be set to
52 EBADF.
54 Return Value
55 ============
57 :c:func:`open()` returns the new file descriptor on success. On error,
58 -1 is returned, and ``errno`` is set appropriately. Possible error codes
59 include:
61 ``EACCES``
62     The requested access to the file is not allowed.
64 ``EMFILE``
65     The process already has the maximum number of files open.
67 ``ENFILE``
68     The system limit on the total number of open files has been reached.
70 ``ENOMEM``
71     Insufficient kernel memory was available.
73 ``ENXIO``
74     No device corresponding to this device special file exists.