summaryrefslogtreecommitdiffstats
path: root/docs-xml/smbdotconf/printing
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:47:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:47:29 +0000
commit4f5791ebd03eaec1c7da0865a383175b05102712 (patch)
tree8ce7b00f7a76baa386372422adebbe64510812d4 /docs-xml/smbdotconf/printing
parentInitial commit. (diff)
downloadsamba-4f5791ebd03eaec1c7da0865a383175b05102712.tar.xz
samba-4f5791ebd03eaec1c7da0865a383175b05102712.zip
Adding upstream version 2:4.17.12+dfsg.upstream/2%4.17.12+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'docs-xml/smbdotconf/printing')
-rw-r--r--docs-xml/smbdotconf/printing/addportcommand.xml26
-rw-r--r--docs-xml/smbdotconf/printing/addprintercommand.xml64
-rw-r--r--docs-xml/smbdotconf/printing/cupsconnectiontimeout.xml19
-rw-r--r--docs-xml/smbdotconf/printing/cupsencrypt.xml25
-rw-r--r--docs-xml/smbdotconf/printing/cupsoptions.xml35
-rw-r--r--docs-xml/smbdotconf/printing/cupsserver.xml26
-rw-r--r--docs-xml/smbdotconf/printing/defaultdevmode.xml37
-rw-r--r--docs-xml/smbdotconf/printing/deleteprintercommand.xml36
-rw-r--r--docs-xml/smbdotconf/printing/disablespoolss.xml23
-rw-r--r--docs-xml/smbdotconf/printing/enablespoolss.xml12
-rw-r--r--docs-xml/smbdotconf/printing/enumportscommand.xml25
-rw-r--r--docs-xml/smbdotconf/printing/forceprintername.xml38
-rw-r--r--docs-xml/smbdotconf/printing/iprintserver.xml19
-rw-r--r--docs-xml/smbdotconf/printing/loadprinters.xml13
-rw-r--r--docs-xml/smbdotconf/printing/lppausecommand.xml41
-rw-r--r--docs-xml/smbdotconf/printing/lpqcachetime.xml28
-rw-r--r--docs-xml/smbdotconf/printing/lpqcommand.xml41
-rw-r--r--docs-xml/smbdotconf/printing/lpresumecommand.xml38
-rw-r--r--docs-xml/smbdotconf/printing/lprmcommand.xml35
-rw-r--r--docs-xml/smbdotconf/printing/maxprintjobs.xml15
-rw-r--r--docs-xml/smbdotconf/printing/maxreportedprintjobs.xml18
-rw-r--r--docs-xml/smbdotconf/printing/os2drivermap.xml24
-rw-r--r--docs-xml/smbdotconf/printing/printable.xml17
-rw-r--r--docs-xml/smbdotconf/printing/printcapcachetime.xml18
-rw-r--r--docs-xml/smbdotconf/printing/printcapname.xml54
-rw-r--r--docs-xml/smbdotconf/printing/printcommand.xml87
-rw-r--r--docs-xml/smbdotconf/printing/printername.xml27
-rw-r--r--docs-xml/smbdotconf/printing/printing.xml45
-rw-r--r--docs-xml/smbdotconf/printing/printjobusername.xml15
-rw-r--r--docs-xml/smbdotconf/printing/printnotifybackchannel.xml16
-rw-r--r--docs-xml/smbdotconf/printing/queuepausecommand.xml28
-rw-r--r--docs-xml/smbdotconf/printing/queueresumecommand.xml30
-rw-r--r--docs-xml/smbdotconf/printing/showaddprinterwizard.xml34
-rw-r--r--docs-xml/smbdotconf/printing/spoolssarchitecture.xml13
-rw-r--r--docs-xml/smbdotconf/printing/spoolssosversion.xml80
-rw-r--r--docs-xml/smbdotconf/printing/useclientdriver.xml39
36 files changed, 1141 insertions, 0 deletions
diff --git a/docs-xml/smbdotconf/printing/addportcommand.xml b/docs-xml/smbdotconf/printing/addportcommand.xml
new file mode 100644
index 0000000..c25794b
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/addportcommand.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="addport command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Samba 3.0.23 introduced support for adding printer ports
+ remotely using the Windows &quot;Add Standard TCP/IP Port Wizard&quot;.
+ This option defines an external program to be executed when
+ smbd receives a request to add a new Port to the system.
+ The script is passed two parameters:</para>
+
+ <itemizedlist>
+ <listitem><para><parameter moreinfo="none">port name</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">device URI</parameter></para></listitem>
+ </itemizedlist>
+
+ <para>The deviceURI is in the format of socket://&lt;hostname&gt;[:&lt;portnumber&gt;]
+ or lpd://&lt;hostname&gt;/&lt;queuename&gt;.</para>
+</description>
+
+<related>enum ports command</related>
+
+<value type="default"></value>
+<value type="example">/etc/samba/scripts/addport.sh</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/addprintercommand.xml b/docs-xml/smbdotconf/printing/addprintercommand.xml
new file mode 100644
index 0000000..954b437
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/addprintercommand.xml
@@ -0,0 +1,64 @@
+<samba:parameter name="addprinter command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>With the introduction of MS-RPC based printing
+ support for Windows NT/2000 clients in Samba 2.2, The MS Add
+ Printer Wizard (APW) icon is now also available in the
+ &quot;Printers...&quot; folder displayed a share listing. The APW
+ allows for printers to be add remotely to a Samba or Windows
+ NT/2000 print server.</para>
+
+ <para>For a Samba host this means that the printer must be
+ physically added to the underlying printing system.
+ The <parameter moreinfo="none">addprinter command</parameter>
+ defines a script to be run which
+ will perform the necessary operations for adding the printer
+ to the print system and to add the appropriate service definition
+ to the <filename moreinfo="none">smb.conf</filename> file in order that it can be
+ shared by <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>.</para>
+
+ <para>The <parameter moreinfo="none">addprinter command</parameter> is
+ automatically invoked with the following parameter (in
+ order):</para>
+
+ <itemizedlist>
+ <listitem><para><parameter moreinfo="none">printer name</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">share name</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">port name</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">driver name</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">location</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">Windows 9x driver location</parameter></para></listitem>
+ </itemizedlist>
+
+ <para>All parameters are filled in from the PRINTER_INFO_2 structure sent
+ by the Windows NT/2000 client with one exception. The &quot;Windows 9x
+ driver location&quot; parameter is included for backwards compatibility
+ only. The remaining fields in the structure are generated from answers
+ to the APW questions.</para>
+
+ <para>Once the <parameter moreinfo="none">addprinter command</parameter> has
+ been executed, <command moreinfo="none">smbd</command> will reparse the <filename moreinfo="none">
+ smb.conf</filename> to determine if the share defined by the APW
+ exists. If the sharename is still invalid, then <command moreinfo="none">smbd
+ </command> will return an ACCESS_DENIED error to the client.</para>
+
+ <para>
+ The <parameter moreinfo="none">addprinter command</parameter> program
+ can output a single line of text,
+ which Samba will set as the port the new printer is connected to.
+ If this line isn't output, Samba won't reload its printer shares.
+ </para>
+
+</description>
+
+<related>deleteprinter command</related>
+<related>printing</related>
+<related>show add printer wizard</related>
+
+<value type="default"></value>
+<value type="example">/usr/bin/addprinter</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/cupsconnectiontimeout.xml b/docs-xml/smbdotconf/printing/cupsconnectiontimeout.xml
new file mode 100644
index 0000000..bcb6985
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/cupsconnectiontimeout.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="cups connection timeout"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter is only applicable if <smbconfoption name="printing"/> is set to <constant>cups</constant>.
+ </para>
+
+ <para>
+ If set, this option specifies the number of seconds that smbd will wait
+ whilst trying to contact to the CUPS server. The connection will fail
+ if it takes longer than this number of seconds.
+ </para>
+</description>
+
+<value type="default">30</value>
+<value type="example">60</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/cupsencrypt.xml b/docs-xml/smbdotconf/printing/cupsencrypt.xml
new file mode 100644
index 0000000..8094abe
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/cupsencrypt.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="cups encrypt"
+ context="G"
+ type="enum"
+ enumlist="enum_bool_auto"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter is only applicable if <smbconfoption name="printing"/>
+ is set to <constant>cups</constant> and if you use CUPS newer than
+ 1.0.x.It is used to define whether or not Samba should use encryption
+ when talking to the CUPS server. Possible values are
+ <emphasis>auto</emphasis>, <emphasis>yes</emphasis> and
+ <emphasis>no</emphasis>
+ </para>
+
+ <para>
+ When set to auto we will try to do a TLS handshake on each CUPS
+ connection setup. If that fails, we will fall back to unencrypted
+ operation.
+ </para>
+
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/cupsoptions.xml b/docs-xml/smbdotconf/printing/cupsoptions.xml
new file mode 100644
index 0000000..833ba30
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/cupsoptions.xml
@@ -0,0 +1,35 @@
+<samba:parameter name="cups options"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter is only applicable if <smbconfoption name="printing"/> is
+ set to <constant>cups</constant>. Its value is a free form string of options
+ passed directly to the cups library.
+ </para>
+
+ <para>
+ You can pass any generic print option known to CUPS (as listed
+ in the CUPS "Software Users' Manual"). You can also pass any printer
+ specific option (as listed in "lpoptions -d printername -l")
+ valid for the target queue.
+ Multiple parameters should be space-delimited name/value pairs according to
+ the PAPI text option ABNF specification. Collection values
+ ("name={a=... b=... c=...}") are stored with the curley brackets intact.
+ </para>
+
+ <para>
+ You should set this parameter to <constant>raw</constant> if your CUPS server
+ <filename>error_log</filename> file contains messages such as
+ "Unsupported format 'application/octet-stream'" when printing from a Windows client
+ through Samba. It is no longer necessary to enable
+ system wide raw printing in <filename>/etc/cups/mime.{convs,types}</filename>.
+ </para>
+
+</description>
+
+<value type="default">""</value>
+<value type="example">"raw media=a4"</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/cupsserver.xml b/docs-xml/smbdotconf/printing/cupsserver.xml
new file mode 100644
index 0000000..c18c115
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/cupsserver.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="cups server"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter is only applicable if <smbconfoption name="printing"/> is set to <constant>cups</constant>.
+ </para>
+
+ <para>
+ If set, this option overrides the ServerName option in the CUPS <filename>client.conf</filename>. This is
+ necessary if you have virtual samba servers that connect to different CUPS daemons.
+ </para>
+
+ <para>Optionally, a port can be specified by separating the server name
+ and port number with a colon. If no port was specified,
+ the default port for IPP (631) will be used.
+ </para>
+
+</description>
+
+<value type="default">""</value>
+<value type="example">mycupsserver</value>
+<value type="example">mycupsserver:1631</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/defaultdevmode.xml b/docs-xml/smbdotconf/printing/defaultdevmode.xml
new file mode 100644
index 0000000..f86de9b
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/defaultdevmode.xml
@@ -0,0 +1,37 @@
+<samba:parameter name="default devmode"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter is only applicable to <smbconfoption name="printable"/> services.
+ When smbd is serving Printer Drivers to Windows NT/2k/XP clients, each printer on the Samba
+ server has a Device Mode which defines things such as paper size and
+ orientation and duplex settings. The device mode can only correctly be
+ generated by the printer driver itself (which can only be executed on a
+ Win32 platform). Because smbd is unable to execute the driver code
+ to generate the device mode, the default behavior is to set this field
+ to NULL.
+ </para>
+
+ <para>Most problems with serving printer drivers to Windows NT/2k/XP clients
+ can be traced to a problem with the generated device mode. Certain drivers
+ will do things such as crashing the client's Explorer.exe with a NULL devmode.
+ However, other printer drivers can cause the client's spooler service
+ (spoolsv.exe) to die if the devmode was not created by the driver itself
+ (i.e. smbd generates a default devmode).
+ </para>
+
+ <para>This parameter should be used with care and tested with the printer
+ driver in question. It is better to leave the device mode to NULL
+ and let the Windows client set the correct values. Because drivers do not
+ do this all the time, setting <command moreinfo="none">default devmode = yes</command>
+ will instruct smbd to generate a default one.
+ </para>
+
+ <para>For more information on Windows NT/2k printing and Device Modes,
+ see the <ulink url="http://msdn.microsoft.com/">MSDN documentation</ulink>.
+</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/deleteprintercommand.xml b/docs-xml/smbdotconf/printing/deleteprintercommand.xml
new file mode 100644
index 0000000..6d70ddc
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/deleteprintercommand.xml
@@ -0,0 +1,36 @@
+<samba:parameter name="deleteprinter command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>With the introduction of MS-RPC based printer
+ support for Windows NT/2000 clients in Samba 2.2, it is now
+ possible to delete a printer at run time by issuing the
+ DeletePrinter() RPC call.</para>
+
+ <para>For a Samba host this means that the printer must be
+ physically deleted from the underlying printing system. The
+ <smbconfoption name="deleteprinter command"/> defines a script to be run which
+ will perform the necessary operations for removing the printer
+ from the print system and from <filename moreinfo="none">smb.conf</filename>.
+ </para>
+
+ <para>The <smbconfoption name="deleteprinter command"/> is
+ automatically called with only one parameter: <smbconfoption name="printer name"/>.
+ </para>
+
+ <para>Once the <smbconfoption name="deleteprinter command"/> has
+ been executed, <command moreinfo="none">smbd</command> will reparse the <filename moreinfo="none">
+ smb.conf</filename> to check that the associated printer no longer exists.
+ If the sharename is still valid, then <command moreinfo="none">smbd
+ </command> will return an ACCESS_DENIED error to the client.</para>
+</description>
+
+<related>addprinter command</related>
+<related>printing</related>
+<related>show add printer wizard</related>
+
+<value type="default"></value>
+<value type="example">/usr/bin/removeprinter</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/disablespoolss.xml b/docs-xml/smbdotconf/printing/disablespoolss.xml
new file mode 100644
index 0000000..4710002
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/disablespoolss.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="disable spoolss"
+ context="G"
+ type="boolean"
+ function="_disable_spoolss"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Enabling this parameter will disable Samba's support
+ for the SPOOLSS set of MS-RPC's and will yield identical behavior
+ as Samba 2.0.x. Windows NT/2000 clients will downgrade to using
+ Lanman style printing commands. Windows 9x/ME will be unaffected by
+ the parameter. However, this will also disable the ability to upload
+ printer drivers to a Samba server via the Windows NT Add Printer
+ Wizard or by using the NT printer properties dialog window. It will
+ also disable the capability of Windows NT/2000 clients to download
+ print drivers from the Samba host upon demand.
+ <emphasis>Be very careful about enabling this parameter.</emphasis>
+</para>
+</description>
+
+<related>use client driver</related>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/enablespoolss.xml b/docs-xml/smbdotconf/printing/enablespoolss.xml
new file mode 100644
index 0000000..68e09bf
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/enablespoolss.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="enable spoolss"
+ context="G"
+ type="boolean-rev"
+ function="_disable_spoolss"
+ synonym="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Inverted synonym for <smbconfoption name="disable spoolss"/>.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/enumportscommand.xml b/docs-xml/smbdotconf/printing/enumportscommand.xml
new file mode 100644
index 0000000..1258042
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/enumportscommand.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="enumports command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The concept of a &quot;port&quot; is fairly foreign
+ to UNIX hosts. Under Windows NT/2000 print servers, a port
+ is associated with a port monitor and generally takes the form of
+ a local port (i.e. LPT1:, COM1:, FILE:) or a remote port
+ (i.e. LPD Port Monitor, etc...). By default, Samba has only one
+ port defined--<constant>&quot;Samba Printer Port&quot;</constant>. Under
+ Windows NT/2000, all printers must have a valid port name.
+ If you wish to have a list of ports displayed (<command moreinfo="none">smbd
+ </command> does not use a port name for anything) other than
+ the default <constant>&quot;Samba Printer Port&quot;</constant>, you
+ can define <parameter moreinfo="none">enumports command</parameter> to point to
+ a program which should generate a list of ports, one per line,
+ to standard output. This listing will then be used in response
+ to the level 1 and 2 EnumPorts() RPC.</para>
+</description>
+
+<value type="default"></value>
+<value type="example">/usr/bin/listports</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/forceprintername.xml b/docs-xml/smbdotconf/printing/forceprintername.xml
new file mode 100644
index 0000000..607d176
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/forceprintername.xml
@@ -0,0 +1,38 @@
+<samba:parameter name="force printername"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>When printing from Windows NT (or later),
+ each printer in <filename>smb.conf</filename> has two
+ associated names which can be used by the client. The first
+ is the sharename (or shortname) defined in smb.conf. This
+ is the only printername available for use by Windows 9x clients.
+ The second name associated with a printer can be seen when
+ browsing to the "Printers" (or "Printers and Faxes") folder
+ on the Samba server. This is referred to simply as the printername
+ (not to be confused with the <parameter>printer name</parameter> option).
+ </para>
+
+ <para>When assigning a new driver to a printer on a remote
+ Windows compatible print server such as Samba, the Windows client
+ will rename the printer to match the driver name just uploaded.
+ This can result in confusion for users when multiple
+ printers are bound to the same driver. To prevent Samba from
+ allowing the printer's printername to differ from the sharename
+ defined in smb.conf, set <parameter>force printername = yes</parameter>.
+ </para>
+
+ <para>Be aware that enabling this parameter may affect migrating
+ printers from a Windows server to Samba since Windows has no way to
+ force the sharename and printername to match.</para>
+
+ <para>It is recommended that this parameter's value not be changed
+ once the printer is in use by clients as this could cause a user
+ not be able to delete printer connections from their local Printers
+ folder.</para>
+
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/iprintserver.xml b/docs-xml/smbdotconf/printing/iprintserver.xml
new file mode 100644
index 0000000..16e3623
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/iprintserver.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="iprint server"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter is only applicable if <smbconfoption name="printing"/> is set to <constant>iprint</constant>.
+ </para>
+
+ <para>
+ If set, this option overrides the ServerName option in the CUPS <filename>client.conf</filename>. This is
+ necessary if you have virtual samba servers that connect to different CUPS daemons.
+ </para>
+</description>
+
+<value type="default">""</value>
+<value type="example">MYCUPSSERVER</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/loadprinters.xml b/docs-xml/smbdotconf/printing/loadprinters.xml
new file mode 100644
index 0000000..83e0f4c
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/loadprinters.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="load printers"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>A boolean variable that controls whether all
+ printers in the printcap will be loaded for browsing by default.
+ See the <smbconfoption name="printers"/> section for
+ more details.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/lppausecommand.xml b/docs-xml/smbdotconf/printing/lppausecommand.xml
new file mode 100644
index 0000000..3aa134c
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/lppausecommand.xml
@@ -0,0 +1,41 @@
+<samba:parameter name="lppause command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to stop printing or spooling
+ a specific print job.</para>
+
+ <para>This command should be a program or script which takes
+ a printer name and job number to pause the print job. One way
+ of implementing this is by using job priorities, where jobs
+ having a too low priority won't be sent to the printer.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with
+ the job number (an integer). On HPUX (see <parameter moreinfo="none">printing=hpux
+ </parameter>), if the <parameter moreinfo="none">-p%p</parameter> option is added
+ to the lpq command, the job will show up with the correct status, i.e.
+ if the job priority is lower than the set fence priority it will
+ have the PAUSED status, whereas if the priority is equal or higher it
+ will have the SPOOLED or PRINTING status.</para>
+
+ <para>Note that it is good practice to include the absolute path
+ in the lppause command as the PATH may not be available to the server.</para>
+
+ <para>Currently no default value is given to
+ this string, unless the value of the <smbconfoption name="printing"/>
+ parameter is <constant>SYSV</constant>, in which case the default is :
+ <command moreinfo="none">lp -i %p-%j -H hold</command> or if the value of the
+ <parameter moreinfo="none">printing</parameter> parameter is
+ <constant>SOFTQ</constant>, then the default is:
+ <command moreinfo="none">qstat -s -j%j -h</command>. </para>
+
+</description>
+
+<related>printing</related>
+
+<value type="default"><comment>determined by printing parameter</comment></value>
+<value type="example">/usr/bin/lpalt %p-%j -p0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/lpqcachetime.xml b/docs-xml/smbdotconf/printing/lpqcachetime.xml
new file mode 100644
index 0000000..0b3670a
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/lpqcachetime.xml
@@ -0,0 +1,28 @@
+<samba:parameter name="lpq cache time"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This controls how long lpq info will be cached
+ for to prevent the <command moreinfo="none">lpq</command> command being called too
+ often. A separate cache is kept for each variation of the <command moreinfo="none">
+ lpq</command> command used by the system, so if you use different
+ <command moreinfo="none">lpq</command> commands for different users then they won't
+ share cache information.</para>
+
+ <para>The cache files are stored in <filename moreinfo="none">/tmp/lpq.xxxx</filename>
+ where xxxx is a hash of the <command moreinfo="none">lpq</command> command in use.</para>
+
+ <para>The default is 30 seconds, meaning that the cached results
+ of a previous identical <command moreinfo="none">lpq</command> command will be used
+ if the cached data is less than 30 seconds old. A large value may
+ be advisable if your <command moreinfo="none">lpq</command> command is very slow.</para>
+
+<para>A value of 0 will disable caching completely.</para>
+</description>
+
+<related>printing</related>
+
+<value type="default">30</value>
+<value type="example">10</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/lpqcommand.xml b/docs-xml/smbdotconf/printing/lpqcommand.xml
new file mode 100644
index 0000000..f3c17f2
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/lpqcommand.xml
@@ -0,0 +1,41 @@
+<samba:parameter name="lpq command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to obtain <command moreinfo="none">lpq
+ </command>-style printer status information.</para>
+
+ <para>This command should be a program or script which
+ takes a printer name as its only parameter and outputs printer
+ status information.</para>
+
+ <para>Currently nine styles of printer status information
+ are supported; BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX, CUPS, and SOFTQ.
+ This covers most UNIX systems. You control which type is expected
+ using the <parameter moreinfo="none">printing =</parameter> option.</para>
+
+ <para>Some clients (notably Windows for Workgroups) may not
+ correctly send the connection number for the printer they are
+ requesting status information about. To get around this, the
+ server reports on the first printer service connected to by the
+ client. This only happens if the connection number sent is invalid.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. Otherwise it is placed at the end of the
+ command.</para>
+
+ <para>Note that it is good practice to include the absolute path
+ in the <parameter moreinfo="none">lpq command</parameter> as the <envar>$PATH
+ </envar> may not be available to the server. When compiled with
+ the CUPS libraries, no <parameter moreinfo="none">lpq command</parameter> is
+ needed because smbd will make a library call to obtain the
+ print queue listing.</para>
+</description>
+
+<related>printing</related>
+
+<value type="example">/usr/bin/lpq -P%p</value>
+<value type="default"><comment>determined by printing parameter</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/lpresumecommand.xml b/docs-xml/smbdotconf/printing/lpresumecommand.xml
new file mode 100644
index 0000000..153ba76
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/lpresumecommand.xml
@@ -0,0 +1,38 @@
+<samba:parameter name="lpresume command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to restart or continue
+ printing or spooling a specific print job.</para>
+
+ <para>This command should be a program or script which takes
+ a printer name and job number to resume the print job. See
+ also the <smbconfoption name="lppause command"/> parameter.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with
+ the job number (an integer).</para>
+
+ <para>Note that it is good practice to include the absolute path
+ in the <parameter moreinfo="none">lpresume command</parameter> as the PATH may not
+ be available to the server.</para>
+
+ <para>See also the <smbconfoption name="printing"/> parameter.</para>
+
+ <para>Default: Currently no default value is given
+ to this string, unless the value of the <parameter moreinfo="none">printing</parameter>
+ parameter is <constant>SYSV</constant>, in which case the default is:</para>
+
+ <para><command moreinfo="none">lp -i %p-%j -H resume</command></para>
+
+ <para>or if the value of the <parameter moreinfo="none">printing</parameter> parameter
+ is <constant>SOFTQ</constant>, then the default is:</para>
+
+ <para><command moreinfo="none">qstat -s -j%j -r</command></para>
+</description>
+
+<value type="default"><comment>determined by printing parameter</comment></value>
+<value type="example">/usr/bin/lpalt %p-%j -p2</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/lprmcommand.xml b/docs-xml/smbdotconf/printing/lprmcommand.xml
new file mode 100644
index 0000000..4b7f3dd
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/lprmcommand.xml
@@ -0,0 +1,35 @@
+<samba:parameter name="lprm command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to delete a print job.</para>
+
+ <para>This command should be a program or script which takes
+ a printer name and job number, and deletes the print job.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with
+ the job number (an integer).</para>
+
+ <para>Note that it is good practice to include the absolute
+ path in the <parameter moreinfo="none">lprm command</parameter> as the PATH may not be
+ available to the server.</para>
+
+ <para>
+ Examples of use are:
+<programlisting>
+lprm command = /usr/bin/lprm -P%p %j
+
+or
+
+lprm command = /usr/bin/cancel %p-%j
+</programlisting>
+ </para>
+
+</description>
+<related>printing</related>
+
+<value type="default"><comment>determined by printing parameter</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/maxprintjobs.xml b/docs-xml/smbdotconf/printing/maxprintjobs.xml
new file mode 100644
index 0000000..f37ff0a
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/maxprintjobs.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="max print jobs"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter limits the maximum number of
+ jobs allowable in a Samba printer queue at any given moment.
+ If this number is exceeded, <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will remote &quot;Out of Space&quot; to the client.
+ </para>
+</description>
+
+<value type="default">1000</value>
+<value type="example">5000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/maxreportedprintjobs.xml b/docs-xml/smbdotconf/printing/maxreportedprintjobs.xml
new file mode 100644
index 0000000..5cfd21f
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/maxreportedprintjobs.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="max reported print jobs"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter limits the maximum number of jobs displayed in a port monitor for
+ Samba printer queue at any given moment. If this number is exceeded, the excess
+ jobs will not be shown. A value of zero means there is no limit on the number of
+ print jobs reported.
+ </para>
+</description>
+
+<related>max print jobs</related>
+
+<value type="default">0</value>
+<value type="example">1000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/os2drivermap.xml b/docs-xml/smbdotconf/printing/os2drivermap.xml
new file mode 100644
index 0000000..c845f33
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/os2drivermap.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="os2 driver map"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The parameter is used to define the absolute
+ path to a file containing a mapping of Windows NT printer driver
+ names to OS/2 printer driver names. The format is:</para>
+
+ <para>&lt;nt driver name&gt; = &lt;os2 driver name&gt;.&lt;device name&gt;</para>
+
+ <para>For example, a valid entry using the HP LaserJet 5
+ printer driver would appear as <command moreinfo="none">HP LaserJet 5L = LASERJET.HP
+ LaserJet 5L</command>.</para>
+
+ <para>
+ The need for the file is due to the printer driver namespace problem described in
+ the chapter on Classical Printing in the Samba3-HOWTO book. For more
+ details on OS/2 clients, please refer to chapter on other clients in the Samba3-HOWTO book.
+ </para>
+</description>
+<value type="default"/>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printable.xml b/docs-xml/smbdotconf/printing/printable.xml
new file mode 100644
index 0000000..870d888
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printable.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="printable"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>print ok</synonym>
+<description>
+ <para>If this parameter is <constant>yes</constant>, then
+ clients may open, write to and submit spool files on the directory
+ specified for the service. </para>
+
+ <para>Note that a printable service will ALWAYS allow writing
+ to the service path (user privileges permitting) via the spooling
+ of print data. The <smbconfoption name="read only"/> parameter controls only non-printing access to
+ the resource.</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printcapcachetime.xml b/docs-xml/smbdotconf/printing/printcapcachetime.xml
new file mode 100644
index 0000000..d5a4c80
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printcapcachetime.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="printcap cache time"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option specifies the number of seconds before the printing
+ subsystem is again asked for the known printers.
+ </para>
+
+ <para>Setting this parameter to 0 disables any rescanning for new
+ or removed printers after the initial startup.
+ </para>
+</description>
+
+
+<value type="default">750</value>
+<value type="example">600</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printcapname.xml b/docs-xml/smbdotconf/printing/printcapname.xml
new file mode 100644
index 0000000..3a65d23
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printcapname.xml
@@ -0,0 +1,54 @@
+<samba:parameter name="printcap name"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>printcap</synonym>
+<description>
+ <para>
+ This parameter may be used to override the compiled-in default printcap name used by the server (usually
+ <filename moreinfo="none"> /etc/printcap</filename>). See the discussion of the <link
+ linkend="PRINTERSSECT">[printers]</link> section above for reasons why you might want to do this.
+ </para>
+
+ <para>
+ To use the CUPS printing interface set <command moreinfo="none">printcap name = cups </command>. This should
+ be supplemented by an additional setting <smbconfoption name="printing">cups</smbconfoption> in the [global]
+ section. <command moreinfo="none">printcap name = cups</command> will use the &quot;dummy&quot; printcap
+ created by CUPS, as specified in your CUPS configuration file.
+ </para>
+
+ <para>
+ On System V systems that use <command moreinfo="none">lpstat</command> to
+ list available printers you can use <command moreinfo="none">printcap name = lpstat
+ </command> to automatically obtain lists of available printers. This
+ is the default for systems that define SYSV at configure time in
+ Samba (this includes most System V based systems). If <parameter moreinfo="none">
+ printcap name</parameter> is set to <command moreinfo="none">lpstat</command> on
+ these systems then Samba will launch <command moreinfo="none">lpstat -v</command> and
+ attempt to parse the output to obtain a printer list.
+ </para>
+
+ <para>
+ A minimal printcap file would look something like this:
+<programlisting format="linespecific">
+print1|My Printer 1
+print2|My Printer 2
+print3|My Printer 3
+print4|My Printer 4
+print5|My Printer 5
+</programlisting>
+ where the '|' separates aliases of a printer. The fact that the second alias has a space in
+ it gives a hint to Samba that it's a comment.
+ </para>
+
+ <note><para>
+ Under AIX the default printcap name is <filename moreinfo="none">/etc/qconfig</filename>. Samba will
+ assume the file is in AIX <filename moreinfo="none">qconfig</filename> format if the string <filename
+ moreinfo="none">qconfig</filename> appears in the printcap filename.
+ </para></note>
+
+</description>
+
+<value type="default">/etc/printcap</value>
+<value type="example">/etc/myprintcap</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printcommand.xml b/docs-xml/smbdotconf/printing/printcommand.xml
new file mode 100644
index 0000000..c84e45f
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printcommand.xml
@@ -0,0 +1,87 @@
+<samba:parameter name="print command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>After a print job has finished spooling to
+ a service, this command will be used via a <command moreinfo="none">system()</command>
+ call to process the spool file. Typically the command specified will
+ submit the spool file to the host's printing subsystem, but there
+ is no requirement that this be the case. The server will not remove
+ the spool file, so whatever command you specify should remove the
+ spool file when it has been processed, otherwise you will need to
+ manually remove old spool files.</para>
+
+ <para>The print command is simply a text string. It will be used
+ verbatim after macro substitutions have been made:</para>
+
+ <para>%s, %f - the path to the spool
+ file name</para>
+
+ <para>%p - the appropriate printer
+ name</para>
+
+ <para>%J - the job
+ name as transmitted by the client.</para>
+
+ <para>%c - The number of printed pages
+ of the spooled job (if known).</para>
+
+ <para>%z - the size of the spooled
+ print job (in bytes)</para>
+
+ <para>The print command <emphasis>MUST</emphasis> contain at least
+ one occurrence of <parameter moreinfo="none">%s</parameter> or <parameter moreinfo="none">%f
+ </parameter> - the <parameter moreinfo="none">%p</parameter> is optional. At the time
+ a job is submitted, if no printer name is supplied the <parameter moreinfo="none">%p
+ </parameter> will be silently removed from the printer command.</para>
+
+ <para>If specified in the [global] section, the print command given
+ will be used for any printable service that does not have its own
+ print command specified.</para>
+
+ <para>If there is neither a specified print command for a
+ printable service nor a global print command, spool files will
+ be created but not processed and (most importantly) not removed.</para>
+
+ <para>Note that printing may fail on some UNIXes from the
+ <constant>nobody</constant> account. If this happens then create
+ an alternative guest account that can print and set the <smbconfoption name="guest account"/>
+ in the [global] section.</para>
+
+ <para>You can form quite complex print commands by realizing
+ that they are just passed to a shell. For example the following
+ will log a print job, print the file, then remove it. Note that
+ ';' is the usual separator for command in shell scripts.</para>
+
+ <para><command moreinfo="none">print command = echo Printing %s &gt;&gt;
+ /tmp/print.log; lpr -P %p %s; rm %s</command></para>
+
+ <para>You may have to vary this command considerably depending
+ on how you normally print files on your system. The default for
+ the parameter varies depending on the setting of the <smbconfoption name="printing"/>
+ parameter.</para>
+
+ <para>Default: For <command moreinfo="none">printing = BSD, AIX, QNX, LPRNG
+ or PLP :</command></para>
+ <para><command moreinfo="none">print command = lpr -r -P%p %s</command></para>
+
+ <para>For <command moreinfo="none">printing = SYSV or HPUX :</command></para>
+ <para><command moreinfo="none">print command = lp -c -d%p %s; rm %s</command></para>
+
+ <para>For <command moreinfo="none">printing = SOFTQ :</command></para>
+ <para><command moreinfo="none">print command = lp -d%p -s %s; rm %s</command></para>
+
+ <para>For printing = CUPS : If SAMBA is compiled against
+ libcups, then <smbconfoption name="printcap">cups</smbconfoption>
+ uses the CUPS API to
+ submit jobs, etc. Otherwise it maps to the System V
+ commands with the -oraw option for printing, i.e. it
+ uses <command moreinfo="none">lp -c -d%p -oraw; rm %s</command>.
+ With <command moreinfo="none">printing = cups</command>,
+ and if SAMBA is compiled against libcups, any manually
+ set print command will be ignored.</para>
+</description>
+
+<value type="example">/usr/local/samba/bin/myprintscript %p %s</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printername.xml b/docs-xml/smbdotconf/printing/printername.xml
new file mode 100644
index 0000000..6b82ef2
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printername.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="printer name"
+ context="S"
+ type="string"
+ function="_printername"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <synonym>printer</synonym>
+<description>
+ <para>
+ This parameter specifies the name of the printer to which print jobs spooled through a printable service
+ will be sent.
+ </para>
+
+ <para>
+ If specified in the [global] section, the printer name given will be used for any printable service that
+ does not have its own printer name specified.
+ </para>
+
+ <para>
+ The default value of the <smbconfoption name="printer name"/> may be <literal>lp</literal> on many
+ systems.
+ </para>
+</description>
+
+<value type="default"></value>
+<value type="example">laserwriter</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printing.xml b/docs-xml/smbdotconf/printing/printing.xml
new file mode 100644
index 0000000..2e25621
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printing.xml
@@ -0,0 +1,45 @@
+<samba:parameter name="printing"
+ context="S"
+ type="enum"
+ enumlist="enum_printing"
+ handler="handle_printing"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameters controls how printer status information is
+ interpreted on your system. It also affects the default values for
+ the <parameter moreinfo="none">print command</parameter>, <parameter
+ moreinfo="none">lpq command</parameter>, <parameter
+ moreinfo="none">lppause command </parameter>, <parameter
+ moreinfo="none">lpresume command</parameter>, and <parameter
+ moreinfo="none">lprm command</parameter> if specified in the
+ [global] section.</para>
+
+ <para>Currently nine printing styles are supported. They are
+ <constant>BSD</constant>, <constant>AIX</constant>,
+ <constant>LPRNG</constant>, <constant>PLP</constant>,
+ <constant>SYSV</constant>, <constant>HPUX</constant>,
+ <constant>QNX</constant>, <constant>SOFTQ</constant>,
+ <constant>CUPS</constant> and <constant>IPRINT</constant>.</para>
+
+ <para>Be aware that CUPS and IPRINT are only available if the CUPS
+ development library was available at the time Samba was compiled
+ or packaged.</para>
+
+ <para>To see what the defaults are for the other print
+ commands when using the various options use the <citerefentry><refentrytitle>testparm</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> program.</para>
+
+ <para>This option can be set on a per printer basis. Please be
+ aware however, that you must place any of the various printing
+ commands (e.g. print command, lpq command, etc...) after defining
+ the value for the <parameter>printing</parameter> option since it will
+ reset the printing commands to default values.</para>
+
+ <para>See also the discussion in the <link linkend="PRINTERSSECT">
+ [printers]</link> section.</para>
+
+ <para>See <command moreinfo="none">testparm -v.</command> for the default
+ value on your system</para>
+</description>
+<value type="default"><comment>Depends on the operating system</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printjobusername.xml b/docs-xml/smbdotconf/printing/printjobusername.xml
new file mode 100644
index 0000000..06209f7
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printjobusername.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="printjob username"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies which user information will be
+ passed to the printing system. Usually, the username is sent,
+ but in some cases, e.g. the domain prefix is useful, too.</para>
+</description>
+
+<related>printing</related>
+
+<value type="example">%D\%U</value>
+<value type="default">%U</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printnotifybackchannel.xml b/docs-xml/smbdotconf/printing/printnotifybackchannel.xml
new file mode 100644
index 0000000..576bf75
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printnotifybackchannel.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="print notify backchannel"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+<para>Windows print clients can update print queue status by expecting
+ the server to open a backchannel SMB connection to them. Due to
+ client firewall settings this can cause considerable timeouts
+ and will often fail, as there is no guarantee the client is even
+ running an SMB server. By default, the Samba print server will
+ not try to connect back to clients, and will treat corresponding
+ requests as if the connection back to the client failed.
+</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/queuepausecommand.xml b/docs-xml/smbdotconf/printing/queuepausecommand.xml
new file mode 100644
index 0000000..5dca456
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/queuepausecommand.xml
@@ -0,0 +1,28 @@
+<samba:parameter name="queuepause command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to pause the printer queue.</para>
+
+ <para>This command should be a program or script which takes
+ a printer name as its only parameter and stops the printer queue,
+ such that no longer jobs are submitted to the printer.</para>
+
+ <para>This command is not supported by Windows for Workgroups,
+ but can be issued from the Printers window under Windows 95
+ and NT.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. Otherwise it is placed at the end of the command.
+ </para>
+
+ <para>Note that it is good practice to include the absolute
+ path in the command as the PATH may not be available to the
+ server.</para>
+</description>
+
+<value type="default"><comment>determined by printing parameter</comment></value>
+<value type="example">disable %p</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/queueresumecommand.xml b/docs-xml/smbdotconf/printing/queueresumecommand.xml
new file mode 100644
index 0000000..4a57333
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/queueresumecommand.xml
@@ -0,0 +1,30 @@
+<samba:parameter name="queueresume command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to resume the printer queue. It
+ is the command to undo the behavior that is caused by the
+ previous parameter (<smbconfoption name="queuepause command"/>).</para>
+
+ <para>This command should be a program or script which takes
+ a printer name as its only parameter and resumes the printer queue,
+ such that queued jobs are resubmitted to the printer.</para>
+
+ <para>This command is not supported by Windows for Workgroups,
+ but can be issued from the Printers window under Windows 95
+ and NT.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. Otherwise it is placed at the end of the
+ command.</para>
+
+ <para>Note that it is good practice to include the absolute
+ path in the command as the PATH may not be available to the
+ server.</para>
+</description>
+
+<value type="default"><comment>determined by printing parameter</comment></value>
+<value type="example">enable %p</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/showaddprinterwizard.xml b/docs-xml/smbdotconf/printing/showaddprinterwizard.xml
new file mode 100644
index 0000000..14687b8
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/showaddprinterwizard.xml
@@ -0,0 +1,34 @@
+<samba:parameter name="show add printer wizard"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>With the introduction of MS-RPC based printing support
+ for Windows NT/2000 client in Samba 2.2, a &quot;Printers...&quot; folder will
+ appear on Samba hosts in the share listing. Normally this folder will
+ contain an icon for the MS Add Printer Wizard (APW). However, it is
+ possible to disable this feature regardless of the level of privilege
+ of the connected user.</para>
+
+ <para>Under normal circumstances, the Windows NT/2000 client will
+ open a handle on the printer server with OpenPrinterEx() asking for
+ Administrator privileges. If the user does not have administrative
+ access on the print server (i.e is not root or has granted the
+ SePrintOperatorPrivilege), the OpenPrinterEx()
+ call fails and the client makes another open call with a request for
+ a lower privilege level. This should succeed, however the APW
+ icon will not be displayed.</para>
+
+ <para>Disabling the <parameter moreinfo="none">show add printer wizard</parameter>
+ parameter will always cause the OpenPrinterEx() on the server
+ to fail. Thus the APW icon will never be displayed.
+</para>
+<note><para>This does not prevent the same user from having
+ administrative privilege on an individual printer.</para></note>
+</description>
+
+<related>addprinter command</related>
+<related>deleteprinter command</related>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/spoolssarchitecture.xml b/docs-xml/smbdotconf/printing/spoolssarchitecture.xml
new file mode 100644
index 0000000..dae7390
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/spoolssarchitecture.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="spoolss: architecture"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Windows spoolss print clients only allow association of server-side drivers
+ with printers when the driver architecture matches the advertised print server
+ architecture. Samba's spoolss print server architecture can be changed using
+ this parameter.</para>
+</description>
+<value type="default">Windows x64</value>
+<value type="example">Windows NT x86</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/spoolssosversion.xml b/docs-xml/smbdotconf/printing/spoolssosversion.xml
new file mode 100644
index 0000000..1b57b69
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/spoolssosversion.xml
@@ -0,0 +1,80 @@
+<samba:parameter name="spoolss: os_major"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Windows might require a new os version number. This option allows
+ to modify the build number. The complete default version number is:
+ 5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).
+ </para>
+</description>
+<value type="default">5</value>
+<value type="example">6</value>
+</samba:parameter>
+
+<samba:parameter name="spoolss: os_minor"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Windows might require a new os version number. This option allows
+ to modify the build number. The complete default version number is:
+ 5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).
+ </para>
+</description>
+<value type="default">0</value>
+<value type="example">1</value>
+</samba:parameter>
+
+<samba:parameter name="spoolss: os_build"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Windows might require a new os version number. This option allows
+ to modify the build number. The complete default version number is:
+ 5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).
+ </para>
+</description>
+<value type="default">2195</value>
+<value type="example">7601</value>
+</samba:parameter>
+
+<samba:parameter name="spoolss_client: os_major"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Windows might require a new os version number. This option allows
+ to modify the build number. The complete default version number is:
+ 6.1.7007 (Windows 7 and Windows Server 2008 R2).
+ </para>
+</description>
+<value type="default">6</value>
+</samba:parameter>
+
+<samba:parameter name="spoolss_client: os_minor"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Windows might require a new os version number. This option allows
+ to modify the build number. The complete default version number is:
+ 6.1.7007 (Windows 7 and Windows Server 2008 R2).
+ </para>
+</description>
+<value type="default">1</value>
+</samba:parameter>
+
+<samba:parameter name="spoolss_client: os_build"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Windows might require a new os version number. This option allows
+ to modify the build number. The complete default version number is:
+ 6.1.7007 (Windows 7 and Windows Server 2008 R2).
+ </para>
+</description>
+<value type="default">7007</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/useclientdriver.xml b/docs-xml/smbdotconf/printing/useclientdriver.xml
new file mode 100644
index 0000000..4d07604
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/useclientdriver.xml
@@ -0,0 +1,39 @@
+<samba:parameter name="use client driver"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter applies only to Windows NT/2000
+ clients. It has no effect on Windows 95/98/ME clients. When
+ serving a printer to Windows NT/2000 clients without first installing
+ a valid printer driver on the Samba host, the client will be required
+ to install a local printer driver. From this point on, the client
+ will treat the print as a local printer and not a network printer
+ connection. This is much the same behavior that will occur
+ when <command moreinfo="none">disable spoolss = yes</command>.
+ </para>
+
+ <para>The differentiating factor is that under normal
+ circumstances, the NT/2000 client will attempt to open the network
+ printer using MS-RPC. The problem is that because the client
+ considers the printer to be local, it will attempt to issue the
+ OpenPrinterEx() call requesting access rights associated with the
+ logged on user. If the user possesses local administrator rights but
+ not root privilege on the Samba host (often the case), the
+ OpenPrinterEx() call will fail. The result is that the client will
+ now display an &quot;Access Denied; Unable to connect&quot; message
+ in the printer queue window (even though jobs may successfully be
+ printed). </para>
+
+ <para>If this parameter is enabled for a printer, then any attempt
+ to open the printer with the PRINTER_ACCESS_ADMINISTER right is mapped
+ to PRINTER_ACCESS_USE instead. Thus allowing the OpenPrinterEx()
+ call to succeed. <emphasis>This parameter MUST not be enabled
+ on a print share which has valid print driver installed on the Samba
+ server.</emphasis></para>
+</description>
+
+<related>disable spoolss</related>
+
+<value type="default">no</value>
+</samba:parameter>