|
||||
File indexing completed on 2025-01-18 09:59:57
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 } 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 } 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 } 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 } 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 } 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 } 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 } 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 } 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 } 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 } 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 } 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 } 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 } 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 } 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 } 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 } 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 } 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 * @G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE: If another message bus connection owns the name, immediately 0991 * return an error from g_bus_own_name() rather than entering the waiting queue for that name. (Since 2.54) 0992 * 0993 * Flags used in g_bus_own_name(). 0994 * 0995 * Since: 2.26 0996 */ 0997 typedef enum 0998 { 0999 G_BUS_NAME_OWNER_FLAGS_NONE = 0, /*< nick=none >*/ 1000 G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT = (1<<0), /*< nick=allow-replacement >*/ 1001 G_BUS_NAME_OWNER_FLAGS_REPLACE = (1<<1), /*< nick=replace >*/ 1002 G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE = (1<<2) /*< nick=do-not-queue >*/ 1003 } GBusNameOwnerFlags; 1004 /* When adding new flags, their numeric values must currently match those 1005 * used in the D-Bus Specification. */ 1006 1007 /** 1008 * GBusNameWatcherFlags: 1009 * @G_BUS_NAME_WATCHER_FLAGS_NONE: No flags set. 1010 * @G_BUS_NAME_WATCHER_FLAGS_AUTO_START: If no-one owns the name when 1011 * beginning to watch the name, ask the bus to launch an owner for the 1012 * name. 1013 * 1014 * Flags used in g_bus_watch_name(). 1015 * 1016 * Since: 2.26 1017 */ 1018 typedef enum 1019 { 1020 G_BUS_NAME_WATCHER_FLAGS_NONE = 0, 1021 G_BUS_NAME_WATCHER_FLAGS_AUTO_START = (1<<0) 1022 } GBusNameWatcherFlags; 1023 1024 /** 1025 * GDBusProxyFlags: 1026 * @G_DBUS_PROXY_FLAGS_NONE: No flags set. 1027 * @G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES: Don't load properties. 1028 * @G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS: Don't connect to signals on the remote object. 1029 * @G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START: If the proxy is for a well-known name, 1030 * do not ask the bus to launch an owner during proxy initialization or a method call. 1031 * This flag is only meaningful in proxies for well-known names. 1032 * @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. 1033 * @G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION: If the proxy is for a well-known name, 1034 * do not ask the bus to launch an owner during proxy initialization, but allow it to be 1035 * autostarted by a method call. This flag is only meaningful in proxies for well-known names, 1036 * and only if %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is not also specified. 1037 * @G_DBUS_PROXY_FLAGS_NO_MATCH_RULE: Don't actually send the AddMatch D-Bus 1038 * call for this signal subscription. This gives you more control 1039 * over which match rules you add (but you must add them manually). (Since: 2.72) 1040 * 1041 * Flags used when constructing an instance of a #GDBusProxy derived class. 1042 * 1043 * Since: 2.26 1044 */ 1045 typedef enum 1046 { 1047 G_DBUS_PROXY_FLAGS_NONE = 0, 1048 G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES = (1<<0), 1049 G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS = (1<<1), 1050 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START = (1<<2), 1051 G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES = (1<<3), 1052 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION = (1<<4), 1053 G_DBUS_PROXY_FLAGS_NO_MATCH_RULE GIO_AVAILABLE_ENUMERATOR_IN_2_72 = (1<<5) 1054 } GDBusProxyFlags; 1055 1056 /** 1057 * GDBusError: 1058 * @G_DBUS_ERROR_FAILED: 1059 * A generic error; "something went wrong" - see the error message for 1060 * more. 1061 * @G_DBUS_ERROR_NO_MEMORY: 1062 * There was not enough memory to complete an operation. 1063 * @G_DBUS_ERROR_SERVICE_UNKNOWN: 1064 * The bus doesn't know how to launch a service to supply the bus name 1065 * you wanted. 1066 * @G_DBUS_ERROR_NAME_HAS_NO_OWNER: 1067 * The bus name you referenced doesn't exist (i.e. no application owns 1068 * it). 1069 * @G_DBUS_ERROR_NO_REPLY: 1070 * No reply to a message expecting one, usually means a timeout occurred. 1071 * @G_DBUS_ERROR_IO_ERROR: 1072 * Something went wrong reading or writing to a socket, for example. 1073 * @G_DBUS_ERROR_BAD_ADDRESS: 1074 * A D-Bus bus address was malformed. 1075 * @G_DBUS_ERROR_NOT_SUPPORTED: 1076 * Requested operation isn't supported (like ENOSYS on UNIX). 1077 * @G_DBUS_ERROR_LIMITS_EXCEEDED: 1078 * Some limited resource is exhausted. 1079 * @G_DBUS_ERROR_ACCESS_DENIED: 1080 * Security restrictions don't allow doing what you're trying to do. 1081 * @G_DBUS_ERROR_AUTH_FAILED: 1082 * Authentication didn't work. 1083 * @G_DBUS_ERROR_NO_SERVER: 1084 * Unable to connect to server (probably caused by ECONNREFUSED on a 1085 * socket). 1086 * @G_DBUS_ERROR_TIMEOUT: 1087 * Certain timeout errors, possibly ETIMEDOUT on a socket. Note that 1088 * %G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning: 1089 * this is confusingly-named given that %G_DBUS_ERROR_TIMED_OUT also 1090 * exists. We can't fix it for compatibility reasons so just be 1091 * careful. 1092 * @G_DBUS_ERROR_NO_NETWORK: 1093 * No network access (probably ENETUNREACH on a socket). 1094 * @G_DBUS_ERROR_ADDRESS_IN_USE: 1095 * Can't bind a socket since its address is in use (i.e. EADDRINUSE). 1096 * @G_DBUS_ERROR_DISCONNECTED: 1097 * The connection is disconnected and you're trying to use it. 1098 * @G_DBUS_ERROR_INVALID_ARGS: 1099 * Invalid arguments passed to a method call. 1100 * @G_DBUS_ERROR_FILE_NOT_FOUND: 1101 * Missing file. 1102 * @G_DBUS_ERROR_FILE_EXISTS: 1103 * Existing file and the operation you're using does not silently overwrite. 1104 * @G_DBUS_ERROR_UNKNOWN_METHOD: 1105 * Method name you invoked isn't known by the object you invoked it on. 1106 * @G_DBUS_ERROR_UNKNOWN_OBJECT: 1107 * Object you invoked a method on isn't known. Since 2.42 1108 * @G_DBUS_ERROR_UNKNOWN_INTERFACE: 1109 * Interface you invoked a method on isn't known by the object. Since 2.42 1110 * @G_DBUS_ERROR_UNKNOWN_PROPERTY: 1111 * Property you tried to access isn't known by the object. Since 2.42 1112 * @G_DBUS_ERROR_PROPERTY_READ_ONLY: 1113 * Property you tried to set is read-only. Since 2.42 1114 * @G_DBUS_ERROR_TIMED_OUT: 1115 * Certain timeout errors, e.g. while starting a service. Warning: this is 1116 * confusingly-named given that %G_DBUS_ERROR_TIMEOUT also exists. We 1117 * can't fix it for compatibility reasons so just be careful. 1118 * @G_DBUS_ERROR_MATCH_RULE_NOT_FOUND: 1119 * Tried to remove or modify a match rule that didn't exist. 1120 * @G_DBUS_ERROR_MATCH_RULE_INVALID: 1121 * The match rule isn't syntactically valid. 1122 * @G_DBUS_ERROR_SPAWN_EXEC_FAILED: 1123 * While starting a new process, the exec() call failed. 1124 * @G_DBUS_ERROR_SPAWN_FORK_FAILED: 1125 * While starting a new process, the fork() call failed. 1126 * @G_DBUS_ERROR_SPAWN_CHILD_EXITED: 1127 * While starting a new process, the child exited with a status code. 1128 * @G_DBUS_ERROR_SPAWN_CHILD_SIGNALED: 1129 * While starting a new process, the child exited on a signal. 1130 * @G_DBUS_ERROR_SPAWN_FAILED: 1131 * While starting a new process, something went wrong. 1132 * @G_DBUS_ERROR_SPAWN_SETUP_FAILED: 1133 * We failed to setup the environment correctly. 1134 * @G_DBUS_ERROR_SPAWN_CONFIG_INVALID: 1135 * We failed to setup the config parser correctly. 1136 * @G_DBUS_ERROR_SPAWN_SERVICE_INVALID: 1137 * Bus name was not valid. 1138 * @G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND: 1139 * Service file not found in system-services directory. 1140 * @G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID: 1141 * Permissions are incorrect on the setuid helper. 1142 * @G_DBUS_ERROR_SPAWN_FILE_INVALID: 1143 * Service file invalid (Name, User or Exec missing). 1144 * @G_DBUS_ERROR_SPAWN_NO_MEMORY: 1145 * Tried to get a UNIX process ID and it wasn't available. 1146 * @G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN: 1147 * Tried to get a UNIX process ID and it wasn't available. 1148 * @G_DBUS_ERROR_INVALID_SIGNATURE: 1149 * A type signature is not valid. 1150 * @G_DBUS_ERROR_INVALID_FILE_CONTENT: 1151 * A file contains invalid syntax or is otherwise broken. 1152 * @G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN: 1153 * Asked for SELinux security context and it wasn't available. 1154 * @G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN: 1155 * Asked for ADT audit data and it wasn't available. 1156 * @G_DBUS_ERROR_OBJECT_PATH_IN_USE: 1157 * There's already an object with the requested object path. 1158 * 1159 * Error codes for the %G_DBUS_ERROR error domain. 1160 * 1161 * Since: 2.26 1162 */ 1163 typedef enum 1164 { 1165 /* Well-known errors in the org.freedesktop.DBus.Error namespace */ 1166 G_DBUS_ERROR_FAILED, /* org.freedesktop.DBus.Error.Failed */ 1167 G_DBUS_ERROR_NO_MEMORY, /* org.freedesktop.DBus.Error.NoMemory */ 1168 G_DBUS_ERROR_SERVICE_UNKNOWN, /* org.freedesktop.DBus.Error.ServiceUnknown */ 1169 G_DBUS_ERROR_NAME_HAS_NO_OWNER, /* org.freedesktop.DBus.Error.NameHasNoOwner */ 1170 G_DBUS_ERROR_NO_REPLY, /* org.freedesktop.DBus.Error.NoReply */ 1171 G_DBUS_ERROR_IO_ERROR, /* org.freedesktop.DBus.Error.IOError */ 1172 G_DBUS_ERROR_BAD_ADDRESS, /* org.freedesktop.DBus.Error.BadAddress */ 1173 G_DBUS_ERROR_NOT_SUPPORTED, /* org.freedesktop.DBus.Error.NotSupported */ 1174 G_DBUS_ERROR_LIMITS_EXCEEDED, /* org.freedesktop.DBus.Error.LimitsExceeded */ 1175 G_DBUS_ERROR_ACCESS_DENIED, /* org.freedesktop.DBus.Error.AccessDenied */ 1176 G_DBUS_ERROR_AUTH_FAILED, /* org.freedesktop.DBus.Error.AuthFailed */ 1177 G_DBUS_ERROR_NO_SERVER, /* org.freedesktop.DBus.Error.NoServer */ 1178 G_DBUS_ERROR_TIMEOUT, /* org.freedesktop.DBus.Error.Timeout */ 1179 G_DBUS_ERROR_NO_NETWORK, /* org.freedesktop.DBus.Error.NoNetwork */ 1180 G_DBUS_ERROR_ADDRESS_IN_USE, /* org.freedesktop.DBus.Error.AddressInUse */ 1181 G_DBUS_ERROR_DISCONNECTED, /* org.freedesktop.DBus.Error.Disconnected */ 1182 G_DBUS_ERROR_INVALID_ARGS, /* org.freedesktop.DBus.Error.InvalidArgs */ 1183 G_DBUS_ERROR_FILE_NOT_FOUND, /* org.freedesktop.DBus.Error.FileNotFound */ 1184 G_DBUS_ERROR_FILE_EXISTS, /* org.freedesktop.DBus.Error.FileExists */ 1185 G_DBUS_ERROR_UNKNOWN_METHOD, /* org.freedesktop.DBus.Error.UnknownMethod */ 1186 G_DBUS_ERROR_TIMED_OUT, /* org.freedesktop.DBus.Error.TimedOut */ 1187 G_DBUS_ERROR_MATCH_RULE_NOT_FOUND, /* org.freedesktop.DBus.Error.MatchRuleNotFound */ 1188 G_DBUS_ERROR_MATCH_RULE_INVALID, /* org.freedesktop.DBus.Error.MatchRuleInvalid */ 1189 G_DBUS_ERROR_SPAWN_EXEC_FAILED, /* org.freedesktop.DBus.Error.Spawn.ExecFailed */ 1190 G_DBUS_ERROR_SPAWN_FORK_FAILED, /* org.freedesktop.DBus.Error.Spawn.ForkFailed */ 1191 G_DBUS_ERROR_SPAWN_CHILD_EXITED, /* org.freedesktop.DBus.Error.Spawn.ChildExited */ 1192 G_DBUS_ERROR_SPAWN_CHILD_SIGNALED, /* org.freedesktop.DBus.Error.Spawn.ChildSignaled */ 1193 G_DBUS_ERROR_SPAWN_FAILED, /* org.freedesktop.DBus.Error.Spawn.Failed */ 1194 G_DBUS_ERROR_SPAWN_SETUP_FAILED, /* org.freedesktop.DBus.Error.Spawn.FailedToSetup */ 1195 G_DBUS_ERROR_SPAWN_CONFIG_INVALID, /* org.freedesktop.DBus.Error.Spawn.ConfigInvalid */ 1196 G_DBUS_ERROR_SPAWN_SERVICE_INVALID, /* org.freedesktop.DBus.Error.Spawn.ServiceNotValid */ 1197 G_DBUS_ERROR_SPAWN_SERVICE_NOT_FOUND, /* org.freedesktop.DBus.Error.Spawn.ServiceNotFound */ 1198 G_DBUS_ERROR_SPAWN_PERMISSIONS_INVALID, /* org.freedesktop.DBus.Error.Spawn.PermissionsInvalid */ 1199 G_DBUS_ERROR_SPAWN_FILE_INVALID, /* org.freedesktop.DBus.Error.Spawn.FileInvalid */ 1200 G_DBUS_ERROR_SPAWN_NO_MEMORY, /* org.freedesktop.DBus.Error.Spawn.NoMemory */ 1201 G_DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN, /* org.freedesktop.DBus.Error.UnixProcessIdUnknown */ 1202 G_DBUS_ERROR_INVALID_SIGNATURE, /* org.freedesktop.DBus.Error.InvalidSignature */ 1203 G_DBUS_ERROR_INVALID_FILE_CONTENT, /* org.freedesktop.DBus.Error.InvalidFileContent */ 1204 G_DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN, /* org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown */ 1205 G_DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN, /* org.freedesktop.DBus.Error.AdtAuditDataUnknown */ 1206 G_DBUS_ERROR_OBJECT_PATH_IN_USE, /* org.freedesktop.DBus.Error.ObjectPathInUse */ 1207 G_DBUS_ERROR_UNKNOWN_OBJECT, /* org.freedesktop.DBus.Error.UnknownObject */ 1208 G_DBUS_ERROR_UNKNOWN_INTERFACE, /* org.freedesktop.DBus.Error.UnknownInterface */ 1209 G_DBUS_ERROR_UNKNOWN_PROPERTY, /* org.freedesktop.DBus.Error.UnknownProperty */ 1210 G_DBUS_ERROR_PROPERTY_READ_ONLY /* org.freedesktop.DBus.Error.PropertyReadOnly */ 1211 } GDBusError; 1212 /* Remember to update g_dbus_error_quark() in gdbuserror.c if you extend this enumeration */ 1213 1214 /** 1215 * GDBusConnectionFlags: 1216 * @G_DBUS_CONNECTION_FLAGS_NONE: No flags set. 1217 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT: Perform authentication against server. 1218 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER: Perform authentication against client. 1219 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: When 1220 * authenticating as a server, allow the anonymous authentication 1221 * method. 1222 * @G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION: Pass this flag if connecting to a peer that is a 1223 * message bus. This means that the Hello() method will be invoked as part of the connection setup. 1224 * @G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING: If set, processing of D-Bus messages is 1225 * delayed until g_dbus_connection_start_message_processing() is called. 1226 * @G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER: When authenticating 1227 * as a server, require the UID of the peer to be the same as the UID of the server. (Since: 2.68) 1228 * @G_DBUS_CONNECTION_FLAGS_CROSS_NAMESPACE: When authenticating, try to use 1229 * protocols that work across a Linux user namespace boundary, even if this 1230 * reduces interoperability with older D-Bus implementations. This currently 1231 * affects client-side `EXTERNAL` authentication, for which this flag makes 1232 * connections to a server in another user namespace succeed, but causes 1233 * a deadlock when connecting to a GDBus server older than 2.73.3. Since: 2.74 1234 * 1235 * Flags used when creating a new #GDBusConnection. 1236 * 1237 * Since: 2.26 1238 */ 1239 typedef enum { 1240 G_DBUS_CONNECTION_FLAGS_NONE = 0, 1241 G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT = (1<<0), 1242 G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER = (1<<1), 1243 G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<2), 1244 G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION = (1<<3), 1245 G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING = (1<<4), 1246 G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER GIO_AVAILABLE_ENUMERATOR_IN_2_68 = (1<<5), 1247 G_DBUS_CONNECTION_FLAGS_CROSS_NAMESPACE GIO_AVAILABLE_ENUMERATOR_IN_2_74 = (1<<6) 1248 } GDBusConnectionFlags; 1249 1250 /** 1251 * GDBusCapabilityFlags: 1252 * @G_DBUS_CAPABILITY_FLAGS_NONE: No flags set. 1253 * @G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING: The connection 1254 * supports exchanging UNIX file descriptors with the remote peer. 1255 * 1256 * Capabilities negotiated with the remote peer. 1257 * 1258 * Since: 2.26 1259 */ 1260 typedef enum { 1261 G_DBUS_CAPABILITY_FLAGS_NONE = 0, 1262 G_DBUS_CAPABILITY_FLAGS_UNIX_FD_PASSING = (1<<0) 1263 } GDBusCapabilityFlags; 1264 1265 /** 1266 * GDBusCallFlags: 1267 * @G_DBUS_CALL_FLAGS_NONE: No flags set. 1268 * @G_DBUS_CALL_FLAGS_NO_AUTO_START: The bus must not launch 1269 * an owner for the destination name in response to this method 1270 * invocation. 1271 * @G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: the caller is prepared to 1272 * wait for interactive authorization. Since 2.46. 1273 * 1274 * Flags used in g_dbus_connection_call() and similar APIs. 1275 * 1276 * Since: 2.26 1277 */ 1278 typedef enum { 1279 G_DBUS_CALL_FLAGS_NONE = 0, 1280 G_DBUS_CALL_FLAGS_NO_AUTO_START = (1<<0), 1281 G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION = (1<<1) 1282 } GDBusCallFlags; 1283 /* (1<<31) is reserved for internal use by GDBusConnection, do not use it. */ 1284 1285 /** 1286 * GDBusMessageType: 1287 * @G_DBUS_MESSAGE_TYPE_INVALID: Message is of invalid type. 1288 * @G_DBUS_MESSAGE_TYPE_METHOD_CALL: Method call. 1289 * @G_DBUS_MESSAGE_TYPE_METHOD_RETURN: Method reply. 1290 * @G_DBUS_MESSAGE_TYPE_ERROR: Error reply. 1291 * @G_DBUS_MESSAGE_TYPE_SIGNAL: Signal emission. 1292 * 1293 * Message types used in #GDBusMessage. 1294 * 1295 * Since: 2.26 1296 */ 1297 typedef enum { 1298 G_DBUS_MESSAGE_TYPE_INVALID, 1299 G_DBUS_MESSAGE_TYPE_METHOD_CALL, 1300 G_DBUS_MESSAGE_TYPE_METHOD_RETURN, 1301 G_DBUS_MESSAGE_TYPE_ERROR, 1302 G_DBUS_MESSAGE_TYPE_SIGNAL 1303 } GDBusMessageType; 1304 1305 /** 1306 * GDBusMessageFlags: 1307 * @G_DBUS_MESSAGE_FLAGS_NONE: No flags set. 1308 * @G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED: A reply is not expected. 1309 * @G_DBUS_MESSAGE_FLAGS_NO_AUTO_START: The bus must not launch an 1310 * owner for the destination name in response to this message. 1311 * @G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION: If set on a method 1312 * call, this flag means that the caller is prepared to wait for interactive 1313 * authorization. Since 2.46. 1314 * 1315 * Message flags used in #GDBusMessage. 1316 * 1317 * Since: 2.26 1318 */ 1319 typedef enum { 1320 G_DBUS_MESSAGE_FLAGS_NONE = 0, 1321 G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED = (1<<0), 1322 G_DBUS_MESSAGE_FLAGS_NO_AUTO_START = (1<<1), 1323 G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION = (1<<2) 1324 } GDBusMessageFlags; 1325 1326 /** 1327 * GDBusMessageHeaderField: 1328 * @G_DBUS_MESSAGE_HEADER_FIELD_INVALID: Not a valid header field. 1329 * @G_DBUS_MESSAGE_HEADER_FIELD_PATH: The object path. 1330 * @G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE: The interface name. 1331 * @G_DBUS_MESSAGE_HEADER_FIELD_MEMBER: The method or signal name. 1332 * @G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME: The name of the error that occurred. 1333 * @G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL: The serial number the message is a reply to. 1334 * @G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION: The name the message is intended for. 1335 * @G_DBUS_MESSAGE_HEADER_FIELD_SENDER: Unique name of the sender of the message (filled in by the bus). 1336 * @G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE: The signature of the message body. 1337 * @G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS: The number of UNIX file descriptors that accompany the message. 1338 * 1339 * Header fields used in #GDBusMessage. 1340 * 1341 * Since: 2.26 1342 */ 1343 typedef enum { 1344 G_DBUS_MESSAGE_HEADER_FIELD_INVALID, 1345 G_DBUS_MESSAGE_HEADER_FIELD_PATH, 1346 G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE, 1347 G_DBUS_MESSAGE_HEADER_FIELD_MEMBER, 1348 G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME, 1349 G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL, 1350 G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION, 1351 G_DBUS_MESSAGE_HEADER_FIELD_SENDER, 1352 G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE, 1353 G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS 1354 } GDBusMessageHeaderField; 1355 1356 /** 1357 * GDBusPropertyInfoFlags: 1358 * @G_DBUS_PROPERTY_INFO_FLAGS_NONE: No flags set. 1359 * @G_DBUS_PROPERTY_INFO_FLAGS_READABLE: Property is readable. 1360 * @G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE: Property is writable. 1361 * 1362 * Flags describing the access control of a D-Bus property. 1363 * 1364 * Since: 2.26 1365 */ 1366 typedef enum 1367 { 1368 G_DBUS_PROPERTY_INFO_FLAGS_NONE = 0, 1369 G_DBUS_PROPERTY_INFO_FLAGS_READABLE = (1<<0), 1370 G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE = (1<<1) 1371 } GDBusPropertyInfoFlags; 1372 1373 /** 1374 * GDBusSubtreeFlags: 1375 * @G_DBUS_SUBTREE_FLAGS_NONE: No flags set. 1376 * @G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES: Method calls to objects not in the enumerated range 1377 * will still be dispatched. This is useful if you want 1378 * to dynamically spawn objects in the subtree. 1379 * 1380 * Flags passed to g_dbus_connection_register_subtree(). 1381 * 1382 * Since: 2.26 1383 */ 1384 typedef enum 1385 { 1386 G_DBUS_SUBTREE_FLAGS_NONE = 0, 1387 G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES = (1<<0) 1388 } GDBusSubtreeFlags; 1389 1390 /** 1391 * GDBusServerFlags: 1392 * @G_DBUS_SERVER_FLAGS_NONE: No flags set. 1393 * @G_DBUS_SERVER_FLAGS_RUN_IN_THREAD: All #GDBusServer::new-connection 1394 * signals will run in separated dedicated threads (see signal for 1395 * details). 1396 * @G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS: Allow the anonymous 1397 * authentication method. 1398 * @G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER: Require the UID of the 1399 * peer to be the same as the UID of the server when authenticating. (Since: 2.68) 1400 * 1401 * Flags used when creating a #GDBusServer. 1402 * 1403 * Since: 2.26 1404 */ 1405 typedef enum 1406 { 1407 G_DBUS_SERVER_FLAGS_NONE = 0, 1408 G_DBUS_SERVER_FLAGS_RUN_IN_THREAD = (1<<0), 1409 G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<1), 1410 G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER GIO_AVAILABLE_ENUMERATOR_IN_2_68 = (1<<2) 1411 } GDBusServerFlags; 1412 1413 /** 1414 * GDBusSignalFlags: 1415 * @G_DBUS_SIGNAL_FLAGS_NONE: No flags set. 1416 * @G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE: Don't actually send the AddMatch 1417 * D-Bus call for this signal subscription. This gives you more control 1418 * over which match rules you add (but you must add them manually). 1419 * @G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE: Match first arguments that 1420 * contain a bus or interface name with the given namespace. 1421 * @G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH: Match first arguments that 1422 * contain an object path that is either equivalent to the given path, 1423 * or one of the paths is a subpath of the other. 1424 * 1425 * Flags used when subscribing to signals via g_dbus_connection_signal_subscribe(). 1426 * 1427 * Since: 2.26 1428 */ 1429 typedef enum /*< flags >*/ 1430 { 1431 G_DBUS_SIGNAL_FLAGS_NONE = 0, 1432 G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE = (1<<0), 1433 G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_NAMESPACE = (1<<1), 1434 G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH = (1<<2) 1435 } GDBusSignalFlags; 1436 1437 /** 1438 * GDBusSendMessageFlags: 1439 * @G_DBUS_SEND_MESSAGE_FLAGS_NONE: No flags set. 1440 * @G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL: Do not automatically 1441 * assign a serial number from the #GDBusConnection object when 1442 * sending a message. 1443 * 1444 * Flags used when sending #GDBusMessages on a #GDBusConnection. 1445 * 1446 * Since: 2.26 1447 */ 1448 typedef enum 1449 { 1450 G_DBUS_SEND_MESSAGE_FLAGS_NONE = 0, 1451 G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL = (1<<0) 1452 } GDBusSendMessageFlags; 1453 /* (1<<31) is reserved for internal use by GDBusConnection, do not use it. */ 1454 1455 /** 1456 * GCredentialsType: 1457 * @G_CREDENTIALS_TYPE_INVALID: Indicates an invalid native credential type. 1458 * @G_CREDENTIALS_TYPE_LINUX_UCRED: The native credentials type is a `struct ucred`. 1459 * @G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED: The native credentials type is a `struct cmsgcred`. 1460 * @G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED: The native credentials type is a `struct sockpeercred`. Added in 2.30. 1461 * @G_CREDENTIALS_TYPE_SOLARIS_UCRED: The native credentials type is a `ucred_t`. Added in 2.40. 1462 * @G_CREDENTIALS_TYPE_NETBSD_UNPCBID: The native credentials type is a `struct unpcbid`. Added in 2.42. 1463 * @G_CREDENTIALS_TYPE_APPLE_XUCRED: The native credentials type is a `struct xucred`. Added in 2.66. 1464 * @G_CREDENTIALS_TYPE_WIN32_PID: The native credentials type is a PID `DWORD`. Added in 2.72. 1465 * 1466 * Enumeration describing different kinds of native credential types. 1467 * 1468 * Since: 2.26 1469 */ 1470 typedef enum 1471 { 1472 G_CREDENTIALS_TYPE_INVALID, 1473 G_CREDENTIALS_TYPE_LINUX_UCRED, 1474 G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED, 1475 G_CREDENTIALS_TYPE_OPENBSD_SOCKPEERCRED, 1476 G_CREDENTIALS_TYPE_SOLARIS_UCRED, 1477 G_CREDENTIALS_TYPE_NETBSD_UNPCBID, 1478 G_CREDENTIALS_TYPE_APPLE_XUCRED, 1479 G_CREDENTIALS_TYPE_WIN32_PID, 1480 } GCredentialsType; 1481 1482 /** 1483 * GDBusMessageByteOrder: 1484 * @G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN: The byte order is big endian. 1485 * @G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN: The byte order is little endian. 1486 * 1487 * Enumeration used to describe the byte order of a D-Bus message. 1488 * 1489 * Since: 2.26 1490 */ 1491 typedef enum 1492 { 1493 G_DBUS_MESSAGE_BYTE_ORDER_BIG_ENDIAN = 'B', 1494 G_DBUS_MESSAGE_BYTE_ORDER_LITTLE_ENDIAN = 'l' 1495 } GDBusMessageByteOrder; 1496 1497 /** 1498 * GApplicationFlags: 1499 * @G_APPLICATION_FLAGS_NONE: Default. Deprecated in 2.74, use 1500 * %G_APPLICATION_DEFAULT_FLAGS instead 1501 * @G_APPLICATION_DEFAULT_FLAGS: Default flags. Since: 2.74 1502 * @G_APPLICATION_IS_SERVICE: Run as a service. In this mode, registration 1503 * fails if the service is already running, and the application 1504 * will initially wait up to 10 seconds for an initial activation 1505 * message to arrive. 1506 * @G_APPLICATION_IS_LAUNCHER: Don't try to become the primary instance. 1507 * @G_APPLICATION_HANDLES_OPEN: This application handles opening files (in 1508 * the primary instance). Note that this flag only affects the default 1509 * implementation of local_command_line(), and has no effect if 1510 * %G_APPLICATION_HANDLES_COMMAND_LINE is given. 1511 * See g_application_run() for details. 1512 * @G_APPLICATION_HANDLES_COMMAND_LINE: This application handles command line 1513 * arguments (in the primary instance). Note that this flag only affect 1514 * the default implementation of local_command_line(). 1515 * See g_application_run() for details. 1516 * @G_APPLICATION_SEND_ENVIRONMENT: Send the environment of the 1517 * launching process to the primary instance. Set this flag if your 1518 * application is expected to behave differently depending on certain 1519 * environment variables. For instance, an editor might be expected 1520 * to use the `GIT_COMMITTER_NAME` environment variable 1521 * when editing a git commit message. The environment is available 1522 * to the #GApplication::command-line signal handler, via 1523 * g_application_command_line_getenv(). 1524 * @G_APPLICATION_NON_UNIQUE: Make no attempts to do any of the typical 1525 * single-instance application negotiation, even if the application 1526 * ID is given. The application neither attempts to become the 1527 * owner of the application ID nor does it check if an existing 1528 * owner already exists. Everything occurs in the local process. 1529 * Since: 2.30. 1530 * @G_APPLICATION_CAN_OVERRIDE_APP_ID: Allow users to override the 1531 * application ID from the command line with `--gapplication-app-id`. 1532 * Since: 2.48 1533 * @G_APPLICATION_ALLOW_REPLACEMENT: Allow another instance to take over 1534 * the bus name. Since: 2.60 1535 * @G_APPLICATION_REPLACE: Take over from another instance. This flag is 1536 * usually set by passing `--gapplication-replace` on the commandline. 1537 * Since: 2.60 1538 * 1539 * Flags used to define the behaviour of a #GApplication. 1540 * 1541 * Since: 2.28 1542 **/ 1543 typedef enum /*< prefix=G_APPLICATION >*/ 1544 { 1545 G_APPLICATION_FLAGS_NONE GIO_DEPRECATED_ENUMERATOR_IN_2_74_FOR(G_APPLICATION_DEFAULT_FLAGS), 1546 G_APPLICATION_DEFAULT_FLAGS GIO_AVAILABLE_ENUMERATOR_IN_2_74 = 0, 1547 G_APPLICATION_IS_SERVICE = (1 << 0), 1548 G_APPLICATION_IS_LAUNCHER = (1 << 1), 1549 1550 G_APPLICATION_HANDLES_OPEN = (1 << 2), 1551 G_APPLICATION_HANDLES_COMMAND_LINE = (1 << 3), 1552 G_APPLICATION_SEND_ENVIRONMENT = (1 << 4), 1553 1554 G_APPLICATION_NON_UNIQUE = (1 << 5), 1555 1556 G_APPLICATION_CAN_OVERRIDE_APP_ID = (1 << 6), 1557 G_APPLICATION_ALLOW_REPLACEMENT = (1 << 7), 1558 G_APPLICATION_REPLACE = (1 << 8) 1559 } GApplicationFlags; 1560 1561 /** 1562 * GTlsError: 1563 * @G_TLS_ERROR_UNAVAILABLE: No TLS provider is available 1564 * @G_TLS_ERROR_MISC: Miscellaneous TLS error 1565 * @G_TLS_ERROR_BAD_CERTIFICATE: The certificate presented could not 1566 * be parsed or failed validation. 1567 * @G_TLS_ERROR_NOT_TLS: The TLS handshake failed because the 1568 * peer does not seem to be a TLS server. 1569 * @G_TLS_ERROR_HANDSHAKE: The TLS handshake failed because the 1570 * peer's certificate was not acceptable. 1571 * @G_TLS_ERROR_CERTIFICATE_REQUIRED: The TLS handshake failed because 1572 * the server requested a client-side certificate, but none was 1573 * provided. See g_tls_connection_set_certificate(). 1574 * @G_TLS_ERROR_EOF: The TLS connection was closed without proper 1575 * notice, which may indicate an attack. See 1576 * g_tls_connection_set_require_close_notify(). 1577 * @G_TLS_ERROR_INAPPROPRIATE_FALLBACK: The TLS handshake failed 1578 * because the client sent the fallback SCSV, indicating a protocol 1579 * downgrade attack. Since: 2.60 1580 * @G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD: The certificate failed 1581 * to load because a password was incorrect. Since: 2.72 1582 * 1583 * An error code used with %G_TLS_ERROR in a #GError returned from a 1584 * TLS-related routine. 1585 * 1586 * Since: 2.28 1587 */ 1588 typedef enum { 1589 G_TLS_ERROR_UNAVAILABLE, 1590 G_TLS_ERROR_MISC, 1591 G_TLS_ERROR_BAD_CERTIFICATE, 1592 G_TLS_ERROR_NOT_TLS, 1593 G_TLS_ERROR_HANDSHAKE, 1594 G_TLS_ERROR_CERTIFICATE_REQUIRED, 1595 G_TLS_ERROR_EOF, 1596 G_TLS_ERROR_INAPPROPRIATE_FALLBACK, 1597 G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD 1598 } GTlsError; 1599 1600 /** 1601 * GTlsCertificateFlags: 1602 * @G_TLS_CERTIFICATE_NO_FLAGS: No flags set. Since: 2.74 1603 * @G_TLS_CERTIFICATE_UNKNOWN_CA: The signing certificate authority is 1604 * not known. 1605 * @G_TLS_CERTIFICATE_BAD_IDENTITY: The certificate does not match the 1606 * expected identity of the site that it was retrieved from. 1607 * @G_TLS_CERTIFICATE_NOT_ACTIVATED: The certificate's activation time 1608 * is still in the future 1609 * @G_TLS_CERTIFICATE_EXPIRED: The certificate has expired 1610 * @G_TLS_CERTIFICATE_REVOKED: The certificate has been revoked 1611 * according to the #GTlsConnection's certificate revocation list. 1612 * @G_TLS_CERTIFICATE_INSECURE: The certificate's algorithm is 1613 * considered insecure. 1614 * @G_TLS_CERTIFICATE_GENERIC_ERROR: Some other error occurred validating 1615 * the certificate 1616 * @G_TLS_CERTIFICATE_VALIDATE_ALL: the combination of all of the above 1617 * flags 1618 * 1619 * A set of flags describing TLS certification validation. This can be 1620 * used to describe why a particular certificate was rejected (for 1621 * example, in #GTlsConnection::accept-certificate). 1622 * 1623 * GLib guarantees that if certificate verification fails, at least one 1624 * flag will be set, but it does not guarantee that all possible flags 1625 * will be set. Accordingly, you may not safely decide to ignore any 1626 * particular type of error. For example, it would be incorrect to mask 1627 * %G_TLS_CERTIFICATE_EXPIRED if you want to allow expired certificates, 1628 * because this could potentially be the only error flag set even if 1629 * other problems exist with the certificate. 1630 * 1631 * Since: 2.28 1632 */ 1633 typedef enum { 1634 G_TLS_CERTIFICATE_NO_FLAGS GIO_AVAILABLE_ENUMERATOR_IN_2_74 = 0, 1635 G_TLS_CERTIFICATE_UNKNOWN_CA = (1 << 0), 1636 G_TLS_CERTIFICATE_BAD_IDENTITY = (1 << 1), 1637 G_TLS_CERTIFICATE_NOT_ACTIVATED = (1 << 2), 1638 G_TLS_CERTIFICATE_EXPIRED = (1 << 3), 1639 G_TLS_CERTIFICATE_REVOKED = (1 << 4), 1640 G_TLS_CERTIFICATE_INSECURE = (1 << 5), 1641 G_TLS_CERTIFICATE_GENERIC_ERROR = (1 << 6), 1642 1643 G_TLS_CERTIFICATE_VALIDATE_ALL = 0x007f 1644 } GTlsCertificateFlags; 1645 1646 /** 1647 * GTlsAuthenticationMode: 1648 * @G_TLS_AUTHENTICATION_NONE: client authentication not required 1649 * @G_TLS_AUTHENTICATION_REQUESTED: client authentication is requested 1650 * @G_TLS_AUTHENTICATION_REQUIRED: client authentication is required 1651 * 1652 * The client authentication mode for a #GTlsServerConnection. 1653 * 1654 * Since: 2.28 1655 */ 1656 typedef enum { 1657 G_TLS_AUTHENTICATION_NONE, 1658 G_TLS_AUTHENTICATION_REQUESTED, 1659 G_TLS_AUTHENTICATION_REQUIRED 1660 } GTlsAuthenticationMode; 1661 1662 /** 1663 * GTlsChannelBindingType: 1664 * @G_TLS_CHANNEL_BINDING_TLS_UNIQUE: 1665 * [`tls-unique`](https://tools.ietf.org/html/rfc5929#section-3) binding 1666 * type 1667 * @G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT: 1668 * [`tls-server-end-point`](https://tools.ietf.org/html/rfc5929#section-4) 1669 * binding type 1670 * @G_TLS_CHANNEL_BINDING_TLS_EXPORTER: 1671 * [`tls-exporter`](https://www.rfc-editor.org/rfc/rfc9266.html) binding 1672 * type. Since: 2.74 1673 * 1674 * The type of TLS channel binding data to retrieve from #GTlsConnection 1675 * or #GDtlsConnection, as documented by RFC 5929 or RFC 9266. The 1676 * [`tls-unique-for-telnet`](https://tools.ietf.org/html/rfc5929#section-5) 1677 * binding type is not currently implemented. 1678 * 1679 * Since: 2.66 1680 */ 1681 GIO_AVAILABLE_TYPE_IN_2_66 1682 typedef enum { 1683 G_TLS_CHANNEL_BINDING_TLS_UNIQUE, 1684 G_TLS_CHANNEL_BINDING_TLS_SERVER_END_POINT, 1685 G_TLS_CHANNEL_BINDING_TLS_EXPORTER GIO_AVAILABLE_ENUMERATOR_IN_2_74, 1686 } GTlsChannelBindingType; 1687 1688 /** 1689 * GTlsChannelBindingError: 1690 * @G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED: Either entire binding 1691 * retrieval facility or specific binding type is not implemented in the 1692 * TLS backend. 1693 * @G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE: The handshake is not yet 1694 * complete on the connection which is a strong requirement for any existing 1695 * binding type. 1696 * @G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE: Handshake is complete but 1697 * binding data is not available. That normally indicates the TLS 1698 * implementation failed to provide the binding data. For example, some 1699 * implementations do not provide a peer certificate for resumed connections. 1700 * @G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED: Binding type is not supported 1701 * on the current connection. This error could be triggered when requesting 1702 * `tls-server-end-point` binding data for a certificate which has no hash 1703 * function or uses multiple hash functions. 1704 * @G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR: Any other backend error 1705 * preventing binding data retrieval. 1706 * 1707 * An error code used with %G_TLS_CHANNEL_BINDING_ERROR in a #GError to 1708 * indicate a TLS channel binding retrieval error. 1709 * 1710 * Since: 2.66 1711 */ 1712 GIO_AVAILABLE_TYPE_IN_2_66 1713 typedef enum { 1714 G_TLS_CHANNEL_BINDING_ERROR_NOT_IMPLEMENTED, 1715 G_TLS_CHANNEL_BINDING_ERROR_INVALID_STATE, 1716 G_TLS_CHANNEL_BINDING_ERROR_NOT_AVAILABLE, 1717 G_TLS_CHANNEL_BINDING_ERROR_NOT_SUPPORTED, 1718 G_TLS_CHANNEL_BINDING_ERROR_GENERAL_ERROR 1719 } GTlsChannelBindingError; 1720 1721 /** 1722 * GTlsRehandshakeMode: 1723 * @G_TLS_REHANDSHAKE_NEVER: Never allow rehandshaking 1724 * @G_TLS_REHANDSHAKE_SAFELY: Allow safe rehandshaking only 1725 * @G_TLS_REHANDSHAKE_UNSAFELY: Allow unsafe rehandshaking 1726 * 1727 * When to allow rehandshaking. See 1728 * g_tls_connection_set_rehandshake_mode(). 1729 * 1730 * Since: 2.28 1731 * 1732 * Deprecated: 2.60. Changing the rehandshake mode is no longer 1733 * required for compatibility. Also, rehandshaking has been removed 1734 * from the TLS protocol in TLS 1.3. 1735 */ 1736 typedef enum { 1737 G_TLS_REHANDSHAKE_NEVER, 1738 G_TLS_REHANDSHAKE_SAFELY, 1739 G_TLS_REHANDSHAKE_UNSAFELY 1740 } GTlsRehandshakeMode GIO_DEPRECATED_TYPE_IN_2_60; 1741 1742 /** 1743 * GTlsPasswordFlags: 1744 * @G_TLS_PASSWORD_NONE: No flags 1745 * @G_TLS_PASSWORD_RETRY: The password was wrong, and the user should retry. 1746 * @G_TLS_PASSWORD_MANY_TRIES: Hint to the user that the password has been 1747 * wrong many times, and the user may not have many chances left. 1748 * @G_TLS_PASSWORD_FINAL_TRY: Hint to the user that this is the last try to get 1749 * this password right. 1750 * @G_TLS_PASSWORD_PKCS11_USER: For PKCS #11, the user PIN is required. 1751 * Since: 2.70. 1752 * @G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER: For PKCS #11, the security officer 1753 * PIN is required. Since: 2.70. 1754 * @G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC: For PKCS #11, the context-specific 1755 * PIN is required. Since: 2.70. 1756 * 1757 * Various flags for the password. 1758 * 1759 * Since: 2.30 1760 */ 1761 1762 typedef enum _GTlsPasswordFlags 1763 { 1764 G_TLS_PASSWORD_NONE = 0, 1765 G_TLS_PASSWORD_RETRY = 1 << 1, 1766 G_TLS_PASSWORD_MANY_TRIES = 1 << 2, 1767 G_TLS_PASSWORD_FINAL_TRY = 1 << 3, 1768 G_TLS_PASSWORD_PKCS11_USER = 1 << 4, 1769 G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER = 1 << 5, 1770 G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC = 1 << 6 1771 } GTlsPasswordFlags; 1772 1773 /** 1774 * GTlsInteractionResult: 1775 * @G_TLS_INTERACTION_UNHANDLED: The interaction was unhandled (i.e. not 1776 * implemented). 1777 * @G_TLS_INTERACTION_HANDLED: The interaction completed, and resulting data 1778 * is available. 1779 * @G_TLS_INTERACTION_FAILED: The interaction has failed, or was cancelled. 1780 * and the operation should be aborted. 1781 * 1782 * #GTlsInteractionResult is returned by various functions in #GTlsInteraction 1783 * when finishing an interaction request. 1784 * 1785 * Since: 2.30 1786 */ 1787 typedef enum { 1788 G_TLS_INTERACTION_UNHANDLED, 1789 G_TLS_INTERACTION_HANDLED, 1790 G_TLS_INTERACTION_FAILED 1791 } GTlsInteractionResult; 1792 1793 /** 1794 * GDBusInterfaceSkeletonFlags: 1795 * @G_DBUS_INTERFACE_SKELETON_FLAGS_NONE: No flags set. 1796 * @G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD: Each method invocation is handled in 1797 * a thread dedicated to the invocation. This means that the method implementation can use blocking IO 1798 * without blocking any other part of the process. It also means that the method implementation must 1799 * use locking to access data structures used by other threads. 1800 * 1801 * Flags describing the behavior of a #GDBusInterfaceSkeleton instance. 1802 * 1803 * Since: 2.30 1804 */ 1805 typedef enum 1806 { 1807 G_DBUS_INTERFACE_SKELETON_FLAGS_NONE = 0, 1808 G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD = (1<<0) 1809 } GDBusInterfaceSkeletonFlags; 1810 1811 /** 1812 * GDBusObjectManagerClientFlags: 1813 * @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE: No flags set. 1814 * @G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START: If not set and the 1815 * manager is for a well-known name, then request the bus to launch 1816 * an owner for the name if no-one owns the name. This flag can only 1817 * be used in managers for well-known names. 1818 * 1819 * Flags used when constructing a #GDBusObjectManagerClient. 1820 * 1821 * Since: 2.30 1822 */ 1823 typedef enum 1824 { 1825 G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE = 0, 1826 G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START = (1<<0) 1827 } GDBusObjectManagerClientFlags; 1828 1829 /** 1830 * GTlsDatabaseVerifyFlags: 1831 * @G_TLS_DATABASE_VERIFY_NONE: No verification flags 1832 * 1833 * Flags for g_tls_database_verify_chain(). 1834 * 1835 * Since: 2.30 1836 */ 1837 typedef enum /*< flags >*/ { 1838 G_TLS_DATABASE_VERIFY_NONE = 0 1839 } GTlsDatabaseVerifyFlags; 1840 1841 /** 1842 * GTlsDatabaseLookupFlags: 1843 * @G_TLS_DATABASE_LOOKUP_NONE: No lookup flags 1844 * @G_TLS_DATABASE_LOOKUP_KEYPAIR: Restrict lookup to certificates that have 1845 * a private key. 1846 * 1847 * Flags for g_tls_database_lookup_certificate_for_handle(), 1848 * g_tls_database_lookup_certificate_issuer(), 1849 * and g_tls_database_lookup_certificates_issued_by(). 1850 * 1851 * Since: 2.30 1852 */ 1853 typedef enum { 1854 G_TLS_DATABASE_LOOKUP_NONE = 0, 1855 G_TLS_DATABASE_LOOKUP_KEYPAIR = 1 1856 } GTlsDatabaseLookupFlags; 1857 1858 /** 1859 * GTlsCertificateRequestFlags: 1860 * @G_TLS_CERTIFICATE_REQUEST_NONE: No flags 1861 * 1862 * Flags for g_tls_interaction_request_certificate(), 1863 * g_tls_interaction_request_certificate_async(), and 1864 * g_tls_interaction_invoke_request_certificate(). 1865 * 1866 * Since: 2.40 1867 */ 1868 typedef enum { 1869 G_TLS_CERTIFICATE_REQUEST_NONE = 0 1870 } GTlsCertificateRequestFlags; 1871 1872 /** 1873 * GTlsProtocolVersion: 1874 * @G_TLS_PROTOCOL_VERSION_UNKNOWN: No protocol version or unknown protocol version 1875 * @G_TLS_PROTOCOL_VERSION_SSL_3_0: SSL 3.0, which is insecure and should not be used 1876 * @G_TLS_PROTOCOL_VERSION_TLS_1_0: TLS 1.0, which is insecure and should not be used 1877 * @G_TLS_PROTOCOL_VERSION_TLS_1_1: TLS 1.1, which is insecure and should not be used 1878 * @G_TLS_PROTOCOL_VERSION_TLS_1_2: TLS 1.2, defined by [RFC 5246](https://datatracker.ietf.org/doc/html/rfc5246) 1879 * @G_TLS_PROTOCOL_VERSION_TLS_1_3: TLS 1.3, defined by [RFC 8446](https://datatracker.ietf.org/doc/html/rfc8446) 1880 * @G_TLS_PROTOCOL_VERSION_DTLS_1_0: DTLS 1.0, which is insecure and should not be used 1881 * @G_TLS_PROTOCOL_VERSION_DTLS_1_2: DTLS 1.2, defined by [RFC 6347](https://datatracker.ietf.org/doc/html/rfc6347) 1882 * 1883 * The TLS or DTLS protocol version used by a #GTlsConnection or 1884 * #GDtlsConnection. The integer values of these versions are sequential 1885 * to ensure newer known protocol versions compare greater than older 1886 * known versions. Any known DTLS protocol version will compare greater 1887 * than any SSL or TLS protocol version. The protocol version may be 1888 * %G_TLS_PROTOCOL_VERSION_UNKNOWN if the TLS backend supports a newer 1889 * protocol version that GLib does not yet know about. This means that 1890 * it's possible for an unknown DTLS protocol version to compare less 1891 * than the TLS protocol versions. 1892 * 1893 * Since: 2.70 1894 */ 1895 typedef enum { 1896 G_TLS_PROTOCOL_VERSION_UNKNOWN = 0, 1897 G_TLS_PROTOCOL_VERSION_SSL_3_0 = 1, 1898 G_TLS_PROTOCOL_VERSION_TLS_1_0 = 2, 1899 G_TLS_PROTOCOL_VERSION_TLS_1_1 = 3, 1900 G_TLS_PROTOCOL_VERSION_TLS_1_2 = 4, 1901 G_TLS_PROTOCOL_VERSION_TLS_1_3 = 5, 1902 G_TLS_PROTOCOL_VERSION_DTLS_1_0 = 201, 1903 G_TLS_PROTOCOL_VERSION_DTLS_1_2 = 202, 1904 } GTlsProtocolVersion; 1905 1906 /** 1907 * GIOModuleScopeFlags: 1908 * @G_IO_MODULE_SCOPE_NONE: No module scan flags 1909 * @G_IO_MODULE_SCOPE_BLOCK_DUPLICATES: When using this scope to load or 1910 * scan modules, automatically block a modules which has the same base 1911 * basename as previously loaded module. 1912 * 1913 * Flags for use with g_io_module_scope_new(). 1914 * 1915 * Since: 2.30 1916 */ 1917 typedef enum { 1918 G_IO_MODULE_SCOPE_NONE, 1919 G_IO_MODULE_SCOPE_BLOCK_DUPLICATES 1920 } GIOModuleScopeFlags; 1921 1922 /** 1923 * GSocketClientEvent: 1924 * @G_SOCKET_CLIENT_RESOLVING: The client is doing a DNS lookup. 1925 * @G_SOCKET_CLIENT_RESOLVED: The client has completed a DNS lookup. 1926 * @G_SOCKET_CLIENT_CONNECTING: The client is connecting to a remote 1927 * host (either a proxy or the destination server). 1928 * @G_SOCKET_CLIENT_CONNECTED: The client has connected to a remote 1929 * host. 1930 * @G_SOCKET_CLIENT_PROXY_NEGOTIATING: The client is negotiating 1931 * with a proxy to connect to the destination server. 1932 * @G_SOCKET_CLIENT_PROXY_NEGOTIATED: The client has negotiated 1933 * with the proxy server. 1934 * @G_SOCKET_CLIENT_TLS_HANDSHAKING: The client is performing a 1935 * TLS handshake. 1936 * @G_SOCKET_CLIENT_TLS_HANDSHAKED: The client has performed a 1937 * TLS handshake. 1938 * @G_SOCKET_CLIENT_COMPLETE: The client is done with a particular 1939 * #GSocketConnectable. 1940 * 1941 * Describes an event occurring on a #GSocketClient. See the 1942 * #GSocketClient::event signal for more details. 1943 * 1944 * Additional values may be added to this type in the future. 1945 * 1946 * Since: 2.32 1947 */ 1948 typedef enum { 1949 G_SOCKET_CLIENT_RESOLVING, 1950 G_SOCKET_CLIENT_RESOLVED, 1951 G_SOCKET_CLIENT_CONNECTING, 1952 G_SOCKET_CLIENT_CONNECTED, 1953 G_SOCKET_CLIENT_PROXY_NEGOTIATING, 1954 G_SOCKET_CLIENT_PROXY_NEGOTIATED, 1955 G_SOCKET_CLIENT_TLS_HANDSHAKING, 1956 G_SOCKET_CLIENT_TLS_HANDSHAKED, 1957 G_SOCKET_CLIENT_COMPLETE 1958 } GSocketClientEvent; 1959 1960 /** 1961 * GSocketListenerEvent: 1962 * @G_SOCKET_LISTENER_BINDING: The listener is about to bind a socket. 1963 * @G_SOCKET_LISTENER_BOUND: The listener has bound a socket. 1964 * @G_SOCKET_LISTENER_LISTENING: The listener is about to start 1965 * listening on this socket. 1966 * @G_SOCKET_LISTENER_LISTENED: The listener is now listening on 1967 * this socket. 1968 * 1969 * Describes an event occurring on a #GSocketListener. See the 1970 * #GSocketListener::event signal for more details. 1971 * 1972 * Additional values may be added to this type in the future. 1973 * 1974 * Since: 2.46 1975 */ 1976 typedef enum { 1977 G_SOCKET_LISTENER_BINDING, 1978 G_SOCKET_LISTENER_BOUND, 1979 G_SOCKET_LISTENER_LISTENING, 1980 G_SOCKET_LISTENER_LISTENED 1981 } GSocketListenerEvent; 1982 1983 /** 1984 * GTestDBusFlags: 1985 * @G_TEST_DBUS_NONE: No flags. 1986 * 1987 * Flags to define future #GTestDBus behaviour. 1988 * 1989 * Since: 2.34 1990 */ 1991 typedef enum /*< flags >*/ { 1992 G_TEST_DBUS_NONE = 0 1993 } GTestDBusFlags; 1994 1995 /** 1996 * GSubprocessFlags: 1997 * @G_SUBPROCESS_FLAGS_NONE: No flags. 1998 * @G_SUBPROCESS_FLAGS_STDIN_PIPE: create a pipe for the stdin of the 1999 * spawned process that can be accessed with 2000 * g_subprocess_get_stdin_pipe(). 2001 * @G_SUBPROCESS_FLAGS_STDIN_INHERIT: stdin is inherited from the 2002 * calling process. 2003 * @G_SUBPROCESS_FLAGS_STDOUT_PIPE: create a pipe for the stdout of the 2004 * spawned process that can be accessed with 2005 * g_subprocess_get_stdout_pipe(). 2006 * @G_SUBPROCESS_FLAGS_STDOUT_SILENCE: silence the stdout of the spawned 2007 * process (ie: redirect to `/dev/null`). 2008 * @G_SUBPROCESS_FLAGS_STDERR_PIPE: create a pipe for the stderr of the 2009 * spawned process that can be accessed with 2010 * g_subprocess_get_stderr_pipe(). 2011 * @G_SUBPROCESS_FLAGS_STDERR_SILENCE: silence the stderr of the spawned 2012 * process (ie: redirect to `/dev/null`). 2013 * @G_SUBPROCESS_FLAGS_STDERR_MERGE: merge the stderr of the spawned 2014 * process with whatever the stdout happens to be. This is a good way 2015 * of directing both streams to a common log file, for example. 2016 * @G_SUBPROCESS_FLAGS_INHERIT_FDS: spawned processes will inherit the 2017 * file descriptors of their parent, unless those descriptors have 2018 * been explicitly marked as close-on-exec. This flag has no effect 2019 * over the "standard" file descriptors (stdin, stdout, stderr). 2020 * @G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP: if path searching is 2021 * needed when spawning the subprocess, use the `PATH` in the launcher 2022 * environment. (Since: 2.72) 2023 * 2024 * Flags to define the behaviour of a #GSubprocess. 2025 * 2026 * Note that the default for stdin is to redirect from `/dev/null`. For 2027 * stdout and stderr the default are for them to inherit the 2028 * corresponding descriptor from the calling process. 2029 * 2030 * Note that it is a programmer error to mix 'incompatible' flags. For 2031 * example, you may not request both %G_SUBPROCESS_FLAGS_STDOUT_PIPE and 2032 * %G_SUBPROCESS_FLAGS_STDOUT_SILENCE. 2033 * 2034 * Since: 2.40 2035 **/ 2036 typedef enum { 2037 G_SUBPROCESS_FLAGS_NONE = 0, 2038 G_SUBPROCESS_FLAGS_STDIN_PIPE = (1u << 0), 2039 G_SUBPROCESS_FLAGS_STDIN_INHERIT = (1u << 1), 2040 G_SUBPROCESS_FLAGS_STDOUT_PIPE = (1u << 2), 2041 G_SUBPROCESS_FLAGS_STDOUT_SILENCE = (1u << 3), 2042 G_SUBPROCESS_FLAGS_STDERR_PIPE = (1u << 4), 2043 G_SUBPROCESS_FLAGS_STDERR_SILENCE = (1u << 5), 2044 G_SUBPROCESS_FLAGS_STDERR_MERGE = (1u << 6), 2045 G_SUBPROCESS_FLAGS_INHERIT_FDS = (1u << 7), 2046 G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP = (1u << 8) 2047 } GSubprocessFlags; 2048 2049 /** 2050 * GNotificationPriority: 2051 * @G_NOTIFICATION_PRIORITY_LOW: for notifications that do not require 2052 * immediate attention - typically used for contextual background 2053 * information, such as contact birthdays or local weather 2054 * @G_NOTIFICATION_PRIORITY_NORMAL: the default priority, to be used for the 2055 * majority of notifications (for example email messages, software updates, 2056 * completed download/sync operations) 2057 * @G_NOTIFICATION_PRIORITY_HIGH: for events that require more attention, 2058 * usually because responses are time-sensitive (for example chat and SMS 2059 * messages or alarms) 2060 * @G_NOTIFICATION_PRIORITY_URGENT: for urgent notifications, or notifications 2061 * that require a response in a short space of time (for example phone calls 2062 * or emergency warnings) 2063 * 2064 * Priority levels for #GNotifications. 2065 * 2066 * Since: 2.42 2067 */ 2068 typedef enum { 2069 G_NOTIFICATION_PRIORITY_NORMAL, 2070 G_NOTIFICATION_PRIORITY_LOW, 2071 G_NOTIFICATION_PRIORITY_HIGH, 2072 G_NOTIFICATION_PRIORITY_URGENT 2073 } GNotificationPriority; 2074 2075 /** 2076 * GNetworkConnectivity: 2077 * @G_NETWORK_CONNECTIVITY_LOCAL: The host is not configured with a 2078 * route to the Internet; it may or may not be connected to a local 2079 * network. 2080 * @G_NETWORK_CONNECTIVITY_LIMITED: The host is connected to a network, but 2081 * does not appear to be able to reach the full Internet, perhaps 2082 * due to upstream network problems. 2083 * @G_NETWORK_CONNECTIVITY_PORTAL: The host is behind a captive portal and 2084 * cannot reach the full Internet. 2085 * @G_NETWORK_CONNECTIVITY_FULL: The host is connected to a network, and 2086 * appears to be able to reach the full Internet. 2087 * 2088 * The host's network connectivity state, as reported by #GNetworkMonitor. 2089 * 2090 * Since: 2.44 2091 */ 2092 typedef enum { 2093 G_NETWORK_CONNECTIVITY_LOCAL = 1, 2094 G_NETWORK_CONNECTIVITY_LIMITED = 2, 2095 G_NETWORK_CONNECTIVITY_PORTAL = 3, 2096 G_NETWORK_CONNECTIVITY_FULL = 4 2097 } GNetworkConnectivity; 2098 2099 /** 2100 * GPollableReturn: 2101 * @G_POLLABLE_RETURN_FAILED: Generic error condition for when an operation fails. 2102 * @G_POLLABLE_RETURN_OK: The operation was successfully finished. 2103 * @G_POLLABLE_RETURN_WOULD_BLOCK: The operation would block. 2104 * 2105 * Return value for various IO operations that signal errors via the 2106 * return value and not necessarily via a #GError. 2107 * 2108 * This enum exists to be able to return errors to callers without having to 2109 * allocate a #GError. Allocating #GErrors can be quite expensive for 2110 * regularly happening errors like %G_IO_ERROR_WOULD_BLOCK. 2111 * 2112 * In case of %G_POLLABLE_RETURN_FAILED a #GError should be set for the 2113 * operation to give details about the error that happened. 2114 * 2115 * Since: 2.60 2116 */ 2117 typedef enum { 2118 G_POLLABLE_RETURN_FAILED = 0, 2119 G_POLLABLE_RETURN_OK = 1, 2120 G_POLLABLE_RETURN_WOULD_BLOCK = -G_IO_ERROR_WOULD_BLOCK 2121 } GPollableReturn; 2122 2123 /** 2124 * GMemoryMonitorWarningLevel: 2125 * @G_MEMORY_MONITOR_WARNING_LEVEL_LOW: Memory on the device is low, processes 2126 * should free up unneeded resources (for example, in-memory caches) so they can 2127 * be used elsewhere. 2128 * @G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM: Same as @G_MEMORY_MONITOR_WARNING_LEVEL_LOW 2129 * but the device has even less free memory, so processes should try harder to free 2130 * up unneeded resources. If your process does not need to stay running, it is a 2131 * good time for it to quit. 2132 * @G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL: The system will soon start terminating 2133 * processes to reclaim memory, including background processes. 2134 * 2135 * Memory availability warning levels. 2136 * 2137 * Note that because new values might be added, it is recommended that applications check 2138 * #GMemoryMonitorWarningLevel as ranges, for example: 2139 * |[<!-- language="C" --> 2140 * if (warning_level > G_MEMORY_MONITOR_WARNING_LEVEL_LOW) 2141 * drop_caches (); 2142 * ]| 2143 * 2144 * Since: 2.64 2145 */ 2146 typedef enum { 2147 G_MEMORY_MONITOR_WARNING_LEVEL_LOW = 50, 2148 G_MEMORY_MONITOR_WARNING_LEVEL_MEDIUM = 100, 2149 G_MEMORY_MONITOR_WARNING_LEVEL_CRITICAL = 255 2150 } GMemoryMonitorWarningLevel; 2151 2152 G_END_DECLS 2153 2154 #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 |