diff options
author | Werner Koch <wk@gnupg.org> | 2000-01-24 13:05:50 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2000-01-24 13:05:50 +0100 |
commit | 54b141f63e3fda38b6e780d0f47c192c6542a49b (patch) | |
tree | e80be78a69a8dc5c9286da4d4590ec7491c63b39 /jnlib/argparse.h | |
parent | See ChangeLog: Mon Jan 24 13:04:28 CET 2000 Werner Koch (diff) | |
download | gnupg2-54b141f63e3fda38b6e780d0f47c192c6542a49b.tar.xz gnupg2-54b141f63e3fda38b6e780d0f47c192c6542a49b.zip |
Add files to new directory.
This is mainly stuff moved from ../util
to here.
Diffstat (limited to 'jnlib/argparse.h')
-rw-r--r-- | jnlib/argparse.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/jnlib/argparse.h b/jnlib/argparse.h new file mode 100644 index 000000000..3f5605b00 --- /dev/null +++ b/jnlib/argparse.h @@ -0,0 +1,64 @@ +/* argparse.h + * Copyright (C) 1998,1999 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#ifndef LIBJNLIB_ARGPARSE_H +#define LIBJNLIB_ARGPARSE_H + +typedef struct { + int *argc; /* pointer to argc (value subject to change) */ + char ***argv; /* pointer to argv (value subject to change) */ + unsigned flags; /* Global flags (DO NOT CHANGE) */ + int err; /* print error about last option */ + /* 1 = warning, 2 = abort */ + int r_opt; /* return option */ + int r_type; /* type of return value (0 = no argument found)*/ + union { + int ret_int; + long ret_long; + ulong ret_ulong; + char *ret_str; + } r; /* Return values */ + struct { + int idx; + int inarg; + int stopped; + const char *last; + void *aliases; + const void *cur_alias; + } internal; /* DO NOT CHANGE */ +} ARGPARSE_ARGS; + +typedef struct { + int short_opt; + const char *long_opt; + unsigned flags; + const char *description; /* optional option description */ +} ARGPARSE_OPTS; + + + +int arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts); +int optfile_parse( FILE *fp, const char *filename, unsigned *lineno, + ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts); +void usage( int level ); +const char *strusage( int level ); +void set_strusage( const char *(*f)( int ) ); + +#endif /*LIBJNLIB_ARGPARSE_H*/ |