WLPR is an implementation of a BSD Unix LPR client. This allows a PC
runnig Windows 95, Window 3.1 or Windows For Workgroups to send files
over TCP/IP to a printer for printing. WLPR does no formating, a file
must be written containing the correct instructions for the printer. 
This is typically done by selecting the correct printer type and the
"print to file" option in the application that created the document.

Once a file is created it can be sent to the printer either by dragging
and dropping it on the WLPR window or icon or using the Windows 95
sendto feature.

In Windows 95, files cannot be dropped directly on the task bar.
Instead if a file is dragged over an icon on the task bar and held there
for a second or two the application window represented by the icon
is expanded. The window can be anywhere on the screen and you must now
move the mouse to the windows location. However, WLPR automatically
moves the mouse when the its window is restored so all you need to do
is drop the files.

WLPR makes use of an INI file in the WINDOWS directory. Currently the
WLPR.INI file looks something like this:

	[DEFAULT]
	PRINTER_HOST_NAME="pinetop"
	PRINTER_NAME="JetDirect1"
	USER_NAME="Noah_Davids"
	DEBUG=0
	DELAY=1

	[Version]
	Version=1.2 - 1/1/96
	Copyright=Copyright Noah Davids 1995

The DEFAULT section contains the information used to control the print
request.

PRINTER_HOST_NAME is the name of the host running the LP
daemon. It may be another conputer or a network aware printer. Currently,
it must be a name that will be resolved by looking it up in a host
table or with a query to a domain name server. It cannot be an IP address.

PRINTER_NAME is the name of the printer. Network aware printers may or
may not care what name you provide, it will depend on how they are
configured - HOWEVER, a name must be provided for WLPR to use.

USER_NAME is the name that you want to use on the header sheet that
is printed before your actual file. How this is printed is dependent
on how the printer host and printer are configured.

DEBUG should typically be 0. If it is sent to 1 a great deal of debugging
information will be displayed in message boxes as the program executes. If
its set to 2 you will also get a dialog box containing all the characters
that are sent to the printer.

DELAY is the number of seconds that the "Done Printing" message is 
displayed.

Percent Complete dialog box:
WLPR displays a dialog box that contains the number of bytes
in the file, the number of bytes read and the number of bytes sent to
the printer host. On a busy network, or with a slow connection to the
printer host its possible for these byte counts to pause for a few seconds.
This is not typically a cause for concern. Once the contents of the file
is sent to the printer host a control file is sent. This file contains
information like your name. The dialog box will display a message indicating 
that the control file is being sent and the bytes sent to the printer will
incremented as the control file is sent. Once the control file is sent the
"Done Printing" message is display for DELAY seconds. Short files can be sent
so fast that its easy to miss this dialog. The "Done Printing" message is used
to make sure that the user has time to see that the file has been printed.

Request dialog box:
Wlpr is being released as shareware. as such its expected that if you routinely
use it you will register it. The dialog box is a reminder of that.

To register send $25.00 to:
	Noah Davids
	6115 East Surrey Ave.
	Scottsdale, AZ  85254

Please include the Wlpr version and where you got it from.

Questions can be sent to the above address or via email to:
	Noah_Davids@vos.stratus.com

Error handling:
There are many reasons for either TCP or the printer host to return an
error. If any error is returned the print request is aborted. Errors
from the WinSocket subsytem are reported numerically. The following
table can be used to interpret them. Errors returned from the printer
host are more cryptic and typically are just a "message not acknowledged"
indication. If you get one of these errors try again in a few seconds.
If the error persists talk to someone who is in change of the printer
and the printer host to make that it is functioning correctly.

code		meaning
10004	interrupted system call
10009	bad file number
10013	permission denied
10014	bad address
10022	invalid argument
10024	too many open files
10035	operation would block
10038	socket operation on nonsocket
10039	destination address required
10040	message too long
10041	protocol wrong type for socket
10042	protocol not available
10043	protocol not supported
10044	socket type not supported
10045	operation not supported on socket
10046	protocol family not supported
10047	address family not supported
10048	address already in use
10049	cannot assign requested address
10050	network is down
10051	network is unreachable
10052	network dropped connection on rest
10053	software caused connection abort
10054	connection reset by peer
10055	no buffer space available
10056	socket is already connected
10057	socket is not connected
10058	cannot send after socket shutdown
10059	too many references: cannot splice
10060	connection timed out
10061	connection refused
10062	too many levels of symbolic links
10063	file name too long
10064	host is down
10065	no route to host
10066	directory not empty
10067	too many processes
10068	too many users
10069	disk quota exceeded
10070	Stale NFS file handle
10071	too many levels of remote path
10091	network subsystem is unusable
10092	WinSock DLL cannot support this application
10093	WinSock not initialized
10101	disconnect
11001	host not found
11002	nonauthoritative host not found
11003	nonrecoverable error
11004	valid name, no data record of requested type

