Local file and NIS naming services use entries in ONC binding entry format to identify printing objects. The print system stores and retrieves these entries from the /etc/printers.conf file.
The syntax of the ONC binding entry format is similar to that used in /etc/printcap and /etc/remote files except that the ONC binding entry format uses different key names.
The syntax for a printer-configuration is:
ONCEntry::=NameList{: KeyValuePair}+
NameList::=PrimaryName{`|' Alias}+
KeyValuePair::=Name={ValueDP | ...}
ValueDP::=Hostname, ProgramNumber, ProgramVersion,
Authentication, SubType, ServerName[, Protoserver], spooling-type
Where:
{...}+ = one or more
| = or
| = the symbol |
[...] = optional
Parameter | Description |
ONCEntry | A printer table entry that consists of a PrimaryName, optional Aliases, and one or more KeyValuePairs. |
PrimaryName of Object | The primary name for identifying an object. |
Aliases | Zero or more aliases of the object (optional). |
KeyValuePair | An attribute that consists of an attribute name and its value. Here we show only the values of type ValueDP. |
ValueDP | Server bindings for: printer address binding (paddr), server address binding (saddr), queue address binding (qaddr) |
Hostname | Name of the host machine that holds the object and its associated server. |
ProgramNumber | RPC program number of either a server or ProtoServer. A server program number can be one that a server creates dynamically, or it can be the special one for a spooler. |
ProgramVersion | RPC version number of the Protoserver |
Authentication | RPC authentication method that is used. The print system only supports sys. |
SubType | Describes the object: lp = Logical printer object; pp = Physical printer object; qu = Queue object; sl = Spooler server object; sv = Supervisor server object |
ServerName | Name of the server associated with the object. |
ProtoServer | Optional. If the parameter value is 1, then the ProtoServer is used; if the value is 0, the ProtoServer is not used. The value of this field must be 1 for local file and NIS naming. |
Spooling-type | The name of the printing paradigm for which an inbound gateway translation is to occur. The print system only supports dpa. |
Printer Configuration Example
elmtree:paddr=papers,105004,1,sys,lp,wooden,1,dpa
The following list describes the fields in this example.
elmtree is the name of the object, and it contains printer address binding information.
The printer address binding information includes the RPC binding information with an RPC hostname of papers, with a program number of 105004 (the Protoserver RPC number) and a program version number of 1.
The elmtree object has authentication method of sys.
elmtree is a logical printer object that has an associated server object named woden.
The Protoserver daemon (on the UNIX host machine 'papers') determines the proper RPC Dynamic Program Number that will be used to connect to the spooler server (wooden).
dpa is the printing paradigm for LPD Inbound Gateway jobs.
For a configuration that consists of a spooler with two logical printers and a single queue on hostC, and a supervisor with two physical printers on hostD, the complete configuration file would be:
spooler1:saddr=hostC,105004,1,sys,sl,spooler1,1,dpa
superv1:saddr=hostD,105004,1,sys,sv,superv1,1,dpa
lp1:paddr=hostC,105004,1,sys,lp,spooler1,1,dpa
lp2:paddr=hostC,105004,1,sys,lp,spooler1,1,dpa
q1:qaddr=hostC,105004,1,sys,qu,spooler1,1,dpa
pp1:paddr=hostD,105004,1,sys,pp,superv1,1,dpa
pp2:paddr=hostD,105004,1,sys,pp,superv1,1,dpa
This configuration file would need to be present on all hosts in a local file naming environment or used to update the NIS database in an NIS environment. Refer to Chapter 3 for information on configuring naming service.
Note that, in a local file environment, the print system does not use the naming component of ONC, but the system still relies on ONC RPC.