;; From gioenums.h

;; Original typedef:
;; typedef enum {
;;   G_APP_INFO_CREATE_NONE                           = 0,         /*< nick=none >*/
;;   G_APP_INFO_CREATE_NEEDS_TERMINAL                 = (1 << 0),  /*< nick=needs-terminal >*/
;;   G_APP_INFO_CREATE_SUPPORTS_URIS                  = (1 << 1),  /*< nick=supports-uris >*/
;;   G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION  = (1 << 2)   /*< nick=supports-startup-notification >*/
;; } GAppInfoCreateFlags;

(define-flags-extended AppInfoCreateFlags
  (in-module "G")
  (c-name "GAppInfoCreateFlags")
  (values
    '("none" "G_APP_INFO_CREATE_NONE" "0x0")
    '("needs-terminal" "G_APP_INFO_CREATE_NEEDS_TERMINAL" "(1 << 0)")
    '("supports-uris" "G_APP_INFO_CREATE_SUPPORTS_URIS" "(1 << 1)")
    '("supports-startup-notification" "G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION" "(1 << 2)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_CONVERTER_NO_FLAGS     = 0,         /*< nick=none >*/
;;   G_CONVERTER_INPUT_AT_END = (1 << 0),  /*< nick=input-at-end >*/
;;   G_CONVERTER_FLUSH        = (1 << 1)   /*< nick=flush >*/
;; } GConverterFlags;

(define-flags-extended ConverterFlags
  (in-module "G")
  (c-name "GConverterFlags")
  (values
    '("no-flags" "G_CONVERTER_NO_FLAGS" "0x0")
    '("input-at-end" "G_CONVERTER_INPUT_AT_END" "(1 << 0)")
    '("flush" "G_CONVERTER_FLUSH" "(1 << 1)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_CONVERTER_ERROR     = 0,  /*< nick=error >*/
;;   G_CONVERTER_CONVERTED = 1,  /*< nick=converted >*/
;;   G_CONVERTER_FINISHED  = 2,  /*< nick=finished >*/
;;   G_CONVERTER_FLUSHED   = 3   /*< nick=flushed >*/
;; } GConverterResult;

(define-enum-extended ConverterResult
  (in-module "G")
  (c-name "GConverterResult")
  (values
    '("error" "G_CONVERTER_ERROR" "0")
    '("converted" "G_CONVERTER_CONVERTED" "1")
    '("finished" "G_CONVERTER_FINISHED" "2")
    '("flushed" "G_CONVERTER_FLUSHED" "3")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN,
;;   G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN,
;;   G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN
;; } GDataStreamByteOrder;

(define-enum-extended DataStreamByteOrder
  (in-module "G")
  (c-name "GDataStreamByteOrder")
  (values
    '("big-endian" "G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN" "0")
    '("little-endian" "G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN" "1")
    '("host-endian" "G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_DATA_STREAM_NEWLINE_TYPE_LF,
;;   G_DATA_STREAM_NEWLINE_TYPE_CR,
;;   G_DATA_STREAM_NEWLINE_TYPE_CR_LF,
;;   G_DATA_STREAM_NEWLINE_TYPE_ANY
;; } GDataStreamNewlineType;

(define-enum-extended DataStreamNewlineType
  (in-module "G")
  (c-name "GDataStreamNewlineType")
  (values
    '("lf" "G_DATA_STREAM_NEWLINE_TYPE_LF" "0")
    '("cr" "G_DATA_STREAM_NEWLINE_TYPE_CR" "1")
    '("cr-lf" "G_DATA_STREAM_NEWLINE_TYPE_CR_LF" "2")
    '("any" "G_DATA_STREAM_NEWLINE_TYPE_ANY" "3")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_FILE_ATTRIBUTE_TYPE_INVALID = 0,
;;   G_FILE_ATTRIBUTE_TYPE_STRING,
;;   G_FILE_ATTRIBUTE_TYPE_BYTE_STRING, /* zero terminated string of non-zero bytes */
;;   G_FILE_ATTRIBUTE_TYPE_BOOLEAN,
;;   G_FILE_ATTRIBUTE_TYPE_UINT32,
;;   G_FILE_ATTRIBUTE_TYPE_INT32,
;;   G_FILE_ATTRIBUTE_TYPE_UINT64,
;;   G_FILE_ATTRIBUTE_TYPE_INT64,
;;   G_FILE_ATTRIBUTE_TYPE_OBJECT,
;;   G_FILE_ATTRIBUTE_TYPE_STRINGV
;; } GFileAttributeType;

(define-enum-extended FileAttributeType
  (in-module "G")
  (c-name "GFileAttributeType")
  (values
    '("invalid" "G_FILE_ATTRIBUTE_TYPE_INVALID" "0")
    '("string" "G_FILE_ATTRIBUTE_TYPE_STRING" "1")
    '("byte-string" "G_FILE_ATTRIBUTE_TYPE_BYTE_STRING" "2")
    '("boolean" "G_FILE_ATTRIBUTE_TYPE_BOOLEAN" "3")
    '("uint32" "G_FILE_ATTRIBUTE_TYPE_UINT32" "4")
    '("int32" "G_FILE_ATTRIBUTE_TYPE_INT32" "5")
    '("uint64" "G_FILE_ATTRIBUTE_TYPE_UINT64" "6")
    '("int64" "G_FILE_ATTRIBUTE_TYPE_INT64" "7")
    '("object" "G_FILE_ATTRIBUTE_TYPE_OBJECT" "8")
    '("stringv" "G_FILE_ATTRIBUTE_TYPE_STRINGV" "9")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_FILE_ATTRIBUTE_INFO_NONE            = 0,
;;   G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE  = (1 << 0),
;;   G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED = (1 << 1)
;; } GFileAttributeInfoFlags;

(define-flags-extended FileAttributeInfoFlags
  (in-module "G")
  (c-name "GFileAttributeInfoFlags")
  (values
    '("none" "G_FILE_ATTRIBUTE_INFO_NONE" "0x0")
    '("copy-with-file" "G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE" "(1 << 0)")
    '("copy-when-moved" "G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED" "(1 << 1)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_FILE_ATTRIBUTE_STATUS_UNSET = 0,
;;   G_FILE_ATTRIBUTE_STATUS_SET,
;;   G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING
;; } GFileAttributeStatus;

(define-enum-extended FileAttributeStatus
  (in-module "G")
  (c-name "GFileAttributeStatus")
  (values
    '("unset" "G_FILE_ATTRIBUTE_STATUS_UNSET" "0")
    '("set" "G_FILE_ATTRIBUTE_STATUS_SET" "1")
    '("error-setting" "G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_FILE_QUERY_INFO_NONE              = 0,
;;   G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS = (1 << 0)   /*< nick=nofollow-symlinks >*/
;; } GFileQueryInfoFlags;

(define-flags-extended FileQueryInfoFlags
  (in-module "G")
  (c-name "GFileQueryInfoFlags")
  (values
    '("none" "G_FILE_QUERY_INFO_NONE" "0x0")
    '("nofollow-symlinks" "G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS" "(1 << 0)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_FILE_CREATE_NONE    = 0,
;;   G_FILE_CREATE_PRIVATE = (1 << 0),
;;   G_FILE_CREATE_REPLACE_DESTINATION = (1 << 1)
;; } GFileCreateFlags;

(define-flags-extended FileCreateFlags
  (in-module "G")
  (c-name "GFileCreateFlags")
  (values
    '("none" "G_FILE_CREATE_NONE" "0x0")
    '("private" "G_FILE_CREATE_PRIVATE" "(1 << 0)")
    '("replace-destination" "G_FILE_CREATE_REPLACE_DESTINATION" "(1 << 1)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_MOUNT_MOUNT_NONE = 0
;; } GMountMountFlags;

(define-flags-extended MountMountFlags
  (in-module "G")
  (c-name "GMountMountFlags")
  (values
    '("none" "G_MOUNT_MOUNT_NONE" "0x0")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_MOUNT_UNMOUNT_NONE  = 0,
;;   G_MOUNT_UNMOUNT_FORCE = (1 << 0)
;; } GMountUnmountFlags;

(define-flags-extended MountUnmountFlags
  (in-module "G")
  (c-name "GMountUnmountFlags")
  (values
    '("none" "G_MOUNT_UNMOUNT_NONE" "0x0")
    '("force" "G_MOUNT_UNMOUNT_FORCE" "(1 << 0)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_DRIVE_START_NONE = 0
;; } GDriveStartFlags;

(define-flags-extended DriveStartFlags
  (in-module "G")
  (c-name "GDriveStartFlags")
  (values
    '("none" "G_DRIVE_START_NONE" "0x0")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_DRIVE_START_STOP_TYPE_UNKNOWN,
;;   G_DRIVE_START_STOP_TYPE_SHUTDOWN,
;;   G_DRIVE_START_STOP_TYPE_NETWORK,
;;   G_DRIVE_START_STOP_TYPE_MULTIDISK,
;;   G_DRIVE_START_STOP_TYPE_PASSWORD
;; } GDriveStartStopType;

(define-enum-extended DriveStartStopType
  (in-module "G")
  (c-name "GDriveStartStopType")
  (values
    '("unknown" "G_DRIVE_START_STOP_TYPE_UNKNOWN" "0")
    '("shutdown" "G_DRIVE_START_STOP_TYPE_SHUTDOWN" "1")
    '("network" "G_DRIVE_START_STOP_TYPE_NETWORK" "2")
    '("multidisk" "G_DRIVE_START_STOP_TYPE_MULTIDISK" "3")
    '("password" "G_DRIVE_START_STOP_TYPE_PASSWORD" "4")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_FILE_COPY_NONE                 = 0,          /*< nick=none >*/
;;   G_FILE_COPY_OVERWRITE            = (1 << 0),
;;   G_FILE_COPY_BACKUP               = (1 << 1),
;;   G_FILE_COPY_NOFOLLOW_SYMLINKS    = (1 << 2),
;;   G_FILE_COPY_ALL_METADATA         = (1 << 3),
;;   G_FILE_COPY_NO_FALLBACK_FOR_MOVE = (1 << 4),
;;   G_FILE_COPY_TARGET_DEFAULT_PERMS = (1 << 5)
;; } GFileCopyFlags;

(define-flags-extended FileCopyFlags
  (in-module "G")
  (c-name "GFileCopyFlags")
  (values
    '("none" "G_FILE_COPY_NONE" "0x0")
    '("overwrite" "G_FILE_COPY_OVERWRITE" "(1 << 0)")
    '("backup" "G_FILE_COPY_BACKUP" "(1 << 1)")
    '("nofollow-symlinks" "G_FILE_COPY_NOFOLLOW_SYMLINKS" "(1 << 2)")
    '("all-metadata" "G_FILE_COPY_ALL_METADATA" "(1 << 3)")
    '("no-fallback-for-move" "G_FILE_COPY_NO_FALLBACK_FOR_MOVE" "(1 << 4)")
    '("target-default-perms" "G_FILE_COPY_TARGET_DEFAULT_PERMS" "(1 << 5)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_FILE_MONITOR_NONE         = 0,
;;   G_FILE_MONITOR_WATCH_MOUNTS = (1 << 0),
;;   G_FILE_MONITOR_SEND_MOVED   = (1 << 1)
;; } GFileMonitorFlags;

(define-flags-extended FileMonitorFlags
  (in-module "G")
  (c-name "GFileMonitorFlags")
  (values
    '("none" "G_FILE_MONITOR_NONE" "0x0")
    '("watch-mounts" "G_FILE_MONITOR_WATCH_MOUNTS" "(1 << 0)")
    '("send-moved" "G_FILE_MONITOR_SEND_MOVED" "(1 << 1)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_FILE_TYPE_UNKNOWN = 0,
;;   G_FILE_TYPE_REGULAR,
;;   G_FILE_TYPE_DIRECTORY,
;;   G_FILE_TYPE_SYMBOLIC_LINK,
;;   G_FILE_TYPE_SPECIAL, /* socket, fifo, blockdev, chardev */
;;   G_FILE_TYPE_SHORTCUT,
;;   G_FILE_TYPE_MOUNTABLE
;; } GFileType;

(define-enum-extended FileType
  (in-module "G")
  (c-name "GFileType")
  (values
    '("unknown" "G_FILE_TYPE_UNKNOWN" "0")
    '("regular" "G_FILE_TYPE_REGULAR" "1")
    '("directory" "G_FILE_TYPE_DIRECTORY" "2")
    '("symbolic-link" "G_FILE_TYPE_SYMBOLIC_LINK" "3")
    '("special" "G_FILE_TYPE_SPECIAL" "4")
    '("shortcut" "G_FILE_TYPE_SHORTCUT" "5")
    '("mountable" "G_FILE_TYPE_MOUNTABLE" "6")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS = 0,
;;   G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL,
;;   G_FILESYSTEM_PREVIEW_TYPE_NEVER
;; } GFilesystemPreviewType;

(define-enum-extended FilesystemPreviewType
  (in-module "G")
  (c-name "GFilesystemPreviewType")
  (values
    '("if-always" "G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS" "0")
    '("if-local" "G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL" "1")
    '("never" "G_FILESYSTEM_PREVIEW_TYPE_NEVER" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_FILE_MONITOR_EVENT_CHANGED,
;;   G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT,
;;   G_FILE_MONITOR_EVENT_DELETED,
;;   G_FILE_MONITOR_EVENT_CREATED,
;;   G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED,
;;   G_FILE_MONITOR_EVENT_PRE_UNMOUNT,
;;   G_FILE_MONITOR_EVENT_UNMOUNTED,
;;   G_FILE_MONITOR_EVENT_MOVED
;; } GFileMonitorEvent;

(define-enum-extended FileMonitorEvent
  (in-module "G")
  (c-name "GFileMonitorEvent")
  (values
    '("changed" "G_FILE_MONITOR_EVENT_CHANGED" "0")
    '("changes-done-hint" "G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT" "1")
    '("deleted" "G_FILE_MONITOR_EVENT_DELETED" "2")
    '("created" "G_FILE_MONITOR_EVENT_CREATED" "3")
    '("attribute-changed" "G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED" "4")
    '("pre-unmount" "G_FILE_MONITOR_EVENT_PRE_UNMOUNT" "5")
    '("unmounted" "G_FILE_MONITOR_EVENT_UNMOUNTED" "6")
    '("moved" "G_FILE_MONITOR_EVENT_MOVED" "7")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_IO_ERROR_FAILED,
;;   G_IO_ERROR_NOT_FOUND,
;;   G_IO_ERROR_EXISTS,
;;   G_IO_ERROR_IS_DIRECTORY,
;;   G_IO_ERROR_NOT_DIRECTORY,
;;   G_IO_ERROR_NOT_EMPTY,
;;   G_IO_ERROR_NOT_REGULAR_FILE,
;;   G_IO_ERROR_NOT_SYMBOLIC_LINK,
;;   G_IO_ERROR_NOT_MOUNTABLE_FILE,
;;   G_IO_ERROR_FILENAME_TOO_LONG,
;;   G_IO_ERROR_INVALID_FILENAME,
;;   G_IO_ERROR_TOO_MANY_LINKS,
;;   G_IO_ERROR_NO_SPACE,
;;   G_IO_ERROR_INVALID_ARGUMENT,
;;   G_IO_ERROR_PERMISSION_DENIED,
;;   G_IO_ERROR_NOT_SUPPORTED,
;;   G_IO_ERROR_NOT_MOUNTED,
;;   G_IO_ERROR_ALREADY_MOUNTED,
;;   G_IO_ERROR_CLOSED,
;;   G_IO_ERROR_CANCELLED,
;;   G_IO_ERROR_PENDING,
;;   G_IO_ERROR_READ_ONLY,
;;   G_IO_ERROR_CANT_CREATE_BACKUP,
;;   G_IO_ERROR_WRONG_ETAG,
;;   G_IO_ERROR_TIMED_OUT,
;;   G_IO_ERROR_WOULD_RECURSE,
;;   G_IO_ERROR_BUSY,
;;   G_IO_ERROR_WOULD_BLOCK,
;;   G_IO_ERROR_HOST_NOT_FOUND,
;;   G_IO_ERROR_WOULD_MERGE,
;;   G_IO_ERROR_FAILED_HANDLED,
;;   G_IO_ERROR_TOO_MANY_OPEN_FILES,
;;   G_IO_ERROR_NOT_INITIALIZED,
;;   G_IO_ERROR_ADDRESS_IN_USE,
;;   G_IO_ERROR_PARTIAL_INPUT,
;;   G_IO_ERROR_INVALID_DATA,
;;   G_IO_ERROR_DBUS_ERROR,
;;   G_IO_ERROR_HOST_UNREACHABLE,
;;   G_IO_ERROR_NETWORK_UNREACHABLE,
;;   G_IO_ERROR_CONNECTION_REFUSED,
;;   G_IO_ERROR_PROXY_FAILED,
;;   G_IO_ERROR_PROXY_AUTH_FAILED,
;;   G_IO_ERROR_PROXY_NEED_AUTH,
;;   G_IO_ERROR_PROXY_NOT_ALLOWED
;; } GIOErrorEnum;

(define-enum-extended IOErrorEnum
  (in-module "G")
  (c-name "GIOErrorEnum")
  (values
    '("failed" "G_IO_ERROR_FAILED" "0")
    '("not-found" "G_IO_ERROR_NOT_FOUND" "1")
    '("exists" "G_IO_ERROR_EXISTS" "2")
    '("is-directory" "G_IO_ERROR_IS_DIRECTORY" "3")
    '("not-directory" "G_IO_ERROR_NOT_DIRECTORY" "4")
    '("not-empty" "G_IO_ERROR_NOT_EMPTY" "5")
    '("not-regular-file" "G_IO_ERROR_NOT_REGULAR_FILE" "6")
    '("not-symbolic-link" "G_IO_ERROR_NOT_SYMBOLIC_LINK" "7")
    '("not-mountable-file" "G_IO_ERROR_NOT_MOUNTABLE_FILE" "8")
    '("filename-too-long" "G_IO_ERROR_FILENAME_TOO_LONG" "9")
    '("invalid-filename" "G_IO_ERROR_INVALID_FILENAME" "10")
    '("too-many-links" "G_IO_ERROR_TOO_MANY_LINKS" "11")
    '("no-space" "G_IO_ERROR_NO_SPACE" "12")
    '("invalid-argument" "G_IO_ERROR_INVALID_ARGUMENT" "13")
    '("permission-denied" "G_IO_ERROR_PERMISSION_DENIED" "14")
    '("not-supported" "G_IO_ERROR_NOT_SUPPORTED" "15")
    '("not-mounted" "G_IO_ERROR_NOT_MOUNTED" "16")
    '("already-mounted" "G_IO_ERROR_ALREADY_MOUNTED" "17")
    '("closed" "G_IO_ERROR_CLOSED" "18")
    '("cancelled" "G_IO_ERROR_CANCELLED" "19")
    '("pending" "G_IO_ERROR_PENDING" "20")
    '("read-only" "G_IO_ERROR_READ_ONLY" "21")
    '("cant-create-backup" "G_IO_ERROR_CANT_CREATE_BACKUP" "22")
    '("wrong-etag" "G_IO_ERROR_WRONG_ETAG" "23")
    '("timed-out" "G_IO_ERROR_TIMED_OUT" "24")
    '("would-recurse" "G_IO_ERROR_WOULD_RECURSE" "25")
    '("busy" "G_IO_ERROR_BUSY" "26")
    '("would-block" "G_IO_ERROR_WOULD_BLOCK" "27")
    '("host-not-found" "G_IO_ERROR_HOST_NOT_FOUND" "28")
    '("host-not-found" "G_IO_ERROR_HOST_WAS_NOT_FOUND" "28")
    '("would-merge" "G_IO_ERROR_WOULD_MERGE" "29")
    '("failed-handled" "G_IO_ERROR_FAILED_HANDLED" "30")
    '("too-many-open-files" "G_IO_ERROR_TOO_MANY_OPEN_FILES" "31")
    '("not-initialized" "G_IO_ERROR_NOT_INITIALIZED" "32")
    '("address-in-use" "G_IO_ERROR_ADDRESS_IN_USE" "33")
    '("partial-input" "G_IO_ERROR_PARTIAL_INPUT" "34")
    '("invalid-data" "G_IO_ERROR_INVALID_DATA" "35")
    '("dbus-error" "G_IO_ERROR_DBUS_ERROR" "36")
    '("host-unreachable" "G_IO_ERROR_HOST_UNREACHABLE" "37")
    '("network-unreachable" "G_IO_ERROR_NETWORK_UNREACHABLE" "38")
    '("connection-refused" "G_IO_ERROR_CONNECTION_REFUSED" "39")
    '("proxy-failed" "G_IO_ERROR_PROXY_FAILED" "40")
    '("proxy-auth-failed" "G_IO_ERROR_PROXY_AUTH_FAILED" "41")
    '("proxy-need-auth" "G_IO_ERROR_PROXY_NEED_AUTH" "42")
    '("proxy-not-allowed" "G_IO_ERROR_PROXY_NOT_ALLOWED" "43")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_ASK_PASSWORD_NEED_PASSWORD       = (1 << 0),
;;   G_ASK_PASSWORD_NEED_USERNAME       = (1 << 1),
;;   G_ASK_PASSWORD_NEED_DOMAIN         = (1 << 2),
;;   G_ASK_PASSWORD_SAVING_SUPPORTED    = (1 << 3),
;;   G_ASK_PASSWORD_ANONYMOUS_SUPPORTED = (1 << 4)
;; } GAskPasswordFlags;

(define-flags-extended AskPasswordFlags
  (in-module "G")
  (c-name "GAskPasswordFlags")
  (values
    '("need-password" "G_ASK_PASSWORD_NEED_PASSWORD" "(1 << 0)")
    '("need-username" "G_ASK_PASSWORD_NEED_USERNAME" "(1 << 1)")
    '("need-domain" "G_ASK_PASSWORD_NEED_DOMAIN" "(1 << 2)")
    '("saving-supported" "G_ASK_PASSWORD_SAVING_SUPPORTED" "(1 << 3)")
    '("anonymous-supported" "G_ASK_PASSWORD_ANONYMOUS_SUPPORTED" "(1 << 4)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_PASSWORD_SAVE_NEVER,
;;   G_PASSWORD_SAVE_FOR_SESSION,
;;   G_PASSWORD_SAVE_PERMANENTLY
;; } GPasswordSave;

(define-enum-extended PasswordSave
  (in-module "G")
  (c-name "GPasswordSave")
  (values
    '("never" "G_PASSWORD_SAVE_NEVER" "0")
    '("for-session" "G_PASSWORD_SAVE_FOR_SESSION" "1")
    '("permanently" "G_PASSWORD_SAVE_PERMANENTLY" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_MOUNT_OPERATION_HANDLED,
;;   G_MOUNT_OPERATION_ABORTED,
;;   G_MOUNT_OPERATION_UNHANDLED
;; } GMountOperationResult;

(define-enum-extended MountOperationResult
  (in-module "G")
  (c-name "GMountOperationResult")
  (values
    '("handled" "G_MOUNT_OPERATION_HANDLED" "0")
    '("aborted" "G_MOUNT_OPERATION_ABORTED" "1")
    '("unhandled" "G_MOUNT_OPERATION_UNHANDLED" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_OUTPUT_STREAM_SPLICE_NONE         = 0,
;;   G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE = (1 << 0),
;;   G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET = (1 << 1)
;; } GOutputStreamSpliceFlags;

(define-flags-extended OutputStreamSpliceFlags
  (in-module "G")
  (c-name "GOutputStreamSpliceFlags")
  (values
    '("none" "G_OUTPUT_STREAM_SPLICE_NONE" "0x0")
    '("close-source" "G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE" "(1 << 0)")
    '("close-target" "G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET" "(1 << 1)")
  )
)

;; Original typedef:
;; typedef enum  {
;;   G_EMBLEM_ORIGIN_UNKNOWN,
;;   G_EMBLEM_ORIGIN_DEVICE,
;;   G_EMBLEM_ORIGIN_LIVEMETADATA,
;;   G_EMBLEM_ORIGIN_TAG
;; } GEmblemOrigin;

(define-enum-extended EmblemOrigin
  (in-module "G")
  (c-name "GEmblemOrigin")
  (values
    '("unknown" "G_EMBLEM_ORIGIN_UNKNOWN" "0")
    '("device" "G_EMBLEM_ORIGIN_DEVICE" "1")
    '("livemetadata" "G_EMBLEM_ORIGIN_LIVEMETADATA" "2")
    '("tag" "G_EMBLEM_ORIGIN_TAG" "3")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_RESOLVER_ERROR_NOT_FOUND,
;;   G_RESOLVER_ERROR_TEMPORARY_FAILURE,
;;   G_RESOLVER_ERROR_INTERNAL
;; } GResolverError;

(define-enum-extended ResolverError
  (in-module "G")
  (c-name "GResolverError")
  (values
    '("not-found" "G_RESOLVER_ERROR_NOT_FOUND" "0")
    '("temporary-failure" "G_RESOLVER_ERROR_TEMPORARY_FAILURE" "1")
    '("internal" "G_RESOLVER_ERROR_INTERNAL" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_SOCKET_FAMILY_INVALID,
;; #ifdef GLIB_SYSDEF_AF_UNIX
;;   G_SOCKET_FAMILY_UNIX = GLIB_SYSDEF_AF_UNIX,
;; #endif
;;   G_SOCKET_FAMILY_IPV4 = GLIB_SYSDEF_AF_INET,
;;   G_SOCKET_FAMILY_IPV6 = GLIB_SYSDEF_AF_INET6
;; } GSocketFamily;

(define-enum-extended SocketFamily
  (in-module "G")
  (c-name "GSocketFamily")
  (values
    '("invalid" "G_SOCKET_FAMILY_INVALID" "0")
    '("unix" "G_SOCKET_FAMILY_UNIX" "GLIB_SYSDEF_AF_UNIX")
    '("ipv4" "G_SOCKET_FAMILY_IPV4" "GLIB_SYSDEF_AF_INET")
    '("ipv6" "G_SOCKET_FAMILY_IPV6" "GLIB_SYSDEF_AF_INET6")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_SOCKET_TYPE_INVALID,
;;   G_SOCKET_TYPE_STREAM,
;;   G_SOCKET_TYPE_DATAGRAM,
;;   G_SOCKET_TYPE_SEQPACKET
;; } GSocketType;

(define-enum-extended SocketType
  (in-module "G")
  (c-name "GSocketType")
  (values
    '("invalid" "G_SOCKET_TYPE_INVALID" "0")
    '("stream" "G_SOCKET_TYPE_STREAM" "1")
    '("datagram" "G_SOCKET_TYPE_DATAGRAM" "2")
    '("seqpacket" "G_SOCKET_TYPE_SEQPACKET" "3")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_SOCKET_MSG_NONE,
;;   G_SOCKET_MSG_OOB = GLIB_SYSDEF_MSG_OOB,
;;   G_SOCKET_MSG_PEEK = GLIB_SYSDEF_MSG_PEEK,
;;   G_SOCKET_MSG_DONTROUTE = GLIB_SYSDEF_MSG_DONTROUTE
;; } GSocketMsgFlags;

(define-flags-extended SocketMsgFlags
  (in-module "G")
  (c-name "GSocketMsgFlags")
  (values
    '("none" "G_SOCKET_MSG_NONE" "0x0")
    '("oob" "G_SOCKET_MSG_OOB" "GLIB_SYSDEF_MSG_OOB")
    '("peek" "G_SOCKET_MSG_PEEK" "GLIB_SYSDEF_MSG_PEEK")
    '("dontroute" "G_SOCKET_MSG_DONTROUTE" "GLIB_SYSDEF_MSG_DONTROUTE")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_SOCKET_PROTOCOL_UNKNOWN = -1,
;;   G_SOCKET_PROTOCOL_DEFAULT = 0,
;;   G_SOCKET_PROTOCOL_TCP     = 6,
;;   G_SOCKET_PROTOCOL_UDP     = 17,
;;   G_SOCKET_PROTOCOL_SCTP    = 132
;; } GSocketProtocol;

(define-enum-extended SocketProtocol
  (in-module "G")
  (c-name "GSocketProtocol")
  (values
    '("unknown" "G_SOCKET_PROTOCOL_UNKNOWN" "-1")
    '("default" "G_SOCKET_PROTOCOL_DEFAULT" "0")
    '("tcp" "G_SOCKET_PROTOCOL_TCP" "6")
    '("udp" "G_SOCKET_PROTOCOL_UDP" "17")
    '("sctp" "G_SOCKET_PROTOCOL_SCTP" "132")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_ZLIB_COMPRESSOR_FORMAT_ZLIB,
;;   G_ZLIB_COMPRESSOR_FORMAT_GZIP,
;;   G_ZLIB_COMPRESSOR_FORMAT_RAW
;; } GZlibCompressorFormat;

(define-enum-extended ZlibCompressorFormat
  (in-module "G")
  (c-name "GZlibCompressorFormat")
  (values
    '("zlib" "G_ZLIB_COMPRESSOR_FORMAT_ZLIB" "0")
    '("gzip" "G_ZLIB_COMPRESSOR_FORMAT_GZIP" "1")
    '("raw" "G_ZLIB_COMPRESSOR_FORMAT_RAW" "2")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_UNIX_SOCKET_ADDRESS_INVALID,
;;   G_UNIX_SOCKET_ADDRESS_ANONYMOUS,
;;   G_UNIX_SOCKET_ADDRESS_PATH,
;;   G_UNIX_SOCKET_ADDRESS_ABSTRACT,
;;   G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED
;; } GUnixSocketAddressType;

(define-enum-extended UnixSocketAddressType
  (in-module "G")
  (c-name "GUnixSocketAddressType")
  (values
    '("invalid" "G_UNIX_SOCKET_ADDRESS_INVALID" "0")
    '("anonymous" "G_UNIX_SOCKET_ADDRESS_ANONYMOUS" "1")
    '("path" "G_UNIX_SOCKET_ADDRESS_PATH" "2")
    '("abstract" "G_UNIX_SOCKET_ADDRESS_ABSTRACT" "3")
    '("abstract-padded" "G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED" "4")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_BUS_TYPE_STARTER = -1,
;;   G_BUS_TYPE_NONE = 0,
;;   G_BUS_TYPE_SYSTEM  = 1,
;;   G_BUS_TYPE_SESSION = 2
;; } GBusType;

(define-enum-extended BusType
  (in-module "G")
  (c-name "GBusType")
  (values
    '("starter" "G_BUS_TYPE_STARTER" "-1")
    '("none" "G_BUS_TYPE_NONE" "0")
    '("system" "G_BUS_TYPE_SYSTEM" "1")
    '("session" "G_BUS_TYPE_SESSION" "2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_BUS_NAME_OWNER_FLAGS_NONE = 0,                    /*< nick=none >*/
;;   G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT = (1<<0),  /*< nick=allow-replacement >*/
;;   G_BUS_NAME_OWNER_FLAGS_REPLACE = (1<<1)            /*< nick=replace >*/
;; } GBusNameOwnerFlags;

(define-flags-extended BusNameOwnerFlags
  (in-module "G")
  (c-name "GBusNameOwnerFlags")
  (values
    '("none" "G_BUS_NAME_OWNER_FLAGS_NONE" "0x0")
    '("allow-replacement" "G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT" "(1<<0)")
    '("replace" "G_BUS_NAME_OWNER_FLAGS_REPLACE" "(1<<1)")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_BUS_NAME_WATCHER_FLAGS_NONE = 0,
;;   G_BUS_NAME_WATCHER_FLAGS_AUTO_START = (1<<0)
;; } GBusNameWatcherFlags;

(define-flags-extended BusNameWatcherFlags
  (in-module "G")
  (c-name "GBusNameWatcherFlags")
  (values
    '("none" "G_BUS_NAME_WATCHER_FLAGS_NONE" "0x0")
    '("auto-start" "G_BUS_NAME_WATCHER_FLAGS_AUTO_START" "(1<<0)")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_DBUS_PROXY_FLAGS_NONE = 0,
;;   G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES = (1<<0),
;;   G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS = (1<<1),
;;   G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START = (1<<2)
;; } GDBusProxyFlags;

(define-flags-extended DBusProxyFlags
  (in-module "G")
  (c-name "GDBusProxyFlags")
  (values
    '("none" "G_DBUS_PROXY_FLAGS_NONE" "0x0")
    '("do-not-load-properties" "G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES" "(1<<0)")
    '("do-not-connect-signals" "G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS" "(1<<1)")
    '("do-not-auto-start" "G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START" "(1<<2)")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   /* Well-known errors in the org.freedesktop.DBus.Error namespace */
;;   G_DBUS_ERROR_FAILED,                           /* org.freedesktop.DBus.Error.Failed */
;;   G_DBUS_ERROR_NO_MEMORY,                        /* org.freedesktop.DBus.Error.NoMemory */
;;   G_DBUS_ERROR_SERVICE_UNKNOWN,                  /* org.freedesktop.DBus.Error.ServiceUnknown */
;;   G_DBUS_ERROR_NAME_HAS_NO_OWNER,                /* org.freedesktop.DBus.Error.NameHasNoOwner */
;;   G_DBUS_ERROR_NO_REPLY,                         /* org.freedesktop.DBus.Error.NoReply */
;;   G_DBUS_ERROR_IO_ERROR,                         /* org.freedesktop.DBus.Error.IOError */
;;   G_DBUS_ERROR_BAD_ADDRESS,                      /* org.freedesktop.DBus.Error.BadAddress */
;;   G_DBUS_ERROR_NOT_SUPPORTED,                    /* org.freedesktop.DBus.Error.NotSupported */
;;   G_DBUS_ERROR_LIMITS_EXCEEDED,                  /* org.freedesktop.DBus.Error.LimitsExceeded */
;;   G_DBUS_ERROR_ACCESS_DENIED,                    /* org.freedesktop.DBus.Error.AccessDenied */
;;   G_DBUS_ERROR_AUTH_FAILED,                      /* org.freedesktop.DBus.Error.AuthFailed */
;;   G_DBUS_ERROR_NO_SERVER,                        /* org.freedesktop.DBus.Error.NoServer */
;;   G_DBUS_ERROR_TIMEOUT,                          /* org.freedesktop.DBus.Error.Timeout */
;;   G_DBUS_ERROR_NO_NETWORK,                       /* org.freedesktop.DBus.Error.NoNetwork */
;;   G_DBUS_ERROR_ADDRESS_IN_USE,                   /* org.freedesktop.DBus.Error.AddressInUse */
;;   G_DBUS_ERROR_DISCONNECTED,                     /* org.freedesktop.DBus.Error.Disconnected */
;;   G_DBUS_ERROR_INVALID_ARGS,                     /* org.freedesktop.DBus.Error.InvalidArgs */
;;   G_DBUS_ERROR_FILE_NOT_FOUND,                   /* org.freedesktop.DBus.Error.FileNotFound */
;;   G_DBUS_ERROR_FILE_EXISTS,                      /* org.freedesktop.DBus.Error.FileExists */
;;   G_DBUS_ERROR_UNKNOWN_METHOD,                   /* org.freedesktop.DBus.Error.UnknownMethod */
;;   G_DBUS_ERROR_TIMED_OUT,                        /* org.freedesktop.DBus.Error.TimedOut */
;;   G_DBUS_ERROR_MATCH_RULE_NOT_FOUND,             /* org.freedesktop.DBus.Error.MatchRuleNotFound */
;;   G_DBUS_ERROR_MATCH_RULE_INVALID,               /* org.freedesktop.DBus.Error.MatchRuleInvalid */
;;   G_DBUS_ERROR_SPAWN_EXEC_FAILED,                /* org.freedesktop.DBus.Error.Spawn.ExecFailed */
;;   G_DBUS_ERROR_SPAWN_FORK_FAILED,                /* org.freedesktop.DBus.Error.Spawn.ForkFailed */
;;   G_DBUS_ERROR_SPAWN_CHILD_EXITED,               /* org.freedesktop.DBus.Error.Spawn.ChildExited */
;;   G_DBUS_ERROR_SPAWN_CHILD_SIGNALED,             /* org.freedesktop.DBus.Error.Spawn.ChildSignaled */
;;   G_DBUS_ERROR_SPAWN_FAILED,                     /* org.freedesktop.DBus.Error.Spawn.Failed */
;;   G_DBUS_ERROR_SPAWN_SETUP_FAILED,               /* org.freedesktop.DBus.Error.Spawn.FailedToSetup */
;;   G_DBUS_ERROR_SPAWN_CONFIG_INVALID,             /* org.freedesktop.DBus.Error.Spawn.ConfigInvalid */
;;   G_DBUS_ERROR_SPAWN_SERVICE_INVALID,            /* org.freedesktop.DBus.Error.Spawn.ServiceNotValid */
;;   G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND,          /* org.freedesktop.DBus.Error.Spawn.ServiceNotFound */
;;   G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID,        /* org.freedesktop.DBus.Error.Spawn.PermissionsInvalid */
;;   G_DBUS_ERROR_SPAWN_FILE_INVALID,               /* org.freedesktop.DBus.Error.Spawn.FileInvalid */
;;   G_DBUS_ERROR_SPAWN_NO_MEMORY,                  /* org.freedesktop.DBus.Error.Spawn.NoMemory */
;;   G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN,          /* org.freedesktop.DBus.Error.UnixProcessIdUnknown */
;;   G_DBUS_ERROR_INVALID_SIGNATURE,                /* org.freedesktop.DBus.Error.InvalidSignature */
;;   G_DBUS_ERROR_INVALID_FILE_CONTENT,             /* org.freedesktop.DBus.Error.InvalidFileContent */
;;   G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN, /* org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown */
;;   G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN,           /* org.freedesktop.DBus.Error.AdtAuditDataUnknown */
;;   G_DBUS_ERROR_OBJECT_PATH_IN_USE                /* org.freedesktop.DBus.Error.ObjectPathInUse */
;; } GDBusError;

(define-enum-extended DBusError
  (in-module "G")
  (c-name "GDBusError")
  (values
    '("failed" "G_DBUS_ERROR_FAILED" "0")
    '("no-memory" "G_DBUS_ERROR_NO_MEMORY" "1")
    '("service-unknown" "G_DBUS_ERROR_SERVICE_UNKNOWN" "2")
    '("name-has-no-owner" "G_DBUS_ERROR_NAME_HAS_NO_OWNER" "3")
    '("no-reply" "G_DBUS_ERROR_NO_REPLY" "4")
    '("io-error" "G_DBUS_ERROR_IO_ERROR" "5")
    '("bad-address" "G_DBUS_ERROR_BAD_ADDRESS" "6")
    '("not-supported" "G_DBUS_ERROR_NOT_SUPPORTED" "7")
    '("limits-exceeded" "G_DBUS_ERROR_LIMITS_EXCEEDED" "8")
    '("access-denied" "G_DBUS_ERROR_ACCESS_DENIED" "9")
    '("auth-failed" "G_DBUS_ERROR_AUTH_FAILED" "10")
    '("no-server" "G_DBUS_ERROR_NO_SERVER" "11")
    '("timeout" "G_DBUS_ERROR_TIMEOUT" "12")
    '("no-network" "G_DBUS_ERROR_NO_NETWORK" "13")
    '("address-in-use" "G_DBUS_ERROR_ADDRESS_IN_USE" "14")
    '("disconnected" "G_DBUS_ERROR_DISCONNECTED" "15")
    '("invalid-args" "G_DBUS_ERROR_INVALID_ARGS" "16")
    '("file-not-found" "G_DBUS_ERROR_FILE_NOT_FOUND" "17")
    '("file-exists" "G_DBUS_ERROR_FILE_EXISTS" "18")
    '("unknown-method" "G_DBUS_ERROR_UNKNOWN_METHOD" "19")
    '("timed-out" "G_DBUS_ERROR_TIMED_OUT" "20")
    '("match-rule-not-found" "G_DBUS_ERROR_MATCH_RULE_NOT_FOUND" "21")
    '("match-rule-invalid" "G_DBUS_ERROR_MATCH_RULE_INVALID" "22")
    '("spawn-exec-failed" "G_DBUS_ERROR_SPAWN_EXEC_FAILED" "23")
    '("spawn-fork-failed" "G_DBUS_ERROR_SPAWN_FORK_FAILED" "24")
    '("spawn-child-exited" "G_DBUS_ERROR_SPAWN_CHILD_EXITED" "25")
    '("spawn-child-signaled" "G_DBUS_ERROR_SPAWN_CHILD_SIGNALED" "26")
    '("spawn-failed" "G_DBUS_ERROR_SPAWN_FAILED" "27")
    '("spawn-setup-failed" "G_DBUS_ERROR_SPAWN_SETUP_FAILED" "28")
    '("spawn-config-invalid" "G_DBUS_ERROR_SPAWN_CONFIG_INVALID" "29")
    '("spawn-service-invalid" "G_DBUS_ERROR_SPAWN_SERVICE_INVALID" "30")
    '("spawn-service-not-found" "G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND" "31")
    '("spawn-permissions-invalid" "G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID" "32")
    '("spawn-file-invalid" "G_DBUS_ERROR_SPAWN_FILE_INVALID" "33")
    '("spawn-no-memory" "G_DBUS_ERROR_SPAWN_NO_MEMORY" "34")
    '("unix-process-id-unknown" "G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN" "35")
    '("invalid-signature" "G_DBUS_ERROR_INVALID_SIGNATURE" "36")
    '("invalid-file-content" "G_DBUS_ERROR_INVALID_FILE_CONTENT" "37")
    '("selinux-security-context-unknown" "G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN" "38")
    '("adt-audit-data-unknown" "G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN" "39")
    '("object-path-in-use" "G_DBUS_ERROR_OBJECT_PATH_IN_USE" "40")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_DBUS_CONNECTION_FLAGS_NONE = 0,
;;   G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT = (1<<0),
;;   G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER = (1<<1),
;;   G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<2),
;;   G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION = (1<<3),
;;   G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING = (1<<4)
;; } GDBusConnectionFlags;

(define-flags-extended DBusConnectionFlags
  (in-module "G")
  (c-name "GDBusConnectionFlags")
  (values
    '("none" "G_DBUS_CONNECTION_FLAGS_NONE" "0x0")
    '("authentication-client" "G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT" "(1<<0)")
    '("authentication-server" "G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER" "(1<<1)")
    '("authentication-allow-anonymous" "G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS" "(1<<2)")
    '("message-bus-connection" "G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION" "(1<<3)")
    '("delay-message-processing" "G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING" "(1<<4)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_DBUS_CAPABILITY_FLAGS_NONE = 0,
;;   G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING = (1<<0)
;; } GDBusCapabilityFlags;

(define-flags-extended DBusCapabilityFlags
  (in-module "G")
  (c-name "GDBusCapabilityFlags")
  (values
    '("none" "G_DBUS_CAPABILITY_FLAGS_NONE" "0x0")
    '("unix-fd-passing" "G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING" "(1<<0)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_DBUS_CALL_FLAGS_NONE = 0,
;;   G_DBUS_CALL_FLAGS_NO_AUTO_START = (1<<0)
;; } GDBusCallFlags;

(define-flags-extended DBusCallFlags
  (in-module "G")
  (c-name "GDBusCallFlags")
  (values
    '("none" "G_DBUS_CALL_FLAGS_NONE" "0x0")
    '("no-auto-start" "G_DBUS_CALL_FLAGS_NO_AUTO_START" "(1<<0)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_DBUS_MESSAGE_TYPE_INVALID,
;;   G_DBUS_MESSAGE_TYPE_METHOD_CALL,
;;   G_DBUS_MESSAGE_TYPE_METHOD_RETURN,
;;   G_DBUS_MESSAGE_TYPE_ERROR,
;;   G_DBUS_MESSAGE_TYPE_SIGNAL
;; } GDBusMessageType;

(define-enum-extended DBusMessageType
  (in-module "G")
  (c-name "GDBusMessageType")
  (values
    '("invalid" "G_DBUS_MESSAGE_TYPE_INVALID" "0")
    '("method-call" "G_DBUS_MESSAGE_TYPE_METHOD_CALL" "1")
    '("method-return" "G_DBUS_MESSAGE_TYPE_METHOD_RETURN" "2")
    '("error" "G_DBUS_MESSAGE_TYPE_ERROR" "3")
    '("signal" "G_DBUS_MESSAGE_TYPE_SIGNAL" "4")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_DBUS_MESSAGE_FLAGS_NONE = 0,
;;   G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED = (1<<0),
;;   G_DBUS_MESSAGE_FLAGS_NO_AUTO_START = (1<<1)
;; } GDBusMessageFlags;

(define-flags-extended DBusMessageFlags
  (in-module "G")
  (c-name "GDBusMessageFlags")
  (values
    '("none" "G_DBUS_MESSAGE_FLAGS_NONE" "0x0")
    '("no-reply-expected" "G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED" "(1<<0)")
    '("no-auto-start" "G_DBUS_MESSAGE_FLAGS_NO_AUTO_START" "(1<<1)")
  )
)

;; Original typedef:
;; typedef enum {
;;   G_DBUS_MESSAGE_HEADER_FIELD_INVALID,
;;   G_DBUS_MESSAGE_HEADER_FIELD_PATH,
;;   G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE,
;;   G_DBUS_MESSAGE_HEADER_FIELD_MEMBER,
;;   G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME,
;;   G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL,
;;   G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION,
;;   G_DBUS_MESSAGE_HEADER_FIELD_SENDER,
;;   G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE,
;;   G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS
;; } GDBusMessageHeaderField;

(define-enum-extended DBusMessageHeaderField
  (in-module "G")
  (c-name "GDBusMessageHeaderField")
  (values
    '("invalid" "G_DBUS_MESSAGE_HEADER_FIELD_INVALID" "0")
    '("path" "G_DBUS_MESSAGE_HEADER_FIELD_PATH" "1")
    '("interface" "G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE" "2")
    '("member" "G_DBUS_MESSAGE_HEADER_FIELD_MEMBER" "3")
    '("error-name" "G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME" "4")
    '("reply-serial" "G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL" "5")
    '("destination" "G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION" "6")
    '("sender" "G_DBUS_MESSAGE_HEADER_FIELD_SENDER" "7")
    '("signature" "G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE" "8")
    '("num-unix-fds" "G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS" "9")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_DBUS_PROPERTY_INFO_FLAGS_NONE = 0,
;;   G_DBUS_PROPERTY_INFO_FLAGS_READABLE = (1<<0),
;;   G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE = (1<<1)
;; } GDBusPropertyInfoFlags;

(define-flags-extended DBusPropertyInfoFlags
  (in-module "G")
  (c-name "GDBusPropertyInfoFlags")
  (values
    '("none" "G_DBUS_PROPERTY_INFO_FLAGS_NONE" "0x0")
    '("readable" "G_DBUS_PROPERTY_INFO_FLAGS_READABLE" "(1<<0)")
    '("writable" "G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE" "(1<<1)")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_DBUS_SUBTREE_FLAGS_NONE = 0,
;;   G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES = (1<<0)
;; } GDBusSubtreeFlags;

(define-flags-extended DBusSubtreeFlags
  (in-module "G")
  (c-name "GDBusSubtreeFlags")
  (values
    '("none" "G_DBUS_SUBTREE_FLAGS_NONE" "0x0")
    '("dispatch-to-unenumerated-nodes" "G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES" "(1<<0)")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_DBUS_SERVER_FLAGS_NONE = 0,
;;   G_DBUS_SERVER_FLAGS_RUN_IN_THREAD = (1<<0),
;;   G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<1)
;; } GDBusServerFlags;

(define-flags-extended DBusServerFlags
  (in-module "G")
  (c-name "GDBusServerFlags")
  (values
    '("none" "G_DBUS_SERVER_FLAGS_NONE" "0x0")
    '("run-in-thread" "G_DBUS_SERVER_FLAGS_RUN_IN_THREAD" "(1<<0)")
    '("authentication-allow-anonymous" "G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS" "(1<<1)")
  )
)

;; Original typedef:
;; typedef enum /*< flags >*/
;; {
;;   G_DBUS_SIGNAL_FLAGS_NONE = 0
;; } GDBusSignalFlags;

(define-flags-extended DBusSignalFlags
  (in-module "G")
  (c-name "GDBusSignalFlags")
  (values
    '("us-signal-flags-none" "G_DBUS_SIGNAL_FLAGS_NONE" "0x0")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_DBUS_SEND_MESSAGE_FLAGS_NONE = 0,
;;   G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL = (1<<0)
;; } GDBusSendMessageFlags;

(define-flags-extended DBusSendMessageFlags
  (in-module "G")
  (c-name "GDBusSendMessageFlags")
  (values
    '("none" "G_DBUS_SEND_MESSAGE_FLAGS_NONE" "0x0")
    '("preserve-serial" "G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL" "(1<<0)")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_CREDENTIALS_TYPE_INVALID,
;;   G_CREDENTIALS_TYPE_LINUX_UCRED,
;;   G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED
;; } GCredentialsType;

(define-enum-extended CredentialsType
  (in-module "G")
  (c-name "GCredentialsType")
  (values
    '("invalid" "G_CREDENTIALS_TYPE_INVALID" "0")
    '("linux-ucred" "G_CREDENTIALS_TYPE_LINUX_UCRED" "1")
    '("freebsd-cmsgcred" "G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED" "2")
  )
)

;; Original typedef:
;; typedef enum
;; {
;;   G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN    = 'B',
;;   G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN = 'l'
;; } GDBusMessageByteOrder;

(define-enum-extended DBusMessageByteOrder
  (in-module "G")
  (c-name "GDBusMessageByteOrder")
  (values
    '("big-endian" "G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN" "'B'")
    '("little-endian" "G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN" "'l'")
  )
)

;; From gsettings.h

;; Original typedef:
;; typedef enum
;; {
;;   G_SETTINGS_BIND_DEFAULT,
;;   G_SETTINGS_BIND_GET            = (1<<0),
;;   G_SETTINGS_BIND_SET            = (1<<1),
;;   G_SETTINGS_BIND_NO_SENSITIVITY = (1<<2),
;;   G_SETTINGS_BIND_GET_NO_CHANGES = (1<<3),
;;   G_SETTINGS_BIND_INVERT_BOOLEAN = (1<<4)
;; } GSettingsBindFlags;

(define-flags-extended SettingsBindFlags
  (in-module "G")
  (c-name "GSettingsBindFlags")
  (values
    '("default" "G_SETTINGS_BIND_DEFAULT" "0x0")
    '("get" "G_SETTINGS_BIND_GET" "(1<<0)")
    '("set" "G_SETTINGS_BIND_SET" "(1<<1)")
    '("no-sensitivity" "G_SETTINGS_BIND_NO_SENSITIVITY" "(1<<2)")
    '("get-no-changes" "G_SETTINGS_BIND_GET_NO_CHANGES" "(1<<3)")
    '("invert-boolean" "G_SETTINGS_BIND_INVERT_BOOLEAN" "(1<<4)")
  )
)
