Mercurial > hg > nnchat
diff th_args.h @ 0:728243125263
Import.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 20 Mar 2008 00:15:03 +0000 |
parents | |
children | 69aed051f84d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/th_args.h Thu Mar 20 00:15:03 2008 +0000 @@ -0,0 +1,50 @@ +/* + * Simple commandline argument processing function + * Programmed and designed by Matti 'ccr' Hamalainen + * (C) Copyright 2002-2008 Tecnic Software productions (TNSP) + * + * Please read file 'COPYING' for information on license and distribution. + */ +#ifndef _TH_ARGS +#define _TH_ARGS + +#ifdef __cplusplus +extern "C" { +#endif + +#include <stdio.h> +#include "th_util.h" + + +/* Option flags + */ +#define OPT_NONE (0) /* Simple option with no arguments */ + +#define OPT_ARGREQ (1) /* Option's argument is required */ +#define OPT_ARGOPT (3) /* Option's argument is optional */ +#define OPT_ARGMASK (3) /* Mask for option argument flags */ + +#define OPT_REQUIRED (4) /* This option is required to be given */ + + +typedef struct { + int optID; + char optShort; + char *optLong; + char *optDesc; + int optFlags; +} optarg_t; + + +BOOL th_args_process(int argc, char *argv[], + optarg_t argList[], int argListN, + BOOL (*handleOpt)(int, char *, char *), + BOOL (*handleFile)(char *), BOOL); + +void th_args_help(FILE *, optarg_t optList[], int optListN, + char *, char *); + +#ifdef __cplusplus +} +#endif +#endif /* _TH_ARGS */