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...

Auto-generated help/usage

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

Defines

#define POPT_OPTION_DEPTH   10
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)

Typedefs

typedef struct poptItem_spoptItem
 A popt alias or exec argument for poptAddItem().
typedef struct poptContext_spoptContext
typedef struct 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.

#define POPT_ARG_FLOAT   8

arg will be converted to float

Definition at line 34 of file popt.h.

#define POPT_ARG_INCLUDE_TABLE   4

arg points to table

Definition at line 24 of file popt.h.

#define POPT_ARG_INT   2

arg will be converted to int

Definition at line 22 of file popt.h.

#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.

#define POPT_ARG_LONG   3

arg will be converted to long

Definition at line 23 of file popt.h.

#define POPT_ARG_MASK   0x0000FFFF

Definition at line 37 of file popt.h.

#define POPT_ARG_NONE   0

no arg

Definition at line 20 of file popt.h.

#define POPT_ARG_STRING   1

arg will be saved as string

Definition at line 21 of file popt.h.

#define POPT_ARG_VAL   7

arg should take value val

Definition at line 33 of file popt.h.

#define POPT_ARGFLAG_AND   0x04000000

arg will be and'ed

Definition at line 51 of file popt.h.

#define POPT_ARGFLAG_DOC_HIDDEN   0x40000000

don't show in help/usage

Definition at line 45 of file popt.h.

#define POPT_ARGFLAG_LOGICALOPS   (POPT_ARGFLAG_OR|POPT_ARGFLAG_AND|POPT_ARGFLAG_XOR)

Definition at line 55 of file popt.h.

#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.

#define POPT_ARGFLAG_ONEDASH   0x80000000

allow -longoption

Definition at line 44 of file popt.h.

#define POPT_ARGFLAG_OPTIONAL   0x10000000

arg may be missing

Definition at line 47 of file popt.h.

#define POPT_ARGFLAG_OR   0x08000000

arg will be or'ed

Definition at line 49 of file popt.h.

#define POPT_ARGFLAG_SHOW_DEFAULT   0x00800000

show default value in --help

Definition at line 63 of file popt.h.

#define POPT_ARGFLAG_STRIP   0x20000000

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

Definition at line 46 of file popt.h.

#define POPT_ARGFLAG_XOR   0x02000000

arg will be xor'ed

Definition at line 53 of file popt.h.

#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.

#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.

#define POPT_CONTEXT_KEEP_FIRST   (1 << 1)

pay attention to argv[0]

Definition at line 107 of file popt.h.

#define POPT_CONTEXT_NO_EXEC   (1 << 0)

ignore exec expansions

Definition at line 106 of file popt.h.

#define POPT_CONTEXT_POSIXMEHARDER   (1 << 2)

options can't follow args

Definition at line 108 of file popt.h.

#define POPT_ERROR_BADNUMBER   -17

invalid numeric value

Definition at line 88 of file popt.h.

#define POPT_ERROR_BADOPERATION   -19

mutually exclusive logical operations requested

Definition at line 90 of file popt.h.

#define POPT_ERROR_BADOPT   -11

unknown option

Definition at line 84 of file popt.h.

#define POPT_ERROR_BADQUOTE   -15

error in paramter quoting

Definition at line 86 of file popt.h.

#define POPT_ERROR_ERRNO   -16

errno set, use strerror(errno)

Definition at line 87 of file popt.h.

#define POPT_ERROR_MALLOC   -21

memory allocation failed

Definition at line 92 of file popt.h.

#define POPT_ERROR_NOARG   -10

missing argument

Definition at line 83 of file popt.h.

#define POPT_ERROR_NULLARG   -20

opt->arg should not be NULL

Definition at line 91 of file popt.h.

#define POPT_ERROR_OPTSTOODEEP   -13

aliases nested too deeply

Definition at line 85 of file popt.h.

#define POPT_ERROR_OVERFLOW   -18

number too large or too small

Definition at line 89 of file popt.h.

#define POPT_OPTION_DEPTH   10

Definition at line 14 of file popt.h.

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

Definition at line 164 of file popt.h.


Enumeration Type Documentation

Enumerator:
POPT_CALLBACK_REASON_PRE 
POPT_CALLBACK_REASON_POST 
POPT_CALLBACK_REASON_OPTION 

Definition at line 179 of file popt.h.


Variable Documentation

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

Definition at line 42 of file popthelp.c.

Auto help table options.

Definition at line 51 of file popthelp.c.


Generated on Wed Nov 19 14:58:05 2008 for rpm by  doxygen 1.5.6