1.. SPDX-License-Identifier: GPL-2.0
2
3.. _GPIOHANDLE_GET_LINE_VALUES_IOCTL:
4
5********************************
6GPIOHANDLE_GET_LINE_VALUES_IOCTL
7********************************
8.. warning::
9    This ioctl is part of chardev_v1.rst and is obsoleted by
10    gpio-v2-line-get-values-ioctl.rst.
11
12Name
13====
14
15GPIOHANDLE_GET_LINE_VALUES_IOCTL - Get the values of all requested lines.
16
17Synopsis
18========
19
20.. c:macro:: GPIOHANDLE_GET_LINE_VALUES_IOCTL
21
22``int ioctl(int handle_fd, GPIOHANDLE_GET_LINE_VALUES_IOCTL, struct gpiohandle_data *values)``
23
24Arguments
25=========
26
27``handle_fd``
28    The file descriptor of the GPIO character device, as returned in the
29    :c:type:`request.fd<gpiohandle_request>` by gpio-get-linehandle-ioctl.rst.
30
31``values``
32    The :c:type:`line_values<gpiohandle_data>` to be populated.
33
34Description
35===========
36
37Get the values of all requested lines.
38
39The values returned are logical, indicating if the line is active or inactive.
40The ``GPIOHANDLE_REQUEST_ACTIVE_LOW`` flag controls the mapping between physical
41values (high/low) and logical values (active/inactive).
42If ``GPIOHANDLE_REQUEST_ACTIVE_LOW`` is not set then high is active and
43low is inactive. If ``GPIOHANDLE_REQUEST_ACTIVE_LOW`` is set then low is active
44and high is inactive.
45
46The values of both input and output lines may be read.
47
48For output lines, the value returned is driver and configuration dependent and
49may be either the output buffer (the last requested value set) or the input
50buffer (the actual level of the line), and depending on the hardware and
51configuration these may differ.
52
53This ioctl can also be used to read the line value for line events,
54substituting the ``event_fd`` for the ``handle_fd``.  As there is only
55one line requested in that case, only the one value is returned in ``values``.
56
57Return Value
58============
59
60On success 0 and ``values`` populated with the values read.
61
62On error -1 and the ``errno`` variable is set appropriately.
63Common error codes are described in error-codes.rst.
64