home *** CD-ROM | disk | FTP | other *** search
- INTPRINT v3.03
- 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 simple formatter for the interrupt list. Use this
- program to print only a portion of the list, 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:
- -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.
-
- -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.
-
- -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.
-
- -Ffile filter the listing based on include and exclude strings
- in 'file'. Only entries whose headers match none of the
- exclude strings and at least one of the include strings
- will be processed. All others will be skipped.
- NOTE: you must put the filename immediately after the 'F'; no
- blanks are allowed.
-
- -H print a heading on each page indicating which interrupts
- are listed on the 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.
-
- -I assume the printer is capable of producing IBM character
- graphics. Printers other than "default" may force this option.
-
- -k keep original divider lines instead of replacing them
- with all dashes.
-
- -lN print N lines per pages, overriding the printer-specific
- default. Use 0 to omit page breaks (in this case, the
- reported number of pages and -r page restriction may be
- incorrect unless you also use -L); this can be useful if
- you only want to filter the list before processing it
- further.
-
- -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.
-
- -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.
-
- -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.
-
- -p print the page number at the bottom center of each page
-
- -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.
-
- -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. If filtering is enabled,
- (see -F), page numbers are based on entries selected by the
- filter file.
- NOTE: you must put the page numbers immediately after the 'r';
- no blanks are allowed. When using -l0 together with -r,
- you must specify the appropriate page length with -L so
- that page numbers can be computed correctly.
-
- -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. If -p is also given, page
- numbers will be included in the summary. If -V is also given,
- byte offsets for use by INTERVUE will be included.
- NOTE: you must put the filename immediately after the 's'; no
- blanks are allowed.
-
- -tN select typeface N for the chosen printer (currently supported
- only for the HP).
-
- -Tfile create a one-line-per-table summary and write it to "file"
- if -n is also given, the summary will be appended to the named
- file. If -p is also given, page numbers will be included in
- the summary. If -V is also given, byte offsets for use by
- INTERVUE will be included.
- NOTE: you must put the filename immediately after the 'T'; no
- blanks are allowed.
-
- -V indicate that the summary file is intended for use by INTERVUE.
- INTPRINT will output byte offsets that allow INTERVUE to jump
- directly to an entry. Also forces -I.
-
- -wN (widow lines) search N lines from the end of the page for a
- good place to break. The default is eight 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.
-
- -x include Index: lines in formatted listing. These lines are
- are excluded by default because they are intended primarily
- for use by hypertext converters.
-
- Options may not be merged; "-ep" is illegal and the "p" will be ignored.
- Use "-e -p" instead.
-
- 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).
-
-
- FILTER FILE:
- ------------
-
- The filter file specified with -F is a simple text file containing
- include lines, exclude lines, and comment lines. Include lines start
- with a plus sign (+) in the first column, followed immediately by the
- desired string; exclude lines start with a minus sign (-) in the first
- column, followed immediately by the desired string. Comment lines
- start with a hash mark (#) in the first column and are ignored. A
- future version of INTPRINT will include alternate forms of include and
- exclude lines which will select based on the classification letter in
- the divider lines rather than the contents of title lines.
-
- If a filter file is specified, only entries whose title lines contain
- at least one of the include lines (ignoring uppercase/lowercase
- distinctions) and none of the exclude lines are processed. Thus, a
- filter file must contain at least one include line, or INTPRINT will
- skip all interrupt entries and print only the non-interrupt text in the
- file.
-
- All spaces on include and exclude lines are significant. Thus,
- + DOS
- will only match entries containing the four-letter sequence " DOS",
- while
- +DOS
- will match any entries containing the sequence "DOS", whether or not it
- is preceded by a blank.
-
- ----cut here----
- # SAMPLE.FLT
- # Sample filtering file. Extract MS-DOS calls, but exclude
- # DR-DOS-specific, DOS-extender, and non-DOS networking calls.
- # Note: a few extraneous calls are still included.
- #
- + DOS
- -DR DOS
- -DR-DOS
- -DR Multiuser DOS
- -Concurrent DOS
- -DOS/16M
- -DOS4GX
- -DOS/4G
- -extender
- -LAN Manager
- -DECnet DOS
- #
- # end of SAMPLE.FLT
- ----cut here----
-
-
- ------------------------------------------------------------------------------
-
- 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
- 146 pages [screen output from INTPRINT]
- A> intprint -sb:interrup.sum -p -n146 interrup.b prn
- 285 pages [screen output from INTPRINT]
- A> intprint -sb:interrup.sum -p -n285 interrup.c >prn
- 403 pages [screen output from INTPRINT]
-
- or, more easily:
- A> intprint -sb:interrup.sum -m -p interrup.a prn
- 1587 pages [screen output from INTPRINT]
-
- Create only a summary file:
-
- C> intprint -sinterrupt.sum interrup.lst nul
-
- Create a listing of the tables in the interrupt list:
-
- C> intprint -Tinterrup.tbl interrup.lst nul
-
- Print only those entries containing the string "DOS", except
- those containing the string "DR-DOS"
-
- C> type dos
- +DOS
- -DR-DOS
-
- C> intprint -Fdos 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
- 1587 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 v2.0, Borland C++ v3.1, and Mach
- (BSD 4.3 Unix) "cc" and "gcc".
-
-