~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/rc/lirc-read.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
  2 .. c:namespace:: RC
  3 
  4 .. _lirc-read:
  5 
  6 ***********
  7 LIRC read()
  8 ***********
  9 
 10 Name
 11 ====
 12 
 13 lirc-read - Read from a LIRC device
 14 
 15 Synopsis
 16 ========
 17 
 18 .. code-block:: c
 19 
 20     #include <unistd.h>
 21 
 22 .. c:function:: ssize_t read( int fd, void *buf, size_t count )
 23 
 24 Arguments
 25 =========
 26 
 27 ``fd``
 28     File descriptor returned by ``open()``.
 29 
 30 ``buf``
 31    Buffer to be filled
 32 
 33 ``count``
 34    Max number of bytes to read
 35 
 36 Description
 37 ===========
 38 
 39 :c:func:`read()` attempts to read up to ``count`` bytes from file
 40 descriptor ``fd`` into the buffer starting at ``buf``.  If ``count`` is zero,
 41 :c:func:`read()` returns zero and has no other results. If ``count``
 42 is greater than ``SSIZE_MAX``, the result is unspecified.
 43 
 44 The exact format of the data depends on what :ref:`lirc_modes` a driver
 45 uses. Use :ref:`lirc_get_features` to get the supported mode, and use
 46 :ref:`lirc_set_rec_mode` set the current active mode.
 47 
 48 The mode :ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>` is for raw IR,
 49 in which packets containing an unsigned int value describing an IR signal are
 50 read from the chardev.
 51 
 52 Alternatively, :ref:`LIRC_MODE_SCANCODE <lirc-mode-scancode>` can be available,
 53 in this mode scancodes which are either decoded by software decoders, or
 54 by hardware decoders. The :c:type:`rc_proto` member is set to the
 55 :ref:`IR protocol <Remote_controllers_Protocols>`
 56 used for transmission, and ``scancode`` to the decoded scancode,
 57 and the ``keycode`` set to the keycode or ``KEY_RESERVED``.
 58 
 59 Return Value
 60 ============
 61 
 62 On success, the number of bytes read is returned. It is not an error if
 63 this number is smaller than the number of bytes requested, or the amount
 64 of data required for one frame.  On error, -1 is returned, and the ``errno``
 65 variable is set appropriately.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php