5.4.1. LIRC read()¶
5.4.1.1. Name¶
lirc-read - Read from a LIRC device
5.4.1.3. Arguments¶
fd
- File descriptor returned by
open()
. buf
- Buffer to be filled
count
- Max number of bytes to read
5.4.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 exact format of the data depends on what LIRC modes a driver uses. Use ioctl LIRC_GET_FEATURES to get the supported mode, and use ioctls LIRC_GET_REC_MODE and LIRC_SET_REC_MODE set the current active mode.
The mode LIRC_MODE_MODE2 is for raw IR, in which packets containing an unsigned int value describing an IR signal are read from the chardev.
Alternatively, LIRC_MODE_SCANCODE can be available,
in this mode scancodes which are either decoded by software decoders, or
by hardware decoders. The rc_proto
member is set to the
protocol used for transmission, and scancode
to the decoded scancode,
and the keycode
set to the keycode or KEY_RESERVED
.
5.4.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.