lpr, lpq, lprm - TCP/IP printing to remote hosts. Author: Eric Brown (C) 1992 internet: ebrown@tap.kodak.com compuserve: 71214,1006 8 November 1992 Release 1.0 lpr, lpq, lprm DOCUMENTATION: Almost all standard unix options are support except the '+' lpq option. See the respective UNIX man pages for documentation. Differences and required environment variables are listed below. ENVIRONMENT VARIABLES: SERVER - Name or IP address of remote computer PRINTER - Name of printer on remote computer TEMP - Directory for temporary files and sequence file ADDITIONAL OPTIONS: -Sserver - To manually specify name of server -u - (for lpr only) Strip file of lines that start with ^D. This option is to aid printing Windows PostScript files. OTHER PROGRAMS: For printing standard text files, I recomend picking up a copy of nenscrpt which I also ported to NT. It does a nice job of formatting text for Post- Script printers. It supports 2up and nice headers. IMPLEMENTATION: I got most of my information for these programs from _UNIX_Network_Prog- ramming_ by W. Richard Stevens and from looking over the NCSA lpr programs written by Paul Hilchey. The UNIX man pages helped a bit too. I hope this is an ok example of how to use the Windows Socket API. These programs are all Windows NT Win32 console apps. These were developed with the October beta release of Windows NT. AREAS FOR IMPROVEMENT: -Use Win32 file system routines. This allows for delete on close temporary files. According to the Win32 documentation, these files might also never get physically written to disk - a speed improvement. -lpr could be structured better. Ideally, we should have a set of routines one could easily integrate into a windows version of lpr. -Support for a printcap file. -Support for dumping files/PostScript out a serial port or such via appropriate printcap entries. -Integrate with PrintManager (Use AddPort() - I haven't figured this out yet). -lpd??? Perhaps. That's streching it though. It would be nice if the Print- Manager was really extensible. -Drag and drop app. MS should do this with the PrintManager just for kicks.