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