RFC 1179 (rfc1179) - Page 2 of 14
Line printer daemon protocol
Alternative Format: Original Text Document
RFC 1179 LPR August 1990 3.1 Message formats LPR is a a TCP-based protocol. The port on which a line printer daemon listens is 515. The source port must be in the range 721 to 731, inclusive. A line printer daemon responds to commands send to its port. All commands begin with a single octet code, which is a binary number which represents the requested function. The code is immediately followed by the ASCII name of the printer queue name on which the function is to be performed. If there are other operands to the command, they are separated from the printer queue name with white space (ASCII space, horizontal tab, vertical tab, and form feed). The end of the command is indicated with an ASCII line feed character. 4. Diagram Conventions The diagrams in the rest of this RFC use these conventions. These diagrams show the format of an octet stream sent to the server. The outermost box represents this stream. Each box within the outermost one shows one portion of the stream. If the contents of the box is two decimal digits, this indicates that the binary 8 bit value is to be used. If the contents is two uppercase letters, this indicates that the corresponding ASCII control character is to be used. An exception to this is that the character SP can be interpreted as white space. (See the preceding section for a definition.) If the contents is a single letter, the ASCII code for this letter must be sent. Otherwise, the contents are intended to be mnemonic of the contents of the field which is a sequence of octets. 5. Daemon commands The verbs in the command names should be interpreted as statements made to the daemon. Thus, the command "Print any waiting jobs" is an imperative to the line printer daemon to which it is sent. A new connection must be made for each command to be given to the daemon. 5.1 01 - Print any waiting jobs +----+-------+----+ | 01 | Queue | LF | +----+-------+----+ Command code - 1 Operand - Printer queue name This command starts the printing process if it not already running. McLaughlin



