Previous | Contents | Index |
The LPD records printer errors in a log file located in the SYS$SPECIFIC:[TCPIP$LPD] directory. You can set up a separate log file for each printer, or you can set up one to be shared by all local printers.
To specify the log file in the printcap database, use the symbol lf and specify the directory as a UNIX path. For example, to specify a log file for the print queue named LOCAL1, the printcap entry would be as follows:
:lf=/SYS$SPECIFIC/TCPIP$LPD/LOCAL1.LOG:\ |
To specify a log file that can be shared by all printers, specify the same file for each printer entry. For example:
:lp=LOCAL1:\ :lf=/SYS$SPECIFIC/TCPIP$LPD/TCPIP$LPD_LOGFILE.LOG:\ . . . :lp=LOCAL2"\ :lf=/SYS$SPECIFIC/TCPIP$LPD/TCPIP$LPD_LOGFILE.LOG: |
You can configure LPD to support remote printing on a system that does not implement the PrintServer extensions. You do this for individual queues by adding a ps field in the queue's printcap entry with a value of non_PS . The printcap entry looks as follows:
:rm=Remote1 :ps=non_PS |
If you do not define a ps entry, LPD assumes the printer supports the PrintServer extensions.
Note that you can also configure this option systemwide with the TCPIP$LPD_PS_EXT logical name. Values for this logical name are non_PS and LPS . See Table 22-1 for more information about the LPD logical names.
If a printcap entry does not have a
ps
field defined, LPD uses the value you assigned with the logical name.
If the logical name is not defined, LPD uses PrintServer extensions as
the default.
22.4 Managing LPD Server Queues
To start the LPD server queues, enter the following command:
$ @SYS$STARTUP:TCPIP$LPD_STARTUP |
To stop the LPD server queues, enter the following command:
$ @SYS$STARTUP:TCPIP$LPD_SHUTDOWN |
To display the status of a remote queue, enter the LPQ command at the DCL prompt. To remove jobs from a remote printer queue, enter the LPRM command at the DCL prompt. See DIGITAL TCP/IP Services for OpenVMS User's Guide for more information about these commands.
The following example deletes all the jobs on remote print queue EIDER_DOWN_Q:
$ LPRM EIDER_DOWN_Q /ALL |
You can grant or deny remote users access to the LPD server by entering the command SET SERVICE LPD /FLAGS=APPLICATION_PROXY. This causes LPD to authenticate remote users through the TCP/IP Services proxy database. You identify the remote users by adding communication proxy entries in the proxy database, TCPIP$PROXY.DAT. Each remote user allowed to access your local queues must have an entry.
To add a proxy entry, enter:
TCPIP> ADD PROXY user_name /HOST=host_name /REMOTE_USER=user_name |
For each host, define both its host name and alias name. If you need to use lowercase letters to specify a remote user name, enclose it in quotation marks. For example:
/REMOTE_USER="unixuser" |
You use wildcard characters when adding proxy entries for users on remote systems. For example, the following command allows any user on the remote host REMOTE1 to submit print jobs to the print queues on your system.
TCPIP> ADD PROXY R_USERS /HOST=REMOTE1 /REMOTE_USER="*" |
To disable authentication, use the /FLAG=NOAPPLICATION_PROXY option to the SET SERVICE LPD command. Use the /REJECT option to deny access from certain hosts. For example:
TCPIP> SET SERVICE LPD /REJECT=HOSTS=(loon,ibis,tern) |
The LPR/LPD spooler can notify you of selected events with OPCOM messages. To receive these notifications, enter:
$ TCPIP SET SERVICE LPD /LOG=option $ REPLY /ENABLE=OPCOM |
LPD supports all OpenVMS flag page print options, including:
To enable these features, define the system logical name TCPIP$LPD_VMS_FLAGPAGES. This logical name applies to all print queues:
$ DEFINE /SYSTEM TCPIP$LPD_VMS_FLAGPAGES |
When you define TCPIP$LPD_VMS_FLAGPAGES, LPD does the following:
In addition to the log files specified in the printcap database, which is used by the LPR and LPD symbionts, the LPD receiver logs diagnostic messages to the log file TCPIP$LPD_RCV_STARTUP.LOG. Use the TCPIP$LPD_RCV and TCPIP$LPD_DEBUG logical names to control LPR/LPD diagnostic information in these logs.
Table 22-1 describes the logical names in more detail.
If you have problems, turn on all the LPR/LPD diagnostics. That is, define TCPIP$LPD_DEBUG and TCPIP$LPD_RCV as 15. Leaving these diagnostics on during normal use might affect the performance of LPD and produce large log files.
The TELNET print symbiont (TELNETSYM) provides remote printing services that enable the use of standard OpenVMS printing features not available with the LPR/LPD print service. With TELNETSYM configured on your system, you can set up and manage a remote printer attached to a remote terminal server as if it were directly connected to your system. The TELNET symbiont functions in a manner that is similar to that of LATSYM for Compaq's local area transport (LAT) software.
The TELNET symbiont performs the following functions:
This chapter reviews key TELNETSYM concepts and describes:
TELNETSYM is a true OpenVMS print symbiont; it performs all print formatting functions, such as header and trailer page generation, pagination, queuing, and handling of multiple forms. TELNETSYM extends the OpenVMS print symbiont by redirecting its output to a network (TELNET) channel.
TELNETSYM sets its process names to TCPIP$TNSYM1, TCPIP$TNSYM2, and so
on. Each TELNETSYM process can control up to 16 print queues. You can
control the maximum number of print queues by defining the
TCPIP$TELNETSYM_STREAMS logical, as described in Section 23.5.6.
23.1.1 TELNETSYM Modifications to the Output Stream
TELNETSYM adds escape (0xFF) bytes in the data stream so they are not mistakenly interpreted as TELNET protocol IAC commands.
TELNETSYM doubles any TELNET IAC characters found in the byte stream unless TCPIP$TELNETSYM_RAW_TCP is defined for the queue. The IAC character is a hexadecimal FF.
If the print job is queued with the /PASSALL qualifier, TELNETSYM sets up a binary TELNET channel by inserting IAC-DO-BINARY and IAC-WILL-BINARY escape sequences.
You can turn off this behavior by defining the logical name TCPIP$TELNETSYM_RAW_TCP for the queue. If you set this logical name, none of this processing is done.
The IAC-DO-BINARY sequence is 6 bytes, which are symbolically:
IAC, DO, BINARY, IAC, WILL, BINARY
The hexadecimal equivalents are:
FF,FD,00,FF,FB,00 |
TELNETSYM does not add any additional data to the stream other than that described. It does not insert form feed characters that were not present in the output from the OpenVMS print symbiont. Therefore, any additional characters observed as added to a print job come from the OpenVMS or other print symbiont (for example, Compaq PATHWORKS/Advanced Server for OpenVMS).
TELNETSYM can remove (suppress) any form feed (0x0c) characters that
the OpenVMS print symbiont adds to the beginning or end of print jobs.
Use the TCPIP$TELNETSYM_SUPPRESS_FORMFEEDS logical name to control this
function, as described in Section 23.6.4.1.
23.2 TELNETSYM Service Startup and Shutdown
The TELNETSYM service can be shut down and started independently of TCP/IP Services. This is useful when you change parameters or logical names that require the service to be restarted.
The following files are provided:
To preserve site-specific parameter settings and commands, create the following files. These files are not overwritten when you reinstall TCP/IP Services:
Use the DCL command INITIALIZE/QUEUE to set up a TELNETSYM queue. Use the /PROCESSOR and /ON qualifiers as follows:
/PROCESSOR=TCPIP$TELNETSYM |
/ON="hostname:portnumber" |
For example, to set up a TELNETSYM queue named xyz_q to print using TELNETSYM to host printserver.xyz.com at TCP port 4242, enter:
$ INITIALIZE /QUEUE /PROCESSOR=TCPIP$TELNETSYM - _$ /ON="printserver.xyz.com:4242" xyz_q |
You can redirect the output of TELNETSYM to another queue rather than sending it directly to a remote printer. A queue with this setup is a relay queue. Use relay queues to funnel fully formatted output to an outbound LPD queue. LPD transfers jobs that are fully formatted on the sending side by OpenVMS.
In this case, TELNETSYM saves the output stream to a temporary file and then submits the file to the destination queue. TCP/IP Services is not used.
To set up a TELNETSYM relay queue, specify the /ON qualifier of the INITIALIZE/QUEUE command as follows, where qname is the name of the queue to which you want TELNETSYM to send its output.
/ON="TCPIP$QUEUE:qname" |
To set up a TELNETSYM relay queue named RELAYQ_4 to send output to the queue named LPD_Q4, enter:
$ INITIALIZE /QUEUE /ON="TCPIP$QUEUE:LPD_Q4" - _$ /PROCESS=TCPIP$TELNETSYM /DEVICE=PRINTER RELAYQ_4 |
You can manage and customize TELNETSYM for each print queue by defining logical names before you start the queue. Because the logical names are translated once at queue startup time, they can be defined differently for each TELNETSYM queue. Use the /SYSTEM qualifier when defining TELNETSYM logical names. You must stop and restart the print queue to establish the changes you make with logical names.
Some TELNETSYM configuration logical names are used to set a configuration option either ON or OFF. If the logical name is defined, the option is ON. If it is not defined, the option is OFF.
Other logical names require a specific value. The following sections
describe TELNETSYM logical names. The descriptions indicate when a
value is required.
23.5.1 Controlling Stream of Print Bytes Sent Over the Link
If a remote printer supports a raw network data connection rather than the TELNET protocol, you can print to such a printer by suppressing all TELNET modifications of the output stream with the following logical names:
OPCOM messages sent by TELNETSYM include the name of the execution queue. In addition, each TELNETSYM queue has a log file named TCPIP$TELNETSYM_queue-name.LOG.
By default, TELNETSYM sends messages to the operator and records error and informational messages in the file TCPIP$TELNETSYM_queue-name.LOG. This file is located in SYS$SPECIFIC:[TCPIP$LPD].
You can use logical names to modify the way the TELNETSYM logs information and the type of information it reports. For example, TELNETSYM can log diagnostic messages that you can use when troubleshooting problems with a link.
Use the following logical names to modify error logging:
Bit 0 |
Tracks the flow of code. For example:
xyz-n-xyz-routine entered |
Bit 1 |
Tracks the allocation of memory. For example:
just freed address 7F0000 |
Bit 2 | Logs the bytes sent and received over TCP/IP link. |
$ DEFINE /SYSTEM TCPIP$TELNETSYM_DEBUG 4 |
$ DEFINE /SYSTEM TCPIP$TELNETSYM_LOG_KEEP 3 |
$ DEFINE /SYSTEM TCPIP$TELNETSYSM_SCRATCH device:[directory.path] |
The TELNETSYM configuration logical names allow you to set TELNETSYM parameters. To see the default values for these parameters, enter the following command:
TCPIP> SHOW PROTOCOL TCP /PARAMETER TCP Delay ACK: enabled Window scale: enabled Drop count: 8 Probe timer: 150 Receive Send Push: disabled disabled Quota: 61440 61440 |
The logicals that you can use to modify these parameters are:
$ DEFINE/SYS TCPIP$TELNETSYM_KEEPALIVE 1 |
$ DEFINE/SYS TCPIP$TELNETSYM_DROP x |
$ DEFINE/SYS TCPIP$TELNETSYM_PROBE x |
Previous | Next | Contents | Index |