This group contains powerful getopt replacement. More...
Data Structures | |
union | _Ecore_Getopt_Value |
Union listing the types of parameters that can take Getopt values. More... | |
struct | _Ecore_Getopt_Desc_Store |
Structure used when action is ECORE_GETOPT_ACTION_STORE. More... | |
struct | _Ecore_Getopt_Desc_Callback |
Structure used when action is ECORE_GETOPT_ACTION_CALLBACK. More... | |
struct | _Ecore_Getopt_Desc |
Structure that describe an option of the command line. More... | |
struct | _Ecore_Getopt |
Structure that contains information on all command line options. More... | |
Macros | |
#define | _ECORE_GETOPT_PREDEF 1 |
#define | _ECORE_GETOPT_DESC_PREDEF 1 |
#define | _ECORE_GETOPT_VALUE_PREDEF 1 |
#define | ECORE_GETOPT_STORE_FULL(shortname, longname, help, metavar, type, arg_requirement, default_value) |
Macro that helps to fill the Ecore_Getopt_Desc table. More... | |
#define | ECORE_GETOPT_STORE(shortname, longname, help, type) |
Macro that fills an option in Ecore_Getopt_Desc table. More... | |
#define | ECORE_GETOPT_STORE_STR(shortname, longname, help) ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_STR) |
Macro that fill Ecore_Getopt_Desc table with an option of type string. More... | |
#define | ECORE_GETOPT_STORE_BOOL(shortname, longname, help) ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_BOOL) |
Macro that fill Ecore_Getopt_Desc table with an option of type boolean. More... | |
#define | ECORE_GETOPT_STORE_SHORT(shortname, longname, help) ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_SHORT) |
Macro that fill Ecore_Getopt_Desc table with an option of type short. More... | |
#define | ECORE_GETOPT_STORE_INT(shortname, longname, help) ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_INT) |
Macro that fill Ecore_Getopt_Desc table with an option of type int. More... | |
#define | ECORE_GETOPT_STORE_LONG(shortname, longname, help) ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_LONG) |
Macro that fill Ecore_Getopt_Desc table with an option of type long. More... | |
#define | ECORE_GETOPT_STORE_USHORT(shortname, longname, help) ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_USHORT) |
Macro that fill Ecore_Getopt_Desc table with an option of type ushort. More... | |
#define | ECORE_GETOPT_STORE_UINT(shortname, longname, help) ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_UINT) |
Macro that fill Ecore_Getopt_Desc table with an option of type uint. More... | |
#define | ECORE_GETOPT_STORE_ULONG(shortname, longname, help) ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_ULONG) |
Macro that fill Ecore_Getopt_Desc table with an option of type ulong. More... | |
#define | ECORE_GETOPT_STORE_DOUBLE(shortname, longname, help) ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_DOUBLE) |
Macro that fill Ecore_Getopt_Desc table with an option of type double. More... | |
#define | ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, type) |
Macro that helps to fill the Ecore_Getopt_Desc table with a metavar after the description of the option. More... | |
#define | ECORE_GETOPT_STORE_METAVAR_STR(shortname, longname, help, metavar) ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_STR) |
Fill Ecore_Getopt_Desc table with an option of type string and metavar. More... | |
#define | ECORE_GETOPT_STORE_METAVAR_BOOL(shortname, longname, help, metavar) ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_BOOL) |
Fill Ecore_Getopt_Desc table with an option of type boolean and metavar. More... | |
#define | ECORE_GETOPT_STORE_METAVAR_SHORT(shortname, longname, help, metavar) ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_SHORT) |
Fill Ecore_Getopt_Desc table with an option of type short and metavar. More... | |
#define | ECORE_GETOPT_STORE_METAVAR_INT(shortname, longname, help, metavar) ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_INT) |
Fill Ecore_Getopt_Desc table with an option of type int and metavar. More... | |
#define | ECORE_GETOPT_STORE_METAVAR_LONG(shortname, longname, help, metavar) ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_LONG) |
Fill Ecore_Getopt_Desc table with an option of type long and metavar. More... | |
#define | ECORE_GETOPT_STORE_METAVAR_USHORT(shortname, longname, help, metavar) ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_USHORT) |
Fill Ecore_Getopt_Desc table with an option of type unsigned short and metavar. More... | |
#define | ECORE_GETOPT_STORE_METAVAR_UINT(shortname, longname, help, metavar) ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_UINT) |
Fill Ecore_Getopt_Desc table with an option of type unsigned int and metavar. More... | |
#define | ECORE_GETOPT_STORE_METAVAR_ULONG(shortname, longname, help, metavar) ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_ULONG) |
Fill Ecore_Getopt_Desc table with an option of type unsigned long and metavar. More... | |
#define | ECORE_GETOPT_STORE_METAVAR_DOUBLE(shortname, longname, help, metavar) ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_DOUBLE) |
Fill Ecore_Getopt_Desc table with an option of type double and metavar. More... | |
#define | ECORE_GETOPT_STORE_DEF(shortname, longname, help, type, default_value) |
Macro that helps to fill the Ecore_Getopt_Desc table with a default value. More... | |
#define | ECORE_GETOPT_STORE_DEF_STR(shortname, longname, help, default_value) |
Fill Ecore_Getopt_Desc table with an option of type string and default value. More... | |
#define | ECORE_GETOPT_STORE_DEF_BOOL(shortname, longname, help, default_value) |
Fill Ecore_Getopt_Desc table with an option of type boolean and default value. More... | |
#define | ECORE_GETOPT_STORE_DEF_SHORT(shortname, longname, help, default_value) |
Fill Ecore_Getopt_Desc table with an option of type short and default value. More... | |
#define | ECORE_GETOPT_STORE_DEF_INT(shortname, longname, help, default_value) |
Fill Ecore_Getopt_Desc table with an option of type int and default value. More... | |
#define | ECORE_GETOPT_STORE_DEF_LONG(shortname, longname, help, default_value) |
Fill Ecore_Getopt_Desc table with an option of type long and default value. More... | |
#define | ECORE_GETOPT_STORE_DEF_USHORT(shortname, longname, help, default_value) |
Fill Ecore_Getopt_Desc table with an option of type unsigned short and default value. More... | |
#define | ECORE_GETOPT_STORE_DEF_UINT(shortname, longname, help, default_value) |
Fill Ecore_Getopt_Desc table with an option of type unsigned int and default value. More... | |
#define | ECORE_GETOPT_STORE_DEF_ULONG(shortname, longname, help, default_value) |
Fill Ecore_Getopt_Desc table with an option of type unsigned long and default value. More... | |
#define | ECORE_GETOPT_STORE_DEF_DOUBLE(shortname, longname, help, default_value) |
Fill Ecore_Getopt_Desc table with an option of type double and default value. More... | |
#define | ECORE_GETOPT_STORE_FULL_STR(shortname, longname, help, metavar, arg_requirement, default_value) |
Fill full string type option description in Ecore_Getopt_Desc table. More... | |
#define | ECORE_GETOPT_STORE_FULL_BOOL(shortname, longname, help, metavar, arg_requirement, default_value) |
Fill full boolean type option description in Ecore_Getopt_Desc table. More... | |
#define | ECORE_GETOPT_STORE_FULL_SHORT(shortname, longname, help, metavar, arg_requirement, default_value) |
Fill full short type option description in Ecore_Getopt_Desc table. More... | |
#define | ECORE_GETOPT_STORE_FULL_INT(shortname, longname, help, metavar, arg_requirement, default_value) |
Fill full int type option description in Ecore_Getopt_Desc table. More... | |
#define | ECORE_GETOPT_STORE_FULL_LONG(shortname, longname, help, metavar, arg_requirement, default_value) |
Fill full long type option description in Ecore_Getopt_Desc table. More... | |
#define | ECORE_GETOPT_STORE_FULL_USHORT(shortname, longname, help, metavar, arg_requirement, default_value) |
Fill full unsigned short type option description in Ecore_Getopt_Desc table. More... | |
#define | ECORE_GETOPT_STORE_FULL_UINT(shortname, longname, help, metavar, arg_requirement, default_value) |
Fill full unsigned int type option description in Ecore_Getopt_Desc table. More... | |
#define | ECORE_GETOPT_STORE_FULL_ULONG(shortname, longname, help, metavar, arg_requirement, default_value) |
Fill full unsigned long type option description in Ecore_Getopt_Desc table. More... | |
#define | ECORE_GETOPT_STORE_FULL_DOUBLE(shortname, longname, help, metavar, arg_requirement, default_value) |
Fill full double type option description in Ecore_Getopt_Desc table. More... | |
#define | ECORE_GETOPT_STORE_CONST(shortname, longname, help, value) |
Fill Ecore_Getopt_Desc table with a constant value. More... | |
#define | ECORE_GETOPT_STORE_TRUE(shortname, longname, help) |
Fill Ecore_Getopt_Desc table with a true boolean value. More... | |
#define | ECORE_GETOPT_STORE_FALSE(shortname, longname, help) |
Fill Ecore_Getopt_Desc table with a false boolean value. More... | |
#define | ECORE_GETOPT_CHOICE(shortname, longname, help, choices_array) |
Fill Ecore_Getopt_Desc table with a true boolean value. More... | |
#define | ECORE_GETOPT_CHOICE_METAVAR(shortname, longname, help, metavar, choices_array) |
Fill Ecore_Getopt_Desc table with a choice. More... | |
#define | ECORE_GETOPT_APPEND(shortname, longname, help, sub_type) |
Fill Ecore_Getopt_Desc table with an append action. More... | |
#define | ECORE_GETOPT_APPEND_METAVAR(shortname, longname, help, metavar, type) |
Fill Ecore_Getopt_Desc table with an append action and a metavar. More... | |
#define | ECORE_GETOPT_COUNT(shortname, longname, help) |
Fill Ecore_Getopt_Desc table with an count action. More... | |
#define | ECORE_GETOPT_CALLBACK_FULL(shortname, longname, help, metavar, callback_func, callback_data, argument_requirement, default_value) |
Fill Ecore_Getopt_Desc table with an callback action and argument requirements. More... | |
#define | ECORE_GETOPT_CALLBACK_NOARGS(shortname, longname, help, callback_func, callback_data) |
Fill Ecore_Getopt_Desc table with an callback action and no arguments. More... | |
#define | ECORE_GETOPT_CALLBACK_ARGS(shortname, longname, help, metavar, callback_func, callback_data) |
Fill Ecore_Getopt_Desc table with an callback action. More... | |
#define | ECORE_GETOPT_HELP(shortname, longname) |
Fill Ecore_Getopt_Desc table with a help action. More... | |
#define | ECORE_GETOPT_VERSION(shortname, longname) |
Fill Ecore_Getopt_Desc table with a version action. More... | |
#define | ECORE_GETOPT_COPYRIGHT(shortname, longname) |
Fill Ecore_Getopt_Desc table with a copyright action. More... | |
#define | ECORE_GETOPT_LICENSE(shortname, longname) |
Fill Ecore_Getopt_Desc table with a license action. More... | |
#define | ECORE_GETOPT_BREAK(shortname, longname) |
Fill Ecore_Getopt_Desc table with a break action. More... | |
#define | ECORE_GETOPT_BREAK_STR(shortname, longname, help) |
Fill Ecore_Getopt_Desc table with a break action with help message. More... | |
#define | ECORE_GETOPT_CATEGORY(name, help) {0, name, help, NULL, ECORE_GETOPT_ACTION_CATEGORY, {.dummy = NULL}} |
#define | ECORE_GETOPT_SENTINEL {0, NULL, NULL, NULL, 0, {.dummy = NULL}} |
Fill Ecore_Getopt_Desc table with a sentinel to indicate the end of descriptions. | |
#define | ECORE_GETOPT_VALUE_STR(val) {.strp = &(val)} |
options that store a single value in a variable of type string. More... | |
#define | ECORE_GETOPT_VALUE_BOOL(val) {.boolp = &(val)} |
options that store a single value in a variable of type boolean. More... | |
#define | ECORE_GETOPT_VALUE_SHORT(val) {.shortp = &(val)} |
options that store a single value in a variable of type short. More... | |
#define | ECORE_GETOPT_VALUE_INT(val) {.intp = &(val)} |
options that store a single value in a variable of type int. More... | |
#define | ECORE_GETOPT_VALUE_LONG(val) {.longp = &(val)} |
options that store a single value in a variable of type long. More... | |
#define | ECORE_GETOPT_VALUE_USHORT(val) {.ushortp = &(val)} |
options that store a single value in a variable of type unsigned short. More... | |
#define | ECORE_GETOPT_VALUE_UINT(val) {.uintp = &(val)} |
options that store a single value in a variable of type unsigned int. More... | |
#define | ECORE_GETOPT_VALUE_ULONG(val) {.ulongp = &(val)} |
options that store a single value in a variable of type unsigned long. More... | |
#define | ECORE_GETOPT_VALUE_DOUBLE(val) {.doublep = &(val)} |
options that store a single value in a variable of type double. More... | |
#define | ECORE_GETOPT_VALUE_PTR(val) {.ptrp = &(val)} |
options that store a single value in a variable of type pointer. More... | |
#define | ECORE_GETOPT_VALUE_PTR_CAST(val) {.ptrp = (void **)&(val)} |
options that store a single value in a variable of type pointer casted. More... | |
#define | ECORE_GETOPT_VALUE_LIST(val) {.listp = &(val)} |
options that store a single value in a variable of type list. More... | |
#define | ECORE_GETOPT_VALUE_NONE {.ptrp = NULL} |
options that store a NULL value. More... | |
Typedefs | |
typedef struct _Ecore_Getopt_Desc_Store | Ecore_Getopt_Desc_Store |
typedef struct _Ecore_Getopt_Desc_Callback | Ecore_Getopt_Desc_Callback |
typedef struct _Ecore_Getopt | Ecore_Getopt |
typedef struct _Ecore_Getopt_Desc | Ecore_Getopt_Desc |
typedef union _Ecore_Getopt_Value | Ecore_Getopt_Value |
Functions | |
EAPI void | ecore_getopt_help (FILE *fp, const Ecore_Getopt *info) |
Show nicely formatted help message for the given parser. More... | |
EAPI Eina_Bool | ecore_getopt_help_category (FILE *fp, const Ecore_Getopt *info, const char *category) |
Show help for a single category (along with program usage and description). More... | |
EAPI Eina_Bool | ecore_getopt_parser_has_duplicates (const Ecore_Getopt *parser) |
Check parser for duplicate entries, print them out. More... | |
EAPI int | ecore_getopt_parse (const Ecore_Getopt *parser, Ecore_Getopt_Value *values, int argc, char **argv) |
Parse command line parameters. More... | |
EAPI int | ecore_getopt_parse_positional (const Ecore_Getopt *parser, Ecore_Getopt_Value *values, int argc, char **argv, int start) |
Parse command line positional parameters. More... | |
EAPI Eina_List * | ecore_getopt_list_free (Eina_List *list) |
Utility to free list and nodes allocated by ECORE_GETOPT_ACTION_APPEND. More... | |
EAPI Eina_Bool | ecore_getopt_callback_geometry_parse (const Ecore_Getopt *parser, const Ecore_Getopt_Desc *desc, const char *str, void *data, Ecore_Getopt_Value *storage) |
Helper ecore_getopt callback to parse geometry (x:y:w:h). More... | |
EAPI Eina_Bool | ecore_getopt_callback_size_parse (const Ecore_Getopt *parser, const Ecore_Getopt_Desc *desc, const char *str, void *data, Ecore_Getopt_Value *storage) |
Helper ecore_getopt callback to parse geometry size (WxH). More... | |
This group contains powerful getopt replacement.
This replacement handles both short (-X) or long options (–ABC) options, with various actions supported, like storing one value and already converting to required type, counting number of occurrences, setting true or false values, show help, license, copyright and even support user-defined callbacks.
It is provided a set of C Pre Processor macros so definition is straightforward.
Values will be stored elsewhere indicated by an array of pointers to values, it is given in separate to parser description so you can use multiple values with the same parser.
#define ECORE_GETOPT_STORE_FULL | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
type, | |||
arg_requirement, | |||
default_value | |||
) |
Macro that helps to fill the Ecore_Getopt_Desc table.
#define ECORE_GETOPT_STORE | ( | shortname, | |
longname, | |||
help, | |||
type | |||
) |
Macro that fills an option in Ecore_Getopt_Desc table.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
type | The option value type. |
#define ECORE_GETOPT_STORE_STR | ( | shortname, | |
longname, | |||
help | |||
) | ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_STR) |
Macro that fill Ecore_Getopt_Desc table with an option of type string.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_STORE_BOOL | ( | shortname, | |
longname, | |||
help | |||
) | ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_BOOL) |
Macro that fill Ecore_Getopt_Desc table with an option of type boolean.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_STORE_SHORT | ( | shortname, | |
longname, | |||
help | |||
) | ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_SHORT) |
Macro that fill Ecore_Getopt_Desc table with an option of type short.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_STORE_INT | ( | shortname, | |
longname, | |||
help | |||
) | ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_INT) |
Macro that fill Ecore_Getopt_Desc table with an option of type int.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_STORE_LONG | ( | shortname, | |
longname, | |||
help | |||
) | ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_LONG) |
Macro that fill Ecore_Getopt_Desc table with an option of type long.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_STORE_USHORT | ( | shortname, | |
longname, | |||
help | |||
) | ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_USHORT) |
Macro that fill Ecore_Getopt_Desc table with an option of type ushort.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_STORE_UINT | ( | shortname, | |
longname, | |||
help | |||
) | ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_UINT) |
Macro that fill Ecore_Getopt_Desc table with an option of type uint.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_STORE_ULONG | ( | shortname, | |
longname, | |||
help | |||
) | ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_ULONG) |
Macro that fill Ecore_Getopt_Desc table with an option of type ulong.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_STORE_DOUBLE | ( | shortname, | |
longname, | |||
help | |||
) | ECORE_GETOPT_STORE(shortname, longname, help, ECORE_GETOPT_TYPE_DOUBLE) |
Macro that fill Ecore_Getopt_Desc table with an option of type double.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_STORE_METAVAR | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
type | |||
) |
Macro that helps to fill the Ecore_Getopt_Desc table with a metavar after the description of the option.
#define ECORE_GETOPT_STORE_METAVAR_STR | ( | shortname, | |
longname, | |||
help, | |||
metavar | |||
) | ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_STR) |
Fill Ecore_Getopt_Desc table with an option of type string and metavar.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
#define ECORE_GETOPT_STORE_METAVAR_BOOL | ( | shortname, | |
longname, | |||
help, | |||
metavar | |||
) | ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_BOOL) |
Fill Ecore_Getopt_Desc table with an option of type boolean and metavar.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
#define ECORE_GETOPT_STORE_METAVAR_SHORT | ( | shortname, | |
longname, | |||
help, | |||
metavar | |||
) | ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_SHORT) |
Fill Ecore_Getopt_Desc table with an option of type short and metavar.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
#define ECORE_GETOPT_STORE_METAVAR_INT | ( | shortname, | |
longname, | |||
help, | |||
metavar | |||
) | ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_INT) |
Fill Ecore_Getopt_Desc table with an option of type int and metavar.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
#define ECORE_GETOPT_STORE_METAVAR_LONG | ( | shortname, | |
longname, | |||
help, | |||
metavar | |||
) | ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_LONG) |
Fill Ecore_Getopt_Desc table with an option of type long and metavar.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
#define ECORE_GETOPT_STORE_METAVAR_USHORT | ( | shortname, | |
longname, | |||
help, | |||
metavar | |||
) | ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_USHORT) |
Fill Ecore_Getopt_Desc table with an option of type unsigned short and metavar.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
#define ECORE_GETOPT_STORE_METAVAR_UINT | ( | shortname, | |
longname, | |||
help, | |||
metavar | |||
) | ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_UINT) |
Fill Ecore_Getopt_Desc table with an option of type unsigned int and metavar.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
#define ECORE_GETOPT_STORE_METAVAR_ULONG | ( | shortname, | |
longname, | |||
help, | |||
metavar | |||
) | ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_ULONG) |
Fill Ecore_Getopt_Desc table with an option of type unsigned long and metavar.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
#define ECORE_GETOPT_STORE_METAVAR_DOUBLE | ( | shortname, | |
longname, | |||
help, | |||
metavar | |||
) | ECORE_GETOPT_STORE_METAVAR(shortname, longname, help, metavar, ECORE_GETOPT_TYPE_DOUBLE) |
Fill Ecore_Getopt_Desc table with an option of type double and metavar.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
#define ECORE_GETOPT_STORE_DEF | ( | shortname, | |
longname, | |||
help, | |||
type, | |||
default_value | |||
) |
Macro that helps to fill the Ecore_Getopt_Desc table with a default value.
#define ECORE_GETOPT_STORE_DEF_STR | ( | shortname, | |
longname, | |||
help, | |||
default_value | |||
) |
Fill Ecore_Getopt_Desc table with an option of type string and default value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_DEF_BOOL | ( | shortname, | |
longname, | |||
help, | |||
default_value | |||
) |
Fill Ecore_Getopt_Desc table with an option of type boolean and default value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_DEF_SHORT | ( | shortname, | |
longname, | |||
help, | |||
default_value | |||
) |
Fill Ecore_Getopt_Desc table with an option of type short and default value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_DEF_INT | ( | shortname, | |
longname, | |||
help, | |||
default_value | |||
) |
Fill Ecore_Getopt_Desc table with an option of type int and default value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_DEF_LONG | ( | shortname, | |
longname, | |||
help, | |||
default_value | |||
) |
Fill Ecore_Getopt_Desc table with an option of type long and default value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_DEF_USHORT | ( | shortname, | |
longname, | |||
help, | |||
default_value | |||
) |
Fill Ecore_Getopt_Desc table with an option of type unsigned short and default value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_DEF_UINT | ( | shortname, | |
longname, | |||
help, | |||
default_value | |||
) |
Fill Ecore_Getopt_Desc table with an option of type unsigned int and default value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_DEF_ULONG | ( | shortname, | |
longname, | |||
help, | |||
default_value | |||
) |
Fill Ecore_Getopt_Desc table with an option of type unsigned long and default value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_DEF_DOUBLE | ( | shortname, | |
longname, | |||
help, | |||
default_value | |||
) |
Fill Ecore_Getopt_Desc table with an option of type double and default value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_FULL_STR | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
arg_requirement, | |||
default_value | |||
) |
Fill full string type option description in Ecore_Getopt_Desc table.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
arg_requirement | The option argument requirements. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_FULL_BOOL | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
arg_requirement, | |||
default_value | |||
) |
Fill full boolean type option description in Ecore_Getopt_Desc table.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
arg_requirement | The option argument requirements. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_FULL_SHORT | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
arg_requirement, | |||
default_value | |||
) |
Fill full short type option description in Ecore_Getopt_Desc table.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
arg_requirement | The option argument requirements. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_FULL_INT | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
arg_requirement, | |||
default_value | |||
) |
Fill full int type option description in Ecore_Getopt_Desc table.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
arg_requirement | The option argument requirements. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_FULL_LONG | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
arg_requirement, | |||
default_value | |||
) |
Fill full long type option description in Ecore_Getopt_Desc table.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
arg_requirement | The option argument requirements. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_FULL_USHORT | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
arg_requirement, | |||
default_value | |||
) |
Fill full unsigned short type option description in Ecore_Getopt_Desc table.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
arg_requirement | The option argument requirements. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_FULL_UINT | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
arg_requirement, | |||
default_value | |||
) |
Fill full unsigned int type option description in Ecore_Getopt_Desc table.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
arg_requirement | The option argument requirements. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_FULL_ULONG | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
arg_requirement, | |||
default_value | |||
) |
Fill full unsigned long type option description in Ecore_Getopt_Desc table.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
arg_requirement | The option argument requirements. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_FULL_DOUBLE | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
arg_requirement, | |||
default_value | |||
) |
Fill full double type option description in Ecore_Getopt_Desc table.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
arg_requirement | The option argument requirements. |
default_value | The default value for the parameter of the option. |
#define ECORE_GETOPT_STORE_CONST | ( | shortname, | |
longname, | |||
help, | |||
value | |||
) |
Fill Ecore_Getopt_Desc table with a constant value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
value | The constant value to store. |
#define ECORE_GETOPT_STORE_TRUE | ( | shortname, | |
longname, | |||
help | |||
) |
Fill Ecore_Getopt_Desc table with a true boolean value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_STORE_FALSE | ( | shortname, | |
longname, | |||
help | |||
) |
Fill Ecore_Getopt_Desc table with a false boolean value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_CHOICE | ( | shortname, | |
longname, | |||
help, | |||
choices_array | |||
) |
Fill Ecore_Getopt_Desc table with a true boolean value.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
choices_array | An string array of different choices. |
#define ECORE_GETOPT_CHOICE_METAVAR | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
choices_array | |||
) |
Fill Ecore_Getopt_Desc table with a choice.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
choices_array | An string array of different choices. |
#define ECORE_GETOPT_APPEND | ( | shortname, | |
longname, | |||
help, | |||
sub_type | |||
) |
Fill Ecore_Getopt_Desc table with an append action.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
sub_type | The type of the new value to store. |
#define ECORE_GETOPT_APPEND_METAVAR | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
type | |||
) |
Fill Ecore_Getopt_Desc table with an append action and a metavar.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
type | The type of the new value to store. |
#define ECORE_GETOPT_COUNT | ( | shortname, | |
longname, | |||
help | |||
) |
Fill Ecore_Getopt_Desc table with an count action.
This will store the number of time the option has been passed to the command line.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_CALLBACK_FULL | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
callback_func, | |||
callback_data, | |||
argument_requirement, | |||
default_value | |||
) |
Fill Ecore_Getopt_Desc table with an callback action and argument requirements.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
callback_func | The callback function to call. |
callback_data | The data to pass to the callback. |
argument_requirement | the required arguments to this option. |
default_value | The default values for these arguments. |
#define ECORE_GETOPT_CALLBACK_NOARGS | ( | shortname, | |
longname, | |||
help, | |||
callback_func, | |||
callback_data | |||
) |
Fill Ecore_Getopt_Desc table with an callback action and no arguments.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
callback_func | The callback function to call. |
callback_data | The data to pass to the callback. |
#define ECORE_GETOPT_CALLBACK_ARGS | ( | shortname, | |
longname, | |||
help, | |||
metavar, | |||
callback_func, | |||
callback_data | |||
) |
Fill Ecore_Getopt_Desc table with an callback action.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
metavar | The metavar message concerning the parameter of the option. |
callback_func | The callback function to call. |
callback_data | The data to pass to the callback. |
#define ECORE_GETOPT_HELP | ( | shortname, | |
longname | |||
) |
Fill Ecore_Getopt_Desc table with a help action.
shortname | The help option short name. |
longname | The help option long name. |
#define ECORE_GETOPT_VERSION | ( | shortname, | |
longname | |||
) |
Fill Ecore_Getopt_Desc table with a version action.
shortname | The version option short name. |
longname | The version option long name. |
#define ECORE_GETOPT_COPYRIGHT | ( | shortname, | |
longname | |||
) |
Fill Ecore_Getopt_Desc table with a copyright action.
shortname | The copyright option short name. |
longname | The copyright option long name. |
#define ECORE_GETOPT_LICENSE | ( | shortname, | |
longname | |||
) |
Fill Ecore_Getopt_Desc table with a license action.
shortname | The license option short name. |
longname | The license option long name. |
#define ECORE_GETOPT_BREAK | ( | shortname, | |
longname | |||
) |
Fill Ecore_Getopt_Desc table with a break action.
shortname | The option short name. |
longname | The option long name. |
#define ECORE_GETOPT_BREAK_STR | ( | shortname, | |
longname, | |||
help | |||
) |
Fill Ecore_Getopt_Desc table with a break action with help message.
shortname | The option short name. |
longname | The option long name. |
help | The help message concerning this option. |
#define ECORE_GETOPT_VALUE_STR | ( | val | ) | {.strp = &(val)} |
options that store a single value in a variable of type string.
val | The value to store. |
#define ECORE_GETOPT_VALUE_BOOL | ( | val | ) | {.boolp = &(val)} |
options that store a single value in a variable of type boolean.
val | The value to store. |
#define ECORE_GETOPT_VALUE_SHORT | ( | val | ) | {.shortp = &(val)} |
options that store a single value in a variable of type short.
val | The value to store. |
#define ECORE_GETOPT_VALUE_INT | ( | val | ) | {.intp = &(val)} |
options that store a single value in a variable of type int.
val | The value to store. |
#define ECORE_GETOPT_VALUE_LONG | ( | val | ) | {.longp = &(val)} |
options that store a single value in a variable of type long.
val | The value to store. |
#define ECORE_GETOPT_VALUE_USHORT | ( | val | ) | {.ushortp = &(val)} |
options that store a single value in a variable of type unsigned short.
val | The value to store. |
#define ECORE_GETOPT_VALUE_UINT | ( | val | ) | {.uintp = &(val)} |
options that store a single value in a variable of type unsigned int.
val | The value to store. |
#define ECORE_GETOPT_VALUE_ULONG | ( | val | ) | {.ulongp = &(val)} |
options that store a single value in a variable of type unsigned long.
val | The value to store. |
#define ECORE_GETOPT_VALUE_DOUBLE | ( | val | ) | {.doublep = &(val)} |
options that store a single value in a variable of type double.
val | The value to store. |
#define ECORE_GETOPT_VALUE_PTR | ( | val | ) | {.ptrp = &(val)} |
options that store a single value in a variable of type pointer.
val | The value to store. |
#define ECORE_GETOPT_VALUE_PTR_CAST | ( | val | ) | {.ptrp = (void **)&(val)} |
options that store a single value in a variable of type pointer casted.
val | The value to store. |
#define ECORE_GETOPT_VALUE_LIST | ( | val | ) | {.listp = &(val)} |
options that store a single value in a variable of type list.
val | The value to store. |
#define ECORE_GETOPT_VALUE_NONE {.ptrp = NULL} |
options that store a NULL value.
val | The value to store. |
enum Ecore_Getopt_Action |
Enumeration that defines the actions to do when parsing command line parameters.
enum Ecore_Getopt_Type |
Enumeration that defines the type of the values to store when using append action.
EAPI void ecore_getopt_help | ( | FILE * | fp, |
const Ecore_Getopt * | info | ||
) |
Show nicely formatted help message for the given parser.
fp | The file the message will be printed on. |
info | The structure containing information about command line options. |
EAPI Eina_Bool ecore_getopt_help_category | ( | FILE * | fp, |
const Ecore_Getopt * | info, | ||
const char * | category | ||
) |
Show help for a single category (along with program usage and description).
fp | The file the message will be printed on. |
info | The structure containing information about command line options. |
category | The category to print. |
EINA_TRUE
when the category exists, EINA_FALSE
otherwise.References _Ecore_Getopt_Desc::action, _Ecore_Getopt::descs, and EINA_FALSE.
EAPI Eina_Bool ecore_getopt_parser_has_duplicates | ( | const Ecore_Getopt * | parser | ) |
Check parser for duplicate entries, print them out.
EINA_TRUE
if there are duplicates, EINA_FALSE
otherwise. parser | The parser to be checked. |
References _Ecore_Getopt_Desc::action, _Ecore_Getopt::descs, ECORE_GETOPT_ACTION_HELP, EINA_FALSE, EINA_TRUE, _Ecore_Getopt_Desc::longname, and _Ecore_Getopt_Desc::shortname.
EAPI int ecore_getopt_parse | ( | const Ecore_Getopt * | parser, |
Ecore_Getopt_Value * | values, | ||
int | argc, | ||
char ** | argv | ||
) |
Parse command line parameters.
Walks the command line parameters and parse them based on parser description, doing actions based on parser->descs->action
, like showing help text, license, copyright, storing values in values and so on.
It is expected that values is of the same size than parser->descs
, options that do not need a value it will be left untouched.
All values are expected to be initialized before use. Options with action ECORE_GETOPT_ACTION_STORE
and non required arguments (others than ECORE_GETOPT_DESC_ARG_REQUIREMENT_YES
), are expected to provide a value in def
to be used.
The following actions will store 1
on value as a boolean (value->boolp
) if it's not NULL
to indicate these actions were executed:
ECORE_GETOPT_ACTION_HELP
ECORE_GETOPT_ACTION_VERSION
ECORE_GETOPT_ACTION_COPYRIGHT
ECORE_GETOPT_ACTION_LICENSE
Just ECORE_GETOPT_ACTION_APPEND
will allocate memory and thus need to be freed. For consistency between all of appended subtypes, eina_list->data
will contain an allocated memory with the value, that is, for ECORE_GETOPT_TYPE_STR
it will contain a copy of the argument, ECORE_GETOPT_TYPE_INT
a pointer to an allocated integer and so on.
If parser is in strict mode (see Ecore_Getopt->strict
), then any error will abort parsing and -1
is returned. Otherwise it will try to continue as far as possible.
This function may reorder argv elements.
Translation of help strings (description), metavar, usage, license and copyright may be translated, standard/global gettext() call will be applied on them if ecore was compiled with such support.
This function will not parse positional arguments! If these are declared (metavar is defined with both shortname and longname being empty), then you must call ecore_getopt_parse_positional() with the last argument (start
) being the result of this function. This is done so you can have "quit options", those that once called you want to exit without doing further parsing, as is the case with help, license, copyright, version and eventually others you may define.
parser | description of how to work. |
values | where to store values, it is assumed that this is a vector of the same size as parser->descs . Values should be previously initialized. |
argc | how many elements in argv. If not provided it will be retrieved with ecore_app_args_get(). |
argv | command line parameters. |
References ecore_app_args_get(), _Ecore_Getopt_Desc::longname, _Ecore_Getopt::prog, and _Ecore_Getopt_Desc::shortname.
EAPI int ecore_getopt_parse_positional | ( | const Ecore_Getopt * | parser, |
Ecore_Getopt_Value * | values, | ||
int | argc, | ||
char ** | argv, | ||
int | start | ||
) |
Parse command line positional parameters.
Walks the command line positional parameters (those that do not start with "-" or "--") and parse them based on parser description, doing actions based on parser->descs->action
, like storing values of some type.
It is expected that values is of the same size than parser->descs
, same as with ecore_getopt_parse().
All values are expected to be initialized before use.
Unlike the ecore_getopt_parse(), only the following options are supported:
ECORE_GETOPT_ACTION_STORE
ECORE_GETOPT_ACTION_CHOICE
ECORE_GETOPT_ACTION_APPEND
ECORE_GETOPT_ACTION_CALLBACK
There is a special case for ECORE_GETOPT_ACTION_APPEND
as it will consume all remaining elements. It is also special in the sense that it will allocate memory and thus need to be freed. For consistency between all of appended subtypes, eina_list->data
will contain an allocated memory with the value, that is, for ECORE_GETOPT_TYPE_STR
it will contain a copy of the argument, ECORE_GETOPT_TYPE_INT
a pointer to an allocated integer and so on.
If parser is in strict mode (see Ecore_Getopt->strict
), then any error will abort parsing and -1
is returned. Otherwise it will try to continue as far as possible.
Translation of help strings (description) and metavar may be done, standard/global gettext() call will be applied on them if ecore was compiled with such support.
parser | description of how to work. |
values | where to store values, it is assumed that this is a vector of the same size as parser->descs . Values should be previously initialized. |
argc | how many elements in argv. If not provided it will be retrieved with ecore_app_args_get(). |
argv | command line parameters. |
start | the initial position argument to look at, usually the return of ecore_getopt_parse(). If less than 1, will try to find it automatically. |
ECORE_GETOPT_ACTION_APPEND
then it will be the same as argc. References _Ecore_Getopt::descs, ecore_app_args_get(), _Ecore_Getopt_Desc::longname, _Ecore_Getopt_Desc::metavar, _Ecore_Getopt::prog, and _Ecore_Getopt_Desc::shortname.
Utility to free list and nodes allocated by ECORE_GETOPT_ACTION_APPEND.
list | pointer to list to be freed. |
NULL
, so you can easily make your list head NULL
. References EINA_LIST_FREE.
EAPI Eina_Bool ecore_getopt_callback_geometry_parse | ( | const Ecore_Getopt * | parser, |
const Ecore_Getopt_Desc * | desc, | ||
const char * | str, | ||
void * | data, | ||
Ecore_Getopt_Value * | storage | ||
) |
Helper ecore_getopt callback to parse geometry (x:y:w:h).
parser | This parameter isn't in use. |
desc | This parameter isn't in use. |
str | Geometry value |
data | This parameter isn't in use. |
storage | must be a pointer to Eina_Rectangle and will be used to store the four values passed in the given string. |
EINA_TRUE
on success, EINA_FALSE
on incorrect geometry value.This is a helper functions to be used with ECORE_GETOPT_CALLBACK_*().
callback_data
value is ignored, you can safely use NULL
.
References EINA_FALSE, EINA_TRUE, _Eina_Rectangle::h, _Ecore_Getopt_Value::ptrp, _Eina_Rectangle::w, _Eina_Rectangle::x, and _Eina_Rectangle::y.
EAPI Eina_Bool ecore_getopt_callback_size_parse | ( | const Ecore_Getopt * | parser, |
const Ecore_Getopt_Desc * | desc, | ||
const char * | str, | ||
void * | data, | ||
Ecore_Getopt_Value * | storage | ||
) |
Helper ecore_getopt callback to parse geometry size (WxH).
parser | This parameter isn't in use. |
desc | This parameter isn't in use. |
str | size value |
data | This parameter isn't in use. |
storage | must be a pointer to Eina_Rectangle and will be used to store the two values passed in the given string and 0 in the x and y fields. |
EINA_TRUE
on success, EINA_FALSE
on incorrect size value.callback_data
value is ignored, you can safely use NULL
.
References EINA_FALSE, EINA_TRUE, _Eina_Rectangle::h, _Ecore_Getopt_Value::ptrp, _Eina_Rectangle::w, _Eina_Rectangle::x, and _Eina_Rectangle::y.