75 lines · plain
1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later2.. c:namespace:: CEC3 4.. _cec-func-open:5 6**********7cec open()8**********9 10Name11====12 13cec-open - Open a cec device14 15Synopsis16========17 18.. code-block:: c19 20 #include <fcntl.h>21 22.. c:function:: int open( const char *device_name, int flags )23 24Arguments25=========26 27``device_name``28 Device to be opened.29 30``flags``31 Open flags. Access mode must be ``O_RDWR``.32 33 When the ``O_NONBLOCK`` flag is given, the34 :ref:`CEC_RECEIVE <CEC_RECEIVE>` and :ref:`CEC_DQEVENT <CEC_DQEVENT>` ioctls35 will return the ``EAGAIN`` error code when no message or event is available, and36 ioctls :ref:`CEC_TRANSMIT <CEC_TRANSMIT>`,37 :ref:`CEC_ADAP_S_PHYS_ADDR <CEC_ADAP_S_PHYS_ADDR>` and38 :ref:`CEC_ADAP_S_LOG_ADDRS <CEC_ADAP_S_LOG_ADDRS>`39 all return 0.40 41 Other flags have no effect.42 43Description44===========45 46To open a cec device applications call :c:func:`open()` with the47desired device name. The function has no side effects; the device48configuration remain unchanged.49 50When the device is opened in read-only mode, attempts to modify its51configuration will result in an error, and ``errno`` will be set to52EBADF.53 54Return Value55============56 57:c:func:`open()` returns the new file descriptor on success. On error,58-1 is returned, and ``errno`` is set appropriately. Possible error codes59include:60 61``EACCES``62 The requested access to the file is not allowed.63 64``EMFILE``65 The process already has the maximum number of files open.66 67``ENFILE``68 The system limit on the total number of open files has been reached.69 70``ENOMEM``71 Insufficient kernel memory was available.72 73``ENODEV``74 Device not found or was removed.75