BKTERMCP.RVW 931102 O'Reilly & Associates, Inc. 103 Morris Street, Suite A Sebastopol, CA 95472 800-998-9938 707-829-0515 fax: 707-829-0104 info@ora.com "termcap and terminfo", Strang/Mui/O'Reilly, 1991, 0-937175-22-6 lmui@ruby.uucp tim@ora.com I remember a certain federal government EDP office being very smug about the fact that they were able to allow us to use WordStar on a Turbo DOS system, with VT100s, as well as whatever oddball terminals they had. Of course, we had to invoke the program with "WSVT100" since the program files were completely different, compiled with two different drivers. (For those of you who find it difficult to install WordPerfect, you would have *hated* early MS-DOS versions of WordStar, with many settings required during the installation process harking back to the various terminal options of previous systems.) I also recall getting the (then) brand new VT320 terminals in another VAX shop. Well pleased with having the latest technology, I hooked it up, logged on, started All-in-1 ... and was presented with the TTY menu. The VT320 was so new at that time that the All-in-1 driver had not yet been completed. Such is life in the technological fast lane. Some programs simply print line after line of information, seeing the screen as an infinitely long roll of typewriter paper. Most of the more interesting applications, however, want more than that. They want to be able to "paint" a screen, use areas of it for windows, change text depending upon the user's interaction, allow choices by highlighting items from a menu, and so forth. To do this, the program needs to know the functions and commands for the terminal. Therefore, you need a different program, or a different driver, for each terminal type to be used. The vi editor is now considered to be difficult, awkward and unfriendly. When Bill Joy first wrote it, though, it was a remarkable advance on what was available. Therefore, there was a great demand to port it to different systems ... and *many* different terminals. In true UNIX community "roll your own" fashion, Joy developed a system whereby a library of terminal capability subroutines could be linked to a database describing the commands for each terminal. This system, because it dealt with *ter*minal *cap*abilities was referred to as termcap. Termcap is used in BSD versions of UNIX; a slightly variant version called terminfo is used in System V. Curses, a more modern subroutine library, can also use termcap terminal database entries. Although intended for use by system administrators, this book is so very well designed and written that it makes termcap and terminfo accessible to reasonably computer-literate users as well. Writing device drivers is hard, but the difficulty tends to lie in the availability of tools, and the time needed to cover all the bases. This book points to, and explains, the tools, and allows users to experiment with what is important to them on their own time. Part one, chapters one to six, is a tutorial covering the basic concepts, syntax, environment variables and basic commands. Part two, chapters seven to sixteen, is basically the termcap language reference. Appendices cover vi capabilities, access from C programs, and a cross-reference. You may be fortunate enough to have a full and debugged terminal database. If not, and particularly if your users insist on a variety of PC terminal emulators of questionable "accuracy", then you need this book. If nothing else, you can give it to the user who insists on "Joe's Modem Supreme Program" and tell him to figure it out for himself. copyright Robert M. Slade, 1993 BKTERMCP.RVW 931102 ====================== DECUS Canada Communications, Desktop, Education and Security group newsletters Editor and/or reviewer ROBERTS@decus.ca, RSlade@sfu.ca, Rob Slade at 1:153/733 Author "Robert Slade's Guide to Computer Viruses" (Oct. '94) Springer-Verlag