












                                   --------
                                   PCOUNTER
                                   --------

                         A Page Counting Print Server
                                      for
                            Novell NetWare Networks


                                 Version 2.33


                            Copyright (c) 1992-1994
                                    -------
                              A.N.D. Technologies
                                P.O. Box 64811
                             Los Angeles, CA 90064
                                      USA

                                    E-Mail
                                    ------
                         Internet - andtech@netcom.com
       CompuServe - 71011,3570 or INTERNET:andtech@netcom.com (faster!)

                                   Phone/Fax
                                   ---------
                                (213) 467-8688
-----------------
TABLE OF CONTENTS
-----------------
OVERVIEW  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page 3
FUTURE PLANS/FILE LIST  . . . . . . . . . . . . . . . . . . . . . . . . Page 4
PCONFIG - PCOUNTER CONFIGURATION  . . . . . . . . . . . . . . . . . . . Page 5
PCOUNTER HOME DIRECTORY - PCOUNTER.LOG  . . . . . . . . . . . . . . . . Page 6
QUEUES  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page 7
QUEUE TYPES (QType) . . . . . . . . . . . . . . . . . . . . . . . . . . Page 7
     QType = PostScript . . . . . . . . . . . . . . . . . . . . . . . . Page 8
     QType = Text to PostScript (TtoP)  . . . . . . . . . . . . . . . . Page 9
     QType = PostScript and Text Conversion (PS&T)  . . . . . . . . .  Page 10
     QType = PCL  . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 10
     QType = Charge Per Job (Fixed Price) . . . . . . . . . . . . . .  Page 10
     QType = LaserJet 4 . . . . . . . . . . . . . . . . . . . . . . .  Page 11
     QType = Both . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 11
QUEUE PRICE (QPrice)  . . . . . . . . . . . . . . . . . . . . . . . .  Page 12
QUEUE PORT (QPort)  . . . . . . . . . . . . . . . . . . . . . . . . .  Page 12
QUEUE INFO (QInfo)  . . . . . . . . . . . . . . . . . . . . . . . . .  Page 12
QUEUE COUNT PAGES   . . . . . . . . . . . . . . . . . . . . . . . . .  Page 12
QUEUE ACCOUNTING  . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 12
QUEUE FILTER  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 12
QUEUE HEADER FILES, FOOTER FILES, AND DELAYS  . . . . . . . . . . . .  Page 13
QUEUE BALANCE LIMIT (QLimit)  . . . . . . . . . . . . . . . . . . . .  Page 14
QUEUE NOTIFY IF BALANCE IS BELOW LIMIT  . . . . . . . . . . . . . . .  Page 14
QUEUE PRINT IF BALANCE IS BELOW LIMIT . . . . . . . . . . . . . . . .  Page 14
QUEUE CUT OFF JOBS AT LIMIT . . . . . . . . . . . . . . . . . . . . .  Page 14
QUEUE NOTIFY (QNotify)  . . . . . . . . . . . . . . . . . . . . . . .  Page 14
QUEUE MAXIMUM JOBS (QMaxJobs) . . . . . . . . . . . . . . . . . . . .  Page 14
QUEUE UNKNOWN USER (QUnknownUser) . . . . . . . . . . . . . . . . . .  Page 15
QUEUE BANNER  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 16
QUEUE BANNER PRINT STATUS . . . . . . . . . . . . . . . . . . . . . .  Page 16
QUEUE BANNER PAGE COUNT STATUS  . . . . . . . . . . . . . . . . . . .  Page 16
QUEUE BANNER POSITION . . . . . . . . . . . . . . . . . . . . . . . .  Page 16
PORTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 17
     QPort=COMx (Serial Ports)  . . . . . . . . . . . . . . . . . . .  Page 17
     QPort=LPTx (Parallel Ports)  . . . . . . . . . . . . . . . . . .  Page 17
     QPort=Q--> (Another Queue - for Remote and Networked Printers) .  Page 18
PORT BUFFER SIZE  . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 19
PRINTER NAME (QPrinterName) . . . . . . . . . . . . . . . . . . . . .  Page 19
OTHER PRINTER TYPES . . . . . . . . . . . . . . . . . . . . . . . . .  Page 20
     DOT-MATRIX PRINTERS AND PLOTTERS . . . . . . . . . . . . . . . .  Page 20
     DESKJETS AND PAINTJETS . . . . . . . . . . . . . . . . . . . . .  Page 20
     POSTSCRIPT PRINTERS WHICH CAN PRINT OTHER PRINTER LANGUAGES  . .  Page 20
CUSTOMIZING PCOUNTER (PCONFIG - F6) . . . . . . . . . . . . . . . . .  Page 21
     USING ONE CENTRAL FILE SERVER FOR ACCOUNTING . . . . . . . . . .  Page 21
     ERROR BROADCASTS - ERROR BROADCAST WAIT TIME . . . . . . . . . .  Page 21
     CURRENCY . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 22
     PCOUNTER.LOG FORMAT  . . . . . . . . . . . . . . . . . . . . . .  Page 22
RUNNING PCOUNTER  . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 23
LICENSES  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 23
PCONSOLE/PRINTCON/PRINTDEF/SYSCON AND PCOUNTER  . . . . . . . . . . .  Page 24
DEPOSIT.EXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 25
DEPOSIT ALTERNATIVES  . . . . . . . . . . . . . . . . . . . . . . . .  Page 26
BALANCE.EXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 26
REGISTRATION  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 27
TECHNICAL SUPPORT . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 27
INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  Page 28
HOW TO FIND THE LATEST VERSION OF PCOUNTER  . . . . . . . . . . . . .  Page 28

                                                                        Page 3
--------
OVERVIEW
--------

PCOUNTER is a Novell Netware based Print Server which runs on a dedicated CPU. 
Its function is to not only handle print jobs and manage print queues but also
to count pages on PostScript and HP LaserJet compatible printers, including
the LaserJet 4.  It also converts ASCII text input for PostScript printers;
supporting the extended character set.

PCOUNTER is both a NetWare print server and an accounting server. It subtracts
the usage amount from the users' account balances and keeps a log record so
that network supervisors can track printer usage.

PCOUNTER can move print jobs to other queues so that remote printers attached
to workstations and printers with network interfaces may be used.

The PCOUNTER console can be used to monitor and delete incoming print jobs.

PCOUNTER is much faster than PSERVER.EXE - it can handle serial printer baud
rates up to 115K BAUD, parallel printing direct to the hardware port, and may
simply be used as a standard print server if desired.

Three additional programs are provided to facilitate PCOUNTER's usage:
PCONFIG, BALANCE, and DEPOSIT.

HARDWARE REQUIREMENTS
---------------------
PCOUNTER requires a dedicated CPU.  It will run on an 8086/88, but a 286 would
be better;  especially if page counts are manually calculated.  No hard disk
is necessary.  A network interface certainly helps.  Page counting requires a
PostScript or PCL printer.  256K of free RAM after drivers are loaded should
be sufficient, although that amount varies according to the number of queues
serviced.  

SOFTWARE REQUIREMENTS
---------------------
DOS 3.0 or above, NetWare 2.1 or above.
This version of PCOUNTER has been lightly tested with NetWare 4.x.
However, erratic behavior was shown using VLM 1.0x.
Using NETX instead of VLM is highly recommended.

                                                                        Page 4
------------
FUTURE PLANS
------------

PCOUNTER.NLM.
Support for network interfaces.
An external programming interface?
Balances in a separate database.

Feel free to make a request.
Just don't ask for "Free Bird".

---------
FILE LIST
---------

LJ2      BAN       559 02-03-94   2:33a
LJ2-A4   BAN       559 02-03-94   2:33a
LJ3      BAN       722 02-03-94   2:33a
LJ3-A4   BAN       723 02-03-94   2:33a
LJ4      BAN      1063 02-03-94   2:33a
LJ4-A4   BAN      1064 02-03-94   2:33a
PS       BAN      4976 02-03-94   2:33a
PS-A4    BAN      4973 02-03-94   2:33a
TEXT     BAN       504 02-03-94   2:33a
BALANCE  EXE     19355 02-03-94   2:33a
DEPOSIT  EXE     23023 02-03-94   2:33a
PCONFIG  EXE     44778 02-03-94   2:33a
PCOUNTER EXE     59773 02-03-94   2:33a
BALANCE  PIF       545 02-03-94   2:33a
DEPOSIT  PIF       545 02-03-94   2:33a
T2PS     PS       2833 02-03-94   2:33a
HISTORY  TXT      6527 02-03-94   2:33a
PCOUNTER TXT     63557 02-03-94   2:33a
BANNER   WP       4770 02-03-94   2:33a


----------------
LaserJet, DeskJet, PaintJet, PJL, HPGL, and PCL are trademarks of
Hewlett-Packard, Inc.
PostScript is a trademark of Adobe, Inc.
NetWare and UNIX (USL) are trademarks of Novell, Inc.
DOS and Windows are trademarks of Microsoft, Inc.
Charon is copyrighted by Clarkson University.
WordPerfect is a trademark of WordPerfect, Corp.

                                                                        Page 5
--------------------------------
PCONFIG - PCOUNTER CONFIGURATION
--------------------------------

PCOUNTER comes with an associated configuration program called PCONFIG. It is
not necessary to use NetWare's PCONSOLE program to configure a PCOUNTER
server; however, you may still wish to use PCONSOLE to manage print queues and
add additional properties.

Unlike PCONSOLE, users may not use PCONFIG to access or view queue
configurations unless they have supervisor-equivalent rights or have write
access in a file server's bindery.  PCOUNTER supports print service on up to
eight file servers; therefore you must be a supervisor on each file server
where you wish to run PCONFIG.

Users of previous versions of PCOUNTER before 2.15 must run PCONFIG and
reconfigure everything.

PCONFIG is used intuitively.  Special keys are:
     Ins - Add a new queue
     Del - Delete a queue
     F1 - Context sensitive help
     F2 - More queue parameters
     F3 - Set up ports, Text to Postscript
     F5 - Remove a queue from service but don't delete it
     F6 - Customize PCOUNTER
     F8 - Enter registration number
     PgUp/PgDn - Change numerical or predefined discrete values
     Enter - Change any text based, user entered values
     Esc - Quit

The configuration information for the PCOUNTER server and each queue will be
stored in its file server's bindery, if you wish, upon exit from PCONFIG.

Syntax: 
          PCONFIG [[FileServerName/]PrintServerName | /LIC] [/REMOVE | /FILE]

To remove a PCOUNTER configuration from a print server, type:
          PCONFIG [FileServerName/]PrintServerName /REMOVE.

You may need to do this if you use a previously configured PCOUNTER server
account as a Novell print server.

To see a list of currently used PCOUNTER licenses, type:
               PCONFIG /LIC

To create a configuration summary file "PrintServerName.SET", type:
               PCONFIG PrintServerName /FILE
The file will be created in the current directory.


Context-sensitive help is available in PCONFIG if you place PCOUNTER.TXT (this
file!) in the same directory.

                                                                        Page 6

PCONFIG creates the print server if it doesn't already exist on the default
file server and also asks if you would like to create it on all attached file
servers on which you have bindery write-access.  You must create the print
server on all file servers where you wish queues to be serviced.

NEW (VERSION 2.3):
     PCONFIG only stores PCOUNTER server configuration on the default file
     server.  You can now specify the default file server on the command line. 
     If you are using queues on multiple file servers, then those file server
     names are stored in the configuration.

NOTE:
     PCOUNTER servers are created with no password and have no facility for
     passwords, so don't set it or else PCOUNTER won't run!  If you previously
     created a PCOUNTER server in PCONSOLE, then use PCONSOLE to clear the
     password.

--------------------------------------
PCOUNTER HOME DIRECTORY - PCOUNTER.LOG
--------------------------------------

Versions of PCOUNTER before 2.22 used \SYSTEM\PCOUNTER_ID as the PCOUNTER
server's home directory.  This has been changed to \SYSTEM\PCOUNTER.

Versions of PCOUNTER before 2.3 used PRINT.LOG as the name of the printing
activity file.  This has been changed to PCOUNTER.LOG.

The PCOUNTER server is given read, write, and create access in this directory; 
here is where it writes log files and reads header and footer files. The
PCOUNTER server keeps a running log of all print activity in a text file
called PCOUNTER.LOG.  You may wish to map a permanent drive to this directory
using the MAP command.  Multiple PCOUNTER servers will write to a single
PCOUNTER.LOG file and share header/footer files.  PCOUNTER automatically flags
PCOUNTER.LOG as shareable.

                                                                        Page 7
------
QUEUES
------

All queues have certain information associated with them: type, port, price,
info, header file, header delay, footer file, footer delay, count pages,
accounting, print if unknown user, balance limit notify at limit, print if
balance is below limit, cut off jobs at limit, banner file, banner print
status, banner count, banner position, notify status, and maximum jobs.

If a queue is first created by PCONFIG, the user group EVERYONE is added to
the Queue Users propery.  If you wish to have selective access to queues, use
PCONSOLE to add/delete users and user groups to be queue users.

-------------------
QUEUE TYPES (QType)
-------------------

Each queue serviced by PCOUNTER must be of a certain type, and should only
contain print jobs of that type.  The types supported are PostScript Only,
Text to PostScript Only, PostScript and Text Conversion, PCL, Charge Per Job
(Fixd),  LaserJet 4, and Postscript and PCL (Both).  A queue is linked to a
port where a printer is attached which can read this type of print job.

You may not choose QType=Laserjet 4 if QPort=Q-->.

If you change the QType, then the queue filter will be reset to NONE.

                                                                        Page 8
------------------
QType = PostScript
------------------

PostScript queue types should be linked to a PostScript compatible printer.
After each job, a CTRL-D  (Hex value 04, reset) byte is sent to the printer in
order to reinitialize it for the next job.  Extra CTRL-D's before and after a
print job are removed.

If the PostScript printer is connected to a serial or parallel port, then
PCOUNTER tests the printer to see if it supports 2-way communication.  If the
printer responds correctly, then PCOUNTER uses 2-way communication to
determine pagecounts and printer usage.  PCOUNTER is able to monitor activity
on PostScript printers due to their ability to communicate with the host
computer.  For example, if an invalid sequence of PostScript commands is sent
to the printer, PCOUNTER may be able to abort the job before any unnecessary
additional data is sent to the printer.  PCOUNTER may also be able to tell if
a PostScript printer has run out of paper or toner, or whether another
consumable item needs to be replaced.  This method is very reliable;  however,
print jobs cannot be cut off if a user's account balance reaches the limit.

If your PostScript printer is remote, networked, or fails the 2-way
communication test, then PCOUNTER manually counts the pages as they are being
printed. PCOUNTER cannot monitor a PostScript printer's status when using this
method.  This method has not been tested with every software package.  A.N.D.
Technologies would like to immediately fix any page count errors which may
occur.

The PostScript language is complex; standard commands may be redefined in many
different ways.  Care has been taken to include all possibilities, but here
are possible problem areas in manual PostScript counting:
*    The incoming PostScript program uses character/line counts in order to
     eject pages instead of explicitly issuing a page eject command. 
     Applications which generate such output are Paradox 4.0, and T2PS 1.0 by
     A.N.D. Technologies.  Other text to PostScript converters may also cause
     problems.  The solution?  Let PCOUNTER convert text to PostScript!
*    Invalid sequences which cause the printer to abort a job.  PCOUNTER is
     not a PostScript interpreter and does not check syntax.  The overhead
     involved in implementing such a scheme would be too costly in terms of
     processing time and hardware requirements.  Therefore PCOUNTER checks
     only for page-eject related commands.  PCOUNTER cannot detect pages
     printed by resident error handlers.
*    PostScript Level 2 programs - especially binary encoding.  More research
     needs to be done.  Waiting to see some new drivers.

If you discover page counting errors, please contact A.N.D. Technologies.

In the following sections, if the text refers to QType=PostScript, it means
QType=PostScript or QType=TtoP or QType=PS&T.

                                *** WARNING ***
Do NOT configure an Laserjet 4M with QType=Post if you plan to use PCL.  Its
internal PostScript pagecount does NOT count PCL pages.

                                                                        Page 9
---------------------------------
QType = Text to PostScript (TtoP)
---------------------------------

Text to PostScript only queues have the same qualities as PostScript queues
above, except that all print jobs are converted from ASCII text to PostScript
(including jobs which are already PostScript) before being sent to the
printer.  Any characters extending beyond the printable right margin are
wrapped around to the next line.  The font used is always Courier.  Print jobs
which contain escape codes such as HP's PCL or dot matrix printer languages
are discarded.  Extended characters such as box, line, and European characters
are supported, but spaces are printed instead of control codes (below decimal
32).

There are attributes of a Text To PostScript job which are user configurable:
point size, page orientation, tab size, and margins.  One may include an
optional first line (which is not actually printed) in the text file to be
sent with the syntax in either uppercase or lowercase:

     %* [S=n] [O=L] [T=n] [MT=n] [MB=n] [ML=n] [MR=n]

     where    n - an integer value
              S - point size from 3 to 100 (default=11)
            O=L - landscape orientation (default=portrait)
              T - tabsize in spaces (default=5)
             Mx - margin size in points (1/72 inch - default=36)
                  (Top, Bottom, Left, Right)

Not all of the above options need to be specified, for example,
         %* S=14  ---  portrait orientation using Courier 14pt;
      %* O=L T=3  ---  landscape orientation with a tab size of 3 spaces;
%* MT=108 MB=108  ---  top and bottom margins set to 1.5 inches.

You may use these commands as the first line of the file, in a setup string,
or in a PRINTCON print job configuration, but NOT in a PCOUNTER header file!
Just make sure a linefeed character (decimal 10) is included.

You may change the default settings in PCONFIG.  The settings listed above
yield 65 lines/page and 81 characters/line on an 8.5" x 11" page.

The file T2PS.PS is included with PCOUNTER.  T2PS.PS must be located in
\SYSTEM\PCOUNTER on the default file server and is necessary for Text->
PostScript conversion.  If you wish, you may change the encoding for
characters 128-175.  The others may not be changed.  DO NOT alter any of the
other PostScript code, or it may not work correctly.

                                                                       Page 10
---------------------------------------------
QType = PostScript and Text Conversion (PS&T)
---------------------------------------------

PostScript and Text Conversion queues combine qualities of the previous two
queue types.  PCOUNTER scans the print data and decides whether it is
PostScript or whether to convert text to PostScript.  It discards any print
job which begins with an escape code (HP, Dot-Matrix Printers).  A standard
PostScript file identifies itself with "%!" (not including quotes).  However,
not everyone observes this custom, and PCOUNTER tests further to protect
against such occurrences.  If PCOUNTER fails to detect a PostScript file,
please contact A.N.D. Technologies.

                     ********  WARNING!  ********
If your software (or hardware) takes a long time creating PostScript output,
you are using CAPTURE for network printing, and the timeout value is not large
enough, then the print job gets broken into pieces.  This results in
PostScript code being converted to text and many unnecessary pages printed.

-----------
QType = PCL
-----------

PCL queues should be linked to an HP LaserJet compatible printer. After each
job, a reset sequence (ESC,E) is sent so it resets for the next job. Graphics
and soft fonts are supported.  Print jobs may contain up to PCL 5 or plain
text.  User accounts are charged a price per page times the number of pages
printed.  All LaserJet models are supported.

The nature of the HP LaserJet Printer Control Language (PCL) is such that,
unlike PostScript, two way communication between the computer and the  printer
was not supported until the LaserJet IIISi and LaserJet 4.  Therefore the
print data must be examined and the number of pages then calculated. Given
that there are many combinations of PCL commands which can eject a page, and
that the PCL data may be itself incorrect (such as font commands  when a
cartridge does not exist), there is no guarantee that PCOUNTER will count
correctly 100% of the time.  However, for software programs configured
correctly which format print data, there should generally be few problems.

When plain text is sent to a LaserJet, PCOUNTER assumes the printer is set to
the factory default of 60 lines per page.  Therefore, settings of less than 60
lines may result in over-counting, and settings of more than 60 lines may
result in under-counting.

------------------------------------
QType = Charge Per Job (Fixed Price)
------------------------------------

Charge Per Job queues may be linked to any kind of printer or port; however,
pages are not counted and the print data is not analyzed or modified in any
way.  Users' accounts are charged a fixed price for each print job.  Use this
queue type for plotters, dot-matrix printers, or other devices.  PCOUNTER
issues a form feed after each job if the print job's form feed flag is set.

                                                                       Page 11
------------------
QType = LaserJet 4
------------------

At this time, LaserJet 4 queues are only supported on parallel and serial
ports.  These queues rely on 2-way communication with the printer.
PCOUNTER initially tests the printer for this capability before the first
print job.  Jobs cannot be cut off if a user's balance reaches the limit.

                                *** WARNING ***
Do NOT configure an Laserjet 4M with QType=Post if you plan to use PCL.  Its
internal PostScript pagecount does NOT count PCL pages.

On the LJ4's parallel menu, set ADV FUNCTIONS=ON (so that the LJ4 will
talk back to PCOUNTER) and HIGH SPEED=YES.  Then configure PCOUNTER to use the
parallel hardware port.  It is fast.

One new feature of the LJ4 is that it supports the new Printer Job Language
(PJL), which allows the user to set job defaults and obtain the printer's
status, etc.  Printer drivers for the LaserJet 4 may generate PJL code.

The LJ4M can determine the type of print job automatically if (on the printer)
you set PERSONALITY=AUTO.  However, to increase speed, you can explicitly tell
the LJ4M what type of job is to be printed using PJL.  Use the headers and
footers from the examples below as a guide.

EXAMPLE: Using a PJL header with a LaserJet 4M for PCL data

1. Send header:
<ESC>%-12345X@PJL ENTER LANGUAGE=PCL<CR><LF>
2. Print job contains PCL data.

EXAMPLE: Using a PJL header with a LaserJet 4M for PostScript data

1. Send header:
<ESC>%-12345X@PJL ENTER LANGUAGE=POSTSCRIPT<CR><LF>
2. Print job contains PostScript data.

------------
QType = Both
------------

These queues should be used for PostScript printers which can print PCL jobs,
but are either remote, networked, or unable to handle 2-way communication via
serial or parallel ports.  All page counting is done manually.  If PCOUNTER
determines that the print data is NOT PostScript, then it is counted as PCL. 
There is no text->PS conversion.

                                                                       Page 12
--------------------
QUEUE PRICE (QPrice)
--------------------

This is a currency amount (default range $0.00 - $99.99) which refers either
to the price per job (Charge Per Job queues) or to the price per page (all
other queues).  NetWare internally keeps account balances in terms of units,
and the range in units is 0-9999.  PCOUNTER assigns one unit equal to the
currency unit of your choice.  If you don't wish to charge for certain jobs,
set QAccounting=No.  If PCOUNTER is only keeping print totals (see CURRENCY),
or QAccounting=No, then this value is meaningless.

------------------
QUEUE PORT (QPort)
------------------

See PORTS for details.

------------------
QUEUE INFO (QInfo)
------------------

This will change depending upon what has been configured previously.
   If QPort=COMx, then QInfo=Baud Rate.
   If QPort=LPTx, then QInfo is blank.
   If QPort=Another Queue, then QInfo shows the other queue's name.

-------------------------------
QUEUE COUNT PAGES (QCountPages)
-------------------------------
QUEUE ACCOUNTING (QAccounting)
------------------------------

QCountPages    QAccounting    Print Activity Records Kept
-----------    -----------    ---------------------------
Yes            Yes            Account Balances, PCOUNTER.LOG, Banner Pages
Yes            No             PCOUNTER.LOG, Banner Pages
No             Yes            -- Not a good idea! --
No             No             No records kept!

------------
QUEUE FILTER
------------

Sometimes users send print jobs to the wrong queue, with unpleasant results.
Have you seen a PostScript printer choke on PCL data?  Have you ever watched a
PCL or dot-matrix printer print out endless pages of PostScript code?  With
this option, you can prevent this from happening by filtering out print jobs
of certain types from being printed.  Filterable types are PostScript, PCL,
Text, Unknown, and any combination of the four.

Of course you may not filter out PostScript jobs if QType=PostScript!
Likewise for PCL jobs if QType=PCL or QType=Laserjet 4!

If you change the QType, then the queue filter will be reset to NONE.

                                                                       Page 13
--------------------------------------------
QUEUE HEADER FILES, FOOTER FILES, AND DELAYS
--------------------------------------------

This feature serves multiple purposes.  Header and footer files may contain
special printer command data for setting up certain jobs, may be used for soft
fonts, or may contain printer codes for emulating other printers.  In the
latter case, perhaps you have a PostScript printer which can also emulate an
HP LaserJet or plotter.  PCOUNTER can count pages in this fashion if the
default mode for the printer is PostScript, the header file is a command to
start the emulation, and the footer file is a command to return to PostScript
mode.  This is where the delay enters the picture.  After you start or stop an
emulation, the printer may need time to reinitialize.  If more data is sent
too quickly, data may be lost; or the printer could hang.  You will need to
experiment in order to find the best setup. 

PCOUNTER may not count pages correctly using the emulation technique described
above on a printer whose default mode is not PostScript.  For example,
printers which support PCL5 (LaserJet III and above) are able to have HP
plotter (HPGL) commands embedded in PCL5 data.  PCOUNTER can handle PCL5 data
containing embedded HPGL if the QType=PCL, no header or footer files are
defined, and the job is sent.  However, if you set the header and footer to be
PCL5 commands and the print job is strictly HPGL, then PCOUNTER would treat
the HPGL data as ASCII text and perhaps count the wrong number of pages. In
other words, PCOUNTER does not parse the data in header or footer files.

Header and Footer files MUST be placed in \SYSTEM\PCOUNTER on the default file
server. If a header or footer is specified in the configuration and is not in
the home directory, PCOUNTER will stop servicing the queue.

See QType=LaserJet 4 and POSTSCRIPT PRINTERS THAT CAN PRINT OTHER PRINTER
LANGUAGES for an example of using headers and footers.

                                                                       Page 14
----------------------------
QUEUE BALANCE LIMIT (QLimit)
----------------------------

Here you tell PCOUNTER where the user balance limit should be - this affects
the next three topics.  For compatibility with previous versions of PCOUNTER,
one choice is zero, the other is the individual user's credit limit.

--------------------------------------
QUEUE NOTIFY IF BALANCE IS BELOW LIMIT
--------------------------------------

If QAccounting=Yes, then this determines whether PCOUNTER should send a
broadcast message after a job if the user's account balance reaches or goes
below the QLimit.

-------------------------------------
QUEUE PRINT IF BALANCE IS BELOW LIMIT
-------------------------------------

If QAccounting=Yes, then this determines if PCOUNTER should print a job if the
user's account balance reaches or goes below the QLimit.  This is ignored if
the user has unlimited credit (see SYSCON).

---------------------------
QUEUE CUT OFF JOBS AT LIMIT
---------------------------

If QAccounting=Yes, then this determines if PCOUNTER should stop printing
pages of the current job if the user's account balance reaches the QLimit. 
This is ignored if the user has unlimited credit (see SYSCON), or if 2-way
printer communication is used for page counting. 

----------------------
QUEUE NOTIFY (QNotify)
----------------------

If QNotify=Yes, PCOUNTER will always notify users when print jobs are ready.
Otherwise, this will only occur if notify is requested in the print job's
configuration.  If QPort=Q-->, notification will occur after the job is moved
to the Q-->, but before it actually gets printed.

-----------------------------
QUEUE MAXIMUM JOBS (QMaxJobs)
-----------------------------

If QPort=Q-->, QMaxJobs limits the number of jobs (per each print server which
is attached to Q-->) that PCOUNTER will pass through to Q-->.  See QPort=Q-->
for more information.

                                                                       Page 15
---------------------------------
QUEUE UNKNOWN USER (QUnknownUser)
---------------------------------

If you are using the Charon gateway, ATPS, or an LPD NLM to route print jobs
from other networks or hardware platforms, it is possible that the client's
username may not be included in a queue job description; or that a queue user
on one file server doesn't have the same username on the central accounting
file server.  If QAccounting=Yes, and you want PCOUNTER to discard the print
job, then set QUnknownUser=No.  See also USING ONE CENTRAL FILE SERVER FOR
ACCOUNTING for more details.

When such a print job lands in a Novell queue, the Novell queue job client
becomes the object that moved the job into the queue.  For PCOUNTER to account
for print jobs this way, it is necessary for the username to be placed in the
banner field of the Novell queue job description.  For example, on a UNIX
system you can force the banner off by typing: lpr -h filename.  PCOUNTER then
cannot determine who created the job.  Have your UNIX administrator set the
default for a UNIX->Novell queue so that banners always get printed.

When PCOUNTER starts processing a new job, it automatically checks to see if
the job was placed there by a user or by another object type.  If the job
client is not a user (as opposed to print server, file server, etc.), PCOUNTER
then reads the client name from the banner field, converts it to uppercase,
and verifies that it is a valid Novell username.  If it is not, then PCOUNTER
reads the file PCOUNTER.MAP and again verifies the username.  If this fails
and QUnknownUser=No, then PCOUNTER discards the job.

The syntax for PCOUNTER.MAP is simple:

unixname1 NOVELLNAME1 
NameInBannerField2 NOVELLNAME2
jimi HENDRIX
kmoon MOON
:
:

Since UNIX names are case-sensitive and limited to 8 characters, and Novell
converts everything to uppercase, type the Novell column in uppercase and the
UNIX column the way it appears.  You may map multiple UNIX accounts to single
Novell accounts.

YOU MUST PLACE PCOUNTER.MAP IN \SYSTEM\PCOUNTER.

                                                                       Page 16
------------
QUEUE BANNER
------------

If you want PCOUNTER to print banners, then here you must specify a banner
template file name.  Nine banner templates are provided (with a BAN
extension) - for Letter and A4 paper sizes - use them if you wish.  You may
also design your own banner.  BANNER.WP is a WordPerfect 5.1 file which was
used to generate the included banner templates.  If you wish PCOUNTER to
insert specific print job information, then you must use the following
variables (as they appear with the brackets) in your template:

<JOB_DESCRIPTION>   <USERNAME>     <BANNER_NAME>       <PAGES>   <COST>
<PRINT_SERVER>      <QUEUE_NAME>   <PRINTER_NAME>      <DATE>    <BALANCE>

It's a good idea to keep the banner templates as small as possible - obviously
larger banner files take longer to print.  Also, if you use a word processor
to generate a banner template,  make sure that it doesn't insert printer
language commands BETWEEN THE CHARACTERS.  If this happens, PCOUNTER won't be
able to place any information on the banner.

Banner template files must be placed in \SYSTEM\PCOUNTER on the default file
server. 

-------------------------
QUEUE BANNER PRINT STATUS
-------------------------

There are 3 choices: "Never", "Only If Requested", and "Always".  If you
choose "Only If Requested", then banners are printed only if they are
specified in the print job's configuration, or on the CAPTURE or NPRINT
command line.

------------------------------
QUEUE BANNER PAGE COUNT STATUS
------------------------------

Here you choose whether PCOUNTER should include banner pages in page counts.
PCOUNTER will not print a banner after a zero (0) page job.

---------------------
QUEUE BANNER POSITION
---------------------

You may print banners before or after a print job.  It might seem unusual to
print a banner after a job, but there are benefits in doing so:

* PCOUNTER can only include <PAGES>, <COST>, and <BALANCE> on a banner after a
job - they are ignored if any of these are specified in a banner which is
printed before a job.

* Generally pages are ejected face-down.  Therefore, the page on top will be
the banner.

                                                                       Page 17
-----
PORTS
-----

A total of eight "ports" are supported: COM1-COM4 (serial), LPT1-LPT3
(parallel), and Another Queue (for remote and networked printers).

The options are numerous.   You may link:   One queue ---> One Port
                                            One queue ---> Multiple Ports
                                            Multiple queues ---> One Port

One queue ---> Multiple Ports:
In PCONFIG - press Insert, and add the same queue again!

Multiple queues ---> One Port:
Some printers can arbitrate incoming jobs between its various ports and also
select a printer mode based upon incoming data.  If your printer cannot do
this, then you should not configure a PostScript queue and a PCL queue to be
serviced on the same port.

-------------------------
QPort=COMx (Serial Ports)
-------------------------

Serial Port (RS-232) baud rates are supported up to 115K BAUD.  Serial
printers should be set for 8 Data bits, No Parity, and 1 Stop bit. You may
choose between XON/XOFF flow control and DTR/DSR hardware handshaking.

COM3 and COM4 are untested.  Each port requires its own IRQ (Interrupt
Request) number and address.  The most common address for COM3 is 3E8 and for
COM4 is 2E8, but different boards may use different addresses.  Likewise, COM1
uses IRQ 4 and COM2 uses IRQ 3.  Ports may not share an IRQ if they are both
being used.  LPT1 uses IRQ 7.  IRQ 5 is used by LPT2 on the AT and by the Hard
Disk system on the PC/XT.  You may set the IRQ on COM3 and COM4 to 3, 4, 5, or
7.  Also, your network card may require use of an IRQ.

           *****  SERIAL PRINTERS REQUIRE A NULL MODEM CABLE!  *****
 *****  MAKE SURE YOUR PRINTER IS SET TO THE SAME PROTOCOLS AS PCOUNTER. *****
                    *****  8 DATA, NO PARITY, 1 STOP  *****

On the LaserJet, for DTR/DSR set the printer's DTR POLARITY=HI.
For XON/XOFF you may set the printer's ROBUST XON/XOFF to either ON or OFF.
If XON/XOFF doesn't work, try using DTR/DSR.

---------------------------
QPort=LPTx (Parallel Ports)
---------------------------

The only parallel port configuration option is whether to choose direct
hardware port printing or standard ROM BIOS printer calls.  Direct hardware
port is MUCH faster than BIOS, and is the recommended setting.  If printing
doesn't work this way, then use ROM BIOS printing.  If your printer has a high
speed parallel port, make sure you set the printer's port to the high speed
setting.  If QType=PostScript and the printer does not support 2-way
communication, then page counts are computed manually.  Direct hardware port
printing does not require an IRQ.

                                                                       Page 18
--------------------------------------------------------------
QPort=Q--> (Another Queue - for Remote and Networked Printers) 
--------------------------------------------------------------

Another Queue (Q-->) is included here as a "port" in order to take advantage
of NetWare's remote printing capabilities and printers with built-in network
interfaces.  Here is the idea:

    1 - Job is placed in queue serviced by PCOUNTER server
    2 - PCOUNTER counts pages, charges account, places job in other queue
    3 - NetWare print server or networked printer prints job remotely

In order to implement this scenario, you must have previously used PCONSOLE to
configure the NetWare print server as a queue server for the other queue and
set up the remote printing parameters.  If a networked printer comes with its
own configuration program then you must use it.  While running PCONFIG, if
QPort=Q-->, all queues NOT configured for the current PCOUNTER server may be
chosen in the "Info" field by pressing PgUp or PgDn.

Here are two diagrams illustrating QPort=Q-->:

   CHARGE
   PER JOB
   QUEUE ------> PCOUNTER ------> DOT-MATRIX (LPT1)
                 PRINT
   PAGE -------> SERVER --- (Q-->)
   COUNT                  |
   QUEUE                  |
                          |
---------------------------
|
--> REMOTE                        NETPORT ------> HPLJ
    PRINTER                       SET UP AS 
    QUEUE -----> PSERVER -------> REMOTE PRINTER
                 PRINT
    ADMIN -----> SERVER  -------> REMOTE 
    PRINT                         PRINTER
    QUEUE

.....................................................................

   CHARGE
   PER JOB
   QUEUE ------> PCOUNTER ------> DOT-MATRIX (LPT1)
                 PRINT
   PAGE -------> SERVER ---- (Q-->)
   COUNT                   |
   QUEUE                   |
                           |
----------------------------
|
|   REMOTE
--> PRINTER ---> HPLJ 4SIMX
    QUEUE        SET UP AS PRINT SERVER

                                                                       Page 19

However, after PCOUNTER places a job in another queue, there is no way to know
what happens to the print job after that; such as whether it was actually
printed or not.  For that reason PCOUNTER will not service a job in this way
unless another print server is attached to the other queue, or if for some
reason it is unable to place jobs in the other queue.

You should set the QMaxJobs value according to the speed of the remote
printer.  If a remote printer is offline, jobs (which have already been
charged to user accounts) may back up in Q-->.  However, if QMaxJobs=1,
PCOUNTER will wait for Q--> to be empty before placing additional jobs there;
you may not achieve the maximum throughput that the remote printer offers, but
it allows users the opportunity to delete jobs before they are charged for
printing.

If QPort=Q-->, PCONFIG adds the PCOUNTER server to the other queue's Queue
Users property.  If you want all jobs routed through PCOUNTER, then use
PCONSOLE to remove all other users and groups from the Q-->'s Queue Users
property.

*** PCONFIG will not allow you to set QPort=Q--> if the queue is serviced by
the same PCOUNTER server.

*** PCONFIG will not allow you to set QPort=Q--> if QType=LaserJet 4.

If QPort=Q-->, then all page counting is computed manually.

----------------
PORT BUFFER SIZE
----------------

This specifies the size of the data chunks sent to the printer.  The sizes
range from 64 to 8K bytes.  However, if the buffer size is too large and the
printer's receive buffer fills up then PCOUNTER may have to wait.  It is
recommended to use large buffers on fast lasers and small buffer sizes on slow
dot matrix printers and serial printers with low baud rates.  Try a few
different settings to see what works best.  If QType=Post, then it's port
buffer size has a minimum of 128.  If QType=LJ4, then it's port buffer size
has a minimum of 256.

---------------------------
PRINTER NAME (QPrinterName)
---------------------------

You may choose to have PCOUNTER refer to a printer by a name of your choice,
instead of a port name, not only on the console screen, but also in broadcast
error messages to print server operators and on banner pages.  The default
printer names are the port names, or if QPort=Another Queue, the name of the
other queue.  The printer name is also placed in PCOUNTER.LOG, in case you are
interested in tracking printer usage.

                                                                       Page 20
-------------------
OTHER PRINTER TYPES
-------------------
--------------------------------
DOT-MATRIX PRINTERS AND PLOTTERS
--------------------------------

PCOUNTER will only count pages on HP LaserJet and PostScript printers. If you
have dot-matrix printers on which you do not wish to charge for usage, set
QType=Charge Per Job and QAccounting=No.  Likewise, if you have a plotter or
another device which requires accounting, set QType=Charge Per Job,
QAccounting=Yes, and QPrice=the desired amount.

It is advisable to use small buffer sizes for dot-matrix printers and serial
printers with low baud rates.

A form feed is issued after each job if the print job's form feed flag is set.

----------------------
DESKJETS AND PAINTJETS
----------------------

Use QType=PCL (Unless, of course, it has a PostScript option installed).

-----------------------------------------------------------
POSTSCRIPT PRINTERS WHICH CAN PRINT OTHER PRINTER LANGUAGES
-----------------------------------------------------------

If your printer can print PostScript and PCL, but is either remote, networked,
or unable to handle 2-way communication, then you may use QType=Both, and all
page counting will be done manually.

If you wish to use 2-way communication on a serial or parallel port:

*    If the printer can autodetect the type of print job, use QType=Post.
*    If the printer needs to switch printing modes in order to handle
     different printer languages, and can be switched by software, use a
     header and footer file which tells the printer to switch modes, and also
     use QType=Post.

1. PCOUNTER gets page count before the print job.
2. Send header:
     <.....Data to switch printer to PCL, HPGL, or some other mode.....>
3. Print job contains non-PostScript data.
4. Send footer:
     <.....Data to switch printer back to PostScript mode.....>
5. PCOUNTER gets page count after the print job.

                                *** WARNING ***
Do NOT configure an Laserjet 4M with QType=Post if you plan to use PCL.  Its
internal PostScript pagecount does NOT count PCL pages.

                                                                       Page 21
-----------------------------------
CUSTOMIZING PCOUNTER (PCONFIG - F6)
-----------------------------------
--------------------------------------------
USING ONE CENTRAL FILE SERVER FOR ACCOUNTING
--------------------------------------------

If you want to use this feature, set "One Accounting Svr?"=Yes.  The central
accounting server must be the default file server which PCOUNTER logs into,
which also must be the same default server from which you ran PCONFIG (where
the configuration is stored).  If "One Accounting Svr?"=No and
QAccounting=Yes, then accounting will occur on the file server where the print
queue resides. If a user's name is not the same on the central file server as
on the queue's file server, then PCOUNTER reads the file PCOUNTER.MAP and
verifies the username.  If this fails and  QUnknownUser=No, then PCOUNTER
discards the job. The syntax for PCOUNTER.MAP is similar to that shown above,
except that the queue's file server name is necessary:

QUEUE_FILE_SERVER1/USERNAME1 CENTRAL_USERNAME1
FS1/PAGE JIMMY
FS2/PLANT ROBERT
:
:

You may put UNIX and non-central Novell server user maps in PCOUNTER.MAP.

--------------------------------------------
ERROR BROADCASTS - ERROR BROADCAST WAIT TIME
--------------------------------------------

If you wish PCOUNTER to send broadcast messages when a printer is offline, or
needs paper, etc., then set BroadcastErrors=Yes.  If an error is detected,
PCOUNTER will wait the amount of time specified in the BroadcastWait field,
and if the error is not fixed, will send a message to users who are Print
Server Operators.  You must use PCONSOLE in order to assign Print Server
Operators.  PCOUNTER sends one message to each operator for each error.  Don't
set the ReportWait field too low, or you might get messages often!

                                                                       Page 22
--------
CURRENCY
--------

An effort has been made to accomodate users from outside the United States by
including a configurable currency option, although messages are still in
English.  Here you may enter a guideline for PCOUNTER to display your money!
The default value is "$1234.56".  Therefore PCOUNTER will show a dollar sign
followed by 4 digits to the left of the decimal point, and then 2 digits to
the right of the decimal point.  Another example is "1234.56 kr".

If you would rather have PCOUNTER keep a total of printed pages instead of
charging money, enter "PAGES+" or "PAGES-" at the currency prompt. PCOUNTER
will add to (PAGES+) or subtract from (PAGES-) the account balance one
accounting unit for each printed page.  Use "PAGES+" to keep a running total. 
Use "PAGES-" if you want to set limits on allowable prints.  Print if Negative
Balance can be set to limit page countdowns.  If PCOUNTER is only keeping page
totals, then the Price Per Page field is meaningless.

If you are currently using PCOUNTER to keep page totals by charging $0.01 per
page, then here is a method to update your system.  Any user who has printed
will have a negative balance.  At a DOS prompt type:

                BALANCE /ALL > UPDATE.BAT

This creates the file UPDATE.BAT which contains a list which looks like this:

MICK  -3.67
KEITH  -5.67
GEORGE  -0.43
RINGO  -0.15
:
:

Using your favorite text editor,  insert a carriage return <CR/LF> at the
beginning of UPDATE.BAT.  Next, from the beginning of the file, replace each
"<CR/LF>" with "<CR/LF>DEPOSIT " (note the space after DEPOSIT). Also replace
each "-" with nothing.  Now if you execute UPDATE.BAT twice, each user's
balance will be the negative of it's previous value.

If QAccounting=No, then this field is meaningless.

-------------------
PCOUNTER.LOG FORMAT
-------------------

There are two choices: Readable text and ASCII Delimited.  Readable text is
similar to the Recent Print Jobs section of the console screen.  Use ASCII
delimited if you wish to import PCOUNTER.LOG into a database or spreadsheet
program and keep more detailed records of your printer usage.

                                                                       Page 23
----------------
RUNNING PCOUNTER
----------------

Syntax is:
    PCOUNTER [FileServerName/]PrintServerName
       NOTE: PrintServerName is required.  example: PCOUNTER PSERVER1

NEW (VERSION 2.3 and later):
     PCONFIG only stores PCOUNTER server configuration on the default file
     server.  You can now specify the default file server on the command line. 
     If you are using queues on multiple file servers, then those file server
     names are stored in the configuration on the default file server. 
     Additionally, you may use the "Preferred Server" option in NET.CFG.

For simplicity and efficiency, you may wish to place PCOUNTER.EXE on a boot
disk(ette) or in the \LOGIN directory so that PCOUNTER automatically starts up
at boot time.  If you wish you may create a subdirectory of \LOGIN and hide it
using FLAGDIR, so that users are not tempted to run PCOUNTER. When PCOUNTER
runs, the workstation is logged in to all file servers specified in PCONFIG.

PCOUNTER's screen console contains three windows: "Recent Print Jobs",
"Pending Print Jobs", and status lines for each connected printer.  "Recent
Print jobs" displays the username, banner, time, size, pages, cost, and
account balance.  This is the information which is written to
\SYSTEM\PCOUNTER\PCOUNTER.LOG.  "Pending Print Jobs" displays name and size.

PCOUNTER console keys:
  F1 - Opens a window from which anyone can list or delete print jobs.
  F8 - Pauses PCOUNTER until another key is hit. 
  CTRL-END - exits PCOUNTER and logs out.


                              IMPORTANT!
                              ----------
PCOUNTER logs in simultaneously to all file servers on which it resides where
there are print queues to service.  A user with accounts on different servers
may have separate accounts updated.  If a central accounting server is not
chosen, then PCOUNTER updates the account ON THE FILE SERVER WHERE THE PRINT
QUEUE IS FOUND.

--------
LICENSES
--------

When PCOUNTER runs, it knows how many other PCOUNTER servers are also logged
in.  However, if you have previously Pconfig'd a print server and are now
using it as a Novell print server, you will need to remove the PCOUNTER
configuration from that print server.

Just type:     PCONFIG printservername /REMOVE

If you type PCONFIG /LIC, you will see a list of currently used PCOUNTER
licenses.

                                                                       Page 24
---------------------
PCONSOLE AND PCOUNTER
---------------------

Although it is not necessary to use NetWare's PCONSOLE program to configure a
PCOUNTER server, you may still wish to use PCONSOLE to manage print queues and
add additional properties.

Uses for PCONSOLE:

- To clear a PCOUNTER server's password.  PCOUNTER servers are created with no
password and have no facility for passwords, so don't set it or else PCOUNTER
won't run!

- If you're using PCOUNTER with remote printers, you may need to configure a
NetWare print server with PCONSOLE and set up the remote printing parameters.

- To assign Print Server Operators who may be notified during printer errors.

- To assign queue users.  Queues created by PCONFIG are initially assigned the
user group EVERYONE as queue users.  If QPort=Another Queue and you wish to
route all print jobs throgh PCOUNTER first, then use PCONSOLE to remove all
queue users from the other queue EXCEPT FOR THE PCOUNTER SERVER.

---------------------
PRINTCON AND PCOUNTER
---------------------

If you have printers which can switch printing modes through software, it is
recommended that you use PCOUNTER header and footer files instead of codes
which are part of a print job configuration (PJC).  PJC codes actually become
part of the print job and are counted as print data.  PCOUNTER header and
footer files are not.

A PJC would be useful, however, for sending Text->PostScript formatting codes.
See QType = Text to PostScript for more information.

---------------------
PRINTDEF AND PCOUNTER
---------------------

PCOUNTER does not use Novell printer definitions.

-------------------
SYSCON AND PCOUNTER
-------------------

Use SYSCON to install Accounting on your file server if you wish to keep
account balances in the Novell bindery.  In SYSCON you may change the user Low
Balance Limit and Unlimited Credit settings, and also modify the user Account
Balances.  However, no record is kept of account balance changes made in
SYSCON.

                                                                       Page 25
-----------
DEPOSIT.EXE
-----------

usage: DEPOSIT [[fileservername/]username] [amount] [/CFG]

If "fileservername/" is omitted then the deposit is made to the user's account
on the default file server.

                   ex. DEPOSIT JOHN 3
                       DEPOSIT FS1/MARY 7.50

Deposits are also recorded in \SYSTEM\PCOUNTER\PCOUNTER.LOG.  In case you are
interested, the user who performed the deposit is also recorded here.

The /CFG option will create a configuration file DEPOSIT.CFG in the same
directory as DEPOSIT.EXE.  This allows all users to view their account
balances in the currency mode, which you have set in PCONFIG.  You will then
be asked for the name of the PCOUNTER server in which the currency
configuration is stored, so that DEPOSIT can incorporate the currency into the
DEPOSIT.CFG file.
Otherwise the default currency display is "$1234.56".

NOTE: The environment variable PCOUNT is no longer required.

If you rename DEPOSIT.EXE, rename DEPOSIT.CFG the same way.

Also provided for your convenience is DEPOSIT.PIF for use with Microsoft
Windows 3.1.  DEPOSIT knows when Windows is active, and it pauses for a few
seconds before before terminating so that you can see the results, if you are
running it in a DOS window, before it closes.

If you're using a central accounting       @ECHO OFF
file server (we'll call it FS1), this      IF *%1 == * GOTO NONAME
example batch file DEP.BAT makes sure      DEPOSIT FS1/%1 %2
all deposits are made on that server:      GOTO END
                                           :NONAME
                                           ECHO Syntax is DEP Username
                                           :END

Use of DEPOSIT is restricted to supervisors and user account managers (UAMs).
Use SYSCON to create a hierarchy of UAMs and users.

1. Choose Group Information.
2. Create a new group (We'll call it MANAGERS).
3. Insert the users whom you wish to be UAMs in the MANAGERS group.
4. Under Managed Users and Groups enter all USERS whom you wish the MANAGERS
     group to manage.

Members of the MANAGERS group may now update accounts of all users listed
under Managed Users and Groups.  Unfortunately, if a group is listed in
Managed Users and Groups,  it is not sufficient to give a UAM access to that
group's members' accounting information.  Each user must be listed explicitly. 
Be careful, though.  Each UAM also has control over other user information in
addition to accounting;  passwords may be changed, and accounts deleted.  You
can restrict access to the SYSCON.EXE utility to the MANAGERS group.

                                                                       Page 26
--------------------
DEPOSIT ALTERNATIVES
--------------------

If you wish to update balances and/or credit limits for multiple users and/or
groups, there is a program available called SETACCNT (current version is 1.4
as of this writing).  SETACCNT is available by anonymous FTP from mmf.ruc.dk.
If you do not have access to FTP, an alternative can be arranged.

-----------
BALANCE.EXE
-----------

usage: BALANCE [fileservername] [/ALL] [/CFG]

Displays the user's account balance from the default or specified file server
on the screen.  It returns DOS Errorlevel 1 if the account balance is zero or
negative.  You may use this in a batch file to restrict network printer
access.

ex.       :
          BALANCE
          IF NOT ERRORLEVEL 1 CAPTURE
          :

The /ALL option will display a list of all users and their balances on the
screen.  The output may be redirected to a file for recording purposes.

     ex.  BALANCE FS1 /ALL >BALANCES.ALL

You must be a supervisor or UAM in order to use the /ALL option.

The /CFG option will create a configuration file BALANCE.CFG in the same
directory as BALANCE.EXE.  This allows all users to view their account
balances in the currency mode, which you have set in PCONFIG.  You will then
be asked for the name of the PCOUNTER server in which the currency
configuration is stored, so that BALANCE can incorporate the currency into the
BALANCE.CFG file.

Otherwise the default currency display is "$1234.56".

If you rename BALANCE.EXE, rename BALANCE.CFG the same way.

                                                                       Page 27
------------
REGISTRATION
------------

PCOUNTER's cost: $75 US for the first PCOUNTER server license.
                 $25 US for each additional license.
                 $400 US for a site license.

If you register and later decide that you need more licenses, then you may
order more at the additional network license price.

If you are registering from outside the U.S., please make sure your payment is
cashable at a U.S. bank so that there are no conversion fees. Credit cards are
not accepted at this time although they may be in the future.  Purchase orders
are accepted.  Please add $10 for wire transfers.

**************************************************************************
If you intend to use more than one PCOUNTER server on your network, please
order the necessary number of licenses; PCOUNTER knows how many copies are
running at any time and will not load if a licensing error is detected.
**************************************************************************

Send payments to:   A.N.D. Technologies
                    P.O. Box 64811
                    Los Angeles, CA 90064 USA

PLEASE include your name, company, mailing address, E-Mail address(es), and
how you learned about PCOUNTER.  If you don't include these, it will take
longer for you to receive your registration!

When you register, you will be sent a registration number by E-Mail. Press F8
in PCONFIG, enter the number, and PCOUNTER is fully featured.  No diskettes or
manuals need to be sent.

By supporting PCOUNTER now you will be supporting future versions.

-----------------
TECHNICAL SUPPORT
-----------------

All communication is done by E-Mail, and is always monitored.
Please feel free to leave questions and comments at:

Internet:      andtech@netcom.com
CompuServe:    71011,3570 or INTERNET:andtech@netcom.com (faster!)
Phone/Fax:     (213) 467-8688

PCOUNTER is inexpensive.  In order to maintain its low cost, it's unlikely
that long distance phone calls will be returned.  The best time to catch a
live person at the other end is 9AM Pacific time.

If you have a technical problem, please include as much information about your
setup as possible in your communication.

                                                                       Page 28
-----------------------------
A TOTALLY UNRELATED STATEMENT
-----------------------------

If anyone is doing interesting things with PC's, sound boards, and Digital
Signal Processing, please communicate!

-----------
INFORMATION
-----------

PCOUNTER is distributed as is, with no warranty implied or otherwise.

Until you register PCOUNTER, its use will be limited to 2 hours running time
and one running copy per network.  The registered version supports 16 queues
on eight file servers and as many print servers on your network as you order.

PCOUNTER is shareware.  You may distribute the unregistered version of
PCOUNTER at no charge but please distribute it in the zip archive PCNT233.ZIP
- which should include all files listed under FILELIST in this document.

------------------------------------------
HOW TO FIND THE LATEST VERSION OF PCOUNTER
------------------------------------------

On CompuServe: in the NOVUSER forum
     When PCOUNTER is first uploaded, it will first be placed in New Uploads,
     then later moved to Printer Utilities.  This forum is also mirrored at
     Novell's ftp server - ftp.novell.com, in the directory /netwire/novuser. 
     The subdirectories (libraries) are then listed by number - 01 is New
     Uploads and 06 is Printer Utilities.  The ftp mirror supposedly will be
     updated weekly.  Please note that CompuServe has a limit of 6 characters
     per filename, so that PCNT233.ZIP would be truncated to PCNT23.ZIP.

Using FTP on the Internet:
     ftp.netcom.com - in /pub/andtech (Always up-to-date)
     oak.oakland.edu (Simtel20) - in /pub/msdos/novell
     Simtel20 is mirrored at many ftp sites all over the world.

PCOUNTER - Copyright (c) 1992-4  A.N.D. Technologies

*************************************
OTHER SOFTWARE BY A.N.D. TECHNOLOGIES
*************************************

PSPS 2.01 - A POSTSCRIPT PRINTSCREEN UTILITY
Support for text and graphics modes on MDA, CGA, Herc, EGA, MCGA, VGA, and
Super VGA adaptors.  Monochrome, reverse monochrome, grayscale, and color
PostScript modes.  Optionally print to LPT port, PostScript File, or EPS file
for integration into other documents.

T2PS 1.0 - TEXT TO POSTSCRIPT CONVERSION TSR
Requires only 6.8K of RAM, and may be unloaded;  user sets the font size, tab
size, margins, page orientation, and LPT port;  supports the extended IBM
character set;  ignores PostScript data.  Great for programs without
PostScript drivers.
