The commands and functions used to print a job on a network printer. It manages the submission of print jobs by maintaining queues and controlling the transfer of their contents to the printer. It also enables the user to determine the capabilities of the printer and the status of the job and be able to cancel it. It may provide flow control if the underlying transport protocol does not (UDP, IPX, etc.). A unidirectional protocol such as LPD is mainly responsible for job submission. However, full-featured, bi-directional protocols such as PAP and NDPS include sophisticated printer management, responding to messages and alerts from the printer. The primary printing protocols are the LPR/LPD Unix standard, Apple's PAP, Novell's QMS and NDPS, HP's JetDirect and the Internet's IPP. Contrast with print driver. See page description language.