.. -*- coding: utf-8; mode: rst -*- .. _lirc-read: *********** LIRC read() *********** Name ==== lirc-read - Read from a LIRC device Synopsis ======== .. code-block:: c #include .. c:function:: ssize_t read( int fd, void *buf, size_t count ) :name: lirc-read Arguments ========= ``fd`` File descriptor returned by ``open()``. ``buf`` Buffer to be filled ``count`` Max number of bytes to read Description =========== :ref:`read() ` attempts to read up to ``count`` bytes from file descriptor ``fd`` into the buffer starting at ``buf``. If ``count`` is zero, :ref:`read() ` returns zero and has no other results. If ``count`` is greater than ``SSIZE_MAX``, the result is unspecified. The exact format of the data depends on what :ref:`lirc_modes` a driver uses. Use :ref:`lirc_get_features` to get the supported mode. The generally preferred mode for receive is :ref:`LIRC_MODE_MODE2 `, in which packets containing an int value describing an IR signal are read from the chardev. 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.