The hardware interface varies according the the actual hardware used. With the x10d daemon, a reader/writer child process pair is spawned() to interface to the hardware. The IR controller is usually directly controlled by icd via a serial port. Both the hcs2d and mld daemons are serial port devices.