User`s guide
iv
Guide to Printers and Printing
Holding and Releasing a Print Job (qhld Command) 2-35. . . . . . . . . . . . . . . . . . . . . . . . . .
Moving a Job between Queues 2-36. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scheduling Print Jobs 2-37. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changing or Showing Queue Characteristics 2-38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying Paper Size 2-39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changing or Showing Printer Connection Characteristics 2-40. . . . . . . . . . . . . . . . . . . . . .
Changing / Showing Pre–Processing Filters 2-41. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting a Print Queue 2-42. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Listing All Supported and Defined Printers 2-43. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Moving a Printer to Another Port 2-44. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changing or Showing Printer Characteristics 2-45. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting a Printer 2-46. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Remote Printing Overview 2-47. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Managing and Using Remote Printers and Queues 2-50. . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Remote Host Access for Printing 2-52. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the lpd Remote Subsystem 2-53. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Showing Status of Printer Server Subsystem 2-54. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Printer Queuing System Status Conditions 2-55. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 3. Spooler Overview 3-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spooler Introduction 3-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spooler Terminology 3-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Generic AIX Spooler 3-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spooler Parts 3-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spooler Data Flow Part I 3-8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spooler Data Flow Part II 3-10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of Backend Processing 3-12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Virtual Printers and Formatter Filters 3-15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
/etc/qconfig, the Spooler Configuration File 3-17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Summary 3-20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 4. Printer, Plotter, and Spooler Subsystem Programming 4-1. . . . . . . . . .
Printer Backend Overview for Programming 4-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Printer Backend Data Flow 4-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Virtual Printer Definitions and Attributes 4-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Working with Virtual Printer Attributes 4-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Printer Colon File Escape Sequences 4-14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Printer Colon File Conventions 4-20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Colon File Format 4-20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Attribute Names 4-21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Attribute Values 4-23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Limits Field 4-24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example of Print Formatter 4-25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create the Print Formatter Source File 4-25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Compile and Link the Print Formatter 4-27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Understanding the Interaction between qdaemon and the Backend 4-28. . . . . . . . . . . . .
Using the Status File 4-28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Printing Extra Copies 4-29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Updating Job Status Information 4-29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Charging for the Job 4-29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Exit Codes 4-29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Returning Error Messages 4-30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Setting Queue States 4-32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terminating on Receipt of SIGTERM 4-32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Understanding Backend Routines in libqb 4-33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .