// SPDX-License-Identifier: LGPL-2.1-or-later /* * This file is part of libgpiod. * * Copyright (C) 2017-2018 Bartosz Golaszewski */ /* Simplified C++ reimplementation of the gpioinfo tool. */ #include #include #include int main(int argc, char **argv) { if (argc != 1) { ::std::cerr << "usage: " << argv[0] << ::std::endl; return EXIT_FAILURE; } for (auto& cit: ::gpiod::make_chip_iter()) { ::std::cout << cit.name() << " - " << cit.num_lines() << " lines:" << ::std::endl; for (auto& lit: ::gpiod::line_iter(cit)) { ::std::cout << "\tline "; ::std::cout.width(3); ::std::cout << lit.offset() << ": "; ::std::cout.width(12); ::std::cout << (lit.name().empty() ? "unnamed" : lit.name()); ::std::cout << " "; ::std::cout.width(12); ::std::cout << (lit.consumer().empty() ? "unused" : lit.consumer()); ::std::cout << " "; ::std::cout.width(8); ::std::cout << (lit.direction() == ::gpiod::line::DIRECTION_INPUT ? "input" : "output"); ::std::cout << " "; ::std::cout.width(10); ::std::cout << (lit.active_state() == ::gpiod::line::ACTIVE_LOW ? "active-low" : "active-high"); ::std::cout << ::std::endl; } } return EXIT_SUCCESS; }