<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <head>
    <meta name="generator" content="HTML Tidy, see www.w3.org">
    <title>Interfacing to Non-LPRng Spoolers</title>
    <meta name="GENERATOR" content=
    "Modular DocBook HTML Stylesheet Version 1.7">
    <link rel="HOME" title=" LPRng Reference Manual" href=
    "index.htm">
    <link rel="UP" title="Print Spooling Tutorial " href=
    "tutorial.htm">
    <link rel="PREVIOUS" title=
    "Job Options and the Z Control File Entry" href="x3774.htm">
    <link rel="NEXT" title="Debugging, Tracing, and Log Files"
    href="x3931.htm">
  </head>

  <body class="SECT1" bgcolor="#FFFFFF" text="#000000" link=
  "#0000FF" vlink="#840084" alink="#0000FF">
    <div class="NAVHEADER">
      <table summary="Header navigation table" width="100%" border=
      "0" cellpadding="0" cellspacing="0">
        <tr>
          <th colspan="3" align="center">LPRng Reference Manual: 24
          Sep 2004 (For LPRng-3.8.28)</th>
        </tr>

        <tr>
          <td width="10%" align="left" valign="bottom"><a href=
          "x3774.htm" accesskey="P">Prev</a></td>

          <td width="80%" align="center" valign="bottom">Chapter 4.
          Print Spooling Tutorial</td>

          <td width="10%" align="right" valign="bottom"><a href=
          "x3931.htm" accesskey="N">Next</a></td>
        </tr>
      </table>
      <hr align="LEFT" width="100%">
    </div>

    <div class="SECT1">
      <h1 class="SECT1"><a name="AEN3899">4.20. Interfacing to
      Non-LPRng Spoolers</a></h1>

      <p>Given the large number of defective RFC1179
      implementations that are currently in use, there will come a
      time when the administrator will discover that their printer
      with its built-in network interface, the non-UNIX based print
      spooler on a mainframe, or even a new print spooler on a new
      OS distribution will not accept jobs from the <b class=
      "APPLICATION">LPRng</b> system. Usually this is caused by the
      presence, absence, or order of lines in the control file
      being sent to the remote system. To deal with this particular
      problem, the <var class="LITERAL">:bk</var>, <var class=
      "LITERAL">:control_file_line_order</var>, <var class=
      "LITERAL">:nline_after_file</var>, and <var class=
      "LITERAL">:control_filter</var> options are used.</p>

      <p>The <var class="LITERAL">:bk</var> (BSD Kompatibility)
      option causes the lpd server to remove all but an extremely
      small subset of lines from the control file, and to put the
      lines in the most commonly used order. In addition it will
      make the control and data files names extremely short and
      simple. This almost always solves compatibility problems when
      sending jobs to older <span class="emphasis"><i class=
      "EMPHASIS">vintage</i></span> print spoolers or UNIX
      systems.</p>

      <p>If this does not solve the problem, then you can specify
      the allowed control file lines and their order using the <var
      class="LITERAL">control_file_line_order=...</var> option. For
      example, <var class=
      "LITERAL">control_file_line_order=CJPMD</var> would allow
      only control file lines starting with <var class=
      "LITERAL">C</var>, <var class="LITERAL">J</var>, <var class=
      "LITERAL">P</var>, <var class="LITERAL">M</var>, and <var
      class="LITERAL">D</var>, and this order in the control file.
      Note that this does not provide <span class="emphasis"><i
      class="EMPHASIS">missing</i></span> line values, it only
      controls line values that are present in the control file.
      You should also use the <var class="LITERAL">:bk</var> option
      as well.</p>

      <p>You might run into some <span class="emphasis"><i class=
      "EMPHASIS">really</i></span> unusual implementations where
      the control file <var class="LITERAL">N</var> (file name)
      information must come <span class="emphasis"><i class=
      "EMPHASIS">after</i></span> the control file name. This is
      forced by the <var class="LITERAL">:nline_after_file</var>
      option.</p>

      <p>If these horrible kludges do not solve your compatibility
      problems then we turn to the very large hammer and edit the
      control file. The very last step before transfering the
      control file to the remote server is to filter it using the
      <var class="LITERAL">:control_filter=/path</var> program
      specified in the printcap. The <var class=
      "LITERAL">:control_filter</var> reads the control file from
      <acronym class="ACRONYM">STDIN</acronym> and writes the
      modified control file to <acronym class=
      "ACRONYM">STDOUT</acronym>. No consistency checking or
      validity checks are done on the new control file and the
      result is transferred directly to the remote system. If the
      <var class="LITERAL">:control_filter</var> exits with a 0
      status, then the normal processing continues. Any other
      status will cause the transfer operation to be aborted and an
      error reported.</p>
    </div>

    <div class="NAVFOOTER">
      <hr align="LEFT" width="100%">

      <table summary="Footer navigation table" width="100%" border=
      "0" cellpadding="0" cellspacing="0">
        <tr>
          <td width="33%" align="left" valign="top"><a href=
          "x3774.htm" accesskey="P">Prev</a></td>

          <td width="34%" align="center" valign="top"><a href=
          "index.htm" accesskey="H">Home</a></td>

          <td width="33%" align="right" valign="top"><a href=
          "x3931.htm" accesskey="N">Next</a></td>
        </tr>

        <tr>
          <td width="33%" align="left" valign="top">Job Options and
          the Z Control File Entry</td>

          <td width="34%" align="center" valign="top"><a href=
          "tutorial.htm" accesskey="U">Up</a></td>

          <td width="33%" align="right" valign="top">Debugging,
          Tracing, and Log Files</td>
        </tr>
      </table>
    </div>
  </body>
</html>



syntax highlighted by Code2HTML, v. 0.9.1