10/01/96, Printing in AIX 3.2 SPECIAL NOTICES Information in this document is correct to the best of our knowledge at the time of this writing. Please send feedback by fax to "AIXServ Information" at (512) 823-4009. Please use this information with care. IBM will not be responsible for damages of any kind resulting from its use. The use of this information is the sole responsibility of the customer and depends on the customer's ability to eval- uate and integrate this information into the customer's operational environment. +----------------------------------------------------------+ | | | NOTE: The information in this document has NOT been | | verified for AIX 4.1. | | | +----------------------------------------------------------+ ABOUT THIS DOCUMENT This document contains information about printing in AIX 3.2. It contains the following sections: How It Works Terminology Commands qdeamon Suggested Reading HOW IT WORKS The printing command places the file, plus any print flags, onto the Queue. When the printer is ready, the qdaemon passes the file and flags to the printer backend which formats the output for the specific printer. The data is then passed to the Printer Device driver which communicates with the actual device and prints the file (see figure below). enq--> Queue--> Backend | | piobe -------> Device Driver ----+ | | | Printer | | cat -------> User Defined ----+ It is also possible to bypass the Queue and backend by redi- recting the file to the device (e.g., with the "cat" command). Printing in AIX 3.2 1 10/01/96, Device Driver | | cat -----------------------> User Defined -----> Printer | | splp PRINTER TERMINOLOGY "PRINTER/PLOTTER DEVICE" ________________________ This is the special file in the /dev/ directory for the device. It can only be used by redirection (e.g. cat filename > /dev/lp0) and may be manipulated with "splp". Printer commands will not be able to access a "Printer Device" unless a "Virtual Printer" has been created or a change made to the printer backend in /etc/qconfig. "VIRTUAL PRINTER" _________________ The Virtual Printer is really a combination of a specific Queue and Queue Device in the "/etc/qconfig" file plus the associated file in the "/var/spool/lpd/pio/ddi" directory (which contains formatting data). The Virtual Printer, when added through smit, will automatically create the Queue, Queue Device, and ddi file. To create a Queue and Queue Device for a printer that will use the standard piobe backend, add a "Virtual Printer". To add a second Queue Device to an existing Queue, to allow load sharing, add a "second Virtual Printer" to an "existing Queue". "QUEUE" _______ The Queue is where the user directs a print job. It is a stanza in the "/etc/qconfig" file whose name is the name of the Queue and which points to the associated Queue Device. lp0: device = lp0 Only add a Queue when the backend will NOT be the standard piobe backend. Adding a Virtual Printer is the normal way to create a Queue and Queue Device. "QUEUE DEVICE" ______________ The Queue Device is the stanza in the "/etc/qconfig" file that normally follows the local Queue stanza. It specifies the actual "/dev/" file (Printer Device) to which printing should be done and the "backend" that should be used. Printing in AIX 3.2 2 10/01/96, lp0: file = /dev/lp0 header = never trailer = never access = both backend = /usr/lpd/piobe There may be more than one Queue Device associated with a single Queue. The Virtual Printer can handle this as it associated itself with a "Queue&colonQueue Device" pair. Only add a Queue Device to an existing Queue, if it is to use a backend other than the standard "piobe" backend. Adding a Virtual Printer will create a standard Queue Device entry to an existing Queue. NOTE: With a remote printer, there will be no file entry in the Queue Device stanza in the "/etc/qconfig" file, as the Queue directs the file to the server. THE PRINTING COMMANDS _____________________ There are now four commands which use the piobe that can be used to print the files. The four commands are "enq", "lp", "lpr", and "qprt". These commands bypass some of the splp settings, since they use the settings that are contained in the Virtual Printer. The Virtual Printer settings can be configured using smit. The commands lp, lpr, and qprt are actually just a front end to the enq command. Therefore the first thing that happens to a printed file is that it is passed to the enq program. The enq program simply places the information about the file, along with the flags, in the Queue for the qdaemon to use. The Queue is actually the "/var/spool/lpd/qdir" direc- tory. If the job is not a file (e.g., pipe output of a command to enq) then a real file is created in "/var/spool/qdaemon" which contains the data to be printed. The information in the "/var/spool/lpd/qdir" file then points to the file in "/var/spool/qdaemon". THE QDAEMON PROGRAM ___________________ The qdaemon is a process that runs in the background. It is generally started with the "startsrc" command when the system is powered on. Startsrc is a command to the "srcmstr" daemon which is started from "/etc/inittab". The qdaemon keeps track of the print requests in the "/var/spool/lpd/qdir" directory and ensures that the jobs are sent to the proper printer at the proper time. It also keeps track of the status of the printers and stores printer usage data for system accounting purposes (e.g., lpstat, enq -a commands). This information is held in the "/var/spool/lpd/stat" directory. If the qdaemon is killed it will be restarted by the "srcmstr". Printing in AIX 3.2 3 10/01/96, NOTE: Never kill the srcmstr process because it controls other daemons that will be running on the system. To stop the qdaemon issue "enq -G" or "stopsrc -s qdaemon" (if there are no jobs queued). To start the qdaemon again, use "startsrc -s qdaemon". SUGGESTED READING _________________ "AIX Version 3.2 System Management Guide" from IBM. Order number is SC23-2457-00 Printing in AIX 3.2 4 10/01/96, READER'S COMMENTS Please fax this form to (512) 823-4009, attention "AIXServ Informa- tion". You may also e-mail comments to: elizabet@austin.ibm.com. These comments should include the same customer information requested below. Use this form to tell us what you think about this document. If you have found errors in it, or if you want to express your opinion about it (such as organization, subject matter, appearance) or make sug- gestions for improvement, this is the form to use. If you need technical assistance, contact your local branch office, point of sale, or 1-800-CALL-AIX (for information about support offer- ings). These services may be billable. Faxes on a variety of sub- jects may be ordered free of charge from 1-800-IBM-4FAX. Outside the U.S. call 415-855-4329 using a fax machine phone. When you send comments to IBM, you grant IBM a nonexclusive right to use or distribute your comments in any way it believes appropriate without incurring any obligation to you. NOTE: If you have a problem report or item number, supplying that number may help us determine why a procedure did or did not work in your specific situation. Problem Report or Item #: Branch Office or Customer #: Be sure to print your name and fax number below if you would like a reply: Name: Fax Number: ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ END OF DOCUMENT (print.zap) Printing in AIX 3.2 5