rprint man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

RPRINT(1)		  Contributed Software Manual		     RPRINT(1)

NAME
     rprint — remote printing utility using a raw bidirectional tcp connection

SYNOPSIS
     rprint [-a number_of_attempts,delay_in_seconds] [-b buffer_size] [-d]
	    [-e] [-E] [-f file_name] [-i number_of_attempts,delay_in_seconds]
	    [-l] [-p port_number[,port_number]]
	    [-r number_of_attempts,delay_in_seconds]
	    [-s final_delay_in_seconds] [-t timeout_in_seconds] [-u]
	    [-w warning_period_in_seconds] [-x xmit_delay_in_seconds]
	    {printer_name | printer_address}

DESCRIPTION
     The rprint utility establishes a bidirectional raw tcp connection to a
     network printer, usually on port 9100. In case of PostScript(TM) print‐
     ers, rprint may be directed to query the printer for accounting and
     printer status information.

     Although rprint can be used interactively, too, it is normally be invoked
     by an lpd(8) input filter program.

OPTIONS
     Some options are applicable for PostScript(TM) printers only and distin‐
     guished from the others by the leading string (PS) in the description
     text.

     Available options are:

     -a number_of_attempts,delay_in_seconds
		 (PS) Inquires the page counter of the printer before sending
		 any data and after having sent all data. The inquiry is done
		 at less once, but normally multiple times until either two
		 consecutive inquiries return the same page count or the maxi‐
		 mal number of attempts given by the first part of the argu‐
		 ment would be exceeded. Between each pair of inquiries there
		 will be a delay the amount of which is given by the second
		 part of the argument in seconds. Finally, the total number of
		 pages printed will be calculated and printed on standard out‐
		 put.

     -b buffer_size
		 Sets the size of the send and receive buffer in bytes; rprint
		 will attempt to transmit data to the printer in packets of
		 this size.  The default buffer size is 4096 bytes.

     -d		 Turns on debug mode. All data sent and received as well as
		 some additional information will be printed to the standard
		 error output.

     -e		 (PS) Causes rprint to send an end-of-file character after
		 print job transmission and to wait for an acknowledgement.

     -E		 (PS) Similar do -e, but causes rprint to wait for an acknowl‐
		 edgement only for the time period specified with -a or -s.

     -f file_name
		 Name of the file containing the data to print. If this
		 options is not specified, data to send to the printer are
		 read from standard input.

     -i number_of_attempts,delay_in_seconds
		 (PS) rprint will inquire the printer status before sending
		 and after having sent all data and will wait for the printer
		 to be idle before taking any other action. The inquiry will
		 be done for the specified number of times with a delay of the
		 specified number of seconds between each inquiry. Please note
		 that many PostScript(TM) printers will never report an idle
		 status after a tcp connection has been established.

     -l		 Literal printing; needed for transmitting binary data. In
		 normal non-literal operation, rprint will replace each byte
		 of the print data representing one of the characters ^C
		 (003), ^D (004) and ^T (020) by a space character due to
		 their special meaning for PostScript(TM) interpreters.

     -p port_number,[port_number]
		 Port numbers on the printer side to send data to and to
		 receive data from. If only one port number is specified, it
		 will be used for sending and receiving data. If this option
		 is not specified, rprint will assume the jetdirect port 9100
		 by default which is used by most printer network interfaces
		 for raw tcp communication. Please note that the lpd(8) print‐
		 ing protocol according to RFC1179 is not implemented in
		 rprint and thus rprint will not be able to make use of a con‐
		 nection to a printer on port 515.

     -r number_of_attempts,delay_in_seconds
		 By default, rprint will retry to establish a connection to a
		 network printer for 60 times with a delay of one second
		 before each retry if the connection cannot be established
		 immediately. Different values can be specified here.

     -s final_delay_in_seconds
		 After having sent all data to the printer, rprint will wait
		 some time for an unrequired and possibly delayed printer
		 reply. The default value for this time is five seconds, dif‐
		 ferent values can be specified here. A delay time specified
		 by -a will override any value given with -s.

     -t timeout_in_seconds
		 Specifies a timeout value in seconds after which rprint will
		 give up to wait for a printer reply required by one of the
		 options -a, -e, -i or -u. The default value is 1800 seconds.
		 Similarly, rprint will give up to send data to the printer
		 after this time if the printer does not accept data anymore.

     -u		 (PS) Causes rprint to inquire the printer status before send‐
		 ing and after having sent all data.

     -w warning_period_in_seconds
		 While trying to send data to the printer without success, or
		 while waiting for a printer reply required by one of the
		 options -a, -e, -i or -u, rprint will write warning messages
		 to the system log each number of seconds specified here. If
		 this options is not specified, the default value will be 300
		 seconds.

     -x xmit_delay_in_seconds
		 Network printers are often not capable to receive data with
		 the same data rate computer systems could achieve when send‐
		 ing to an equivalent counterpart. Thus rprint will delay the
		 next attempt to transmit a packet by the time quantum given
		 here if the printer is not ready to receive data. The default
		 value of the transmit delay time is 0.1 seconds. Whereas in
		 general rprint accepts integer values as arguments only, here
		 and only here a floating point value may be given.

IMPLEMENTATION NOTES
     rprint installs handlers for the signals SIGINT, SIGPIPE and SIGTERM and
     tries to shut down a connection to a printer gently after SIGINT or
     SIGTERM have been received.

     An unexpected connection loss indicated by SIGPIPE will be written to the
     system log.

EXAMPLES
     A simple example working with nearly all types of network printers offer‐
     ing a raw tcp port 9100 is:

     rprint -f printjob.ps -l 192.168.1.55

     192.168.1.55 is assumed to be the ip address of the network interface of
     the printer in this example.

     When sending to a Hewlett Packard LaserJet 8000 DN printer in Post‐
     Script(TM) mode (see BUGS section), the next example will apply:

     rprint -a6,10 -e -i60,1 -p9100 hp8000

     hp8000 is assumed to be the hostname of the printer resolvable by the
     system.  Please note that there is some experimenting necessary for each
     printer model to find out the applicable options and to adjust the corre‐
     sponding arguments.

     When invoking rprint within an input filter used by lpd(8) the following
     skeleton may help to code the input filter:

     #!/bin/sh
     PATH=/bin:/usr/bin:/usr/local/bin
     rprint 192.168.1.55 1>&2 && exit 0
     exit 2

     In the printcap(5) file, the printer will be be defined like a local
     printer. No real device file will be assigned, of course, but e.g.
     lp=/dev/null may be used.

DIAGNOSTICS
     rprint writes some information to standard error output in an abbreviated
     manner while communicating with the printer. The extent of information
     given depends on the options specified. Following example resulting from
     the second example given above (Hewlett Packard LaserJet 8000 DN) will be
     used for an explanation:

     i2098...............16x.16x.16x.16x.16x.16x.16x.16x.$i2101
     #3 page(s)

     The letter i shows that the printer is idle. The numbers 2098 and 2101
     are the values of the page counter before sending and after having sent
     the print job. Each dot .	indicates a data packet (the size of which is
     equal to the buffer size) that has been sent to the printer. After 16
     packets have been sent, only each 16th packet transmission is shown by
     16x. The dollar sign $ shows that the printer has acknowledged the end-
     of-file character sent by rprint after transmitting all data. The line #3
     page(s) is written to standard output and gives the number of pages
     printed; it may be used for accounting purposes.

     The character indicating the status of the printer may be one of the fol‐
     lowing:

     b	 busy
     e	 error
     i	 idle
     n	 initializing
     o	 offline
     p	 printing
     r	 warming
     u	 unknown
     w	 waiting

     Instead of the dollar sign $ a colon : will be printed to indicate the
     end of data transfer if end-of-file acknowledgement by the printer is not
     required. If it is required but missing an exclamation point !  will be
     printed.

     rprint should print self-explaining error messages to the standard error
     output in case of error conditions.

RETURN VALUES
     The exit code rprint returns to the parent process may take one of the
     following values:

     0	 Nothing went wrong, data transmission has been successful.
     1	 An invalid option, option argument, printer name or printer address
	 has been given, or memory allocation during program initialization
	 failed.
     2	 The file containing the data to print or the streaming socket could
	 not be opened, or the latter one could not be set to non-blocking, or
	 the connection could not be established, or the printer was not idle
	 or did not report the page counter or the status information cor‐
	 rectly, or the signal handlers could not be installed or de-
	 installed, or the connection timed out.
     3	 The printer reported a PostScript(TM) error within the print job and
	 ignored the rest of the job.

SEE ALSO
     printcap(5), lpd(8)

HISTORY
     rprint has originally been developed for FreeBSD 2.1.5-RELEASE and later
     been ported to newer releases. It is not part of the base system.

BUGS
     Some of the special options of rprint useful for PostScript(TM) printers
     only require the PostScript(TM) interpreter already to be active when the
     tcp connection gets established. These options do not work with a printer
     automatically selecting an interpreter depending on the data to print.

     For example, Hewlett Packard printers offering PostScript(TM) or PCL(TM)
     selection automatically depending on the print job, have to be configured
     with PERSONALITY=PS to disable automatic selection.

AUTHOR
     Konrad Heuer ⟨kheuer@gwdu60.gwdg.de⟩

BSD				June 19th, 2001				   BSD
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net