| Value | Meaning |
|---|---|
| None0 | No extra argument. This is useful for simple flags or booleans. |
| String1 | The option takes a UTF-8 string argument. |
| Int2 | The option takes an integer argument. |
| Callback3 | The option provides a callback (of type #GOptionArgFunc) to parse the extra argument. |
| Filename4 | The option takes a filename as argument, which will be in the GLib filename encoding rather than UTF-8. |
| StringArray5 | The option takes a string argument, multiple uses of the option are collected into an array of strings. |
| FilenameArray6 | The option takes a filename as argument, multiple uses of the option are collected into an array of strings. |
| Double7 | The option takes a double argument. The argument can be formatted either for the user's locale or for the "C" locale. Since 2.12 |
| Int648 | The option takes a 64-bit integer. Like G_OPTION_ARG_INT but for larger numbers. The number can be in decimal base, or in hexadecimal (when prefixed with 0x, for example, 0xffffffff). Since 2.12 |
The #GOptionArg enum values determine which type of extra argument the options expect to find. If an option expects an extra argument, it can be specified in several ways; with a short option: -x arg, with a long option: --name arg or combined in a single argument: --name=arg.