PCOUNTER

Printer Accounting for Novell Netware

Version 3.34

Copyright 1996

A.N.D. Technologies
P.O. Box 64811
Los Angeles, CA 90064
USA

E-Mail: andtech@netcom.com
Web: http://www.andtechnologies.com

Phone/Fax: (213) 782-6923


Table of Contents

Overview
Requirements
Software requirements for PCOUNTER.NLM
Software requirements for QCOUNTER.NLM
Hardware requirements for PCOUNTER.EXE
Software requirements for PCOUNTER.EXE
Differences between PCOUNTER.NLM/EXE and QCOUNTER.NLM
Features still to come
Netware 4.x Notes
Concepts
How are pages counted?
Should I use PCOUNTER (NLM, EXE) or QCOUNTER?
PCOUNTER Concepts - Types of configurations
PCONTROL details
PCOUNTER limits
Configuring and running PCOUNTER and QCOUNTER
How does QCOUNTER.NLM work?
QCOUNTER Notes
Use QCOUNTER.NLM to enforce global print job configurations
How are print jobs handled by PCOUNTER?
PCOUNTER and Queue Job parameters
How do I use my networked printers with PCOUNTER?
Accounting
How is accounting done?
Accounting utility: WACCOUNT.EXE
Accounting utility: ACCOUNT.EXE
Accounting utility: WBALANCE.EXE
Client billing options: CLIENT.EXE and WCLIENT.EXE
Miscellaneous
Where are the printers?
How can I speed up PCOUNTER.EXE?
Why use TCP/IP and not IPX/SPX for networked printers?
Why use Novell's TCP/IP protocol stack and not a packet driver?
How do I setup PCOUNTER for Macintosh?
How is text converted to PostScript?
Creating queues in PCONTROL
Queue configuration parameters
QUEUE - Price
QUEUE - Accounting
QUEUE - Always place jobs on hold
QUEUE - Action if below credit limit
QUEUE - Cut off job if below credit limit
QUEUE - Discard job if unknown user
QUEUE - Banner print
QUEUE - Banner position
QUEUE - Banner accounting
QUEUE - Banner template file
QUEUE - Job notify
QUEUE - Notify at credit limit
QUEUE - Form feed (End of job codes)
QUEUE - Job size limit
QUEUE - Duplex handling
QUEUE - Reject paper sizes
QUEUE - Header files, Footer files, and Delays
QUEUE - Reject print job types
Printer configuration parameters
PRINTER Type=PostScript
PRINTER Type=PCL
PRINTER Type=Laserjet 4
PRINTER Type=Charge per job
PRINTER Type=Disabled
PRINTER Port=COMx - Serial Ports (RS-232)
PRINTER Port=LPTx - Parallel Ports
PRINTER Port=Queue--> (Another Queue)
PRINTER Port=JetDirect (TCP)
PRINTER Port=LPR
PRINTER - Print buffer size
PRINTER - Lines/page
PRINTER - Pagecount Type
PRINTER - Error notify list
Print server configuration parameters
PRINT SERVER - Broadcast error wait
PRINT SERVER - Accounting Type
PRINT SERVER - Central accounting server
PRINT SERVER - Console keyboard
PRINT SERVER - Console screen lines
PRINT SERVER - Maximum printer status lines
PRINT SERVER - Screen blanker wait
PRINT SERVER - Auto reboot wait
PRINT SERVER - Delete held jobs after ? hours
PRINT SERVER - Create password file
PRINT SERVER - Include file servers
While you're running PCOUNTER
The PCOUNTER console
Important PCOUNTER.NLM Notes
Remote control
Solutions to Common Problems
Security
Your interaction with A.N.D. Technologies
Technical support
Warranty
45 Day Trial Period
Registration
Payments
Distribution
How to find the latest version of PCOUNTER
Other software by A.N.D. Technologies

Overview

PCOUNTER is a powerful tool which tracks printer usage and/or provides smart, fast, reliable printing on Novell networks. These printing tools are provided:

PCOUNTER.NLM - A print server (which sends data to the printers on your network), controls printing and tracks printer usage at the same time, all running on the file server, using standard Netware print queues.

PCOUNTER.EXE - similar to PCOUNTER.NLM, except that it runs on a dedicated machine (like PSERVER.EXE) and is designed to take some of the load off of the file server and make print management easier: incorporating simple printer and queue management from the PCOUNTER console, and remote control. Please consider recycling an old computer and using PCOUNTER.EXE before you invest in a dedicated print server box.

QCOUNTER.NLM - A quick and easy-to-install page count monitor which you can use with your current printer setup - no need to change anything!

If you're looking at other printing/accounting programs, please compare these features:

  • Counts pages on PostScript and LaserJet (PCL) printers, Laserjet 4s, and Deskjets. Maintains user account balances using the Novell accounting feature. Keeps a log file of all print activity.


  • Specific support for HP Laserjet 4s and JetDirects.


  • Fast parallel printing using direct port access.


  • Fast serial printing with baud rates up to 115K. (PCOUNTER.EXE only)


  • Excellent networked printer support: Writes jobs to an output queue serviced by another print server; Communicates directly with network printers using the TCP/IP protocol; Spool jobs to UNIX hosts using the LPR protocol.


  • Automatically converts text to PostScript if necessary; supports the extended character set.


  • Global (print job configuration) settings for queues: Notify, Form feed, Banner print, Automatically place jobs on hold; Delete old held jobs.


  • Pleasant looking banner pages containing all (Correct!) information about the print job, including the page count and account balance.


  • Simple printer and queue management from the PCOUNTER console.


  • Remote control so that you can always see what's happening.


  • Reject incorrect print job types and incorrect paper sizes.


  • Built in screen blanker; automatic reboot on file server crashes. (PCOUNTER.EXE only)


  • All page counting is done by the print server - requires no memory or extra processing by the workstation.


  • Comes with a 45 day unlimited usage trial period.



  • Software requirements for PCOUNTER.NLM

    NetWare 3.11 or above.
    Updated CLIB.NLM if used with NetWare 3.11.
    Bidirectional TCP/IP support requires updated TCPIP.NLM if used with NetWare 3.11.
    Bindery emulation for Netware 4.x.


    Software requirements for QCOUNTER.NLM

    NetWare 3.11 or above.
    Updated CLIB.NLM if used with NetWare 3.11.
    Bindery emulation for Netware 4.x.


    Hardware requirements for PCOUNTER.EXE

    PCOUNTER.EXE requires a dedicated computer as a print server.
    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.
    640K of conventional memory.
    Expanded/Extended memory is not needed nor used.


    Software requirements for PCOUNTER.EXE

    DOS 3.3 or above, NetWare 2.1 or above.
    Bidirectional TCP/IP support requires the Novell Lan Workplace TCPIP.EXE protocol stack.
    Remote control support requires SPX (IPXODI D).
    NETX (3.32 or above recommended) or VLM (1.1 or above).
    Bindery emulation for Netware 4.x.


    PCOUNTER.NLM/EXE and QCOUNTER.NLM differences

    All queue settings are supported by PCOUNTER.NLM/EXE.
    Most (but not all) queue settings are supported by QCOUNTER.NLM.
    Print server and printer settings are used for PCOUNTER.NLM/EXE, but do not apply to QCOUNTER.NLM.
    They may be distinguished by notes beginning with << NLM >> and << EXE >>.
    Any of these features not containing individual NLM and EXE notes is supported by both PCOUNTER.NLM and PCOUNTER.EXE.


    Features still to come

    Plot size accounting for Postscript and HPGL/2 roll plotters.


    Netware 4.x Notes

    PCOUNTER requires bindery emulation in order to work with Netware 4.1 file servers.
    A NW 4.1 server may have up to 16 containers in its bindery context.
    PCOUNTER cannot see any objects (Users, Queues, Print Servers) in any container unless that container is listed as a Bindery context.
    Please see the SET BINDERY CONTEXT console command (in the Netware documentation) for more details.

    If you want to run PCOUNTER in native NDS mode, please visit http://www.andtechnologies.com and get PCOUNTER 4, which does just this.


    How are pages counted?

    There are two methods by which PCOUNTER can count pages.

    The preferred method is done by establishing a bi-directional communication link to the printer (hereby referred to as bidir). When a bidir link exists between PCOUNTER and the printer, it can query the printer for page count and job information, as well as printer status, (out of paper, toner, etc.). A bidir link can occur via serial, parallel, or TCP/IP.

    The other method is called manual counting. With manual counting, PCOUNTER must calculate the page count itself. QCOUNTER counts all print jobs this way. Obviously, this method requires more processing and may result in longer print times. Expect to see higher CPU utilization when running PCOUNTER.NLM or QCOUNTER.NLM with manually counted print jobs, but care has been taken to not impede file server performance.

    If the Printer PagecountType is set to bidir, then PCOUNTER always attempts bidir page counting on Laserjet 4's and PostScript printers. If the bidir link fails, then manual counting is the result. Manual counting always occurs if PrinterType=PCL and if PrinterPort=LPR or PrinterPort=AnotherQueue.

    PCOUNTER cannot monitor a printer's status when counting manually.

    The manual PostScript counter supports ASCII and binary modes, Level 1 and Level 2, all major printer drivers from Windows 3.x, Windows 95, Windows NT, DOS, and Macintosh, as well as some UNIX systems.

    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. An application which generates such output is Paradox 4.0 for DOS. 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.


  • The manual PCL counter supports color extensions, so it will work with any Laserjet or Deskjet compatible printer.

    *** If you discover page counting errors, please contact A.N.D. Technologies. ***
    A.N.D. wants to immediately fix any page count errors which may occur.



    Should I use PCOUNTER (NLM, EXE) or QCOUNTER?

    Features common to all three:
  • You want printer accounting.


  • You want to enforce global queue settings such as Notify, Form Feed or Holding Jobs.


  • You want to reject incorrect print job types and/or paper sizes.


  • You want the correct username on the banner page.


  • Reasons to use QCOUNTER.NLM:
  • You do not wish to change your existing printing configuration.


  • You want a minimum of setup options.


  • You do not mind using manual page counting.


  • You are currently using PCOUNTER.NLM with the Queue-> port option. Using QCOUNTER.NLM requires less file server activity. QCOUNTER requires only one queue - sharing the queue and jobs as the other print server(s) which are servicing them. Therefore, only one print job needs to be written instead of two. Also, since print jobs are typically accessed and disposed of more quickly than other types of files on the server, they are more likely to be present in the server's RAM cache, resulting in faster processing and less disk accesses.


  • Reasons to use PCOUNTER.NLM:
  • You would like to take advantage of PCOUNTER's print server features.


  • You wish to use bidirectional and/or manual page counting.


  • Reasons to use PCOUNTER.EXE:
  • You would like to take advantage of PCOUNTER's print server features.


  • You wish to use bidirectional and/or manual page counting.


  • You would like to take some of the printing load off of the file server.


  • You have an extra computer to dedicate for printing.


  • You want a control center available to users with printer/queue control and visible account balances.



  • PCOUNTER Concepts - Types of configurations

    Use PCONTROL to set up print servers, printers, and queues.

    Print server configurations affect all aspects of PCOUNTER's operation; example options are "Central accounting server" and "Screen blanker wait". A print server configuration includes a list of printer configurations.

    Printer configurations (found in PCONTROL, Print Servers, Printer list) are used to tell PCOUNTER how to handle and communicate with each printer, such as the "Printer type" and "Printer port". The "Printer port" setting has nothing to do with the CAPTURE settings on each workstation - it refers to the port which connects the PCOUNTER server to the printer. The list of printers is unique to each print server. A printer configuration includes the queues which should be serviced by that printer.

    Queue configurations determine how PCOUNTER and/or QCOUNTER handles each print job serviced in that queue. Many options (such as those pertaining to accounting) are specific to PCOUNTER, others (Job notify, Banners, Form feed) provide extensions to Novell's printing services, allowing you to define global print job configurations for jobs in selected queues.

    A PCOUNTER print server configuration must include at least one printer configuration, which in turn must include at least one queue to be serviced. If you require specific queue parameters, then this queue must also have its own configuration. If there are no printers set up completely, PCOUNTER will not run.

    QCOUNTER has its own separate configuration with a few global settings - the queues should be configured in PCONTROL, if you desire.

    If you change any configuration settings after PCOUNTER or QCOUNTER is already running, then you will need to restart the program in order to read the new settings.


    PCONTROL details

    A user may not use PCONTROL to change anything unless they are a supervisor. 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 PCONTROL. A user need only be a print server operator to use PCONTROL's remote control feature on that particular print server.

    Context-sensitive help is available. Make sure PCONTROL.HLP is located in the same directory as PCONTROL.EXE. Press F1 for help at any time.

    All configuration parameters that are relevant to PCOUNTER and QCOUNTER are set up using PCONTROL. The use of PCONSOLE is not necessary, except for queue management.

    PCONTROL creates the directory SYS:SYSTEM\PCOUNTER if it doesn't already exist. 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.


    PCOUNTER limits

  • Each PCOUNTER print server may login to up to 8 file servers.

  • Each PCOUNTER print server may print on up to 32 printers.

  • Each printer may service up to 16 queues.

  • A printer name may not exceed 14 characters.

  • QCOUNTER can monitor print jobs on up to 512 queues.


  • Configuring and running PCOUNTER and QCOUNTER

    Three additional programs are provided to help you configure and manage your PCOUNTER environment. PCONTROL is a menu driven utility which is used for print server, printer, and queue configuration, user/group account balance management, and remote control of PCOUNTER servers. ACCOUNT is a DOS command-line utility for user account balances. WACCOUNT is a Windows account balance management utility.

    PCOUNTER.NLM
    1. Run PCONTROL. Please note that the printer definitions defined in PCONSOLE do not apply to PCOUNTER. To start your 45 day trial period, choose Register File Servers for each file server you intend to have PCOUNTER running on. PCOUNTER configuration details are described in later sections.
    2. Create a new print server for PCOUNTER. If you use a print server object/account which is currently being used, then PCOUNTER will refuse to run. The reason for this is if you use 2 or more print servers, then they will service the same queues; therefore, you would never be able to predict which print server would get to service any particular print jobs.
    3. Make sure that you have defined at least one printer (in Pcontrol, Print Servers, Printer list) and that each printer has at least one queue to service. Set up the printer port which connects the PCOUNTER server to the printer.
    4. Configure each queue (in PCONTROL, Queues) which is being serviced by a PCOUNTER printer.
    5. Copy all banner templates (*.BAN) and the Text->PostScript conversion header file (T2PS.PS) to the SYS:SYSTEM\PCOUNTER directory. If your default paper size is A4, rename T2PS-A4.PS to T2PS.PS.
    6. Copy PCOUNTER.NLM to the SYS:SYSTEM directory.
    7. Keep the encrypted password file (*.PWD) in SYS:SYSTEM\PCOUNTER.
    8. Run PCOUNTER on the file server console.
      The command line syntax is: LOAD PCOUNTER PrintServerName
      NOTE: PrintServerName is required. example: LOAD PCOUNTER PSERVER1
    PCOUNTER.EXE
    1. Run PCONTROL. Please note that the printer definitions defined in PCONSOLE do not apply to PCOUNTER. To start your 45 day trial period, choose Register File Servers for each file server you intend to have PCOUNTER running on. PCOUNTER configuration details are described in later sections.
    2. Create a new print server for PCOUNTER. If you use a print server object/account which is currently being used, then PCOUNTER will refuse to run. The reason for this is if you use 2 or more print servers, then they will service the same queues; therefore, you would never be able to predict which print server would get to service any particular print jobs.
    3. Make sure that you have defined at least one printer (in Pcontrol, Print Servers, Printer list) and that each printer has at least one queue to service. Set up the printer port which connects the PCOUNTER server to the printer.
    4. Configure each queue (in PCONTROL, Queues) which is being serviced by a PCOUNTER printer.
    5. Copy all banner templates (*.BAN) and the Text->PostScript conversion header file (T2PS.PS) to the SYS:SYSTEM\PCOUNTER directory. If your default paper size is A4, rename T2PS-A4.PS to T2PS.PS.
    6. Copy PCOUNTER.EXE to a boot disk or to the SYS:LOGIN directory.
    7. Copy the encrypted password file (*.PWD) to the same directory as PCOUNTER.EXE.
    8. If you want remote control, make sure SPX is installed on the PCOUNTER computer.
      Include IPXODI or IPXODI D in AUTOEXEC.BAT.
    9. Run PCOUNTER. The command line syntax is:
      PCOUNTER [FileServerName/]PrintServerName
      NOTE: PrintServerName is required. example: PCOUNTER PSERVER1
    10. Add the PCOUNTER command line to the AUTOEXEC.BAT file so that it will run automatically after the computer starts up.
    QCOUNTER.NLM
    1. Run PCONTROL.
      Choose PControl Defaults first.
      In QCOUNTER Setup, choose settings and select queues to be monitored.
      Optionally configure selected queues.
      To start your 45 day trial period, choose File Servers, Register for each file server you intend to have PCOUNTER running on.
    2. Copy QCOUNTER.NLM to the SYS:SYSTEM directory.
    3. Run QCOUNTER on the file server console. The command line syntax is: LOAD QCOUNTER

    How does QCOUNTER.NLM work?

    QCOUNTER is an NLM which monitors queues which are being serviced by other print servers.
    It is not necessary to use QCOUNTER and PCOUNTER on the same queues.
    QCOUNTER is easy and convenient because it fits right into your current printer setup.
    You can still use PCONSOLE or any other queue utility to manage print jobs.

    QCOUNTER handles print jobs in 3 stages:
    1. QCOUNTER modifies global print job parameters (Banner, Form Feed, etc.). If print accounting is desired, changes settings so that other print servers cannot service the job. The form number will be set to 999.
    2. QCOUNTER rejects incorrect page sizes/job types, or else counts the pages in the print job.
    3. QCOUNTER restores the original form number, takes care of accounting, adds the number of pages in angle brackets < > to the print job description, and makes the job available so that print servers can service the job. Then the job gets printed.

    QCOUNTER Notes

  • When QCOUNTER is running and you are browsing with PCONSOLE, the file server will be listed as both a Queue Server and a Currently Attached Server.

  • QCOUNTER only services queues located on the file server where it is running. If you require multiple file server support, then you will need to run QCOUNTER on each file server where queues are defined.

  • QCOUNTER will stop counting jobs if no other print servers are attached to the queue.

  • If you want QCOUNTER to charge per job instead of per page, then only allow Unknown jobs in the queue configuration. In other words, setup the queue to reject PostScript, PCL, and Text.

  • QCOUNTER writes the same log file as PCOUNTER: SYS:SYSTEM\PCOUNTER\PCOUNTER.LOG.

  • Settings in PCONTROL, QCOUNTER Setup

    Number of jobs counted before printing. Since QCOUNTER counts pages and handles user accounting before the job is printed, this setting controls how many jobs QCOUNTER counts ahead of the printer. Setting a high value might cause unnecessary accounting if a job gets deleted after QCOUNTER counts it but before it gets printed.

    CPU Utilization. This value determines the level of CPU utilization to allocate to the manual page counting process. Setting a lower value slows down page counting, and results in lower CPU utilization. Possible values range from 1-10.


    Use QCOUNTER.NLM to enforce global print job configurations

    Even if you don't care about accounting for all of your printers, you can use QCOUNTER.NLM to automatically set print job parameters as they pass through the queue. In the queue configuration in PCONTROL, set Accounting=None, and set the other parameters as desired. You can place jobs on hold, turn banners on/off, turn notify on/off, turn form feed on/off, set job size limits, reject incorrect print job types, and reject incorrect paper sizes. QCOUNTER will even write the correct name into the banner name field.


    How are print jobs handled by PCOUNTER?

    In PCOUNTER, each queue has its own configuration, including header, footer, and banner files, which make it easier to centralize the administration of print jobs, rather that using PRINTDEF.

    PCOUNTER detects the type of print job (Postscript? PCL?), and then proceeds according to the queue/printer configuration.

    Headers are files sent before the print job, and footers are files sent after the print job. This is easier to implement than PRINTDEF's concept of modes.

    PCOUNTER always places the correct user name on a banner page, regardless of the Banner Name or Name field in a queue job.


    PCOUNTER and Queue Job parameters

    Number of Copies
    PCOUNTER prints the job this number of times and multiplies the page count by this number.
    File Contents (Text/Byte Stream) and Tab Size
    Ignored. PCOUNTER always treats print data as a binary stream.
    Form
    Ignored.
    Form Feed
    Notify
    Banner
    See PCOUNTER's extensions to these parameters:
    QUEUE - Form feed (End of job codes)
    QUEUE - Job notify
    QUEUE - Banner print
    QUEUE - Banner position
    QUEUE - Banner accounting
    QUEUE - Banner template file
    The queue job reject feature is very important, as this enables you to restrict the types of print jobs which can be sent to a printer.
    QUEUE - Reject print job types
    There are also various queue settings which control how jobs should be treated in case a user has an insufficient account balance.
    QUEUE - Action if below credit limit
    QUEUE - Cut off job if below credit limit

    How do I use my networked printers with PCOUNTER?

  • Have PCOUNTER.NLM or PCOUNTER.EXE spool jobs to the printer using TCP/IP. If the printer's network interface or the external print server box (such as the HP JetDirect) supports a bidirectional TCP/IP stream, then bidir page counting will work wonderfully.

  • Use QCOUNTER.NLM to monitor the same queues which the networked printers are currently servicing.

  • Use the Queue-> port interface in conjunction with PCOUNTER.NLM or PCOUNTER.EXE.


  • How is accounting done?

    User account balances are maintained using the Novell accounting feature. If you want to use this feature, then you must enable it using SYSCON/NWADMIN. If you are currrently using accounting for tracking connect time or disk usage and the account balances are not in currency units, then user account balances will not appear to be consistant if PCOUNTER is also used. Please check to make sure none of these features are enabled on your file server before implementing PCOUNTER in this fashion.

    You will also have to choose the numerical format:
    Pages
    one accounting unit = one page
    Currency
    accounting is kept in terms of local currency. The type and format of the local currency are determined from DOS information from CONFIG.SYS (except in US)
    The cost for each print job is defined in the queue's configuration. If you're collecting money for printing, and you wish to deduct the cost of each print job from a user's account balance, then use positive prices. Use negative prices to keep a running total of print activity in user account balances.

    Also, the PCOUNTER/QCOUNTER server keeps a running log of all print activity in the log file SYS:SYSTEM\PCOUNTER\PCOUNTER.LOG. Multiple PCOUNTER servers will write to a single log file and share header/footer files. PCOUNTER automatically flags PCOUNTER.LOG as shareable. PCOUNTER.LOG can be written in either of two formats: readable or ASCII delimited.

    If the PCOUNTER.LOG format is Readable, then limited information is kept in it, but it's very easy to read. It is best for showing users their print activities.

    If the PCOUNTER.LOG format is ASCII Delimited, then all information about the print job is placed in it. You can then import it into a spreadsheet or database program for further analysis. It's not easy to read, but is best for keeping more detailed information, such as total print activity for each printer.

    Numerical format and log file Readable/ASCII Delimted choices are necessary in 3 places:
    PCONTROL, PControl Defaults
    for PCONTROL transactions
    PCONTROL, Print Servers
    for PCOUNTER
    ACCOUNT /CONFIG
    for ACCOUNT transactions
    The ASCII delimited field names are as follows: Username, Job Description, Printer, Print server, Queue, Banner name, Banner file, Date, Time, Size (in bytes), Pages, Cost, Balance.

    Once accounting is installed on your file server, each user should have an account balance and a credit limit. You can use PCONTROL, WinAccount, and ACCOUNT to modify user account balances and credit limits. In addition, PCONTROL may be used for groups. PCONTROL, WinAccount, and ACCOUNT can optionally keep records in PCOUNTER.LOG.

    One side effect of accounting is that Netware creates the file SYS:SYSTEM\NET$ACCT.DAT. This file contains binary records of all accounting transactions on the file server, as well as logins, etc. In most cases this file can/should be deleted periodically. In time it can grow to a rather large size.

    No record will be kept of any accounting transactions in SYSCON/NETADMIN/NWADMIN.

    Accounting Rights (New in version 3.31)

    You can now assign users the right to modify other users' account balances without making them Supervisors or Workgroup Managers. In PCONTROL, select Accounting and choose the user who will modify user account balances. Then select Accounting Rights. If the user does not have rights, then you can grant them here; likewise, if the user already has accounting rights, then you can revoke them. Once accouting rights are granted, they can modify all account balances for all users on that file server; however, they cannot modify Low Balance Limits. They are also given write access to the SYS:SYSTEM\PCOUNTER directory so that transactions can be recorded in the PCOUNTER.LOG file. When accounting rights are revoked, writing privileges in the SYS:SYSTEM\PCOUNTER directory are also revoked.

    These users may use PCONTROL, WinAccount, and ACCOUNT to modify balances, they will not be able to modify balances using SYSCON/NETADMIN/NWADMIN.


    Accounting utility: WACCOUNT.EXE

    WinAccount is a 16 bit MS Windows user accounting program. It contains all of the features of PCONTROL's Accounting section - and all of the functions are within easy reach. Only a supervisor, workgroup manager, or a user who has been granted Accounting Rights may change another user's account information.

    Preferences (Record Transactions, Viewer/Editor, Numerical Format, Log File Format) are kept in WACCOUNT.INI in the \WINDOWS directory.

    Double-clicking on a user brings up the Deposit window, double-clicking on a group brings up the Set Balance window.

    You may select multiple users to perform various operations, but groups will be ignored if multiple selections are made. You must perform operations on groups one at a time.

    WinAccount runs fine in Windows 3.x, Windows 95, and Windows NT.

    WinAccount requires NWCALLS.DLL to be in the \WINDOWS or \WINDOWS\SYSTEM directory. This DLL is distributed with the various Netware Windows client kits.


    Accounting utility: ACCOUNT.EXE

    ACCOUNT is a DOS command-line accounting tool which is designed for quick accounting access to user accounts. Only a supervisor, workgroup manager, or a user who has been granted Accounting Rights may change another user's account information.

    ACCOUNT [DEPOSIT | BALANCE | LIMIT] [[FileServerName/]UserName] [Amount]
    DEPOSIT: Add to a user's account balance.
    BALANCE: Set a user's account balance.
    LIMIT: Set a user's low balance limit.

    ACCOUNT CHARGE [[FileServerName/]UserName] [Amount] [ChargeReason]
    Subtract from a user's account balance.

    ACCOUNT BALANCE [FileServerName/]
    For a user to view his/her own account balance.

    ACCOUNT CONFIG
    To set PCOUNTER.LOG and formatting defaults for this program.
    ACCOUNT.CFG is written into the same directory as ACCOUNT.EXE.
    ACCOUNT.CFG must be kept in the same directory as ACCOUNT.EXE.
    Accounting transactions recorded with ACCOUNT.EXE are optionally recorded in PCOUNTER.LOG. Make sure workgroup managers have write access in the SYS:SYSTEM\PCOUNTER directory.


    Accounting utility: WBALANCE.EXE

    WBALANCE is a small MS Windows utility for users to view their account balances quickly (so they don't always have to ask you).

    Preferences (Numerical Format, Default File Server) are kept in WBALANCE.INI in the \WINDOWS directory. To change the settings, choose Preferences on the system menu.

    WBALANCE runs fine in Windows 3.x, Windows 95, and Windows NT.

    WBALANCE will update the balance display if it is left running; likewise, it will also display the balance when it is minimized.

    WBALANCE requires NWCALLS.DLL to be in the \WINDOWS or \WINDOWS\SYSTEM directory. This DLL is distributed with the various Netware Windows client kits.


    Client billing options: CLIENT.EXE and WCLIENT.EXE

    These versions differ from the previous versions in that the client names to be billed are stored in the Banner File field of PCOUNTER.LOG, instead of the Banner Name field.

    CLIENT (DOS) and WCLIENT (Windows) are small utilities which can help you perform client billing using ASCII Delimited PCOUNTER.LOG. You may type a client name of up to 12 characters, and the name will be stored in the Banner file field of PCOUNTER.LOG (and the print job itself, you can see it in PCONSOLE).

    While running DOS only sessions, invoking the CAPTURE command will probably overwrite the previous value set by CLIENT; therefore, CLIENT will need to be run again.

    CLIENT has no effect on DOS applications which can print directly to Netware queues without capturing, such as WordPerfect and Quattro Pro. You will need to setup printing to captured LPT ports in these cases.

    When a client name is entered here, all subsequent print jobs will use this value until another name is entered. Importing PCOUNTER.LOG into a spreadsheet/database keyed to the banner name and cost fields will allow total page counts to be calculated for each client.

    Entering * (asterisk) in CLIENT.EXE restores the banner name to the proper username.

    The Windows version, WCLIENT, has been enhanced. It is recommended to keep it always running and minimized. If capture/queue settings are changed, WCLIENT will reset the Banner File field to the correct value automatically. WCLIENT will also reset the correct value if CAPTURE values are changed during DOS sessions run under Windows.

    WCLIENT selections
    Username Enters the user's login name
    Exit Exits WClient
    Set Restores previous value
    Cancel Applies the current value and minimizes WCLIENT to an icon


    WCLIENT will not work reliably under Windows 95 and Windows NT. Future enhancements will be made for it to work in these environments.

    WCLIENT requires NWCALLS.DLL to be in the \WINDOWS or \WINDOWS\SYSTEM directory. This DLL is distributed with the various Netware Windows client kits.


    Where are the printers?

    In Netware 2.x and 3.x, printer information is kept in configuration files created by PCONSOLE for each print server. No printer bindery object exists.

    In Netware 4.x, a printer is an object in the Directory Services database. In PCOUNTER, a printer is a property of a print server. Therefore, PCOUNTER printers will not appear as Directory Services entities.


    How can I speed up PCOUNTER.EXE?

    PCOUNTER.EXE does not require or use expanded or extended memory. Therefore it should not be necessary to use an memory manager such as QEMM or HIMEM with PCOUNTER. While a memory manager may increase DOS conventional memory, it will also slow down processing speed.

    If you are using the Queue--> port option, you may setup the input and output queues to reside on different file servers, but this is not recommended. Keeping them on the same file server reduces the load on the print server and the file server(s).

    See also: PRINTER - Print buffer size.


    Why use TCP/IP and not IPX/SPX for networked printers?

    Typically, network printer interfaces (such as the HP JetDirect) and dedicated print server boxes (such as the Intel NetPort) contain their own internal software for handling Novell printing; they run in either queue server mode (where they can independently service queues) or in remote printer mode (where they run as RPRINTER equivalent slaves to PSERVER). Unfortunately, they don't provide any method of communication via IPX/SPX. However, they usually provide TCP/IP communication for usage with UNIX systems. If it is not possible to use the TCP/IP protocol on your network, you can still use QCOUNTER.NLM or PCOUNTER's Queue-> port feature to utilize the speed of your Jetdirect or equivalent print server.


    Why use Novell's TCP/IP protocol stack and not a packet driver?

    There are way too many TCP/IP protocol stack vendors to support. Life is too short. And, after all, we are running a Novell network, aren't we? Seriously though, in preliminary testing (Novell's TCPIP.EXE vs. public domain packet driver), the Novell solution provided far greater throughput.


    How do I setup PCOUNTER for Macintosh?

    The following instructions are for Netware 3.x. For Netware 4.x, use ATPSCON.NLM to configure ATPS, and use the same strategy illustrated below.

    If a Mac can place a job into a Novell queue, then PCOUNTER can work with it. You will need to load ATPS.NLM (Appletalk Print Services) on each file server where there are print queues which need to be accessible to Macs.

    ATPS has two modules, the print spooler (queues print jobs) and the print server (prints the jobs). PCOUNTER does not support Appletalk as a protocol for communicating with network printers, but using ATPS as a print spooler will enable Macs to view Novell queues in the Chooser as network printers, and place print jobs in the queues. However, you must use the -wb parameter in ATPS.CFG (for each queue serviced by PCOUNTER) in order to turn off the ATPS Print Server and allow an external print server (PCOUNTER!) to service the queues.

    If you do not want Mac users to bypass PCOUNTER and print directly to Appletalk printers, then you should either use ATPS to hide the printers or turn off Appletalk on the printers, and have PCOUNTER print to them via serial, parallel, or TCP/IP.

    Sample AUTOEXEC.NCF parameters
    load APPLETLK net=500 zone={"PRINTING"}
    load NE2000 name=ETALK int=5 port=300 frame=ETHERNET_SNAP
    bind APPLETLK to ETALK net=501-505 zone={"MACS"}
    load atps -v
    
    Sample ATPS.CFG
    "Lab Laser:PRINTING" -o LAB-LASER -wb -f hplaser
    "Library Laser:PRINTING" -o LIBRARY-LASER -wb -f hplaser
    "Color Printer:PRINTING" -o COLORPS -wb -f applwpls
    
    For more information about ATPS, see the Netware for Macintosh manuals.

    User Accounting
    ATPS will allow Mac users to print to Novell queues without being logged into the file server. In this case, the owner of the print job becomes ATPS_QUSER, which is an object created by ATPS. Mac users set the network user and group names in Control Panel, and typically a user name will appear in parentheses () in the banner field of the print job. In order for PCOUNTER to account for print jobs this way, it is necessary for each user to be placed in the map file PCOUNTER.MAP.

    PCOUNTER.MAP syntax:

    (macname) NOVELLNAME
    (ringo) RINGO (george) HARRISON : :
    See also: QUEUE - Discard job if unknown user.


    How is text converted to PostScript?

    The file T2PS.PS is included with PCOUNTER. PCOUNTER must download T2PS.PS before each print job which must be converted. T2PS.PS must be located in SYS:SYSTEM\PCOUNTER on the default file server. If your default paper size is A4, then rename T2PS-A4.PS to T2PS.PS. If you wish, you may change the encoding for characters 128-175. The other data must not be changed. DO NOT alter any of the other PostScript code, or it may not work correctly. Any characters extending beyond the printable right margin are wrapped around to the next line. The font used is always Courier. 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 PCONTROL. The settings listed above yield 65 lines/page and 81 characters/line on an 8.5" x 11" page.

    ****** IMPORTANT NOTE ******
    PCOUNTER assumes that a printer defined as PostScript can understand PCL as well, unless the particular queue is configured to reject PCL jobs. Therefore, if PCL jobs are not rejected, then text jobs will be sent unmodified to the printer; if PCL jobs are rejected, then text jobs will be converted to PostScript before being sent to the printer.

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

    QCOUNTER.NLM does not convert text to PostScript.


    Creating queues in PCONTROL

    If a queue is created by PCONTROL, the user group EVERYONE is added to the Queue Users propery. If you wish to have selective access to queues, use PCONTROL to add/delete users and user groups to be queue users. PCONTROL allows you to choose any volume and/or directory to place your print queue, unlike PCONSOLE, which always creates queues in SYS:SYSTEM (or SYS:QUEUES for NW 4.x). PCONTROL always adds a PCOUNTER server to the Queue Users and Queue Operators lists.


    QUEUE - Price

    << PCOUNTER and QCOUNTER >>

    This is an amount which refers either to the price per job (Charge Per Job printers) or to the price per page (all other printers). If this value is negative, then PCOUNTER will add to (keep a running total in) the user's account balance.

    If you don't wish to charge for certain jobs, set QueueAccounting=None. If QueueAccounting=None, then this value is meaningless.

    If Numerical Format=Pages and this value is negative, then PCOUNTER will add the number of pages in each print job to the user's account balance, otherwise PCOUNTER will subtract the number of pages in each print job from the user's account balance.


    QUEUE - Accounting

    << PCOUNTER and QCOUNTER >>
    None
    No page counting for this queue
    Log file only
    Count pages, maintain log file, no user accounting
    User accounting and Log File
    Count pages, maintain log file & user accounts

    QUEUE - Always place jobs on hold

    << PCOUNTER and QCOUNTER >>

    PCOUNTER can place jobs on hold automatically. Users will have to release each job in order for them to be printed - this can be done from the PCOUNTER console queue manager, or from another queue control utility such as PCONSOLE or Windows Print Manager. You can have PCOUNTER place jobs on operator hold or user hold.


    QUEUE - Action if below credit limit

    << PCOUNTER and QCOUNTER >>

    If a job is placed in a queue by a user whose balance is below his/her credit limit, you can tell PCOUNTER to:
  • Print job anyway
  • Delete job from queue
  • Place job on operator hold
  • Place job on user hold

  • QUEUE - Cut off job if below credit limit

    << PCOUNTER only, QCOUNTER not supported >>

    This feature is only available with manual page counting, or LJ4's/PJL supported printers in bidirectional counting mode.

    You can tell PCOUNTER to cut off a print job at the point where a user's balance would go below his/her credit limit.


    QUEUE - Discard job if unknown user

    << PCOUNTER and QCOUNTER >>

    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 QueueAccounting is enabled, and you want PCOUNTER to discard the print job, then set this value to Yes. See also PRINT SERVER - Central accounting server.

    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 QueueDiscardJobIfUnknownUser=Yes, then PCOUNTER discards the job.

    The syntax for PCOUNTER.MAP is simple:
    unixname1 NOVELLNAME1
    (macname2) NOVELLNAME2
    OTHER_FILE_SERVER1/USERNAME1 CENTRAL_USERNAME1
    jimi HENDRIX
    kmoon MOON
    (daltrey) ROGER
    (allman) DUANE
    FS1/JOPLIN JANIS
    :
    :
    
    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 SYS:SYSTEM\PCOUNTER.


    QUEUE - Banner print

    << PCOUNTER and QCOUNTER >>

    There are 3 choices:
  • Never
  • Only if requested
  • 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 position

    << PCOUNTER only, QCOUNTER not supported >>

    You may print banners before or after a print job. It might seem unusual to print a banner after a job, but there are advantages 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.

  • Typically, the page on top will be the banner.

  • QUEUE - Banner accounting

    << PCOUNTER and QCOUNTER >>

    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 template file

    << PCOUNTER only, QCOUNTER not supported >>

    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> <FILE_SERVER> <USERNAME> <BANNER_NAME>
    <PAGES> <PRINT_SERVER> <COST> <QUEUE_NAME>
    <PRINTER_NAME> <DATE> <BALANCE> <FULLNAME>

    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 - Job notify

    << PCOUNTER and QCOUNTER >>

    There are 3 choices:
  • Never
  • Only if requested
  • Always
  • If you choose "Only If Requested", then the user is sent a broadcast message after the print job only if they are specified in the print job's configuration, or on the CAPTURE or NPRINT command line.

    If PrinterPort=AnotherQueue, notification will occur after the job is moved to the other queue, but before it actually gets printed.


    QUEUE - Notify at credit limit

    << PCOUNTER and QCOUNTER >>

    If QueueAccounting is enabled, then this determines whether PCOUNTER should send a broadcast message after a job if the user's account balance reaches or goes below the user's credit limit.


    QUEUE - Form feed (End of job codes)

    There are 3 choices:
  • Never
  • Only if requested
  • Always
  • If you choose "Only If Requested", then a form feed is issued only if they are specified in the print job's configuration, or on the CAPTURE or NPRINT command line.

    << PCOUNTER >>

    This determines how PCOUNTER interprets the queue job Form Feed flag.
    If enabled, the following data is sent after each print job:

    PCL jobs <ESC>E [27][69]
    PostScript jobs Ctrl-D [4]
    Unknown or Text jobs <FF> [12]

    Set this to Always for compatibility with earlier versions of PCOUNTER.

    This setting and the queue job form feed flag are ignored for Laserjet 4's.

    << QCOUNTER >>

    No special processing, just allows you to set a global form feed setting for this queue.


    QUEUE - Job size limit

    << PCOUNTER and QCOUNTER >>

    Occasionally users can send large jobs which exceed the printer's memory capacity; or perhaps you'd rather not make users wait for long jobs. Here you can limit the size (in bytes) of each print job. In PCONTROL the values are measured in 0.1 megabyte (MB) quantities; therefore the lowest limit you can impose is 100 KB.

    A value of 0 disables this feature.


    QUEUE - Duplex handling

    << PCOUNTER and QCOUNTER >>

    When pages are counted on duplex (2 sided) printers, the page count may turn out to be the number of sides printed instead of the number of pages printed. This may be true for both bidir and manual page counting. If you choose "Ignore", PCOUNTER will leave the page count alone. If you choose "Divide page count in half", PCOUNTER will check for duplex print jobs and divide the total page count by 2.


    QUEUE - Reject paper sizes

    << PCOUNTER and QCOUNTER >>

    Sometimes a user can send a print job requesting a paper size not supported or used by a particular printer, such as an A4 job on a Letter sized printer - causing the printer to pause. This feature enables PCOUNTER to reject a job if a specified paper type is found in the print job. If no paper sizes are specified here, then PCOUNTER will not check paper sizes. If you don't have this problem, then don't worry about this feature.

    Paper size detection is fine for PCL, and works best with Postscript Level 2 drivers.


    QUEUE - Header files, Footer files, and Delays

    << PCOUNTER only, QCOUNTER not supported >>

    Headers are files sent to the printer before the print job.
    Footers are files sent to the printer after the print job.

    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.

    Emulation 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.

    Most printers today can auto-sense print job types such as PostScript and PCL and don't require any special commands to tell them to enter a certain print mode. If your printer auto-senses print jobs correctly, then you probably shouldn't deal with any of this.

    PCOUNTER does not parse the data in header or footer files for page count information.

    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.


    QUEUE - Reject print job types

    << PCOUNTER and QCOUNTER >>

    This is a very important setting. It tells PCOUNTER how to handle particular print jobs, and also prevents waste.

    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 not allowing certain types of print jobs to be printed. The choices are PostScript, PCL, Text, Unknown, or any combination of three. An unknown print job typically occurs when an inexperienced user sends some sort of binary data file to a print queue.

    ****** IMPORTANT NOTE ******
    PCOUNTER assumes that a printer defined as PostScript can understand PCL as well, unless the particular queue is configured to reject PCL jobs. Therefore, if PCL jobs are not rejected, then text jobs will be sent unmodified to the printer; if PCL jobs are rejected, then text jobs will be converted to PostScript before being sent to the printer.

    Effects on print job control:

    Printer Type Job Type Reject Type Result
    PostScript (PS) PCL None Job treated as PCL
    PostScript PCL PCL Job rejected (not printed)
    PostScript Text None Job treated as Text
    PostScript Text Text Job rejected (not printed)
    PostScript Text PCL Text converted to PS
    PCL PS None Job treated as Text
    PCL PS PS Job rejected (not printed)



    PRINTER Type=PostScript

    Can handle PostScript, PCL, and text print jobs. PCOUNTER will attempt to use bidir page counting; if the test fails, then manual page counting is used. Do not use this setting with the Laserjet 4M in bidirectional mode.

    PCOUNTER assumes that a printer defined as PostScript can understand PCL as well, unless the particular queue is configured to reject PCL jobs. Therefore, if PCL jobs are not rejected, then text jobs will be sent unmodified to the printer; if PCL jobs are rejected, then text jobs will be converted to PostScript before being sent to the printer.


    PRINTER Type=PCL

    Can handle PCL and text print jobs. Manual page counting is used.
    Includes LaserJets, DeskJets, and PaintJets (unless of course a PostScript option is installed).


    PRINTER Type=Laserjet 4

    Will work for any HP Laserjet 4, 4M, etc. model printer. The LJ4M can determine the type of print job automatically if (on the printer) you set PERSONALITY=AUTO.

    If a Laserjet 4 is connected by serial, parallel, or JetDirect (TCP), then PCOUNTER will use bidir page counting. If Port=Queue-> or LPR, then manual page counting is used. Bidir counting will work on the Laserjet 4/4M, 4/4M Plus, 4V/4MV, 4SI/4SIMX, 4P/4MP, 5P/5MP. Bidir counting will NOT work with the Laserjet 4L - use Type=PCL for this printer.

    Parallel port setup:
    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.

    Some early models of the LJ4M don't support Printer Pagecount Type=PJL Bidirectional, so in these cases you'll have to use PS Bidirectional.

    Postscript Level 2 introduces binary extensions to the language, which will drastically reduce data requirements, especially for large bitmaps. The LJ4M supports pure binary Postscript only over a TCP/IP or Appletalk connection. If the LJ4M is connected by parallel, serial, or is acting as a Novell print server, then it is necessary to use the Tagged Binary Control Protocol (TBCP). In these cases, if your drivers don't support TBCP, you will have to use ASCII PostScript.

    If you prefer to use the LJ4/JetDirect as a Novell print server, please use Printer Port=Queue--> or QCOUNTER.NLM.


    PRINTER Type=Charge per job

    No page counts; PCOUNTER charges a fixed rate for each print job. Useful for plotters or dot-matrix printers.


    PRINTER Type=Disabled

    Printer not used.


    PRINTER Port=COMx - Serial Ports (RS-232)

    << EXE >>

    Require a null modem cable. Baud rates are supported up to 115K BAUD. Serial printers should be set for 8 data bits, no parity, and 1 stop bit. Flow control: XON/XOFF (software) or DTR/DSR (hardware handshaking).

    COM3 and COM4 are untested, and PCOUNTER needs to know the port IRQ setting.

    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.

    << NLM >>

    Not supported. If you must connect a serial printer/plotter to the file server, then use the Queue-> port option or QCOUNTER.NLM in conjunction with PSERVER.NLM.


    PRINTER Port=LPTx - Parallel Ports

    << EXE >>

    Flow method: Hardware port, ROM BIOS, or Safe BIOS.

    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. Direct hardware port does not require an IRQ.

    The Hardware port timeout value should be set as low as possible. However, assigning it too low a value could result in lost data. This value represents the number of timer ticks to wait when the port goes offline. 18 ticks = 1 second. (Default value=9)

    Only use the Safe BIOS setting if for some reason data is being lost with the ROM BIOS setting. Safe BIOS adds an extra port status check before each byte sent; hence printing is slowed down.

    << NLM >>

    Direct hardware port flow method is always used. Unfortunately it is not possible for PCOUNTER.NLM to detect the existence of parallel ports on the file server, so the following default port addresses (in hex) are used:

    LPT1 378
    LPT2 3BC
    LPT3 278

    Sometimes it's necessary to use the 3BC address for LPT1. In this case, on the file server console command line, type:

    PCOUNTER PrintServerName /LPTSWAP

    This causes PCOUNTER to swap (exchange) the default LPT1 and LPT2 addresses.
    If LPT1 or LPT2 aren't either of those, then it won't work.

    Expect high CPU utilization when using a parallel printer on the file server.


    PRINTER Port=Queue--> (Another Queue)

    Another Queue (Queue-->) is included as a "port" in order to take advantage of NetWare's remote printing capabilities and printers with built-in network interfaces which have built in print server software. Here is the idea:
    1. 2 queues are necessary: 1 for page counting, 1 for printing
    2. User places job in queue serviced by PCOUNTER server
    3. PCOUNTER counts pages, charges account, places job in other queue
    4. 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.

    Do not choose a queue as a port if it is already being serviced by the same PCOUNTER server.

    Here is a diagram:

    
    ACCOUNTING
    QUEUE -----> PCOUNTER ---> (LPT1) -----> POSTSCRIPT PRINTER
                 PRINT
    PAGE ------> SERVER ---> (Queue-->) ---> REMOTE
    COUNT                                    PRINTER
    QUEUE                                    QUEUE ----> PSERVER ---> REMOTE PRINTER
                                                         PRINT
    FREE  ---------------------------------------------> SERVER  ---> REMOTE PRINTER
    QUEUE
    

    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 Maximum Number of Jobs 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 Queue-->. However, if the Maximum Number of Jobs is 1, PCOUNTER will wait for Queue--> 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 PrinterPort=Queue-->, PCONTROL adds the PCOUNTER server to the other queue's Queue Users property. If you want all jobs routed through PCOUNTER, then remove all other users and groups from the Queue-->'s Queue Users property.

    If PrinterPort=Queue-->, then all page counting is computed manually.

    You may setup the input and output queues to reside on different file servers, but it is not recommended. Keeping them on the same file server reduces the load on the print server and the file server(s).

    Port=Queue->: The simple explanation!
    (Pretend you have a Laserjet 4/Jetdirect with built-in Netware print server)

    Create a new queue for counting, call it Q1.
    Assume that the queue the Jetdirect is servicing now is Q2.
    Create a new print server for PCOUNTER, call it PS1.
    Assume that the print server in the Jetdirect is called PS2.

    User places job in Q1.
    PCOUNTER services job in Q1, counts pages, places job in Q2.
    PS2 services job in Q2 and prints the job.

    The PCOUNTER printer setup should be:
    Port=Queue->
    Port Setup=Output Queue=Q2
    Queues serviced=Q1

    PS2 printer setup in Jetadmin should be:
    Queues serviced=Q2

    If you don't want people to bypass page counting and place jobs directly into Q2, then use PCONSOLE to restrict rights to the queues. However, do NOT remove the PCOUNTER server as a Queue User, or else it will NOT be able to place jobs in Q2.


    PRINTER Port=JetDirect (TCP)
    PRINTER Port=TCP/IP Printer

    If you prefer to use the LJ4/JetDirect as a Novell print server, please use Printer Port=Queue-->, or QCOUNTER.NLM. However, using the TCP/IP protocol with the JetDirect allows PCOUNTER to maintain a direct peer-to-peer connection to the printer which is not available with IPX/SPX.

    PCOUNTER does not require any Novell-oriented feature to be active on the JetDirect, print server box, or other network printer interface. Therefore, a connection to the file server is not necessary for each printer. The only thing PCOUNTER needs to know is the printer's IP address, and (except for the JetDirect) the IP port number to use to communicate with the printer.

    JetDirect TCP Behavior:
    In the TCP/IP configuration, the TIMEOUT setting determines how long the printer waits before breaking a TCP connection if no data is sent during that time period. If an error occurs (such as paper running out) during a print job, it is possible that the connection may break before the printer gets attention from an operator, and display a 40 MIO ERROR message. This is not a problem. Simply press the Continue button to complete the job, or the Reset button to abort the job. PCOUNTER will automatically reconnect to the printer.

    You should refer to the printer's IP address instead of its name.

    If you do not have the TCP/IP protocol installed on your network, then please read the Novell manuals pertaining to TCP/IP. You will need to run TCPIP.NLM on your file server so that packets get routed correctly.

    JetDirect EX3 Setup:
    Set up PCOUNTER to use 3 printers - all with TCP/IP printer ports.
    Use IP port 9100 for the printer on the EX3's LPT1.
    Use IP port 9101 for the printer on the EX3's LPT2.
    Use IP port 9102 for the printer on the EX3's LPT3.

    Using JetAdmin with PCOUNTER:
    PCOUNTER must reserve the following PJL commands exclusively for its own use: @PJL USTATUS, @PJL JOB, @PJL RDYMSG, and @PJL INFO. If you want to use JetAdmin with a PCOUNTER queue, you must configure the queue for no accounting (and restrict access to yourself only).

    << EXE >>

    Novell's TCPIP.EXE must be loaded.

    Example NET.CFG parameters:
    Link Support
         Buffers   8 1500
         MemPool   4096
    
    Link Driver NE2000
         INT  #1 5
         PORT #1 300
         Frame ETHERNET_II
         Frame Ethernet_802.3
         Protocol IPX 0 Ethernet_802.3
    
    Link Driver TOKEN
         Frame TOKEN-RING_SNAP
         Frame TOKEN-RING
         Protocol IPX E0 TOKEN-RING
    
    Protocol TCPIP
         path script    c:\lwp\script
         path profile   c:\lwp\profile
         path lwp_cfg   c:\lwp\hstacc
         path tcp_cfg   c:\lwp\tcp
         ip_netmask     255.255.255.0
    ;Ethernet - subnet 3
         ip_router      128.100.3.1
         ip_address     128.100.3.99
    ;Token Ring - subnet 4
         ip_router      128.100.4.1
         ip_address     128.100.4.99
         tcp_sockets    8
         udp_sockets    8
         raw_sockets    1

    << NLM >>

    TCPIP.NLM must be loaded.

    Sample AUTOEXEC.NCF parameters:
    load TCPIP forward=yes
    load NE2000 name=E_TCP int=5 port=300 frame=ETHERNET_II bind IP to E_TCP addr=128.100.3.1 mask=255.255.255.0 load TOKEN name=T_TCP frame=TOKEN-RING_SNAP bind IP to T_TCP addr=128.100.4.1 mask=255.255.255.0


    PRINTER Port=LPR

    PCOUNTER can send print jobs to UNIX hosts running the LPD/LPR protocol.
    PCOUNTER needs to know the ip address and the printer name.
    Typically, the printer name is defined in the printcap file on UNIX systems.
    If you don't know, use the default "lp". If that doesn't work, ask your local friendly UNIX guru.

    If PrinterPort=LPR, then all page counting is computed manually.


    PRINTER - Print buffer size

    The print buffer size is the most important setting regarding PCOUNTER performance. It specifies the size of the data chunks sent to the printer. The sizes range from 64 to 16K 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.

    Try these settings:
    Old IBM Proprinters 64 bytes
    Serial printers @ 9600 baud or below 512 bytes or less
    Serial printers @ 19200 baud or below 1K
    Serial printers @ 38400 baud 2K
    Laserjet 4M @ 57600 baud 4K
    LaserJet II (Parallel/EXE) 1K
    LaserJet II (Parallel/NLM) 512
    LaserJet III (Parallel/EXE) 2K
    LaserJet III (Parallel/NLM) 1K
    LaserJet 4 (Parallel/EXE) 4K
    LaserJet 4 (Parallel/NLM) 2K
    LaserJet 4+ (Parallel/EXE) 8K
    LaserJet 4+ (Parallel/NLM) 4K
    Really, really, really fast printers 16K

    If PrinterType=PostScript, then it's print buffer size has a minimum of 512.
    If PrinterType=Laserjet 4, then it's print buffer size has a minimum of 1K.

    If PrinterPort=Queue-->, then buffer=1K, 2K, or 4K.
    If PrinterPort=JetDirect or TCP/IP Printer or LPR, then buffer=1K or 2K.


    PRINTER - Lines/page

    This value is only used for text job manual page counting. It should correspond to the printer's default lines-per-page setting. Therefore, settings of less than the printer's default may result in over-counting, and settings of more than the printer's default may result in under-counting.


    PRINTER - Pagecount Type

    PCOUNTER's method for calculating the page count:
    Manual
    PCOUNTER calcluates page count
    PS Bidirectional
    PCOUNTER calculates page count using interactive Postscript commands
    PJL Bidirectional
    PCOUNTER calculates page count using HP Print Job Language commands
    Some early models of the LJ4M don't support PJL Bidirectional, so in these cases you'll have to use PS Bidirectional.

    Bidirectional counting is only available if Printer Port=Parallel (LPTx), Serial (COMx), TCP/IP, or Jetdirect (TCP). Page counting is automatically manual if Printer Port=Queue-> or LPR, or if Printer Type=PCL.


    PRINTER - Error notify list

    Users in this list are notified about printer errors using a broadcast message if the Broadcast error option is enabled.


    PRINT SERVER - Broadcast error wait

    This is the number of seconds that PCOUNTER will wait before sending broadcast messages to users in the printer notify list when a printer needs attention. Don't set too low of a value, or you might get messages often! Setting a value of zero (0) disables this feature.


    PRINT SERVER - Accounting Type

    Netware
    Use Netware accounting services.
    External program
    PCOUNTER.EXE runs a child program which performs custom accounting, such as interfaces to card readers/external databases, etc. Please contact A.N.D. if you want more information on how to implement such a scheme.
    << EXE >>

    Both options are supported.

    << NLM >>

    Only Netware accounting is supported.


    PRINT SERVER - Central accounting server

    PCOUNTER can be setup to perform all of its user accounting on one central file server. Choose one of the included file servers to enable this feature; otherwise, accounting occurs 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 QueueDiscardJobIfUnknownUser=Yes 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.
    PCOUNTER.MAP must be placed in SYS:SYSTEM\PCOUNTER.


    PRINT SERVER - Console keyboard

    << EXE >>

    The PCOUNTER console has a queue job manager function activated by pressing the F1 key, and a printer control funcion activated by pressing F4. Anyone with access to the PCOUNTER console may delete print jobs in the PCOUNTER server's queues. Jobs may also be held and released. The space bar switches printer status displays if you have more printers than status lines. You may disable the keyboard completely, or simply disable Ctrl-Alt-Del soft reboots. The keyboard state has no effect on remote control features.

    << NLM >>

    Not supported.


    PRINT SERVER - Console screen lines

    << EXE >>

    If you have an EGA or VGA on your PCOUNTER server, you may run it in 43 (EGA) or 50 (VGA) line screen mode.

    << NLM >>

    Not supported.


    PRINT SERVER - Maximum printer status lines

    << EXE >>

    On the PCOUNTER console, if you prefer to see more of the screen dedicated to the Recent and Pending Print Jobs windows, set a lower value. Range: 1-16.

    The Space key changes which printers are shown in the status display.

    << NLM >>

    Not supported.


    PRINT SERVER - Screen blanker wait

    << EXE >>

    The time (in seconds) to wait before PCOUNTER blanks the screen. Pressing a key lights the screen again. Setting this value to zero (0) disables this feature. Maximum value=1800.

    << NLM >>

    Not supported.


    PRINT SERVER - Auto reboot wait

    << EXE >>

    The time (in seconds) to wait before PCOUNTER automatically reboots itself after a network critical error occurs, such as after a server crash. Setting this value to zero (0) disables this feature.

    << NLM >>

    Not supported.


    PRINT SERVER - Delete held jobs after ? hours

    PCOUNTER can delete held print jobs after a specified number of hours. A value of zero (0) disables this feature.


    PRINT SERVER - Create password file

    For security purposes, we recommended that you create and use a password file with PCOUNTER. By default, a password file is not generated and a password is not used. After entering a password for the PCOUNTER server in PCONTROL, a file is created (in SYS:SYSTEM\PCOUNTER) called PSName.PWD, where PSName is replaced by up to the first 8 characters of the print server's name. If the password file is not present at that time, then PCOUNTER will attempt to login without a password. If the password file is present, it will be automatically used by PCOUNTER. The password is encrypted in the file so that only PCOUNTER can read it.

    DO NOT SPECIFY THE PASSWORD ON THE COMMAND LINE.

    In PCONTROL, the password will be set on all included file servers.

    << EXE >>

    Put the password file in the same directory as PCOUNTER.EXE.

    << NLM >>

    Keep the password file in SYS:SYSTEM\PCOUNTER.


    PRINT SERVER - Include file servers

    Here is where you specify whether a single PCOUNTER server should service queues on multiple file servers. Adding a file server to the list will create the print server account on that file server. Removing a file server from the list will delete the print server account along with all printer definitions from that file server. You cannot remove a file server from the list if it is the default file server.

    Printer setups appear the same on all included file servers and PCOUNTER can login to any of them.

    << EXE >>

    Logs in to all included file servers; requires one user connection on each.

    << NLM >>

    Logs in to all included file servers; does not use a user connection on the file server where the NLM is running; requires one user connection on each remote file server.


    The PCOUNTER console

    << EXE >>

    F1 Queue Manager
    Users may hold, release, and delete jobs in all print queues. Jobs are sorted by username. Unlike PCONSOLE, jobs are shown with the true username.
    F4 Printer Control
    Users may pause/unpause the printer, restart the current job, or delete the current job.
    F8 Pause
    Pauses all PCOUNTER operations. Space switches printer status displays if you have more printers than printer status lines.
    Ctrl-End
    Exit
    Colors in the Current Print Jobs window:
    Green
    Job is ready to print
    Cyan
    Job is still in progress
    Red
    Job is held
    Reverse
    Job is being printed
    << NLM >>

    There are 2 screens, one for Printer Control and one for messages and recent print jobs. In the Printer Control screen:
    P
    Pause/Unpause(Release) printer control
    Del
    Delete the current print job
    R
    Restart the current print job
    Q
    Quit servicing the current job, reset the PCOUNTER.NLM control for this printer, and bypass accounting
    Ctrl+End
    Unload PCOUNTER.NLM
    Space
    See more printer status lines, only if more than 24 printers
    The current printer is shown with the > character; use the Up and Down keys to select the current printer.


    Important PCOUNTER.NLM Notes

    Each PCOUNTER printer runs as a separate thread of execution on the file server, as well as the keyboard process. Therefore, pressing a key may not result in instant screen updates if the printer process is busy.

    If you unload PCOUNTER.NLM from the console command prompt, each printer process will set itself to an idle state before the NLM unloads. If a print job is currently active, then unloading will take a little longer. A printer process may appear to be hang occasionally, for example during a TCP/IP connection which has been broken. It is recommended that you unload the NLM from the Printer Control screen, so the console command process does not have to wait for the printer processes to finish. Otherwise, the console command prompt will not be available to you until the NLM has finished unloading.

    It may take PCOUNTER.NLM up to 2 minutes to clear an invalid or broken TCP/IP connection when it is unloaded, so be patient.....


    Remote control

    << EXE >>

    In order to use the remote control feature of PCONTROL, a user must be supervisor equivalent, or be a print server operator. The list of print servers displayed are those which:
  • are logged in
  • have a PCOUNTER configuration
  • the user has the necessary rights to operate
  • At this time remote control is limited to one client at a time.
    When a client is connected, an asterisk (*) is displayed on the console.

    The client can perform any keyboard operation remotely, even if the console keyboard has been disabled. Therefore, pressing Ctrl-End will cause the PCOUNTER program to terminate (as it normally would).
    Special keys:
    Alt-Q
    Quit remote session
    Alt-R
    Reboot remote print server
    Alt-H
    Help
    It is necessary for SPX to be installed on the PCOUNTER station, but not on the client stations. However, if things don't appear to work correctly without SPX on the client, then perhaps it would be a good idea to install it.

    To enable SPX, include IPXODI or IPXODI D in AUTOEXEC.BAT.

    Reaction is not instantaneous - PCOUNTER allocates little time for the remote control process, so that it can spend more time printing and counting pages. 50 line VGA screens take twice as long to update than their 25 line counterparts.

    Use the provided PCONTROL.PIF under Windows 3.1x. If the necessary background priority is not provided, then the connection will fail if the DOS session is not allocated enough time slices. If you insist on pushing a PCONTROL remote control session to the background in Windows, the connection may be lost. Try adjusting the PCONTROL.PIF settings if there are problems.

    << NLM >>

    Use RCONSOLE.


    Solutions to Common Problems

    Problem: The printer status line always reads "Offline or busy" when trying to access an LPT port using the NLM version on the file server.

    Solution: Try the /LPTSWAP command line option.
    See also : PRINTER Port=LPTx - Parallel Ports.

    ----

    Problem: When loading PCOUNTER.NLM or QCOUNTER.NLM, the server issues the following messages:
            Loader cannot find public symbol: AttachToFileServer
            Loader cannot find public symbol: NWQAbortJob
            :etc.
            :etc.
            Load file referenced undefined public variable.
            Module PCOUNTER.NLM NOT loaded
    
    Solution: Your 3.11 server needs an updated CLIB.NLM.

    ----

    Problem: After upgrading a server to Netware 4.1, accounting no longer works.

    Solution: Even if you previously had accounting installed, the upgrade will not install accounting for you automatically. You will need to do it using NETADMIN. Also check and make sure that the Pcounter server(s) are listed as accounting servers.

    ----

    Problem: Port is configured for Queue->, job prints, no accounting.

    Solution1: Make sure that jobs are being placed in the queue which PCOUNTER is servicing, not the the output queue (Queue->). If jobs go into the output queue directly from users, then page counting is being bypassed. You can remove user access to any queue using PCONSOLE or PCONTROL.

    Solution2: Make sure that the other print server and PCOUNTER are not servicing the same queue. This means the other print server is getting the jobs first. Remember, you need two queues (one for page counting, one for printing) and two print servers (PCOUNTER and another print server such as PSERVER or the built in Novell functions of a Jetdirect).

    Solution3: Make sure that PCOUNTER and the other print server are NOT using the same print server name/account. This will definitely not work at all. See the above solution.

    ----

    Problem: Remote control screen is garbled.

    Solution: Close the connection (Alt-Q) and try it again!

    ----

    Problem: When PCOUNTER.EXE is loaded, the console says "Error logging in on file server xxxx, Invalid password".

    Solution: If you set the password in PCONTROL, an encrypted password file was created (*.PWD) in SYS:SYSTEM\PCOUNTER. Place it in the same directory as PCOUNTER.EXE.
    See also : PRINT SERVER - Create password file

    ----

    Problem: Print jobs on the parallel printer are garbled or data is being lost.

    Solution: If the parallel port flow method is set to hardware port, make the timeout value higher. If that fails, use the ROM BIOS setting.
    See also : PRINTER Port=LPTx - Parallel Ports.

    ----

    Problem: Laserjet 4M (or equivalent!) often reports 0 pages using bidir page counting.

    Solution: Your printer type is probably set to PostScript. Change it to PrinterType=Laserjet 4. Bidir counting on LJ4M's require different handlng than standard PS printers.

    ----

    Problem: An incorrect username is on the banner on a Netware 4.1 server.

    Solution: PCOUNTER cannot recognize users from containers in non-bindery contexts.
    See also: Netware 4.x Notes

    ----

    Problem: PCOUNTER counts pages correctly, but user account balances are not changed.

    Solution: In the queue configuration, set Accounting =User Accounting and Log File. If it is set to Log File Only, then the only record of printing will be kept in SYS:SYSTEM\PCOUNTER.LOG.

    Solution: Your trial period has expired, and user accounting has been disabled.

    ----

    Problem: PCOUNTER.EXE displays error 8800 trying to login to a Netware 4.1 server.

    Solution: Log the workstation out first before running PCOUNTER.


    Security

    A separate document discussing Pcounter security issues is available by email from A.N.D. Technologies. This document is available only to registered customers.


    Technical support

    Technical assistance is available only by email or fax. Email is preferred, and will result in a faster response. Please feel free to leave questions and comments at:

    Email: andtech@netcom.com
    Compuserve: 71011,3570 or INTERNET:andtech@netcom.com (faster!)
    Fax: (213) 782-6923

    If you have a technical problem, please include as much information about your setup as possible in your communication. In PCONTROL, Print Servers, Create Summary File, you can generate a complete text description of your print server's setup, including printers and queues.


    Warranty

  • PCOUNTER is distributed as is, with no warranty implied or otherwise.
  • Use at your own risk.
  • A.N.D. Technologies is not responsible for your use or misuse of PCOUNTER.

  • 45 Day Trial Period

    You may use PCOUNTER without restriction for 45 days after your first print server installation using PCONTROL. To start your 45 day trial period, run PCONTROL and choose File Servers, Register for each file server you intend to have PCOUNTER running on. If you have not registered PCOUNTER and the trial period expires, its use will be limited to 2 hours running time, and accounting functions will be disabled.

    *** Please contact A.N.D. Technologies if you require a longer trial period. ***


    Registration

    Each file server license allows you to run PCOUNTER.NLM, QCOUNTER.NLM, and as many PCOUNTER.EXEs as you require on that file server. Your reg number is good for any PCOUNTER 3.x version.

    Pricing (In US Dollars):
    1 file server license
    $175 or 1-4 @ $175 each
    5 file server licenses
    $625 or 5-9 @ $125 each
    10 file server licenses
    $995 or 10-19 @ $100 each
    20 file server licenses
    $1295
    Unlimited academic site license
    $1595
    Corporate licenses are also available.

    Upgrades from PCOUNTER 2.x (In US Dollars)
    Each PCOUNTER 2.x print server license --> PCOUNTER 3.x file server license - $100

    *** NECESSARY INFORMATION FOR REGISTRATION ***
    In PCONTROL, File Servers, Register, please note your file server(s) serial number, and (if shown) IPX internal network number. Also your name, company, and email address. 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. Enter the number in PCONTROL, and PCOUNTER is yours. No diskettes or manuals need to be sent.

    By supporting PCOUNTER now you will be supporting future versions.


    Payments

    Address for correspondence
    A.N.D. Technologies
    P.O. Box 64811
    Los Angeles, CA 90064 USA

    Payments by cheque
    If you are registering from outside the U.S., please make sure your payment is in US dollars and is cashable at a U.S. bank so that there are no conversion fees.

    Purchase orders
    Purchase orders are accepted and may be mailed to the above address or faxed to (213) 782-6923. Terms are Net 30.

    Credit cards
    For credit card orders, please include:

    Your name as it appears on the card
    Visa or Mastercard
    Card Number
    Expiration Date

    If you are concerned about security issues regarding credit card transactions by email, you may also fax the above information to (213) 782-6923.

    Wire Transfers
    Please add $10 for wire transfers.
    Please also add any amounts that your bank charges for this service.


    Distribution

    You may distribute PCOUNTER as part of shareware/software/utility collections or upload it to other computers. However you may not charge any fees for the PCOUNTER software except to cover media costs for its shipment. If you do so, please distribute it in the zip archive PCNTxxxx.ZIP, where xxxx indicates the revision number; for example, version 3.11B would be distributed in the file PCNT311B.ZIP.


    How to find the latest version of PCOUNTER

    A.N.D. Technologies WWW site
    A.N.D. FTP site
    University of Liverpool, UK [Always up-to-date]
    Lincoln University, New Zealand [Always up-to-date]

    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 (ftp.novell.com) is updated only occasionally, it seems.

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


    Acknowledgements

    Special thanks to Sara for her unlimited love, patience, and encouragement.

    PCONTROL uses the SPAWNO routines by Ralf Brown to minimize memory use while running the editor program while viewing Print Histories.


    Other software by A.N.D. Technologies

    AWESOME LOGIN 2.1 - A GRAPHICAL NOVELL LOGIN SHELL
    Customize your login screens (and discourage hackers and password stealers) with this graphical login program. It uses Novell's LOGIN.EXE as a secondary program, so there's no need to rewrite login scripts. Also use it in place of LOGOUT, so that a pleasant screen always awaits the next user.

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