linux/Documentation/userspace-api/media/cec/cec-func-open.rst
<<
>>
Prefs
   1.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
   2.. c:namespace:: CEC
   3
   4.. _cec-func-open:
   5
   6**********
   7cec open()
   8**********
   9
  10Name
  11====
  12
  13cec-open - Open a cec 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 ``O_RDWR``.
  32
  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.
  40
  41    Other flags have no effect.
  42
  43Description
  44===========
  45
  46To open a cec device applications call :c:func:`open()` with the
  47desired device name. The function has no side effects; the device
  48configuration remain unchanged.
  49
  50When the device is opened in read-only mode, attempts to modify its
  51configuration will result in an error, and ``errno`` will be set to
  52EBADF.
  53
  54Return Value
  55============
  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 codes
  59include:
  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``ENXIO``
  74    No device corresponding to this device special file exists.
  75