LPR/LPD: Extending the Control File Command Set
Glenn Trewitt <trewitt@pa.dec.com> Thu, 12 March 1992 23:26 UTC
Received: from nri.nri.reston.va.us by ietf.NRI.Reston.VA.US id aa00977; 12 Mar 92 18:26 EST
Received: from nri.reston.va.us by NRI.Reston.VA.US id aa29288; 12 Mar 92 18:26 EST
Received: from inet-gw-1.pa.dec.com by NRI.Reston.VA.US id aa29280; 12 Mar 92 18:26 EST
Received: by inet-gw-1.pa.dec.com; id AA13881; Thu, 12 Mar 92 15:27:33 -0800
Received: by nsl.pa.dec.com; id AA01357; Thu, 12 Mar 92 14:26:05 -0800
Received: by nsl.pa.dec.com; id AA01351; Thu, 12 Mar 92 14:26:00 -0800
Received: by miasma.pa.dec.com; id AA17797; Thu, 12 Mar 92 14:24:16 -0800
Message-Id: <9203122224.AA17797@miasma.pa.dec.com>
To: print-wg@pa.dec.com
Cc: Glenn Trewitt <trewitt@pa.dec.com>
Subject: LPR/LPD: Extending the Control File Command Set
Organization: DEC Network Systems Laboratory (Palo Alto, CA / UCH)
Phones: H:408-773-9239, W:415-688-1324, DTN:543-1324, Fax:415-324-2797
Date: Thu, 12 Mar 1992 14:24:15 -0800
From: Glenn Trewitt <trewitt@pa.dec.com>
X-Mts: smtp
There have been some discussions at the meetings about how to extend the control file command set in a reasonable way. What about the following? I will update new-lpd.{ps,txt} shortly. - Glenn 7.1 Extending the Control File Command Set The commands described here, except for 'k', 'x' and 'X', are the ones defined by the original BSD LPR/LPD implementation. Many other control file commands have been implemented in other, later versions. We will not attempt to account for them here since, in some cases, that would require us to "bless" one usage over another. The "address space" of single printable characters is not large enough for effective extensions. For this reason, we allow the definitions of the remaining single-character commands to remain undefined and therefore, implementation-dependent. We recommend that control file commands that are not understand by a printing daemon be logged with other job messages and ignored. Processing of the job should proceed on a "best-effort" basis. The 'X' and 'x' commands are defined to allow command extension, providing a much larger set of available commands. We do not define any naming authority, but rely on implementors communicating among themselves and documenting what they've done to provide interoperability. The larger command space should reduce the likelyhood of collisions. 8.17 X - Extended Print Option +---+------ +----+------------+----+ | X | ident | SP | options... | LF | +---+-------+----+------------+----+ Command code 'X' Operand 1 Extension identifier Remainder Extension-specific options This command allows for print option extensions to be made to cooperating clients and servers. The extension identifier is chosen by the implementor of the extension. It should be expressive enough to be distinct from other identifiers that might be chosen by other implementors. The remainder of the line, after the space, may consist of any characters except LF. The interpretation of the options is up to the implementor of the option. If many extensions are to be made, we recommend that a single extension identifier be chosen, with the For example, suppose that an implementation wishes to use LPR/LPD to transport ISO Document Printing Architecture print jobs. ISO DPA has dozens of attributes that may be chosen. Rather than clutter up the extension name space with these attribute names, they might choose an extension identifier "ISO-DPA" and let the remainder of the line be white-space separated attribute-value pairs. The implementation of the 'X' command and any identifiers by a daemon is optional. Extensions that are not recognized should be logged with other job messages and ignored. 10.12 x - Extended Print Command +---+------ +----+------+----+ | x | ident | SP | file | LF | +---+-------+----+------+----+ Command code 'x' Operand 1 Extension identifier Operand 2 File to print This command allows for file type extensions to be made to cooperating clients and servers. The extension identifier is chosen by the implementor of the extension. It should be expressive enough to be distinct from other identifiers that might be chosen by other implementors. For example, suppose someone wants to be able to spool "TIFF" files directly, and have the system do the conversion. The extension identifier "tiff" might be chosen: xtiff dfA123user.bigco.com The implementation of the 'x' command and any identifiers by a daemon is optional. Extensions that are not recognized should be logged with other job messages and ignored. This will result in the file not being printed.
- LPR/LPD: Extending the Control File Command Set Glenn Trewitt