This library was designed to ease the use of the parallel port. It will automatically figure out which access method is available, depending on the running kernel and the permissions of the process. . It handles particular queries to the devices, like fetching the Device ID of a device.