|
|
|||
File indexing completed on 2026-09-11 09:12:54
0001 /* GIO - GLib Input, Output and Streaming Library 0002 * 0003 * Copyright (C) 2006-2007 Red Hat, Inc. 0004 * 0005 * SPDX-License-Identifier: LGPL-2.1-or-later 0006 * 0007 * This library is free software; you can redistribute it and/or 0008 * modify it under the terms of the GNU Lesser General Public 0009 * License as published by the Free Software Foundation; either 0010 * version 2.1 of the License, or (at your option) any later version. 0011 * 0012 * This library is distributed in the hope that it will be useful, 0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0015 * Lesser General Public License for more details. 0016 * 0017 * You should have received a copy of the GNU Lesser General 0018 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>. 0019 * 0020 * Author: Alexander Larsson <alexl@redhat.com> 0021 */ 0022 0023 #ifndef __GIO_ENUMS_H__ 0024 #define __GIO_ENUMS_H__ 0025 0026 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) 0027 #error "Only <gio/gio.h> can be included directly." 0028 #endif 0029 0030 #include <glib-object.h> 0031 #include <gio/gio-visibility.h> 0032 0033 G_BEGIN_DECLS 0034 0035 0036 /** 0037 * GAppInfoCreateFlags: 0038 * @G_APP_INFO_CREATE_NONE: No flags. 0039 * @G_APP_INFO_CREATE_NEEDS_TERMINAL: Application opens in a terminal window. 0040 * @G_APP_INFO_CREATE_SUPPORTS_URIS: Application supports URI arguments. 0041 * @G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION: Application supports startup notification. Since 2.26 0042 * 0043 * Flags used when creating a #GAppInfo. 0044 */ 0045 typedef enum { 0046 G_APP_INFO_CREATE_NONE = 0, /*< nick=none >*/ 0047 G_APP_INFO_CREATE_NEEDS_TERMINAL = (1 << 0), /*< nick=needs-terminal >*/ 0048 G_APP_INFO_CREATE_SUPPORTS_URIS = (1 << 1), /*< nick=supports-uris >*/ 0049 G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION = (1 << 2) /*< nick=supports-startup-notification >*/ 0050 } G_GNUC_FLAG_ENUM GAppInfoCreateFlags; 0051 0052 /** 0053 * GConverterFlags: 0054 * @G_CONVERTER_NO_FLAGS: No flags. 0055 * @G_CONVERTER_INPUT_AT_END: At end of input data 0056 * @G_CONVERTER_FLUSH: Flush data 0057 * 0058 * Flags used when calling a g_converter_convert(). 0059 * 0060 * Since: 2.24 0061 */ 0062 typedef enum { 0063 G_CONVERTER_NO_FLAGS = 0, /*< nick=none >*/ 0064 G_CONVERTER_INPUT_AT_END = (1 << 0), /*< nick=input-at-end >*/ 0065 G_CONVERTER_FLUSH = (1 << 1) /*< nick=flush >*/ 0066 } G_GNUC_FLAG_ENUM GConverterFlags; 0067 0068 /** 0069 * GConverterResult: 0070 * @G_CONVERTER_ERROR: There was an error during conversion. 0071 * @G_CONVERTER_CONVERTED: Some data was consumed or produced 0072 * @G_CONVERTER_FINISHED: The conversion is finished 0073 * @G_CONVERTER_FLUSHED: Flushing is finished 0074 * 0075 * Results returned from g_converter_convert(). 0076 * 0077 * Since: 2.24 0078 */ 0079 typedef enum { 0080 G_CONVERTER_ERROR = 0, /*< nick=error >*/ 0081 G_CONVERTER_CONVERTED = 1, /*< nick=converted >*/ 0082 G_CONVERTER_FINISHED = 2, /*< nick=finished >*/ 0083 G_CONVERTER_FLUSHED = 3 /*< nick=flushed >*/ 0084 } GConverterResult; 0085 0086 0087 /** 0088 * GDataStreamByteOrder: 0089 * @G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN: Selects Big Endian byte order. 0090 * @G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN: Selects Little Endian byte order. 0091 * @G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN: Selects endianness based on host machine's architecture. 0092 * 0093 * #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources 0094 * across various machine architectures. 0095 * 0096 **/ 0097 typedef enum { 0098 G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN, 0099 G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN, 0100 G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN 0101 } GDataStreamByteOrder; 0102 0103 0104 /** 0105 * GDataStreamNewlineType: 0106 * @G_DATA_STREAM_NEWLINE_TYPE_LF: Selects "LF" line endings, common on most modern UNIX platforms. 0107 * @G_DATA_STREAM_NEWLINE_TYPE_CR: Selects "CR" line endings. 0108 * @G_DATA_STREAM_NEWLINE_TYPE_CR_LF: Selects "CR, LF" line ending, common on Microsoft Windows. 0109 * @G_DATA_STREAM_NEWLINE_TYPE_ANY: Automatically try to handle any line ending type. 0110 * 0111 * #GDataStreamNewlineType is used when checking for or setting the line endings for a given file. 0112 **/ 0113 typedef enum { 0114 G_DATA_STREAM_NEWLINE_TYPE_LF, 0115 G_DATA_STREAM_NEWLINE_TYPE_CR, 0116 G_DATA_STREAM_NEWLINE_TYPE_CR_LF, 0117 G_DATA_STREAM_NEWLINE_TYPE_ANY 0118 } GDataStreamNewlineType; 0119 0120 0121 /** 0122 * GFileAttributeType: 0123 * @G_FILE_ATTRIBUTE_TYPE_INVALID: indicates an invalid or uninitialized type. 0124 * @G_FILE_ATTRIBUTE_TYPE_STRING: a null terminated UTF8 string. 0125 * @G_FILE_ATTRIBUTE_TYPE_BYTE_STRING: a zero terminated string of non-zero bytes. 0126 * @G_FILE_ATTRIBUTE_TYPE_BOOLEAN: a boolean value. 0127 * @G_FILE_ATTRIBUTE_TYPE_UINT32: an unsigned 4-byte/32-bit integer. 0128 * @G_FILE_ATTRIBUTE_TYPE_INT32: a signed 4-byte/32-bit integer. 0129 * @G_FILE_ATTRIBUTE_TYPE_UINT64: an unsigned 8-byte/64-bit integer. 0130 * @G_FILE_ATTRIBUTE_TYPE_INT64: a signed 8-byte/64-bit integer. 0131 * @G_FILE_ATTRIBUTE_TYPE_OBJECT: a #GObject. 0132 * @G_FILE_ATTRIBUTE_TYPE_STRINGV: a %NULL terminated char **. Since 2.22 0133 * 0134 * The data types for file attributes. 0135 **/ 0136 typedef enum { 0137 G_FILE_ATTRIBUTE_TYPE_INVALID = 0, 0138 G_FILE_ATTRIBUTE_TYPE_STRING, 0139 G_FILE_ATTRIBUTE_TYPE_BYTE_STRING, /* zero terminated string of non-zero bytes */ 0140 G_FILE_ATTRIBUTE_TYPE_BOOLEAN, 0141 G_FILE_ATTRIBUTE_TYPE_UINT32, 0142 G_FILE_ATTRIBUTE_TYPE_INT32, 0143 G_FILE_ATTRIBUTE_TYPE_UINT64, 0144 G_FILE_ATTRIBUTE_TYPE_INT64, 0145 G_FILE_ATTRIBUTE_TYPE_OBJECT, 0146 G_FILE_ATTRIBUTE_TYPE_STRINGV 0147 } GFileAttributeType; 0148 0149 0150 /** 0151 * GFileAttributeInfoFlags: 0152 * @G_FILE_ATTRIBUTE_INFO_NONE: no flags set. 0153 * @G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE: copy the attribute values when the file is copied. 0154 * @G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED: copy the attribute values when the file is moved. 0155 * 0156 * Flags specifying the behaviour of an attribute. 0157 **/ 0158 typedef enum { 0159 G_FILE_ATTRIBUTE_INFO_NONE = 0, 0160 G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE = (1 << 0), 0161 G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED = (1 << 1) 0162 } G_GNUC_FLAG_ENUM GFileAttributeInfoFlags; 0163 0164 0165 /** 0166 * GFileAttributeStatus: 0167 * @G_FILE_ATTRIBUTE_STATUS_UNSET: Attribute value is unset (empty). 0168 * @G_FILE_ATTRIBUTE_STATUS_SET: Attribute value is set. 0169 * @G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING: Indicates an error in setting the value. 0170 * 0171 * Used by g_file_set_attributes_from_info() when setting file attributes. 0172 **/ 0173 typedef enum { 0174 G_FILE_ATTRIBUTE_STATUS_UNSET = 0, 0175 G_FILE_ATTRIBUTE_STATUS_SET, 0176 G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING 0177 } GFileAttributeStatus; 0178 0179 0180 /** 0181 * GFileQueryInfoFlags: 0182 * @G_FILE_QUERY_INFO_NONE: No flags set. 0183 * @G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS: Don't follow symlinks. 0184 * 0185 * Flags used when querying a #GFileInfo. 0186 */ 0187 typedef enum { 0188 G_FILE_QUERY_INFO_NONE = 0, 0189 G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS = (1 << 0) /*< nick=nofollow-symlinks >*/ 0190 } G_GNUC_FLAG_ENUM GFileQueryInfoFlags; 0191 0192 0193 /** 0194 * GFileCreateFlags: 0195 * @G_FILE_CREATE_NONE: No flags set. 0196 * @G_FILE_CREATE_PRIVATE: Create a file that can only be 0197 * accessed by the current user. 0198 * @G_FILE_CREATE_REPLACE_DESTINATION: Replace the destination 0199 * as if it didn't exist before. Don't try to keep any old 0200 * permissions, replace instead of following links. This 0201 * is generally useful if you're doing a "copy over" 0202 * rather than a "save new version of" replace operation. 0203 * You can think of it as "unlink destination" before 0204 * writing to it, although the implementation may not 0205 * be exactly like that. This flag can only be used with 0206 * g_file_replace() and its variants, including g_file_replace_contents(). 0207 * Since 2.20 0208 * 0209 * Flags used when an operation may create a file. 0210 */ 0211 typedef enum { 0212 G_FILE_CREATE_NONE = 0, 0213 G_FILE_CREATE_PRIVATE = (1 << 0), 0214 G_FILE_CREATE_REPLACE_DESTINATION = (1 << 1) 0215 } G_GNUC_FLAG_ENUM GFileCreateFlags; 0216 0217 /** 0218 * GFileMeasureFlags: 0219 * @G_FILE_MEASURE_NONE: No flags set. 0220 * @G_FILE_MEASURE_REPORT_ANY_ERROR: Report any error encountered 0221 * while traversing the directory tree. Normally errors are only 0222 * reported for the toplevel file. 0223 * @G_FILE_MEASURE_APPARENT_SIZE: Tally usage based on apparent file 0224 * sizes. Normally, the block-size is used, if available, as this is a 0225 * more accurate representation of disk space used. 0226 * Compare with `du --apparent-size`. 0227 * Since GLib 2.78. and similarly to `du` since GNU Coreutils 9.2, this will 0228 * ignore the sizes of file types other than regular files and links, as the 0229 * sizes of other file types are not specified in a standard way. 0230 * @G_FILE_MEASURE_NO_XDEV: Do not cross mount point boundaries. 0231 * Compare with `du -x`. 0232 * 0233 * Flags that can be used with g_file_measure_disk_usage(). 0234 * 0235 * Since: 2.38 0236 **/ 0237 typedef enum { 0238 G_FILE_MEASURE_NONE = 0, 0239 G_FILE_MEASURE_REPORT_ANY_ERROR = (1 << 1), 0240 G_FILE_MEASURE_APPARENT_SIZE = (1 << 2), 0241 G_FILE_MEASURE_NO_XDEV = (1 << 3) 0242 } G_GNUC_FLAG_ENUM GFileMeasureFlags; 0243 0244 /** 0245 * GMountMountFlags: 0246 * @G_MOUNT_MOUNT_NONE: No flags set. 0247 * 0248 * Flags used when mounting a mount. 0249 */ 0250 typedef enum /*< flags >*/ { 0251 G_MOUNT_MOUNT_NONE = 0 0252 } G_GNUC_FLAG_ENUM GMountMountFlags; 0253 0254 0255 /** 0256 * GMountUnmountFlags: 0257 * @G_MOUNT_UNMOUNT_NONE: No flags set. 0258 * @G_MOUNT_UNMOUNT_FORCE: Unmount even if there are outstanding 0259 * file operations on the mount. 0260 * 0261 * Flags used when an unmounting a mount. 0262 */ 0263 typedef enum { 0264 G_MOUNT_UNMOUNT_NONE = 0, 0265 G_MOUNT_UNMOUNT_FORCE = (1 << 0) 0266 } G_GNUC_FLAG_ENUM GMountUnmountFlags; 0267 0268 /** 0269 * GDriveStartFlags: 0270 * @G_DRIVE_START_NONE: No flags set. 0271 * 0272 * Flags used when starting a drive. 0273 * 0274 * Since: 2.22 0275 */ 0276 typedef enum /*< flags >*/ { 0277 G_DRIVE_START_NONE = 0 0278 } G_GNUC_FLAG_ENUM GDriveStartFlags; 0279 0280 /** 0281 * GDriveStartStopType: 0282 * @G_DRIVE_START_STOP_TYPE_UNKNOWN: Unknown or drive doesn't support 0283 * start/stop. 0284 * @G_DRIVE_START_STOP_TYPE_SHUTDOWN: The stop method will physically 0285 * shut down the drive and e.g. power down the port the drive is 0286 * attached to. 0287 * @G_DRIVE_START_STOP_TYPE_NETWORK: The start/stop methods are used 0288 * for connecting/disconnect to the drive over the network. 0289 * @G_DRIVE_START_STOP_TYPE_MULTIDISK: The start/stop methods will 0290 * assemble/disassemble a virtual drive from several physical 0291 * drives. 0292 * @G_DRIVE_START_STOP_TYPE_PASSWORD: The start/stop methods will 0293 * unlock/lock the disk (for example using the ATA `SECURITY UNLOCK 0294 * DEVICE` command) 0295 * 0296 * Enumeration describing how a drive can be started/stopped. 0297 * 0298 * Since: 2.22 0299 */ 0300 typedef enum { 0301 G_DRIVE_START_STOP_TYPE_UNKNOWN, 0302 G_DRIVE_START_STOP_TYPE_SHUTDOWN, 0303 G_DRIVE_START_STOP_TYPE_NETWORK, 0304 G_DRIVE_START_STOP_TYPE_MULTIDISK, 0305 G_DRIVE_START_STOP_TYPE_PASSWORD 0306 } GDriveStartStopType; 0307 0308 /** 0309 * GFileCopyFlags: 0310 * @G_FILE_COPY_NONE: No flags set. 0311 * @G_FILE_COPY_OVERWRITE: Overwrite any existing files 0312 * @G_FILE_COPY_BACKUP: Make a backup of any existing files. 0313 * @G_FILE_COPY_NOFOLLOW_SYMLINKS: Don't follow symlinks. 0314 * @G_FILE_COPY_ALL_METADATA: Copy all file metadata instead of just default set used for copy (see #GFileInfo). 0315 * @G_FILE_COPY_NO_FALLBACK_FOR_MOVE: Don't use copy and delete fallback if native move not supported. 0316 * @G_FILE_COPY_TARGET_DEFAULT_PERMS: Leaves target file with default perms, instead of setting the source file perms. 0317 * @G_FILE_COPY_TARGET_DEFAULT_MODIFIED_TIME: Use default modification 0318 * timestamps instead of copying them from the source file. Since 2.80 0319 * 0320 * Flags used when copying or moving files. 0321 */ 0322 typedef enum { 0323 G_FILE_COPY_NONE = 0, /*< nick=none >*/ 0324 G_FILE_COPY_OVERWRITE = (1 << 0), 0325 G_FILE_COPY_BACKUP = (1 << 1), 0326 G_FILE_COPY_NOFOLLOW_SYMLINKS = (1 << 2), 0327 G_FILE_COPY_ALL_METADATA = (1 << 3), 0328 G_FILE_COPY_NO_FALLBACK_FOR_MOVE = (1 << 4), 0329 G_FILE_COPY_TARGET_DEFAULT_PERMS = (1 << 5), 0330 G_FILE_COPY_TARGET_DEFAULT_MODIFIED_TIME GIO_AVAILABLE_ENUMERATOR_IN_2_80 = (1 << 6), 0331 } G_GNUC_FLAG_ENUM GFileCopyFlags; 0332 0333 0334 /** 0335 * GFileMonitorFlags: 0336 * @G_FILE_MONITOR_NONE: No flags set. 0337 * @G_FILE_MONITOR_WATCH_MOUNTS: Watch for mount events. 0338 * @G_FILE_MONITOR_SEND_MOVED: Pair DELETED and CREATED events caused 0339 * by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED 0340 * event instead (NB: not supported on all backends; the default 0341 * behaviour -without specifying this flag- is to send single DELETED 0342 * and CREATED events). Deprecated since 2.46: use 0343 * %G_FILE_MONITOR_WATCH_MOVES instead. 0344 * @G_FILE_MONITOR_WATCH_HARD_LINKS: Watch for changes to the file made 0345 * via another hard link. Since 2.36. 0346 * @G_FILE_MONITOR_WATCH_MOVES: Watch for rename operations on a 0347 * monitored directory. This causes %G_FILE_MONITOR_EVENT_RENAMED, 0348 * %G_FILE_MONITOR_EVENT_MOVED_IN and %G_FILE_MONITOR_EVENT_MOVED_OUT 0349 * events to be emitted when possible. Since: 2.46. 0350 * 0351 * Flags used to set what a #GFileMonitor will watch for. 0352 */ 0353 typedef enum { 0354 G_FILE_MONITOR_NONE = 0, 0355 G_FILE_MONITOR_WATCH_MOUNTS = (1 << 0), 0356 G_FILE_MONITOR_SEND_MOVED = (1 << 1), 0357 G_FILE_MONITOR_WATCH_HARD_LINKS = (1 << 2), 0358 G_FILE_MONITOR_WATCH_MOVES = (1 << 3) 0359 } G_GNUC_FLAG_ENUM GFileMonitorFlags; 0360 0361 0362 /** 0363 * GFileType: 0364 * @G_FILE_TYPE_UNKNOWN: File's type is unknown. 0365 * @G_FILE_TYPE_REGULAR: File handle represents a regular file. 0366 * @G_FILE_TYPE_DIRECTORY: File handle represents a directory. 0367 * @G_FILE_TYPE_SYMBOLIC_LINK: File handle represents a symbolic link 0368 * (Unix systems). 0369 * @G_FILE_TYPE_SPECIAL: File is a "special" file, such as a socket, fifo, 0370 * block device, or character device. 0371 * @G_FILE_TYPE_SHORTCUT: File is a shortcut (Windows systems). 0372 * @G_FILE_TYPE_MOUNTABLE: File is a mountable location. 0373 * 0374 * Indicates the file's on-disk type. 0375 * 0376 * On Windows systems a file will never have %G_FILE_TYPE_SYMBOLIC_LINK type; 0377 * use #GFileInfo and %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK to determine 0378 * whether a file is a symlink or not. This is due to the fact that NTFS does 0379 * not have a single filesystem object type for symbolic links - it has 0380 * files that symlink to files, and directories that symlink to directories. 0381 * #GFileType enumeration cannot precisely represent this important distinction, 0382 * which is why all Windows symlinks will continue to be reported as 0383 * %G_FILE_TYPE_REGULAR or %G_FILE_TYPE_DIRECTORY. 0384 **/ 0385 typedef enum { 0386 G_FILE_TYPE_UNKNOWN = 0, 0387 G_FILE_TYPE_REGULAR, 0388 G_FILE_TYPE_DIRECTORY, 0389 G_FILE_TYPE_SYMBOLIC_LINK, 0390 G_FILE_TYPE_SPECIAL, /* socket, fifo, blockdev, chardev */ 0391 G_FILE_TYPE_SHORTCUT, 0392 G_FILE_TYPE_MOUNTABLE 0393 } GFileType; 0394 0395 0396 /** 0397 * GFilesystemPreviewType: 0398 * @G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS: Only preview files if user has explicitly requested it. 0399 * @G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL: Preview files if user has requested preview of "local" files. 0400 * @G_FILESYSTEM_PREVIEW_TYPE_NEVER: Never preview files. 0401 * 0402 * Indicates a hint from the file system whether files should be 0403 * previewed in a file manager. Returned as the value of the key 0404 * %G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW. 0405 **/ 0406 typedef enum { 0407 G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS = 0, 0408 G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL, 0409 G_FILESYSTEM_PREVIEW_TYPE_NEVER 0410 } GFilesystemPreviewType; 0411 0412 0413 /** 0414 * GFileMonitorEvent: 0415 * @G_FILE_MONITOR_EVENT_CHANGED: a file changed. 0416 * @G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: a hint that this was probably the last change in a set of changes. 0417 * @G_FILE_MONITOR_EVENT_DELETED: a file was deleted. 0418 * @G_FILE_MONITOR_EVENT_CREATED: a file was created. 0419 * @G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: a file attribute was changed. 0420 * @G_FILE_MONITOR_EVENT_PRE_UNMOUNT: the file location will soon be unmounted. 0421 * @G_FILE_MONITOR_EVENT_UNMOUNTED: the file location was unmounted. 0422 * @G_FILE_MONITOR_EVENT_MOVED: the file was moved -- only sent if the 0423 * (deprecated) %G_FILE_MONITOR_SEND_MOVED flag is set 0424 * @G_FILE_MONITOR_EVENT_RENAMED: the file was renamed within the 0425 * current directory -- only sent if the %G_FILE_MONITOR_WATCH_MOVES 0426 * flag is set. Since: 2.46. 0427 * @G_FILE_MONITOR_EVENT_MOVED_IN: the file was moved into the 0428 * monitored directory from another location -- only sent if the 0429 * %G_FILE_MONITOR_WATCH_MOVES flag is set. Since: 2.46. 0430 * @G_FILE_MONITOR_EVENT_MOVED_OUT: the file was moved out of the 0431 * monitored directory to another location -- only sent if the 0432 * %G_FILE_MONITOR_WATCH_MOVES flag is set. Since: 2.46 0433 * 0434 * Specifies what type of event a monitor event is. 0435 **/ 0436 typedef enum { 0437 G_FILE_MONITOR_EVENT_CHANGED, 0438 G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT, 0439 G_FILE_MONITOR_EVENT_DELETED, 0440 G_FILE_MONITOR_EVENT_CREATED, 0441 G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED, 0442 G_FILE_MONITOR_EVENT_PRE_UNMOUNT, 0443 G_FILE_MONITOR_EVENT_UNMOUNTED, 0444 G_FILE_MONITOR_EVENT_MOVED, 0445 G_FILE_MONITOR_EVENT_RENAMED, 0446 G_FILE_MONITOR_EVENT_MOVED_IN, 0447 G_FILE_MONITOR_EVENT_MOVED_OUT 0448 } GFileMonitorEvent; 0449 0450 0451 /* This enumeration conflicts with GIOError in giochannel.h. However, 0452 * that is only used as a return value in some deprecated functions. 0453 * So, we reuse the same prefix for the enumeration values, but call 0454 * the actual enumeration (which is rarely used) GIOErrorEnum. 0455 */ 0456 /** 0457 * GIOErrorEnum: 0458 * @G_IO_ERROR_FAILED: Generic error condition for when an operation fails 0459 * and no more specific #GIOErrorEnum value is defined. 0460 * @G_IO_ERROR_NOT_FOUND: File not found. 0461 * @G_IO_ERROR_EXISTS: File already exists. 0462 * @G_IO_ERROR_IS_DIRECTORY: File is a directory. 0463 * @G_IO_ERROR_NOT_DIRECTORY: File is not a directory. 0464 * @G_IO_ERROR_NOT_EMPTY: File is a directory that isn't empty. 0465 * @G_IO_ERROR_NOT_REGULAR_FILE: File is not a regular file. 0466 * @G_IO_ERROR_NOT_SYMBOLIC_LINK: File is not a symbolic link. 0467 * @G_IO_ERROR_NOT_MOUNTABLE_FILE: File cannot be mounted. 0468 * @G_IO_ERROR_FILENAME_TOO_LONG: Filename is too many characters. 0469 * @G_IO_ERROR_INVALID_FILENAME: Filename is invalid or contains invalid characters. 0470 * @G_IO_ERROR_TOO_MANY_LINKS: File contains too many symbolic links. 0471 * @G_IO_ERROR_NO_SPACE: No space left on drive. 0472 * @G_IO_ERROR_INVALID_ARGUMENT: Invalid argument. 0473 * @G_IO_ERROR_PERMISSION_DENIED: Permission denied. 0474 * @G_IO_ERROR_NOT_SUPPORTED: Operation (or one of its parameters) not supported 0475 * @G_IO_ERROR_NOT_MOUNTED: File isn't mounted. 0476 * @G_IO_ERROR_ALREADY_MOUNTED: File is already mounted. 0477 * @G_IO_ERROR_CLOSED: File was closed. 0478 * @G_IO_ERROR_CANCELLED: Operation was cancelled. See #GCancellable. 0479 * @G_IO_ERROR_PENDING: Operations are still pending. 0480 * @G_IO_ERROR_READ_ONLY: File is read only. 0481 * @G_IO_ERROR_CANT_CREATE_BACKUP: Backup couldn't be created. 0482 * @G_IO_ERROR_WRONG_ETAG: File's Entity Tag was incorrect. 0483 * @G_IO_ERROR_TIMED_OUT: Operation timed out. 0484 * @G_IO_ERROR_WOULD_RECURSE: Operation would be recursive. 0485 * @G_IO_ERROR_BUSY: File is busy. 0486 * @G_IO_ERROR_WOULD_BLOCK: Operation would block. 0487 * @G_IO_ERROR_HOST_NOT_FOUND: Host couldn't be found (remote operations). 0488 * @G_IO_ERROR_WOULD_MERGE: Operation would merge files. 0489 * @G_IO_ERROR_FAILED_HANDLED: Operation failed and a helper program has 0490 * already interacted with the user. Do not display any error dialog. 0491 * @G_IO_ERROR_TOO_MANY_OPEN_FILES: The current process has too many files 0492 * open and can't open any more. Duplicate descriptors do count toward 0493 * this limit. Since 2.20 0494 * @G_IO_ERROR_NOT_INITIALIZED: The object has not been initialized. Since 2.22 0495 * @G_IO_ERROR_ADDRESS_IN_USE: The requested address is already in use. Since 2.22 0496 * @G_IO_ERROR_PARTIAL_INPUT: Need more input to finish operation. Since 2.24 0497 * @G_IO_ERROR_INVALID_DATA: The input data was invalid. Since 2.24 0498 * @G_IO_ERROR_DBUS_ERROR: A remote object generated an error that 0499 * doesn't correspond to a locally registered #GError error 0500 * domain. Use g_dbus_error_get_remote_error() to extract the D-Bus 0501 * error name and g_dbus_error_strip_remote_error() to fix up the 0502 * message so it matches what was received on the wire. Since 2.26. 0503 * @G_IO_ERROR_HOST_UNREACHABLE: Host unreachable. Since 2.26 0504 * @G_IO_ERROR_NETWORK_UNREACHABLE: Network unreachable. Since 2.26 0505 * @G_IO_ERROR_CONNECTION_REFUSED: Connection refused. Since 2.26 0506 * @G_IO_ERROR_PROXY_FAILED: Connection to proxy server failed. Since 2.26 0507 * @G_IO_ERROR_PROXY_AUTH_FAILED: Proxy authentication failed. Since 2.26 0508 * @G_IO_ERROR_PROXY_NEED_AUTH: Proxy server needs authentication. Since 2.26 0509 * @G_IO_ERROR_PROXY_NOT_ALLOWED: Proxy connection is not allowed by ruleset. 0510 * Since 2.26 0511 * @G_IO_ERROR_BROKEN_PIPE: Broken pipe. Since 2.36 0512 * @G_IO_ERROR_CONNECTION_CLOSED: Connection closed by peer. Note that this 0513 * is the same code as %G_IO_ERROR_BROKEN_PIPE; before 2.44 some 0514 * "connection closed" errors returned %G_IO_ERROR_BROKEN_PIPE, but others 0515 * returned %G_IO_ERROR_FAILED. Now they should all return the same 0516 * value, which has this more logical name. Since 2.44. 0517 * @G_IO_ERROR_NOT_CONNECTED: Transport endpoint is not connected. Since 2.44 0518 * @G_IO_ERROR_MESSAGE_TOO_LARGE: Message too large. Since 2.48. 0519 * @G_IO_ERROR_NO_SUCH_DEVICE: No such device found. Since 2.74 0520 * @G_IO_ERROR_DESTINATION_UNSET: Destination address unset. Since 2.80 0521 * 0522 * Error codes returned by GIO functions. 0523 * 0524 * Note that this domain may be extended in future GLib releases. In 0525 * general, new error codes either only apply to new APIs, or else 0526 * replace %G_IO_ERROR_FAILED in cases that were not explicitly 0527 * distinguished before. You should therefore avoid writing code like 0528 * |[<!-- language="C" --> 0529 * if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_FAILED)) 0530 * { 0531 * // Assume that this is EPRINTERONFIRE 0532 * ... 0533 * } 0534 * ]| 0535 * but should instead treat all unrecognized error codes the same as 0536 * %G_IO_ERROR_FAILED. 0537 * 0538 * See also #GPollableReturn for a cheaper way of returning 0539 * %G_IO_ERROR_WOULD_BLOCK to callers without allocating a #GError. 0540 **/ 0541 typedef enum { 0542 G_IO_ERROR_FAILED, 0543 G_IO_ERROR_NOT_FOUND, 0544 G_IO_ERROR_EXISTS, 0545 G_IO_ERROR_IS_DIRECTORY, 0546 G_IO_ERROR_NOT_DIRECTORY, 0547 G_IO_ERROR_NOT_EMPTY, 0548 G_IO_ERROR_NOT_REGULAR_FILE, 0549 G_IO_ERROR_NOT_SYMBOLIC_LINK, 0550 G_IO_ERROR_NOT_MOUNTABLE_FILE, 0551 G_IO_ERROR_FILENAME_TOO_LONG, 0552 G_IO_ERROR_INVALID_FILENAME, 0553 G_IO_ERROR_TOO_MANY_LINKS, 0554 G_IO_ERROR_NO_SPACE, 0555 G_IO_ERROR_INVALID_ARGUMENT, 0556 G_IO_ERROR_PERMISSION_DENIED, 0557 G_IO_ERROR_NOT_SUPPORTED, 0558 G_IO_ERROR_NOT_MOUNTED, 0559 G_IO_ERROR_ALREADY_MOUNTED, 0560 G_IO_ERROR_CLOSED, 0561 G_IO_ERROR_CANCELLED, 0562 G_IO_ERROR_PENDING, 0563 G_IO_ERROR_READ_ONLY, 0564 G_IO_ERROR_CANT_CREATE_BACKUP, 0565 G_IO_ERROR_WRONG_ETAG, 0566 G_IO_ERROR_TIMED_OUT, 0567 G_IO_ERROR_WOULD_RECURSE, 0568 G_IO_ERROR_BUSY, 0569 G_IO_ERROR_WOULD_BLOCK, 0570 G_IO_ERROR_HOST_NOT_FOUND, 0571 G_IO_ERROR_WOULD_MERGE, 0572 G_IO_ERROR_FAILED_HANDLED, 0573 G_IO_ERROR_TOO_MANY_OPEN_FILES, 0574 G_IO_ERROR_NOT_INITIALIZED, 0575 G_IO_ERROR_ADDRESS_IN_USE, 0576 G_IO_ERROR_PARTIAL_INPUT, 0577 G_IO_ERROR_INVALID_DATA, 0578 G_IO_ERROR_DBUS_ERROR, 0579 G_IO_ERROR_HOST_UNREACHABLE, 0580 G_IO_ERROR_NETWORK_UNREACHABLE, 0581 G_IO_ERROR_CONNECTION_REFUSED, 0582 G_IO_ERROR_PROXY_FAILED, 0583 G_IO_ERROR_PROXY_AUTH_FAILED, 0584 G_IO_ERROR_PROXY_NEED_AUTH, 0585 G_IO_ERROR_PROXY_NOT_ALLOWED, 0586 G_IO_ERROR_BROKEN_PIPE, 0587 G_IO_ERROR_CONNECTION_CLOSED = G_IO_ERROR_BROKEN_PIPE, 0588 G_IO_ERROR_NOT_CONNECTED, 0589 G_IO_ERROR_MESSAGE_TOO_LARGE, 0590 G_IO_ERROR_NO_SUCH_DEVICE GIO_AVAILABLE_ENUMERATOR_IN_2_74, 0591 G_IO_ERROR_DESTINATION_UNSET GIO_AVAILABLE_ENUMERATOR_IN_2_80, 0592 } GIOErrorEnum; 0593 0594 0595 /** 0596 * GAskPasswordFlags: 0597 * @G_ASK_PASSWORD_NEED_PASSWORD: operation requires a password. 0598 * @G_ASK_PASSWORD_NEED_USERNAME: operation requires a username. 0599 * @G_ASK_PASSWORD_NEED_DOMAIN: operation requires a domain. 0600 * @G_ASK_PASSWORD_SAVING_SUPPORTED: operation supports saving settings. 0601 * @G_ASK_PASSWORD_ANONYMOUS_SUPPORTED: operation supports anonymous users. 0602 * @G_ASK_PASSWORD_TCRYPT: operation takes TCRYPT parameters (Since: 2.58) 0603 * 0604 * #GAskPasswordFlags are used to request specific information from the 0605 * user, or to notify the user of their choices in an authentication 0606 * situation. 0607 **/ 0608 typedef enum { 0609 G_ASK_PASSWORD_NEED_PASSWORD = (1 << 0), 0610 G_ASK_PASSWORD_NEED_USERNAME = (1 << 1), 0611 G_ASK_PASSWORD_NEED_DOMAIN = (1 << 2), 0612 G_ASK_PASSWORD_SAVING_SUPPORTED = (1 << 3), 0613 G_ASK_PASSWORD_ANONYMOUS_SUPPORTED = (1 << 4), 0614 G_ASK_PASSWORD_TCRYPT = (1 << 5), 0615 } G_GNUC_FLAG_ENUM GAskPasswordFlags; 0616 0617 0618 /** 0619 * GPasswordSave: 0620 * @G_PASSWORD_SAVE_NEVER: never save a password. 0621 * @G_PASSWORD_SAVE_FOR_SESSION: save a password for the session. 0622 * @G_PASSWORD_SAVE_PERMANENTLY: save a password permanently. 0623 * 0624 * #GPasswordSave is used to indicate the lifespan of a saved password. 0625 * 0626 * #Gvfs stores passwords in the Gnome keyring when this flag allows it 0627 * to, and later retrieves it again from there. 0628 **/ 0629 typedef enum { 0630 G_PASSWORD_SAVE_NEVER, 0631 G_PASSWORD_SAVE_FOR_SESSION, 0632 G_PASSWORD_SAVE_PERMANENTLY 0633 } GPasswordSave; 0634 0635 0636 /** 0637 * GMountOperationResult: 0638 * @G_MOUNT_OPERATION_HANDLED: The request was fulfilled and the 0639 * user specified data is now available 0640 * @G_MOUNT_OPERATION_ABORTED: The user requested the mount operation 0641 * to be aborted 0642 * @G_MOUNT_OPERATION_UNHANDLED: The request was unhandled (i.e. not 0643 * implemented) 0644 * 0645 * #GMountOperationResult is returned as a result when a request for 0646 * information is send by the mounting operation. 0647 **/ 0648 typedef enum { 0649 G_MOUNT_OPERATION_HANDLED, 0650 G_MOUNT_OPERATION_ABORTED, 0651 G_MOUNT_OPERATION_UNHANDLED 0652 } GMountOperationResult; 0653 0654 0655 /** 0656 * GOutputStreamSpliceFlags: 0657 * @G_OUTPUT_STREAM_SPLICE_NONE: Do not close either stream. 0658 * @G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE: Close the source stream after 0659 * the splice. 0660 * @G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET: Close the target stream after 0661 * the splice. 0662 * 0663 * GOutputStreamSpliceFlags determine how streams should be spliced. 0664 **/ 0665 typedef enum { 0666 G_OUTPUT_STREAM_SPLICE_NONE = 0, 0667 G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE = (1 << 0), 0668 G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET = (1 << 1) 0669 } G_GNUC_FLAG_ENUM GOutputStreamSpliceFlags; 0670 0671 0672 /** 0673 * GIOStreamSpliceFlags: 0674 * @G_IO_STREAM_SPLICE_NONE: Do not close either stream. 0675 * @G_IO_STREAM_SPLICE_CLOSE_STREAM1: Close the first stream after 0676 * the splice. 0677 * @G_IO_STREAM_SPLICE_CLOSE_STREAM2: Close the second stream after 0678 * the splice. 0679 * @G_IO_STREAM_SPLICE_WAIT_FOR_BOTH: Wait for both splice operations to finish 0680 * before calling the callback. 0681 * 0682 * GIOStreamSpliceFlags determine how streams should be spliced. 0683 * 0684 * Since: 2.28 0685 **/ 0686 typedef enum { 0687 G_IO_STREAM_SPLICE_NONE = 0, 0688 G_IO_STREAM_SPLICE_CLOSE_STREAM1 = (1 << 0), 0689 G_IO_STREAM_SPLICE_CLOSE_STREAM2 = (1 << 1), 0690 G_IO_STREAM_SPLICE_WAIT_FOR_BOTH = (1 << 2) 0691 } G_GNUC_FLAG_ENUM GIOStreamSpliceFlags; 0692 0693 /** 0694 * GEmblemOrigin: 0695 * @G_EMBLEM_ORIGIN_UNKNOWN: Emblem of unknown origin 0696 * @G_EMBLEM_ORIGIN_DEVICE: Emblem adds device-specific information 0697 * @G_EMBLEM_ORIGIN_LIVEMETADATA: Emblem depicts live metadata, such as "readonly" 0698 * @G_EMBLEM_ORIGIN_TAG: Emblem comes from a user-defined tag, e.g. set by nautilus (in the future) 0699 * 0700 * GEmblemOrigin is used to add information about the origin of the emblem 0701 * to #GEmblem. 0702 * 0703 * Since: 2.18 0704 */ 0705 typedef enum { 0706 G_EMBLEM_ORIGIN_UNKNOWN, 0707 G_EMBLEM_ORIGIN_DEVICE, 0708 G_EMBLEM_ORIGIN_LIVEMETADATA, 0709 G_EMBLEM_ORIGIN_TAG 0710 } GEmblemOrigin; 0711 0712 /** 0713 * GResolverError: 0714 * @G_RESOLVER_ERROR_NOT_FOUND: the requested name/address/service was not 0715 * found 0716 * @G_RESOLVER_ERROR_TEMPORARY_FAILURE: the requested information could not 0717 * be looked up due to a network error or similar problem 0718 * @G_RESOLVER_ERROR_INTERNAL: unknown error 0719 * 0720 * An error code used with %G_RESOLVER_ERROR in a #GError returned 0721 * from a #GResolver routine. 0722 * 0723 * Since: 2.22 0724 */ 0725 typedef enum { 0726 G_RESOLVER_ERROR_NOT_FOUND, 0727 G_RESOLVER_ERROR_TEMPORARY_FAILURE, 0728 G_RESOLVER_ERROR_INTERNAL 0729 } GResolverError; 0730 0731 /** 0732 * GResolverRecordType: 0733 * @G_RESOLVER_RECORD_SRV: look up DNS SRV records for a domain 0734 * @G_RESOLVER_RECORD_MX: look up DNS MX records for a domain 0735 * @G_RESOLVER_RECORD_TXT: look up DNS TXT records for a name 0736 * @G_RESOLVER_RECORD_SOA: look up DNS SOA records for a zone 0737 * @G_RESOLVER_RECORD_NS: look up DNS NS records for a domain 0738 * 0739 * The type of record that g_resolver_lookup_records() or 0740 * g_resolver_lookup_records_async() should retrieve. The records are returned 0741 * as lists of #GVariant tuples. Each record type has different values in 0742 * the variant tuples returned. 0743 * 0744 * %G_RESOLVER_RECORD_SRV records are returned as variants with the signature 0745 * `(qqqs)`, containing a `guint16` with the priority, a `guint16` with the 0746 * weight, a `guint16` with the port, and a string of the hostname. 0747 * 0748 * %G_RESOLVER_RECORD_MX records are returned as variants with the signature 0749 * `(qs)`, representing a `guint16` with the preference, and a string containing 0750 * the mail exchanger hostname. 0751 * 0752 * %G_RESOLVER_RECORD_TXT records are returned as variants with the signature 0753 * `(as)`, representing an array of the strings in the text record. Note: Most TXT 0754 * records only contain a single string, but 0755 * [RFC 1035](https://tools.ietf.org/html/rfc1035#section-3.3.14) does allow a 0756 * record to contain multiple strings. The RFC which defines the interpretation 0757 * of a specific TXT record will likely require concatenation of multiple 0758 * strings if they are present, as with 0759 * [RFC 7208](https://tools.ietf.org/html/rfc7208#section-3.3). 0760 * 0761 * %G_RESOLVER_RECORD_SOA records are returned as variants with the signature 0762 * `(ssuuuuu)`, representing a string containing the primary name server, a 0763 * string containing the administrator, the serial as a `guint32`, the refresh 0764 * interval as a `guint32`, the retry interval as a `guint32`, the expire timeout 0765 * as a `guint32`, and the TTL as a `guint32`. 0766 * 0767 * %G_RESOLVER_RECORD_NS records are returned as variants with the signature 0768 * `(s)`, representing a string of the hostname of the name server. 0769 * 0770 * Since: 2.34 0771 */ 0772 typedef enum { 0773 G_RESOLVER_RECORD_SRV = 1, 0774 G_RESOLVER_RECORD_MX, 0775 G_RESOLVER_RECORD_TXT, 0776 G_RESOLVER_RECORD_SOA, 0777 G_RESOLVER_RECORD_NS 0778 } GResolverRecordType; 0779 0780 /** 0781 * GResourceError: 0782 * @G_RESOURCE_ERROR_NOT_FOUND: no file was found at the requested path 0783 * @G_RESOURCE_ERROR_INTERNAL: unknown error 0784 * 0785 * An error code used with %G_RESOURCE_ERROR in a #GError returned 0786 * from a #GResource routine. 0787 * 0788 * Since: 2.32 0789 */ 0790 typedef enum { 0791 G_RESOURCE_ERROR_NOT_FOUND, 0792 G_RESOURCE_ERROR_INTERNAL 0793 } GResourceError; 0794 0795 /** 0796 * GResourceFlags: 0797 * @G_RESOURCE_FLAGS_NONE: No flags set. 0798 * @G_RESOURCE_FLAGS_COMPRESSED: The file is compressed. 0799 * 0800 * GResourceFlags give information about a particular file inside a resource 0801 * bundle. 0802 * 0803 * Since: 2.32 0804 **/ 0805 typedef enum { 0806 G_RESOURCE_FLAGS_NONE = 0, 0807 G_RESOURCE_FLAGS_COMPRESSED = (1<<0) 0808 } G_GNUC_FLAG_ENUM GResourceFlags; 0809 0810 /** 0811 * GResourceLookupFlags: 0812 * @G_RESOURCE_LOOKUP_FLAGS_NONE: No flags set. 0813 * 0814 * GResourceLookupFlags determine how resource path lookups are handled. 0815 * 0816 * Since: 2.32 0817 **/ 0818 typedef enum /*< flags >*/ { 0819 G_RESOURCE_LOOKUP_FLAGS_NONE = 0 0820 } G_GNUC_FLAG_ENUM GResourceLookupFlags; 0821 0822 /** 0823 * GSocketFamily: 0824 * @G_SOCKET_FAMILY_INVALID: no address family 0825 * @G_SOCKET_FAMILY_IPV4: the IPv4 family 0826 * @G_SOCKET_FAMILY_IPV6: the IPv6 family 0827 * @G_SOCKET_FAMILY_UNIX: the UNIX domain family 0828 * 0829 * The protocol family of a #GSocketAddress. (These values are 0830 * identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX, 0831 * if available.) 0832 * 0833 * Since: 2.22 0834 */ 0835 typedef enum { 0836 G_SOCKET_FAMILY_INVALID, 0837 G_SOCKET_FAMILY_UNIX = GLIB_SYSDEF_AF_UNIX, 0838 G_SOCKET_FAMILY_IPV4 = GLIB_SYSDEF_AF_INET, 0839 G_SOCKET_FAMILY_IPV6 = GLIB_SYSDEF_AF_INET6 0840 } GSocketFamily; 0841 0842 /** 0843 * GSocketType: 0844 * @G_SOCKET_TYPE_INVALID: Type unknown or wrong 0845 * @G_SOCKET_TYPE_STREAM: Reliable connection-based byte streams (e.g. TCP). 0846 * @G_SOCKET_TYPE_DATAGRAM: Connectionless, unreliable datagram passing. 0847 * (e.g. UDP) 0848 * @G_SOCKET_TYPE_SEQPACKET: Reliable connection-based passing of datagrams 0849 * of fixed maximum length (e.g. SCTP). 0850 * 0851 * Flags used when creating a #GSocket. Some protocols may not implement 0852 * all the socket types. 0853 * 0854 * Since: 2.22 0855 */ 0856 typedef enum 0857 { 0858 G_SOCKET_TYPE_INVALID, 0859 G_SOCKET_TYPE_STREAM, 0860 G_SOCKET_TYPE_DATAGRAM, 0861 G_SOCKET_TYPE_SEQPACKET 0862 } GSocketType; 0863 0864 /** 0865 * GSocketMsgFlags: 0866 * @G_SOCKET_MSG_NONE: No flags. 0867 * @G_SOCKET_MSG_OOB: Request to send/receive out of band data. 0868 * @G_SOCKET_MSG_PEEK: Read data from the socket without removing it from 0869 * the queue. 0870 * @G_SOCKET_MSG_DONTROUTE: Don't use a gateway to send out the packet, 0871 * only send to hosts on directly connected networks. 0872 * 0873 * Flags used in g_socket_receive_message() and g_socket_send_message(). 0874 * The flags listed in the enum are some commonly available flags, but the 0875 * values used for them are the same as on the platform, and any other flags 0876 * are passed in/out as is. So to use a platform specific flag, just include 0877 * the right system header and pass in the flag. 0878 * 0879 * Since: 2.22 0880 */ 0881 typedef enum /*< flags >*/ 0882 { 0883 G_SOCKET_MSG_NONE, 0884 G_SOCKET_MSG_OOB = GLIB_SYSDEF_MSG_OOB, 0885 G_SOCKET_MSG_PEEK = GLIB_SYSDEF_MSG_PEEK, 0886 G_SOCKET_MSG_DONTROUTE = GLIB_SYSDEF_MSG_DONTROUTE 0887 } G_GNUC_FLAG_ENUM GSocketMsgFlags; 0888 0889 /** 0890 * GSocketProtocol: 0891 * @G_SOCKET_PROTOCOL_UNKNOWN: The protocol type is unknown 0892 * @G_SOCKET_PROTOCOL_DEFAULT: The default protocol for the family/type 0893 * @G_SOCKET_PROTOCOL_TCP: TCP over IP 0894 * @G_SOCKET_PROTOCOL_UDP: UDP over IP 0895 * @G_SOCKET_PROTOCOL_SCTP: SCTP over IP 0896 * 0897 * A protocol identifier is specified when creating a #GSocket, which is a 0898 * family/type specific identifier, where 0 means the default protocol for 0899 * the particular family/type. 0900 * 0901 * This enum contains a set of commonly available and used protocols. You 0902 * can also pass any other identifiers handled by the platform in order to 0903 * use protocols not listed here. 0904 * 0905 * Since: 2.22 0906 */ 0907 typedef enum { 0908 G_SOCKET_PROTOCOL_UNKNOWN = -1, 0909 G_SOCKET_PROTOCOL_DEFAULT = 0, 0910 G_SOCKET_PROTOCOL_TCP = 6, 0911 G_SOCKET_PROTOCOL_UDP = 17, 0912 G_SOCKET_PROTOCOL_SCTP = 132 0913 } GSocketProtocol; 0914 0915 /** 0916 * GZlibCompressorFormat: 0917 * @G_ZLIB_COMPRESSOR_FORMAT_ZLIB: deflate compression with zlib header 0918 * @G_ZLIB_COMPRESSOR_FORMAT_GZIP: gzip file format 0919 * @G_ZLIB_COMPRESSOR_FORMAT_RAW: deflate compression with no header 0920 * 0921 * Used to select the type of data format to use for #GZlibDecompressor 0922 * and #GZlibCompressor. 0923 * 0924 * Since: 2.24 0925 */ 0926 typedef enum { 0927 G_ZLIB_COMPRESSOR_FORMAT_ZLIB, 0928 G_ZLIB_COMPRESSOR_FORMAT_GZIP, 0929 G_ZLIB_COMPRESSOR_FORMAT_RAW 0930 } GZlibCompressorFormat; 0931 0932 /** 0933 * GUnixSocketAddressType: 0934 * @G_UNIX_SOCKET_ADDRESS_INVALID: invalid 0935 * @G_UNIX_SOCKET_ADDRESS_ANONYMOUS: anonymous 0936 * @G_UNIX_SOCKET_ADDRESS_PATH: a filesystem path 0937 * @G_UNIX_SOCKET_ADDRESS_ABSTRACT: an abstract name 0938 * @G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED: an abstract name, 0-padded 0939 * to the full length of a unix socket name 0940 * 0941 * The type of name used by a #GUnixSocketAddress. 0942 * %G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain 0943 * socket bound to a filesystem path. %G_UNIX_SOCKET_ADDRESS_ANONYMOUS 0944 * indicates a socket not bound to any name (eg, a client-side socket, 0945 * or a socket created with socketpair()). 0946 * 0947 * For abstract sockets, there are two incompatible ways of naming 0948 * them; the man pages suggest using the entire `struct sockaddr_un` 0949 * as the name, padding the unused parts of the %sun_path field with 0950 * zeroes; this corresponds to %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED. 0951 * However, many programs instead just use a portion of %sun_path, and 0952 * pass an appropriate smaller length to bind() or connect(). This is 0953 * %G_UNIX_SOCKET_ADDRESS_ABSTRACT. 0954 * 0955 * Since: 2.26 0956 */ 0957 typedef enum { 0958 G_UNIX_SOCKET_ADDRESS_INVALID, 0959 G_UNIX_SOCKET_ADDRESS_ANONYMOUS, 0960 G_UNIX_SOCKET_ADDRESS_PATH, 0961 G_UNIX_SOCKET_ADDRESS_ABSTRACT, 0962 G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED 0963 } GUnixSocketAddressType; 0964 0965 /** 0966 * GBusType: 0967 * @G_BUS_TYPE_STARTER: An alias for the message bus that activated the process, if any. 0968 * @G_BUS_TYPE_NONE: Not a message bus. 0969 * @G_BUS_TYPE_SYSTEM: The system-wide message bus. 0970 * @G_BUS_TYPE_SESSION: The login session message bus. 0971 * 0972 * An enumeration for well-known message buses. 0973 * 0974 * Since: 2.26 0975 */ 0976 typedef enum 0977 { 0978 G_BUS_TYPE_STARTER = -1, 0979 G_BUS_TYPE_NONE = 0, 0980 G_BUS_TYPE_SYSTEM = 1, 0981 G_BUS_TYPE_SESSION = 2 0982 } GBusType; 0983 0984 /** 0985 * GBusNameOwnerFlags: 0986 * @G_BUS_NAME_OWNER_FLAGS_NONE: No flags set. 0987 * @G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT: Allow another message bus connection to claim the name. 0988 * @G_BUS_NAME_OWNER_FLAGS_REPLACE: If another message bus connection owns the name and have 0989 * specified %G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection. 0990 * 0991 * Flags used in g_bus_own_name(). 0992 * 0993 * Since: 2.26 0994 */ 0995 /** 0996 * G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE: 0997 * 0998 * If another message bus connection owns the name, immediately return an error 0999 * from [func@Gio.bus_own_name] rather than entering the waiting queue for that 1000 * name. 1001 * 1002 * Since: 2.54 1003 **/ 1004 typedef enum 1005 { 1006 G_BUS_NAME_OWNER_FLAGS_NONE = 0, /*< nick=none >*/ 1007 G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT = (1<<0), /*< nick=allow-replacement >*/ 1008 G_BUS_NAME_OWNER_FLAGS_REPLACE = (1<<1), /*< nick=replace >*/ 1009 G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE = (1<<2) /*< nick=do-not-queue >*/ 1010 } G_GNUC_FLAG_ENUM GBusNameOwnerFlags; 1011 /* When adding new flags, their numeric values must currently match those 1012 * used in the D-Bus Specification. */ 1013 1014 /** 1015 * GBusNameWatcherFlags: 1016 * @G_BUS_NAME_WATCHER_FLAGS_NONE: No flags set. 1017 * @G_BUS_NAME_WATCHER_FLAGS_AUTO_START: If no-one owns the name when 1018 * beginning to watch the name, ask the bus to launch an owner for the 1019 * name. 1020 * 1021 * Flags used in g_bus_watch_name(). 1022 * 1023 * Since: 2.26 1024 */ 1025 typedef enum 1026 { 1027 G_BUS_NAME_WATCHER_FLAGS_NONE = 0, 1028 G_BUS_NAME_WATCHER_FLAGS_AUTO_START = (1<<0) 1029 } G_GNUC_FLAG_ENUM GBusNameWatcherFlags; 1030 1031 /** 1032 * GDBusProxyFlags: 1033 * @G_DBUS_PROXY_FLAGS_NONE: No flags set. 1034 * @G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES: Don't load properties. 1035 * @G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS: Don't connect to signals on the remote object. 1036 * @G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START: If the proxy is for a well-known name, 1037 * do not ask the bus to launch an owner during proxy initialization or a method call. 1038 * This flag is only meaningful in proxies for well-known names. 1039 * @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. 1040 * @G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION: If the proxy is for a well-known name, 1041 * do not ask the bus to launch an owner during proxy initialization, but allow it to be 1042 * autostarted by a method call. This flag is only meaningful in proxies for well-known names, 1043 * and only if %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is not also specified. 1044 * @G_DBUS_PROXY_FLAGS_NO_MATCH_RULE: Don't actually send the AddMatch D-Bus 1045 * call for this signal subscription. This gives you more control 1046 * over which match rules you add (but you must add them manually). (Since: 2.72) 1047 * 1048 * Flags used when constructing an instance of a #GDBusProxy derived class. 1049 * 1050 * Since: 2.26 1051 */ 1052 typedef enum 1053 { 1054 G_DBUS_PROXY_FLAGS_NONE = 0, 1055 G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES = (1<<0), 1056 G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS = (1<<1), 1057 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START = (1<<2), 1058 G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES = (1<<3), 1059 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION = (1<<4), 1060 G_DBUS_PROXY_FLAGS_NO_MATCH_RULE GIO_AVAILABLE_ENUMERATOR_IN_2_72 = (1<<5) 1061 } G_GNUC_FLAG_ENUM GDBusProxyFlags; 1062 1063 /** 1064 * GDBusError: 1065 * @G_DBUS_ERROR_FAILED: 1066 * A generic error; "something went wrong" - see the error message for 1067 * more. 1068 * @G_DBUS_ERROR_NO_MEMORY: 1069 * There was not enough memory to complete an operation. 1070 * @G_DBUS_ERROR_SERVICE_UNKNOWN: 1071 * The bus doesn't know how to launch a service to supply the bus name 1072 * you wanted. 1073 * @G_DBUS_ERROR_NAME_HAS_NO_OWNER: 1074 * The bus name you referenced doesn't exist (i.e. no application owns 1075 * it). 1076 * @G_DBUS_ERROR_NO_REPLY: 1077 * No reply to a message expecting one, usually means a timeout occurred. 1078 * @G_DBUS_ERROR_IO_ERROR: 1079 * Something went wrong reading or writing to a socket, for example. 1080 * @G_DBUS_ERROR_BAD_ADDRESS: 1081 * A D-Bus bus address was malformed. 1082 * @G_DBUS_ERROR_NOT_SUPPORTED: 1083 * Requested operation isn't supported (like ENOSYS on UNIX). 1084 * @G_DBUS_ERROR_LIMITS_EXCEEDED: 1085 * Some limited resource is exhausted. 1086 * @G_DBUS_ERROR_ACCESS_DENIED: 1087 * Security restrictions don't allow doing what you're trying to do. 1088 * @G_DBUS_ERROR_AUTH_FAILED: 1089 * Authentication didn't work. 1090 * @G_DBUS_ERROR_NO_SERVER: 1091 * Unable to connect to server (probably caused by ECONNREFUSED on a 1092 * socket). 1093 * @G_DBUS_ERROR_TIMEOUT: 1094 * Certain timeout errors, possibly ETIMEDOUT on a socket. Note that 1095 * %G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning: 1096 * this is confusingly-named given that %G_DBUS_ERROR_TIMED_OUT also 1097 * exists. We can't fix it for compatibility reasons so just be 1098 * careful. 1099 * @G_DBUS_ERROR_NO_NETWORK: 1100 * No network access (probably ENETUNREACH on a socket). 1101 * @G_DBUS_ERROR_ADDRESS_IN_USE: 1102 * Can't bind a socket since its address is in use (i.e. EADDRINUSE). 1103 * @G_DBUS_ERROR_DISCONNECTED: 1104 * The connection is disconnected and you're trying to use it. 1105 * @G_DBUS_ERROR_INVALID_ARGS: 1106 * Invalid arguments passed to a method call. 1107 * @G_DBUS_ERROR_FILE_NOT_FOUND: 1108 * Missing file. 1109 * @G_DBUS_ERROR_FILE_EXISTS: 1110 * Existing file and the operation you're using does not silently overwrite. 1111 * @G_DBUS_ERROR_UNKNOWN_METHOD: 1112 * Method name you invoked isn't known by the object you invoked it on. 1113 * @G_DBUS_ERROR_UNKNOWN_OBJECT: 1114 * Object you invoked a method on isn't known. Since 2.42 1115 * @G_DBUS_ERROR_UNKNOWN_INTERFACE: 1116 * Interface you invoked a method on isn't known by the object. Since 2.42 1117 * @G_DBUS_ERROR_UNKNOWN_PROPERTY: 1118 * Property you tried to access isn't known by the object. Since 2.42 1119 * @G_DBUS_ERROR_PROPERTY_READ_ONLY: 1120 * Property you tried to set is read-only. Since 2.42 1121 * @G_DBUS_ERROR_TIMED_OUT: 1122 * Certain timeout errors, e.g. while starting a service. Warning: this is 1123 * confusingly-named given that %G_DBUS_ERROR_TIMEOUT also exists. We 1124 * can't fix it for compatibility reasons so just be careful. 1125 * @G_DBUS_ERROR_MATCH_RULE_NOT_FOUND: 1126 * Tried to remove or modify a match rule that didn't exist. 1127 * @G_DBUS_ERROR_MATCH_RULE_INVALID: 1128 * The match rule isn't syntactically valid. 1129 * @G_DBUS_ERROR_SPAWN_EXEC_FAILED: 1130 * While starting a new process, the exec() call failed. 1131 * @G_DBUS_ERROR_SPAWN_FORK_FAILED: 1132 * While starting a new process, the fork() call failed. 1133 * @G_DBUS_ERROR_SPAWN_CHILD_EXITED: 1134 * While starting a new process, the child exited with a status code. 1135 * @G_DBUS_ERROR_SPAWN_CHILD_SIGNALED: 1136 * While starting a new process, the child exited on a signal. 1137 * @G_DBUS_ERROR_SPAWN_FAILED: 1138 * While starting a new process, something went wrong. 1139 * @G_DBUS_ERROR_SPAWN_SETUP_FAILED: 1140 * We failed to setup the environment correctly. 1141 * @G_DBUS_ERROR_SPAWN_CONFIG_INVALID: 1142 * We failed to setup the config parser correctly. 1143 * @G_DBUS_ERROR_SPAWN_SERVICE_INVALID: 1144 * Bus name was not valid. 1145 * @G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND: 1146 * Service file not found in system-services directory. 1147 * @G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID: 1148 * Permissions are incorrect on the setuid helper. 1149 * @G_DBUS_ERROR_SPAWN_FILE_INVALID: 1150 * Service file invalid (Name, User or Exec missing). 1151 * @G_DBUS_ERROR_SPAWN_NO_MEMORY: 1152 * Tried to get a UNIX process ID and it wasn't available. 1153 * @G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN: 1154 * Tried to get a UNIX process ID and it wasn't available. 1155 * @G_DBUS_ERROR_INVALID_SIGNATURE: 1156 * A type signature is not valid. 1157 * @G_DBUS_ERROR_INVALID_FILE_CONTENT: 1158 * A file contains invalid syntax or is otherwise broken. 1159 * @G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN: 1160 * Asked for SELinux security context and it wasn't available. 1161 * @G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN: 1162 * Asked for ADT audit data and it wasn't available. 1163 * @G_DBUS_ERROR_OBJECT_PATH_IN_USE: 1164 * There's already an object with the requested object path. 1165 * 1166 * Error codes for the %G_DBUS_ERROR error domain. 1167 * 1168 * Since: 2.26 1169 */ 1170 typedef enum 1171 { 1172 /* Well-known errors in the org.freedesktop.DBus.Error namespace */ 1173 G_DBUS_ERROR_FAILED, /* org.freedesktop.DBus.Error.Failed */ 1174 G_DBUS_ERROR_NO_MEMORY, /* org.freedesktop.DBus.Error.NoMemory */ 1175 G_DBUS_ERROR_SERVICE_UNKNOWN, /* org.freedesktop.DBus.Error.ServiceUnknown */ 1176 G_DBUS_ERROR_NAME_HAS_NO_OWNER, /* org.freedesktop.DBus.Error.NameHasNoOwner */ 1177 G_DBUS_ERROR_NO_REPLY, /* org.freedesktop.DBus.Error.NoReply */ 1178 G_DBUS_ERROR_IO_ERROR, /* org.freedesktop.DBus.Error.IOError */ 1179 G_DBUS_ERROR_BAD_ADDRESS, /* org.freedesktop.DBus.Error.BadAddress */ 1180 G_DBUS_ERROR_NOT_SUPPORTED, /* org.freedesktop.DBus.Error.NotSupported */ 1181 G_DBUS_ERROR_LIMITS_EXCEEDED, /* org.freedesktop.DBus.Error.LimitsExceeded */ 1182 G_DBUS_ERROR_ACCESS_DENIED, /* org.freedesktop.DBus.Error.AccessDenied */ 1183 G_DBUS_ERROR_AUTH_FAILED, /* org.freedesktop.DBus.Error.AuthFailed */ 1184 G_DBUS_ERROR_NO_SERVER, /* org.freedesktop.DBus.Error.NoServer */ 1185 G_DBUS_ERROR_TIMEOUT, /* org.freedesktop.DBus.Error.Timeout */ 1186 G_DBUS_ERROR_NO_NETWORK, /* org.freedesktop.DBus.Error.NoNetwork */ 1187 G_DBUS_ERROR_ADDRESS_IN_USE, /* org.freedesktop.DBus.Error.AddressInUse */ 1188 G_DBUS_ERROR_DISCONNECTED, /* org.freedesktop.DBus.Error.Disconnected */ 1189 G_DBUS_ERROR_INVALID_ARGS, /* org.freedesktop.DBus.Error.InvalidArgs */ 1190 G_DBUS_ERROR_FILE_NOT_FOUND, /* org.freedesktop.DBus.Error.FileNotFound */ 1191 G_DBUS_ERROR_FILE_EXISTS, /* org.freedesktop.DBus.Error.FileExists */ 1192 G_DBUS_ERROR_UNKNOWN_METHOD, /* org.freedesktop.DBus.Error.UnknownMethod */ 1193 G_DBUS_ERROR_TIMED_OUT, /* org.freedesktop.DBus.Error.TimedOut */ 1194 G_DBUS_ERROR_MATCH_RULE_NOT_FOUND, /* org.freedesktop.DBus.Error.MatchRuleNotFound */ 1195 G_DBUS_ERROR_MATCH_RULE_INVALID, /* org.freedesktop.DBus.Error.MatchRuleInvalid */ 1196 G_DBUS_ERROR_SPAWN_EXEC_FAILED, /* org.freedesktop.DBus.Error.Spawn.ExecFailed */ 1197 G_DBUS_ERROR_SPAWN_FORK_FAILED, /* org.freedesktop.DBus.Error.Spawn.ForkFailed */ 1198 G_DBUS_ERROR_SPAWN_CHILD_EXITED, /* org.freedesktop.DBus.Error.Spawn.ChildExited */ 1199 G_DBUS_ERROR_SPAWN_CHILD_SIGNALED, /* org.freedesktop.DBus.Error.Spawn.ChildSignaled */ 1200 G_DBUS_ERROR_SPAWN_FAILED, /* org.freedesktop.DBus.Error.Spawn.Failed */ 1201 G_DBUS_ERROR_SPAWN_SETUP_FAILED, /* org.freedesktop.DBus.Error.Spawn.FailedToSetup */ 1202 G_DBUS_ERROR_SPAWN_CONFIG_INVALID, /* org.freedesktop.DBus.Error.Spawn.ConfigInvalid */ 1203 G_DBUS_ERROR_SPAWN_SERVICE_INVALID, /* org.freedesktop.DBus.Error.Spawn.ServiceNotValid */ 1204 G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND, /* org.freedesktop.DBus.Error.Spawn.ServiceNotFound */ 1205 G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID, /* org.freedesktop.DBus.Error.Spawn.PermissionsInvalid */ 1206 G_DBUS_ERROR_SPAWN_FILE_INVALID, /* org.freedesktop.DBus.Error.Spawn.FileInvalid */ 1207 G_DBUS_ERROR_SPAWN_NO_MEMORY, /* org.freedesktop.DBus.Error.Spawn.NoMemory */ 1208 G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN, /* org.freedesktop.DBus.Error.UnixProcessIdUnknown */ 1209 G_DBUS_ERROR_INVALID_SIGNATURE, /* org.freedesktop.DBus.Error.InvalidSignature */ 1210 G_DBUS_ERROR_INVALID_FILE_CONTENT, /* org.freedesktop.DBus.Error.InvalidFileContent */ 1211 G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN, /* org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown */ 1212 G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN, /* org.freedesktop.DBus.Error.AdtAuditDataUnknown */ 1213 G_DBUS_ERROR_OBJECT_PATH_IN_USE, /* org.freedesktop.DBus.Error.ObjectPathInUse */ 1214 G_DBUS_ERROR_UNKNOWN_OBJECT, /* org.freedesktop.DBus.Error.UnknownObject */ 1215 G_DBUS_ERROR_UNKNOWN_INTERFACE, /* org.freedesktop.DBus.Error.UnknownInterface */ 1216 G_DBUS_ERROR_UNKNOWN_PROPERTY, /* org.freedesktop.DBus.Error.UnknownProperty */ 1217 G_DBUS_ERROR_PROPERTY_READ_ONLY /* org.freedesktop.DBus.Error.PropertyReadOnly */ 1218 } GDBusError; 1219 /* Remember to update g_dbus_error_quark() in gdbuserror.c if you extend this enumeration */ 1220 1221 /** 1222 * GDBusConnectionFlags: 1223 * @G_DBUS_CONNECTION_FLAGS_NONE: No flags set. 1224 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT: Perform authentication against server. 1225 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER: Perform authentication against client. 1226 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: When 1227 * authenticating as a server, allow the anonymous authentication 1228 * method. 1229 * @G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION: Pass this flag if connecting to a peer that is a 1230 * message bus. This means that the Hello() method will be invoked as part of the connection setup. 1231 * @G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING: If set, processing of D-Bus messages is 1232 * delayed until g_dbus_connection_start_message_processing() is called. 1233 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER: When authenticating 1234 * as a server, require the UID of the peer to be the same as the UID of the server. (Since: 2.68) 1235 * @G_DBUS_CONNECTION_FLAGS_CROSS_NAMESPACE: When authenticating, try to use 1236 * protocols that work across a Linux user namespace boundary, even if this 1237 * reduces interoperability with older D-Bus implementations. This currently 1238 * affects client-side `EXTERNAL` authentication, for which this flag makes 1239 * connections to a server in another user namespace succeed, but causes 1240 * a deadlock when connecting to a GDBus server older than 2.73.3. Since: 2.74 1241 * 1242 * Flags used when creating a new #GDBusConnection. 1243 * 1244 * Since: 2.26 1245 */ 1246 typedef enum { 1247 G_DBUS_CONNECTION_FLAGS_NONE = 0, 1248 G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT = (1<<0), 1249 G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER = (1<<1), 1250 G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<2), 1251 G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION = (1<<3), 1252 G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING = (1<<4), 1253 G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER GIO_AVAILABLE_ENUMERATOR_IN_2_68 = (1<<5), 1254 G_DBUS_CONNECTION_FLAGS_CROSS_NAMESPACE GIO_AVAILABLE_ENUMERATOR_IN_2_74 = (1<<6) 1255 } G_GNUC_FLAG_ENUM GDBusConnectionFlags; 1256 1257 /** 1258 * GDBusCapabilityFlags: 1259 * @G_DBUS_CAPABILITY_FLAGS_NONE: No flags set. 1260 * @G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING: The connection 1261 * supports exchanging UNIX file descriptors with the remote peer. 1262 * 1263 * Capabilities negotiated with the remote peer. 1264 * 1265 * Since: 2.26 1266 */ 1267 typedef enum { 1268 G_DBUS_CAPABILITY_FLAGS_NONE = 0, 1269 G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING = (1<<0) 1270 } G_GNUC_FLAG_ENUM GDBusCapabilityFlags; 1271 1272 /** 1273 * GDBusCallFlags: 1274 * @G_DBUS_CALL_FLAGS_NONE: No flags set. 1275 * @G_DBUS_CALL_FLAGS_NO_AUTO_START: The bus must not launch 1276 * an owner for the destination name in response to this method 1277 * invocation. 1278 * @G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: the caller is prepared to 1279 * wait for interactive authorization. Since 2.46. 1280 * 1281 * Flags used in g_dbus_connection_call() and similar APIs. 1282 * 1283 * Since: 2.26 1284 */ 1285 typedef enum { 1286 G_DBUS_CALL_FLAGS_NONE = 0, 1287 G_DBUS_CALL_FLAGS_NO_AUTO_START = (1<<0), 1288 G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION = (1<<1) 1289 } G_GNUC_FLAG_ENUM GDBusCallFlags; 1290 /* (1<<31) is reserved for internal use by GDBusConnection, do not use it. */ 1291 1292 /** 1293 * GDBusMessageType: 1294 * @G_DBUS_MESSAGE_TYPE_INVALID: Message is of invalid type. 1295 * @G_DBUS_MESSAGE_TYPE_METHOD_CALL: Method call. 1296 * @G_DBUS_MESSAGE_TYPE_METHOD_RETURN: Method reply. 1297 * @G_DBUS_MESSAGE_TYPE_ERROR: Error reply. 1298 * @G_DBUS_MESSAGE_TYPE_SIGNAL: Signal emission. 1299 * 1300 * Message types used in #GDBusMessage. 1301 * 1302 * Since: 2.26 1303 */ 1304 typedef enum { 1305 G_DBUS_MESSAGE_TYPE_INVALID, 1306 G_DBUS_MESSAGE_TYPE_METHOD_CALL, 1307 G_DBUS_MESSAGE_TYPE_METHOD_RETURN, 1308 G_DBUS_MESSAGE_TYPE_ERROR, 1309 G_DBUS_MESSAGE_TYPE_SIGNAL 1310 } GDBusMessageType; 1311 1312 /** 1313 * GDBusMessageFlags: 1314 * @G_DBUS_MESSAGE_FLAGS_NONE: No flags set. 1315 * @G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED: A reply is not expected. 1316 * @G_DBUS_MESSAGE_FLAGS_NO_AUTO_START: The bus must not launch an 1317 * owner for the destination name in response to this message. 1318 * @G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: If set on a method 1319 * call, this flag means that the caller is prepared to wait for interactive 1320 * authorization. Since 2.46. 1321 * 1322 * Message flags used in #GDBusMessage. 1323 * 1324 * Since: 2.26 1325 */ 1326 typedef enum { 1327 G_DBUS_MESSAGE_FLAGS_NONE = 0, 1328 G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED = (1<<0), 1329 G_DBUS_MESSAGE_FLAGS_NO_AUTO_START = (1<<1), 1330 G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION = (1<<2) 1331 } G_GNUC_FLAG_ENUM GDBusMessageFlags; 1332 1333 /** 1334 * GDBusMessageHeaderField: 1335 * @G_DBUS_MESSAGE_HEADER_FIELD_INVALID: Not a valid header field. 1336 * @G_DBUS_MESSAGE_HEADER_FIELD_PATH: The object path. 1337 * @G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE: The interface name. 1338 * @G_DBUS_MESSAGE_HEADER_FIELD_MEMBER: The method or signal name. 1339 * @G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME: The name of the error that occurred. 1340 * @G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL: The serial number the message is a reply to. 1341 * @G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION: The name the message is intended for. 1342 * @G_DBUS_MESSAGE_HEADER_FIELD_SENDER: Unique name of the sender of the message (filled in by the bus). 1343 * @G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE: The signature of the message body. 1344 * @G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS: The number of UNIX file descriptors that accompany the message. 1345 * 1346 * Header fields used in #GDBusMessage. 1347 * 1348 * Since: 2.26 1349 */ 1350 typedef enum { 1351 G_DBUS_MESSAGE_HEADER_FIELD_INVALID, 1352 G_DBUS_MESSAGE_HEADER_FIELD_PATH, 1353 G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE, 1354 G_DBUS_MESSAGE_HEADER_FIELD_MEMBER, 1355 G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME, 1356 G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL, 1357 G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION, 1358 G_DBUS_MESSAGE_HEADER_FIELD_SENDER, 1359 G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE, 1360 G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS 1361 } GDBusMessageHeaderField; 1362 1363 /** 1364 * GDBusPropertyInfoFlags: 1365 * @G_DBUS_PROPERTY_INFO_FLAGS_NONE: No flags set. 1366 * @G_DBUS_PROPERTY_INFO_FLAGS_READABLE: Property is readable. 1367 * @G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE: Property is writable. 1368 * 1369 * Flags describing the access control of a D-Bus property. 1370 * 1371 * Since: 2.26 1372 */ 1373 typedef enum 1374 { 1375 G_DBUS_PROPERTY_INFO_FLAGS_NONE = 0, 1376 G_DBUS_PROPERTY_INFO_FLAGS_READABLE = (1<<0), 1377 G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE = (1<<1) 1378 } G_GNUC_FLAG_ENUM GDBusPropertyInfoFlags; 1379 1380 /** 1381 * GDBusSubtreeFlags: 1382 * @G_DBUS_SUBTREE_FLAGS_NONE: No flags set. 1383 * @G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES: Method calls to objects not in the enumerated range 1384 * will still be dispatched. This is useful if you want 1385 * to dynamically spawn objects in the subtree. 1386 * 1387 * Flags passed to g_dbus_connection_register_subtree(). 1388 * 1389 * Since: 2.26 1390 */ 1391 typedef enum 1392 { 1393 G_DBUS_SUBTREE_FLAGS_NONE = 0, 1394 G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES = (1<<0) 1395 } G_GNUC_FLAG_ENUM GDBusSubtreeFlags; 1396 1397 /** 1398 * GDBusServerFlags: 1399 * @G_DBUS_SERVER_FLAGS_NONE: No flags set. 1400 * @G_DBUS_SERVER_FLAGS_RUN_IN_THREAD: All #GDBusServer::new-connection 1401 * signals will run in separated dedicated threads (see signal for 1402 * details). 1403 * @G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: Allow the anonymous 1404 * authentication method. 1405 * @G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER: Require the UID of the 1406 * peer to be the same as the UID of the server when authenticating. (Since: 2.68) 1407 * 1408 * Flags used when creating a #GDBusServer. 1409 * 1410 * Since: 2.26 1411 */ 1412 typedef enum 1413 { 1414 G_DBUS_SERVER_FLAGS_NONE = 0, 1415 G_DBUS_SERVER_FLAGS_RUN_IN_THREAD = (1<<0), 1416 G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<1), 1417 G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER GIO_AVAILABLE_ENUMERATOR_IN_2_68 = (1<<2) 1418 } G_GNUC_FLAG_ENUM GDBusServerFlags; 1419 1420 /** 1421 * GDBusSignalFlags: 1422 * @G_DBUS_SIGNAL_FLAGS_NONE: No flags set. 1423 * @G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE: Don't actually send the AddMatch 1424 * D-Bus call for this signal subscription. This gives you more control 1425 * over which match rules you add (but you must add them manually). 1426 * @G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE: Match first arguments that 1427 * contain a bus or interface name with the given namespace. 1428 * @G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH: Match first arguments that 1429 * contain an object path that is either equivalent to the given path, 1430 * or one of the paths is a subpath of the other. 1431 * 1432 * Flags used when subscribing to signals via g_dbus_connection_signal_subscribe(). 1433 * 1434 * Since: 2.26 1435 */ 1436 typedef enum /*< flags >*/ 1437 { 1438 G_DBUS_SIGNAL_FLAGS_NONE = 0, 1439 G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE = (1<<0), 1440 G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE = (1<<1), 1441 G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH = (1<<2) 1442 } G_GNUC_FLAG_ENUM GDBusSignalFlags; 1443 1444 /** 1445 * GDBusSendMessageFlags: 1446 * @G_DBUS_SEND_MESSAGE_FLAGS_NONE: No flags set. 1447 * @G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL: Do not automatically 1448 * assign a serial number from the #GDBusConnection object when 1449 * sending a message. 1450 * 1451 * Flags used when sending #GDBusMessages on a #GDBusConnection. 1452 * 1453 * Since: 2.26 1454 */ 1455 typedef enum 1456 { 1457 G_DBUS_SEND_MESSAGE_FLAGS_NONE = 0, 1458 G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL = (1<<0) 1459 } G_GNUC_FLAG_ENUM GDBusSendMessageFlags; 1460 /* (1<<31) is reserved for internal use by GDBusConnection, do not use it. */ 1461 1462 /** 1463 * GCredentialsType: 1464 * @G_CREDENTIALS_TYPE_INVALID: Indicates an invalid native credential type. 1465 * @G_CREDENTIALS_TYPE_LINUX_UCRED: The native credentials type is a `struct ucred`. 1466 * @G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED: The native credentials type is a `struct cmsgcred`. 1467 * @G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED: The native credentials type is a `struct sockpeercred`. Added in 2.30. 1468 * @G_CREDENTIALS_TYPE_SOLARIS_UCRED: The native credentials type is a `ucred_t`. Added in 2.40. 1469 * @G_CREDENTIALS_TYPE_NETBSD_UNPCBID: The native credentials type is a `struct unpcbid`. Added in 2.42. 1470 * @G_CREDENTIALS_TYPE_APPLE_XUCRED: The native credentials type is a `struct xucred`. Added in 2.66. 1471 * @G_CREDENTIALS_TYPE_WIN32_PID: The native credentials type is a PID `DWORD`. Added in 2.72. 1472 * 1473 * Enumeration describing different kinds of native credential types. 1474 * 1475 * Since: 2.26 1476 */ 1477 typedef enum 1478 { 1479 G_CREDENTIALS_TYPE_INVALID, 1480 G_CREDENTIALS_TYPE_LINUX_UCRED, 1481 G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED, 1482 G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED, 1483 G_CREDENTIALS_TYPE_SOLARIS_UCRED, 1484 G_CREDENTIALS_TYPE_NETBSD_UNPCBID, 1485 G_CREDENTIALS_TYPE_APPLE_XUCRED, 1486 G_CREDENTIALS_TYPE_WIN32_PID, 1487 } GCredentialsType; 1488 1489 /** 1490 * GDBusMessageByteOrder: 1491 * @G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN: The byte order is big endian. 1492 * @G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN: The byte order is little endian. 1493 * 1494 * Enumeration used to describe the byte order of a D-Bus message. 1495 * 1496 * Since: 2.26 1497 */ 1498 typedef enum 1499 { 1500 G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN = 'B', 1501 G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN = 'l' 1502 } GDBusMessageByteOrder; 1503 1504 /** 1505 * GApplicationFlags: 1506 * @G_APPLICATION_IS_SERVICE: Run as a service. In this mode, registration 1507 * fails if the service is already running, and the application 1508 * will initially wait up to 10 seconds for an initial activation 1509 * message to arrive. 1510 * @G_APPLICATION_IS_LAUNCHER: Don't try to become the primary instance. 1511 * @G_APPLICATION_HANDLES_OPEN: This application handles opening files (in 1512 * the primary instance). Note that this flag only affects the default 1513 * implementation of local_command_line(), and has no effect if 1514 * %G_APPLICATION_HANDLES_COMMAND_LINE is given. 1515 * See g_application_run() for details. 1516 * @G_APPLICATION_HANDLES_COMMAND_LINE: This application handles command line 1517 * arguments (in the primary instance). Note that this flag only affect 1518 * the default implementation of local_command_line(). 1519 * See g_application_run() for details. 1520 * @G_APPLICATION_SEND_ENVIRONMENT: Send the environment of the 1521 * launching process to the primary instance. Set this flag if your 1522 * application is expected to behave differently depending on certain 1523 * environment variables. For instance, an editor might be expected 1524 * to use the `GIT_COMMITTER_NAME` environment variable 1525 * when editing a git commit message. The environment is available 1526 * to the #GApplication::command-line signal handler, via 1527 * g_application_command_line_getenv(). 1528 * @G_APPLICATION_NON_UNIQUE: Make no attempts to do any of the typical 1529 * single-instance application negotiation, even if the application 1530 * ID is given. The application neither attempts to become the 1531 * owner of the application ID nor does it check if an existing 1532 * owner already exists. Everything occurs in the local process. 1533 * Since: 2.30. 1534 * @G_APPLICATION_CAN_OVERRIDE_APP_ID: Allow users to override the 1535 * application ID from the command line with `--gapplication-app-id`. 1536 * Since: 2.48 1537 * @G_APPLICATION_ALLOW_REPLACEMENT: Allow another instance to take over 1538 * the bus name. Since: 2.60 1539 * @G_APPLICATION_REPLACE: Take over from another instance. This flag is 1540 * usually set by passing `--gapplication-replace` on the commandline. 1541 * Since: 2.60 1542 * 1543 * Flags used to define the behaviour of a #GApplication. 1544 * 1545 * Since: 2.28 1546 **/ 1547 /** 1548 * G_APPLICATION_FLAGS_NONE: 1549 * 1550 * Default flags. 1551 * 1552 * Deprecated: 2.74: Use [flags@Gio.ApplicationFlags.DEFAULT_FLAGS]. 1553 **/ 1554 /** 1555 * G_APPLICATION_DEFAULT_FLAGS: 1556 * 1557 * Default flags. 1558 * 1559 * Since: 2.74 1560 **/ 1561 typedef enum /*< prefix=G_APPLICATION >*/ 1562 { 1563 G_APPLICATION_FLAGS_NONE GIO_DEPRECATED_ENUMERATOR_IN_2_74_FOR(G_APPLICATION_DEFAULT_FLAGS), 1564 G_APPLICATION_DEFAULT_FLAGS GIO_AVAILABLE_ENUMERATOR_IN_2_74 = 0, 1565 G_APPLICATION_IS_SERVICE = (1 << 0), 1566 G_APPLICATION_IS_LAUNCHER = (1 << 1), 1567 1568 G_APPLICATION_HANDLES_OPEN = (1 << 2), 1569 G_APPLICATION_HANDLES_COMMAND_LINE = (1 << 3), 1570 G_APPLICATION_SEND_ENVIRONMENT = (1 << 4), 1571 1572 G_APPLICATION_NON_UNIQUE = (1 << 5), 1573 1574 G_APPLICATION_CAN_OVERRIDE_APP_ID = (1 << 6), 1575 G_APPLICATION_ALLOW_REPLACEMENT = (1 << 7), 1576 G_APPLICATION_REPLACE = (1 << 8) 1577 } G_GNUC_FLAG_ENUM GApplicationFlags; 1578 1579 /** 1580 * GTlsError: 1581 * @G_TLS_ERROR_UNAVAILABLE: No TLS provider is available 1582 * @G_TLS_ERROR_MISC: Miscellaneous TLS error 1583 * @G_TLS_ERROR_BAD_CERTIFICATE: The certificate presented could not 1584 * be parsed or failed validation. 1585 * @G_TLS_ERROR_NOT_TLS: The TLS handshake failed because the 1586 * peer does not seem to be a TLS server. 1587 * @G_TLS_ERROR_HANDSHAKE: The TLS handshake failed because the 1588 * peer's certificate was not acceptable. 1589 * @G_TLS_ERROR_CERTIFICATE_REQUIRED: The TLS handshake failed because 1590 * the server requested a client-side certificate, but none was 1591 * provided. See g_tls_connection_set_certificate(). 1592 * @G_TLS_ERROR_EOF: The TLS connection was closed without proper 1593 * notice, which may indicate an attack. See 1594 * g_tls_connection_set_require_close_notify(). 1595 * @G_TLS_ERROR_INAPPROPRIATE_FALLBACK: The TLS handshake failed 1596 * because the client sent the fallback SCSV, indicating a protocol 1597 * downgrade attack. Since: 2.60 1598 * @G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD: The certificate failed 1599 * to load because a password was incorrect. Since: 2.72 1600 * 1601 * An error code used with %G_TLS_ERROR in a #GError returned from a 1602 * TLS-related routine. 1603 * 1604 * Since: 2.28 1605 */ 1606 typedef enum { 1607 G_TLS_ERROR_UNAVAILABLE, 1608 G_TLS_ERROR_MISC, 1609 G_TLS_ERROR_BAD_CERTIFICATE, 1610 G_TLS_ERROR_NOT_TLS, 1611 G_TLS_ERROR_HANDSHAKE, 1612 G_TLS_ERROR_CERTIFICATE_REQUIRED, 1613 G_TLS_ERROR_EOF, 1614 G_TLS_ERROR_INAPPROPRIATE_FALLBACK, 1615 G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD 1616 } GTlsError; 1617 1618 /** 1619 * GTlsCertificateFlags: 1620 * @G_TLS_CERTIFICATE_NO_FLAGS: No flags set. Since: 2.74 1621 * @G_TLS_CERTIFICATE_UNKNOWN_CA: The signing certificate authority is 1622 * not known. 1623 * @G_TLS_CERTIFICATE_BAD_IDENTITY: The certificate does not match the 1624 * expected identity of the site that it was retrieved from. 1625 * @G_TLS_CERTIFICATE_NOT_ACTIVATED: The certificate's activation time 1626 * is still in the future 1627 * @G_TLS_CERTIFICATE_EXPIRED: The certificate has expired 1628 * @G_TLS_CERTIFICATE_REVOKED: The certificate has been revoked 1629 * according to the #GTlsConnection's certificate revocation list. 1630 * @G_TLS_CERTIFICATE_INSECURE: The certificate's algorithm is 1631 * considered insecure. 1632 * @G_TLS_CERTIFICATE_GENERIC_ERROR: Some other error occurred validating 1633 * the certificate 1634 * @G_TLS_CERTIFICATE_VALIDATE_ALL: the combination of all of the above 1635 * flags 1636 * 1637 * A set of flags describing TLS certification validation. This can be 1638 * used to describe why a particular certificate was rejected (for 1639 * example, in #GTlsConnection::accept-certificate). 1640 * 1641 * GLib guarantees that if certificate verification fails, at least one 1642 * flag will be set, but it does not guarantee that all possible flags 1643 * will be set. Accordingly, you may not safely decide to ignore any 1644 * particular type of error. For example, it would be incorrect to mask 1645 * %G_TLS_CERTIFICATE_EXPIRED if you want to allow expired certificates, 1646 * because this could potentially be the only error flag set even if 1647 * other problems exist with the certificate. 1648 * 1649 * Since: 2.28 1650 */ 1651 typedef enum { 1652 G_TLS_CERTIFICATE_NO_FLAGS GIO_AVAILABLE_ENUMERATOR_IN_2_74 = 0, 1653 G_TLS_CERTIFICATE_UNKNOWN_CA = (1 << 0), 1654 G_TLS_CERTIFICATE_BAD_IDENTITY = (1 << 1), 1655 G_TLS_CERTIFICATE_NOT_ACTIVATED = (1 << 2), 1656 G_TLS_CERTIFICATE_EXPIRED = (1 << 3), 1657 G_TLS_CERTIFICATE_REVOKED = (1 << 4), 1658 G_TLS_CERTIFICATE_INSECURE = (1 << 5), 1659 G_TLS_CERTIFICATE_GENERIC_ERROR = (1 << 6), 1660 1661 G_TLS_CERTIFICATE_VALIDATE_ALL = 0x007f 1662 } G_GNUC_FLAG_ENUM GTlsCertificateFlags; 1663 1664 /** 1665 * GTlsAuthenticationMode: 1666 * @G_TLS_AUTHENTICATION_NONE: client authentication not required 1667 * @G_TLS_AUTHENTICATION_REQUESTED: client authentication is requested 1668 * @G_TLS_AUTHENTICATION_REQUIRED: client authentication is required 1669 * 1670 * The client authentication mode for a #GTlsServerConnection. 1671 * 1672 * Since: 2.28 1673 */ 1674 typedef enum { 1675 G_TLS_AUTHENTICATION_NONE, 1676 G_TLS_AUTHENTICATION_REQUESTED, 1677 G_TLS_AUTHENTICATION_REQUIRED 1678 } GTlsAuthenticationMode; 1679 1680 /** 1681 * GTlsChannelBindingType: 1682 * @G_TLS_CHANNEL_BINDING_TLS_UNIQUE: 1683 * [`tls-unique`](https://tools.ietf.org/html/rfc5929#section-3) binding 1684 * type 1685 * @G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT: 1686 * [`tls-server-end-point`](https://tools.ietf.org/html/rfc5929#section-4) 1687 * binding type 1688 * @G_TLS_CHANNEL_BINDING_TLS_EXPORTER: 1689 * [`tls-exporter`](https://www.rfc-editor.org/rfc/rfc9266.html) binding 1690 * type. Since: 2.74 1691 * 1692 * The type of TLS channel binding data to retrieve from #GTlsConnection 1693 * or #GDtlsConnection, as documented by RFC 5929 or RFC 9266. The 1694 * [`tls-unique-for-telnet`](https://tools.ietf.org/html/rfc5929#section-5) 1695 * binding type is not currently implemented. 1696 * 1697 * Since: 2.66 1698 */ 1699 GIO_AVAILABLE_TYPE_IN_2_66 1700 typedef enum { 1701 G_TLS_CHANNEL_BINDING_TLS_UNIQUE, 1702 G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT, 1703 G_TLS_CHANNEL_BINDING_TLS_EXPORTER GIO_AVAILABLE_ENUMERATOR_IN_2_74, 1704 } GTlsChannelBindingType; 1705 1706 /** 1707 * GTlsChannelBindingError: 1708 * @G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED: Either entire binding 1709 * retrieval facility or specific binding type is not implemented in the 1710 * TLS backend. 1711 * @G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE: The handshake is not yet 1712 * complete on the connection which is a strong requirement for any existing 1713 * binding type. 1714 * @G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE: Handshake is complete but 1715 * binding data is not available. That normally indicates the TLS 1716 * implementation failed to provide the binding data. For example, some 1717 * implementations do not provide a peer certificate for resumed connections. 1718 * @G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED: Binding type is not supported 1719 * on the current connection. This error could be triggered when requesting 1720 * `tls-server-end-point` binding data for a certificate which has no hash 1721 * function or uses multiple hash functions. 1722 * @G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR: Any other backend error 1723 * preventing binding data retrieval. 1724 * 1725 * An error code used with %G_TLS_CHANNEL_BINDING_ERROR in a #GError to 1726 * indicate a TLS channel binding retrieval error. 1727 * 1728 * Since: 2.66 1729 */ 1730 GIO_AVAILABLE_TYPE_IN_2_66 1731 typedef enum { 1732 G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED, 1733 G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE, 1734 G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE, 1735 G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED, 1736 G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR 1737 } GTlsChannelBindingError; 1738 1739 /** 1740 * GTlsRehandshakeMode: 1741 * @G_TLS_REHANDSHAKE_NEVER: Never allow rehandshaking 1742 * @G_TLS_REHANDSHAKE_SAFELY: Allow safe rehandshaking only 1743 * @G_TLS_REHANDSHAKE_UNSAFELY: Allow unsafe rehandshaking 1744 * 1745 * When to allow rehandshaking. See 1746 * g_tls_connection_set_rehandshake_mode(). 1747 * 1748 * Since: 2.28 1749 * 1750 * Deprecated: 2.60. Changing the rehandshake mode is no longer 1751 * required for compatibility. Also, rehandshaking has been removed 1752 * from the TLS protocol in TLS 1.3. 1753 */ 1754 typedef enum { 1755 G_TLS_REHANDSHAKE_NEVER, 1756 G_TLS_REHANDSHAKE_SAFELY, 1757 G_TLS_REHANDSHAKE_UNSAFELY 1758 } GTlsRehandshakeMode GIO_DEPRECATED_TYPE_IN_2_60; 1759 1760 /** 1761 * GTlsPasswordFlags: 1762 * @G_TLS_PASSWORD_NONE: No flags 1763 * @G_TLS_PASSWORD_RETRY: The password was wrong, and the user should retry. 1764 * @G_TLS_PASSWORD_MANY_TRIES: Hint to the user that the password has been 1765 * wrong many times, and the user may not have many chances left. 1766 * @G_TLS_PASSWORD_FINAL_TRY: Hint to the user that this is the last try to get 1767 * this password right. 1768 * @G_TLS_PASSWORD_PKCS11_USER: For PKCS #11, the user PIN is required. 1769 * Since: 2.70. 1770 * @G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER: For PKCS #11, the security officer 1771 * PIN is required. Since: 2.70. 1772 * @G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC: For PKCS #11, the context-specific 1773 * PIN is required. Since: 2.70. 1774 * 1775 * Various flags for the password. 1776 * 1777 * Since: 2.30 1778 */ 1779 1780 typedef enum _GTlsPasswordFlags 1781 { 1782 G_TLS_PASSWORD_NONE = 0, 1783 G_TLS_PASSWORD_RETRY = 1 << 1, 1784 G_TLS_PASSWORD_MANY_TRIES = 1 << 2, 1785 G_TLS_PASSWORD_FINAL_TRY = 1 << 3, 1786 G_TLS_PASSWORD_PKCS11_USER = 1 << 4, 1787 G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER = 1 << 5, 1788 G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC = 1 << 6 1789 } G_GNUC_FLAG_ENUM GTlsPasswordFlags; 1790 1791 /** 1792 * GTlsInteractionResult: 1793 * @G_TLS_INTERACTION_UNHANDLED: The interaction was unhandled (i.e. not 1794 * implemented). 1795 * @G_TLS_INTERACTION_HANDLED: The interaction completed, and resulting data 1796 * is available. 1797 * @G_TLS_INTERACTION_FAILED: The interaction has failed, or was cancelled. 1798 * and the operation should be aborted. 1799 * 1800 * #GTlsInteractionResult is returned by various functions in #GTlsInteraction 1801 * when finishing an interaction request. 1802 * 1803 * Since: 2.30 1804 */ 1805 typedef enum { 1806 G_TLS_INTERACTION_UNHANDLED, 1807 G_TLS_INTERACTION_HANDLED, 1808 G_TLS_INTERACTION_FAILED 1809 } GTlsInteractionResult; 1810 1811 /** 1812 * GDBusInterfaceSkeletonFlags: 1813 * @G_DBUS_INTERFACE_SKELETON_FLAGS_NONE: No flags set. 1814 * @G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD: Each method invocation is handled in 1815 * a thread dedicated to the invocation. This means that the method implementation can use blocking IO 1816 * without blocking any other part of the process. It also means that the method implementation must 1817 * use locking to access data structures used by other threads. 1818 * 1819 * Flags describing the behavior of a #GDBusInterfaceSkeleton instance. 1820 * 1821 * Since: 2.30 1822 */ 1823 typedef enum 1824 { 1825 G_DBUS_INTERFACE_SKELETON_FLAGS_NONE = 0, 1826 G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD = (1<<0) 1827 } G_GNUC_FLAG_ENUM GDBusInterfaceSkeletonFlags; 1828 1829 /** 1830 * GDBusObjectManagerClientFlags: 1831 * @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE: No flags set. 1832 * @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START: If not set and the 1833 * manager is for a well-known name, then request the bus to launch 1834 * an owner for the name if no-one owns the name. This flag can only 1835 * be used in managers for well-known names. 1836 * 1837 * Flags used when constructing a #GDBusObjectManagerClient. 1838 * 1839 * Since: 2.30 1840 */ 1841 typedef enum 1842 { 1843 G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE = 0, 1844 G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START = (1<<0) 1845 } G_GNUC_FLAG_ENUM GDBusObjectManagerClientFlags; 1846 1847 /** 1848 * GTlsDatabaseVerifyFlags: 1849 * @G_TLS_DATABASE_VERIFY_NONE: No verification flags 1850 * 1851 * Flags for g_tls_database_verify_chain(). 1852 * 1853 * Since: 2.30 1854 */ 1855 typedef enum /*< flags >*/ { 1856 G_TLS_DATABASE_VERIFY_NONE = 0 1857 } G_GNUC_FLAG_ENUM GTlsDatabaseVerifyFlags; 1858 1859 /** 1860 * GTlsDatabaseLookupFlags: 1861 * @G_TLS_DATABASE_LOOKUP_NONE: No lookup flags 1862 * @G_TLS_DATABASE_LOOKUP_KEYPAIR: Restrict lookup to certificates that have 1863 * a private key. 1864 * 1865 * Flags for g_tls_database_lookup_certificate_for_handle(), 1866 * g_tls_database_lookup_certificate_issuer(), 1867 * and g_tls_database_lookup_certificates_issued_by(). 1868 * 1869 * Since: 2.30 1870 */ 1871 typedef enum { 1872 G_TLS_DATABASE_LOOKUP_NONE = 0, 1873 G_TLS_DATABASE_LOOKUP_KEYPAIR = 1 1874 } G_GNUC_FLAG_ENUM GTlsDatabaseLookupFlags; 1875 1876 /** 1877 * GTlsCertificateRequestFlags: 1878 * @G_TLS_CERTIFICATE_REQUEST_NONE: No flags 1879 * 1880 * Flags for g_tls_interaction_request_certificate(), 1881 * g_tls_interaction_request_certificate_async(), and 1882 * g_tls_interaction_invoke_request_certificate(). 1883 * 1884 * Since: 2.40 1885 */ 1886 typedef enum { 1887 G_TLS_CERTIFICATE_REQUEST_NONE = 0 1888 } G_GNUC_FLAG_ENUM GTlsCertificateRequestFlags; 1889 1890 /** 1891 * GTlsProtocolVersion: 1892 * @G_TLS_PROTOCOL_VERSION_UNKNOWN: No protocol version or unknown protocol version 1893 * @G_TLS_PROTOCOL_VERSION_SSL_3_0: SSL 3.0, which is insecure and should not be used 1894 * @G_TLS_PROTOCOL_VERSION_TLS_1_0: TLS 1.0, which is insecure and should not be used 1895 * @G_TLS_PROTOCOL_VERSION_TLS_1_1: TLS 1.1, which is insecure and should not be used 1896 * @G_TLS_PROTOCOL_VERSION_TLS_1_2: TLS 1.2, defined by [RFC 5246](https://datatracker.ietf.org/doc/html/rfc5246) 1897 * @G_TLS_PROTOCOL_VERSION_TLS_1_3: TLS 1.3, defined by [RFC 8446](https://datatracker.ietf.org/doc/html/rfc8446) 1898 * @G_TLS_PROTOCOL_VERSION_DTLS_1_0: DTLS 1.0, which is insecure and should not be used 1899 * @G_TLS_PROTOCOL_VERSION_DTLS_1_2: DTLS 1.2, defined by [RFC 6347](https://datatracker.ietf.org/doc/html/rfc6347) 1900 * 1901 * The TLS or DTLS protocol version used by a #GTlsConnection or 1902 * #GDtlsConnection. The integer values of these versions are sequential 1903 * to ensure newer known protocol versions compare greater than older 1904 * known versions. Any known DTLS protocol version will compare greater 1905 * than any SSL or TLS protocol version. The protocol version may be 1906 * %G_TLS_PROTOCOL_VERSION_UNKNOWN if the TLS backend supports a newer 1907 * protocol version that GLib does not yet know about. This means that 1908 * it's possible for an unknown DTLS protocol version to compare less 1909 * than the TLS protocol versions. 1910 * 1911 * Since: 2.70 1912 */ 1913 typedef enum { 1914 G_TLS_PROTOCOL_VERSION_UNKNOWN = 0, 1915 G_TLS_PROTOCOL_VERSION_SSL_3_0 = 1, 1916 G_TLS_PROTOCOL_VERSION_TLS_1_0 = 2, 1917 G_TLS_PROTOCOL_VERSION_TLS_1_1 = 3, 1918 G_TLS_PROTOCOL_VERSION_TLS_1_2 = 4, 1919 G_TLS_PROTOCOL_VERSION_TLS_1_3 = 5, 1920 G_TLS_PROTOCOL_VERSION_DTLS_1_0 = 201, 1921 G_TLS_PROTOCOL_VERSION_DTLS_1_2 = 202, 1922 } GTlsProtocolVersion; 1923 1924 /** 1925 * GIOModuleScopeFlags: 1926 * @G_IO_MODULE_SCOPE_NONE: No module scan flags 1927 * @G_IO_MODULE_SCOPE_BLOCK_DUPLICATES: When using this scope to load or 1928 * scan modules, automatically block a modules which has the same base 1929 * basename as previously loaded module. 1930 * 1931 * Flags for use with g_io_module_scope_new(). 1932 * 1933 * Since: 2.30 1934 */ 1935 typedef enum { 1936 G_IO_MODULE_SCOPE_NONE, 1937 G_IO_MODULE_SCOPE_BLOCK_DUPLICATES 1938 } G_GNUC_FLAG_ENUM GIOModuleScopeFlags; 1939 1940 /** 1941 * GSocketClientEvent: 1942 * @G_SOCKET_CLIENT_RESOLVING: The client is doing a DNS lookup. 1943 * @G_SOCKET_CLIENT_RESOLVED: The client has completed a DNS lookup. 1944 * @G_SOCKET_CLIENT_CONNECTING: The client is connecting to a remote 1945 * host (either a proxy or the destination server). 1946 * @G_SOCKET_CLIENT_CONNECTED: The client has connected to a remote 1947 * host. 1948 * @G_SOCKET_CLIENT_PROXY_NEGOTIATING: The client is negotiating 1949 * with a proxy to connect to the destination server. 1950 * @G_SOCKET_CLIENT_PROXY_NEGOTIATED: The client has negotiated 1951 * with the proxy server. 1952 * @G_SOCKET_CLIENT_TLS_HANDSHAKING: The client is performing a 1953 * TLS handshake. 1954 * @G_SOCKET_CLIENT_TLS_HANDSHAKED: The client has performed a 1955 * TLS handshake. 1956 * @G_SOCKET_CLIENT_COMPLETE: The client is done with a particular 1957 * #GSocketConnectable. 1958 * 1959 * Describes an event occurring on a #GSocketClient. See the 1960 * #GSocketClient::event signal for more details. 1961 * 1962 * Additional values may be added to this type in the future. 1963 * 1964 * Since: 2.32 1965 */ 1966 typedef enum { 1967 G_SOCKET_CLIENT_RESOLVING, 1968 G_SOCKET_CLIENT_RESOLVED, 1969 G_SOCKET_CLIENT_CONNECTING, 1970 G_SOCKET_CLIENT_CONNECTED, 1971 G_SOCKET_CLIENT_PROXY_NEGOTIATING, 1972 G_SOCKET_CLIENT_PROXY_NEGOTIATED, 1973 G_SOCKET_CLIENT_TLS_HANDSHAKING, 1974 G_SOCKET_CLIENT_TLS_HANDSHAKED, 1975 G_SOCKET_CLIENT_COMPLETE 1976 } GSocketClientEvent; 1977 1978 /** 1979 * GSocketListenerEvent: 1980 * @G_SOCKET_LISTENER_BINDING: The listener is about to bind a socket. 1981 * @G_SOCKET_LISTENER_BOUND: The listener has bound a socket. 1982 * @G_SOCKET_LISTENER_LISTENING: The listener is about to start 1983 * listening on this socket. 1984 * @G_SOCKET_LISTENER_LISTENED: The listener is now listening on 1985 * this socket. 1986 * 1987 * Describes an event occurring on a #GSocketListener. See the 1988 * #GSocketListener::event signal for more details. 1989 * 1990 * Additional values may be added to this type in the future. 1991 * 1992 * Since: 2.46 1993 */ 1994 typedef enum { 1995 G_SOCKET_LISTENER_BINDING, 1996 G_SOCKET_LISTENER_BOUND, 1997 G_SOCKET_LISTENER_LISTENING, 1998 G_SOCKET_LISTENER_LISTENED 1999 } GSocketListenerEvent; 2000 2001 /** 2002 * GTestDBusFlags: 2003 * @G_TEST_DBUS_NONE: No flags. 2004 * 2005 * Flags to define future #GTestDBus behaviour. 2006 * 2007 * Since: 2.34 2008 */ 2009 typedef enum /*< flags >*/ { 2010 G_TEST_DBUS_NONE = 0 2011 } G_GNUC_FLAG_ENUM GTestDBusFlags; 2012 2013 /** 2014 * GSubprocessFlags: 2015 * @G_SUBPROCESS_FLAGS_NONE: No flags. 2016 * @G_SUBPROCESS_FLAGS_STDIN_PIPE: create a pipe for the stdin of the 2017 * spawned process that can be accessed with 2018 * g_subprocess_get_stdin_pipe(). 2019 * @G_SUBPROCESS_FLAGS_STDIN_INHERIT: stdin is inherited from the 2020 * calling process. 2021 * @G_SUBPROCESS_FLAGS_STDOUT_PIPE: create a pipe for the stdout of the 2022 * spawned process that can be accessed with 2023 * g_subprocess_get_stdout_pipe(). 2024 * @G_SUBPROCESS_FLAGS_STDOUT_SILENCE: silence the stdout of the spawned 2025 * process (ie: redirect to `/dev/null`). 2026 * @G_SUBPROCESS_FLAGS_STDERR_PIPE: create a pipe for the stderr of the 2027 * spawned process that can be accessed with 2028 * g_subprocess_get_stderr_pipe(). 2029 * @G_SUBPROCESS_FLAGS_STDERR_SILENCE: silence the stderr of the spawned 2030 * process (ie: redirect to `/dev/null`). 2031 * @G_SUBPROCESS_FLAGS_STDERR_MERGE: merge the stderr of the spawned 2032 * process with whatever the stdout happens to be. This is a good way 2033 * of directing both streams to a common log file, for example. 2034 * @G_SUBPROCESS_FLAGS_INHERIT_FDS: spawned processes will inherit the 2035 * file descriptors of their parent, unless those descriptors have 2036 * been explicitly marked as close-on-exec. This flag has no effect 2037 * over the "standard" file descriptors (stdin, stdout, stderr). 2038 * @G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP: if path searching is 2039 * needed when spawning the subprocess, use the `PATH` in the launcher 2040 * environment. (Since: 2.72) 2041 * 2042 * Flags to define the behaviour of a #GSubprocess. 2043 * 2044 * Note that the default for stdin is to redirect from `/dev/null`. For 2045 * stdout and stderr the default are for them to inherit the 2046 * corresponding descriptor from the calling process. 2047 * 2048 * Note that it is a programmer error to mix 'incompatible' flags. For 2049 * example, you may not request both %G_SUBPROCESS_FLAGS_STDOUT_PIPE and 2050 * %G_SUBPROCESS_FLAGS_STDOUT_SILENCE. 2051 * 2052 * Since: 2.40 2053 **/ 2054 typedef enum { 2055 G_SUBPROCESS_FLAGS_NONE = 0, 2056 G_SUBPROCESS_FLAGS_STDIN_PIPE = (1u << 0), 2057 G_SUBPROCESS_FLAGS_STDIN_INHERIT = (1u << 1), 2058 G_SUBPROCESS_FLAGS_STDOUT_PIPE = (1u << 2), 2059 G_SUBPROCESS_FLAGS_STDOUT_SILENCE = (1u << 3), 2060 G_SUBPROCESS_FLAGS_STDERR_PIPE = (1u << 4), 2061 G_SUBPROCESS_FLAGS_STDERR_SILENCE = (1u << 5), 2062 G_SUBPROCESS_FLAGS_STDERR_MERGE = (1u << 6), 2063 G_SUBPROCESS_FLAGS_INHERIT_FDS = (1u << 7), 2064 G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP = (1u << 8) 2065 } G_GNUC_FLAG_ENUM GSubprocessFlags; 2066 2067 /** 2068 * GNotificationPriority: 2069 * @G_NOTIFICATION_PRIORITY_LOW: for notifications that do not require 2070 * immediate attention - typically used for contextual background 2071 * information, such as contact birthdays or local weather 2072 * @G_NOTIFICATION_PRIORITY_NORMAL: the default priority, to be used for the 2073 * majority of notifications (for example email messages, software updates, 2074 * completed download/sync operations) 2075 * @G_NOTIFICATION_PRIORITY_HIGH: for events that require more attention, 2076 * usually because responses are time-sensitive (for example chat and SMS 2077 * messages or alarms) 2078 * @G_NOTIFICATION_PRIORITY_URGENT: for urgent notifications, or notifications 2079 * that require a response in a short space of time (for example phone calls 2080 * or emergency warnings) 2081 * 2082 * Priority levels for #GNotifications. 2083 * 2084 * Since: 2.42 2085 */ 2086 typedef enum { 2087 G_NOTIFICATION_PRIORITY_NORMAL, 2088 G_NOTIFICATION_PRIORITY_LOW, 2089 G_NOTIFICATION_PRIORITY_HIGH, 2090 G_NOTIFICATION_PRIORITY_URGENT 2091 } GNotificationPriority; 2092 2093 /** 2094 * GNetworkConnectivity: 2095 * @G_NETWORK_CONNECTIVITY_LOCAL: The host is not configured with a 2096 * route to the Internet; it may or may not be connected to a local 2097 * network. 2098 * @G_NETWORK_CONNECTIVITY_LIMITED: The host is connected to a network, but 2099 * does not appear to be able to reach the full Internet, perhaps 2100 * due to upstream network problems. 2101 * @G_NETWORK_CONNECTIVITY_PORTAL: The host is behind a captive portal and 2102 * cannot reach the full Internet. 2103 * @G_NETWORK_CONNECTIVITY_FULL: The host is connected to a network, and 2104 * appears to be able to reach the full Internet. 2105 * 2106 * The host's network connectivity state, as reported by #GNetworkMonitor. 2107 * 2108 * Since: 2.44 2109 */ 2110 typedef enum { 2111 G_NETWORK_CONNECTIVITY_LOCAL = 1, 2112 G_NETWORK_CONNECTIVITY_LIMITED = 2, 2113 G_NETWORK_CONNECTIVITY_PORTAL = 3, 2114 G_NETWORK_CONNECTIVITY_FULL = 4 2115 } GNetworkConnectivity; 2116 2117 /** 2118 * GPollableReturn: 2119 * @G_POLLABLE_RETURN_FAILED: Generic error condition for when an operation fails. 2120 * @G_POLLABLE_RETURN_OK: The operation was successfully finished. 2121 * @G_POLLABLE_RETURN_WOULD_BLOCK: The operation would block. 2122 * 2123 * Return value for various IO operations that signal errors via the 2124 * return value and not necessarily via a #GError. 2125 * 2126 * This enum exists to be able to return errors to callers without having to 2127 * allocate a #GError. Allocating #GErrors can be quite expensive for 2128 * regularly happening errors like %G_IO_ERROR_WOULD_BLOCK. 2129 * 2130 * In case of %G_POLLABLE_RETURN_FAILED a #GError should be set for the 2131 * operation to give details about the error that happened. 2132 * 2133 * Since: 2.60 2134 */ 2135 typedef enum { 2136 G_POLLABLE_RETURN_FAILED = 0, 2137 G_POLLABLE_RETURN_OK = 1, 2138 G_POLLABLE_RETURN_WOULD_BLOCK = -G_IO_ERROR_WOULD_BLOCK 2139 } GPollableReturn; 2140 2141 /** 2142 * GMemoryMonitorWarningLevel: 2143 * @G_MEMORY_MONITOR_WARNING_LEVEL_LOW: Memory on the device is low, processes 2144 * should free up unneeded resources (for example, in-memory caches) so they can 2145 * be used elsewhere. 2146 * @G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM: Same as @G_MEMORY_MONITOR_WARNING_LEVEL_LOW 2147 * but the device has even less free memory, so processes should try harder to free 2148 * up unneeded resources. If your process does not need to stay running, it is a 2149 * good time for it to quit. 2150 * @G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL: The system will soon start terminating 2151 * processes to reclaim memory, including background processes. 2152 * 2153 * Memory availability warning levels. 2154 * 2155 * Note that because new values might be added, it is recommended that applications check 2156 * #GMemoryMonitorWarningLevel as ranges, for example: 2157 * |[<!-- language="C" --> 2158 * if (warning_level > G_MEMORY_MONITOR_WARNING_LEVEL_LOW) 2159 * drop_caches (); 2160 * ]| 2161 * 2162 * Since: 2.64 2163 */ 2164 typedef enum { 2165 G_MEMORY_MONITOR_WARNING_LEVEL_LOW = 50, 2166 G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM = 100, 2167 G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL = 255 2168 } GMemoryMonitorWarningLevel; 2169 2170 /** 2171 * GEcnCodePoint: 2172 * @G_ECN_NO_ECN: Not ECN-capable transport 2173 * @G_ECN_ECT_1: ECN Capable Transport(1) 2174 * @G_ECN_ECT_0: ECN Capable Transport(0) 2175 * @G_ECN_ECT_CE: Congestion Experienced 2176 * 2177 * Possible values of Explicit Congestion Notification code points. 2178 * 2179 * These appear in `TOS` (IPv4) or `TCLASS` (IPv6) packet headers and 2180 * are described in [RFC 3168](https://www.rfc-editor.org/rfc/rfc3168#section-5). 2181 * 2182 * Since: 2.88 2183 */ 2184 typedef enum { 2185 G_ECN_NO_ECN = 0x0, 2186 G_ECN_ECT_1 = 0x1, 2187 G_ECN_ECT_0 = 0x2, 2188 G_ECN_ECT_CE = 0x3 2189 } GEcnCodePoint; 2190 2191 G_END_DECLS 2192 2193 #endif /* __GIO_ENUMS_H__ */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|