### ----------------------------------------------------
### -- Gnome::Gtk3
### -- Licenses: Artistic-2.0
### -- Authors: Marcel Timmerman
### -- File: docs/content-docs/reference/Gio/Enums.md
### ----------------------------------------------------
### -- Chunk 1 of 2
Gnome::Gio::Enums
=================

Description
===========

All enummerations and flags used for Gio are defined here.

Synopsis
========

Declaration
-----------

    unit class Gnome::Gio::Enums;

Types
=====

enum GAppInfoCreateFlags
------------------------

Flags used when creating a **Gnome::Gio::AppInfo**.

  * G_APP_INFO_CREATE_NONE: No flags.

  * G_APP_INFO_CREATE_NEEDS_TERMINAL: Application opens in a terminal window.

  * G_APP_INFO_CREATE_SUPPORTS_URIS: Application supports URI arguments.

  * G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION: Application supports startup notification.

enum GConverterFlags
--------------------

Flags used when calling a `g_converter_convert()`.

  * G_CONVERTER_NO_FLAGS: No flags.

  * G_CONVERTER_INPUT_AT_END: At end of input data

  * G_CONVERTER_FLUSH: Flush data

enum GConverterResult
---------------------

Results returned from `g_converter_convert()`.

Since: 2.24

  * G_CONVERTER_ERROR: There was an error during conversion.

  * G_CONVERTER_CONVERTED: Some data was consumed or produced

  * G_CONVERTER_FINISHED: The conversion is finished

  * G_CONVERTER_FLUSHED: Flushing is finished

enum GDataStreamByteOrder
-------------------------

**GDataStreamByteOrder** is used to ensure proper endianness of streaming data sources across various machine architectures.

  * G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN: Selects Big Endian byte order.

  * G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN: Selects Little Endian byte order.

  * G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN: Selects endianness based on host machine's architecture.

enum GDataStreamNewlineType
---------------------------

**GDataStreamNewlineType** is used when checking for or setting the line endings for a given file.

  * G_DATA_STREAM_NEWLINE_TYPE_LF: Selects "LF" line endings, common on most modern UNIX platforms.

  * G_DATA_STREAM_NEWLINE_TYPE_CR: Selects "CR" line endings.

  * G_DATA_STREAM_NEWLINE_TYPE_CR_LF: Selects "CR, LF" line ending, common on Microsoft Windows.

  * G_DATA_STREAM_NEWLINE_TYPE_ANY: Automatically try to handle any line ending type.

enum GFileAttributeType
-----------------------

The data types for file attributes.

  * G_FILE_ATTRIBUTE_TYPE_INVALID: indicates an invalid or uninitalized type.

  * G_FILE_ATTRIBUTE_TYPE_STRING: a null terminated UTF8 string.

  * G_FILE_ATTRIBUTE_TYPE_BYTE_STRING: a zero terminated string of non-zero bytes.

  * G_FILE_ATTRIBUTE_TYPE_BOOLEAN: a boolean value.

  * G_FILE_ATTRIBUTE_TYPE_UINT32: an unsigned 4-byte/32-bit integer.

  * G_FILE_ATTRIBUTE_TYPE_INT32: a signed 4-byte/32-bit integer.

  * G_FILE_ATTRIBUTE_TYPE_UINT64: an unsigned 8-byte/64-bit integer.

  * G_FILE_ATTRIBUTE_TYPE_INT64: a signed 8-byte/64-bit integer.

  * G_FILE_ATTRIBUTE_TYPE_OBJECT: a **GObject**.

  * G_FILE_ATTRIBUTE_TYPE_STRINGV: a `Any` terminated char **. Since 2.22

enum GFileAttributeInfoFlags
----------------------------

Flags specifying the behaviour of an attribute.

  * G_FILE_ATTRIBUTE_INFO_NONE: no flags set.

  * G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE: copy the attribute values when the file is copied.

  * G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED: copy the attribute values when the file is moved.

enum GFileAttributeStatus
-------------------------

Used by `g_file_set_attributes_from_info()` when setting file attributes.

  * G_FILE_ATTRIBUTE_STATUS_UNSET: Attribute value is unset (empty).

  * G_FILE_ATTRIBUTE_STATUS_SET: Attribute value is set.

  * G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING: Indicates an error in setting the value.

enum GFileQueryInfoFlags
------------------------

Flags used when querying a **Gnome::Gio::FileInfo**.

  * G_FILE_QUERY_INFO_NONE: No flags set.

  * G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: Don't follow symlinks.

enum GFileCreateFlags
---------------------

Flags used when an operation may create a file.

  * G_FILE_CREATE_NONE: No flags set.

  * G_FILE_CREATE_PRIVATE: Create a file that can only be accessed by the current user.

  * G_FILE_CREATE_REPLACE_DESTINATION: Replace the destination as if it didn't exist before. Don't try to keep any old permissions, replace instead of following links. This is generally useful if you're doing a "copy over" rather than a "save new version of" replace operation. You can think of it as "unlink destination" before writing to it, although the implementation may not be exactly like that. Since 2.20

enum GFileMeasureFlags
----------------------

Flags that can be used with `g_file_measure_disk_usage()`.

Since: 2.38

  * G_FILE_MEASURE_NONE: No flags set.

  * G_FILE_MEASURE_REPORT_ANY_ERROR: Report any error encountered while traversing the directory tree. Normally errors are only reported for the toplevel file.

  * G_FILE_MEASURE_APPARENT_SIZE: Tally usage based on apparent file sizes. Normally, the block-size is used, if available, as this is a more accurate representation of disk space used. Compare with `du --apparent-size`.

  * G_FILE_MEASURE_NO_XDEV: Do not cross mount point boundaries. Compare with `du -x`.

enum GMountUnmountFlags
-----------------------

Flags used when an unmounting a mount.

  * G_MOUNT_UNMOUNT_NONE: No flags set.

  * G_MOUNT_UNMOUNT_FORCE: Unmount even if there are outstanding file operations on the mount.

enum GDriveStartStopType
------------------------

Enumeration describing how a drive can be started/stopped.

Since: 2.22

  * G_DRIVE_START_STOP_TYPE_UNKNOWN: Unknown or drive doesn't support start/stop.

  * G_DRIVE_START_STOP_TYPE_SHUTDOWN: The stop method will physically shut down the drive and e.g. power down the port the drive is attached to.

  * G_DRIVE_START_STOP_TYPE_NETWORK: The start/stop methods are used for connecting/disconnect to the drive over the network.

  * G_DRIVE_START_STOP_TYPE_MULTIDISK: The start/stop methods will assemble/disassemble a virtual drive from several physical drives.

  * G_DRIVE_START_STOP_TYPE_PASSWORD: The start/stop methods will unlock/lock the disk (for example using the ATA SECURITY UNLOCK DEVICE command)

enum GFileCopyFlags
-------------------

Flags used when copying or moving files.

  * G_FILE_COPY_NONE: No flags set.

  * G_FILE_COPY_OVERWRITE: Overwrite any existing files

  * G_FILE_COPY_BACKUP: Make a backup of any existing files.

  * G_FILE_COPY_NOFOLLOW_SYMLINKS: Don't follow symlinks.

  * G_FILE_COPY_ALL_METADATA: Copy all file metadata instead of just default set used for copy (see **GFileInfo**).

  * G_FILE_COPY_NO_FALLBACK_FOR_MOVE: Don't use copy and delete fallback if native move not supported.

  * G_FILE_COPY_TARGET_DEFAULT_PERMS: Leaves target file with default perms, instead of setting the source file perms.

enum GFileMonitorFlags
----------------------

Flags used to set what a **GFileMonitor** will watch for.

  * G_FILE_MONITOR_NONE: No flags set.

  * G_FILE_MONITOR_WATCH_MOUNTS: Watch for mount events.

  * G_FILE_MONITOR_SEND_MOVED: Pair DELETED and CREATED events caused by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED event instead (NB: not supported on all backends; the default behaviour -without specifying this flag- is to send single DELETED and CREATED events). Deprecated since 2.46: use `G_FILE_MONITOR_WATCH_MOVES` instead.

  * G_FILE_MONITOR_WATCH_HARD_LINKS: Watch for changes to the file made via another hard link. Since 2.36.

  * G_FILE_MONITOR_WATCH_MOVES: Watch for rename operations on a monitored directory. This causes `G_FILE_MONITOR_EVENT_RENAMED`, `G_FILE_MONITOR_EVENT_MOVED_IN` and `G_FILE_MONITOR_EVENT_MOVED_OUT` events to be emitted when possible. Since: 2.46.

enum GFileType
--------------

Indicates the file's on-disk type.

  * G_FILE_TYPE_UNKNOWN: File's type is unknown.

  * G_FILE_TYPE_REGULAR: File handle represents a regular file.

  * G_FILE_TYPE_DIRECTORY: File handle represents a directory.

  * G_FILE_TYPE_SYMBOLIC_LINK: File handle represents a symbolic link (Unix systems).

  * G_FILE_TYPE_SPECIAL: File is a "special" file, such as a socket, fifo, block device, or character device.

  * G_FILE_TYPE_SHORTCUT: File is a shortcut (Windows systems).

  * G_FILE_TYPE_MOUNTABLE: File is a mountable location.

enum GFilesystemPreviewType
---------------------------

Indicates a hint from the file system whether files should be previewed in a file manager. Returned as the value of the key **G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW**.

  * G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS: Only preview files if user has explicitly requested it.

  * G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL: Preview files if user has requested preview of "local" files.

  * G_FILESYSTEM_PREVIEW_TYPE_NEVER: Never preview files.

enum GFileMonitorEvent
----------------------

Specifies what type of event a monitor event is.

  * G_FILE_MONITOR_EVENT_CHANGED: a file changed.

  * G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: a hint that this was probably the last change in a set of changes.

  * G_FILE_MONITOR_EVENT_DELETED: a file was deleted.

  * G_FILE_MONITOR_EVENT_CREATED: a file was created.

  * G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: a file attribute was changed.

  * G_FILE_MONITOR_EVENT_PRE_UNMOUNT: the file location will soon be unmounted.

  * G_FILE_MONITOR_EVENT_UNMOUNTED: the file location was unmounted.

  * G_FILE_MONITOR_EVENT_MOVED: the file was moved -- only sent if the (deprecated) `G_FILE_MONITOR_SEND_MOVED` flag is set

  * G_FILE_MONITOR_EVENT_RENAMED: the file was renamed within the current directory -- only sent if the `G_FILE_MONITOR_WATCH_MOVES` flag is set. Since: 2.46.

  * G_FILE_MONITOR_EVENT_MOVED_IN: the file was moved into the monitored directory from another location -- only sent if the `G_FILE_MONITOR_WATCH_MOVES` flag is set. Since: 2.46.

  * G_FILE_MONITOR_EVENT_MOVED_OUT: the file was moved out of the monitored directory to another location -- only sent if the `G_FILE_MONITOR_WATCH_MOVES` flag is set. Since: 2.46

enum GIOErrorEnum
-----------------

Error codes returned by GIO functions.

Note that this domain may be extended in future GLib releases. In general, new error codes either only apply to new APIs, or else replace `G_IO_ERROR_FAILED` in cases that were not explicitly distinguished before. You should therefore avoid writing code like |[<!-- language="C" --> if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_FAILED)) { // Assume that this is EPRINTERONFIRE ... } ]| but should instead treat all unrecognized error codes the same as **G_IO_ERROR_FAILED**.

  * G_IO_ERROR_FAILED: Generic error condition for when an operation fails and no more specific **GIOErrorEnum** value is defined.

  * G_IO_ERROR_NOT_FOUND: File not found.

  * G_IO_ERROR_EXISTS: File already exists.

  * G_IO_ERROR_IS_DIRECTORY: File is a directory.

  * G_IO_ERROR_NOT_DIRECTORY: File is not a directory.

  * G_IO_ERROR_NOT_EMPTY: File is a directory that isn't empty.

  * G_IO_ERROR_NOT_REGULAR_FILE: File is not a regular file.

  * G_IO_ERROR_NOT_SYMBOLIC_LINK: File is not a symbolic link.

  * G_IO_ERROR_NOT_MOUNTABLE_FILE: File cannot be mounted.

  * G_IO_ERROR_FILENAME_TOO_LONG: Filename is too many characters.

  * G_IO_ERROR_INVALID_FILENAME: Filename is invalid or contains invalid characters.

  * G_IO_ERROR_TOO_MANY_LINKS: File contains too many symbolic links.

  * G_IO_ERROR_NO_SPACE: No space left on drive.

  * G_IO_ERROR_INVALID_ARGUMENT: Invalid argument.

  * G_IO_ERROR_PERMISSION_DENIED: Permission denied.

  * G_IO_ERROR_NOT_SUPPORTED: Operation (or one of its parameters) not supported

  * G_IO_ERROR_NOT_MOUNTED: File isn't mounted.

  * G_IO_ERROR_ALREADY_MOUNTED: File is already mounted.

  * G_IO_ERROR_CLOSED: File was closed.

  * G_IO_ERROR_CANCELLED: Operation was cancelled. See **GCancellable**.

  * G_IO_ERROR_PENDING: Operations are still pending.

  * G_IO_ERROR_READ_ONLY: File is read only.

  * G_IO_ERROR_CANT_CREATE_BACKUP: Backup couldn't be created.

  * G_IO_ERROR_WRONG_ETAG: File's Entity Tag was incorrect.

  * G_IO_ERROR_TIMED_OUT: Operation timed out.

  * G_IO_ERROR_WOULD_RECURSE: Operation would be recursive.

  * G_IO_ERROR_BUSY: File is busy.

  * G_IO_ERROR_WOULD_BLOCK: Operation would block.

  * G_IO_ERROR_HOST_NOT_FOUND: Host couldn't be found (remote operations).

  * G_IO_ERROR_WOULD_MERGE: Operation would merge files.

  * G_IO_ERROR_FAILED_HANDLED: Operation failed and a helper program has already interacted with the user. Do not display any error dialog.

  * G_IO_ERROR_TOO_MANY_OPEN_FILES: The current process has too many files open and can't open any more. Duplicate descriptors do count toward this limit. Since 2.20

  * G_IO_ERROR_NOT_INITIALIZED: The object has not been initialized. Since 2.22

  * G_IO_ERROR_ADDRESS_IN_USE: The requested address is already in use. Since 2.22

  * G_IO_ERROR_PARTIAL_INPUT: Need more input to finish operation. Since 2.24

  * G_IO_ERROR_INVALID_DATA: The input data was invalid. Since 2.24

  * G_IO_ERROR_DBUS_ERROR: A remote object generated an error that doesn't correspond to a locally registered **GError** error domain. Use `g_dbus_error_get_remote_error()` to extract the D-Bus error name and `g_dbus_error_strip_remote_error()` to fix up the message so it matches what was received on the wire. Since 2.26.

  * G_IO_ERROR_HOST_UNREACHABLE: Host unreachable. Since 2.26

  * G_IO_ERROR_NETWORK_UNREACHABLE: Network unreachable. Since 2.26

  * G_IO_ERROR_CONNECTION_REFUSED: Connection refused. Since 2.26

  * G_IO_ERROR_PROXY_FAILED: Connection to proxy server failed. Since 2.26

  * G_IO_ERROR_PROXY_AUTH_FAILED: Proxy authentication failed. Since 2.26

  * G_IO_ERROR_PROXY_NEED_AUTH: Proxy server needs authentication. Since 2.26

  * G_IO_ERROR_PROXY_NOT_ALLOWED: Proxy connection is not allowed by ruleset. Since 2.26

  * G_IO_ERROR_BROKEN_PIPE: Broken pipe. Since 2.36

  * G_IO_ERROR_CONNECTION_CLOSED: Connection closed by peer. Note that this is the same code as `G_IO_ERROR_BROKEN_PIPE`; before 2.44 some "connection closed" errors returned `G_IO_ERROR_BROKEN_PIPE`, but others returned `G_IO_ERROR_FAILED`. Now they should all return the same value, which has this more logical name. Since 2.44.

  * G_IO_ERROR_NOT_CONNECTED: Transport endpoint is not connected. Since 2.44

  * G_IO_ERROR_MESSAGE_TOO_LARGE: Message too large. Since 2.48.

enum GAskPasswordFlags
----------------------

**GAskPasswordFlags** are used to request specific information from the user, or to notify the user of their choices in an authentication situation.

  * G_ASK_PASSWORD_NEED_PASSWORD: operation requires a password.

  * G_ASK_PASSWORD_NEED_USERNAME: operation requires a username.

  * G_ASK_PASSWORD_NEED_DOMAIN: operation requires a domain.

  * G_ASK_PASSWORD_SAVING_SUPPORTED: operation supports saving settings.

  * G_ASK_PASSWORD_ANONYMOUS_SUPPORTED: operation supports anonymous users.

  * G_ASK_PASSWORD_TCRYPT: operation takes TCRYPT parameters (Since: 2.58)

enum GPasswordSave
------------------

**GPasswordSave** is used to indicate the lifespan of a saved password.

**Gvfs** stores passwords in the Gnome keyring when this flag allows it to, and later retrieves it again from there.

  * G_PASSWORD_SAVE_NEVER: never save a password.

  * G_PASSWORD_SAVE_FOR_SESSION: save a password for the session.

  * G_PASSWORD_SAVE_PERMANENTLY: save a password permanently.

enum GMountOperationResult
--------------------------

**GMountOperationResult** is returned as a result when a request for information is send by the mounting operation.

  * G_MOUNT_OPERATION_HANDLED: The request was fulfilled and the user specified data is now available

  * G_MOUNT_OPERATION_ABORTED: The user requested the mount operation to be aborted

  * G_MOUNT_OPERATION_UNHANDLED: The request was unhandled (i.e. not implemented)

enum GOutputStreamSpliceFlags
-----------------------------

GOutputStreamSpliceFlags determine how streams should be spliced.

  * G_OUTPUT_STREAM_SPLICE_NONE: Do not close either stream.

  * G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE: Close the source stream after the splice.

  * G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET: Close the target stream after the splice.

enum GIOStreamSpliceFlags
-------------------------

GIOStreamSpliceFlags determine how streams should be spliced.

Since: 2.28

  * G_IO_STREAM_SPLICE_NONE: Do not close either stream.

  * G_IO_STREAM_SPLICE_CLOSE_STREAM1: Close the first stream after the splice.

  * G_IO_STREAM_SPLICE_CLOSE_STREAM2: Close the second stream after the splice.

  * G_IO_STREAM_SPLICE_WAIT_FOR_BOTH: Wait for both splice operations to finish before calling the callback.

enum GEmblemOrigin
------------------

GEmblemOrigin is used to add information about the origin of the emblem to **GEmblem**.

  * G_EMBLEM_ORIGIN_UNKNOWN: Emblem of unknown origin

  * G_EMBLEM_ORIGIN_DEVICE: Emblem adds device-specific information

  * G_EMBLEM_ORIGIN_LIVEMETADATA: Emblem depicts live metadata, such as "readonly"

  * G_EMBLEM_ORIGIN_TAG: Emblem comes from a user-defined tag, e.g. set by nautilus (in the future)

enum GResolverError
-------------------

An error code used with `G_RESOLVER_ERROR` in a **GError** returned from a **GResolver** routine.

Since: 2.22

  * G_RESOLVER_ERROR_NOT_FOUND: the requested name/address/service was not found

  * G_RESOLVER_ERROR_TEMPORARY_FAILURE: the requested information could not be looked up due to a network error or similar problem

  * G_RESOLVER_ERROR_INTERNAL: unknown error

enum GResolverRecordType
------------------------

The type of record that `g_resolver_lookup_records()` or `g_resolver_lookup_records_async()` should retrieve. The records are returned as lists of **GVariant** tuples. Each record type has different values in the variant tuples returned.

`G_RESOLVER_RECORD_SRV` records are returned as variants with the signature '(qqqs)', containing a guint16 with the priority, a guint16 with the weight, a guint16 with the port, and a string of the hostname.

`G_RESOLVER_RECORD_MX` records are returned as variants with the signature '(qs)', representing a guint16 with the preference, and a string containing the mail exchanger hostname.

`G_RESOLVER_RECORD_TXT` records are returned as variants with the signature '(as)', representing an array of the strings in the text record.

`G_RESOLVER_RECORD_SOA` records are returned as variants with the signature '(ssuuuuu)', representing a string containing the primary name server, a string containing the administrator, the serial as a guint32, the refresh interval as guint32, the retry interval as a guint32, the expire timeout as a guint32, and the ttl as a guint32.

`G_RESOLVER_RECORD_NS` records are returned as variants with the signature '(s)', representing a string of the hostname of the name server.

Since: 2.34

  * G_RESOLVER_RECORD_SRV: lookup DNS SRV records for a domain

  * G_RESOLVER_RECORD_MX: lookup DNS MX records for a domain

  * G_RESOLVER_RECORD_TXT: lookup DNS TXT records for a name

  * G_RESOLVER_RECORD_SOA: lookup DNS SOA records for a zone

  * G_RESOLVER_RECORD_NS: lookup DNS NS records for a domain

enum GResourceError
-------------------

An error code used with `G_RESOURCE_ERROR` in a **GError** returned from a **GResource** routine.

Since: 2.32

  * G_RESOURCE_ERROR_NOT_FOUND: no file was found at the requested path

  * G_RESOURCE_ERROR_INTERNAL: unknown error

enum GResourceFlags
-------------------

GResourceFlags give information about a particular file inside a resource bundle.

Since: 2.32

  * G_RESOURCE_FLAGS_NONE: No flags set.

  * G_RESOURCE_FLAGS_COMPRESSED: The file is compressed.

enum GSocketFamily
------------------

The protocol family of a **GSocketAddress**. (These values are identical to the system defines `AF_INET`, `AF_INET6` and `AF_UNIX`, if available.)

Since: 2.22

  * G_SOCKET_FAMILY_INVALID: no address family

  * G_SOCKET_FAMILY_IPV4: the IPv4 family

  * G_SOCKET_FAMILY_IPV6: the IPv6 family

  * G_SOCKET_FAMILY_UNIX: the UNIX domain family

enum GSocketType
----------------

Flags used when creating a **GSocket**. Some protocols may not implement all the socket types.

Since: 2.22

  * G_SOCKET_TYPE_INVALID: Type unknown or wrong

  * G_SOCKET_TYPE_STREAM: Reliable connection-based byte streams (e.g. TCP).

  * G_SOCKET_TYPE_DATAGRAM: Connectionless, unreliable datagram passing. (e.g. UDP)

  * G_SOCKET_TYPE_SEQPACKET: Reliable connection-based passing of datagrams of fixed maximum length (e.g. SCTP).

enum GSocketProtocol
--------------------

A protocol identifier is specified when creating a **GSocket**, which is a family/type specific identifier, where 0 means the default protocol for the particular family/type.

This enum contains a set of commonly available and used protocols. You can also pass any other identifiers handled by the platform in order to use protocols not listed here.

Since: 2.22

  * G_SOCKET_PROTOCOL_UNKNOWN: The protocol type is unknown

  * G_SOCKET_PROTOCOL_DEFAULT: The default protocol for the family/type

  * G_SOCKET_PROTOCOL_TCP: TCP over IP

  * G_SOCKET_PROTOCOL_UDP: UDP over IP

  * G_SOCKET_PROTOCOL_SCTP: SCTP over IP

enum GZlibCompressorFormat
--------------------------

Used to select the type of data format to use for **GZlibDecompressor** and **GZlibCompressor**.

Since: 2.24

  * G_ZLIB_COMPRESSOR_FORMAT_ZLIB: deflate compression with zlib header

  * G_ZLIB_COMPRESSOR_FORMAT_GZIP: gzip file format

  * G_ZLIB_COMPRESSOR_FORMAT_RAW: deflate compression with no header

enum GUnixSocketAddressType
---------------------------

The type of name used by a **GUnixSocketAddress**. `G_UNIX_SOCKET_ADDRESS_PATH` indicates a traditional unix domain socket bound to a filesystem path. `G_UNIX_SOCKET_ADDRESS_ANONYMOUS` indicates a socket not bound to any name (eg, a client-side socket, or a socket created with `socketpair()`).

For abstract sockets, there are two incompatible ways of naming them; the man pages suggest using the entire `struct sockaddr_un` as the name, padding the unused parts of the `sun_path` field with zeroes; this corresponds to `G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED`. However, many programs instead just use a portion of `sun_path`, and pass an appropriate smaller length to `bind()` or `connect()`. This is `G_UNIX_SOCKET_ADDRESS_ABSTRACT`.

Since: 2.26

  * G_UNIX_SOCKET_ADDRESS_INVALID: invalid

  * G_UNIX_SOCKET_ADDRESS_ANONYMOUS: anonymous

  * G_UNIX_SOCKET_ADDRESS_PATH: a filesystem path

  * G_UNIX_SOCKET_ADDRESS_ABSTRACT: an abstract name

  * G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED: an abstract name, 0-padded to the full length of a unix socket name

enum GBusType
-------------

An enumeration for well-known message buses.

Since: 2.26

  * G_BUS_TYPE_STARTER: An alias for the message bus that activated the process, if any.

  * G_BUS_TYPE_NONE: Not a message bus.

  * G_BUS_TYPE_SYSTEM: The system-wide message bus.

  * G_BUS_TYPE_SESSION: The login session message bus.

enum GBusNameOwnerFlags
-----------------------

Flags used in `g_bus_own_name()`.

Since: 2.26

  * G_BUS_NAME_OWNER_FLAGS_NONE: No flags set.

  * G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT: Allow another message bus connection to claim the name.

  * G_BUS_NAME_OWNER_FLAGS_REPLACE: If another message bus connection owns the name and have specified **G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT**, then take the name from the other connection.

  * G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE: If another message bus connection owns the name, immediately return an error from `g_bus_own_name()` rather than entering the waiting queue for that name. (Since 2.54)

enum GBusNameWatcherFlags
-------------------------

Flags used in `g_bus_watch_name()`.

Since: 2.26

  * G_BUS_NAME_WATCHER_FLAGS_NONE: No flags set.

  * G_BUS_NAME_WATCHER_FLAGS_AUTO_START: If no-one owns the name when beginning to watch the name, ask the bus to launch an owner for the name.

enum GDBusProxyFlags
--------------------

Flags used when constructing an instance of a **GDBusProxy** derived class.

Since: 2.26

  * G_DBUS_PROXY_FLAGS_NONE: No flags set.

  * G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES: Don't load properties.

  * G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS: Don't connect to signals on the remote object.

  * G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START: If the proxy is for a well-known name, do not ask the bus to launch an owner during proxy initialization or a method call. This flag is only meaningful in proxies for well-known names.

  * G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES: If set, the property value for any __invalidated property__ will be (asynchronously) retrieved upon receiving the [`PropertiesChanged`](http://dbus.freedesktop.org/doc/dbus-specification.html**standard**-interfaces-properties) D-Bus signal and the property will not cause emission of the *g-properties-changed* signal. When the value is received the *g-properties-changed* signal is emitted for the property along with the retrieved value. Since 2.32.

  * G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION: If the proxy is for a well-known name, do not ask the bus to launch an owner during proxy initialization, but allow it to be autostarted by a method call. This flag is only meaningful in proxies for well-known names, and only if `G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START` is not also specified.

enum GDBusError
---------------

Error codes for the `G_DBUS_ERROR` error domain.

Since: 2.26

  * G_DBUS_ERROR_FAILED: A generic error; "something went wrong" - see the error message for more.

  * G_DBUS_ERROR_NO_MEMORY: There was not enough memory to complete an operation.

  * G_DBUS_ERROR_SERVICE_UNKNOWN: The bus doesn't know how to launch a service to supply the bus name you wanted.

  * G_DBUS_ERROR_NAME_HAS_NO_OWNER: The bus name you referenced doesn't exist (i.e. no application owns it).

  * G_DBUS_ERROR_NO_REPLY: No reply to a message expecting one, usually means a timeout occurred.

  * G_DBUS_ERROR_IO_ERROR: Something went wrong reading or writing to a socket, for example.

  * G_DBUS_ERROR_BAD_ADDRESS: A D-Bus bus address was malformed.

  * G_DBUS_ERROR_NOT_SUPPORTED: Requested operation isn't supported (like ENOSYS on UNIX).

  * G_DBUS_ERROR_LIMITS_EXCEEDED: Some limited resource is exhausted.

  * G_DBUS_ERROR_ACCESS_DENIED: Security restrictions don't allow doing what you're trying to do.

  * G_DBUS_ERROR_AUTH_FAILED: Authentication didn't work.

  * G_DBUS_ERROR_NO_SERVER: Unable to connect to server (probably caused by ECONNREFUSED on a socket).

  * G_DBUS_ERROR_TIMEOUT: Certain timeout errors, possibly ETIMEDOUT on a socket. Note that `G_DBUS_ERROR_NO_REPLY` is used for message reply timeouts. Warning: this is confusingly-named given that `G_DBUS_ERROR_TIMED_OUT` also exists. We can't fix it for compatibility reasons so just be careful.

  * G_DBUS_ERROR_NO_NETWORK: No network access (probably ENETUNREACH on a socket).

  * G_DBUS_ERROR_ADDRESS_IN_USE: Can't bind a socket since its address is in use (i.e. EADDRINUSE).

  * G_DBUS_ERROR_DISCONNECTED: The connection is disconnected and you're trying to use it.

  * G_DBUS_ERROR_INVALID_ARGS: Invalid arguments passed to a method call.

  * G_DBUS_ERROR_FILE_NOT_FOUND: Missing file.

  * G_DBUS_ERROR_FILE_EXISTS: Existing file and the operation you're using does not silently overwrite.

  * G_DBUS_ERROR_UNKNOWN_METHOD: Method name you invoked isn't known by the object you invoked it on.

  * G_DBUS_ERROR_UNKNOWN_OBJECT: Object you invoked a method on isn't known. Since 2.42

  * G_DBUS_ERROR_UNKNOWN_INTERFACE: Interface you invoked a method on isn't known by the object. Since 2.42

  * G_DBUS_ERROR_UNKNOWN_PROPERTY: Property you tried to access isn't known by the object. Since 2.42

  * G_DBUS_ERROR_PROPERTY_READ_ONLY: Property you tried to set is read-only. Since 2.42

  * G_DBUS_ERROR_TIMED_OUT: Certain timeout errors, e.g. while starting a service. Warning: this is confusingly-named given that `G_DBUS_ERROR_TIMEOUT` also exists. We can't fix it for compatibility reasons so just be careful.

  * G_DBUS_ERROR_MATCH_RULE_NOT_FOUND: Tried to remove or modify a match rule that didn't exist.

  * G_DBUS_ERROR_MATCH_RULE_INVALID: The match rule isn't syntactically valid.

  * G_DBUS_ERROR_SPAWN_EXEC_FAILED: While starting a new process, the `exec()` call failed.

  * G_DBUS_ERROR_SPAWN_FORK_FAILED: While starting a new process, the `fork()` call failed.

  * G_DBUS_ERROR_SPAWN_CHILD_EXITED: While starting a new process, the child exited with a status code.

  * G_DBUS_ERROR_SPAWN_CHILD_SIGNALED: While starting a new process, the child exited on a signal.

  * G_DBUS_ERROR_SPAWN_FAILED: While starting a new process, something went wrong.

  * G_DBUS_ERROR_SPAWN_SETUP_FAILED: We failed to setup the environment correctly.

  * G_DBUS_ERROR_SPAWN_CONFIG_INVALID: We failed to setup the config parser correctly.

  * G_DBUS_ERROR_SPAWN_SERVICE_INVALID: Bus name was not valid.

  * G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND: Service file not found in system-services directory.

  * G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID: Permissions are incorrect on the setuid helper.

  * G_DBUS_ERROR_SPAWN_FILE_INVALID: Service file invalid (Name, User or Exec missing).

  * G_DBUS_ERROR_SPAWN_NO_MEMORY: Tried to get a UNIX process ID and it wasn't available.

  * G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN: Tried to get a UNIX process ID and it wasn't available.

  * G_DBUS_ERROR_INVALID_SIGNATURE: A type signature is not valid.

  * G_DBUS_ERROR_INVALID_FILE_CONTENT: A file contains invalid syntax or is otherwise broken.

  * G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN: Asked for SELinux security context and it wasn't available.

  * G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN: Asked for ADT audit data and it wasn't available.

  * G_DBUS_ERROR_OBJECT_PATH_IN_USE: There's already an object with the requested object path.

enum GDBusConnectionFlags
-------------------------

Flags used when creating a new **GDBusConnection**.

Since: 2.26

  * G_DBUS_CONNECTION_FLAGS_NONE: No flags set.

  * G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT: Perform authentication against server.

  * G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER: Perform authentication against client.

  * G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: When authenticating as a server, allow the anonymous authentication method.

  * G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION: Pass this flag if connecting to a peer that is a message bus. This means that the `Hello()` method will be invoked as part of the connection setup.

  * G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING: If set, processing of D-Bus messages is delayed until `g_dbus_connection_start_message_processing()` is called.

enum GDBusCapabilityFlags
-------------------------

Capabilities negotiated with the remote peer.

Since: 2.26

  * G_DBUS_CAPABILITY_FLAGS_NONE: No flags set.

  * G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING: The connection supports exchanging UNIX file descriptors with the remote peer.

enum GDBusCallFlags
-------------------

Flags used in `g_dbus_connection_call()` and similar APIs.

Since: 2.26

  * G_DBUS_CALL_FLAGS_NONE: No flags set.

  * G_DBUS_CALL_FLAGS_NO_AUTO_START: The bus must not launch an owner for the destination name in response to this method invocation.

  * G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: the caller is prepared to wait for interactive authorization. Since 2.46.

enum GDBusMessageType
---------------------

Message types used in **GDBusMessage**.

Since: 2.26

  * G_DBUS_MESSAGE_TYPE_INVALID: Message is of invalid type.

  * G_DBUS_MESSAGE_TYPE_METHOD_CALL: Method call.

  * G_DBUS_MESSAGE_TYPE_METHOD_RETURN: Method reply.

  * G_DBUS_MESSAGE_TYPE_ERROR: Error reply.

  * G_DBUS_MESSAGE_TYPE_SIGNAL: Signal emission.

enum GDBusMessageFlags
----------------------

Message flags used in **GDBusMessage**.

Since: 2.26

  * G_DBUS_MESSAGE_FLAGS_NONE: No flags set.

  * G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED: A reply is not expected.

  * G_DBUS_MESSAGE_FLAGS_NO_AUTO_START: The bus must not launch an owner for the destination name in response to this message.

  * G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: If set on a method call, this flag means that the caller is prepared to wait for interactive authorization. Since 2.46.

enum GDBusMessageHeaderField
----------------------------

Header fields used in **GDBusMessage**.

Since: 2.26

  * G_DBUS_MESSAGE_HEADER_FIELD_INVALID: Not a valid header field.

  * G_DBUS_MESSAGE_HEADER_FIELD_PATH: The object path.

  * G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE: The interface name.

  * G_DBUS_MESSAGE_HEADER_FIELD_MEMBER: The method or signal name.

  * G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME: The name of the error that occurred.

  * G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL: The serial number the message is a reply to.

  * G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION: The name the message is intended for.

  * G_DBUS_MESSAGE_HEADER_FIELD_SENDER: Unique name of the sender of the message (filled in by the bus).

  * G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE: The signature of the message body.

  * G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS: The number of UNIX file descriptors that accompany the message.

enum GDBusPropertyInfoFlags
---------------------------

Flags describing the access control of a D-Bus property.

Since: 2.26

  * G_DBUS_PROPERTY_INFO_FLAGS_NONE: No flags set.

  * G_DBUS_PROPERTY_INFO_FLAGS_READABLE: Property is readable.

  * G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE: Property is writable.

enum GDBusSubtreeFlags
----------------------

Flags passed to `g_dbus_connection_register_subtree()`.

Since: 2.26

  * G_DBUS_SUBTREE_FLAGS_NONE: No flags set.

  * G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES: Method calls to objects not in the enumerated range will still be dispatched. This is useful if you want to dynamically spawn objects in the subtree.

enum GDBusServerFlags
---------------------

Flags used when creating a **GDBusServer**.

Since: 2.26

  * G_DBUS_SERVER_FLAGS_NONE: No flags set.

  * G_DBUS_SERVER_FLAGS_RUN_IN_THREAD: All *new-connection* signals will run in separated dedicated threads (see signal for details).

  * G_DBUS_SERVER_FLAGS