Printer backend commands
The piobe command is the normal backend program run by the print spooling subsystem when printing to a locally attached printer device.
The piobe command is started by the qdaemon process. It determines the data stream it is going to create by reading a flag or querying the virtual printer database. The piobe process then passes the print file through a pipeline of appropriate filters so that it generates the correct data stream. At the end of this pipeline, the filtered file is passed to the pioout device driver interface program.
The pioout command is invoked in a pipeline by the piobe command. For locally attached printers, the pioout command sends the print file to the appropriate printer device driver (for example, /dev/lp1). However, for terminal-attached printers, the print files are sent to the printer through the tty device driver (for example, /dev/tty0), after being modified by data gathered from the terminfo and virtual printer databases. The terminfo database is queried for the mc5 and mc4 terminal control attributes. The virtual printer database is queried for the asynchronous controller-specific attributes.