### Struct

# GLib OptionEntry

#### 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;
    }

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

  If `arg` type is `G_OPTION_ARG_STRING` or `G_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 if `arg` type is `G_OPTION_ARG_STRING_ARRAY` or `G_OPTION_ARG_FILENAME_ARRAY`, the data should be freed using g_strfreev(). 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 is `G_OPTION_ARG_CALLBACK`, then `arg_data` must point to a `GOptionArgFunc` 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 the `arg` type:.

`description`

  The description for the option in `--help` output. The `description` is translated using the `translate_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. The `arg_description` is translated using the `translate_func` of the group, see g_option_group_set_translation_domain().