popthelp.c File Reference

#include "system.h"
#include <sys/ioctl.h>
#include <wchar.h>
#include "poptint.h"

Include dependency graph for popthelp.c:

Go to the source code of this file.

Data Structures

struct  columns_s
struct  poptDone_s
 Keep track of option tables already processed. More...

Defines

#define POPT_USE_TIOCGWINSZ
#define POPT_WCHAR_HACK
#define _POPTHELP_MAXLINE   ((size_t)79)

Typedefs

typedef struct columns_scolumns_t
typedef struct poptDone_spoptDone
 Keep track of option tables already processed.

Functions

static void displayArgs (poptContext con, enum poptCallbackReason foo, struct poptOption *key, const char *arg, void *data)
 Display arguments.
static size_t maxColumnWidth (FILE *fp)
 Return no.
static const char * getTableTranslationDomain (const struct poptOption *table)
static const char * getArgDescrip (const struct poptOption *opt, const char *translation_domain)
static char * singleOptionDefaultValue (size_t lineLength, const struct poptOption *opt, const char *translation_domain)
 Display default value for an option.
static void singleOptionHelp (FILE *fp, columns_t columns, const struct poptOption *opt, const char *translation_domain)
 Display help text for an option.
static size_t maxArgWidth (const struct poptOption *opt, const char *translation_domain)
 Find display width for longest argument string.
static void itemHelp (FILE *fp, poptItem items, int nitems, columns_t columns, const char *translation_domain)
 Display popt alias and exec help.
static void singleTableHelp (poptContext con, FILE *fp, const struct poptOption *table, columns_t columns, const char *translation_domain)
 Display help text for a table of options.
static size_t showHelpIntro (poptContext con, FILE *fp)
void poptPrintHelp (poptContext con, FILE *fp, int flags)
 Print detailed description of options.
static size_t singleOptionUsage (FILE *fp, columns_t columns, const struct poptOption *opt, const char *translation_domain)
 Display usage text for an option.
static size_t itemUsage (FILE *fp, columns_t columns, poptItem item, int nitems, const char *translation_domain)
 Display popt alias and exec usage.
static size_t singleTableUsage (poptContext con, FILE *fp, columns_t columns, const struct poptOption *opt, const char *translation_domain, poptDone done)
 Display usage text for a table of options.
static size_t showShortOptions (const struct poptOption *opt, FILE *fp, char *str)
 Return concatenated short options for display.
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.

Variables

struct poptOption poptAliasOptions []
 Empty table marker to enable displaying popt alias/exec options.
struct poptOption poptHelpOptions []
 Auto help table options.
static struct poptOption poptHelpOptions2 []
struct poptOptionpoptHelpOptionsI18N = poptHelpOptions2


Define Documentation

#define _POPTHELP_MAXLINE   ((size_t)79)

Definition at line 107 of file popthelp.c.

#define POPT_USE_TIOCGWINSZ

Definition at line 13 of file popthelp.c.

#define POPT_WCHAR_HACK

Definition at line 18 of file popthelp.c.


Typedef Documentation

typedef struct columns_s * columns_t

typedef struct poptDone_s * poptDone

Keep track of option tables already processed.


Function Documentation

static void displayArgs ( poptContext  con,
enum poptCallbackReason  foo,
struct poptOption key,
const char *  arg,
void *  data 
) [static]

Display arguments.

Parameters:
con context
foo (unused)
key option(s)
arg (unused)
data (unused)

Definition at line 38 of file popthelp.c.

References poptFreeContext(), poptPrintHelp(), poptPrintUsage(), and poptOption::shortName.

static const char* getArgDescrip ( const struct poptOption opt,
const char *  translation_domain 
) [static]

Parameters:
opt option(s)
translation_domain translation domain

< return (*arg) (argc, argv)

< no arg

< arg should take value val

< arg will be converted to int

< arg will be converted to long

< arg will be saved as string

< arg will be converted to float

< arg will be converted to double

< return (*arg) (argc, argv)

Definition at line 160 of file popthelp.c.

static const char* getTableTranslationDomain ( const struct poptOption table  )  [static]

Parameters:
table option(s)

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

Definition at line 139 of file popthelp.c.

static void itemHelp ( FILE *  fp,
poptItem  items,
int  nitems,
columns_t  columns,
const char *  translation_domain 
) [static]

Display popt alias and exec help.

Parameters:
fp output file handle
items alias/exec array
nitems no. of alias/exec entries
left largest argument display width
translation_domain translation domain

< don't show in help/usage

Definition at line 531 of file popthelp.c.

static size_t itemUsage ( FILE *  fp,
columns_t  columns,
poptItem  item,
int  nitems,
const char *  translation_domain 
) [static]

Display popt alias and exec usage.

Parameters:
fp output file handle
columns output display width control
item alias/exec array
nitems no. of ara/exec entries
translation_domain translation domain

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

< don't show in help/usage

Definition at line 725 of file popthelp.c.

References poptOption::arg.

static size_t maxArgWidth ( const struct poptOption opt,
const char *  translation_domain 
) [static]

Find display width for longest argument string.

Parameters:
opt option(s)
translation_domain translation domain
Returns:
display width

< arg points to table

< don't show in help/usage

< allow -longoption

< arg may be missing

Definition at line 470 of file popthelp.c.

static size_t maxColumnWidth ( FILE *  fp  )  [static]

Return no.

of columns in output window.

Parameters:
fp FILE
Returns:
no. of columns

Definition at line 119 of file popthelp.c.

void poptPrintHelp ( poptContext  con,
FILE *  fp,
int  flags 
)

Print detailed description of options.

Parameters:
con context
fp ouput file handle
flags (unused)

Definition at line 622 of file popthelp.c.

Referenced by displayArgs().

void poptPrintUsage ( poptContext  con,
FILE *  fp,
int  flags 
)

Print terse description of options.

Parameters:
con context
fp ouput file handle
flags (unused)

Definition at line 855 of file popthelp.c.

Referenced by displayArgs().

void poptSetOtherOptionHelp ( poptContext  con,
const char *  text 
)

Provide text to replace default "[OPTION...]" in help/usage output.

Parameters:
con context
text replacement text

Definition at line 892 of file popthelp.c.

static size_t showHelpIntro ( poptContext  con,
FILE *  fp 
) [static]

Parameters:
con context
fp output file handle

< pay attention to argv[0]

Definition at line 601 of file popthelp.c.

static size_t showShortOptions ( const struct poptOption opt,
FILE *  fp,
char *  str 
) [static]

Return concatenated short options for display.

Todo:
Sub-tables should be recursed.
Parameters:
opt option(s)
fp output file handle
Return values:
str concatenation of short options
Returns:
length of display string

< arg points to table

Definition at line 820 of file popthelp.c.

static char* singleOptionDefaultValue ( size_t  lineLength,
const struct poptOption opt,
const char *  translation_domain 
) [static]

Display default value for an option.

Parameters:
lineLength display positions remaining
opt option(s)
translation_domain translation domain
Returns:

< arg should take value val

< arg will be converted to int

< arg will be converted to long

< arg will be converted to float

< arg will be converted to double

< return (*arg) (argc, argv)

< arg will be saved as string

< no arg

Definition at line 208 of file popthelp.c.

static void singleOptionHelp ( FILE *  fp,
columns_t  columns,
const struct poptOption opt,
const char *  translation_domain 
) [static]

Display help text for an option.

Parameters:
fp output file handle
columns output display width control
opt option(s)
translation_domain translation domain

< allow -longoption

< return (*arg) (argc, argv)

< allow -longoption

< arg may be missing

< show default value in --help

< no arg

< arg should take value val

< arg will be converted to int

< arg will be converted to long

< arg will be converted to float

< arg will be converted to double

< arg will be saved as string

< return (*arg) (argc, argv)

< arg may be missing

Definition at line 280 of file popthelp.c.

static size_t singleOptionUsage ( FILE *  fp,
columns_t  columns,
const struct poptOption opt,
const char *  translation_domain 
) [static]

Display usage text for an option.

Parameters:
fp output file handle
columns output display width control
opt option(s)
translation_domain translation domain

< allow -longoption

< allow -longoption

< allow -longoption

< allow -longoption

Definition at line 647 of file popthelp.c.

References poptOption::argInfo, poptOption::longName, and POPT_ARGFLAG_ONEDASH.

static void singleTableHelp ( poptContext  con,
FILE *  fp,
const struct poptOption table,
columns_t  columns,
const char *  translation_domain 
) [static]

Display help text for a table of options.

Parameters:
con context
fp output file handle
table option(s)
columns output display width control
translation_domain translation domain

< don't show in help/usage

< arg points to table

Definition at line 559 of file popthelp.c.

static size_t singleTableUsage ( poptContext  con,
FILE *  fp,
columns_t  columns,
const struct poptOption opt,
const char *  translation_domain,
poptDone  done 
) [static]

Display usage text for a table of options.

Parameters:
con context
fp output file handle
columns output display width control
opt option(s)
translation_domain translation domain
done tables already processed
Returns:

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

< arg points to table

< don't show in help/usage

Definition at line 771 of file popthelp.c.

References poptOption::arg, and poptDone_s::opts.


Variable Documentation

Initial value:

 {
     { NULL, '\0', 0, NULL, 0, NULL, NULL } 
}
Empty table marker to enable displaying popt alias/exec options.

Definition at line 63 of file popthelp.c.

Initial value:

 {
  { NULL, '\0',  5U  , (void *)displayArgs, 0, NULL, NULL },
  { "help", '?', 0, NULL, (int)'?',  "Show this help message" , NULL },
  { "usage", '\0', 0, NULL, (int)'u',  "Display brief usage message" , NULL },
     { NULL, '\0', 0, NULL, 0, NULL, NULL } 
}
Auto help table options.

Definition at line 72 of file popthelp.c.

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

struct poptOption poptHelpOptions2[] [static]

Initial value:

 {

  { NULL, '\0',  6U  , PACKAGE, 0, NULL, NULL},

  { NULL, '\0',  5U  , (void *)displayArgs, 0, NULL, NULL },
  { "help", '?', 0, NULL, (int)'?',  "Show this help message" , NULL },
  { "usage", '\0', 0, NULL, (int)'u',  "Display brief usage message" , NULL },




     { NULL, '\0', 0, NULL, 0, NULL, NULL } 
}

Definition at line 83 of file popthelp.c.


Generated for popt by  doxygen 1.5.6