# Lirc API:s

The LIRC lib/ directory is indeed code used in various places. It offers three views:

- 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.