diff options
Diffstat (limited to 'tool_src/makeodt/getopt.h')
| -rw-r--r-- | tool_src/makeodt/getopt.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tool_src/makeodt/getopt.h b/tool_src/makeodt/getopt.h new file mode 100644 index 0000000..9cb29c2 --- /dev/null +++ b/tool_src/makeodt/getopt.h @@ -0,0 +1,78 @@ +/* + * PARSEC HEADER: e_getopt.h + */ + +#ifndef _E_GETOPT_H_ +#define _E_GETOPT_H_ + +#include <stdint.h> + + + +// ---------------------------------------------------------------------------- +// +#define ASSERT assert +#define PRIVATE static +#define PUBLIC +#define MSGOUT printf + +typedef uint8_t byte; +typedef uint16_t word; +typedef uint32_t dword; + +#ifndef TRUE + #define TRUE 1 +#endif +#ifndef FALSE + #define FALSE 0 +#endif + + + + +// command line options table entry + +struct cli_option_s { + + const char* opt_short; + const char* opt_long; + + dword _mksiz32; + + byte _dummy; + byte num_int; + byte num_float; + byte num_string; + + int (*exec_set)(); + int (*exec_int)(int*); + int (*exec_float)(float*); + int (*exec_string)(char**); +}; + + +// application name option table entry + +struct app_option_s { + + char* appname; + void (*appmain)(int,char**); +}; + + +// external functions + +int OPT_RegisterSetOption( const char *optshort, const char *optlong, int (*func)() ); +int OPT_RegisterIntOption( char *optshort, const char *optlong, int (*func)(int*) ); +int OPT_RegisterFloatOption( const char *optshort, const char *optlong, int (*func)(float*) ); +int OPT_RegisterStringOption( const char *optshort, const char *optlong, int (*func)(char**) ); +int OPT_RegisterOption( cli_option_s *regopt ); +int OPT_RegisterApplication( char *appname, void (*appmain)(int,char**) ); + +void OPT_ClearOptions(); + +int OPT_ExecRegisteredOptions( int argc, char **argv ); + + +#endif // _E_GETOPT_H_ + |
