37 lines
1.1 KiB
C
37 lines
1.1 KiB
C
/*
|
|
* @file _usage.h
|
|
* @brief standardize help/usage output across all our programs
|
|
* @internal
|
|
*
|
|
* Copyright 2007 Gentoo Foundation
|
|
* Released under the GPLv2
|
|
*/
|
|
|
|
#define getoptstring_COMMON "Chqv"
|
|
|
|
#define longopts_COMMON \
|
|
{ "help", 0, NULL, 'h'}, \
|
|
{ "nocolor", 0, NULL, 'C'}, \
|
|
{ "verbose", 0, NULL, 'v'}, \
|
|
{ "quiet", 0, NULL, 'q'}, \
|
|
{ NULL, 0, NULL, 0 }
|
|
|
|
#define longopts_help_COMMON \
|
|
"Display this help output (duh)", \
|
|
"Disable color output", \
|
|
"Run verbosely", \
|
|
"Run quietly"
|
|
|
|
#define case_RC_COMMON_getopt_case_C setenv ("RC_NOCOLOR", "yes", 1);
|
|
#define case_RC_COMMON_getopt_case_h usage (EXIT_SUCCESS);
|
|
#define case_RC_COMMON_getopt_case_v setenv ("RC_VERBOSE", "yes", 1);
|
|
#define case_RC_COMMON_getopt_case_q setenv ("RC_QUIET", "yes", 1);
|
|
#define case_RC_COMMON_getopt_default usage (EXIT_FAILURE);
|
|
|
|
#define case_RC_COMMON_GETOPT \
|
|
case 'C': case_RC_COMMON_getopt_case_C; break; \
|
|
case 'h': case_RC_COMMON_getopt_case_h; break; \
|
|
case 'v': case_RC_COMMON_getopt_case_v; break; \
|
|
case 'q': case_RC_COMMON_getopt_case_q; break; \
|
|
default: case_RC_COMMON_getopt_default; break;
|