5.3.1. LIRC read()

5.3.1.1. Name

lirc-read - Read from a LIRC device

5.3.1.2. Synopsis

#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count)

5.3.1.3. Arguments

fd
File descriptor returned by open().
buf
Buffer to be filled
count
Max number of bytes to read

5.3.1.4. Description

read() attempts to read up to count bytes from file descriptor fd into the buffer starting at buf. If count is zero, 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 LIRC Function Reference. The generally preferred mode for receive is 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 for more info.

5.3.1.5. 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.