+typedef struct keyvalue_t {
+ char* key;
+ char* value;
+ int pos;
+ int flag;
+} keyvalue_t;
+
+typedef struct keyint_t {
+ char*key;
+ int value;
+} keyint_t;
+
+typedef struct parsedargs_t {
+ char *arg; /* copy of the parsed string - rewritten*/
+ const char *arg_orig; /* original argument */
+ int kv_cnt; /* number of key/value arguments */
+ keyvalue_t *kv_args; /* key value arguments */
+} parsedargs_t;
+void initParsedArguments(parsedargs_t*);
+void freeParsedArguments(parsedargs_t*);
+int addToArguments(parsedargs_t*, char*, char*, int);
+int parseArguments(const char*, parsedargs_t*);
+void dumpKeyValue(char* ,keyvalue_t*);
+void dumpArguments(parsedargs_t*);
+char* getKeyValueArgument(const char*, int, parsedargs_t*);
+int getMappedKeyValueArgument(const char*,int, parsedargs_t*,
+ int*,keyint_t**);
+int getLong(const char*,long *,char**,int);
+int getDouble(const char*,double *,char**);
+keyvalue_t* getFirstUnusedArgument(int, parsedargs_t*);
+char* checkUnusedValues(parsedargs_t*);