The LIRC lib/ directory is indeed code used in various places. It offers
- External applications uses the lirc_client.h header file and links to
liblirc.so using -llirc. This is a mature, reasonably stable interface.
See the client api
- User space drivers includes the lirc_driver.h header and links to
liblirc_driver.so using -llirc_driver. The other way around lirc
accesses the driver as defined in the driver.h file (the driver
structure). This interface is new and will probably need some time
to stabilize. See the driver api
- Internal lirc applications includes the lirc_private.h header file and
links to liblirc_private.so using -llirc_private. This interface is
subject to change without notice, and external applications are
strongly adviced to not use it.