Struct
GLibOptionEntry
Description [src]
struct GOptionEntry {
const gchar* long_name;
gchar short_name;
gint flags;
GOptionArg arg;
gpointer arg_data;
const gchar* description;
const gchar* arg_description;
}
A GOptionEntry struct defines a single option. To have an effect, they
must be added to a GOptionGroup
with g_option_context_add_main_entries()
or g_option_group_add_entries().
Structure members
long_name
The long name of an option can be used to specify it in a commandline as
--long_name
. Every option must have a long name. To resolve conflicts if multiple option groups contain the same long name, it is also possible to specify the option as--groupname-long_name
.short_name
If an option has a short name, it can be specified
-short_name
in a commandline.short_name
must be a printable ASCII character different from ‘-‘, or zero if the option has no short name.flags
Flags from
GOptionFlags
.arg
The type of the option, as a
GOptionArg
.arg_data
If the
arg
type isG_OPTION_ARG_CALLBACK
, thenarg_data
must point to aGOptionArgFunc
callback function, which will be called to handle the extra argument. Otherwise,arg_data
is a pointer to a location to store the value, the required type of the location depends on thearg
type: -G_OPTION_ARG_NONE
: %gboolean -G_OPTION_ARG_STRING
: %gchar -G_OPTION_ARG_INT
: %gint -G_OPTION_ARG_FILENAME
: %gchar -G_OPTION_ARG_STRING_ARRAY
: %gchar -G_OPTION_ARG_FILENAME_ARRAY
: %gchar -G_OPTION_ARG_DOUBLE
: %gdouble Ifarg
type isG_OPTION_ARG_STRING
orG_OPTION_ARG_FILENAME
, the location will contain a newly allocated string if the option was given. That string needs to be freed by the callee using g_free(). Likewise ifarg
type isG_OPTION_ARG_STRING_ARRAY
orG_OPTION_ARG_FILENAME_ARRAY
, the data should be freed using g_strfreev().description
The description for the option in
--help
output. Thedescription
is translated using thetranslate_func
of the group, see g_option_group_set_translation_domain().arg_description
The placeholder to use for the extra argument parsed by the option in
--help
output. Thearg_description
is translated using thetranslate_func
of the group, see g_option_group_set_translation_domain().