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