1 /* GIO - GLib Input, Output and Streaming Library 2 * 3 * Copyright (C) 2006-2007 Red Hat, Inc. 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General 16 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>. 17 * 18 * Author: Alexander Larsson <alexl@redhat.com> 19 */ 20 21 #ifndef __GIO_ENUMS_H__ 22 #define __GIO_ENUMS_H__ 23 24 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) 25 #error "Only <gio/gio.h> can be included directly." 26 #endif 27 28 #include <glib-object.h> 29 30 G_BEGIN_DECLS 31 32 33 /** 34 * GAppInfoCreateFlags: 35 * @G_APP_INFO_CREATE_NONE: No flags. 36 * @G_APP_INFO_CREATE_NEEDS_TERMINAL: Application opens in a terminal window. 37 * @G_APP_INFO_CREATE_SUPPORTS_URIS: Application supports URI arguments. 38 * @G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION: Application supports startup notification. Since 2.26 39 * 40 * Flags used when creating a #GAppInfo. 41 */ 42 typedef enum { 43 G_APP_INFO_CREATE_NONE = 0, /*< nick=none >*/ 44 G_APP_INFO_CREATE_NEEDS_TERMINAL = (1 << 0), /*< nick=needs-terminal >*/ 45 G_APP_INFO_CREATE_SUPPORTS_URIS = (1 << 1), /*< nick=supports-uris >*/ 46 G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION = (1 << 2) /*< nick=supports-startup-notification >*/ 47 } GAppInfoCreateFlags; 48 49 /** 50 * GConverterFlags: 51 * @G_CONVERTER_NO_FLAGS: No flags. 52 * @G_CONVERTER_INPUT_AT_END: At end of input data 53 * @G_CONVERTER_FLUSH: Flush data 54 * 55 * Flags used when calling a g_converter_convert(). 56 * 57 * Since: 2.24 58 */ 59 typedef enum { 60 G_CONVERTER_NO_FLAGS = 0, /*< nick=none >*/ 61 G_CONVERTER_INPUT_AT_END = (1 << 0), /*< nick=input-at-end >*/ 62 G_CONVERTER_FLUSH = (1 << 1) /*< nick=flush >*/ 63 } GConverterFlags; 64 65 /** 66 * GConverterResult: 67 * @G_CONVERTER_ERROR: There was an error during conversion. 68 * @G_CONVERTER_CONVERTED: Some data was consumed or produced 69 * @G_CONVERTER_FINISHED: The conversion is finished 70 * @G_CONVERTER_FLUSHED: Flushing is finished 71 * 72 * Results returned from g_converter_convert(). 73 * 74 * Since: 2.24 75 */ 76 typedef enum { 77 G_CONVERTER_ERROR = 0, /*< nick=error >*/ 78 G_CONVERTER_CONVERTED = 1, /*< nick=converted >*/ 79 G_CONVERTER_FINISHED = 2, /*< nick=finished >*/ 80 G_CONVERTER_FLUSHED = 3 /*< nick=flushed >*/ 81 } GConverterResult; 82 83 84 /** 85 * GDataStreamByteOrder: 86 * @G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN: Selects Big Endian byte order. 87 * @G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN: Selects Little Endian byte order. 88 * @G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN: Selects endianness based on host machine's architecture. 89 * 90 * #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources 91 * across various machine architectures. 92 * 93 **/ 94 typedef enum { 95 G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN, 96 G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN, 97 G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN 98 } GDataStreamByteOrder; 99 100 101 /** 102 * GDataStreamNewlineType: 103 * @G_DATA_STREAM_NEWLINE_TYPE_LF: Selects "LF" line endings, common on most modern UNIX platforms. 104 * @G_DATA_STREAM_NEWLINE_TYPE_CR: Selects "CR" line endings. 105 * @G_DATA_STREAM_NEWLINE_TYPE_CR_LF: Selects "CR, LF" line ending, common on Microsoft Windows. 106 * @G_DATA_STREAM_NEWLINE_TYPE_ANY: Automatically try to handle any line ending type. 107 * 108 * #GDataStreamNewlineType is used when checking for or setting the line endings for a given file. 109 **/ 110 typedef enum { 111 G_DATA_STREAM_NEWLINE_TYPE_LF, 112 G_DATA_STREAM_NEWLINE_TYPE_CR, 113 G_DATA_STREAM_NEWLINE_TYPE_CR_LF, 114 G_DATA_STREAM_NEWLINE_TYPE_ANY 115 } GDataStreamNewlineType; 116 117 118 /** 119 * GFileAttributeType: 120 * @G_FILE_ATTRIBUTE_TYPE_INVALID: indicates an invalid or uninitalized type. 121 * @G_FILE_ATTRIBUTE_TYPE_STRING: a null terminated UTF8 string. 122 * @G_FILE_ATTRIBUTE_TYPE_BYTE_STRING: a zero terminated string of non-zero bytes. 123 * @G_FILE_ATTRIBUTE_TYPE_BOOLEAN: a boolean value. 124 * @G_FILE_ATTRIBUTE_TYPE_UINT32: an unsigned 4-byte/32-bit integer. 125 * @G_FILE_ATTRIBUTE_TYPE_INT32: a signed 4-byte/32-bit integer. 126 * @G_FILE_ATTRIBUTE_TYPE_UINT64: an unsigned 8-byte/64-bit integer. 127 * @G_FILE_ATTRIBUTE_TYPE_INT64: a signed 8-byte/64-bit integer. 128 * @G_FILE_ATTRIBUTE_TYPE_OBJECT: a #GObject. 129 * @G_FILE_ATTRIBUTE_TYPE_STRINGV: a %NULL terminated char **. Since 2.22 130 * 131 * The data types for file attributes. 132 **/ 133 typedef enum { 134 G_FILE_ATTRIBUTE_TYPE_INVALID = 0, 135 G_FILE_ATTRIBUTE_TYPE_STRING, 136 G_FILE_ATTRIBUTE_TYPE_BYTE_STRING, /* zero terminated string of non-zero bytes */ 137 G_FILE_ATTRIBUTE_TYPE_BOOLEAN, 138 G_FILE_ATTRIBUTE_TYPE_UINT32, 139 G_FILE_ATTRIBUTE_TYPE_INT32, 140 G_FILE_ATTRIBUTE_TYPE_UINT64, 141 G_FILE_ATTRIBUTE_TYPE_INT64, 142 G_FILE_ATTRIBUTE_TYPE_OBJECT, 143 G_FILE_ATTRIBUTE_TYPE_STRINGV 144 } GFileAttributeType; 145 146 147 /** 148 * GFileAttributeInfoFlags: 149 * @G_FILE_ATTRIBUTE_INFO_NONE: no flags set. 150 * @G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE: copy the attribute values when the file is copied. 151 * @G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED: copy the attribute values when the file is moved. 152 * 153 * Flags specifying the behaviour of an attribute. 154 **/ 155 typedef enum { 156 G_FILE_ATTRIBUTE_INFO_NONE = 0, 157 G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE = (1 << 0), 158 G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED = (1 << 1) 159 } GFileAttributeInfoFlags; 160 161 162 /** 163 * GFileAttributeStatus: 164 * @G_FILE_ATTRIBUTE_STATUS_UNSET: Attribute value is unset (empty). 165 * @G_FILE_ATTRIBUTE_STATUS_SET: Attribute value is set. 166 * @G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING: Indicates an error in setting the value. 167 * 168 * Used by g_file_set_attributes_from_info() when setting file attributes. 169 **/ 170 typedef enum { 171 G_FILE_ATTRIBUTE_STATUS_UNSET = 0, 172 G_FILE_ATTRIBUTE_STATUS_SET, 173 G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING 174 } GFileAttributeStatus; 175 176 177 /** 178 * GFileQueryInfoFlags: 179 * @G_FILE_QUERY_INFO_NONE: No flags set. 180 * @G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: Don't follow symlinks. 181 * 182 * Flags used when querying a #GFileInfo. 183 */ 184 typedef enum { 185 G_FILE_QUERY_INFO_NONE = 0, 186 G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS = (1 << 0) /*< nick=nofollow-symlinks >*/ 187 } GFileQueryInfoFlags; 188 189 190 /** 191 * GFileCreateFlags: 192 * @G_FILE_CREATE_NONE: No flags set. 193 * @G_FILE_CREATE_PRIVATE: Create a file that can only be 194 * accessed by the current user. 195 * @G_FILE_CREATE_REPLACE_DESTINATION: Replace the destination 196 * as if it didn't exist before. Don't try to keep any old 197 * permissions, replace instead of following links. This 198 * is generally useful if you're doing a "copy over" 199 * rather than a "save new version of" replace operation. 200 * You can think of it as "unlink destination" before 201 * writing to it, although the implementation may not 202 * be exactly like that. Since 2.20 203 * 204 * Flags used when an operation may create a file. 205 */ 206 typedef enum { 207 G_FILE_CREATE_NONE = 0, 208 G_FILE_CREATE_PRIVATE = (1 << 0), 209 G_FILE_CREATE_REPLACE_DESTINATION = (1 << 1) 210 } GFileCreateFlags; 211 212 /** 213 * GFileMeasureFlags: 214 * @G_FILE_MEASURE_NONE: No flags set. 215 * @G_FILE_MEASURE_REPORT_ANY_ERROR: Report any error encountered 216 * while traversing the directory tree. Normally errors are only 217 * reported for the toplevel file. 218 * @G_FILE_MEASURE_APPARENT_SIZE: Tally usage based on apparent file 219 * sizes. Normally, the block-size is used, if available, as this is a 220 * more accurate representation of disk space used. 221 * Compare with `du --apparent-size`. 222 * @G_FILE_MEASURE_NO_XDEV: Do not cross mount point boundaries. 223 * Compare with `du -x`. 224 * 225 * Flags that can be used with g_file_measure_disk_usage(). 226 * 227 * Since: 2.38 228 **/ 229 typedef enum { 230 G_FILE_MEASURE_NONE = 0, 231 G_FILE_MEASURE_REPORT_ANY_ERROR = (1 << 1), 232 G_FILE_MEASURE_APPARENT_SIZE = (1 << 2), 233 G_FILE_MEASURE_NO_XDEV = (1 << 3) 234 } GFileMeasureFlags; 235 236 /** 237 * GMountMountFlags: 238 * @G_MOUNT_MOUNT_NONE: No flags set. 239 * 240 * Flags used when mounting a mount. 241 */ 242 typedef enum /*< flags >*/ { 243 G_MOUNT_MOUNT_NONE = 0 244 } GMountMountFlags; 245 246 247 /** 248 * GMountUnmountFlags: 249 * @G_MOUNT_UNMOUNT_NONE: No flags set. 250 * @G_MOUNT_UNMOUNT_FORCE: Unmount even if there are outstanding 251 * file operations on the mount. 252 * 253 * Flags used when an unmounting a mount. 254 */ 255 typedef enum { 256 G_MOUNT_UNMOUNT_NONE = 0, 257 G_MOUNT_UNMOUNT_FORCE = (1 << 0) 258 } GMountUnmountFlags; 259 260 /** 261 * GDriveStartFlags: 262 * @G_DRIVE_START_NONE: No flags set. 263 * 264 * Flags used when starting a drive. 265 * 266 * Since: 2.22 267 */ 268 typedef enum /*< flags >*/ { 269 G_DRIVE_START_NONE = 0 270 } GDriveStartFlags; 271 272 /** 273 * GDriveStartStopType: 274 * @G_DRIVE_START_STOP_TYPE_UNKNOWN: Unknown or drive doesn't support 275 * start/stop. 276 * @G_DRIVE_START_STOP_TYPE_SHUTDOWN: The stop method will physically 277 * shut down the drive and e.g. power down the port the drive is 278 * attached to. 279 * @G_DRIVE_START_STOP_TYPE_NETWORK: The start/stop methods are used 280 * for connecting/disconnect to the drive over the network. 281 * @G_DRIVE_START_STOP_TYPE_MULTIDISK: The start/stop methods will 282 * assemble/disassemble a virtual drive from several physical 283 * drives. 284 * @G_DRIVE_START_STOP_TYPE_PASSWORD: The start/stop methods will 285 * unlock/lock the disk (for example using the ATA <quote>SECURITY 286 * UNLOCK DEVICE</quote> command) 287 * 288 * Enumeration describing how a drive can be started/stopped. 289 * 290 * Since: 2.22 291 */ 292 typedef enum { 293 G_DRIVE_START_STOP_TYPE_UNKNOWN, 294 G_DRIVE_START_STOP_TYPE_SHUTDOWN, 295 G_DRIVE_START_STOP_TYPE_NETWORK, 296 G_DRIVE_START_STOP_TYPE_MULTIDISK, 297 G_DRIVE_START_STOP_TYPE_PASSWORD 298 } GDriveStartStopType; 299 300 /** 301 * GFileCopyFlags: 302 * @G_FILE_COPY_NONE: No flags set. 303 * @G_FILE_COPY_OVERWRITE: Overwrite any existing files 304 * @G_FILE_COPY_BACKUP: Make a backup of any existing files. 305 * @G_FILE_COPY_NOFOLLOW_SYMLINKS: Don't follow symlinks. 306 * @G_FILE_COPY_ALL_METADATA: Copy all file metadata instead of just default set used for copy (see #GFileInfo). 307 * @G_FILE_COPY_NO_FALLBACK_FOR_MOVE: Don't use copy and delete fallback if native move not supported. 308 * @G_FILE_COPY_TARGET_DEFAULT_PERMS: Leaves target file with default perms, instead of setting the source file perms. 309 * 310 * Flags used when copying or moving files. 311 */ 312 typedef enum { 313 G_FILE_COPY_NONE = 0, /*< nick=none >*/ 314 G_FILE_COPY_OVERWRITE = (1 << 0), 315 G_FILE_COPY_BACKUP = (1 << 1), 316 G_FILE_COPY_NOFOLLOW_SYMLINKS = (1 << 2), 317 G_FILE_COPY_ALL_METADATA = (1 << 3), 318 G_FILE_COPY_NO_FALLBACK_FOR_MOVE = (1 << 4), 319 G_FILE_COPY_TARGET_DEFAULT_PERMS = (1 << 5) 320 } GFileCopyFlags; 321 322 323 /** 324 * GFileMonitorFlags: 325 * @G_FILE_MONITOR_NONE: No flags set. 326 * @G_FILE_MONITOR_WATCH_MOUNTS: Watch for mount events. 327 * @G_FILE_MONITOR_SEND_MOVED: Pair DELETED and CREATED events caused 328 * by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED 329 * event instead (NB: not supported on all backends; the default 330 * behaviour -without specifying this flag- is to send single DELETED 331 * and CREATED events). Deprecated since 2.46: use 332 * %G_FILE_MONITOR_WATCH_MOVES instead. 333 * @G_FILE_MONITOR_WATCH_HARD_LINKS: Watch for changes to the file made 334 * via another hard link. Since 2.36. 335 * @G_FILE_MONITOR_WATCH_MOVES: Watch for rename operations on a 336 * monitored directory. This causes %G_FILE_MONITOR_EVENT_RENAMED, 337 * %G_FILE_MONITOR_EVENT_MOVED_IN and %G_FILE_MONITOR_EVENT_MOVED_OUT 338 * events to be emitted when possible. Since: 2.46. 339 * 340 * Flags used to set what a #GFileMonitor will watch for. 341 */ 342 typedef enum { 343 G_FILE_MONITOR_NONE = 0, 344 G_FILE_MONITOR_WATCH_MOUNTS = (1 << 0), 345 G_FILE_MONITOR_SEND_MOVED = (1 << 1), 346 G_FILE_MONITOR_WATCH_HARD_LINKS = (1 << 2), 347 G_FILE_MONITOR_WATCH_MOVES = (1 << 3) 348 } GFileMonitorFlags; 349 350 351 /** 352 * GFileType: 353 * @G_FILE_TYPE_UNKNOWN: File's type is unknown. 354 * @G_FILE_TYPE_REGULAR: File handle represents a regular file. 355 * @G_FILE_TYPE_DIRECTORY: File handle represents a directory. 356 * @G_FILE_TYPE_SYMBOLIC_LINK: File handle represents a symbolic link 357 * (Unix systems). 358 * @G_FILE_TYPE_SPECIAL: File is a "special" file, such as a socket, fifo, 359 * block device, or character device. 360 * @G_FILE_TYPE_SHORTCUT: File is a shortcut (Windows systems). 361 * @G_FILE_TYPE_MOUNTABLE: File is a mountable location. 362 * 363 * Indicates the file's on-disk type. 364 * 365 * On Windows systems a file will never have %G_FILE_TYPE_SYMBOLIC_LINK type; 366 * use #GFileInfo and %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK to determine 367 * whether a file is a symlink or not. This is due to the fact that NTFS does 368 * not have a single filesystem object type for symbolic links - it has 369 * files that symlink to files, and directories that symlink to directories. 370 * #GFileType enumeration cannot precisely represent this important distinction, 371 * which is why all Windows symlinks will continue to be reported as 372 * %G_FILE_TYPE_REGULAR or %G_FILE_TYPE_DIRECTORY. 373 **/ 374 typedef enum { 375 G_FILE_TYPE_UNKNOWN = 0, 376 G_FILE_TYPE_REGULAR, 377 G_FILE_TYPE_DIRECTORY, 378 G_FILE_TYPE_SYMBOLIC_LINK, 379 G_FILE_TYPE_SPECIAL, /* socket, fifo, blockdev, chardev */ 380 G_FILE_TYPE_SHORTCUT, 381 G_FILE_TYPE_MOUNTABLE 382 } GFileType; 383 384 385 /** 386 * GFilesystemPreviewType: 387 * @G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS: Only preview files if user has explicitly requested it. 388 * @G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL: Preview files if user has requested preview of "local" files. 389 * @G_FILESYSTEM_PREVIEW_TYPE_NEVER: Never preview files. 390 * 391 * Indicates a hint from the file system whether files should be 392 * previewed in a file manager. Returned as the value of the key 393 * #G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW. 394 **/ 395 typedef enum { 396 G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS = 0, 397 G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL, 398 G_FILESYSTEM_PREVIEW_TYPE_NEVER 399 } GFilesystemPreviewType; 400 401 402 /** 403 * GFileMonitorEvent: 404 * @G_FILE_MONITOR_EVENT_CHANGED: a file changed. 405 * @G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: a hint that this was probably the last change in a set of changes. 406 * @G_FILE_MONITOR_EVENT_DELETED: a file was deleted. 407 * @G_FILE_MONITOR_EVENT_CREATED: a file was created. 408 * @G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: a file attribute was changed. 409 * @G_FILE_MONITOR_EVENT_PRE_UNMOUNT: the file location will soon be unmounted. 410 * @G_FILE_MONITOR_EVENT_UNMOUNTED: the file location was unmounted. 411 * @G_FILE_MONITOR_EVENT_MOVED: the file was moved -- only sent if the 412 * (deprecated) %G_FILE_MONITOR_SEND_MOVED flag is set 413 * @G_FILE_MONITOR_EVENT_RENAMED: the file was renamed within the 414 * current directory -- only sent if the %G_FILE_MONITOR_WATCH_MOVES 415 * flag is set. Since: 2.46. 416 * @G_FILE_MONITOR_EVENT_MOVED_IN: the file was moved into the 417 * monitored directory from another location -- only sent if the 418 * %G_FILE_MONITOR_WATCH_MOVES flag is set. Since: 2.46. 419 * @G_FILE_MONITOR_EVENT_MOVED_OUT: the file was moved out of the 420 * monitored directory to another location -- only sent if the 421 * %G_FILE_MONITOR_WATCH_MOVES flag is set. Since: 2.46 422 * 423 * Specifies what type of event a monitor event is. 424 **/ 425 typedef enum { 426 G_FILE_MONITOR_EVENT_CHANGED, 427 G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT, 428 G_FILE_MONITOR_EVENT_DELETED, 429 G_FILE_MONITOR_EVENT_CREATED, 430 G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED, 431 G_FILE_MONITOR_EVENT_PRE_UNMOUNT, 432 G_FILE_MONITOR_EVENT_UNMOUNTED, 433 G_FILE_MONITOR_EVENT_MOVED, 434 G_FILE_MONITOR_EVENT_RENAMED, 435 G_FILE_MONITOR_EVENT_MOVED_IN, 436 G_FILE_MONITOR_EVENT_MOVED_OUT 437 } GFileMonitorEvent; 438 439 440 /* This enumeration conflicts with GIOError in giochannel.h. However, 441 * that is only used as a return value in some deprecated functions. 442 * So, we reuse the same prefix for the enumeration values, but call 443 * the actual enumeration (which is rarely used) GIOErrorEnum. 444 */ 445 /** 446 * GIOErrorEnum: 447 * @G_IO_ERROR_FAILED: Generic error condition for when an operation fails 448 * and no more specific #GIOErrorEnum value is defined. 449 * @G_IO_ERROR_NOT_FOUND: File not found. 450 * @G_IO_ERROR_EXISTS: File already exists. 451 * @G_IO_ERROR_IS_DIRECTORY: File is a directory. 452 * @G_IO_ERROR_NOT_DIRECTORY: File is not a directory. 453 * @G_IO_ERROR_NOT_EMPTY: File is a directory that isn't empty. 454 * @G_IO_ERROR_NOT_REGULAR_FILE: File is not a regular file. 455 * @G_IO_ERROR_NOT_SYMBOLIC_LINK: File is not a symbolic link. 456 * @G_IO_ERROR_NOT_MOUNTABLE_FILE: File cannot be mounted. 457 * @G_IO_ERROR_FILENAME_TOO_LONG: Filename is too many characters. 458 * @G_IO_ERROR_INVALID_FILENAME: Filename is invalid or contains invalid characters. 459 * @G_IO_ERROR_TOO_MANY_LINKS: File contains too many symbolic links. 460 * @G_IO_ERROR_NO_SPACE: No space left on drive. 461 * @G_IO_ERROR_INVALID_ARGUMENT: Invalid argument. 462 * @G_IO_ERROR_PERMISSION_DENIED: Permission denied. 463 * @G_IO_ERROR_NOT_SUPPORTED: Operation (or one of its parameters) not supported 464 * @G_IO_ERROR_NOT_MOUNTED: File isn't mounted. 465 * @G_IO_ERROR_ALREADY_MOUNTED: File is already mounted. 466 * @G_IO_ERROR_CLOSED: File was closed. 467 * @G_IO_ERROR_CANCELLED: Operation was cancelled. See #GCancellable. 468 * @G_IO_ERROR_PENDING: Operations are still pending. 469 * @G_IO_ERROR_READ_ONLY: File is read only. 470 * @G_IO_ERROR_CANT_CREATE_BACKUP: Backup couldn't be created. 471 * @G_IO_ERROR_WRONG_ETAG: File's Entity Tag was incorrect. 472 * @G_IO_ERROR_TIMED_OUT: Operation timed out. 473 * @G_IO_ERROR_WOULD_RECURSE: Operation would be recursive. 474 * @G_IO_ERROR_BUSY: File is busy. 475 * @G_IO_ERROR_WOULD_BLOCK: Operation would block. 476 * @G_IO_ERROR_HOST_NOT_FOUND: Host couldn't be found (remote operations). 477 * @G_IO_ERROR_WOULD_MERGE: Operation would merge files. 478 * @G_IO_ERROR_FAILED_HANDLED: Operation failed and a helper program has 479 * already interacted with the user. Do not display any error dialog. 480 * @G_IO_ERROR_TOO_MANY_OPEN_FILES: The current process has too many files 481 * open and can't open any more. Duplicate descriptors do count toward 482 * this limit. Since 2.20 483 * @G_IO_ERROR_NOT_INITIALIZED: The object has not been initialized. Since 2.22 484 * @G_IO_ERROR_ADDRESS_IN_USE: The requested address is already in use. Since 2.22 485 * @G_IO_ERROR_PARTIAL_INPUT: Need more input to finish operation. Since 2.24 486 * @G_IO_ERROR_INVALID_DATA: The input data was invalid. Since 2.24 487 * @G_IO_ERROR_DBUS_ERROR: A remote object generated an error that 488 * doesn't correspond to a locally registered #GError error 489 * domain. Use g_dbus_error_get_remote_error() to extract the D-Bus 490 * error name and g_dbus_error_strip_remote_error() to fix up the 491 * message so it matches what was received on the wire. Since 2.26. 492 * @G_IO_ERROR_HOST_UNREACHABLE: Host unreachable. Since 2.26 493 * @G_IO_ERROR_NETWORK_UNREACHABLE: Network unreachable. Since 2.26 494 * @G_IO_ERROR_CONNECTION_REFUSED: Connection refused. Since 2.26 495 * @G_IO_ERROR_PROXY_FAILED: Connection to proxy server failed. Since 2.26 496 * @G_IO_ERROR_PROXY_AUTH_FAILED: Proxy authentication failed. Since 2.26 497 * @G_IO_ERROR_PROXY_NEED_AUTH: Proxy server needs authentication. Since 2.26 498 * @G_IO_ERROR_PROXY_NOT_ALLOWED: Proxy connection is not allowed by ruleset. 499 * Since 2.26 500 * @G_IO_ERROR_BROKEN_PIPE: Broken pipe. Since 2.36 501 * @G_IO_ERROR_CONNECTION_CLOSED: Connection closed by peer. Note that this 502 * is the same code as %G_IO_ERROR_BROKEN_PIPE; before 2.44 some 503 * "connection closed" errors returned %G_IO_ERROR_BROKEN_PIPE, but others 504 * returned %G_IO_ERROR_FAILED. Now they should all return the same 505 * value, which has this more logical name. Since 2.44. 506 * @G_IO_ERROR_NOT_CONNECTED: Transport endpoint is not connected. Since 2.44 507 * @G_IO_ERROR_MESSAGE_TOO_LARGE: Message too large. Since 2.48. 508 * 509 * Error codes returned by GIO functions. 510 * 511 * Note that this domain may be extended in future GLib releases. In 512 * general, new error codes either only apply to new APIs, or else 513 * replace %G_IO_ERROR_FAILED in cases that were not explicitly 514 * distinguished before. You should therefore avoid writing code like 515 * |[<!-- language="C" --> 516 * if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_FAILED)) 517 * { 518 * // Assume that this is EPRINTERONFIRE 519 * ... 520 * } 521 * ]| 522 * but should instead treat all unrecognized error codes the same as 523 * #G_IO_ERROR_FAILED. 524 * 525 * See also #GPollableReturn for a cheaper way of returning 526 * %G_IO_ERROR_WOULD_BLOCK to callers without allocating a #GError. 527 **/ 528 typedef enum { 529 G_IO_ERROR_FAILED, 530 G_IO_ERROR_NOT_FOUND, 531 G_IO_ERROR_EXISTS, 532 G_IO_ERROR_IS_DIRECTORY, 533 G_IO_ERROR_NOT_DIRECTORY, 534 G_IO_ERROR_NOT_EMPTY, 535 G_IO_ERROR_NOT_REGULAR_FILE, 536 G_IO_ERROR_NOT_SYMBOLIC_LINK, 537 G_IO_ERROR_NOT_MOUNTABLE_FILE, 538 G_IO_ERROR_FILENAME_TOO_LONG, 539 G_IO_ERROR_INVALID_FILENAME, 540 G_IO_ERROR_TOO_MANY_LINKS, 541 G_IO_ERROR_NO_SPACE, 542 G_IO_ERROR_INVALID_ARGUMENT, 543 G_IO_ERROR_PERMISSION_DENIED, 544 G_IO_ERROR_NOT_SUPPORTED, 545 G_IO_ERROR_NOT_MOUNTED, 546 G_IO_ERROR_ALREADY_MOUNTED, 547 G_IO_ERROR_CLOSED, 548 G_IO_ERROR_CANCELLED, 549 G_IO_ERROR_PENDING, 550 G_IO_ERROR_READ_ONLY, 551 G_IO_ERROR_CANT_CREATE_BACKUP, 552 G_IO_ERROR_WRONG_ETAG, 553 G_IO_ERROR_TIMED_OUT, 554 G_IO_ERROR_WOULD_RECURSE, 555 G_IO_ERROR_BUSY, 556 G_IO_ERROR_WOULD_BLOCK, 557 G_IO_ERROR_HOST_NOT_FOUND, 558 G_IO_ERROR_WOULD_MERGE, 559 G_IO_ERROR_FAILED_HANDLED, 560 G_IO_ERROR_TOO_MANY_OPEN_FILES, 561 G_IO_ERROR_NOT_INITIALIZED, 562 G_IO_ERROR_ADDRESS_IN_USE, 563 G_IO_ERROR_PARTIAL_INPUT, 564 G_IO_ERROR_INVALID_DATA, 565 G_IO_ERROR_DBUS_ERROR, 566 G_IO_ERROR_HOST_UNREACHABLE, 567 G_IO_ERROR_NETWORK_UNREACHABLE, 568 G_IO_ERROR_CONNECTION_REFUSED, 569 G_IO_ERROR_PROXY_FAILED, 570 G_IO_ERROR_PROXY_AUTH_FAILED, 571 G_IO_ERROR_PROXY_NEED_AUTH, 572 G_IO_ERROR_PROXY_NOT_ALLOWED, 573 G_IO_ERROR_BROKEN_PIPE, 574 G_IO_ERROR_CONNECTION_CLOSED = G_IO_ERROR_BROKEN_PIPE, 575 G_IO_ERROR_NOT_CONNECTED, 576 G_IO_ERROR_MESSAGE_TOO_LARGE 577 } GIOErrorEnum; 578 579 580 /** 581 * GAskPasswordFlags: 582 * @G_ASK_PASSWORD_NEED_PASSWORD: operation requires a password. 583 * @G_ASK_PASSWORD_NEED_USERNAME: operation requires a username. 584 * @G_ASK_PASSWORD_NEED_DOMAIN: operation requires a domain. 585 * @G_ASK_PASSWORD_SAVING_SUPPORTED: operation supports saving settings. 586 * @G_ASK_PASSWORD_ANONYMOUS_SUPPORTED: operation supports anonymous users. 587 * @G_ASK_PASSWORD_TCRYPT: operation takes TCRYPT parameters (Since: 2.58) 588 * 589 * #GAskPasswordFlags are used to request specific information from the 590 * user, or to notify the user of their choices in an authentication 591 * situation. 592 **/ 593 typedef enum { 594 G_ASK_PASSWORD_NEED_PASSWORD = (1 << 0), 595 G_ASK_PASSWORD_NEED_USERNAME = (1 << 1), 596 G_ASK_PASSWORD_NEED_DOMAIN = (1 << 2), 597 G_ASK_PASSWORD_SAVING_SUPPORTED = (1 << 3), 598 G_ASK_PASSWORD_ANONYMOUS_SUPPORTED = (1 << 4), 599 G_ASK_PASSWORD_TCRYPT = (1 << 5), 600 } GAskPasswordFlags; 601 602 603 /** 604 * GPasswordSave: 605 * @G_PASSWORD_SAVE_NEVER: never save a password. 606 * @G_PASSWORD_SAVE_FOR_SESSION: save a password for the session. 607 * @G_PASSWORD_SAVE_PERMANENTLY: save a password permanently. 608 * 609 * #GPasswordSave is used to indicate the lifespan of a saved password. 610 * 611 * #Gvfs stores passwords in the Gnome keyring when this flag allows it 612 * to, and later retrieves it again from there. 613 **/ 614 typedef enum { 615 G_PASSWORD_SAVE_NEVER, 616 G_PASSWORD_SAVE_FOR_SESSION, 617 G_PASSWORD_SAVE_PERMANENTLY 618 } GPasswordSave; 619 620 621 /** 622 * GMountOperationResult: 623 * @G_MOUNT_OPERATION_HANDLED: The request was fulfilled and the 624 * user specified data is now available 625 * @G_MOUNT_OPERATION_ABORTED: The user requested the mount operation 626 * to be aborted 627 * @G_MOUNT_OPERATION_UNHANDLED: The request was unhandled (i.e. not 628 * implemented) 629 * 630 * #GMountOperationResult is returned as a result when a request for 631 * information is send by the mounting operation. 632 **/ 633 typedef enum { 634 G_MOUNT_OPERATION_HANDLED, 635 G_MOUNT_OPERATION_ABORTED, 636 G_MOUNT_OPERATION_UNHANDLED 637 } GMountOperationResult; 638 639 640 /** 641 * GOutputStreamSpliceFlags: 642 * @G_OUTPUT_STREAM_SPLICE_NONE: Do not close either stream. 643 * @G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE: Close the source stream after 644 * the splice. 645 * @G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET: Close the target stream after 646 * the splice. 647 * 648 * GOutputStreamSpliceFlags determine how streams should be spliced. 649 **/ 650 typedef enum { 651 G_OUTPUT_STREAM_SPLICE_NONE = 0, 652 G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE = (1 << 0), 653 G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET = (1 << 1) 654 } GOutputStreamSpliceFlags; 655 656 657 /** 658 * GIOStreamSpliceFlags: 659 * @G_IO_STREAM_SPLICE_NONE: Do not close either stream. 660 * @G_IO_STREAM_SPLICE_CLOSE_STREAM1: Close the first stream after 661 * the splice. 662 * @G_IO_STREAM_SPLICE_CLOSE_STREAM2: Close the second stream after 663 * the splice. 664 * @G_IO_STREAM_SPLICE_WAIT_FOR_BOTH: Wait for both splice operations to finish 665 * before calling the callback. 666 * 667 * GIOStreamSpliceFlags determine how streams should be spliced. 668 * 669 * Since: 2.28 670 **/ 671 typedef enum { 672 G_IO_STREAM_SPLICE_NONE = 0, 673 G_IO_STREAM_SPLICE_CLOSE_STREAM1 = (1 << 0), 674 G_IO_STREAM_SPLICE_CLOSE_STREAM2 = (1 << 1), 675 G_IO_STREAM_SPLICE_WAIT_FOR_BOTH = (1 << 2) 676 } GIOStreamSpliceFlags; 677 678 /** 679 * GEmblemOrigin: 680 * @G_EMBLEM_ORIGIN_UNKNOWN: Emblem of unknown origin 681 * @G_EMBLEM_ORIGIN_DEVICE: Emblem adds device-specific information 682 * @G_EMBLEM_ORIGIN_LIVEMETADATA: Emblem depicts live metadata, such as "readonly" 683 * @G_EMBLEM_ORIGIN_TAG: Emblem comes from a user-defined tag, e.g. set by nautilus (in the future) 684 * 685 * GEmblemOrigin is used to add information about the origin of the emblem 686 * to #GEmblem. 687 * 688 * Since: 2.18 689 */ 690 typedef enum { 691 G_EMBLEM_ORIGIN_UNKNOWN, 692 G_EMBLEM_ORIGIN_DEVICE, 693 G_EMBLEM_ORIGIN_LIVEMETADATA, 694 G_EMBLEM_ORIGIN_TAG 695 } GEmblemOrigin; 696 697 /** 698 * GResolverError: 699 * @G_RESOLVER_ERROR_NOT_FOUND: the requested name/address/service was not 700 * found 701 * @G_RESOLVER_ERROR_TEMPORARY_FAILURE: the requested information could not 702 * be looked up due to a network error or similar problem 703 * @G_RESOLVER_ERROR_INTERNAL: unknown error 704 * 705 * An error code used with %G_RESOLVER_ERROR in a #GError returned 706 * from a #GResolver routine. 707 * 708 * Since: 2.22 709 */ 710 typedef enum { 711 G_RESOLVER_ERROR_NOT_FOUND, 712 G_RESOLVER_ERROR_TEMPORARY_FAILURE, 713 G_RESOLVER_ERROR_INTERNAL 714 } GResolverError; 715 716 /** 717 * GResolverRecordType: 718 * @G_RESOLVER_RECORD_SRV: look up DNS SRV records for a domain 719 * @G_RESOLVER_RECORD_MX: look up DNS MX records for a domain 720 * @G_RESOLVER_RECORD_TXT: look up DNS TXT records for a name 721 * @G_RESOLVER_RECORD_SOA: look up DNS SOA records for a zone 722 * @G_RESOLVER_RECORD_NS: look up DNS NS records for a domain 723 * 724 * The type of record that g_resolver_lookup_records() or 725 * g_resolver_lookup_records_async() should retrieve. The records are returned 726 * as lists of #GVariant tuples. Each record type has different values in 727 * the variant tuples returned. 728 * 729 * %G_RESOLVER_RECORD_SRV records are returned as variants with the signature 730 * `(qqqs)`, containing a `guint16` with the priority, a `guint16` with the 731 * weight, a `guint16` with the port, and a string of the hostname. 732 * 733 * %G_RESOLVER_RECORD_MX records are returned as variants with the signature 734 * `(qs)`, representing a `guint16` with the preference, and a string containing 735 * the mail exchanger hostname. 736 * 737 * %G_RESOLVER_RECORD_TXT records are returned as variants with the signature 738 * `(as)`, representing an array of the strings in the text record. Note: Most TXT 739 * records only contain a single string, but 740 * [RFC 1035](https://tools.ietf.org/html/rfc1035#section-3.3.14) does allow a 741 * record to contain multiple strings. The RFC which defines the interpretation 742 * of a specific TXT record will likely require concatenation of multiple 743 * strings if they are present, as with 744 * [RFC 7208](https://tools.ietf.org/html/rfc7208#section-3.3). 745 * 746 * %G_RESOLVER_RECORD_SOA records are returned as variants with the signature 747 * `(ssuuuuu)`, representing a string containing the primary name server, a 748 * string containing the administrator, the serial as a `guint32`, the refresh 749 * interval as a `guint32`, the retry interval as a `guint32`, the expire timeout 750 * as a `guint32`, and the TTL as a `guint32`. 751 * 752 * %G_RESOLVER_RECORD_NS records are returned as variants with the signature 753 * `(s)`, representing a string of the hostname of the name server. 754 * 755 * Since: 2.34 756 */ 757 typedef enum { 758 G_RESOLVER_RECORD_SRV = 1, 759 G_RESOLVER_RECORD_MX, 760 G_RESOLVER_RECORD_TXT, 761 G_RESOLVER_RECORD_SOA, 762 G_RESOLVER_RECORD_NS 763 } GResolverRecordType; 764 765 /** 766 * GResourceError: 767 * @G_RESOURCE_ERROR_NOT_FOUND: no file was found at the requested path 768 * @G_RESOURCE_ERROR_INTERNAL: unknown error 769 * 770 * An error code used with %G_RESOURCE_ERROR in a #GError returned 771 * from a #GResource routine. 772 * 773 * Since: 2.32 774 */ 775 typedef enum { 776 G_RESOURCE_ERROR_NOT_FOUND, 777 G_RESOURCE_ERROR_INTERNAL 778 } GResourceError; 779 780 /** 781 * GResourceFlags: 782 * @G_RESOURCE_FLAGS_NONE: No flags set. 783 * @G_RESOURCE_FLAGS_COMPRESSED: The file is compressed. 784 * 785 * GResourceFlags give information about a particular file inside a resource 786 * bundle. 787 * 788 * Since: 2.32 789 **/ 790 typedef enum { 791 G_RESOURCE_FLAGS_NONE = 0, 792 G_RESOURCE_FLAGS_COMPRESSED = (1<<0) 793 } GResourceFlags; 794 795 /** 796 * GResourceLookupFlags: 797 * @G_RESOURCE_LOOKUP_FLAGS_NONE: No flags set. 798 * 799 * GResourceLookupFlags determine how resource path lookups are handled. 800 * 801 * Since: 2.32 802 **/ 803 typedef enum /*< flags >*/ { 804 G_RESOURCE_LOOKUP_FLAGS_NONE = 0 805 } GResourceLookupFlags; 806 807 /** 808 * GSocketFamily: 809 * @G_SOCKET_FAMILY_INVALID: no address family 810 * @G_SOCKET_FAMILY_IPV4: the IPv4 family 811 * @G_SOCKET_FAMILY_IPV6: the IPv6 family 812 * @G_SOCKET_FAMILY_UNIX: the UNIX domain family 813 * 814 * The protocol family of a #GSocketAddress. (These values are 815 * identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX, 816 * if available.) 817 * 818 * Since: 2.22 819 */ 820 typedef enum { 821 G_SOCKET_FAMILY_INVALID, 822 G_SOCKET_FAMILY_UNIX = GLIB_SYSDEF_AF_UNIX, 823 G_SOCKET_FAMILY_IPV4 = GLIB_SYSDEF_AF_INET, 824 G_SOCKET_FAMILY_IPV6 = GLIB_SYSDEF_AF_INET6 825 } GSocketFamily; 826 827 /** 828 * GSocketType: 829 * @G_SOCKET_TYPE_INVALID: Type unknown or wrong 830 * @G_SOCKET_TYPE_STREAM: Reliable connection-based byte streams (e.g. TCP). 831 * @G_SOCKET_TYPE_DATAGRAM: Connectionless, unreliable datagram passing. 832 * (e.g. UDP) 833 * @G_SOCKET_TYPE_SEQPACKET: Reliable connection-based passing of datagrams 834 * of fixed maximum length (e.g. SCTP). 835 * 836 * Flags used when creating a #GSocket. Some protocols may not implement 837 * all the socket types. 838 * 839 * Since: 2.22 840 */ 841 typedef enum 842 { 843 G_SOCKET_TYPE_INVALID, 844 G_SOCKET_TYPE_STREAM, 845 G_SOCKET_TYPE_DATAGRAM, 846 G_SOCKET_TYPE_SEQPACKET 847 } GSocketType; 848 849 /** 850 * GSocketMsgFlags: 851 * @G_SOCKET_MSG_NONE: No flags. 852 * @G_SOCKET_MSG_OOB: Request to send/receive out of band data. 853 * @G_SOCKET_MSG_PEEK: Read data from the socket without removing it from 854 * the queue. 855 * @G_SOCKET_MSG_DONTROUTE: Don't use a gateway to send out the packet, 856 * only send to hosts on directly connected networks. 857 * 858 * Flags used in g_socket_receive_message() and g_socket_send_message(). 859 * The flags listed in the enum are some commonly available flags, but the 860 * values used for them are the same as on the platform, and any other flags 861 * are passed in/out as is. So to use a platform specific flag, just include 862 * the right system header and pass in the flag. 863 * 864 * Since: 2.22 865 */ 866 typedef enum /*< flags >*/ 867 { 868 G_SOCKET_MSG_NONE, 869 G_SOCKET_MSG_OOB = GLIB_SYSDEF_MSG_OOB, 870 G_SOCKET_MSG_PEEK = GLIB_SYSDEF_MSG_PEEK, 871 G_SOCKET_MSG_DONTROUTE = GLIB_SYSDEF_MSG_DONTROUTE 872 } GSocketMsgFlags; 873 874 /** 875 * GSocketProtocol: 876 * @G_SOCKET_PROTOCOL_UNKNOWN: The protocol type is unknown 877 * @G_SOCKET_PROTOCOL_DEFAULT: The default protocol for the family/type 878 * @G_SOCKET_PROTOCOL_TCP: TCP over IP 879 * @G_SOCKET_PROTOCOL_UDP: UDP over IP 880 * @G_SOCKET_PROTOCOL_SCTP: SCTP over IP 881 * 882 * A protocol identifier is specified when creating a #GSocket, which is a 883 * family/type specific identifier, where 0 means the default protocol for 884 * the particular family/type. 885 * 886 * This enum contains a set of commonly available and used protocols. You 887 * can also pass any other identifiers handled by the platform in order to 888 * use protocols not listed here. 889 * 890 * Since: 2.22 891 */ 892 typedef enum { 893 G_SOCKET_PROTOCOL_UNKNOWN = -1, 894 G_SOCKET_PROTOCOL_DEFAULT = 0, 895 G_SOCKET_PROTOCOL_TCP = 6, 896 G_SOCKET_PROTOCOL_UDP = 17, 897 G_SOCKET_PROTOCOL_SCTP = 132 898 } GSocketProtocol; 899 900 /** 901 * GZlibCompressorFormat: 902 * @G_ZLIB_COMPRESSOR_FORMAT_ZLIB: deflate compression with zlib header 903 * @G_ZLIB_COMPRESSOR_FORMAT_GZIP: gzip file format 904 * @G_ZLIB_COMPRESSOR_FORMAT_RAW: deflate compression with no header 905 * 906 * Used to select the type of data format to use for #GZlibDecompressor 907 * and #GZlibCompressor. 908 * 909 * Since: 2.24 910 */ 911 typedef enum { 912 G_ZLIB_COMPRESSOR_FORMAT_ZLIB, 913 G_ZLIB_COMPRESSOR_FORMAT_GZIP, 914 G_ZLIB_COMPRESSOR_FORMAT_RAW 915 } GZlibCompressorFormat; 916 917 /** 918 * GUnixSocketAddressType: 919 * @G_UNIX_SOCKET_ADDRESS_INVALID: invalid 920 * @G_UNIX_SOCKET_ADDRESS_ANONYMOUS: anonymous 921 * @G_UNIX_SOCKET_ADDRESS_PATH: a filesystem path 922 * @G_UNIX_SOCKET_ADDRESS_ABSTRACT: an abstract name 923 * @G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED: an abstract name, 0-padded 924 * to the full length of a unix socket name 925 * 926 * The type of name used by a #GUnixSocketAddress. 927 * %G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain 928 * socket bound to a filesystem path. %G_UNIX_SOCKET_ADDRESS_ANONYMOUS 929 * indicates a socket not bound to any name (eg, a client-side socket, 930 * or a socket created with socketpair()). 931 * 932 * For abstract sockets, there are two incompatible ways of naming 933 * them; the man pages suggest using the entire `struct sockaddr_un` 934 * as the name, padding the unused parts of the %sun_path field with 935 * zeroes; this corresponds to %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED. 936 * However, many programs instead just use a portion of %sun_path, and 937 * pass an appropriate smaller length to bind() or connect(). This is 938 * %G_UNIX_SOCKET_ADDRESS_ABSTRACT. 939 * 940 * Since: 2.26 941 */ 942 typedef enum { 943 G_UNIX_SOCKET_ADDRESS_INVALID, 944 G_UNIX_SOCKET_ADDRESS_ANONYMOUS, 945 G_UNIX_SOCKET_ADDRESS_PATH, 946 G_UNIX_SOCKET_ADDRESS_ABSTRACT, 947 G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED 948 } GUnixSocketAddressType; 949 950 /** 951 * GBusType: 952 * @G_BUS_TYPE_STARTER: An alias for the message bus that activated the process, if any. 953 * @G_BUS_TYPE_NONE: Not a message bus. 954 * @G_BUS_TYPE_SYSTEM: The system-wide message bus. 955 * @G_BUS_TYPE_SESSION: The login session message bus. 956 * 957 * An enumeration for well-known message buses. 958 * 959 * Since: 2.26 960 */ 961 typedef enum 962 { 963 G_BUS_TYPE_STARTER = -1, 964 G_BUS_TYPE_NONE = 0, 965 G_BUS_TYPE_SYSTEM = 1, 966 G_BUS_TYPE_SESSION = 2 967 } GBusType; 968 969 /** 970 * GBusNameOwnerFlags: 971 * @G_BUS_NAME_OWNER_FLAGS_NONE: No flags set. 972 * @G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT: Allow another message bus connection to claim the name. 973 * @G_BUS_NAME_OWNER_FLAGS_REPLACE: If another message bus connection owns the name and have 974 * specified #G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection. 975 * @G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE: If another message bus connection owns the name, immediately 976 * return an error from g_bus_own_name() rather than entering the waiting queue for that name. (Since 2.54) 977 * 978 * Flags used in g_bus_own_name(). 979 * 980 * Since: 2.26 981 */ 982 typedef enum 983 { 984 G_BUS_NAME_OWNER_FLAGS_NONE = 0, /*< nick=none >*/ 985 G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT = (1<<0), /*< nick=allow-replacement >*/ 986 G_BUS_NAME_OWNER_FLAGS_REPLACE = (1<<1), /*< nick=replace >*/ 987 G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE = (1<<2) /*< nick=do-not-queue >*/ 988 } GBusNameOwnerFlags; 989 /* When adding new flags, their numeric values must currently match those 990 * used in the D-Bus Specification. */ 991 992 /** 993 * GBusNameWatcherFlags: 994 * @G_BUS_NAME_WATCHER_FLAGS_NONE: No flags set. 995 * @G_BUS_NAME_WATCHER_FLAGS_AUTO_START: If no-one owns the name when 996 * beginning to watch the name, ask the bus to launch an owner for the 997 * name. 998 * 999 * Flags used in g_bus_watch_name(). 1000 * 1001 * Since: 2.26 1002 */ 1003 typedef enum 1004 { 1005 G_BUS_NAME_WATCHER_FLAGS_NONE = 0, 1006 G_BUS_NAME_WATCHER_FLAGS_AUTO_START = (1<<0) 1007 } GBusNameWatcherFlags; 1008 1009 /** 1010 * GDBusProxyFlags: 1011 * @G_DBUS_PROXY_FLAGS_NONE: No flags set. 1012 * @G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES: Don't load properties. 1013 * @G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS: Don't connect to signals on the remote object. 1014 * @G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START: If the proxy is for a well-known name, 1015 * do not ask the bus to launch an owner during proxy initialization or a method call. 1016 * This flag is only meaningful in proxies for well-known names. 1017 * @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 #GDBusProxy::g-properties-changed signal. When the value is received the #GDBusProxy::g-properties-changed signal is emitted for the property along with the retrieved value. Since 2.32. 1018 * @G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION: If the proxy is for a well-known name, 1019 * do not ask the bus to launch an owner during proxy initialization, but allow it to be 1020 * autostarted by a method call. This flag is only meaningful in proxies for well-known names, 1021 * and only if %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is not also specified. 1022 * 1023 * Flags used when constructing an instance of a #GDBusProxy derived class. 1024 * 1025 * Since: 2.26 1026 */ 1027 typedef enum 1028 { 1029 G_DBUS_PROXY_FLAGS_NONE = 0, 1030 G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES = (1<<0), 1031 G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS = (1<<1), 1032 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START = (1<<2), 1033 G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES = (1<<3), 1034 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION = (1<<4) 1035 } GDBusProxyFlags; 1036 1037 /** 1038 * GDBusError: 1039 * @G_DBUS_ERROR_FAILED: 1040 * A generic error; "something went wrong" - see the error message for 1041 * more. 1042 * @G_DBUS_ERROR_NO_MEMORY: 1043 * There was not enough memory to complete an operation. 1044 * @G_DBUS_ERROR_SERVICE_UNKNOWN: 1045 * The bus doesn't know how to launch a service to supply the bus name 1046 * you wanted. 1047 * @G_DBUS_ERROR_NAME_HAS_NO_OWNER: 1048 * The bus name you referenced doesn't exist (i.e. no application owns 1049 * it). 1050 * @G_DBUS_ERROR_NO_REPLY: 1051 * No reply to a message expecting one, usually means a timeout occurred. 1052 * @G_DBUS_ERROR_IO_ERROR: 1053 * Something went wrong reading or writing to a socket, for example. 1054 * @G_DBUS_ERROR_BAD_ADDRESS: 1055 * A D-Bus bus address was malformed. 1056 * @G_DBUS_ERROR_NOT_SUPPORTED: 1057 * Requested operation isn't supported (like ENOSYS on UNIX). 1058 * @G_DBUS_ERROR_LIMITS_EXCEEDED: 1059 * Some limited resource is exhausted. 1060 * @G_DBUS_ERROR_ACCESS_DENIED: 1061 * Security restrictions don't allow doing what you're trying to do. 1062 * @G_DBUS_ERROR_AUTH_FAILED: 1063 * Authentication didn't work. 1064 * @G_DBUS_ERROR_NO_SERVER: 1065 * Unable to connect to server (probably caused by ECONNREFUSED on a 1066 * socket). 1067 * @G_DBUS_ERROR_TIMEOUT: 1068 * Certain timeout errors, possibly ETIMEDOUT on a socket. Note that 1069 * %G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning: 1070 * this is confusingly-named given that %G_DBUS_ERROR_TIMED_OUT also 1071 * exists. We can't fix it for compatibility reasons so just be 1072 * careful. 1073 * @G_DBUS_ERROR_NO_NETWORK: 1074 * No network access (probably ENETUNREACH on a socket). 1075 * @G_DBUS_ERROR_ADDRESS_IN_USE: 1076 * Can't bind a socket since its address is in use (i.e. EADDRINUSE). 1077 * @G_DBUS_ERROR_DISCONNECTED: 1078 * The connection is disconnected and you're trying to use it. 1079 * @G_DBUS_ERROR_INVALID_ARGS: 1080 * Invalid arguments passed to a method call. 1081 * @G_DBUS_ERROR_FILE_NOT_FOUND: 1082 * Missing file. 1083 * @G_DBUS_ERROR_FILE_EXISTS: 1084 * Existing file and the operation you're using does not silently overwrite. 1085 * @G_DBUS_ERROR_UNKNOWN_METHOD: 1086 * Method name you invoked isn't known by the object you invoked it on. 1087 * @G_DBUS_ERROR_UNKNOWN_OBJECT: 1088 * Object you invoked a method on isn't known. Since 2.42 1089 * @G_DBUS_ERROR_UNKNOWN_INTERFACE: 1090 * Interface you invoked a method on isn't known by the object. Since 2.42 1091 * @G_DBUS_ERROR_UNKNOWN_PROPERTY: 1092 * Property you tried to access isn't known by the object. Since 2.42 1093 * @G_DBUS_ERROR_PROPERTY_READ_ONLY: 1094 * Property you tried to set is read-only. Since 2.42 1095 * @G_DBUS_ERROR_TIMED_OUT: 1096 * Certain timeout errors, e.g. while starting a service. Warning: this is 1097 * confusingly-named given that %G_DBUS_ERROR_TIMEOUT also exists. We 1098 * can't fix it for compatibility reasons so just be careful. 1099 * @G_DBUS_ERROR_MATCH_RULE_NOT_FOUND: 1100 * Tried to remove or modify a match rule that didn't exist. 1101 * @G_DBUS_ERROR_MATCH_RULE_INVALID: 1102 * The match rule isn't syntactically valid. 1103 * @G_DBUS_ERROR_SPAWN_EXEC_FAILED: 1104 * While starting a new process, the exec() call failed. 1105 * @G_DBUS_ERROR_SPAWN_FORK_FAILED: 1106 * While starting a new process, the fork() call failed. 1107 * @G_DBUS_ERROR_SPAWN_CHILD_EXITED: 1108 * While starting a new process, the child exited with a status code. 1109 * @G_DBUS_ERROR_SPAWN_CHILD_SIGNALED: 1110 * While starting a new process, the child exited on a signal. 1111 * @G_DBUS_ERROR_SPAWN_FAILED: 1112 * While starting a new process, something went wrong. 1113 * @G_DBUS_ERROR_SPAWN_SETUP_FAILED: 1114 * We failed to setup the environment correctly. 1115 * @G_DBUS_ERROR_SPAWN_CONFIG_INVALID: 1116 * We failed to setup the config parser correctly. 1117 * @G_DBUS_ERROR_SPAWN_SERVICE_INVALID: 1118 * Bus name was not valid. 1119 * @G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND: 1120 * Service file not found in system-services directory. 1121 * @G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID: 1122 * Permissions are incorrect on the setuid helper. 1123 * @G_DBUS_ERROR_SPAWN_FILE_INVALID: 1124 * Service file invalid (Name, User or Exec missing). 1125 * @G_DBUS_ERROR_SPAWN_NO_MEMORY: 1126 * Tried to get a UNIX process ID and it wasn't available. 1127 * @G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN: 1128 * Tried to get a UNIX process ID and it wasn't available. 1129 * @G_DBUS_ERROR_INVALID_SIGNATURE: 1130 * A type signature is not valid. 1131 * @G_DBUS_ERROR_INVALID_FILE_CONTENT: 1132 * A file contains invalid syntax or is otherwise broken. 1133 * @G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN: 1134 * Asked for SELinux security context and it wasn't available. 1135 * @G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN: 1136 * Asked for ADT audit data and it wasn't available. 1137 * @G_DBUS_ERROR_OBJECT_PATH_IN_USE: 1138 * There's already an object with the requested object path. 1139 * 1140 * Error codes for the %G_DBUS_ERROR error domain. 1141 * 1142 * Since: 2.26 1143 */ 1144 typedef enum 1145 { 1146 /* Well-known errors in the org.freedesktop.DBus.Error namespace */ 1147 G_DBUS_ERROR_FAILED, /* org.freedesktop.DBus.Error.Failed */ 1148 G_DBUS_ERROR_NO_MEMORY, /* org.freedesktop.DBus.Error.NoMemory */ 1149 G_DBUS_ERROR_SERVICE_UNKNOWN, /* org.freedesktop.DBus.Error.ServiceUnknown */ 1150 G_DBUS_ERROR_NAME_HAS_NO_OWNER, /* org.freedesktop.DBus.Error.NameHasNoOwner */ 1151 G_DBUS_ERROR_NO_REPLY, /* org.freedesktop.DBus.Error.NoReply */ 1152 G_DBUS_ERROR_IO_ERROR, /* org.freedesktop.DBus.Error.IOError */ 1153 G_DBUS_ERROR_BAD_ADDRESS, /* org.freedesktop.DBus.Error.BadAddress */ 1154 G_DBUS_ERROR_NOT_SUPPORTED, /* org.freedesktop.DBus.Error.NotSupported */ 1155 G_DBUS_ERROR_LIMITS_EXCEEDED, /* org.freedesktop.DBus.Error.LimitsExceeded */ 1156 G_DBUS_ERROR_ACCESS_DENIED, /* org.freedesktop.DBus.Error.AccessDenied */ 1157 G_DBUS_ERROR_AUTH_FAILED, /* org.freedesktop.DBus.Error.AuthFailed */ 1158 G_DBUS_ERROR_NO_SERVER, /* org.freedesktop.DBus.Error.NoServer */ 1159 G_DBUS_ERROR_TIMEOUT, /* org.freedesktop.DBus.Error.Timeout */ 1160 G_DBUS_ERROR_NO_NETWORK, /* org.freedesktop.DBus.Error.NoNetwork */ 1161 G_DBUS_ERROR_ADDRESS_IN_USE, /* org.freedesktop.DBus.Error.AddressInUse */ 1162 G_DBUS_ERROR_DISCONNECTED, /* org.freedesktop.DBus.Error.Disconnected */ 1163 G_DBUS_ERROR_INVALID_ARGS, /* org.freedesktop.DBus.Error.InvalidArgs */ 1164 G_DBUS_ERROR_FILE_NOT_FOUND, /* org.freedesktop.DBus.Error.FileNotFound */ 1165 G_DBUS_ERROR_FILE_EXISTS, /* org.freedesktop.DBus.Error.FileExists */ 1166 G_DBUS_ERROR_UNKNOWN_METHOD, /* org.freedesktop.DBus.Error.UnknownMethod */ 1167 G_DBUS_ERROR_TIMED_OUT, /* org.freedesktop.DBus.Error.TimedOut */ 1168 G_DBUS_ERROR_MATCH_RULE_NOT_FOUND, /* org.freedesktop.DBus.Error.MatchRuleNotFound */ 1169 G_DBUS_ERROR_MATCH_RULE_INVALID, /* org.freedesktop.DBus.Error.MatchRuleInvalid */ 1170 G_DBUS_ERROR_SPAWN_EXEC_FAILED, /* org.freedesktop.DBus.Error.Spawn.ExecFailed */ 1171 G_DBUS_ERROR_SPAWN_FORK_FAILED, /* org.freedesktop.DBus.Error.Spawn.ForkFailed */ 1172 G_DBUS_ERROR_SPAWN_CHILD_EXITED, /* org.freedesktop.DBus.Error.Spawn.ChildExited */ 1173 G_DBUS_ERROR_SPAWN_CHILD_SIGNALED, /* org.freedesktop.DBus.Error.Spawn.ChildSignaled */ 1174 G_DBUS_ERROR_SPAWN_FAILED, /* org.freedesktop.DBus.Error.Spawn.Failed */ 1175 G_DBUS_ERROR_SPAWN_SETUP_FAILED, /* org.freedesktop.DBus.Error.Spawn.FailedToSetup */ 1176 G_DBUS_ERROR_SPAWN_CONFIG_INVALID, /* org.freedesktop.DBus.Error.Spawn.ConfigInvalid */ 1177 G_DBUS_ERROR_SPAWN_SERVICE_INVALID, /* org.freedesktop.DBus.Error.Spawn.ServiceNotValid */ 1178 G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND, /* org.freedesktop.DBus.Error.Spawn.ServiceNotFound */ 1179 G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID, /* org.freedesktop.DBus.Error.Spawn.PermissionsInvalid */ 1180 G_DBUS_ERROR_SPAWN_FILE_INVALID, /* org.freedesktop.DBus.Error.Spawn.FileInvalid */ 1181 G_DBUS_ERROR_SPAWN_NO_MEMORY, /* org.freedesktop.DBus.Error.Spawn.NoMemory */ 1182 G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN, /* org.freedesktop.DBus.Error.UnixProcessIdUnknown */ 1183 G_DBUS_ERROR_INVALID_SIGNATURE, /* org.freedesktop.DBus.Error.InvalidSignature */ 1184 G_DBUS_ERROR_INVALID_FILE_CONTENT, /* org.freedesktop.DBus.Error.InvalidFileContent */ 1185 G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN, /* org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown */ 1186 G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN, /* org.freedesktop.DBus.Error.AdtAuditDataUnknown */ 1187 G_DBUS_ERROR_OBJECT_PATH_IN_USE, /* org.freedesktop.DBus.Error.ObjectPathInUse */ 1188 G_DBUS_ERROR_UNKNOWN_OBJECT, /* org.freedesktop.DBus.Error.UnknownObject */ 1189 G_DBUS_ERROR_UNKNOWN_INTERFACE, /* org.freedesktop.DBus.Error.UnknownInterface */ 1190 G_DBUS_ERROR_UNKNOWN_PROPERTY, /* org.freedesktop.DBus.Error.UnknownProperty */ 1191 G_DBUS_ERROR_PROPERTY_READ_ONLY /* org.freedesktop.DBus.Error.PropertyReadOnly */ 1192 } GDBusError; 1193 /* Remember to update g_dbus_error_quark() in gdbuserror.c if you extend this enumeration */ 1194 1195 /** 1196 * GDBusConnectionFlags: 1197 * @G_DBUS_CONNECTION_FLAGS_NONE: No flags set. 1198 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT: Perform authentication against server. 1199 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER: Perform authentication against client. 1200 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: When 1201 * authenticating as a server, allow the anonymous authentication 1202 * method. 1203 * @G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION: Pass this flag if connecting to a peer that is a 1204 * message bus. This means that the Hello() method will be invoked as part of the connection setup. 1205 * @G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING: If set, processing of D-Bus messages is 1206 * delayed until g_dbus_connection_start_message_processing() is called. 1207 * 1208 * Flags used when creating a new #GDBusConnection. 1209 * 1210 * Since: 2.26 1211 */ 1212 typedef enum { 1213 G_DBUS_CONNECTION_FLAGS_NONE = 0, 1214 G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT = (1<<0), 1215 G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER = (1<<1), 1216 G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<2), 1217 G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION = (1<<3), 1218 G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING = (1<<4) 1219 } GDBusConnectionFlags; 1220 1221 /** 1222 * GDBusCapabilityFlags: 1223 * @G_DBUS_CAPABILITY_FLAGS_NONE: No flags set. 1224 * @G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING: The connection 1225 * supports exchanging UNIX file descriptors with the remote peer. 1226 * 1227 * Capabilities negotiated with the remote peer. 1228 * 1229 * Since: 2.26 1230 */ 1231 typedef enum { 1232 G_DBUS_CAPABILITY_FLAGS_NONE = 0, 1233 G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING = (1<<0) 1234 } GDBusCapabilityFlags; 1235 1236 /** 1237 * GDBusCallFlags: 1238 * @G_DBUS_CALL_FLAGS_NONE: No flags set. 1239 * @G_DBUS_CALL_FLAGS_NO_AUTO_START: The bus must not launch 1240 * an owner for the destination name in response to this method 1241 * invocation. 1242 * @G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: the caller is prepared to 1243 * wait for interactive authorization. Since 2.46. 1244 * 1245 * Flags used in g_dbus_connection_call() and similar APIs. 1246 * 1247 * Since: 2.26 1248 */ 1249 typedef enum { 1250 G_DBUS_CALL_FLAGS_NONE = 0, 1251 G_DBUS_CALL_FLAGS_NO_AUTO_START = (1<<0), 1252 G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION = (1<<1) 1253 } GDBusCallFlags; 1254 /* (1<<31) is reserved for internal use by GDBusConnection, do not use it. */ 1255 1256 /** 1257 * GDBusMessageType: 1258 * @G_DBUS_MESSAGE_TYPE_INVALID: Message is of invalid type. 1259 * @G_DBUS_MESSAGE_TYPE_METHOD_CALL: Method call. 1260 * @G_DBUS_MESSAGE_TYPE_METHOD_RETURN: Method reply. 1261 * @G_DBUS_MESSAGE_TYPE_ERROR: Error reply. 1262 * @G_DBUS_MESSAGE_TYPE_SIGNAL: Signal emission. 1263 * 1264 * Message types used in #GDBusMessage. 1265 * 1266 * Since: 2.26 1267 */ 1268 typedef enum { 1269 G_DBUS_MESSAGE_TYPE_INVALID, 1270 G_DBUS_MESSAGE_TYPE_METHOD_CALL, 1271 G_DBUS_MESSAGE_TYPE_METHOD_RETURN, 1272 G_DBUS_MESSAGE_TYPE_ERROR, 1273 G_DBUS_MESSAGE_TYPE_SIGNAL 1274 } GDBusMessageType; 1275 1276 /** 1277 * GDBusMessageFlags: 1278 * @G_DBUS_MESSAGE_FLAGS_NONE: No flags set. 1279 * @G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED: A reply is not expected. 1280 * @G_DBUS_MESSAGE_FLAGS_NO_AUTO_START: The bus must not launch an 1281 * owner for the destination name in response to this message. 1282 * @G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: If set on a method 1283 * call, this flag means that the caller is prepared to wait for interactive 1284 * authorization. Since 2.46. 1285 * 1286 * Message flags used in #GDBusMessage. 1287 * 1288 * Since: 2.26 1289 */ 1290 typedef enum { 1291 G_DBUS_MESSAGE_FLAGS_NONE = 0, 1292 G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED = (1<<0), 1293 G_DBUS_MESSAGE_FLAGS_NO_AUTO_START = (1<<1), 1294 G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION = (1<<2) 1295 } GDBusMessageFlags; 1296 1297 /** 1298 * GDBusMessageHeaderField: 1299 * @G_DBUS_MESSAGE_HEADER_FIELD_INVALID: Not a valid header field. 1300 * @G_DBUS_MESSAGE_HEADER_FIELD_PATH: The object path. 1301 * @G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE: The interface name. 1302 * @G_DBUS_MESSAGE_HEADER_FIELD_MEMBER: The method or signal name. 1303 * @G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME: The name of the error that occurred. 1304 * @G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL: The serial number the message is a reply to. 1305 * @G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION: The name the message is intended for. 1306 * @G_DBUS_MESSAGE_HEADER_FIELD_SENDER: Unique name of the sender of the message (filled in by the bus). 1307 * @G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE: The signature of the message body. 1308 * @G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS: The number of UNIX file descriptors that accompany the message. 1309 * 1310 * Header fields used in #GDBusMessage. 1311 * 1312 * Since: 2.26 1313 */ 1314 typedef enum { 1315 G_DBUS_MESSAGE_HEADER_FIELD_INVALID, 1316 G_DBUS_MESSAGE_HEADER_FIELD_PATH, 1317 G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE, 1318 G_DBUS_MESSAGE_HEADER_FIELD_MEMBER, 1319 G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME, 1320 G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL, 1321 G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION, 1322 G_DBUS_MESSAGE_HEADER_FIELD_SENDER, 1323 G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE, 1324 G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS 1325 } GDBusMessageHeaderField; 1326 1327 /** 1328 * GDBusPropertyInfoFlags: 1329 * @G_DBUS_PROPERTY_INFO_FLAGS_NONE: No flags set. 1330 * @G_DBUS_PROPERTY_INFO_FLAGS_READABLE: Property is readable. 1331 * @G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE: Property is writable. 1332 * 1333 * Flags describing the access control of a D-Bus property. 1334 * 1335 * Since: 2.26 1336 */ 1337 typedef enum 1338 { 1339 G_DBUS_PROPERTY_INFO_FLAGS_NONE = 0, 1340 G_DBUS_PROPERTY_INFO_FLAGS_READABLE = (1<<0), 1341 G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE = (1<<1) 1342 } GDBusPropertyInfoFlags; 1343 1344 /** 1345 * GDBusSubtreeFlags: 1346 * @G_DBUS_SUBTREE_FLAGS_NONE: No flags set. 1347 * @G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES: Method calls to objects not in the enumerated range 1348 * will still be dispatched. This is useful if you want 1349 * to dynamically spawn objects in the subtree. 1350 * 1351 * Flags passed to g_dbus_connection_register_subtree(). 1352 * 1353 * Since: 2.26 1354 */ 1355 typedef enum 1356 { 1357 G_DBUS_SUBTREE_FLAGS_NONE = 0, 1358 G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES = (1<<0) 1359 } GDBusSubtreeFlags; 1360 1361 /** 1362 * GDBusServerFlags: 1363 * @G_DBUS_SERVER_FLAGS_NONE: No flags set. 1364 * @G_DBUS_SERVER_FLAGS_RUN_IN_THREAD: All #GDBusServer::new-connection 1365 * signals will run in separated dedicated threads (see signal for 1366 * details). 1367 * @G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: Allow the anonymous 1368 * authentication method. 1369 * 1370 * Flags used when creating a #GDBusServer. 1371 * 1372 * Since: 2.26 1373 */ 1374 typedef enum 1375 { 1376 G_DBUS_SERVER_FLAGS_NONE = 0, 1377 G_DBUS_SERVER_FLAGS_RUN_IN_THREAD = (1<<0), 1378 G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<1) 1379 } GDBusServerFlags; 1380 1381 /** 1382 * GDBusSignalFlags: 1383 * @G_DBUS_SIGNAL_FLAGS_NONE: No flags set. 1384 * @G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE: Don't actually send the AddMatch 1385 * D-Bus call for this signal subscription. This gives you more control 1386 * over which match rules you add (but you must add them manually). 1387 * @G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE: Match first arguments that 1388 * contain a bus or interface name with the given namespace. 1389 * @G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH: Match first arguments that 1390 * contain an object path that is either equivalent to the given path, 1391 * or one of the paths is a subpath of the other. 1392 * 1393 * Flags used when subscribing to signals via g_dbus_connection_signal_subscribe(). 1394 * 1395 * Since: 2.26 1396 */ 1397 typedef enum /*< flags >*/ 1398 { 1399 G_DBUS_SIGNAL_FLAGS_NONE = 0, 1400 G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE = (1<<0), 1401 G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE = (1<<1), 1402 G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH = (1<<2) 1403 } GDBusSignalFlags; 1404 1405 /** 1406 * GDBusSendMessageFlags: 1407 * @G_DBUS_SEND_MESSAGE_FLAGS_NONE: No flags set. 1408 * @G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL: Do not automatically 1409 * assign a serial number from the #GDBusConnection object when 1410 * sending a message. 1411 * 1412 * Flags used when sending #GDBusMessages on a #GDBusConnection. 1413 * 1414 * Since: 2.26 1415 */ 1416 typedef enum 1417 { 1418 G_DBUS_SEND_MESSAGE_FLAGS_NONE = 0, 1419 G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL = (1<<0) 1420 } GDBusSendMessageFlags; 1421 /* (1<<31) is reserved for internal use by GDBusConnection, do not use it. */ 1422 1423 /** 1424 * GCredentialsType: 1425 * @G_CREDENTIALS_TYPE_INVALID: Indicates an invalid native credential type. 1426 * @G_CREDENTIALS_TYPE_LINUX_UCRED: The native credentials type is a struct ucred. 1427 * @G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED: The native credentials type is a struct cmsgcred. 1428 * @G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED: The native credentials type is a struct sockpeercred. Added in 2.30. 1429 * @G_CREDENTIALS_TYPE_SOLARIS_UCRED: The native credentials type is a ucred_t. Added in 2.40. 1430 * @G_CREDENTIALS_TYPE_NETBSD_UNPCBID: The native credentials type is a struct unpcbid. 1431 * 1432 * Enumeration describing different kinds of native credential types. 1433 * 1434 * Since: 2.26 1435 */ 1436 typedef enum 1437 { 1438 G_CREDENTIALS_TYPE_INVALID, 1439 G_CREDENTIALS_TYPE_LINUX_UCRED, 1440 G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED, 1441 G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED, 1442 G_CREDENTIALS_TYPE_SOLARIS_UCRED, 1443 G_CREDENTIALS_TYPE_NETBSD_UNPCBID 1444 } GCredentialsType; 1445 1446 /** 1447 * GDBusMessageByteOrder: 1448 * @G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN: The byte order is big endian. 1449 * @G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN: The byte order is little endian. 1450 * 1451 * Enumeration used to describe the byte order of a D-Bus message. 1452 * 1453 * Since: 2.26 1454 */ 1455 typedef enum 1456 { 1457 G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN = 'B', 1458 G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN = 'l' 1459 } GDBusMessageByteOrder; 1460 1461 /** 1462 * GApplicationFlags: 1463 * @G_APPLICATION_FLAGS_NONE: Default 1464 * @G_APPLICATION_IS_SERVICE: Run as a service. In this mode, registration 1465 * fails if the service is already running, and the application 1466 * will initially wait up to 10 seconds for an initial activation 1467 * message to arrive. 1468 * @G_APPLICATION_IS_LAUNCHER: Don't try to become the primary instance. 1469 * @G_APPLICATION_HANDLES_OPEN: This application handles opening files (in 1470 * the primary instance). Note that this flag only affects the default 1471 * implementation of local_command_line(), and has no effect if 1472 * %G_APPLICATION_HANDLES_COMMAND_LINE is given. 1473 * See g_application_run() for details. 1474 * @G_APPLICATION_HANDLES_COMMAND_LINE: This application handles command line 1475 * arguments (in the primary instance). Note that this flag only affect 1476 * the default implementation of local_command_line(). 1477 * See g_application_run() for details. 1478 * @G_APPLICATION_SEND_ENVIRONMENT: Send the environment of the 1479 * launching process to the primary instance. Set this flag if your 1480 * application is expected to behave differently depending on certain 1481 * environment variables. For instance, an editor might be expected 1482 * to use the `GIT_COMMITTER_NAME` environment variable 1483 * when editing a git commit message. The environment is available 1484 * to the #GApplication::command-line signal handler, via 1485 * g_application_command_line_getenv(). 1486 * @G_APPLICATION_NON_UNIQUE: Make no attempts to do any of the typical 1487 * single-instance application negotiation, even if the application 1488 * ID is given. The application neither attempts to become the 1489 * owner of the application ID nor does it check if an existing 1490 * owner already exists. Everything occurs in the local process. 1491 * Since: 2.30. 1492 * @G_APPLICATION_CAN_OVERRIDE_APP_ID: Allow users to override the 1493 * application ID from the command line with `--gapplication-app-id`. 1494 * Since: 2.48 1495 * @G_APPLICATION_ALLOW_REPLACEMENT: Allow another instance to take over 1496 * the bus name. Since: 2.60 1497 * @G_APPLICATION_REPLACE: Take over from another instance. This flag is 1498 * usually set by passing `--gapplication-replace` on the commandline. 1499 * Since: 2.60 1500 * 1501 * Flags used to define the behaviour of a #GApplication. 1502 * 1503 * Since: 2.28 1504 **/ 1505 typedef enum 1506 { 1507 G_APPLICATION_FLAGS_NONE, 1508 G_APPLICATION_IS_SERVICE = (1 << 0), 1509 G_APPLICATION_IS_LAUNCHER = (1 << 1), 1510 1511 G_APPLICATION_HANDLES_OPEN = (1 << 2), 1512 G_APPLICATION_HANDLES_COMMAND_LINE = (1 << 3), 1513 G_APPLICATION_SEND_ENVIRONMENT = (1 << 4), 1514 1515 G_APPLICATION_NON_UNIQUE = (1 << 5), 1516 1517 G_APPLICATION_CAN_OVERRIDE_APP_ID = (1 << 6), 1518 G_APPLICATION_ALLOW_REPLACEMENT = (1 << 7), 1519 G_APPLICATION_REPLACE = (1 << 8) 1520 } GApplicationFlags; 1521 1522 /** 1523 * GTlsError: 1524 * @G_TLS_ERROR_UNAVAILABLE: No TLS provider is available 1525 * @G_TLS_ERROR_MISC: Miscellaneous TLS error 1526 * @G_TLS_ERROR_BAD_CERTIFICATE: The certificate presented could not 1527 * be parsed or failed validation. 1528 * @G_TLS_ERROR_NOT_TLS: The TLS handshake failed because the 1529 * peer does not seem to be a TLS server. 1530 * @G_TLS_ERROR_HANDSHAKE: The TLS handshake failed because the 1531 * peer's certificate was not acceptable. 1532 * @G_TLS_ERROR_CERTIFICATE_REQUIRED: The TLS handshake failed because 1533 * the server requested a client-side certificate, but none was 1534 * provided. See g_tls_connection_set_certificate(). 1535 * @G_TLS_ERROR_EOF: The TLS connection was closed without proper 1536 * notice, which may indicate an attack. See 1537 * g_tls_connection_set_require_close_notify(). 1538 * @G_TLS_ERROR_INAPPROPRIATE_FALLBACK: The TLS handshake failed 1539 * because the client sent the fallback SCSV, indicating a protocol 1540 * downgrade attack. Since: 2.60 1541 * 1542 * An error code used with %G_TLS_ERROR in a #GError returned from a 1543 * TLS-related routine. 1544 * 1545 * Since: 2.28 1546 */ 1547 typedef enum { 1548 G_TLS_ERROR_UNAVAILABLE, 1549 G_TLS_ERROR_MISC, 1550 G_TLS_ERROR_BAD_CERTIFICATE, 1551 G_TLS_ERROR_NOT_TLS, 1552 G_TLS_ERROR_HANDSHAKE, 1553 G_TLS_ERROR_CERTIFICATE_REQUIRED, 1554 G_TLS_ERROR_EOF, 1555 G_TLS_ERROR_INAPPROPRIATE_FALLBACK 1556 } GTlsError; 1557 1558 /** 1559 * GTlsCertificateFlags: 1560 * @G_TLS_CERTIFICATE_UNKNOWN_CA: The signing certificate authority is 1561 * not known. 1562 * @G_TLS_CERTIFICATE_BAD_IDENTITY: The certificate does not match the 1563 * expected identity of the site that it was retrieved from. 1564 * @G_TLS_CERTIFICATE_NOT_ACTIVATED: The certificate's activation time 1565 * is still in the future 1566 * @G_TLS_CERTIFICATE_EXPIRED: The certificate has expired 1567 * @G_TLS_CERTIFICATE_REVOKED: The certificate has been revoked 1568 * according to the #GTlsConnection's certificate revocation list. 1569 * @G_TLS_CERTIFICATE_INSECURE: The certificate's algorithm is 1570 * considered insecure. 1571 * @G_TLS_CERTIFICATE_GENERIC_ERROR: Some other error occurred validating 1572 * the certificate 1573 * @G_TLS_CERTIFICATE_VALIDATE_ALL: the combination of all of the above 1574 * flags 1575 * 1576 * A set of flags describing TLS certification validation. This can be 1577 * used to set which validation steps to perform (eg, with 1578 * g_tls_client_connection_set_validation_flags()), or to describe why 1579 * a particular certificate was rejected (eg, in 1580 * #GTlsConnection::accept-certificate). 1581 * 1582 * Since: 2.28 1583 */ 1584 typedef enum { 1585 G_TLS_CERTIFICATE_UNKNOWN_CA = (1 << 0), 1586 G_TLS_CERTIFICATE_BAD_IDENTITY = (1 << 1), 1587 G_TLS_CERTIFICATE_NOT_ACTIVATED = (1 << 2), 1588 G_TLS_CERTIFICATE_EXPIRED = (1 << 3), 1589 G_TLS_CERTIFICATE_REVOKED = (1 << 4), 1590 G_TLS_CERTIFICATE_INSECURE = (1 << 5), 1591 G_TLS_CERTIFICATE_GENERIC_ERROR = (1 << 6), 1592 1593 G_TLS_CERTIFICATE_VALIDATE_ALL = 0x007f 1594 } GTlsCertificateFlags; 1595 1596 /** 1597 * GTlsAuthenticationMode: 1598 * @G_TLS_AUTHENTICATION_NONE: client authentication not required 1599 * @G_TLS_AUTHENTICATION_REQUESTED: client authentication is requested 1600 * @G_TLS_AUTHENTICATION_REQUIRED: client authentication is required 1601 * 1602 * The client authentication mode for a #GTlsServerConnection. 1603 * 1604 * Since: 2.28 1605 */ 1606 typedef enum { 1607 G_TLS_AUTHENTICATION_NONE, 1608 G_TLS_AUTHENTICATION_REQUESTED, 1609 G_TLS_AUTHENTICATION_REQUIRED 1610 } GTlsAuthenticationMode; 1611 1612 /** 1613 * GTlsRehandshakeMode: 1614 * @G_TLS_REHANDSHAKE_NEVER: Never allow rehandshaking 1615 * @G_TLS_REHANDSHAKE_SAFELY: Allow safe rehandshaking only 1616 * @G_TLS_REHANDSHAKE_UNSAFELY: Allow unsafe rehandshaking 1617 * 1618 * When to allow rehandshaking. See 1619 * g_tls_connection_set_rehandshake_mode(). 1620 * 1621 * Since: 2.28 1622 * 1623 * Deprecated: 2.60. Changing the rehandshake mode is no longer 1624 * required for compatibility. Also, rehandshaking has been removed 1625 * from the TLS protocol in TLS 1.3. 1626 */ 1627 typedef enum { 1628 G_TLS_REHANDSHAKE_NEVER, 1629 G_TLS_REHANDSHAKE_SAFELY, 1630 G_TLS_REHANDSHAKE_UNSAFELY 1631 } GTlsRehandshakeMode GLIB_DEPRECATED_TYPE_IN_2_60; 1632 1633 /** 1634 * GTlsPasswordFlags: 1635 * @G_TLS_PASSWORD_NONE: No flags 1636 * @G_TLS_PASSWORD_RETRY: The password was wrong, and the user should retry. 1637 * @G_TLS_PASSWORD_MANY_TRIES: Hint to the user that the password has been 1638 * wrong many times, and the user may not have many chances left. 1639 * @G_TLS_PASSWORD_FINAL_TRY: Hint to the user that this is the last try to get 1640 * this password right. 1641 * 1642 * Various flags for the password. 1643 * 1644 * Since: 2.30 1645 */ 1646 1647 typedef enum _GTlsPasswordFlags 1648 { 1649 G_TLS_PASSWORD_NONE = 0, 1650 G_TLS_PASSWORD_RETRY = 1 << 1, 1651 G_TLS_PASSWORD_MANY_TRIES = 1 << 2, 1652 G_TLS_PASSWORD_FINAL_TRY = 1 << 3 1653 } GTlsPasswordFlags; 1654 1655 /** 1656 * GTlsInteractionResult: 1657 * @G_TLS_INTERACTION_UNHANDLED: The interaction was unhandled (i.e. not 1658 * implemented). 1659 * @G_TLS_INTERACTION_HANDLED: The interaction completed, and resulting data 1660 * is available. 1661 * @G_TLS_INTERACTION_FAILED: The interaction has failed, or was cancelled. 1662 * and the operation should be aborted. 1663 * 1664 * #GTlsInteractionResult is returned by various functions in #GTlsInteraction 1665 * when finishing an interaction request. 1666 * 1667 * Since: 2.30 1668 */ 1669 typedef enum { 1670 G_TLS_INTERACTION_UNHANDLED, 1671 G_TLS_INTERACTION_HANDLED, 1672 G_TLS_INTERACTION_FAILED 1673 } GTlsInteractionResult; 1674 1675 /** 1676 * GDBusInterfaceSkeletonFlags: 1677 * @G_DBUS_INTERFACE_SKELETON_FLAGS_NONE: No flags set. 1678 * @G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD: Each method invocation is handled in 1679 * a thread dedicated to the invocation. This means that the method implementation can use blocking IO 1680 * without blocking any other part of the process. It also means that the method implementation must 1681 * use locking to access data structures used by other threads. 1682 * 1683 * Flags describing the behavior of a #GDBusInterfaceSkeleton instance. 1684 * 1685 * Since: 2.30 1686 */ 1687 typedef enum 1688 { 1689 G_DBUS_INTERFACE_SKELETON_FLAGS_NONE = 0, 1690 G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD = (1<<0) 1691 } GDBusInterfaceSkeletonFlags; 1692 1693 /** 1694 * GDBusObjectManagerClientFlags: 1695 * @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE: No flags set. 1696 * @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START: If not set and the 1697 * manager is for a well-known name, then request the bus to launch 1698 * an owner for the name if no-one owns the name. This flag can only 1699 * be used in managers for well-known names. 1700 * 1701 * Flags used when constructing a #GDBusObjectManagerClient. 1702 * 1703 * Since: 2.30 1704 */ 1705 typedef enum 1706 { 1707 G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE = 0, 1708 G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START = (1<<0) 1709 } GDBusObjectManagerClientFlags; 1710 1711 /** 1712 * GTlsDatabaseVerifyFlags: 1713 * @G_TLS_DATABASE_VERIFY_NONE: No verification flags 1714 * 1715 * Flags for g_tls_database_verify_chain(). 1716 * 1717 * Since: 2.30 1718 */ 1719 typedef enum /*< flags >*/ { 1720 G_TLS_DATABASE_VERIFY_NONE = 0 1721 } GTlsDatabaseVerifyFlags; 1722 1723 /** 1724 * GTlsDatabaseLookupFlags: 1725 * @G_TLS_DATABASE_LOOKUP_NONE: No lookup flags 1726 * @G_TLS_DATABASE_LOOKUP_KEYPAIR: Restrict lookup to certificates that have 1727 * a private key. 1728 * 1729 * Flags for g_tls_database_lookup_certificate_for_handle(), 1730 * g_tls_database_lookup_certificate_issuer(), 1731 * and g_tls_database_lookup_certificates_issued_by(). 1732 * 1733 * Since: 2.30 1734 */ 1735 typedef enum { 1736 G_TLS_DATABASE_LOOKUP_NONE = 0, 1737 G_TLS_DATABASE_LOOKUP_KEYPAIR = 1 1738 } GTlsDatabaseLookupFlags; 1739 1740 /** 1741 * GTlsCertificateRequestFlags: 1742 * @G_TLS_CERTIFICATE_REQUEST_NONE: No flags 1743 * 1744 * Flags for g_tls_interaction_request_certificate(), 1745 * g_tls_interaction_request_certificate_async(), and 1746 * g_tls_interaction_invoke_request_certificate(). 1747 * 1748 * Since: 2.40 1749 */ 1750 typedef enum { 1751 G_TLS_CERTIFICATE_REQUEST_NONE = 0 1752 } GTlsCertificateRequestFlags; 1753 1754 /** 1755 * GIOModuleScopeFlags: 1756 * @G_IO_MODULE_SCOPE_NONE: No module scan flags 1757 * @G_IO_MODULE_SCOPE_BLOCK_DUPLICATES: When using this scope to load or 1758 * scan modules, automatically block a modules which has the same base 1759 * basename as previously loaded module. 1760 * 1761 * Flags for use with g_io_module_scope_new(). 1762 * 1763 * Since: 2.30 1764 */ 1765 typedef enum { 1766 G_IO_MODULE_SCOPE_NONE, 1767 G_IO_MODULE_SCOPE_BLOCK_DUPLICATES 1768 } GIOModuleScopeFlags; 1769 1770 /** 1771 * GSocketClientEvent: 1772 * @G_SOCKET_CLIENT_RESOLVING: The client is doing a DNS lookup. 1773 * @G_SOCKET_CLIENT_RESOLVED: The client has completed a DNS lookup. 1774 * @G_SOCKET_CLIENT_CONNECTING: The client is connecting to a remote 1775 * host (either a proxy or the destination server). 1776 * @G_SOCKET_CLIENT_CONNECTED: The client has connected to a remote 1777 * host. 1778 * @G_SOCKET_CLIENT_PROXY_NEGOTIATING: The client is negotiating 1779 * with a proxy to connect to the destination server. 1780 * @G_SOCKET_CLIENT_PROXY_NEGOTIATED: The client has negotiated 1781 * with the proxy server. 1782 * @G_SOCKET_CLIENT_TLS_HANDSHAKING: The client is performing a 1783 * TLS handshake. 1784 * @G_SOCKET_CLIENT_TLS_HANDSHAKED: The client has performed a 1785 * TLS handshake. 1786 * @G_SOCKET_CLIENT_COMPLETE: The client is done with a particular 1787 * #GSocketConnectable. 1788 * 1789 * Describes an event occurring on a #GSocketClient. See the 1790 * #GSocketClient::event signal for more details. 1791 * 1792 * Additional values may be added to this type in the future. 1793 * 1794 * Since: 2.32 1795 */ 1796 typedef enum { 1797 G_SOCKET_CLIENT_RESOLVING, 1798 G_SOCKET_CLIENT_RESOLVED, 1799 G_SOCKET_CLIENT_CONNECTING, 1800 G_SOCKET_CLIENT_CONNECTED, 1801 G_SOCKET_CLIENT_PROXY_NEGOTIATING, 1802 G_SOCKET_CLIENT_PROXY_NEGOTIATED, 1803 G_SOCKET_CLIENT_TLS_HANDSHAKING, 1804 G_SOCKET_CLIENT_TLS_HANDSHAKED, 1805 G_SOCKET_CLIENT_COMPLETE 1806 } GSocketClientEvent; 1807 1808 /** 1809 * GSocketListenerEvent: 1810 * @G_SOCKET_LISTENER_BINDING: The listener is about to bind a socket. 1811 * @G_SOCKET_LISTENER_BOUND: The listener has bound a socket. 1812 * @G_SOCKET_LISTENER_LISTENING: The listener is about to start 1813 * listening on this socket. 1814 * @G_SOCKET_LISTENER_LISTENED: The listener is now listening on 1815 * this socket. 1816 * 1817 * Describes an event occurring on a #GSocketListener. See the 1818 * #GSocketListener::event signal for more details. 1819 * 1820 * Additional values may be added to this type in the future. 1821 * 1822 * Since: 2.46 1823 */ 1824 typedef enum { 1825 G_SOCKET_LISTENER_BINDING, 1826 G_SOCKET_LISTENER_BOUND, 1827 G_SOCKET_LISTENER_LISTENING, 1828 G_SOCKET_LISTENER_LISTENED 1829 } GSocketListenerEvent; 1830 1831 /** 1832 * GTestDBusFlags: 1833 * @G_TEST_DBUS_NONE: No flags. 1834 * 1835 * Flags to define future #GTestDBus behaviour. 1836 * 1837 * Since: 2.34 1838 */ 1839 typedef enum /*< flags >*/ { 1840 G_TEST_DBUS_NONE = 0 1841 } GTestDBusFlags; 1842 1843 /** 1844 * GSubprocessFlags: 1845 * @G_SUBPROCESS_FLAGS_NONE: No flags. 1846 * @G_SUBPROCESS_FLAGS_STDIN_PIPE: create a pipe for the stdin of the 1847 * spawned process that can be accessed with 1848 * g_subprocess_get_stdin_pipe(). 1849 * @G_SUBPROCESS_FLAGS_STDIN_INHERIT: stdin is inherited from the 1850 * calling process. 1851 * @G_SUBPROCESS_FLAGS_STDOUT_PIPE: create a pipe for the stdout of the 1852 * spawned process that can be accessed with 1853 * g_subprocess_get_stdout_pipe(). 1854 * @G_SUBPROCESS_FLAGS_STDOUT_SILENCE: silence the stdout of the spawned 1855 * process (ie: redirect to `/dev/null`). 1856 * @G_SUBPROCESS_FLAGS_STDERR_PIPE: create a pipe for the stderr of the 1857 * spawned process that can be accessed with 1858 * g_subprocess_get_stderr_pipe(). 1859 * @G_SUBPROCESS_FLAGS_STDERR_SILENCE: silence the stderr of the spawned 1860 * process (ie: redirect to `/dev/null`). 1861 * @G_SUBPROCESS_FLAGS_STDERR_MERGE: merge the stderr of the spawned 1862 * process with whatever the stdout happens to be. This is a good way 1863 * of directing both streams to a common log file, for example. 1864 * @G_SUBPROCESS_FLAGS_INHERIT_FDS: spawned processes will inherit the 1865 * file descriptors of their parent, unless those descriptors have 1866 * been explicitly marked as close-on-exec. This flag has no effect 1867 * over the "standard" file descriptors (stdin, stdout, stderr). 1868 * 1869 * Flags to define the behaviour of a #GSubprocess. 1870 * 1871 * Note that the default for stdin is to redirect from `/dev/null`. For 1872 * stdout and stderr the default are for them to inherit the 1873 * corresponding descriptor from the calling process. 1874 * 1875 * Note that it is a programmer error to mix 'incompatible' flags. For 1876 * example, you may not request both %G_SUBPROCESS_FLAGS_STDOUT_PIPE and 1877 * %G_SUBPROCESS_FLAGS_STDOUT_SILENCE. 1878 * 1879 * Since: 2.40 1880 **/ 1881 typedef enum { 1882 G_SUBPROCESS_FLAGS_NONE = 0, 1883 G_SUBPROCESS_FLAGS_STDIN_PIPE = (1u << 0), 1884 G_SUBPROCESS_FLAGS_STDIN_INHERIT = (1u << 1), 1885 G_SUBPROCESS_FLAGS_STDOUT_PIPE = (1u << 2), 1886 G_SUBPROCESS_FLAGS_STDOUT_SILENCE = (1u << 3), 1887 G_SUBPROCESS_FLAGS_STDERR_PIPE = (1u << 4), 1888 G_SUBPROCESS_FLAGS_STDERR_SILENCE = (1u << 5), 1889 G_SUBPROCESS_FLAGS_STDERR_MERGE = (1u << 6), 1890 G_SUBPROCESS_FLAGS_INHERIT_FDS = (1u << 7) 1891 } GSubprocessFlags; 1892 1893 /** 1894 * GNotificationPriority: 1895 * @G_NOTIFICATION_PRIORITY_LOW: for notifications that do not require 1896 * immediate attention - typically used for contextual background 1897 * information, such as contact birthdays or local weather 1898 * @G_NOTIFICATION_PRIORITY_NORMAL: the default priority, to be used for the 1899 * majority of notifications (for example email messages, software updates, 1900 * completed download/sync operations) 1901 * @G_NOTIFICATION_PRIORITY_HIGH: for events that require more attention, 1902 * usually because responses are time-sensitive (for example chat and SMS 1903 * messages or alarms) 1904 * @G_NOTIFICATION_PRIORITY_URGENT: for urgent notifications, or notifications 1905 * that require a response in a short space of time (for example phone calls 1906 * or emergency warnings) 1907 * 1908 * Priority levels for #GNotifications. 1909 * 1910 * Since: 2.42 1911 */ 1912 typedef enum { 1913 G_NOTIFICATION_PRIORITY_NORMAL, 1914 G_NOTIFICATION_PRIORITY_LOW, 1915 G_NOTIFICATION_PRIORITY_HIGH, 1916 G_NOTIFICATION_PRIORITY_URGENT 1917 } GNotificationPriority; 1918 1919 /** 1920 * GNetworkConnectivity: 1921 * @G_NETWORK_CONNECTIVITY_LOCAL: The host is not configured with a 1922 * route to the Internet; it may or may not be connected to a local 1923 * network. 1924 * @G_NETWORK_CONNECTIVITY_LIMITED: The host is connected to a network, but 1925 * does not appear to be able to reach the full Internet, perhaps 1926 * due to upstream network problems. 1927 * @G_NETWORK_CONNECTIVITY_PORTAL: The host is behind a captive portal and 1928 * cannot reach the full Internet. 1929 * @G_NETWORK_CONNECTIVITY_FULL: The host is connected to a network, and 1930 * appears to be able to reach the full Internet. 1931 * 1932 * The host's network connectivity state, as reported by #GNetworkMonitor. 1933 * 1934 * Since: 2.44 1935 */ 1936 typedef enum { 1937 G_NETWORK_CONNECTIVITY_LOCAL = 1, 1938 G_NETWORK_CONNECTIVITY_LIMITED = 2, 1939 G_NETWORK_CONNECTIVITY_PORTAL = 3, 1940 G_NETWORK_CONNECTIVITY_FULL = 4 1941 } GNetworkConnectivity; 1942 1943 /** 1944 * GPollableReturn: 1945 * @G_POLLABLE_RETURN_FAILED: Generic error condition for when an operation fails. 1946 * @G_POLLABLE_RETURN_OK: The operation was successfully finished. 1947 * @G_POLLABLE_RETURN_WOULD_BLOCK: The operation would block. 1948 * 1949 * Return value for various IO operations that signal errors via the 1950 * return value and not necessarily via a #GError. 1951 * 1952 * This enum exists to be able to return errors to callers without having to 1953 * allocate a #GError. Allocating #GErrors can be quite expensive for 1954 * regularly happening errors like %G_IO_ERROR_WOULD_BLOCK. 1955 * 1956 * In case of %G_POLLABLE_RETURN_FAILED a #GError should be set for the 1957 * operation to give details about the error that happened. 1958 * 1959 * Since: 2.60 1960 */ 1961 typedef enum { 1962 G_POLLABLE_RETURN_FAILED = 0, 1963 G_POLLABLE_RETURN_OK = 1, 1964 G_POLLABLE_RETURN_WOULD_BLOCK = -G_IO_ERROR_WOULD_BLOCK 1965 } GPollableReturn; 1966 1967 G_END_DECLS 1968 1969 #endif /* __GIO_ENUMS_H__ */ 1970