






                                     Jeeves

                                  A Print Server
                                    Version 1.0


                            Copyright I.R. Jennings  1994
                                  Biology Department
                                University of York, UK.






02

DISCLAIMER OF WARRANTY


THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  

IN NO EVENT SHALL IAN R. JENNINGS OR THE UNIVERSITY OF YORK BE LIABLE FOR 
ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, 
CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES.



Copyright Notice

Copyright  I.R. Jennings  1994   All rights reserved.


Trademark Acknowledgements

IBM PC, IBM Proprinter:  International Business Machines Corp.
Novell, Netware, IPX, SPX:  Novell, Inc.
Epson EX-800, LX850:  Seiko Epson Corporation
HP LaserJet III, HP LaserJet 4:  Hewlett-Packard Company
Star LaserPrinter 8III:  Star Micronics Company



03

Contents

INTRODUCTION..............................................4

GETTING STARTED...........................................5
  WHAT YOU NEED...........................................5
  QUICK START.............................................5
     Setting Up the Server................................5
     Setting Up the Client PCs............................6
  DETAILED INSTALLATION...................................8
     Setting Up the Server................................8
     Setting Up the Client PCs...........................11

JEEVES...................................................14
  JEEVES INITIALISATION FILE.............................14
     Port Statements.....................................14
     Temp Directory Statement............................14
     Screen Save Statement...............................14
     Screen Update Period................................15
     Examples............................................15
  SCREEN DISPLAYS........................................15
     Key Assignments.....................................16
     Queue Display.......................................16
     Connection Display..................................16
     Statistics Display..................................17
  TERMINATING JEEVES.....................................17
  LISTING USERS..........................................18

CLIENT PROGRAMS..........................................19
  JLINK..................................................19
  JSET INITIALISATION FILE...............................19
  JSET...................................................20
     Creating a New Print Device.........................21
     Redirecting an Existing Device......................22
     Removing a Device...................................22
     Inserting Prologue and Epilogue data................22
     Using Jlink with Windows............................23
     Compatibility with the Netware Shell................24
  JPRINT.................................................25

APPENDICES...............................................26
  APPENDIX A:  SYSTEM REQUIREMENTS.......................26
  APPENDIX B:  ACQUIRING IPX.............................27
     The Crynwr Collection of Packet Drivers.............27
     Packet Driver IPX...................................27
  APPENDIX C:  SYSTEM MESSAGES...........................28
     Jeeves..............................................28
     Jset................................................29
     Jprint..............................................31
  APPENDIX D:  TECHNICAL NOTES...........................33
     Specifications......................................33
     Maximum values......................................33
     Maximum character string lengths....................33


04

INTRODUCTION

Jeeves is an independent local area network (LAN) printer server.  It runs 
on a networked IBM PC compatible computer and enables users on the LAN to 
share one or more printers or other output devices such as a plotter.  
Jeeves uses Novell's SPX protocol to communicate between itself and its 
client PCs.

Each printer or output device is attached to a print queue which stores 
incoming print jobs until the printer is ready to receive the data.  
Software on the client PCs enables DOS or Windows applications to send 
print requests to a specified queue and thus to the queue's associated 
printer.  The client software can also insert and append predefined data 
to each print job which is a useful feature for programmable printers 
(such as those which can emulate different printers).

There is no need for the client PCs to login to Jeeves as this is done 
automatically so the printing process is transparent to the user.  
Although Jeeves is limited to 20 simultaneous connections (i.e. up to 20 
client PCs can communicate with Jeeves at the same time), these 
connections are only made when the client PCs' applications actually start 
printing so the maximum number of users wanting to print via Jeeves is 
essentially unlimited.

Jeeves is not dependent on other network print or file servers though it 
will work along side them.  Further, Jeeves is not at all chatty as it 
only sends out Routing Information Protocol request broadcasts when it 
starts up and doesn't advertise itself as a service.  As Jeeves uses 
Novell's SPX protocol, it requires the IPX protocol driver software 
(IPX.COM or IPXODI.COM) but it doesn't need the Netware shell, NETX, or 
VLMs.




05

GETTING STARTED

What you need

- One or more printers.  Jeeves can support up to seven printers; three 
driven via the parallel ports and four driven by the serial ports (this 
assumes, of course, that the computer which is running Jeeves has the 
necessary hardware).
 
- IBM PC or compatible computer.  This will be used as a dedicated 
printer server and will run the Jeeves program.  The minimum 
requirement is an 8088 system, 10Mb disk, printer port and text video 
adapter running DOS 3.3 or above.  See Appendix A for details of system 
requirements.
 
- Local Area Network.  This must be capable of supporting Novell's IPX 
protocol.
 
- Network Interface Cards.  One for the printer server above and one for 
each client PC requiring access the printer server.
 
- Novell's IPX (and SPX) Driver Software.  This can be either be the 
dedicated IPX.COM file or the Open Data-Link Interface version 
IPXODI.COM.  You may have obtained these drivers with your network 
card.  Alternatively, see Appendix B for acquiring the IPX/SPX driver.
 
- Client PCs.  These are the PCs which will issue the print requests.  
They must be running DOS 3.3 or above.


Quick Start

This section assumes that you are familiar with DOS and installing IPX and 
is included for those who wish to get the programs up and running without 
having to wade through pages of documentation.  Note that if you simply 
want to test Jeeves, you don't need a dedicated PC; you can install the 
software in a directory on any networked PC with an attached printer and 
once tested, delete the files and directory.  You will, however, require a 
second networked PC to act as a client to issue the print requests and you 
wont be able to run other software on the first PC while Jeeves is 
running.

If the programs don't respond as described, see the sections "Detailed 
Installation" or Appendix C (System Messages) for more information.

Setting Up the Server

1. Set the CONFIG.SYS "files=" command to 30 or more.
 
2. Create a directory on the server disk drive (e.g. c:\jeevdir) and copy 
the following files to it:
 
 JEEVES.EXE     - the program executable
 JEEVES.INI     - the initialisation file
 JEEVLIST.EXE   - a utility to list users.
 
3. Create another directory (e.g. C:\JEEVDIR\TMPFILES).  This is where 
Jeeves will store temporary files.

06
 
4. If you are using a serial port, set the port parameters with the DOS 
MODE command.
 
5. The shipped version of the JEEVES.INI file will cause Jeeves to print 
to LPT1 via a print queue named PRINTER1 and to store the temporary 
files in the directory C:\JEEVDIR\TMPFILES.  If a printer is not 
connected to LPT1 or the temporary files directory is incorrect, then 
you will have to edit the JEEVES.INI file (see "Jeeves Initialisation 
File").  Otherwise, you can use JEEVES.INI as it is, though you'll 
probably want to change at least the print queue name at some point in 
the future.

6. Edit the IPX.COM configuration file, SHELL.CFG, or the ODI version, 
NET.CFG, to set the number of IPX sockets to 25 and the number of SPX 
connections to 22.  The new lines should be:
 
 ipx  sockets = 25
 spx  connections = 22
 
7. Load the IPX driver.  Don't use the ODI "a" option as this will prevent 
SPX from loading.
 
8. Make the program directory (e.g. C:\JEEVDIR) the current directory and 
enter JEEVES.  You will then be prompted to create the user database 
file IDENTIFY.LST to which you should type "Y".  Jeeves should now be 
running and displaying information about the print queue PRINTER1.
 
9. Press the F3 key to display the current connection screen and note 
Jeeves' address.  You'll need this to set up the client PCs.


Setting Up the Client PCs

1. Create a directory on the client PC (e.g. C:\JEEVES) and copy the 
following files to it:
 
 JLINK.SYS      -  the Jeeves device driver
 JSET.EXE       -  the device driver maintenance program
 JSET.INI       -  the initialisation file
 JPRINT.COM     -  a utility to print files on Jeeves
 
2. Insert a line in the CONFIG.SYS file to load the JLINK.SYS device 
driver.
 
3. Insert the newly created directory in the AUTOEXEC.BAT path statement.
 
4. Insert the IPX driver in the AUTOEXEC.BAT file.  You may not  need an 
IPX configuration file (SHELL.CFG or NET.CFG) as the default values are 
sufficient.
 
5. Reboot the computer to load JLINK.SYS, the IPX driver and set the path.
 
6. Edit the JSET.INI file, replacing the "JEEVES=network_number : node"  
statement with the actual address of Jeeves.  This address is shown at 
the top of the Jeeves Connection Display.  This is the only critical 
statement in the JSET.INI file but you can edit the other statements 
now if you so wish (see "Jset Initialisation File").

07
 
7. Assuming Jeeves is running, you can now test the connection by entering 
the following command at the DOS prompt:
 
 jprint  /L
 
 The List switch should display the list of print queues on Jeeves (if 
you have used the shipped version of JEEVES.INI, then only the one 
queue, PRINTER1, will be shown).  You can print a file to the printer 
connected to one of the print queues by entering the command:
 
 jprint  [path]filename  print_queue  [/FF]
 
 For example, the command
 
 jprint  c:\config.sys  printer1  /ff
 
 would print the CONFIG.SYS file on the printer served by the queue 
named PRINTER1.  The "/ff" switch will terminate the printing with a 
form-feed (end of page) command.
 
 
8. You can redirect a client PC's existing LPTn ports (both the device and 
the BIOS interrupt) to a Jeeves print queue by entering the command:
 
 jset  lptn  print_queue
 
9. You can also create an entirely new device through which data can be 
printed.  For example, the command
 
jset  hplj4  hplj4

would create a device called HPLJ4 and link this to a Jeeves print 
queue of the same name.  The DOS command "copy  file.pcl  hplj4" would 
send the file to the HPLJ4 queue on Jeeves.


This section has been a brief guide to installing and using the Jeeves 
suite of programs.  You may now wish to skip the next section and move on 
to the detailed description of each of the programs.



08

Detailed Installation

The Jeeves programs come in two groups of files; the server files which 
are installed on the computer acting as the printer server and the client 
files which are installed on the client PCs enabling them to print to the 
server printers.

Server files:

JEEVES.EXE      - the actual program
JEEVES.INI      - the initialisation file for the Jeeves program
JEEVLIST.EXE    - an optional utility to list users.

Client files:

JLINK.SYS       -  the Jeeves device driver
JSET.EXE        -  the device driver maintenance program
JPRINT.COM      -  a utility to print files on Jeeves
JSET.INI        -  the initialisation file for JSET.EXE and JPRINT.COM


The other files you will need (in addition to the DOS system files) are 
the network driver files. In most cases you will have obtained these with 
your network card but you may also be able to obtain them from sites on 
the INTERNET (see Appendix B).  The network driver files come in two 
forms; dedicated and Open Data-Link Interface (ODI) versions.

Dedicated

IPX.COM    -  this has to be "bound" to a specific network card
SHELL.CFG  -  the configuration file

ODI

LSL.COM    -  the Link Support Layer
NETDRV.COM -  the network interface card driver (e.g. NE2000.COM)
IPXODI.COM -  the IPX/SPX protocol driver
NET.CFG    -  the configuration file

The essential difference between the dedicated and ODI versions is that 
the dedicated version is setup for a specific type of network card and 
will run only the IPX protocol.  The ODI version, on the other hand, will 
work with different network cards simply by changing the network card 
driver file and will simultaneously support different protocols by adding 
the appropriate protocol driver.

There are other network driver variations such as using packet drivers.  
See Appendix B for more information.

Setting Up the Server

This section is a step by step guide to setting up the hardware and 
installing the software on the PC which will be the printer server.  The 
system requirements for this PC are listed in Appendix A.

1. Install the network interface card in the PC according to the 
manufacturer's instructions and connect it to the LAN.

09
 
2. Connect the printer or printers to the parallel or serial ports in the 
PC, noting which printer goes to which port.  If you are using a 
printer driven from a serial port, make a note of the printer's serial 
parameters (baud, parity, etc.); you will need these values to set the 
DOS mode command in the AUTOEXEC.BAT file.
 
3. Create the directory C:\JEEVDIR (you may use a different 
drive/directory) and copy the following files to it:
 
 JEEVES.EXE     - the program executable
 JEEVES.INI     - the initialisation file
 JEEVLIST.EXE   - a utility to list users.
 
4. If you are using the ODI version of the IPX driver, then skip to 
paragraph 6.
 
5. The following applies to the dedicated IPX driver only.
 
a) Copy the IPX.COM file to the program directory C:\JEEVDIR.
 
b) Use a DOS editor to create the IPX configuration file SHELL.CFG in 
the program directory.  Insert the following lines in the file:
 
 ipx  sockets  =  25
 spx  connections  =  22
 
c) Edit the AUTOEXEC.BAT file, inserting the following lines (the mode 
command is only required for serial printers.  Change the 
drive/directory as appropriate):
 
 mode comn:  baud=b  parity=p  data=d  stop=s
 cd  c:\jeevdir
 ipx
 jeeves
 
d) Now skip to paragraph 7.
 
6. The following applies to the ODI driver only.
 
a) Copy the following files to the program directory C:\JEEVDIR.  Copy 
the specific network card ODI driver (e.g. NE2000.COM, SMC8000.COM, 
etc.) in place of NETDRV.COM.
 
 LSL.COM        -  the Link Support Layer
 NETDRV.COM     -  the network interface card driver (e.g. NE2000.COM)
 IPXODI.COM     -  the IPX/SPX protocol driver
 
b) Copy the default NET.CFG file that came with the network card 
software to the program directory C:\JEEVDIR or use a DOS editor to 
create a new NET.CFG file.  Insert the following lines at the 
beginning of the file before any section headings that may exist:
 
 ipx  sockets  =  25
 spx  connections  =  22

10

c) Edit the AUTOEXEC.BAT file, inserting the following lines (the mode 
command is only required for serial printers.  Change the 
drive/directory and netdrv as appropriate):
 
 mode comn:  baud=b  parity=p  data=d  stop=s
 cd  c:\jeevdir
 lsl
 netdrv
 ipxodi
 jeeves
 
7. Check that the computer's CONFIG.SYS file contains the line "files=n" 
where n is greater than or equal to 30.  If the "files" command is 
missing or the value of n is less than 30, then insert or change the 
line to "files=30".
 
8. Create a subdirectory of JEEVDIR called TMPFILES (i.e. 
C:\JEEVDIR\TMPFILES).  This is where Jeeves will store temporary files.  
You can create a different directory if you wish, but you must use a 
directory other than the root directory as Jeeves will not allow 
temporary files to be stored in the root directory.
 
9. Edit the JEEVES.INI file to set a print queue name and attach it to a 
parallel or serial port.  You will also need to specify where temporary 
files should be stored.
 
a) The general format to define a queue name and assign it to a port is:
 
 port  =  print_queue_name  [ |  printer description ] [/r]
 
 where
 
 port                  is a parallel or serial port (LPT1 - LPT3 or 
                       COM1 - COM4)
 print_queue_name      is the name of the print queue which serves the 
                       printer attached to port
 printer description   is an optional general description of the printer.  
                       This is separated from the print_queue_name by the 
                       vertical line character (ASCII 124).
 /r                    is the optional reset switch.  This sends a hardware 
                       reset command to the printer through the parallel 
                       port after each print job.  The switch is ignored for 
                       COM ports.
 
 For example, to create a print queue called "HPLJ4" which serves a 
printer connected to the parallel port LPT1, enter the following line 
in the JEEVES.INI file:
 
 lpt1  =  hplj4  |  Hewlett-Packard LaserJet IV printer
 
b) The JEEVES.INI file should also contain a line to specify where 
temporary files should be stored.  The general format of the line is:
 
 temp directory  =  [drive:] path

11 
 
 For example, to store the temporary files in the directory 
c:\jeevdir\tmpfiles, enter the following line in the JEEVES.INI file:
 
 temp directory  =  c:\jeevdir\tmpfiles
 
 More information about defining print queue names and other options 
contained in the JEEVES.INI file can be found in "Jeeves Initialisation 
File".
 
10. Reboot the computer for the setup to take effect.  The AUTOEXEC.BAT 
file will load the network drivers and start Jeeves. You will then be 
prompted to create the user database file IDENTIFY.LST to which you 
should type "Y".  Jeeves should now be running and displaying 
information about the first print queue listed in the JEEVES.INI file.
 
11. Press the F3 key to display the current connection screen and note 
Jeeves' address.  You'll need this to set up the client PCs.


Setting Up the Client PCs


This section is a step by step guide to setting up the hardware and 
installing the software on the client PCs.

1. Install the network interface card in the PC according to the 
manufacturer's instructions and connect it to the LAN.
 
2. Create a directory on the client PC (e.g. C:\JEEVES) and copy the 
following files to it:
 
 JLINK.SYS      -  the Jeeves device driver
 JSET.EXE       -  the device driver maintenance program
 JSET.INI       -  the initialisation file
 JPRINT.COM     -  a utility to print files on Jeeves
 
3. If you are using the ODI version of the IPX driver, then skip to 
paragraph 5.
 
4. The following applies to the dedicated IPX driver only.
 
a) Copy the IPX.COM file to the directory C:\JEEVES.
 
b) Edit the AUTOEXEC.BAT file.  Add the above directory (C:\JEEVES) to 
the path statement and insert the following line:
 
 c:\jeeves\ipx
 
c) You may not require the IPX configuration file (SHELL.CFG) as the 
default values should work.
 
d) Now skip to paragraph 6.
 
5. The following applies to the ODI driver only.
 
a) Copy the following files to the directory C:\JEEVES.  Copy the 
specific network card ODI driver (e.g. NE2000.COM, SMC8000.COM, etc.) 
in place of NETDRV.COM.

12

 LSL.COM        -  the Link Support Layer
 NETDRV.COM     -  the network interface card driver (e.g. NE2000.COM)
 IPXODI.COM     -  the IPX/SPX protocol driver
 
b) Copy the default NET.CFG file that came with the network card 
software to the root directory of the drive.  You shouldn't need to 
change this file as the default values should work.
 
c) Edit the AUTOEXEC.BAT file.  Add the directory C:\JEEVES to the path 
statement and insert the following lines (Change netdrv to the 
appropriate network card driver):
 
 c:\jeeves\lsl
 c:\jeeves\netdrv
 c:\jeeves\ipxodi
 
6. Edit the CONFIG.SYS file and insert the line:
 
 device[high]  =  c:\jeeves\jlink.sys
 
 The "high" option may be included if DOS has access to upper memory 
blocks (see user's guide for DOS 5 or above).
 
7. Edit the JSET.INI file, replacing the "JEEVES=network_number : node"  
statement with the actual address of Jeeves.  This address is shown at 
the top of the Jeeves Connection Display.  This is the only critical 
statement in the JSET.INI file but you can edit the other statements 
now if you so wish (see "Jset Initialisation File").
 
8. Reboot the computer to load the Jeeves device driver JLINK.SYS, the IPX 
drivers and to include the C:\JEEVES directory in the path.
 
9. Assuming Jeeves is running, you can now test the connection by entering 
the following command at the DOS prompt:
  
  jprint  /L
  
  The List switch should display the list of print queues on Jeeves as 
defined in the JEEVES.INI file on the server PC.  You can print a file 
to the printer connected to one of the print queues by entering the 
command:
  
  jprint  [path]filename  print_queue  [/FF]
  
  For example, the command
  
  jprint  c:\config.sys  hplj4  /ff
  
 would print the CONFIG.SYS file on the printer served by the queue 
named HPLJ4.  The "/ff" switch will terminate the printing with a form-
feed (end of page) command.
   
10. You can redirect a client PC's existing LPTn ports to a Jeeves print 
queue by entering the command:
  
  jset  lptn  print_queue

13
  
11. You can also create an entirely new device through which data can be 
printed.  For example, the command
 
 jset  hplj4  hplj4
 
 would create a device called HPLJ4 and link this to a Jeeves print 
queue of the same name.  The DOS command "copy  file.pcl  hplj4" would 
send the file to the HPLJ4 queue on Jeeves.

14
 
JEEVES

You start Jeeves by typing the command jeeves at the DOS prompt (you can 
also include the Jeeves command in the AUTOEXEC.BAT file so that it starts 
up automatically).  Jeeves then goes through its startup procedures, one 
of which is to read its initialisation file JEEVES.INI from the current 
directory.


Jeeves Initialisation File

The Jeeves initialisation file JEEVES.INI, contains statements which 
identify the print queues connected to the computer's parallel and serial 
ports.  It also tells Jeeves where it should store temporary files and 
contains information about the screen save option and screen refresh rate.

Port Statements

The port statements are in the form:

portn  =  queue_name  [ |  device description ]  [/r]

where port is either LPT for parallel ports or COM for serial ports and n 
is the port number; 1 to 3 for LPT or 1 to 4 for COM.  The queue_name 
identifies the print queue which sends data to portn and is usually the 
abbreviated name of the printer or device connected to the port.  Any 
spaces in queue_name will be removed and low case letters are converted to 
high case.  Following the vertical line character "|", is the optional 
device description which details the printer or device serviced by the 
queue.  The optional reset switch "/r", sends a hardware reset command to 
the printer through the parallel port after each print job.  This ensures 
that the printer is set to its default state at the end of every print 
job.  However, you should check your printer documentation before using 
this facility as some printers will reset before completing the last print 
job.  The switch has no effect on COM ports.

Temp Directory Statement

Temporary files are stored in the subdirectory specified by the temp 
directory statement which has the form:

temp directory = [drive:]path

Jeeves will not allow temporary files to be stored in a root directory of 
a drive.

Screen Save Statement

The screen saver reduces the wear on the computer monitor by blanking the 
screen and displaying a moving pattern.  This occurs when Jeeves has been 
idle (no connections or keyboard activity) for a specified time.  The 
screen will be restored when a key is pressed or a connection made to a 
remote computer.  The idle time is set by the statement:

screen save time  =  t

15

where t is the time in minutes and can range from 1 to 20.  If the 
statement is not included in the JEEVES.INI file then the default time of 
20 minutes will be used.  A save time of 0 will disable the save screen 
option.

Screen Update Period

Jeeves updates information displayed on the screen at a rate determined by 
the statement:

screen update period  =  p

where p is the time in seconds.  Valid values for p range from 1 to 5 with 
the default value being 2 (the default being used if the statement is not 
included in the JEEVES.INI file).  Jeeves will accept a value of 0 which 
will result in the screen being updated continuously.  However, this 
should only be used for diagnostic purposes as it will dramatically slow 
Jeeves down.

Examples

The following are examples of JEEVES.INI files:

Example 1

lpt1=HPLJ4|Hewlett Packard LaserJet 4 /r
lpt2= lx850 | Epson 9 pin matrix
COM1 =plotter
temp directory=d:\prtfiles
screen save time=10
screen update period = 5


Example 2

lpt2=claser | Colour laser printer
temp directory=\jeevprog\tmpfiles


Screen Displays

There are four screen displays which give information about the program 
itself, the print queues, the connections to other computers and some 
operational statistics.  Jeeves starts by displaying details about the 
first print queue listed in the JEEVES.INI file, but the other screens can 
be displayed by pressing one of the function keys F1 to F4 as listed 
below.  The displays are updated at a rate determined by the "screen 
update period" statement in the JEEVES.INI file.


16

Key Assignments

       Key             Operation

        F1       Display program details
        F2       Display successive print queues
        F3       Display current connections
        F4       Display operational statistics
        up arrow Move to top of queue/connection list
        dn arrow Move to bottom of queue/connection list
        Alt+X    Abort program and exits to DOS


Queue Display

Each of the queue names listed in the JEEVES.INI file will have its own 
display showing details about the queue and the list of files (print jobs) 
pending.  Pressing the F2 key will cycle through the different queues.

The USER, FILENAME and PRIORITY are determined by Jset on the remote 
computer.  The priority values range from 0 to 9 with 0 being the highest 
priority.  There are three stages in the printing of a file and these are 
shown in the status column.  "Transfer" indicates that data is being 
received from the remote computer, "Ready" means that the data transfer is 
complete and the file is waiting to be printed, and "Printing" indicates 
that the data is being sent to the printer.  Along side the "Printing" 
status is the percentage of the file sent to the printer.  Note that if 
the printer is turn off-line and thus the transfer of data to the printer 
stopped, the status will still display "Printing" though the device status 
at the top of the screen will change to "Off Line".

Connection Display

When a remote computer wants to send a file to Jeeves to be printed, a 
communication link or connection is made between the two computers.  
Information, including the file to be printed, is exchanged over this link 
and once complete the connection is terminated.  Details about any current 
connections are shown in the connection display.  However,  in most cases 
the connections will last just a few seconds and as the connection display 
is usually updated every couple of seconds, many connections will be made 
and terminated before the display has time to list them.


Jeeves' address is the internetwork address of the computer running the 
Jeeves program.  The address consists of a network number which identifies 
the segment of a multisegmented network and a node address which uniquely 
identifies the adapter card in the computer.  When Jeeves starts up, it 
sends out a packet onto the network requesting the network number from the 
nearest router (usually a Novell file server).  If after several attempts, 
it doesn't get a response, Jeeves assumes that it is connected to an 
isolated segment and will set the network number to 0.

The "BYTES IN" and "BYTES OUT" columns display the number of data 
characters received and sent by Jeeves.

17

Statistics Display

The statistics display gives information about the status of Jeeves and 
some idea of how busy Jeeves is performing certain tasks.

- Number of connections is the number of current communication links 
operating and is the same as that shown in the connection's display.

- Broken connections with outstanding tasks is the number of connections 
which have been terminated but which still have instructions to carry 
out.  Note that the printing of files is not regarded as a connection 
task.

- Peak number of connections is the maximum number of simultaneous 
connections that Jeeves has serviced since the program was installed.

- Total packets in and Total packets out are the sum of all data packets 
received by and sent from Jeeves since the program started.  A data 
packet is of variable length with a maximum size of 554 bytes.

- Performance, system is an overall indication of how busy Jeeves is.  
The value will be between 95 - 100 when Jeeves is idle and will fall, 
possibly to zero, when Jeeves is performing connection tasks and/or 
printing files.

- Performance, parallel ports indicates whether the printers connected to 
the parallel ports LPT1, LPT2 and LPT3 respectively, are receiving data 
efficiently.  A low value (less than 10) means that the printer is 
processing the data as fast as Jeeves can send it while a high value 
(greater than 90) means that the printer isn't processing the data fast 
enough.

- Performance, serial ports is the same as for the parallel ports except 
that the values refer to the ports COM1, COM2, COM3 and COM4 
respectively.

- Available memory is the current amount (in Kbytes) of unused and 
available RAM.  Approximately 20Kb is used to support each connection.

- Number of incomplete transfer files is the number of print jobs that 
have been abandoned because the transfer of data from the remote 
computer to Jeeves was interrupted.

- Number of print requests received is the total number of print jobs 
that Jeeves has serviced since the installation of the program.


Terminating Jeeves

It is usually a good idea to leave Jeeves running all the time as the 
client PCs will attempt to connect to Jeeves when they boot up (assuming 
the JSET program is loaded from the AUTOEXEC.BAT file).  However, if 
Jeeves is down, this will not prevent the client PCs from starting.

Press Alt+X to exit Jeeves and return control to DOS.  Any connections to 
remote computers will be aborted and any printing will be abandoned 
without warning.  It is recommended that all connections be terminated and 
printing completed before quitting Jeeves.

18

Listing Users

Each time a remote computer requests connection to Jeeves, data from the 
computer's JSET initialisation file (JSET.INI) is sent to Jeeves to 
identify the user and computer.  This data is stored in a file called 
IDENTIFY.LST in the current directory of the Jeeves computer.  The 
information in the identification file can be listed by entering the 
command JEEVLIST at the DOS prompt.


19

CLIENT PROGRAMS

Jlink enables DOS or Windows applications to print data on Jeeves.  The 
core of the program is contained within the device driver JLINK.SYS while 
the initialisation and maintenance of the devices is carried out using the 
program JSET.EXE.  Existing print devices such as the parallel devices 
LPT1 to LPT3 and the serial devices COM1 to COM4 may have their data 
redirected to Jeeves or entirely new devices may be created through which 
data is printed.  Up to ten devices can be used, any three of which can 
send data simultaneously.  Jlink can also insert characters (the prologue 
data) at the start of each print job and append characters (the epilogue 
data) at the end.

Jlink

The device driver JLINK.SYS, should be installed by inserting the 
following line in the computer's CONFIG.SYS file:

device[high]=[path] jlink.sys [/b=size]

The [high] option may be included if DOS has access to UMBs (see users' 
guide for DOS 5 or above) and the [path] should be included if the file 
JLINK.SYS is not in the root directory of the boot disk.  The optional 'b' 
switch defines the amount of memory allocated to store all device prologue 
and epilogue data.  This value can range from 0 to 4096 bytes.

Jset Initialisation File

The Jset initialisation file (JSET.INI) is primarily used to identify the 
computer and user to Jeeves.  The client programs search the current 
directory and then the directories listed in the DOS search path for the 
file.  Note that the program JSET requires write access to the file (i.e. 
you mustn't make JSET.INI read-only). The file is made up from the 
statements listed below (there should be one statement per line).


JEEVES= [network_number : ]node This is the address of the computer 
                                running Jeeves and can be found from the 
                                Connection Display of Jeeves.  You can leave 
                                out the network number (or set it 0) if you 
                                know that the client PC and Jeeves use the 
                                same network number.

USERNAME= string                A group of up to 13 characters identifying the 
                                user of the computer.

FULL NAME= string               Up to 29 character string.

COMPUTER= string                A 29 character maximum string used to identify 
                                the computer.

ROOM=string                     A 19 character maximum string identifying the 
                                location of the client computer.

PRIORITY=n                      Sets the printing priority in the range 0 
                                (highest priority) to 9 (lowest priority).

INTERNAL_STATUS=xxxxx           Do not insert or change this line.  The 
                                program JSET, creates and uses this line.

20

Example

        jeeves=1:0000ABCD1234
        username=Bertie
        full name=Bertram W. Wooster
        computer=IBM PC compatible
        room= D030
        priority=5




Jset

Jset is used to link existing or specifically created devices to the print 
queues on Jeeves.

Syntax  jset device [queue_name] [/t=x] [/p=y] [/-int] [/-ps] [/u] 
                [/s+|/s-] [/a=[d:][path]filename[.ext]]
                [/z=[d:][path]filename[.ext]]

        or      jset /i [/s+|/s-]

        or      jset [/?]


Parameters  device  This is the name of an existing print device 
                    (such as LPT1) or the name of a device to be created.  
                    The device name should contain up to eight standard DOS 
                    filename characters and should be unique (i.e. no files 
                    with the same 8 character filename, even if they have an 
                    extension)  as DOS will treat it as a reserved filename.  
                    If the device is not followed by a Jeeves queue name (see 
                    below), then Jset will attempt to delete the Jlink 
                    device.

            queue_name
                    The queue_name is the print queue on Jeeves to which data 
                    will be sent.


Switches    /t=x    This sets the end of print time-out value in seconds.  x 
                    should be in the range 1 to 9 with the default being 10.

            /p=y    The print priority defined in the JSET.INI file may be 
                    overridden by the 'p' switch.  The value of y should be 
                    between 0 (highest priority) and 9.

            /-int   The "minus interrupt" switch will prevent Jlink from 
                    redirecting print requests sent directly to the 
                    computer's BIOS (i.e. bypassing the device driver).  This 
                    switch is applicable to the LPT and COM devices only.

21

            /-ps    By default, Jlink will monitor Print Screen requests 
                    (issued by pressing the PrtSc key) so that it can end the 
                    printing efficiently rather than having to wait for the 
                    end of print time-out to expire.  However, if problems 
                    arise using the print screen facility, include the '-ps' 
                    switch to disable monitoring.  This switch is only 
                    applicable to LPT1 and will be ignored if the '-int' 
                    switch is used.

            /u      If the 'u' switch is used with only a device name, then 
                    the device will be removed without the user being 
                    prompted for confirmation.

            /s+ or /s-
                    When the end of print time-out period has expired, Jlink 
                    will beep if sound is on (s+).  The sound switch will 
                    affect all the devices which are timed-out.

            /a=[d:][path]filename[.ext]
                    The 'a' switch is used to identify a file which contains 
                    prologue data to be sent to Jeeves at the start of every 
                    print job.  The file size should be less than the 
                    available space in the prologue/epilogue file store.

            /z=[d:][path]filename[.ext]
                    The 'z' switch identifies the epilogue file which is sent 
                    after the print job.

            /i      Information about the status of Jlink and associated 
                    devices may be listed using the 'i' switch.

            /?      The query switch lists the command line options.



Creating a New Print Device

There are several advantages to creating a new print device rather than 
redirecting one of the existing LPT or COM devices.  (1) the existing 
devices remain attached to their local ports, (2) the device name can 
reflect the attached printer name, and (3) it is not necessary to remove 
the device before loading the Netware Shell (see "Compatibility with the 
Netware Shell").  Further, this is the recommended way to print from 
Windows applications.

Enter the following command at the DOS prompt to create a print device:

jset  device  queue_name

For example,

jset  hplj_iv  hplj4

would create a device called HPLJ_IV and would link this device to the 
Jeeves print queue called HPLJ4.  Note that there should not be any files 
on the computer with the device name, even if the file has a filename 
extension.  Thus, in the above example, there shouldn't be any files with 
the name HPLJ_IV such as HPLJ_IV.TXT  (however, HPLJ_IV1.TXT would be OK).

22

Redirecting an Existing Device

Unfortunately, may DOS programs will only print to specific devices; 
namely LPT1/2/3  and COM1/2.  Furthermore, some programs will bypass the 
device driver and access the parallel or serial ports via the computer's 
basic input/output system (BIOS).  For these programs it will be necessary 
to redirect the specific device.  For example, if the program prints to 
LPT1, then enter the following command:

jset  lpt1  lq850

This will cause any data sent to LPT1, either to the DOS device via DOS 
function calls or to the BIOS via the printer interrupt 17(hex), to be 
redirected to the Jeeves print queue  LQ850.  If the '-int' switch is 
included in the command line, then only data sent to the DOS device will 
be redirected.

One problem redirecting data sent through the BIOS, is knowing when the 
print job is complete.  The Jlink driver determines this by monitoring the 
time between each character received.  If this time exceeds a preset value 
(the end of print time-out period), then Jlink assumes the application has 
finished printing and tells Jeeves to queue the data for printing.  You 
can tell when Jlink has determined the end of the print job by using the 
sound switch (/s+) in the JSET command.

Note that programs which bypass both the device driver and BIOS and access 
the hardware directly, cannot have their printing redirected.

 Removing a Device

To delete a device created by Jlink or restore an existing device, enter 
the device name by itself.  Thus to delete the device HPLJ_IV, enter the 
following:

jset  hplj_iv

Confirmation will be requested before the device is removed unless the 'u' 
switch is included in the command line.

Inserting Prologue and Epilogue data

Jlink has the ability to send predefined data to a Jeeves print queue 
before (the prologue data) and after (the epilogue data) a program's print 
data.   Files containing the prologue and epilogue data can be stored in 
the Jlink driver by using the 'a' and 'z' switches respectfully.  Each 
device can store its own prologue and epilogue data but the total size of 
all the devices' data must be less than the amount of memory allocated 
when JLINK.SYS was installed with the 'b' switch.  Note that Jlink will 
send the prologue and epilogue data exactly as it is in the file and thus 
all carriage returns (ASCII 13), line feeds(ASCII 10),  end of file 
markers (ASCII 26), etc. will be included.

There are at least two ways to make use of this facility.  The first is to 
store a header or banner page which would include the user's name, in the 
prologue file.  Then, each time the user sends data to the printer, the 
header page would be printed first identifying the owner of the print job.

23

The other possible use is to store printer emulation code in the prologue 
file which would program the printer to emulate a different type of 
printer.  The epilogue data could then be used to restore the printer back 
to its original state.  For example, the Star Micronics LaserPrinter 8III 
can emulate three different printers; the HP LaserJet III (the default), 
the Epson EX-800 and the IBM Proprinter.  It would be possible therefore 
to create three Jlink devices, each linked to the same Jeeves print queue 
but with different prologue data.  This would be done as follows:

   jset  hplj3  star8iii  /a=c:\utils\hpljemu.dat
   jset  ex800  star8iii  /a=c:\utils\ex800emu.dat /z=c:\utils\hpljemu.dat
   jset  ibmpro  star8iii  /a=c:\utils\ibmpemu.dat /z=c:\utils\hpljemu.dat

where STAR8III is the Jeeves print queue serving the Star printer, HPLJ3, 
EX800 and IBMPRO are the Jlink devices and HPLJEMU.DAT, EX800EMU.DAT and  
IBMPEMU.DAT are the files containing the emulation codes for the 
respective printers.

Using Jlink with Windows

The general method to use Jlink with Windows is to create a new print 
device (as described above) and then insert the name of the device in the 
[ports] section of the WIN.INI file.  For example, if the new device was 
called HPLJ_IV, then the [ports] section of the WIN.INI file may look 
like:

[ports]
; A line with [filename].PRN followed by an equal sign causes
; [filename] to appear in the Control Panel's Printer Configuration dialog
; box. A printer connected to [filename] directs its output into this 
file.
LPT1:=
LPT2:=
LPT3:=
COM1:=9600,n,8,1
COM2:=9600,n,8,1
COM3:=9600,n,8,1
COM4:=9600,n,8,1
FILE:=
EPT:=
HPLJ_IV:=

The next step is to link a Windows printer to the Jlink device.  This is 
done by opening the Printers option in the Control Panel, selecting the 
appropriate printer and choosing the Configure (v3.0)/Connect(v3.1) 
button.  From the list of ports, select HPLJ_IV and choose the OK button.

Windows 3.1 makes the use of an existing port (such as LPT1) simply a case 
of clearing the 'Fast Printing Direct to Port' box in the Connect dialog 
window.  With this box cleared, Windows will print via the LPT/COM 
redirected device.  However, the situation becomes somewhat more complex 
with Windows 3.0.  Whether Windows 3.0 will print to the redirected device 
or not depends on several factors including (1) the presence of a physical 
port, (2) the loading of a network shell, and (3) the presence of a 
network driver.  One method to force Windows 3.0 to print via a redirected 
device is to add an extension to the existing device name.  For example, 
if Jlink has redirected LPT1, then the device LPT1.DOS could be added to 
the [ports] section of the WIN.INI file and the appropriate printer 

24
connected to this port.  Windows 3.0 would then attempt to print data to 
the file LPT1.DOS which DOS would interpret as the device LPT1 (LPT1 being 
a reserved filename).

If you do have to redirect an existing port for DOS applications and you 
want to use Windows applications as well, it is advisable to create a 
device for the Windows applications and redirect the LPT port as well.  
For example:

jset  lpt1  hplj4
jset  hplj_iv  hplj4

would redirect the LPT1 port for DOS applications and would create the 
device HPLJ_IV for Windows applications.

Compatibility with the Netware Shell

The Netware Shell (NETX) takes a heavy handed approach to accessing DOS 
facilities.  Not only does it trap all calls to the BIOS parallel 
interrupt 17 services rather than passing on the interrupt if not 
required, it also bypasses the LPT1, 2 and 3 device drivers in the DOS 
device driver chain rather than inserting the devices at the beginning of 
the chain as is usual.  This in itself would not be a problem except that 
when the shell is removed, its attempts to restore the chain to its 
original state fail if the LPT devices do not reside in DOS (as would be 
the case if Jlink had inserted its own versions of the LPT devices).

The consequence of this is that Jlink must not have redirected any of the 
LPT devices when the Netware Shell is loaded.  However, once the shell is 
loaded, it is then possible to use Jset to redirect any or all of the LPT 
devices.  Similarly the Jlink devices must be removed before the Netware 
Shell is unloaded.

The circumstances mentioned above apply only to the LPT devices.  The COM 
devices and any Jlink created devices are unaffected by the Netware Shell.


25

Jprint

Jprint sends a specified file to a print queue on Jeeves for printing.  It 
also displays diagnostic information.


Syntax          jprint [d:][path]filename[.ext] queue_name [/ff]
        or      jprint /l
        or      jprint /?


Parameters      [d:][path]filename[.ext]
                     specifies the location and name of the file to print.

                queue_name
                     is the print queue to which the file will be sent.


Switches        /ff  Adds a form-feed (new page) command to the end of the 
                     file if the last character of the file is not already a 
                     form-feed.

                /l   The L switch lists available queue names and device 
                     descriptions.

                /?   Lists command line parameters.


Description     Jprint requests a connection to Jeeves and once established, 
                sends the specified file and its print priority (as defined in 
                JSET.INI) to the print queue queue_name.  The connection to 
                Jeeves is then terminated and the file printed.  Note that 
                Jprint does not use the Jlink device driver.


Example         jprint c:\data\fig.pcl hplj4


26

APPENDICES

Appendix A:  System Requirements

Processor               8088 or 80x86.  Jeeves will work adequately with a 
                        4.7MHz clocked 8088 computer.

RAM                     512 Kb minimum

Hard Disk               10Mb recommended minimum.  This is to allow space for 
                        temporary print files to be stored before printing.  
                        It would also be possible to use a diskless 
                        workstation with a RAM or network drive.

Video                   Any video card and monitor capable of displaying 
                        80x25 text including MDA, HGC, CGA, EGA, VGA, etc.

Parallel Ports          0 to 3.  Jeeves drives the parallel ports via the 
                        BIOS int 17(hex) interrupt.

Serial Ports            0 to 4.  Jeeves drives the serial ports via the 
                        BIOS int 14(hex) interrupt.

Network Interface Card  Any network card capable of supporting Novell's 
                        IPX/SPX protocol such as ethernet.


27

Appendix B:  Acquiring IPX

A disk containing network drivers will usually be supplied with your 
network card.  These drivers should include the Netware dedicated IPX  
driver, IPX.COM and the Open Data-Link Interface version, IPXODI.COM.  
However,  if you've got an ethernet card without drivers, you may be able 
to obtain the necessary software from sites on the Internet or by mail 
from Columbia University, NY, USA.

The Crynwr Collection of Packet Drivers

A packet driver is a program which provides an interface between the 
ethernet card and one or more network applications.  The Crynwr collection 
contains packet drivers for common ethernet cards and these are available 
by anonymous ftp from SimTel mirror sites.  The drivers are contained in 
the file ....../pktdrvr/pktdXX.zip where XX is the version number.


Primary mirror site:
        Rochester, Michigan  oak.oakland.edu

Secondary mirror sites:
        St. Louis, MO        wuarchive.wustl.edu
        Corvallis, OR        archive.orst.edu
        Falls Church, VA     ftp.uu.net
        Australia            archie.au
        UK                   src.doc.ic.ac.uk
        Finland              ftp.funet.fi
        Germany              ftp.uni-paderborn.de
        Israel               ftp.technion.ac.il
        Switzerland          ftp.switch.ch
        Taiwan               nctuccca.edu.tw

You can also purchase packet drivers on PC diskette by postal mail from 
Columbia University.  Their address is:

Kermit Distribution, Dept PD
Columbia University Academic Information Systems
612 West 115th Street
New York, NY  10025

Tel. (+1) 212 854-3703

Packet Driver IPX

At the time of writing, the Crynwr collection (version 11) also contained 
a packet driver compatible version of IPX named PDIPX.COM.  This program 
is loaded after the packet driver and enables IPX/SPX services.  Details 
of how to install the software are included with the program.


28

Appendix C:  System Messages


Jeeves

Access denied.  DOS is denying access to a file; usually because an 
attempt is being made to create or write to a file that already exists and 
is read-only.

DOS version must be 3.3 or above.  You need to update your version of DOS.

Fatal error has occured in procedure XX error code NN.  Jeeves has 
detected an error condition which it is unable to resolve and has 
terminated.  Please report all such program faults to the author stating 
the procedure code (XX) and error code (NN).

Identification file IDENTIFY.LST not found.  Do you wish to create one ?  
(Y/N):  Jeeves can't find the user identification file in the current 
directory and is requesting that it be created.  Once created, users are 
added to this file each time they connect to Jeeves.  If you don't create 
the file, the program will simply terminate.

No IPX/SPX sockets left.  Jeeves is unable to open a communication socket.  
Check that the line "ipx  sockets  =  25" is included in the SHELL.CFG or 
NET.CFG file and reload the IPX driver.

No response from router.  The network number will be set 00000000.  Jeeves 
has sent out several Routing Information Protocol (RIP) packets but has 
not got a response and thus assumes that it is connected to an isolated 
segment.

Not enough memory.  You don't have enough RAM in your computer.

Obtaining routing information......  Jeeves has sent out a Routing 
Information Protocol (RIP) packet and is waiting for a response from a 
Novell router.

Routing information received.  A router has responded with the network 
number which forms part of Jeeves' address.

SPX not running.  Program aborted.  Jeeves is unable to initialise the SPX 
driver and has terminated.  The IPX driver (IPX.COM or IPXODI.COM) has not 
been loaded or the IPXODI.COM has been loaded with the 'a' option or the 
IPX.COM driver is an old version.

The data file JEEVES.DAT has been corrupted.  It is being reset.  Jeeves 
has detected that its data file has changed since the last time Jeeves was 
run and has reset the file to its default values.

Too many open files.  DOS has run out of file handles.  Set "files=30" (or 
more) in the CONFIG.SYS file and reboot.

Unable to create file filename.  This is usually because the directory is 
read-only or the file already exists and is read-only.

Unable to find file filename.  Jeeves is unable to find the specified 
file.

29

Unable to find path to filename.  Jeeves is unable to find the directory 
which is specified to contain the file filename.

Unable to open IPX socket.  The IPX driver has run out of sockets or some 
other application is using Jeeves' socket  number, 494A.  Make sure the 
line "ipx sockets=25" (or more) is included in the NET.CFG or SHELL.CFG 
files.

Unable to read file filename.  There is a possible disk fault or read-
access has been denied.

Unable to write data to file filename.  The disk is full or write-access 
has been denied.

Unlisted error.  DOS has returned a disk error which Jeeves doesn't 
understand.


Jset

All communication channels in use.  Jset is unable to communicate with 
Jeeves as the Jlink driver is already using its maximum of three channels.  
This should only happen in a multi-tasking environment such as Windows 
when three jlink devices are sending data to Jeeves at the same time.  A 
channel will be freed when a device has finished sending data.

Cannot install any more devices.  Jset has reached the limit of 10 
devices.

Connection prematurely terminated.  Possible faulty network.

Device name missing.  You must include a device name.

Device name too long.  The device name should not be more than 8 
characters long.

Incorrect version of JLINK.SYS.  You must use version x.x  You need to 
load the version of jlink that came with Jset.

INT 2F multiplex code conflict.  AH=0xCE.  Jset uses the DOS interrupt 2F, 
code CE (hex) to locate the jlink device driver.  However, another program 
has responded to the code and Jset cannot locate the device driver.  You 
will need to unload the other memory resident program.

Jeeves unable to establish connection.  Jset has tried to establish a 
connection with Jeeves, but Jeeves has responded with an error condition 
and had denied the connection.  This will occur when Jeeves has run out of 
memory, is already processing its maximum of 20 connections, has run out 
of IPX sockets or has encountered disk errors.

JLINK driver not installed.  Jset cannot find the JLINK.SYS device driver.  
Make sure that the line "device=jlink.sys" is in the CONFIG.SYS file.

JSET requires write access to xxxxx.  Jset is unable to write to the 
specified file and cannot continue.

Network failure.  Jset cannot re-establish connection with Jeeves.  This 
is most likely due to a faulty network.

30

No IPX/SPX sockets left.  Jset is unable to open a communication socket.  
You will need to increase the number of ipx sockets in the SHELL.CFG or 
NET.CFG file and reload the IPX driver.

No response from Jeeves.  Incorrect network address or Jeeves not running.  
Check that the address at the top of the Jeeves connection display is the 
same as that shown by the Jset /i command.  If they are different, then 
you will need to edit the "jeeves=" line in the JSET.INI file.  Another 
thing to check is that both Jeeves and the client computer are using the 
same ethernet frame type.  Most ethernet LAN drivers will default to 
Ethernet_802.3, but you can change this by setting the "frame" option in 
the NET.CFG file.  For example the following lines from a NET.CFG file 
would set the frame type to Ethernet_II for a driver named drivername:

Link Driver drivername
        Frame Ethernet_II

Requested print queue not found.  The name of the print queue specified in 
the Jset command does not match any found on Jeeves.  You can use the 
Jprint /L command to list available print queues.

SPX not running.  Jset is unable to initialise the SPX driver and has 
terminated.  The IPX driver (IPX.COM or IPXODI.COM) has not been loaded or 
the IPXODI.COM has been loaded with the 'a' option or the IPX.COM driver 
is an old version.

There is not enough space in JLINK file store to save the file xxxxx.  The 
jlink driver has a limited amount of  memory to store prologue and 
epilogue data and the file you are attempting to store is too big.  You 
should either re-install the jlink driver with a larger buffer, the 
maximum size of which is 4096 (i.e.  device=jlink.sys /b=4096) or delete 
any other current devices which have prologue or epilogue data.  Note that 
the largest file you can store is 4096 bytes.

This device has already been installed.  Enter "JSET device_name" to 
remove specified device.  You have tried to install a device name that 
already exists.  If you want to install a device with different 
parameters, you must remove the old version first.

Unable to confirm print queue name.  Jset cannot verify the requested 
print queue name as it is unable to connect to Jeeves.  However, the 
device will still be installed and will attempt to connect to Jeeves again 
when the device is sent data to print.

Unable to open file xxxxx.  Jset is unable to open the specified file.

Unable to read file xxxxx.  Jset is unable to read the specified file.

Unable to remove device.  Device is active.  Jset cannot remove an 
installed device that is currently in use.  You should wait until the 
device has finished printing and try again.

Unable to remove device.  Device not found.  Jset cannot find the device 
you specified.  Enter Jset /i to get a list of installed devices.


31

Jprint

All server connections in use.  Jeeves has reached its limit of 20 
simultaneous connections.  Try the Jprint command again when Jeeves isn't 
so busy.

Cannot find specified file to print.  The file entered on the Jprint 
command line cannot be found.

Connection terminated.  Jprint has closed the connection with Jeeves.

No sockets available on server.  Jeeves has run out of communication 
sockets.  Make sure the line "ipx sockets=25" (or more) is included in the 
NET.CFG or SHELL.CFG files on the Jeeves computer.

No sockets left.  Jprint is unable to open a communication socket.  You 
will need to increase the number of ipx sockets in the SHELL.CFG or 
NET.CFG file and reload the IPX driver.

Requested print queue doesn't exist.  Jeeves has returned an error which 
indicates that the print queue name specified by Jprint does not exist.  
(This error should not normally occur as Jprint compares the print queue 
name entered on the command line with a list of queue names received from 
Jeeves and reports an error if the requested queue is not in the list.  
See ".... queue not found" below)

Requested print queue is full.  Try again when Jeeves has printed files 
from the print queue.

Requested print queue not found.   The print queue name entered on the 
Jprint command line is not recognised by Jeeves.

Server disk is full.  Disk space will be freed when Jeeves has printed 
some files.

Server out of memory.  Jeeves cannot print the specified file as all 
Jeeves' available memory is in use.  Memory will become available when 
Jeeves has finished printing other files.

Server unable to create file.  Jeeves has been unable to create a file on 
its disk.

SPX not running.  Program aborted.  Jprint is unable to initialise the SPX 
driver and has terminated.  The IPX driver (IPX.COM or IPXODI.COM) has not 
been loaded or the IPXODI.COM has been loaded with the 'a' option or the 
IPX.COM driver is an old version.

Unable to establish primary connection.  Server is down, incorrect address 
or network failure.  Check that the address at the top of the Jeeves 
connection display is the same as that  in the JSET.INI file.  Also check 
is that both Jeeves and the client computer are using the same ethernet 
frame type.  Most ethernet LAN drivers will default to Ethernet_802.3, but 
you can change this by setting the "frame" option in the NET.CFG file.  
For example the following lines from a NET.CFG file would set the frame 
type to Ethernet_II for a driver named drivername:

Link Driver drivername
        Frame Ethernet_II

32

Unable to establish secondary connection.  Server is down or network 
failure.  As the primary connection was successful, the inability to 
reconnect must be due to Jeeves being switched off or a network error.

Unable to open specified file for reading.  Jprint cannot open the file 
entered on the command line.

Unable to read specified file.   Jprint cannot read the file entered on 
the command line.

Unlisted error.  Jprint does not recognise an error received from DOS.

Warning.  This is an old version of JPRINT.  Jeeves may not support old 
versions of client software.

Warning.  You are connecting to an old version of Jeeves.  New features 
added to a later version of Jprint will not be supported by an old version 
of Jeeves.


33

Appendix D:  Technical Notes

Specifications

DOS version                  MS DOS 3.3 and above
RAM                          512Kb minimum
Hard disk size               10Mb minimum
Communication protocol       Novell's Sequenced Packet Exchange (SPX)
Primary socket number        494Ah
Programming                  Microsoft MASM v6.1

Maximum values

Users                        Limited by disk space (128 bytes/user)
Simultaneous connections     20 (RAM dependent)
Print queues                 7 (3 parallel & 4 serial)
Files/queue                  50

Maximum character string lengths

Queue name                   70 (queue_name + device_description)
User name                    13
Full name                    29
System name                  29
Room                         19
