mitch@well.UUCP (02/28/87)
BLUEBOOK OF C FUNCTION LIBRARIES PROPOSAL - FEB 17, 1987 The Waite Group, a San Francisco based computer book developer, is looking for contributing authors for a new book on C, titled Bluebook of C Function Libraries. If you are interested in knowing more about the project, the following is a description of the book, a brief outline and instructions for contacting us. Thank you. Mitchell Waite The Waite Group 3220 Sacramento Street San Francisco CA 94115 Phone: (415) 929-7088 {hplabs, lll-crg, lll-lcc, ucbvax, ptsfa}!well!mitch Title: Bluebook of C Function Libraries Suggested List: $24.95 Author: Edited by The Waite Group Audience: Programmers, students. Level: Intermediate to Advanced. Previous Knowledge: Comfortable using C Length: 450 book pages. Illustrations: Program listings and diagrams as needed. Related Books: C Primer Plus, Waite/Prata, (UNIX specific) Advanced C Primer ++, Prata, (IBM specific) Microsoft C Programming for the IBM, Lafore Description Because the classic computer interface is maturing (witness Windows and the Macintosh), C programmers are now expected to implement such features as windows, menus, help structures, mouse tracking, graphics, sound effects, scrolling, xmodem communications, database access, and so on, in their programs. These sophisticated functions can sometimes require hundreds of lines of C code. Programmers are therefore interested in obtaining C compatible function libraries that implement these features in C to save them the time required to write and debug the code themselves. A well crafted set of C routines can indeed support a small industry of C add-in products as the pages of any computer magazine reveals. At the same time programmers, teachers, and students are looking for the source code for these C libraries so that they can learn the ways these new application features, such as windows, communications, and so on, are implemented. Bluebook of C Function Libraries is a modern source code library of Microsoft C (and other compilers including Lattice and Aztec) library functions and routines which perform powerful jobs such as windows, complete CGA, EGA and PGA graphics, text data packages. The routines in the Bluebook are structured as teaching devices as well as utility routines, each contains a complete description of how the code works, the strategy behind its design, the modules involved and examples of how to use the code with the various compilers on the market today. Complete C and object source is provided and a disk of the source and compiled libraries are available from The Waite Group. The libraries can be included with your C code to allow supercharging your programs with these powerful new features: o Windows Functions o Postsript Functions o Help Functions o Graphics Functions o Device Driver Functions o Shell Functions oJSound Functions oJCommunications Functions o Data Entry Functions Bluebook of C Function Libraries is an intermediate to advanced level book, which assumes previous knowledge of C. It provides a large and well organized collection of C functions and libraries that allow the programmer, hacker, or student to write programs with powerful features for the IBM family (PC, XT and AT). The book is based on the Microsoft 3.0 & 4.0 C Compiler, which is becoming the standard in the industry and is supported by IBM. Market Surprisingly, the market for a book of useful C function libraries is excellent at this time for several reasons. First, C is still a growing course of study in the schools and in industry, and it shows no signs of slowing. It is by far the most popular language for program development on the IBM, because of its speed, flexibility, and ease of documentation. Second, of three books on C functions on the market today, none specifically address the modern features described above. Third, the current offering of C books, including our own, pertain to the UNIX market, while more and more students and programmers are moving toward the IBM PC. (For a review of the competing books, see Comparing C Function Books). Summary Bluebook of C Function Libraries provides the reader a comprehensive collection of all the major functions desired in a modern PC application today, along with a detailed analysis of how the functions operate and how to use them in C applications. This book fills an important niche with no current competition. The subject of this book, the C language, has a fantastic track record in the book stores and distributors recognize it as lucrative; this will lead to large advanced orders for this title, and a long lifetime of high sales. About The Waite Group The Waite Group is a computer book developer located in the San Francisco Bay Area. The Waite Group has produced over 70 computer titles over the last 10 years, and is known for its high quality titles on MS-DOS, C and UNIX. Waite Group's notable MS-DOS titles includes: MS-DOS Bible, Discovering MS-DOS, MS-DOS Developer's Guide, and Understanding MS-DOS. Tricks of the MS-DOS Masters, our newest title, will be available in December. THE BLUEBOOK OF C ROUTINE LIBRARIES OUTLINE As you read this outline it is important to keep in mind several facts about the planned nature of the C function and libraries in this book. Although these libraries are intended to be practical and useful to the C programmer, they are not designed to compete directly with commercial C library packages. Rather the libraries in this book are intended to be a teaching subset of the commercial packages, providing less of the functions of a commercial packages, and perhaps not as fast code in all cases, but balancing this with a more lucid description of how the code is used. Further differentiating the programs of this book from the commercial packages is that in this book the C code's operation is easy to maintain, it is backed up by a teaching approach so it is very well documented and it is easy to modify because its full source is available. Commercial library packages don't provide source, and when it is available that does not necessarily mean you will understand it, given C's cryptic possibilities. The commercial packages do serve as a model of what is available in performance and complexity, and in that light this book devotes a section at the end of each library chapter to examining at least one of the commercial C library packages. This helps the programmer and student to understand what to expect from these more costly packages and how to purchase them properly. What Compiler? Given the incompatibility of the C compiler marketplace we decided to pick one compiler for our book. That was a difficult decision to make, but it was the only way we can guarantee that the code is correct and the programs run properly (yes we will test the code) given our limited resources for this project. We have decide to use Microsoft C 4.0 as the standard C compiler. If you have Aztec, Datalight, etc., the solution might be to write them in your compiler and then port them later to the Microsoft compiler, which we can provide for you to use. Mix of C and Assembly Code. We want to minimize the number of assembly routines used so that the code is portable to other processors than the 8088/86 family, but we want to use assembly occasionally to speed up certain routines and to give clear examples of when such code is correct to use.The rule is avoid assembly as much as possible. When you must use it, use MASM 4.0 and prepare to REALLY document the way the routine works since this is a book, not a commercial product. oJWindows Functions Package This is a set of functions that allows you to call up to eight overlaid windows with each window holding up to 16K of text. Functions allow windows to move, zoom in and out, close, resize, locate and be made visible or invisible. Any window can be saved to disk with all attributes. The text entry has protected and mandatory fields. There are routines to figure out what display is installed and adjust the output to fit accordingly. A simple calling program for a multi-window text editor is provided to demo multiple windows. Review of commercial windows package. o Graphics Functions Package The graphics package is compatible with the Windows library and contains a full set of two and three dimension graphics routines in full EGA color, including, dot plotting, line drawing, rectangles, circles, ovals, clipping, rotation, zoom, bit map scaling, direct screen access, patterning, and much more. Contains several differ ways to draw lines with different speeds and documents the trade-offs of each. Review of commercial graphics package. oJSound Functions Package Sound functions include all forms of business sounds: alerts, bells, three level warnings, warbles, frequency sweeps, red, pink and white noise, and a library of game sounds including: laser beams, explosions, animal roars, buzzers, and much more. Music package contains functions for all notes on the piano keyboard, and a two voice tone generator. o Postscript Functions Package This is a set of functions that performs Postscript special effects and shows how to call and control Postscript from C. Talks to Apple and HP laser printer. Does gray fills, fountains, binds text to a path, polygons, gratings, bezier curves, PICT, ESF, starburst, and other 2nd generation special effects. Teaches postscript. o Data Entry Functions Package Straightforward package of data entry routines, is compatible with the windows library and includes full validation of each keystroke, range checking, security, scrollable data entry forms, multi and single field mode, strings, dates, and fixed decimal numbers with cursor positioning, full attribute control, display boxes and tables. Review of commercial data entry package. oJCommunications Functions Package Provides a complete function package for doing interrupt driven, buffered serial telecommunications at 300 to 9600 baud, including I/O buffers up to 64K, xon-xoff, 1/4 and 1K byte xmodem transfer.Review of commercial communications package. Compatible with Windows and other packages. o Help Functions Package A simple collection of functions for displaying pop-up help screens on the monochrome display. Compatible with or without windows. Function key as well as mouse activated windows can be called that display your own text based help windows. Help windows can be made with any ASCII editor. Ideas for color version provided along with review of a commercial help package. o Terminate and Stay Resident Functions Package Complete skeleton of TSR program with functions for calling setting up a TSR, strategy and interrupt calls. o Device Driver Functions Package Complete setJof functions for device drivers and applications examples for real time clock, RAM disk, speaker, MIDI device. o UNIX Shell Functions Package A set of UNIX shell and utility functions that make turn the MS-DOS environment into a UNIX-like environment. Not the full set of over 200 UNIX commands, but a subset of the most popular commands and utilities, like cat, cp, ls, rm, mkdir, etc. Review of commercial shell package. If you are interested in writing any of these topics please let me know. A proposal package consisting of the formal proposal, an author terms letter and a style guide will be sent. Thank you very much for your time. Sincerely, Mitchell Waite President The Waite Group 3220 Sacramento Street San Francisco CA 94115 Phone: (415) 929-7088 {hplabs, lll-crg, lll-lcc, ucbvax, ptsfa}!well!mitch