/* GNU Mailutils -- a suite of utilities for electronic mail Copyright (C) 2002 Free Software Foundation, Inc. GNU Mailutils 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, or (at your option) any later version. GNU Mailutils 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 GNU Mailutils; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <mailutils/argp.h> #include <mailutils/nls.h> #define MH_OPT_BOOL 1 #define MH_OPT_ARG 2 struct mh_option { char *opt; int match_len; int flags; char *arg; }; struct mh_argp_data { struct mh_option *mh_option; int (*handler)(); int errind; void *closure; char *doc; }; #define ARG_ADD 257 #define ARG_AFTER 258 #define ARG_ALIAS 259 #define ARG_ALL 260 #define ARG_AND 261 #define ARG_ANNOTATE 262 #define ARG_AUDIT 263 #define ARG_AUTO 264 #define ARG_BEFORE 265 #define ARG_BELL 266 #define ARG_BUILD 267 #define ARG_CC 268 #define ARG_CFLAGS 269 #define ARG_CHANGECUR 270 #define ARG_CHECK 271 #define ARG_CLEAR 272 #define ARG_COMPAT 273 #define ARG_COMPONENT 274 #define ARG_COMPOSE 275 #define ARG_CREATE 276 #define ARG_DATE 277 #define ARG_DATEFIELD 278 #define ARG_DEBUG 279 #define ARG_DELETE 280 #define ARG_DRAFT 281 #define ARG_DRAFTFOLDER 282 #define ARG_DRAFTMESSAGE 283 #define ARG_DRY_RUN 284 #define ARG_DUMP 285 #define ARG_EDITOR 286 #define ARG_FAST 287 #define ARG_FCC 288 #define ARG_FILE 289 #define ARG_FILTER 290 #define ARG_FOLDER 291 #define ARG_FORM 292 #define ARG_FORMAT 293 #define ARG_FORWARD 294 #define ARG_FROM 295 #define ARG_GROUP 296 #define ARG_HEADER 297 #define ARG_INPLACE 298 #define ARG_INTERACTIVE 299 #define ARG_LBRACE 300 #define ARG_LENGTH 301 #define ARG_LICENSE 302 #define ARG_LIMIT 303 #define ARG_LINK 304 #define ARG_LIST 305 #define ARG_MIME 306 #define ARG_MOREPROC 307 #define ARG_MSGID 308 #define ARG_NOALIAS 309 #define ARG_NOAUDIT 310 #define ARG_NOAUTO 311 #define ARG_NOBELL 312 #define ARG_NOCC 313 #define ARG_NOCHANGECUR 314 #define ARG_NOCHECK 315 #define ARG_NOCLEAR 316 #define ARG_NOCOMPOSE 317 #define ARG_NOCREATE 318 #define ARG_NODATE 319 #define ARG_NODATEFIELD 320 #define ARG_NODRAFTFOLDER 321 #define ARG_NOEDIT 322 #define ARG_NOFAST 323 #define ARG_NOFILTER 324 #define ARG_NOFORMAT 325 #define ARG_NOFORWARD 326 #define ARG_NOHEADER 327 #define ARG_NOHEADERS 328 #define ARG_NOINTERACTIVE 329 #define ARG_NOINPLACE 330 #define ARG_NOLIMIT 331 #define ARG_NOLIST 332 #define ARG_NOMIME 333 #define ARG_NOMOREPROC 334 #define ARG_NOMSGID 335 #define ARG_NOPAUSE 336 #define ARG_NOPUBLIC 337 #define ARG_NOPUSH 338 #define ARG_NOREALSIZE 339 #define ARG_NORECURSIVE 340 #define ARG_NOREVERSE 341 #define ARG_NORMALIZE 342 #define ARG_NOSERIALONLY 343 #define ARG_NOSHOW 344 #define ARG_NOSTORE 345 #define ARG_NOT 346 #define ARG_NOTEXTFIELD 347 #define ARG_NOTOTAL 348 #define ARG_NOTRUNCATE 349 #define ARG_NOUSE 350 #define ARG_NOVERBOSE 351 #define ARG_NOWATCH 352 #define ARG_NOWHATNOWPROC 353 #define ARG_NOZERO 354 #define ARG_NUMFIELD 355 #define ARG_OR 356 #define ARG_PART 357 #define ARG_PATTERN 358 #define ARG_PAUSE 359 #define ARG_POP 360 #define ARG_PRESERVE 361 #define ARG_PRINT 362 #define ARG_PROMPT 363 #define ARG_PUBLIC 364 #define ARG_PUSH 365 #define ARG_QUERY 366 #define ARG_QUIET 367 #define ARG_RBRACE 368 #define ARG_REALSIZE 369 #define ARG_RECURSIVE 370 #define ARG_REORDER 371 #define ARG_REVERSE 372 #define ARG_SEQUENCE 373 #define ARG_SERIALONLY 374 #define ARG_SHOW 375 #define ARG_SOURCE 376 #define ARG_SPLIT 377 #define ARG_STORE 378 #define ARG_SUBJECT 379 #define ARG_TEXT 380 #define ARG_TEXTFIELD 381 #define ARG_TO 382 #define ARG_TOTAL 383 #define ARG_TRUNCATE 384 #define ARG_TYPE 385 #define ARG_USE 386 #define ARG_USER 387 #define ARG_VERBOSE 388 #define ARG_WATCH 389 #define ARG_WHATNOWPROC 390 #define ARG_WIDTH 391 #define ARG_ZERO 392 void mh_argv_preproc __P((int argc, char **argv, struct mh_argp_data *data)); int mh_getopt __P((int argc, char **argv, struct mh_option *mh_opt, const char *doc)); int mh_argp_parse __P((int *argc, char **argv[], int flags, struct argp_option *option, struct mh_option *mh_option, char *argp_doc, char *doc, int (*handler)(), void *closure, int *index)); void mh_help __P((struct mh_option *mh_option, const char *doc)); void mh_license __P((const char *name));