Xprint.sgml revision ea1d6981
1<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.3//EN" 'http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd'>
2
3<!-- Process this file with docbook-to-man to generate an nroff manual
4     page: 'docbook-to-man manpage.sgml > manpage.1'.  You may view
5     the manual page with: 'docbook-to-man manpage.sgml | nroff -man | less'.
6     A typical entry in a Makefile or Makefile.am is:
7
8manpage.1: manpage.sgml
9	docbook-to-man $< > $@
10
11HTML generation can be done like this:
12% xsltproc ==docbook /usr/share/sgml/docbook/docbook-xsl-stylesheets-1.60.1/html/docbook.xsl Xprint.sgml >Xprint.html
13  -->
14
15<refentry id="Xprint">
16  <refmeta>
17    <refentrytitle>Xprint</refentrytitle>
18    <manvolnum>__miscmansuffix__</manvolnum>
19  </refmeta>
20  <refnamediv>
21    <refname>Xprint</refname>
22
23    <refpurpose>The "X print service" - a portable, network-transparent printing system based on the X11 protocol</refpurpose>
24  </refnamediv>
25  <refsynopsisdiv>
26    <para>Xprint is a very flexible, extensible, scaleable, client/server
27     print system based on ISO 10175 (and some other specs) and the X11
28     rendering protocol.
29     Using Xprint an application can search, query and use devices like
30     printers, FAX machines or create documents in formats like PDF.
31     In particular, an application can seek a printer, query supported
32     attributes (like paper size, trays, fonts etc.), configure the printer
33     device to match it&rsquo;s needs and print on it like on any other X device
34     reusing parts of the code which is used for the video card Xserver.
35    </para>
36  </refsynopsisdiv>
37
38  <refsect1>
39    <title>OVERVIEW</title>
40    <para>
41      The "X Print Service" technology allows X rendering to devices such as
42      printers and fax.  Most of the service is available in the X11
43      technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
44      Modifications have also been made to the LessTif/Motif/Qt technology
45      stacks to support Xprint.
46    </para>
47    <para>
48      The Xp portion consists of:
49      <itemizedlist>
50        <listitem><para>Xp Extension for the X-Server (included in the X-Server Xprt)</para></listitem>
51        <listitem><para>Xp Extension API for the client side (libXp/libXprintUtils)</para></listitem>
52        <listitem><para>PCL ddx driver that converts core X to native PCL</para></listitem>
53        <listitem><para>PDF ddx driver that converts core X to native PDF</para></listitem>
54        <listitem><para>PostScript ddx driver that converts core X to native PostScript</para></listitem>
55        <listitem><para>Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters</para></listitem>
56      </itemizedlist>
57    </para>
58    <para>
59      From an X clients perspective, it can attach to one of two nearly
60      identical X-Servers, a "Video" X-Server, and a "Print" X-Server
61      which has the additional Xp capability but otherwise looks and
62      behaves the same.
63    </para>
64  </refsect1>
65
66  <refsect1>
67    <title>HOW THE X PRINT SERVICE WORKS</title>
68    <para>
69      The X Print Service expands on the traditional X-Server and Xlib world
70      in four ways.
71
72      <orderedlist>
73        <listitem>
74          <para>
75            Most obvious is the use of "print ddx drivers" instead of
76            "video ddx drivers".  While a video ddx driver modifies pixels
77            in a video frame buffer, a print ddx driver generates "page
78            description language (PDL)" output (such as PCL, PDF or PostScript)
79            or sends the print rendering instructions to a platform-specific
80            print API (like Win32/GDI).
81          </para>
82          <para>
83            Once a print ddx driver generates PDL output, it can be sent to
84            a spooler such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>
85            or retrieved by the client (to implement functionality like "print-to-file").
86          </para>
87          <para>
88            Though not currently done, a single X-Server can support both
89            print and video ddx drivers.
90            <!-- FIXME: IBM/AIX people have integrated Xprt into their main Xserver (currently experimental) ... -->
91          </para>
92        </listitem>
93        <listitem>
94          <para>
95            Since printers support "paged" output, unlike video, a portion
96            of the Xp Extension supports APIs to delineate printed output.
97            For example, <function>XpStartPage</function> and <function>XpEndPage</function> tell the X-Server where
98            a physical page starts and ends in an otherwise continuous
99            stream of X rendering primitives.  Likewise, <function>XpStartJob</function> and
100            <function>XpEndJob</function> determine when a collection of pages starts and ends.
101            <function>XpEndJob</function> typically causes the generated PDL to be submitted to
102            a spooler, such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
103          </para>
104        </listitem>
105        <listitem>
106          <para>
107            Since printers have extensive capabilities, another portion of
108            the Xp Extension supports APIs to manipulate "print contexts".
109          </para>
110          <para>
111            Once a printer is selected using the Xp Extension API, a print
112            context to represent it can be created.  A print context
113            embodies the printer selected - it contains the printer's
114            default capabilities, selectable range of capabilities,
115            printer state, and generated output.  Some "attributes" within
116            the print context can be modified by the user, and the
117            X-Server and print ddx driver will react accordingly.  For
118            example, the attribute "content-orientation" can be set to
119            "landscape" or "portrait" (if the printer supports these
120            values - which can be queried using the Xprint API as well).
121          </para>
122        </listitem>
123        <listitem>
124          <para>
125            Since printers can have "built in" fonts, the Xp Extension in
126            the X-Server works with the print ddx drivers to make
127            available (for printing only) additional fonts on a per print
128            context basis.
129          </para>
130          <para>
131            When a print context is created and set for a given printer,
132            the X font calls may be able to access additional printer
133            fonts.  To do this (typically), the X-Server must have access
134            to "printer metric files" (.pmf) that describe at minimum the
135            metrics of the built in fonts.
136          </para>
137        </listitem>
138      </orderedlist>
139    </para>
140  </refsect1>
141
142  <refsect1>
143    <title>USAGE</title>
144    <para>
145      There are three tasks to start the X Print Service:
146      <orderedlist>
147        <listitem><para>configuring the X Print Server,</para></listitem>
148        <listitem><para>starting the X Print Service</para></listitem>
149        <listitem><para>configuring the user session so that clients can find the running X Print Service</para></listitem>
150      </orderedlist>
151    </para>
152    <para>
153      The tasks are described in detail below.
154    </para>
155  </refsect1>
156
157  <refsect1>
158    <title>SERVER CONFIGURATION</title>
159    <para>
160      The X Print Server (Xprt) can read a number of configuration files which
161      control its behavior and support for printers.  Each vendor platform has
162      a default location for this information.  Xprt can also read the
163      environment variable <envar>XPCONFIGDIR</envar> to locate alternate configuration
164      directories.  Common settings include:
165
166      <simplelist type="vert">
167        <member>export XPCONFIGDIR=/X11/lib/X11/XpConfig/</member>
168        <member>export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/</member>
169      </simplelist>
170    </para>
171    <para>
172      Xprt has many built-in defaults, and lacking any configuration files,
173      will immediately try to support all printers visible via <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
174    </para>
175    <para>
176      In order of importance for configuration by a system administrator, the
177      configuration files for a "C" locale are as follows (see <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry> for more
178      details (including support for non-"C" locales)):
179      <variablelist>
180        <varlistentry>
181          <term><filename>${XPCONFIGDIR}/C/print/Xprinters</filename></term>
182          <listitem>
183            <para>
184              'Xprinters' is the top most configuration file.  It tells
185              Xprt which specific printer names (e.g.  mylaser) should
186              be supported, and whether <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> or other commands
187              should be used to automatically supplement the list of
188              printers.
189            </para>
190          </listitem>
191        </varlistentry>
192
193        <varlistentry>
194          <term><filename>${XPCONFIGDIR}/C/print/attributes/printer</filename></term>
195          <listitem>
196            <para>
197              The 'printer' file maps printer names to model
198              configurations (see 'model-config' below).  For example,
199              "mylaser" could be mapped to a "HPDJ1600C", and all other
200              arbitrary printers could be mapped to a default, such as
201              "HPLJ4SI".  When depending on <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> in the Xprinters
202              file, setting up defaults in 'printer' becomes all the
203              more important.
204            </para>
205          </listitem>
206        </varlistentry>
207
208        <varlistentry>
209          <term><filename>${XPCONFIGDIR}/C/print/attributes/document</filename></term>
210          <listitem>
211            <para>
212              The 'document' file specifies the initial document values
213              for any print jobs.  For example, which paper tray to
214              use, what default resolution, etc.
215            </para>
216          </listitem>
217        </varlistentry>
218
219        <varlistentry>
220          <term><filename>${XPCONFIGDIR}/C/print/attributes/job</filename></term>
221          <listitem>
222            <para>
223              The 'job' file specifies the initial job values for any
224              print jobs.  For example, "notification-profile" can be
225              set so that when a print job is successfully sent to a
226              printer, e-mail is sent to the user.
227            </para>
228          </listitem>
229        </varlistentry>
230
231        <varlistentry>
232          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/model-config</filename></term>
233          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir</filename></term>
234          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf</filename></term>
235          <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf</filename></term>
236
237          <listitem>
238            <para>
239              The 'model-config' file has attributes that describe the
240              printer model&rsquo;s capabilities and default settings.
241              Printer model fonts may also be present.  The model-config
242              file also identifies the print ddx driver to be used.
243
244              For each printer model supported, a complete hierarchy of
245              files should exist.  In most cases, these files do not
246              need to be modified.
247            </para>
248          </listitem>
249        </varlistentry>
250
251        <varlistentry>
252          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pcl</filename></term>
253          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pdf</filename></term>
254          <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/postscript</filename></term>
255
256          <listitem>
257            <para>
258              The print ddx drivers can have highly specific
259              configuration files to control their behavior.  In most
260              cases, these files do not need to be modified.
261            </para>
262          </listitem>
263        </varlistentry>
264      </variablelist>
265
266      More information in how to configure and customize the X print server can be found in the
267      <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry>
268      manual page.
269    </para>
270  </refsect1>
271
272  <refsect1>
273    <title>STARTING UP</title>
274    <para>
275      The summary checklist for starting the X Print Service is as follows:
276
277      <orderedlist>
278        <listitem>
279          <para>
280            Choose an execution model for the X Print Service.  The X
281            Print Service can be run on a per-user session basis, per
282            machine basis, or can be run on a few machines globally
283            available to a number of users.
284          </para>
285        </listitem>
286        <listitem>
287          <para>
288            If print jobs are to be submitted to a spooler (almost always
289            the case), make sure all needed printers are available to the
290            spooler subsystem (most often <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
291            on the same machine running the X Print Service.
292          </para>
293        </listitem>
294        <listitem>
295          <para>
296            Configure the X Print Server.  See ``X Print Server
297            Configuration''.
298          </para>
299        </listitem>
300        <listitem>
301          <para>
302            Depending on #1, start the X Print Server process "Xprt", and
303            then the toolkit-specific Print Dialog Manager Daemon process
304            (such as CDEnext's "dtpdmd") at the appropriate times.
305            Note that libXprintUtils-based applications/toolkits do not need
306            a Print Dialog Manager Daemon process to use Xprint.
307          </para>
308        </listitem>
309      </orderedlist>
310      The details are described below.
311    </para>
312    <para>
313      Because the X Print Service is based on X, it can be easily distributed.
314      The most significant factors in which execution model to choose will be
315      driven by:
316      <itemizedlist>
317        <listitem>
318          <para>
319            how many printers will be accessable through the printer
320            subsystem on any given machine.  A system administrator may
321            choose to cluster printers on a few given machines, or
322            scatter them across an organization and possibly make
323            extensive use of remote spoolers to make them globally
324            available.
325          </para>
326        </listitem>
327        <listitem>
328          <para>
329            how many machines will need a copy of the X Print Server
330            configuration files.  The files have been architected so
331            that one super-set version of them can be maintained and
332            distributed (e.g.  via NFS), and a per-machine or per-user
333            version of the `Xprinters' is all that is needed to have the
334            appropriate information in them utilized or ignored.
335          </para>
336        </listitem>
337        <listitem>
338          <para>
339            how many users can demand services from a given X Print
340            Service.
341          </para>
342        </listitem>
343      </itemizedlist>
344
345      With the above in mind, some obvious execution models include:
346      <itemizedlist>
347        <listitem>
348          <para>
349            Global - in this model, the system administrator is choosing
350            to run the X Print Service on a *few* select machines with
351            appropriate printers configured, and allow clients access to
352            the global resource.  This can centralize the administration
353            of printers and configuration files, but may have to be
354            monitored for performance loading.
355          </para>
356          <para>
357            Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
358          </para>
359        </listitem>
360
361        <listitem>
362          <para>
363            Per-machine - every machine with potential X Print Service
364            users would run the service.  Printer and configuration file
365            administration is decentralized, and usage would be limited
366            to the users on the machine.
367          </para>
368          <para>
369            Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
370          </para>
371        </listitem>
372
373        <listitem>
374          <para>
375            Per-user session - every user would run an entire X Print
376            Service for themselves.  In the future, the Video X Server
377            normally started may contain Print X Server capability, so
378            this model becomes very natural.
379          </para>
380          <para>
381            Startup would likely be done at session login or by
382            launching actions or processes manually once the user
383            logs in.  Note: Deamons like "dtpdmd" must be started after Xprt.
384          </para>
385        </listitem>
386      </itemizedlist>
387     </para>
388     <para>
389       Starting of the processes is straight forward.  In strict order (example is for manually starting the X print server for CDEnext usage):
390       <orderedlist>
391         <listitem>
392           <para>
393             <programlisting>[machineA] % Xprt [-XpFile &lt;Xprinters file&gt;] [:dispNum] &amp;</programlisting>
394           </para>
395           <para>
396             Note that Xprt will look for configuration files in either
397             a default location or where <envar>XPCONFIGDIR</envar> points.
398           </para>
399           <para>
400             <option>-XpFile</option> specifies an alternate `Xprinters' file, rather
401             than the default one or `<filename>${XPCONFIGDIR}/C/print/Xprinters</filename>'.
402           </para>
403         </listitem>
404         <listitem>
405           <para>
406             <programlisting>[machineA] % dtpdmd -d machineA[:dispNum] [-l /tmp/dtpdmd.log] &amp;</programlisting>
407           </para>
408           <para>
409            The dtpdmd will maintain an X-Selection on the X-Server,
410            and will start dtpdm's as required to service requests.
411           </para>
412         </listitem>
413       </orderedlist>
414     </para>
415     <para>
416       In all but the per-user session model, the machine running the dtpdmd
417       (thus dtpdm's) will need display authorization to the users video
418       display.
419    </para>
420  </refsect1>
421
422  <refsect1>
423    <title>CLIENT CONFIGURATION</title>
424    <para>
425      Once a X Print Server and dtpdmd have been started -- many of them
426      in some cases -- clients will need to find and use them.  There are
427      two mechanisms that allow clients to discover X Print Servers and
428      printers.
429
430      <itemizedlist>
431        <listitem>
432          <para>
433            "X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
434            applications, the following notation is understood:
435          </para>
436          <para>
437            <programlisting>printer_name@machine[:dispNum]</programlisting>
438          </para>
439          <para>
440            For example:
441          </para>
442          <para>
443            <programlisting>colorlj7@printhub:2</programlisting>
444          </para>
445          <para>
446           In the above example, the X Print Server running at `printhub:2'
447           is assumed to support the printer named `colorlj7'.
448          </para>
449        </listitem>
450        <listitem>
451          <para>
452            <envar>${XPSERVERLIST}</envar> - assuming usage of the DtPrint print dialogs,
453            the environment variable <envar>${XPSERVERLIST}</envar> can contain a list
454            of X Print Servers.  For example:
455          </para>
456          <para>
457            <programlisting>XPSERVERLIST="printhub:2 printhub:3 otherdept:0"</programlisting>
458          </para>
459          <para>
460            Then in the dialogs, only a printer name needs to be entered.
461            The dialog will then search the X Print Servers in <envar>${XPSERVERLIST}</envar>
462            for a server than supports the printer, and then establish
463            contact.
464          </para>
465        </listitem>
466      </itemizedlist>
467    </para>
468  </refsect1>
469
470  <refsect1>
471    <title>END-USER SEQUENCE</title>
472    <para>
473      From most CDEnext applications, printing is accomplished by bringing
474      down the &lt;File&gt; menu and selecting &lt;Print...&gt;.  This will result in
475      the DtPrintSetupBox dialog, which will request the name of a printer,
476      and offer limited capability to configure print options (e.g. number
477      of copies).  If the user wishes, they can select &lt;Setup...&gt;, which
478      will start a dtpdm capable of modifying additional print options.
479      Finally, the user should select &lt;Print&gt;.
480    </para>
481  </refsect1>
482
483  <refsect1>
484    <title>ENVIRONMENT</title>
485    <variablelist>
486      <varlistentry>
487        <term><envar>${XPCONFIGDIR}</envar></term>
488        <listitem>
489          <para> This environment variable points to the  root
490	    of  the Xprint server configuration directory hierarchy.
491	    If the variable is not defined,  the  default
492	    path  is be assumed.  The default path may be
493            <filename>/usr/X11R6/lib/X11/xserver/</filename>,
494            <filename>/usr/lib/X11/xserver/</filename>,
495            <filename>/usr/share/Xprint/xserver/</filename> or
496            <filename>/usr/openwin/server/etc/XpConfig</filename>, depending on the
497	    system, and may be configured in <filename>/etc/init.d/xprint</filename>.</para>
498        </listitem>
499      </varlistentry>
500
501      <varlistentry>
502        <term><envar>${LANG}</envar></term>
503        <listitem>
504          <para>
505            This environment variable selects the locale settings used by the Xprint server.
506            Xprt allows language-specific settings (stored in <filename>${XPCONFIGDIR}/${LANG}/print/</filename>)
507            which will override the default settings (stored in <filename>${XPCONFIGDIR}/C/print/</filename>).
508            If <envar>${LANG}</envar> is not set "C" is assumed.
509          </para>
510        </listitem>
511      </varlistentry>
512
513      <varlistentry>
514        <term><envar>${XPSERVERLIST}</envar></term>
515        <listitem>
516	    <para>The environment variable <envar>${XPSERVERLIST}</envar> contains a list
517	    of display identifiers (separated by whitespace) which tell an
518	    application where it can find the Xprint servers.  Usually
519	    <envar>${XPSERVERLIST}</envar> is set by the profile startup scripts (e.g.
520	    <filename>/etc/profile</filename> or <filename>/etc/profile.d/xprint.sh</filename>) using the output of
521	    <userinput>/etc/init.d/xprint get_xpserverlist</userinput>.</para>
522	  <para>Example:
523	    <informalexample>
524	      <programlisting>
525		export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"</programlisting>
526	    </informalexample>
527	  </para>
528	  <para>Alternatively <envar>${XPSERVERLIST}</envar> can be set
529	    manually. Example:</para>
530	    <informalexample>
531	      <programlisting>
532		export XPSERVERLIST="littlecat:80 bitdog:72"</programlisting>
533	    </informalexample>
534	  <para>
535	    instructs an application to find an Xprint server at display
536	    80 on the machine "littlecat" and at display 72 on the
537	    machine bigdog.
538	  </para>
539	</listitem>
540      </varlistentry>
541
542      <varlistentry>
543        <term><envar>${XPRINTER}</envar>
544        </term>
545        <listitem>
546          <para>The environment variable <envar>${XPRINTER}</envar>
547	    defines the default printer used by print
548	    applications. The syntax is either
549	    <replaceable>printername</replaceable> or
550	    <replaceable>printername</replaceable>@<replaceable>display</replaceable>.</para>
551	    <para>Examples:
552	    <variablelist>
553	      <varlistentry>
554		<term><userinput>XPRINTER=ps003</userinput></term>
555		<listitem><para>
556		  tells an application to look for the
557		  first printer named "ps003" on all Xprint
558		  servers.</para>
559		</listitem>
560	      </varlistentry>
561
562	      <varlistentry>
563		<!-- brain dead <term> does not permit quote marks
564		(in XPRINTER="hplaser19@littlecat:80"), so omit them -->
565		<term><userinput>XPRINTER=hplaser19@littlecat:80</userinput></term>
566		<listitem><para>
567		  tells an application to use the printer "hplaser19"
568		on the Xprint server at display
569		  "littlecat:80".</para>
570	      </listitem>
571	      </varlistentry>
572
573	    </variablelist>
574	  </para>
575	  <para>If <envar>${XPRINTER}</envar> is not set the applications
576	    will examine the values of the <envar>${PDPRINTER}</envar>,
577	    <envar>${LPDEST}</envar>, and
578	    <envar>${PRINTER}</envar> environment variables (in that order).
579	  </para>
580        </listitem>
581      </varlistentry>
582    </variablelist>
583  </refsect1>
584
585  <refsect1>
586    <title>SEE ALSO</title>
587    <para>
588      <simplelist type="inline">
589        <!-- specific references -->
590        <!-- none -->
591
592        <!-- Xprint general references -->
593<!--
594        <member><citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
595-->
596        <member><citerefentry><refentrytitle>X11</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
597        <member><citerefentry><refentrytitle>xplsprinters</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
598        <member><citerefentry><refentrytitle>xprehashprinterlist</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
599        <member><citerefentry><refentrytitle>xphelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
600        <member><citerefentry><refentrytitle>xpxmhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
601        <member><citerefentry><refentrytitle>xpawhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
602        <member><citerefentry><refentrytitle>xpxthelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
603        <member><citerefentry><refentrytitle>xpsimplehelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
604        <member><citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
605        <member><citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
606        <!-- ToDO: Add manual pages for the single Xprint DDX implementations (PostScript/PDF/PCL/PCL-MONO/Raster/etc.) -->
607        <member><citerefentry><refentrytitle>libXp</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
608        <member><citerefentry><refentrytitle>libXprintUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
609        <member><citerefentry><refentrytitle>libXprintAppUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
610        <member><citerefentry><refentrytitle>XmPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
611        <member><citerefentry><refentrytitle>XawPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
612        <member>Xprint FAQ (<ulink url="http://xprint.mozdev.org/docs/Xprint_FAQ.html">http://xprint.mozdev.org/docs/Xprint_FAQ.html</ulink>)</member>
613        <member>Xprint main site (<ulink url="http://xprint.mozdev.org/">http://xprint.mozdev.org/</ulink>)</member>
614      </simplelist>
615    </para>
616  </refsect1>
617
618  <refsect1>
619    <title>AUTHORS</title>
620    <para>
621      This manual page was written by
622      Roland Mainz <email>roland.mainz@nrubsig.org</email> based on the original X11R6.6
623      <filename>xc/programs/Xserver/XpConfig/README</filename>.
624    </para>
625  </refsect1>
626</refentry>
627
628