popt/popt.h File Reference

#include <stdio.h>

Go to the source code of this file.

Data Structures

struct  poptOption
struct  poptAlias
 A popt alias argument for poptAddAlias(). More...
struct  poptItem_s
 A popt alias or exec argument for poptAddItem(). More...

Arg type identifiers

#define POPT_ARG_NONE   0
#define POPT_ARG_STRING   1
#define POPT_ARG_INT   2
#define POPT_ARG_LONG   3
#define POPT_ARG_INCLUDE_TABLE   4
#define POPT_ARG_CALLBACK   5
#define POPT_ARG_INTL_DOMAIN   6
#define POPT_ARG_VAL   7
#define POPT_ARG_FLOAT   8
#define POPT_ARG_DOUBLE   9
#define POPT_ARG_MASK   0x0000FFFF

Arg modifiers

#define POPT_ARGFLAG_ONEDASH   0x80000000
#define POPT_ARGFLAG_DOC_HIDDEN   0x40000000
#define POPT_ARGFLAG_STRIP   0x20000000
#define POPT_ARGFLAG_OPTIONAL   0x10000000
#define POPT_ARGFLAG_OR   0x08000000
#define POPT_ARGFLAG_NOR   0x09000000
#define POPT_ARGFLAG_AND   0x04000000
#define POPT_ARGFLAG_NAND   0x05000000
#define POPT_ARGFLAG_XOR   0x02000000
#define POPT_ARGFLAG_NOT   0x01000000
#define POPT_ARGFLAG_LOGICALOPS   (POPT_ARGFLAG_OR|POPT_ARGFLAG_AND|POPT_ARGFLAG_XOR)
#define POPT_BIT_SET   (POPT_ARG_VAL|POPT_ARGFLAG_OR)
#define POPT_BIT_CLR   (POPT_ARG_VAL|POPT_ARGFLAG_NAND)
#define POPT_ARGFLAG_SHOW_DEFAULT   0x00800000

Callback modifiers

#define POPT_CBFLAG_PRE   0x80000000
#define POPT_CBFLAG_POST   0x40000000
#define POPT_CBFLAG_INC_DATA   0x20000000
#define POPT_CBFLAG_SKIPOPTION   0x10000000
#define POPT_CBFLAG_CONTINUE   0x08000000

Error return values

#define POPT_ERROR_NOARG   -10
#define POPT_ERROR_BADOPT   -11
#define POPT_ERROR_OPTSTOODEEP   -13
#define POPT_ERROR_BADQUOTE   -15
#define POPT_ERROR_ERRNO   -16
#define POPT_ERROR_BADNUMBER   -17
#define POPT_ERROR_OVERFLOW   -18
#define POPT_ERROR_BADOPERATION   -19
#define POPT_ERROR_NULLARG   -20
#define POPT_ERROR_MALLOC   -21

poptBadOption() flags

#define POPT_BADOPTION_NOALIAS   (1 << 0)

poptGetContext() flags

#define POPT_CONTEXT_NO_EXEC   (1 << 0)
#define POPT_CONTEXT_KEEP_FIRST   (1 << 1)
#define POPT_CONTEXT_POSIXMEHARDER   (1 << 2)
#define POPT_CONTEXT_ARG_OPTS   (1 << 4)

Auto-generated help/usage

#define POPT_AUTOALIAS
#define POPT_AUTOHELP
#define POPT_TABLEEND   { NULL, '\0', 0, 0, 0, NULL, NULL }
poptOption poptAliasOptions []
 Empty table marker to enable displaying popt alias/exec options.
poptOption poptHelpOptions []
 Auto help table options.

Defines

#define POPT_OPTION_DEPTH   10

Typedefs

typedef poptItem_spoptItem
 A popt alias or exec argument for poptAddItem().
typedef poptContext_spoptContext
typedef poptOptionpoptOption
typedef void(* poptCallbackType )(poptContext con, enum poptCallbackReason reason, const struct poptOption *opt, const char *arg, const void *data)
 Table callback prototype.

Enumerations

enum  poptCallbackReason { POPT_CALLBACK_REASON_PRE, POPT_CALLBACK_REASON_POST, POPT_CALLBACK_REASON_OPTION }

Functions

poptContext poptGetContext (const char *name, int argc, const char **argv, const struct poptOption *options, int flags)
 Initialize popt context.
void poptResetContext (poptContext con)
 Reinitialize popt context.
int poptGetNextOpt (poptContext con)
 Return value of next option found.
const char * poptGetOptArg (poptContext con)
 Return next option argument (if any).
const char * poptGetArg (poptContext con)
 Return current option's argument.
const char * poptPeekArg (poptContext con)
 Peek at current option's argument.
const char ** poptGetArgs (poptContext con)
 Return remaining arguments.
const char * poptBadOption (poptContext con, int flags)
 Return the option which caused the most recent error.
poptContext poptFreeContext (poptContext con)
 Destroy context.
int poptStuffArgs (poptContext con, const char **argv)
 Add arguments to context.
int poptAddAlias (poptContext con, struct poptAlias alias, int flags)
 Add alias to context.
int poptAddItem (poptContext con, poptItem newItem, int flags)
 Add alias/exec item to context.
int poptReadConfigFile (poptContext con, const char *fn)
 Read configuration file.
int poptReadDefaultConfig (poptContext con, int useEnv)
 Read default configuration from /etc/popt and $HOME/.popt.
int poptDupArgv (int argc, const char **argv, int *argcPtr, const char ***argvPtr)
 Duplicate an argument array.
int poptParseArgvString (const char *s, int *argcPtr, const char ***argvPtr)
 Parse a string into an argument array.
const char *const poptStrerror (const int error)
 Return formatted error string for popt failure.
void poptSetExecPath (poptContext con, const char *path, int allowAbsolute)
 Limit search for executables.
void poptPrintHelp (poptContext con, FILE *fp, int flags)
 Print detailed description of options.
void poptPrintUsage (poptContext con, FILE *fp, int flags)
 Print terse description of options.
void poptSetOtherOptionHelp (poptContext con, const char *text)
 Provide text to replace default "[OPTION...]" in help/usage output.
const char * poptGetInvocationName (poptContext con)
 Return argv[0] from context.
int poptStrippedArgv (poptContext con, int argc, char **argv)
 Shuffle argv pointers to remove stripped args, returns new argc.


Detailed Description

Definition in file popt.h.


Define Documentation

#define POPT_ARG_CALLBACK   5
 

table-wide callback... must be set first in table; arg points to callback, descrip points to callback data to pass

Definition at line 25 of file popt.h.

#define POPT_ARG_DOUBLE   9
 

arg will be converted to double

Definition at line 35 of file popt.h.

Referenced by getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_FLOAT   8
 

arg will be converted to float

Definition at line 34 of file popt.h.

Referenced by getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_INCLUDE_TABLE   4
 

arg points to table

Definition at line 24 of file popt.h.

Referenced by findOption(), invokeCallbacksOPTION(), invokeCallbacksPOST(), invokeCallbacksPRE(), maxArgWidth(), and showShortOptions().

#define POPT_ARG_INT   2
 

arg will be converted to int

Definition at line 22 of file popt.h.

Referenced by getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_INTL_DOMAIN   6
 

set the translation domain for this table and any included tables; arg points to the domain string

Definition at line 29 of file popt.h.

Referenced by getTableTranslationDomain(), itemUsage(), and singleTableUsage().

#define POPT_ARG_LONG   3
 

arg will be converted to long

Definition at line 23 of file popt.h.

Referenced by getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_MASK   0x0000FFFF
 

Definition at line 37 of file popt.h.

Referenced by findOption(), getArgDescrip(), invokeCallbacksOPTION(), invokeCallbacksPOST(), invokeCallbacksPRE(), maxArgWidth(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_NONE   0
 

no arg

Definition at line 20 of file popt.h.

Referenced by getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_STRING   1
 

arg will be saved as string

Definition at line 21 of file popt.h.

Referenced by getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARG_VAL   7
 

arg should take value val

Definition at line 33 of file popt.h.

Referenced by getArgDescrip(), poptGetNextOpt(), singleOptionDefaultValue(), and singleOptionHelp().

#define POPT_ARGFLAG_AND   0x04000000
 

arg will be and'ed

Definition at line 51 of file popt.h.

Referenced by poptSaveInt(), poptSaveLong(), and singleOptionHelp().

#define POPT_ARGFLAG_DOC_HIDDEN   0x40000000
 

don't show in help/usage

Definition at line 45 of file popt.h.

Referenced by configLine(), itemHelp(), maxArgWidth(), poptAddAlias(), and singleTableHelp().

#define POPT_ARGFLAG_LOGICALOPS   (POPT_ARGFLAG_OR|POPT_ARGFLAG_AND|POPT_ARGFLAG_XOR)
 

Definition at line 55 of file popt.h.

Referenced by poptSaveInt(), poptSaveLong(), and singleOptionHelp().

#define POPT_ARGFLAG_NAND   0x05000000
 

arg will be nand'ed

Definition at line 52 of file popt.h.

#define POPT_ARGFLAG_NOR   0x09000000
 

arg will be nor'ed

Definition at line 50 of file popt.h.

#define POPT_ARGFLAG_NOT   0x01000000
 

arg will be negated

Definition at line 54 of file popt.h.

Referenced by poptSaveInt(), poptSaveLong(), and singleOptionHelp().

#define POPT_ARGFLAG_ONEDASH   0x80000000
 

allow -longoption

Definition at line 44 of file popt.h.

Referenced by maxArgWidth(), poptGetNextOpt(), singleOptionHelp(), and singleOptionUsage().

#define POPT_ARGFLAG_OPTIONAL   0x10000000
 

arg may be missing

Definition at line 47 of file popt.h.

Referenced by maxArgWidth(), poptGetNextOpt(), and singleOptionHelp().

#define POPT_ARGFLAG_OR   0x08000000
 

arg will be or'ed

Definition at line 49 of file popt.h.

Referenced by poptSaveInt(), poptSaveLong(), and singleOptionHelp().

#define POPT_ARGFLAG_SHOW_DEFAULT   0x00800000
 

show default value in --help

Definition at line 63 of file popt.h.

Referenced by singleOptionHelp().

#define POPT_ARGFLAG_STRIP   0x20000000
 

strip this arg from argv(only applies to long args)

Definition at line 46 of file popt.h.

Referenced by poptGetNextOpt().

#define POPT_ARGFLAG_XOR   0x02000000
 

arg will be xor'ed

Definition at line 53 of file popt.h.

Referenced by poptSaveInt(), poptSaveLong(), and singleOptionHelp().

#define POPT_AUTOALIAS
 

Value:

{ NULL, '\0', POPT_ARG_INCLUDE_TABLE, poptAliasOptions, \
                        0, "Options implemented via popt alias/exec:", NULL },

Definition at line 153 of file popt.h.

#define POPT_AUTOHELP
 

Value:

{ NULL, '\0', POPT_ARG_INCLUDE_TABLE, poptHelpOptions, \
                        0, "Help options:", NULL },

Definition at line 161 of file popt.h.

#define POPT_BADOPTION_NOALIAS   (1 << 0)
 

don't go into an alias

Definition at line 99 of file popt.h.

Referenced by doSetupMacro(), main(), parseDescription(), parseFiles(), parseScript(), and poptBadOption().

#define POPT_BIT_CLR   (POPT_ARG_VAL|POPT_ARGFLAG_NAND)
 

clear arg bit(s)

Definition at line 60 of file popt.h.

#define POPT_BIT_SET   (POPT_ARG_VAL|POPT_ARGFLAG_OR)
 

set arg bit(s)

Definition at line 58 of file popt.h.

#define POPT_CBFLAG_CONTINUE   0x08000000
 

continue callbacks with option

Definition at line 76 of file popt.h.

#define POPT_CBFLAG_INC_DATA   0x20000000
 

use data from the include line, not the subtable

Definition at line 73 of file popt.h.

#define POPT_CBFLAG_POST   0x40000000
 

call the callback after parse

Definition at line 72 of file popt.h.

#define POPT_CBFLAG_PRE   0x80000000
 

call the callback before parse

Definition at line 71 of file popt.h.

#define POPT_CBFLAG_SKIPOPTION   0x10000000
 

don't callback with option

Definition at line 75 of file popt.h.

#define POPT_CONTEXT_ARG_OPTS   (1 << 4)
 

return args as options with value 0

Definition at line 109 of file popt.h.

Referenced by poptGetNextOpt().

#define POPT_CONTEXT_KEEP_FIRST   (1 << 1)
 

pay attention to argv[0]

Definition at line 107 of file popt.h.

Referenced by poptGetContext(), and showHelpIntro().

#define POPT_CONTEXT_NO_EXEC   (1 << 0)
 

ignore exec expansions

Definition at line 106 of file popt.h.

Referenced by handleExec().

#define POPT_CONTEXT_POSIXMEHARDER   (1 << 2)
 

options can't follow args

Definition at line 108 of file popt.h.

Referenced by poptGetContext(), and poptGetNextOpt().

#define POPT_ERROR_BADNUMBER   -17
 

invalid numeric value

Definition at line 88 of file popt.h.

Referenced by poptGetNextOpt(), and poptStrerror().

#define POPT_ERROR_BADOPERATION   -19
 

mutually exclusive logical operations requested

Definition at line 90 of file popt.h.

Referenced by poptGetNextOpt(), poptSaveInt(), poptSaveLong(), and poptStrerror().

#define POPT_ERROR_BADOPT   -11
 

unknown option

Definition at line 84 of file popt.h.

Referenced by poptGetNextOpt(), and poptStrerror().

#define POPT_ERROR_BADQUOTE   -15
 

error in paramter quoting

Definition at line 86 of file popt.h.

Referenced by poptStrerror().

#define POPT_ERROR_ERRNO   -16
 

errno set, use strerror(errno)

Definition at line 87 of file popt.h.

Referenced by execCommand(), poptReadConfigFile(), and poptStrerror().

#define POPT_ERROR_MALLOC   -21
 

memory allocation failed

Definition at line 92 of file popt.h.

Referenced by execCommand(), poptParseArgvString(), and poptStrerror().

#define POPT_ERROR_NOARG   -10
 

missing argument

Definition at line 83 of file popt.h.

Referenced by execCommand(), poptDupArgv(), poptGetNextOpt(), and poptStrerror().

#define POPT_ERROR_NULLARG   -20
 

opt->arg should not be NULL

Definition at line 91 of file popt.h.

Referenced by poptSaveInt(), poptSaveLong(), and poptStrerror().

#define POPT_ERROR_OPTSTOODEEP   -13
 

aliases nested too deeply

Definition at line 85 of file popt.h.

Referenced by handleAlias(), poptStrerror(), and poptStuffArgs().

#define POPT_ERROR_OVERFLOW   -18
 

number too large or too small

Definition at line 89 of file popt.h.

Referenced by poptGetNextOpt(), and poptStrerror().

#define POPT_OPTION_DEPTH   10
 

Definition at line 14 of file popt.h.

Referenced by handleAlias(), and poptStuffArgs().

#define POPT_TABLEEND   { NULL, '\0', 0, 0, 0, NULL, NULL }
 

Definition at line 164 of file popt.h.


Enumeration Type Documentation

enum poptCallbackReason
 

Enumerator:
POPT_CALLBACK_REASON_PRE 
POPT_CALLBACK_REASON_POST 
POPT_CALLBACK_REASON_OPTION 

Definition at line 179 of file popt.h.


Variable Documentation

struct poptOption poptAliasOptions[]
 

Empty table marker to enable displaying popt alias/exec options.

Definition at line 42 of file popthelp.c.

Referenced by singleTableHelp().

struct poptOption poptHelpOptions[]
 

Auto help table options.

Definition at line 51 of file popthelp.c.

Referenced by getArgDescrip().


Generated on Sat Mar 18 05:00:51 2006 for rpm by  doxygen 1.4.6