diff options
Diffstat (limited to 'Documentation/media/uapi/rc/lirc-read.rst')
-rw-r--r-- | Documentation/media/uapi/rc/lirc-read.rst | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Documentation/media/uapi/rc/lirc-read.rst b/Documentation/media/uapi/rc/lirc-read.rst new file mode 100644 index 000000000..8d4e9b6e5 --- /dev/null +++ b/Documentation/media/uapi/rc/lirc-read.rst @@ -0,0 +1,62 @@ +.. -*- coding: utf-8; mode: rst -*- + +.. _lirc-read: + +*********** +LIRC read() +*********** + +Name +==== + +lirc-read - Read from a LIRC device + + +Synopsis +======== + +.. code-block:: c + + #include <unistd.h> + + +.. cpp:function:: ssize_t read( int fd, void *buf, size_t count ) + + +Arguments +========= + +``fd`` + File descriptor returned by ``open()``. + +``buf`` +``count`` + + +Description +=========== + +:ref:`read() <lirc-read>` attempts to read up to ``count`` bytes from file +descriptor ``fd`` into the buffer starting at ``buf``. If ``count`` is zero, +:ref:`read() <lirc-read>` returns zero and has no other results. If ``count`` +is greater than ``SSIZE_MAX``, the result is unspecified. + +The lircd userspace daemon reads raw IR data from the LIRC chardev. The +exact format of the data depends on what modes a driver supports, and +what mode has been selected. lircd obtains supported modes and sets the +active mode via the ioctl interface, detailed at :ref:`lirc_func`. +The generally preferred mode for receive is +:ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>`, in which packets containing an +int value describing an IR signal are read from the chardev. + +See also +`http://www.lirc.org/html/technical.html <http://www.lirc.org/html/technical.html>`__ +for more info. + +Return Value +============ + +On success, the number of bytes read is returned. It is not an error if +this number is smaller than the number of bytes requested, or the amount +of data required for one frame. On error, -1 is returned, and the ``errno`` +variable is set appropriately. |