In my review of the CXX bindings I suggested a top-level version of Chip.request_lines(), and possibly a C API version as well, so here is the C version, plus a couple of semi-related tweaks I made along the way. The first patch adds the gpiod_request_lines(). Patch 3 migrates the appropriate tools. Patch 4 minimizes the lifetimes of objects in the tools as I've previously seen confusion over how long lived objects need to be. Patch 2 is just a rename cos "inexistent" looks weird to me. Strictly speaking it is fine, but unless there is a problem with using "nonexistent" I would go with the latter. This series may be require my unsigned values patch. Cheers, Kent. Kent Gibson (4): core: add gpiod_request_lines tools: rename inexistent to nonexistent tools: migrate to gpiod_request_lines tools: minimize object lifetimes include/gpiod.h | 15 ++++++++ lib/line-request.c | 17 +++++++++ tests/tests-line-request.c | 73 ++++++++++++++++++++++++++++++++++++++ tools/gpio-tools-test.bats | 4 +-- tools/gpiodetect.c | 2 +- tools/gpiofind.c | 2 +- tools/gpioget.c | 25 +++++++------ tools/gpioinfo.c | 4 +-- tools/gpiomon.c | 16 ++++----- tools/gpioset.c | 18 +++++----- tools/tools-common.c | 50 ++++++++++---------------- tools/tools-common.h | 5 +-- 12 files changed, 164 insertions(+), 67 deletions(-) -- 2.35.1