;; -*- scheme -*-

; interface definitions ...

(define-interface AppInfo
  (in-module "gio")
  (c-name "GAppInfo")
  (gtype-id "G_TYPE_APP_INFO")
)

(define-interface AsyncInitable
  (in-module "gio")
  (c-name "GAsyncInitable")
  (gtype-id "G_TYPE_ASYNC_INITABLE")
)

(define-interface AsyncResult
  (in-module "gio")
  (c-name "GAsyncResult")
  (gtype-id "G_TYPE_ASYNC_RESULT")
)

(define-interface Drive
  (in-module "gio")
  (c-name "GDrive")
  (gtype-id "G_TYPE_DRIVE")
)

(define-interface File
  (docstring
"File(arg, path=None, uri=None) -> gio.File subclass\n"
"\n"
"If arg is specified; creates a GFile with the given argument from the\n"
"command line.  The value of arg can be either a URI, an absolute path\n"
"or a relative path resolved relative to the current working directory.\n"
"If path is specified, create a file from an absolute or relative path.\n"
"If uri is specified, create a file from a URI.\n\n"
"This operation never fails, but the returned object might not \n"
"support any I/O operation if arg points to a malformed path.")
  (in-module "gio")
  (c-name "GFile")
  (gtype-id "G_TYPE_FILE")
)

(define-interface Icon
  (in-module "gio")
  (c-name "GIcon")
  (gtype-id "G_TYPE_ICON")
)

(define-interface Initable
  (in-module "gio")
  (c-name "GInitable")
  (gtype-id "G_TYPE_INITABLE")
)

(define-interface LoadableIcon
  (in-module "gio")
  (c-name "GLoadableIcon")
  (gtype-id "G_TYPE_LOADABLE_ICON")
)

(define-interface Mount
  (in-module "gio")
  (c-name "GMount")
  (gtype-id "G_TYPE_MOUNT")
)

(define-interface Seekable
  (in-module "gio")
  (c-name "GSeekable")
  (gtype-id "G_TYPE_SEEKABLE")
)

(define-interface SocketConnectable
  (in-module "gio")
  (c-name "GSocketConnectable")
  (gtype-id "G_TYPE_SOCKET_CONNECTABLE")
)

(define-interface Volume
  (in-module "gio")
  (c-name "GVolume")
  (gtype-id "G_TYPE_VOLUME")
)

; boxed definitions ...

(define-boxed FileAttributeMatcher
  (in-module "gio")
  (c-name "GFileAttributeMatcher")
  (gtype-id "G_TYPE_FILE_ATTRIBUTE_MATCHER")
)

(define-boxed SrvTarget
  (in-module "gio")
  (c-name "GSrvTarget")
  (gtype-id "G_TYPE_SRV_TARGET")
)

; object definitions ...

(define-object AppLaunchContext
  (in-module "gio")
  (parent "GObject")
  (c-name "GAppLaunchContext")
  (gtype-id "G_TYPE_APP_LAUNCH_CONTEXT")
)

(define-object Cancellable
  (in-module "gio")
  (parent "GObject")
  (c-name "GCancellable")
  (gtype-id "G_TYPE_CANCELLABLE")
)

(define-object Emblem
  (in-module "gio")
  (parent "GObject")
  (c-name "GEmblem")
  (gtype-id "G_TYPE_EMBLEM")
)

(define-object EmblemedIcon
  (in-module "gio")
  (parent "GObject")
  (c-name "GEmblemedIcon")
  (gtype-id "G_TYPE_EMBLEMED_ICON")
)

(define-object FileEnumerator
  (in-module "gio")
  (parent "GObject")
  (c-name "GFileEnumerator")
  (gtype-id "G_TYPE_FILE_ENUMERATOR")
)

(define-object FileInfo
  (in-module "gio")
  (parent "GObject")
  (c-name "GFileInfo")
  (gtype-id "G_TYPE_FILE_INFO")
)

(define-object FileMonitor
  (in-module "gio")
  (parent "GObject")
  (c-name "GFileMonitor")
  (gtype-id "G_TYPE_FILE_MONITOR")
)

(define-object InputStream
  (in-module "gio")
  (parent "GObject")
  (c-name "GInputStream")
  (gtype-id "G_TYPE_INPUT_STREAM")
)

(define-object FileInputStream
  (in-module "gio")
  (parent "GInputStream")
  (c-name "GFileInputStream")
  (gtype-id "G_TYPE_FILE_INPUT_STREAM")
)

(define-object FileIOStream
  (in-module "gio")
  (parent "GIOStream")
  (c-name "GFileIOStream")
  (gtype-id "G_TYPE_FILE_IO_STREAM")
)

(define-object FilterInputStream
  (in-module "gio")
  (parent "GInputStream")
  (c-name "GFilterInputStream")
  (gtype-id "G_TYPE_FILTER_INPUT_STREAM")
)

(define-object BufferedInputStream
  (in-module "gio")
  (parent "GFilterInputStream")
  (c-name "GBufferedInputStream")
  (gtype-id "G_TYPE_BUFFERED_INPUT_STREAM")
)

(define-object DataInputStream
  (in-module "gio")
  (parent "GFilterInputStream")
  (c-name "GDataInputStream")
  (gtype-id "G_TYPE_DATA_INPUT_STREAM")
)

(define-object MemoryInputStream
  (in-module "gio")
  (parent "GInputStream")
  (c-name "GMemoryInputStream")
  (gtype-id "G_TYPE_MEMORY_INPUT_STREAM")
)

(define-object MountOperation
  (in-module "gio")
  (parent "GObject")
  (c-name "GMountOperation")
  (gtype-id "G_TYPE_MOUNT_OPERATION")
)

(define-object InetAddress
  (in-module "gio")
  (parent "GObject")
  (c-name "GInetAddress")
  (gtype-id "G_TYPE_INET_ADDRESS")
)

(define-object InetSocketAddress
  (in-module "gio")
  (parent "GSocketAddress")
  (c-name "GInetSocketAddress")
  (gtype-id "G_TYPE_INET_SOCKET_ADDRESS")
)

(define-object NetworkAddress
  (in-module "gio")
  (parent "GObject")
  (c-name "GNetworkAddress")
  (gtype-id "G_TYPE_NETWORK_ADDRESS")
)

(define-object NetworkService
  (in-module "gio")
  (parent "GObject")
  (c-name "GNetworkService")
  (gtype-id "G_TYPE_NETWORK_SERVICE")
)

(define-object Resolver
  (in-module "gio")
  (parent "GObject")
  (c-name "GResolver")
  (gtype-id "G_TYPE_RESOLVER")
)

(define-object Socket
  (in-module "gio")
  (parent "GObject")
  (c-name "GSocket")
  (gtype-id "G_TYPE_SOCKET")
)

(define-object SocketAddress
  (in-module "gio")
  (parent "GObject")
  (c-name "GSocketAddress")
  (gtype-id "G_TYPE_SOCKET_ADDRESS")
)

(define-object SocketAddressEnumerator
  (in-module "gio")
  (parent "GObject")
  (c-name "GSocketAddressEnumerator")
  (gtype-id "G_TYPE_SOCKET_ADDRESS_ENUMERATOR")
)

(define-object SocketClient
  (in-module "gio")
  (parent "GObject")
  (c-name "GSocketClient")
  (gtype-id "G_TYPE_SOCKET_CLIENT")
)

(define-object SocketConnection
  (in-module "gio")
  (parent "GIOStream")
  (c-name "GSocketConnection")
  (gtype-id "G_TYPE_SOCKET_CONNECTION")
)

(define-object SocketControlMessage
  (in-module "gio")
  (parent "GObject")
  (c-name "GSocketControlMessage")
  (gtype-id "G_TYPE_SOCKET_CONTROL_MESSAGE")
)

(define-object SocketListener
  (in-module "gio")
  (parent "GObject")
  (c-name "GSocketListener")
  (gtype-id "G_TYPE_SOCKET_LISTENER")
)

(define-object SocketService
  (in-module "gio")
  (parent "GSocketListener")
  (c-name "GSocketService")
  (gtype-id "G_TYPE_SOCKET_SERVICE")
)

(define-object TcpConnection
  (in-module "gio")
  (parent "GSocketConnection")
  (c-name "GTcpConnection")
  (gtype-id "G_TYPE_TCP_CONNECTION")
)

(define-object ThreadedSocketService
  (in-module "gio")
  (parent "GSocketService")
  (c-name "GThreadedSocketService")
  (gtype-id "G_TYPE_THREADED_SOCKET_SERVICE")
)

(define-object IOStream
  (in-module "gio")
  (parent "GObject")
  (c-name "GIOStream")
  (gtype-id "G_TYPE_IO_STREAM")
)

(define-object OutputStream
  (in-module "gio")
  (parent "GObject")
  (c-name "GOutputStream")
  (gtype-id "G_TYPE_OUTPUT_STREAM")
)

(define-object MemoryOutputStream
  (in-module "gio")
  (parent "GOutputStream")
  (c-name "GMemoryOutputStream")
  (gtype-id "G_TYPE_MEMORY_OUTPUT_STREAM")
)

(define-object FilterOutputStream
  (in-module "gio")
  (parent "GOutputStream")
  (c-name "GFilterOutputStream")
  (gtype-id "G_TYPE_FILTER_OUTPUT_STREAM")
)

(define-object BufferedOutputStream
  (in-module "gio")
  (parent "GFilterOutputStream")
  (c-name "GBufferedOutputStream")
  (gtype-id "G_TYPE_BUFFERED_OUTPUT_STREAM")
)

(define-object DataOutputStream
  (in-module "gio")
  (parent "GFilterOutputStream")
  (c-name "GDataOutputStream")
  (gtype-id "G_TYPE_DATA_OUTPUT_STREAM")
)

(define-object FileOutputStream
  (in-module "gio")
  (parent "GOutputStream")
  (c-name "GFileOutputStream")
  (gtype-id "G_TYPE_FILE_OUTPUT_STREAM")
)

(define-object SimpleAsyncResult
  (in-module "gio")
  (parent "GObject")
  (c-name "GSimpleAsyncResult")
  (gtype-id "G_TYPE_SIMPLE_ASYNC_RESULT")
)

(define-object Vfs
  (in-module "gio")
  (parent "GObject")
  (c-name "GVfs")
  (gtype-id "G_TYPE_VFS")
)

(define-object VolumeMonitor
  (in-module "gio")
  (parent "GObject")
  (c-name "GVolumeMonitor")
  (gtype-id "G_TYPE_VOLUME_MONITOR")
)

(define-object NativeVolumeMonitor
  (in-module "gio")
  (parent "GVolumeMonitor")
  (c-name "GNativeVolumeMonitor")
  (gtype-id "G_TYPE_NATIVE_VOLUME_MONITOR")
)

(define-object FileIcon
  (in-module "gio")
  (parent "GObject")
  (c-name "GFileIcon")
  (gtype-id "G_TYPE_FILE_ICON")
  (implements "GIcon")
  (implements "GLoadableIcon")
)

(define-object ThemedIcon
  (in-module "gio")
  (parent "GObject")
  (c-name "GThemedIcon")
  (gtype-id "G_TYPE_THEMED_ICON")
  (implements "GIcon")
)



;; Enumerations and flags ...

(define-flags AppInfoCreateFlags
  (in-module "gio")
  (c-name "GAppInfoCreateFlags")
  (gtype-id "G_TYPE_APP_INFO_CREATE_FLAGS")
  (values
    '("none" "G_APP_INFO_CREATE_NONE")
    '("needs-terminal" "G_APP_INFO_CREATE_NEEDS_TERMINAL")
    '("supports-uris" "G_APP_INFO_CREATE_SUPPORTS_URIS")
  )
)

(define-flags ConverterFlags
  (in-module "gio")
  (c-name "GConverterFlags")
  (gtype-id "G_TYPE_CONVERTER_FLAGS")
  (values
    '("no-flags" "G_CONVERTER_NO_FLAGS")
    '("input-at-end" "G_CONVERTER_INPUT_AT_END")
    '("flush" "G_CONVERTER_FLUSH")
  )
)

(define-enum ConverterResult
  (in-module "gio")
  (c-name "GConverterResult")
  (gtype-id "G_TYPE_CONVERTER_RESULT")
  (values
    '("error" "G_CONVERTER_ERROR")
    '("converted" "G_CONVERTER_CONVERTED")
    '("finished" "G_CONVERTER_FINISHED")
    '("flushed" "G_CONVERTER_FLUSHED")
  )
)

(define-enum DataStreamByteOrder
  (in-module "gio")
  (c-name "GDataStreamByteOrder")
  (gtype-id "G_TYPE_DATA_STREAM_BYTE_ORDER")
  (values
    '("big-endian" "G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN")
    '("little-endian" "G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN")
    '("host-endian" "G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN")
  )
)

(define-enum DataStreamNewlineType
  (in-module "gio")
  (c-name "GDataStreamNewlineType")
  (gtype-id "G_TYPE_DATA_STREAM_NEWLINE_TYPE")
  (values
    '("lf" "G_DATA_STREAM_NEWLINE_TYPE_LF")
    '("cr" "G_DATA_STREAM_NEWLINE_TYPE_CR")
    '("cr-lf" "G_DATA_STREAM_NEWLINE_TYPE_CR_LF")
    '("any" "G_DATA_STREAM_NEWLINE_TYPE_ANY")
  )
)

(define-enum FileAttributeType
  (in-module "gio")
  (c-name "GFileAttributeType")
  (gtype-id "G_TYPE_FILE_ATTRIBUTE_TYPE")
  (values
    '("invalid" "G_FILE_ATTRIBUTE_TYPE_INVALID")
    '("string" "G_FILE_ATTRIBUTE_TYPE_STRING")
    '("byte-string" "G_FILE_ATTRIBUTE_TYPE_BYTE_STRING")
    '("boolean" "G_FILE_ATTRIBUTE_TYPE_BOOLEAN")
    '("uint32" "G_FILE_ATTRIBUTE_TYPE_UINT32")
    '("int32" "G_FILE_ATTRIBUTE_TYPE_INT32")
    '("uint64" "G_FILE_ATTRIBUTE_TYPE_UINT64")
    '("int64" "G_FILE_ATTRIBUTE_TYPE_INT64")
    '("object" "G_FILE_ATTRIBUTE_TYPE_OBJECT")
    '("stringv" "G_FILE_ATTRIBUTE_TYPE_STRINGV")
  )
)

(define-flags FileAttributeInfoFlags
  (in-module "gio")
  (c-name "GFileAttributeInfoFlags")
  (gtype-id "G_TYPE_FILE_ATTRIBUTE_INFO_FLAGS")
  (values
    '("none" "G_FILE_ATTRIBUTE_INFO_NONE")
    '("copy-with-file" "G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE")
    '("copy-when-moved" "G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED")
  )
)

(define-enum FileAttributeStatus
  (in-module "gio")
  (c-name "GFileAttributeStatus")
  (gtype-id "G_TYPE_FILE_ATTRIBUTE_STATUS")
  (values
    '("unset" "G_FILE_ATTRIBUTE_STATUS_UNSET")
    '("set" "G_FILE_ATTRIBUTE_STATUS_SET")
    '("error-setting" "G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING")
  )
)

(define-flags FileQueryInfoFlags
  (in-module "gio")
  (c-name "GFileQueryInfoFlags")
  (gtype-id "G_TYPE_FILE_QUERY_INFO_FLAGS")
  (values
    '("none" "G_FILE_QUERY_INFO_NONE")
    '("nofollow-symlinks" "G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS")
  )
)

(define-flags FileCreateFlags
  (in-module "gio")
  (c-name "GFileCreateFlags")
  (gtype-id "G_TYPE_FILE_CREATE_FLAGS")
  (values
    '("none" "G_FILE_CREATE_NONE")
    '("private" "G_FILE_CREATE_PRIVATE")
    '("replace-destination" "G_FILE_CREATE_REPLACE_DESTINATION")
  )
)

(define-enum MountMountFlags
  (in-module "gio")
  (c-name "GMountMountFlags")
  (gtype-id "G_TYPE_MOUNT_MOUNT_FLAGS")
  (values
    '("none" "G_MOUNT_MOUNT_NONE")
  )
)

(define-flags MountUnmountFlags
  (in-module "gio")
  (c-name "GMountUnmountFlags")
  (gtype-id "G_TYPE_MOUNT_UNMOUNT_FLAGS")
  (values
    '("none" "G_MOUNT_UNMOUNT_NONE")
    '("force" "G_MOUNT_UNMOUNT_FORCE")
  )
)

(define-enum DriveStartFlags
  (in-module "gio")
  (c-name "GDriveStartFlags")
  (gtype-id "G_TYPE_DRIVE_START_FLAGS")
  (values
    '("none" "G_DRIVE_START_NONE")
  )
)

(define-enum DriveStartStopType
  (in-module "gio")
  (c-name "GDriveStartStopType")
  (gtype-id "G_TYPE_DRIVE_START_STOP_TYPE")
  (values
    '("unknown" "G_DRIVE_START_STOP_TYPE_UNKNOWN")
    '("shutdown" "G_DRIVE_START_STOP_TYPE_SHUTDOWN")
    '("network" "G_DRIVE_START_STOP_TYPE_NETWORK")
    '("multidisk" "G_DRIVE_START_STOP_TYPE_MULTIDISK")
    '("password" "G_DRIVE_START_STOP_TYPE_PASSWORD")
  )
)

(define-flags FileCopyFlags
  (in-module "gio")
  (c-name "GFileCopyFlags")
  (gtype-id "G_TYPE_FILE_COPY_FLAGS")
  (values
    '("none" "G_FILE_COPY_NONE")
    '("overwrite" "G_FILE_COPY_OVERWRITE")
    '("backup" "G_FILE_COPY_BACKUP")
    '("nofollow-symlinks" "G_FILE_COPY_NOFOLLOW_SYMLINKS")
    '("all-metadata" "G_FILE_COPY_ALL_METADATA")
    '("no-fallback-for-move" "G_FILE_COPY_NO_FALLBACK_FOR_MOVE")
    '("target-default-perms" "G_FILE_COPY_TARGET_DEFAULT_PERMS")
  )
)

(define-flags FileMonitorFlags
  (in-module "gio")
  (c-name "GFileMonitorFlags")
  (gtype-id "G_TYPE_FILE_MONITOR_FLAGS")
  (values
    '("none" "G_FILE_MONITOR_NONE")
    '("watch-mounts" "G_FILE_MONITOR_WATCH_MOUNTS")
  )
)

(define-enum FileType
  (in-module "gio")
  (c-name "GFileType")
  (gtype-id "G_TYPE_FILE_TYPE")
  (values
    '("unknown" "G_FILE_TYPE_UNKNOWN")
    '("regular" "G_FILE_TYPE_REGULAR")
    '("directory" "G_FILE_TYPE_DIRECTORY")
    '("symbolic-link" "G_FILE_TYPE_SYMBOLIC_LINK")
    '("special" "G_FILE_TYPE_SPECIAL")
    '("shortcut" "G_FILE_TYPE_SHORTCUT")
    '("mountable" "G_FILE_TYPE_MOUNTABLE")
  )
)

(define-enum FilesystemPreviewType
  (in-module "gio")
  (c-name "GFilesystemPreviewType")
  (gtype-id "G_TYPE_FILESYSTEM_PREVIEW_TYPE")
  (values
    '("if-always" "G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS")
    '("if-local" "G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL")
    '("never" "G_FILESYSTEM_PREVIEW_TYPE_NEVER")
  )
)

(define-enum FileMonitorEvent
  (in-module "gio")
  (c-name "GFileMonitorEvent")
  (gtype-id "G_TYPE_FILE_MONITOR_EVENT")
  (values
    '("changed" "G_FILE_MONITOR_EVENT_CHANGED")
    '("changes-done-hint" "G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT")
    '("deleted" "G_FILE_MONITOR_EVENT_DELETED")
    '("created" "G_FILE_MONITOR_EVENT_CREATED")
    '("attribute-changed" "G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED")
    '("pre-unmount" "G_FILE_MONITOR_EVENT_PRE_UNMOUNT")
    '("unmounted" "G_FILE_MONITOR_EVENT_UNMOUNTED")
  )
)

(define-enum ErrorEnum
  (in-module "gio")
  (c-name "GIOErrorEnum")
  (gtype-id "G_TYPE_IO_ERROR_ENUM")
  (values
    '("failed" "G_IO_ERROR_FAILED")
    '("not-found" "G_IO_ERROR_NOT_FOUND")
    '("exists" "G_IO_ERROR_EXISTS")
    '("is-directory" "G_IO_ERROR_IS_DIRECTORY")
    '("not-directory" "G_IO_ERROR_NOT_DIRECTORY")
    '("not-empty" "G_IO_ERROR_NOT_EMPTY")
    '("not-regular-file" "G_IO_ERROR_NOT_REGULAR_FILE")
    '("not-symbolic-link" "G_IO_ERROR_NOT_SYMBOLIC_LINK")
    '("not-mountable-file" "G_IO_ERROR_NOT_MOUNTABLE_FILE")
    '("filename-too-long" "G_IO_ERROR_FILENAME_TOO_LONG")
    '("invalid-filename" "G_IO_ERROR_INVALID_FILENAME")
    '("too-many-links" "G_IO_ERROR_TOO_MANY_LINKS")
    '("no-space" "G_IO_ERROR_NO_SPACE")
    '("invalid-argument" "G_IO_ERROR_INVALID_ARGUMENT")
    '("permission-denied" "G_IO_ERROR_PERMISSION_DENIED")
    '("not-supported" "G_IO_ERROR_NOT_SUPPORTED")
    '("not-mounted" "G_IO_ERROR_NOT_MOUNTED")
    '("already-mounted" "G_IO_ERROR_ALREADY_MOUNTED")
    '("closed" "G_IO_ERROR_CLOSED")
    '("cancelled" "G_IO_ERROR_CANCELLED")
    '("pending" "G_IO_ERROR_PENDING")
    '("read-only" "G_IO_ERROR_READ_ONLY")
    '("cant-create-backup" "G_IO_ERROR_CANT_CREATE_BACKUP")
    '("wrong-etag" "G_IO_ERROR_WRONG_ETAG")
    '("timed-out" "G_IO_ERROR_TIMED_OUT")
    '("would-recurse" "G_IO_ERROR_WOULD_RECURSE")
    '("busy" "G_IO_ERROR_BUSY")
    '("would-block" "G_IO_ERROR_WOULD_BLOCK")
    '("host-not-found" "G_IO_ERROR_HOST_NOT_FOUND")
    '("would-merge" "G_IO_ERROR_WOULD_MERGE")
    '("failed-handled" "G_IO_ERROR_FAILED_HANDLED")
    '("too-many-open-files" "G_IO_ERROR_TOO_MANY_OPEN_FILES")
    '("not-initialized" "G_IO_ERROR_NOT_INITIALIZED")
    '("address-in-use" "G_IO_ERROR_ADDRESS_IN_USE")
    '("partial-input" "G_IO_ERROR_PARTIAL_INPUT")
    '("invalid-data" "G_IO_ERROR_INVALID_DATA")
  )
)

(define-flags AskPasswordFlags
  (in-module "gio")
  (c-name "GAskPasswordFlags")
  (gtype-id "G_TYPE_ASK_PASSWORD_FLAGS")
  (values
    '("need-password" "G_ASK_PASSWORD_NEED_PASSWORD")
    '("need-username" "G_ASK_PASSWORD_NEED_USERNAME")
    '("need-domain" "G_ASK_PASSWORD_NEED_DOMAIN")
    '("saving-supported" "G_ASK_PASSWORD_SAVING_SUPPORTED")
    '("anonymous-supported" "G_ASK_PASSWORD_ANONYMOUS_SUPPORTED")
  )
)

(define-enum PasswordSave
  (in-module "gio")
  (c-name "GPasswordSave")
  (gtype-id "G_TYPE_PASSWORD_SAVE")
  (values
    '("never" "G_PASSWORD_SAVE_NEVER")
    '("for-session" "G_PASSWORD_SAVE_FOR_SESSION")
    '("permanently" "G_PASSWORD_SAVE_PERMANENTLY")
  )
)

(define-enum MountOperationResult
  (in-module "gio")
  (c-name "GMountOperationResult")
  (gtype-id "G_TYPE_MOUNT_OPERATION_RESULT")
  (values
    '("handled" "G_MOUNT_OPERATION_HANDLED")
    '("aborted" "G_MOUNT_OPERATION_ABORTED")
    '("unhandled" "G_MOUNT_OPERATION_UNHANDLED")
  )
)

(define-flags OutputStreamSpliceFlags
  (in-module "gio")
  (c-name "GOutputStreamSpliceFlags")
  (gtype-id "G_TYPE_OUTPUT_STREAM_SPLICE_FLAGS")
  (values
    '("none" "G_OUTPUT_STREAM_SPLICE_NONE")
    '("close-source" "G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE")
    '("close-target" "G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET")
  )
)

(define-enum EmblemOrigin
  (in-module "gio")
  (c-name "GEmblemOrigin")
  (gtype-id "G_TYPE_EMBLEM_ORIGIN")
  (values
    '("unknown" "G_EMBLEM_ORIGIN_UNKNOWN")
    '("device" "G_EMBLEM_ORIGIN_DEVICE")
    '("livemetadata" "G_EMBLEM_ORIGIN_LIVEMETADATA")
    '("tag" "G_EMBLEM_ORIGIN_TAG")
  )
)

(define-enum ResolverError
  (in-module "gio")
  (c-name "GResolverError")
  (gtype-id "G_TYPE_RESOLVER_ERROR")
  (values
    '("not-found" "G_RESOLVER_ERROR_NOT_FOUND")
    '("temporary-failure" "G_RESOLVER_ERROR_TEMPORARY_FAILURE")
    '("internal" "G_RESOLVER_ERROR_INTERNAL")
  )
)

(define-enum SocketFamily
  (in-module "gio")
  (c-name "GSocketFamily")
  (gtype-id "G_TYPE_SOCKET_FAMILY")
  (values
    '("invalid" "G_SOCKET_FAMILY_INVALID")
    '("unix" "G_SOCKET_FAMILY_UNIX")
    '("ipv4" "G_SOCKET_FAMILY_IPV4")
    '("ipv6" "G_SOCKET_FAMILY_IPV6")
  )
)

(define-enum SocketType
  (in-module "gio")
  (c-name "GSocketType")
  (gtype-id "G_TYPE_SOCKET_TYPE")
  (values
    '("invalid" "G_SOCKET_TYPE_INVALID")
    '("stream" "G_SOCKET_TYPE_STREAM")
    '("datagram" "G_SOCKET_TYPE_DATAGRAM")
    '("seqpacket" "G_SOCKET_TYPE_SEQPACKET")
  )
)

(define-enum SocketMsgFlags
  (in-module "gio")
  (c-name "GSocketMsgFlags")
  (gtype-id "G_TYPE_SOCKET_MSG_FLAGS")
  (values
    '("none" "G_SOCKET_MSG_NONE")
    '("oob" "G_SOCKET_MSG_OOB")
    '("peek" "G_SOCKET_MSG_PEEK")
    '("dontroute" "G_SOCKET_MSG_DONTROUTE")
  )
)

(define-enum SocketProtocol
  (in-module "gio")
  (c-name "GSocketProtocol")
  (gtype-id "G_TYPE_SOCKET_PROTOCOL")
  (values
    '("unknown" "G_SOCKET_PROTOCOL_UNKNOWN")
    '("default" "G_SOCKET_PROTOCOL_DEFAULT")
    '("tcp" "G_SOCKET_PROTOCOL_TCP")
    '("udp" "G_SOCKET_PROTOCOL_UDP")
    '("sctp" "G_SOCKET_PROTOCOL_SCTP")
  )
)

(define-enum ZlibCompressorFormat
  (in-module "gio")
  (c-name "GZlibCompressorFormat")
  (gtype-id "G_TYPE_ZLIB_COMPRESSOR_FORMAT")
  (values
    '("zlib" "G_ZLIB_COMPRESSOR_FORMAT_ZLIB")
    '("gzip" "G_ZLIB_COMPRESSOR_FORMAT_GZIP")
    '("raw" "G_ZLIB_COMPRESSOR_FORMAT_RAW")
  )
)
