On Fri, May 17, 2024 at 12:53:36PM +0200, Bartosz Golaszewski wrote: > On Wed, May 15, 2024 at 4:14 PM Kent Gibson <warthog618@xxxxxxxxx> wrote: > > > > On Wed, May 15, 2024 at 06:54:15AM -0700, Bartosz Golaszewski wrote: > > > > > > I think the code should go into ext/, the gpiod-ext.h header can go right next > > > to gpiod.h in include/ and the examples can be in the same examples/ directory, > > > just call them something_something_ext.c to indicate they use the simpler API. > > > > > > Does that sound right? > > > > > > > At the moment I've made the code a conditionally compiled block in > > line-request.c, so it can directly use the line-request internals. > > Pretty sure that can be changed to use the core API, but isn't pimpl within > > the library itself a tad extreme? > > I have a strong preference for that code to live in a separate .so > file (and by extension - a separate compilation unit). > Oh, I agree - that makes total sense. The direction I was headed felt wrong, so I figured I must've misunderstood what you meant. I'll re-organise it into a separate unit. Does that unit have to act through the core API, or can we give it access to the internals? And where do you stand wrt the idea of adding a config pointer to struct gpiod_line_request itself? Cheers, Kent.