Version ifhp-3.5.8 - Mon Apr 1 17:14:06 PST 2002

  New 'Appsocket' support and configuration
   lp:
     :lp=host%port
     :ifhp=model=xxx,appsocket
     :filter=/.../ifhp
     #:of=/.../ifhp

   You do not need to have /dev/null now,  you can have LPD
   open the connection, and then IFHP will simply use the
   connection information.  This greatly simplifies things.
   Note that you MUST use ifhp 3.5.8 or later for this to work.

   The 'Read_status' code has been savagely attacked,
  once again,  and the varous insane combinations of
  devices that have read return 0 or -1 when there is
  no data has been worked at again.
   Also, the code for parsing return status has been
  looked at and the odd case of PostScript printers that
  return a 'print' value WITHOUT a CR/LF has been attempted
  to be solved... I hope this is the last time we go around
  the rose bush on this one.  

   Also, the Xerox/Phaser 5400 has been added.  This device
  has the obnoxious habit of returning a JOB ID whose key (ID)
  conflicts with the INFO ID key (ID).  So we ignore any
  ID keys/value pairs unless they are returned by the 'PJL INFO'
  status.

  hp4l entry modified, Using 'laserjet', the printed area is shifted
  to the right on a 'portrait letter' piece of paper.  Using 'ljet4',
  it prints centered.  I.e., it looks better.
    (From: Luca Filipozzi <[EMAIL PROTECTED]>)

  ps_eoj, ps_eoj_at_start, ps_eoj_at_end now work correctly

  Once again the 'Appsocket' stuff rears its ugly head.
  Added a 'shutdown(1,SHUT_RW)' to FORCE the &*()()*& connection
  to the printer to be clobbered.  Grrrr..  Also, added a check
  for the special case when appsocket is specified and you
  are using the OF filter (banner printing).

   STATUS HELPERS
    sync=|/path_to_program
    pagecount=|/path_to_program
    waitend=|/path_to_program

   The sync, pagecount, and waitend functions can be implemented by
   running a 'status helper' program.  These programs are run with:
    STDIN = printing device
    STDOUT = STDERR = status
   
   Information written to STDOUT/STDERR should have the format: key=value
   as for PJL status information.  The same processing is done for this
   information as for the PJL USTATUS information,  so you can return
   an error code (CODE=xxxx) value that will be treated as a PJL USTATUS
   error.

   The following are 'special' keys:
     KEY     VALUE
     sync    1 (or nonzero)  - sync is done
     waitend 1 (or nonzero)  - waitend is done
     pagecount nnn           - pagecounter value

   Note: you can use a single program to do all 3 operations,
   in which case simply write 3 lines with sync, waitend, and pageount
   values, i.e:
      sync=1
      pagecount=205667
      waitend=1
   
   Alternatively,  if the sync,waitend, or pagecount
   program exits with 0 status, then success is assumed,
   otherwise IFHP will exit with an error status.
   Exit code:
     JSUCC - 0  - success
     JFAIL - 1  - fail with retry later
     JABORT - any other code

  Added special case parsing for PostScript printers
  that do not put NL (\n) at the end of error messages.
  Now handles %%[ status: xxx ]%%%%[ stuff: xxx ]%%
  correctly as
   %%[ status: xxx ]%%
   %%[ stuff: xxx ]%%
  (Pointed out by a Netatalk user: 
     Rob Joyce <[EMAIL PROTECTED])

  I have added some fine grain control to pagecount_poll
  operations:
   The page count will be sampled 'pagecount_poll' times (0 or 1 is once)
   until it is stable, at pagecount_interval seconds.
   The pagecount_poll is for desperation only
     - default is pagecount_poll
        - pagecount_poll_start specifies number of polls at start
        - pagecount_poll_end specifies number of polls at end
    You can specify a non-zero pagecount timeout that will limit
    the amount of time that you try to get pagecounts
    This is dangerous if you are trying to get status by polling
    However, if your printer goes off line,  then you may have
    similar problems.
    #  pagecount_poll=5       default
    #  pagecount_poll_end=5   number of polls at start
    #  pagecount_poll_start=1 number of polls at end
    #  pagecount_interval=1   interval to poll
    #  pagecount_timeout=0    timeout for pagecount

  Added a new device: ps_appletalk
   This handles the case where you talk to a PostScript
  printer via the netatlk 'pap' routine.  The connected printer
  seems to not handle ^D or ^T, so you have to not put them there.
  It also seems that the printers may/will get pagecount and status
  information BUT they do not correctly indicate end of job.
  In this case you need to do pagecounting via polling:
   lp:ifhp=model=ps,ps_eoj@,ps_ctrl_t@,pagecount_poll_start=1,pagecount_poll_end=5

Patrick Powell                 Astart Technologies,
[EMAIL PROTECTED]            9475 Chesapeake Drive, Suite D,
Network and System             San Diego, CA 92123
  Consulting                   858-874-6543 FAX 858-279-8424 
LPRng - Print Spooler (http://www.lprng.com)

-----------------------------------------------------------------------------
YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST
The address you post from MUST be your subscription address

If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body.  For the impatient,
to subscribe to a list with name LIST,  send mail to [EMAIL PROTECTED]
with:                           | example:
subscribe LIST <mailaddr>       |  subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr>     |  unsubscribe lprng [EMAIL PROTECTED]

If you have major problems,  send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------

Reply via email to