1 .. SPDX-License-Identifier: GFDL-1.1-no-invari 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2 .. c:namespace:: CEC 2 .. c:namespace:: CEC 3 3 4 .. _cec-func-open: 4 .. _cec-func-open: 5 5 6 ********** 6 ********** 7 cec open() 7 cec open() 8 ********** 8 ********** 9 9 10 Name 10 Name 11 ==== 11 ==== 12 12 13 cec-open - Open a cec device 13 cec-open - Open a cec device 14 14 15 Synopsis 15 Synopsis 16 ======== 16 ======== 17 17 18 .. code-block:: c 18 .. code-block:: c 19 19 20 #include <fcntl.h> 20 #include <fcntl.h> 21 21 22 .. c:function:: int open( const char *device_n 22 .. c:function:: int open( const char *device_name, int flags ) 23 23 24 Arguments 24 Arguments 25 ========= 25 ========= 26 26 27 ``device_name`` 27 ``device_name`` 28 Device to be opened. 28 Device to be opened. 29 29 30 ``flags`` 30 ``flags`` 31 Open flags. Access mode must be ``O_RDWR`` 31 Open flags. Access mode must be ``O_RDWR``. 32 32 33 When the ``O_NONBLOCK`` flag is given, the 33 When the ``O_NONBLOCK`` flag is given, the 34 :ref:`CEC_RECEIVE <CEC_RECEIVE>` and :ref: 34 :ref:`CEC_RECEIVE <CEC_RECEIVE>` and :ref:`CEC_DQEVENT <CEC_DQEVENT>` ioctls 35 will return the ``EAGAIN`` error code when 35 will return the ``EAGAIN`` error code when no message or event is available, and 36 ioctls :ref:`CEC_TRANSMIT <CEC_TRANSMIT>`, 36 ioctls :ref:`CEC_TRANSMIT <CEC_TRANSMIT>`, 37 :ref:`CEC_ADAP_S_PHYS_ADDR <CEC_ADAP_S_PHY 37 :ref:`CEC_ADAP_S_PHYS_ADDR <CEC_ADAP_S_PHYS_ADDR>` and 38 :ref:`CEC_ADAP_S_LOG_ADDRS <CEC_ADAP_S_LOG 38 :ref:`CEC_ADAP_S_LOG_ADDRS <CEC_ADAP_S_LOG_ADDRS>` 39 all return 0. 39 all return 0. 40 40 41 Other flags have no effect. 41 Other flags have no effect. 42 42 43 Description 43 Description 44 =========== 44 =========== 45 45 46 To open a cec device applications call :c:func 46 To open a cec device applications call :c:func:`open()` with the 47 desired device name. The function has no side 47 desired device name. The function has no side effects; the device 48 configuration remain unchanged. 48 configuration remain unchanged. 49 49 50 When the device is opened in read-only mode, a 50 When the device is opened in read-only mode, attempts to modify its 51 configuration will result in an error, and ``e 51 configuration will result in an error, and ``errno`` will be set to 52 EBADF. 52 EBADF. 53 53 54 Return Value 54 Return Value 55 ============ 55 ============ 56 56 57 :c:func:`open()` returns the new file descript 57 :c:func:`open()` returns the new file descriptor on success. On error, 58 -1 is returned, and ``errno`` is set appropria 58 -1 is returned, and ``errno`` is set appropriately. Possible error codes 59 include: 59 include: 60 60 61 ``EACCES`` 61 ``EACCES`` 62 The requested access to the file is not al 62 The requested access to the file is not allowed. 63 63 64 ``EMFILE`` 64 ``EMFILE`` 65 The process already has the maximum number 65 The process already has the maximum number of files open. 66 66 67 ``ENFILE`` 67 ``ENFILE`` 68 The system limit on the total number of op 68 The system limit on the total number of open files has been reached. 69 69 70 ``ENOMEM`` 70 ``ENOMEM`` 71 Insufficient kernel memory was available. 71 Insufficient kernel memory was available. 72 72 73 ``ENODEV`` !! 73 ``ENXIO`` 74 Device not found or was removed. !! 74 No device corresponding to this device special file exists.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.