| Value | Meaning |
|---|---|
| NONE0 | No extra argument. This is useful for simple flags. |
| 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. |
| STRING_ARRAY5 | The option takes a string argument, multiple uses of the option are collected into an array of strings. |
| FILENAME_ARRAY6 | 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.