home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / misc / inter41 / intprint.doc < prev    next >
Text File  |  1994-06-04  |  10KB  |  263 lines

  1.                 INTPRINT v3.00
  2.                 by Ralf Brown
  3.  
  4. The INTPRINT program is hereby donated to the public domain, with the sincere
  5. hope that proper credit will be retained in all copies and derivatives.
  6.  
  7. ------------------------------------------------------------------------------
  8.  
  9. INTPRINT.COM is a simple formatter for the interrupt list.  Use this
  10. program to print only a portion of the list, prevent widow lines at the
  11. beginning of a function call, number the pages, boldface key portions,
  12. center the printout, or create a summary of the function calls.  After
  13. formatting is complete, the total number of pages is displayed on the
  14. screen.
  15.  
  16. Usage:
  17.    intprint [options] intlist [[>|>>]outfile]
  18.  
  19. where the options are:
  20.     -b    boldface the title lines, Return:, and Notes: by overprinting
  21.     -B    boldface by sending printer control sequences
  22.  
  23.     -d    (duplex) print even/odd pages with different margins; suitable
  24.           for binding the printout.
  25.  
  26.     -e    assume printer is in elite mode (96 characters per line), and
  27.           indent the output eight spaces to center the printout.  This
  28.           is primarily for the default printer, as other printers may
  29.           force the equivalent or override this option.
  30.  
  31.     -ffile    create a file containing only the data structures described
  32.           in the interrupt list.
  33.           NOTE: you must put the filename immediately after the 'f'; no
  34.           blanks are allowed.
  35.  
  36.     -Ffile    filter the listing based on include and exclude strings
  37.           in 'file'.  Only entries whose headers match none of the
  38.           exclude strings and at least one of the include strings
  39.           will be processed.  All others will be skipped.
  40.           NOTE: you must put the filename immediately after the 'F'; no
  41.           blanks are allowed.
  42.  
  43.     -H    print a heading on each page indicating which interrupts
  44.           are listed on the page
  45.  
  46.     -iN   indent the output N spaces.  The output device is assumed to be
  47.           at least 80+N characters wide.
  48.           NOTE: you must put the number immediately after the 'i'; no
  49.           blanks are allowed.
  50.  
  51.     -I    assume the printer is capable of producing IBM character
  52.           graphics.  Printers other than "default" may force this option.
  53.  
  54.     -k    keep original divider lines instead of replacing them
  55.           with all dashes.
  56.  
  57.     -lN   print N lines per pages, overriding the printer-specific
  58.           default.    Use 0 to omit page breaks (in this case, the
  59.           reported number of pages and -r page restriction may be
  60.           incorrect unless you also use -L); this can be useful if
  61.           you only want to filter the list before processing it
  62.           further.
  63.  
  64.     -LN   assume N lines on a page.  If this is more than the number of
  65.           lines to print on each page, INTPRINT will use line feeds to
  66.           advance to the next page instead of form feeds.
  67.  
  68.     -m    specify that the interrupt list is in multiple parts beginning
  69.           with the named file.  INTPRINT will increment the last
  70.           character of the name to get the next filename, and continue
  71.           until it is unable to open the file thus selected.
  72.  
  73.     -nN   assume N pages have already been printed, and start numbering
  74.           at N+1.  This option allows you to create a properly-numbered
  75.           printout even if there is not enough disk space to concatenate
  76.           the parts of the interrupt list or hold a complete output file.
  77.           See the examples below.
  78.           NOTE: you must put the number immediately after the 'n'; no
  79.           blanks are allowed.
  80.  
  81.     -p    print the page number at the bottom center of each page
  82.  
  83.     -Pname use control codes for the specified printer (-P? lists the
  84.           supported printers).  The printer name may be given in either
  85.           case and abbreviated to a unique prefix; use either dashes or
  86.           underscores in place of blanks in the printer name.
  87.  
  88.     -rN:M print only pages N through M.  The entire input is processed
  89.           for use in -s and -f summaries (see below) even though only
  90.           a portion is formatted for printing.  If filtering is enabled,
  91.           (see -F), page numbers are based on entries selected by the
  92.           filter file.
  93.           NOTE: you must put the page numbers immediately after the 'r';
  94.           no blanks are allowed.  When using -l0 together with -r,
  95.           you must specify the appropriate page length with -L so
  96.           that page numbers can be computed correctly.
  97.  
  98.     -sfile    create a one-line-per-function summary and write it to "file"
  99.           if -n is also given, the summary will be appended to "file",
  100.           allowing a properly numbered summary file to be created even if
  101.           there is not enough disk space to concatenate the parts of the
  102.           list.  See the examples below.  If -p is also given, page
  103.           numbers will be included in the summary.    If -V is also given,
  104.           byte offsets for use by INTERVUE will be included.
  105.           NOTE: you must put the filename immediately after the 's'; no
  106.           blanks are allowed.
  107.  
  108.     -tN   select typeface N for the chosen printer (currently supported
  109.           only for the HP).
  110.  
  111.     -Tfile    create a one-line-per-table summary and write it to "file"
  112.           if -n is also given, the summary will be appended to the named
  113.           file.  If -p is also given, page numbers will be included in
  114.           the summary.  If -V is also given, byte offsets for use by
  115.           INTERVUE will be included.
  116.           NOTE: you must put the filename immediately after the 'T'; no
  117.           blanks are allowed.
  118.  
  119.     -V    indicate that the summary file is intended for use by INTERVUE.
  120.           INTPRINT will output byte offsets that allow INTERVUE to jump
  121.           directly to an entry.  Also forces -I.
  122.  
  123.     -wN   (widow lines) search N lines from the end of the page for a
  124.           good place to break.  The default is eight lines; the valid
  125.           range is from 3 to one-half of the page length.
  126.           NOTE: you must put the number immediately after the 'w'; no
  127.           blanks are allowed.
  128.  
  129.     -x    include Index: lines in formatted listing.  These lines are
  130.           are excluded by default because they are intended primarily
  131.           for use by hypertext converters.
  132.  
  133. Options may not be merged; "-ep" is illegal and the "p" will be ignored.
  134. Use "-e -p" instead.
  135.  
  136. The formatted result of the input file is sent to the specified output file,
  137. or to standard output if no output file is given.  Standard output may be
  138. redirected using the usual Unix or MSDOS redirection characters > or >>.  If
  139. you only want a summary file or data formats file, send or redirect the
  140. output to the null device ("NUL" under MSDOS, "/dev/null" under Unix).
  141.  
  142.  
  143. FILTER FILE:
  144. ------------
  145.  
  146. The filter file specified with -F is a simple text file containing
  147. include lines, exclude lines, and comment lines.  Include lines start
  148. with a plus sign (+) in the first column, followed immediately by the
  149. desired string; exclude lines start with a minus sign (-) in the first
  150. column, followed immediately by the desired string.  Comment lines
  151. start with a hash mark (#) in the first column and are ignored.  A
  152. future version of INTPRINT will include alternate forms of include and
  153. exclude lines which will select based on the classification letter in
  154. the divider lines rather than the contents of title lines.
  155.  
  156. If a filter file is specified, only entries whose title lines contain
  157. at least one of the include lines (ignoring uppercase/lowercase
  158. distinctions) and none of the exclude lines are processed.  Thus, a
  159. filter file must contain at least one include line, or INTPRINT will
  160. skip all interrupt entries and print only the non-interrupt text in the
  161. file.
  162.  
  163. All spaces on include and exclude lines are significant.  Thus,
  164.     + DOS
  165. will only match entries containing the four-letter sequence " DOS",
  166. while
  167.     +DOS
  168. will match any entries containing the sequence "DOS", whether or not it
  169. is preceded by a blank.
  170.  
  171. ----cut here----
  172. # SAMPLE.FLT
  173. # Sample filtering file.  Extract MS-DOS calls, but exclude
  174. # DR-DOS-specific, DOS-extender, and non-DOS networking calls.
  175. # Note: a few extraneous calls are still included.
  176. #
  177. + DOS
  178. -DR DOS
  179. -DR-DOS
  180. -DR Multiuser DOS
  181. -Concurrent DOS
  182. -DOS/16M
  183. -DOS4GX
  184. -DOS/4G
  185. -extender
  186. -LAN Manager
  187. -DECnet DOS
  188. #
  189. # end of SAMPLE.FLT
  190. ----cut here----
  191.  
  192.  
  193. ------------------------------------------------------------------------------
  194.  
  195. EXAMPLES:
  196. ---------
  197.  
  198.     Print the interrupt list with page numbers, and create a summary file,
  199.     without concatenating INTERRUP.A, INTERRUP.B, and INTERRUP.C:
  200.  
  201.         A> intprint -sb:interrup.sum -p interrup.a >prn
  202.         146 pages    [screen output from INTPRINT]
  203.         A> intprint -sb:interrup.sum -p -n146 interrup.b prn
  204.         285 pages    [screen output from INTPRINT]
  205.         A> intprint -sb:interrup.sum -p -n285 interrup.c >prn
  206.         403 pages    [screen output from INTPRINT]
  207.  
  208.     or, more easily:
  209.         A> intprint -sb:interrup.sum -m -p interrup.a prn
  210.         1587 pages   [screen output from INTPRINT]
  211.  
  212.     Create only a summary file:
  213.  
  214.         C> intprint -sinterrupt.sum interrup.lst nul
  215.  
  216.     Create a listing of the tables in the interrupt list:
  217.  
  218.         C> intprint -Tinterrup.tbl interrup.lst nul
  219.  
  220.     Print only those entries containing the string "DOS", except
  221.     those containing the string "DR-DOS"
  222.  
  223.         C> type dos
  224.         +DOS
  225.         -DR-DOS
  226.  
  227.         C> intprint -Fdos interrup.lst nul
  228.         
  229.  
  230.     Print the interrupt list on an Epson FX80, using 54 lines per page and
  231.     omitting both page numbers and summary:
  232.  
  233.         C> intprint -Pepson -l54 interrup.lst >prn
  234.  
  235.     Print the interrupt list using 120 lines on every 132-line page (using
  236.     superscript mode, for example), and make divider lines using IBM
  237.     character graphics:
  238.  
  239.         C> intprint -I -l120 -L132 interrup.lst >prn
  240.  
  241.     Print only pages 123 through 127, assuming that 106 pages are contained
  242.     in the first section of the list:
  243.  
  244.         C> intprint -n106 -r123:127 interrup.b prn
  245.  
  246.     Print using HP PCL4/5 escape sequences, numbering pages, from file
  247.     "interrup.lst" to file "interrup.pcl", at the default 69 lines per
  248.     page, using form-feeds:
  249.  
  250.         C> intprint -Php -p interrup.lst >interrup.pcl
  251.         1587 pages    [screen output from INTPRINT]
  252.  
  253. ------------------------------------------------------------------------------
  254.  
  255. PORTABILITY:
  256. ------------
  257.  
  258. INTPRINT.C contains the source code for INTPRINT, for those people who
  259. are using the interrupt list on a machine which does not run MSDOS.
  260. This code has been tested with Turbo C v2.0, Borland C++ v3.1, and Mach
  261. (BSD 4.3 Unix) "cc" and "gcc".
  262.  
  263.