1 /***************************************************************************/ 2 /* This code is part of WWW grabber called pavuk */ 3 /* Copyright (c) 1997 - 2001 Stefan Ondrejicka */ 4 /* Distributed under GPL 2 or later */ 5 /***************************************************************************/ 6 7 #ifndef _mopt_h_ 8 #define _mopt_h_ 9 10 #include "dlhash.h" 11 #include "config.h" 12 13 typedef struct 14 { 15 int argc; 16 char **argv; 17 int nparams; 18 cfg_param_t *params; 19 dlhash *short_hash; 20 dlhash *long_hash; 21 int current; 22 int short_offset; 23 int option_type; 24 char *args[4]; 25 } mopt_t; 26 27 #define MOPT_OK 0 /* on success */ 28 #define MOPT_END 1 /* on end */ 29 #define MOPT_PARAM 2 /* on no option param */ 30 #define MOPT_MISSINGP -1 /* on bad number of params */ 31 #define MOPT_UNKNOWN -2 /* on unknown param */ 32 #define MOPT_BAD -3 /* on wrong formated param */ 33 #define MOPT_ERR -4 /* on parser error */ 34 35 #define MOPT_OPT_NONE 0 36 #define MOPT_OPT_SHORT 1 37 #define MOPT_OPT_LONG 2 38 #define MOPT_OPT_COMPAT 3 39 40 extern void mopt_init(mopt_t *, int, cfg_param_t *, int, char **); 41 extern void mopt_destroy(mopt_t *); 42 43 extern int mopt_get_next_param(mopt_t *, cfg_param_t **); 44 45 #endif 46