]>
Commit | Line | Data |
---|---|---|
e2460b1d MH |
1 | .. -*- coding: utf-8; mode: rst -*- |
2 | ||
3 | .. _cec-func-open: | |
4 | ||
5 | ********** | |
6 | cec open() | |
7 | ********** | |
8 | ||
21c62694 MH |
9 | Name |
10 | ==== | |
e2460b1d | 11 | |
21c62694 | 12 | cec-open - Open a cec device |
e2460b1d MH |
13 | |
14 | Synopsis | |
15 | ======== | |
16 | ||
17 | .. code-block:: c | |
18 | ||
19 | #include <fcntl.h> | |
20 | ||
21 | ||
1b81f010 | 22 | .. c:function:: int open( const char *device_name, int flags ) |
99547836 | 23 | :name: cec-open |
21c62694 | 24 | |
e2460b1d MH |
25 | |
26 | Arguments | |
27 | ========= | |
28 | ||
29 | ``device_name`` | |
30 | Device to be opened. | |
31 | ||
32 | ``flags`` | |
33 | Open flags. Access mode must be ``O_RDWR``. | |
34 | ||
35 | When the ``O_NONBLOCK`` flag is given, the | |
9cd3476c | 36 | :ref:`CEC_RECEIVE <CEC_RECEIVE>` and :c:func:`CEC_DQEVENT` ioctls |
e5208ed2 HV |
37 | will return the ``EAGAIN`` error code when no message or event is available, and |
38 | ioctls :ref:`CEC_TRANSMIT <CEC_TRANSMIT>`, | |
1267c60a HV |
39 | :ref:`CEC_ADAP_S_PHYS_ADDR <CEC_ADAP_S_PHYS_ADDR>` and |
40 | :ref:`CEC_ADAP_S_LOG_ADDRS <CEC_ADAP_S_LOG_ADDRS>` | |
e5208ed2 | 41 | all return 0. |
e2460b1d MH |
42 | |
43 | Other flags have no effect. | |
44 | ||
45 | ||
46 | Description | |
47 | =========== | |
48 | ||
e2460b1d MH |
49 | To open a cec device applications call :c:func:`open()` with the |
50 | desired device name. The function has no side effects; the device | |
51 | configuration remain unchanged. | |
52 | ||
53 | When the device is opened in read-only mode, attempts to modify its | |
54 | configuration will result in an error, and ``errno`` will be set to | |
55 | EBADF. | |
56 | ||
57 | ||
58 | Return Value | |
59 | ============ | |
60 | ||
61 | :c:func:`open()` returns the new file descriptor on success. On error, | |
62 | -1 is returned, and ``errno`` is set appropriately. Possible error codes | |
63 | include: | |
64 | ||
b2a58436 | 65 | ``EACCES`` |
e2460b1d MH |
66 | The requested access to the file is not allowed. |
67 | ||
b2a58436 | 68 | ``EMFILE`` |
e2460b1d MH |
69 | The process already has the maximum number of files open. |
70 | ||
b2a58436 | 71 | ``ENFILE`` |
e2460b1d MH |
72 | The system limit on the total number of open files has been reached. |
73 | ||
b2a58436 | 74 | ``ENOMEM`` |
e2460b1d MH |
75 | Insufficient kernel memory was available. |
76 | ||
b2a58436 | 77 | ``ENXIO`` |
e2460b1d | 78 | No device corresponding to this device special file exists. |