Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.9 KiB

  1. Last Update: 09/17/96.
  2. HSPLIT splits an input file in to two header files. The split is
  3. controlled by tags written in the input file.
  4. Traling parameters that are not preceded by a switch are assumed to be
  5. input files. Multiple input files can be specifed. The -i switch can
  6. also be used to specify the input file.
  7. The header (output) files are specified through the -o switch. The first
  8. one is the public header and the second one is the internal header.
  9. A tag is a TagMarker plus a collection of subtags: like this:
  10. <TagMarker>[begin/end][_public/internal/both][_subtag1[_subtag2]...][_if_str__comp_version | version]
  11. The TagMarker and at least one other subtag are required to make up a valid
  12. tag. Spaces are allowed between the TagMarker and the first subtag. All
  13. other subtags are concatenated by "_" and no spaces are allowed between them.
  14. The TagMarker must be specified in the proper case; subtags are not case
  15. sensitive.
  16. TagMarker is ";" by default. It can be changed by using the -c switch.
  17. Only the last tag in a line is processed. All others are ignored.
  18. Any text between a valid tag and the end of the line is ignored.
  19. Untagged lines are copied to the public header only.
  20. begin/end mark a block of lines. Blocks can be nested. If no begin/end is
  21. specified, the tag only affects the line it's on. If one specified, it
  22. must be the first subtag after the TagMarker.
  23. public/internal/both determine what header file the line/block should go to.
  24. If none of these is specified, the output goes to the public file only.
  25. Subtags can be defined through the command line as follows:
  26. -ta subtag1 subtag2 .... Process line/block
  27. -ti subtag1 subtag2 .... Ignore tag
  28. -ts subtag1 subtag2 .... Skip line/bloxk
  29. Tags containing subtags specified through the -ta switch are parsed
  30. and processed. Tags containing subtags specifed through -ti are
  31. ignored; this is, the line/block is treated as untagged. Finally,
  32. lines/blocks containing tags specified throgh -ts are skipped; this is,
  33. the line/block is not written to any output file.
  34. For compatibility with the old hsplit, several subtags are defined when
  35. using the -4, -p, -e or -n command swithces. These subtags are processed,
  36. ignored or skipped on a compatible way with the old hsplit.
  37. For compatibility, tags containing undefined subtags are ignored. If the
  38. -u switch (for Unknown) is specifed, such tags are skipped.
  39. The version subtag is a 3 digit hex number, like 400, 40A or 500. There is
  40. default version which can be changed through the -v switch. Tags containing
  41. version subtags greater than the default/-v version are skipped. If no
  42. version subtag is specified, the tag is processed according to the other
  43. subtags.
  44. the _if_str_comp_version subtag is used to generate #ifdef(str comp version)
  45. #endif blocks/lines in the output file. if comp is not specified, it defaults
  46. to ">=". if str itself contains "_", it should enclosed in (), like this:
  47. if_(_foo_)_500 which generates #ifdef(_foo_ >= 500) - #endif.