INTPRINT v2.00 by Ralf Brown The INTPRINT program is hereby donated to the public domain, with the sincere hope that proper credit will be retained in all copies and derivatives. ------------------------------------------------------------------------------ INTPRINT.COM is a very simple formatter for the interrupt list. Use this program to prevent widow lines at the beginning of a function call, number the pages, boldface key portions, center the printout, or create a summary of the function calls. After formatting is complete, the total number of pages is displayed on the screen. Usage: intprint [options] intlist [[>|>>]outfile] where the options are: -Pname use control codes for the specified printer (-P? lists the supported printers). The printer name may be given in either case and abbreviated to a unique prefix; use either dashes or underscores in place of blanks in the printer name. -tN select typeface N for the chosen printer (currently supported only for the HP). -m specify that the interrupt list is in multiple parts beginning with the named file. INTPRINT will increment the last character of the name to get the next filename, and continue until it is unable to open the file thus selected. -lN print N lines per pages, overriding the printer-specific default. -LN assume N lines on a page. If this is more than the number of lines to print on each page, INTPRINT will use line feeds to advance to the next page instead of form feeds. -b boldface the title lines, Return:, and Notes: by overprinting -B boldface by sending printer control sequences -d (duplex) print even/odd pages with different margins; suitable for binding the printout. -p print the page number at the bottom center of each page -iN indent the output N spaces. The output device is assumed to be at least 80+N characters wide. NOTE: you must put the number immediately after the 'i'; no blanks are allowed. -e assume printer is in elite mode (96 characters per line), and indent the output eight spaces to center the printout. This is primarily for the default printer, as other printers may force the equivalent or override this option. -I assume the printer is capable of producing IBM character graphics. Printers other than "default" may force this option. -nN assume N pages have already been printed, and start numbering at N+1. This option allows you to create a properly-numbered printout even if there is not enough disk space to concatenate the parts of the interrupt list or hold a complete output file. See the examples below. NOTE: you must put the number immediately after the 'n'; no blanks are allowed. -rN:M print only pages N through M. The entire input is processed for use in -s and -f summaries (see below) even though only a portion is formatted for printing. NOTE: you must put the page numbers immediately after the 'r'; no blanks are allowed. -wN (widow lines) search N lines from the end of the page for a good place to break. The default is ten lines; the valid range is from 3 to one-half of the page length. NOTE: you must put the number immediately after the 'w'; no blanks are allowed. -sfile create a one-line-per-function summary and write it to "file" if -n is also given, the summary will be appended to "file", allowing a properly numbered summary file to be created even if there is not enough disk space to concatenate the parts of the list. See the examples below. NOTE: you must put the filename immediately after the 's'; no blanks are allowed. -ffile create a file containing only the data structures described in the interrupt list. NOTE: you must put the filename immediately after the 'f'; no blanks are allowed. Options may not be combined; "-ep" is illegal and the "p" will be ignored. The formatted result of the input file is sent to the specified output file, or to standard output if no output file is given. Standard output may be redirected using the usual Unix or MSDOS redirection characters > or >>. If you only want a summary file or data formats file, send or redirect the output to the null device ("NUL" under MSDOS, "/dev/null" under Unix). ------------------------------------------------------------------------------ EXAMPLES: --------- Print the interrupt list with page numbers, and create a summary file, without concatenating INTERRUP.A, INTERRUP.B, and INTERRUP.C: A> intprint -sb:interrup.sum -p interrup.a >prn 116 pages. [screen output from INTPRINT] A> intprint -sb:interrup.sum -p -n116 interrup.b prn 261 pages. [screen output from INTPRINT] A> intprint -sb:interrup.sum -p -n261 interrup.c >prn 386 pages. [screen output from INTPRINT] or, more easily: A> intprint -sb:interrup.sum -m -p interrup.a prn 658 pages. [screen output from INTPRINT] Create only a summary file: C> intprint -sinterrupt.sum interrup.lst nul Print the interrupt list on an Epson FX80, using 54 lines per page and omitting both page numbers and summary: C> intprint -Pepson -l54 interrup.lst >prn Print the interrupt list using 120 lines on every 132-line page (using superscript mode, for example), and make divider lines using IBM character graphics: C> intprint -I -l120 -L132 interrup.lst >prn Print only pages 123 through 127, assuming that 106 pages are contained in the first section of the list: C> intprint -n106 -r123:127 interrup.b prn Print using HP PCL4/5 escape sequences, numbering pages, from file "interrup.lst" to file "interrup.pcl", at the default 69 lines per page, using form-feeds: C> intprint -Php -p interrup.lst >interrup.pcl 558 pages. [screen output from INTPRINT] ------------------------------------------------------------------------------ PORTABILITY: ------------ INTPRINT.C contains the source code for INTPRINT, for those people who are using the interrupt list on a machine which does not run MSDOS. This code has been tested with Turbo C and Mach (BSD 4.3 Unix) "cc".