[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.5.5.7 Option Argument Handling

AutoOpts will either specify or automatically generate callback procedures for options that take specialized arguments. The only option argument types that are not specialized are plain string arguments and no argument at all. For options that fall into one of those two categories, you may specify your own callback function, as specified below. If the option takes a string argument, then you may specify that the option is to be handled by the libopts library procedures stackOptArg() or unstackOptArg() (see below). Finally, documentation options (Special Option Handling) may also be marked as settable and have special callback functions (either flag-code, extract-code, or call-proc).

`flag-code'

statements to execute when the option is encountered. The generated procedure will look like this:

 
static void
doOpt<name>( tOptions* pOptions, tOptDesc* pOptDesc )
{
<flag_code>
}

Only certain fields within the tOptions and tOptDesc structures may be accessed. See section Data for Option Processing.

`extract-code'

This is effectively identical to flag_code, except that the source is kept in the output file instead of the definitions file. A long comment is used to demarcate the code. You must not modify that marker. Before regenerating the option code file, the old file is renamed from MUMBLE.c to MUMBLE.c.save. The template will be looking there for the text to copy into the new output file.

`call-proc'

external procedure to call when option is encountered. The calling sequence must conform to the sequence defined above for the generated procedure, doOpt<name>. It has the same restrictions regarding the fields within the structures passed in as arguments. See section Data for Option Processing.

`flag-proc'

Name of another option whose flag_code can be executed when this option is encountered.

`stack-arg'

Call a special library routine to stack the option's arguments. Special macros in the interface file are provided for determining how many of the options were found (STACKCT_OPT(NAME)) and to obtain a pointer to a list of pointers to the argument values (STACKLST_OPT(NAME)). Obviously, for a stackable argument, the max attribute needs to be set higher than 1.

If this stacked argument option has a disablement prefix, then the entire stack of arguments will be cleared by specifying the option with that disablement prefix.

`unstack-arg'

Call a special library routine to remove ("unstack") strings from a stack-arg option stack. This attribute must name the option that is to be "unstacked". Neither this option nor the stacked argument option it references may be equivalenced to another option.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Bruce Korb on September, 30 2006 using texi2html 1.76.

Viewable With Any Browser   autogen Home