1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module gio.c.types;
26 
27 public import glib.c.types;
28 public import gobject.c.types;
29 
30 
31 /**
32  * Flags used when creating a #GAppInfo.
33  */
34 public enum GAppInfoCreateFlags
35 {
36 	/**
37 	 * No flags.
38 	 */
39 	NONE = 0,
40 	/**
41 	 * Application opens in a terminal window.
42 	 */
43 	NEEDS_TERMINAL = 1,
44 	/**
45 	 * Application supports URI arguments.
46 	 */
47 	SUPPORTS_URIS = 2,
48 	/**
49 	 * Application supports startup notification. Since 2.26
50 	 */
51 	SUPPORTS_STARTUP_NOTIFICATION = 4,
52 }
53 alias GAppInfoCreateFlags AppInfoCreateFlags;
54 
55 /**
56  * Flags used to define the behaviour of a #GApplication.
57  *
58  * Since: 2.28
59  */
60 public enum GApplicationFlags
61 {
62 	/**
63 	 * Default
64 	 */
65 	FLAGS_NONE = 0,
66 	/**
67 	 * Run as a service. In this mode, registration
68 	 * fails if the service is already running, and the application
69 	 * will initially wait up to 10 seconds for an initial activation
70 	 * message to arrive.
71 	 */
72 	IS_SERVICE = 1,
73 	/**
74 	 * Don't try to become the primary instance.
75 	 */
76 	IS_LAUNCHER = 2,
77 	/**
78 	 * This application handles opening files (in
79 	 * the primary instance). Note that this flag only affects the default
80 	 * implementation of local_command_line(), and has no effect if
81 	 * %G_APPLICATION_HANDLES_COMMAND_LINE is given.
82 	 * See g_application_run() for details.
83 	 */
84 	HANDLES_OPEN = 4,
85 	/**
86 	 * This application handles command line
87 	 * arguments (in the primary instance). Note that this flag only affect
88 	 * the default implementation of local_command_line().
89 	 * See g_application_run() for details.
90 	 */
91 	HANDLES_COMMAND_LINE = 8,
92 	/**
93 	 * Send the environment of the
94 	 * launching process to the primary instance. Set this flag if your
95 	 * application is expected to behave differently depending on certain
96 	 * environment variables. For instance, an editor might be expected
97 	 * to use the `GIT_COMMITTER_NAME` environment variable
98 	 * when editing a git commit message. The environment is available
99 	 * to the #GApplication::command-line signal handler, via
100 	 * g_application_command_line_getenv().
101 	 */
102 	SEND_ENVIRONMENT = 16,
103 	/**
104 	 * Make no attempts to do any of the typical
105 	 * single-instance application negotiation, even if the application
106 	 * ID is given.  The application neither attempts to become the
107 	 * owner of the application ID nor does it check if an existing
108 	 * owner already exists.  Everything occurs in the local process.
109 	 * Since: 2.30.
110 	 */
111 	NON_UNIQUE = 32,
112 	/**
113 	 * Allow users to override the
114 	 * application ID from the command line with `--gapplication-app-id`.
115 	 * Since: 2.48
116 	 */
117 	CAN_OVERRIDE_APP_ID = 64,
118 }
119 alias GApplicationFlags ApplicationFlags;
120 
121 /**
122  * #GAskPasswordFlags are used to request specific information from the
123  * user, or to notify the user of their choices in an authentication
124  * situation.
125  */
126 public enum GAskPasswordFlags
127 {
128 	/**
129 	 * operation requires a password.
130 	 */
131 	NEED_PASSWORD = 1,
132 	/**
133 	 * operation requires a username.
134 	 */
135 	NEED_USERNAME = 2,
136 	/**
137 	 * operation requires a domain.
138 	 */
139 	NEED_DOMAIN = 4,
140 	/**
141 	 * operation supports saving settings.
142 	 */
143 	SAVING_SUPPORTED = 8,
144 	/**
145 	 * operation supports anonymous users.
146 	 */
147 	ANONYMOUS_SUPPORTED = 16,
148 }
149 alias GAskPasswordFlags AskPasswordFlags;
150 
151 /**
152  * Flags used in g_bus_own_name().
153  *
154  * Since: 2.26
155  */
156 public enum GBusNameOwnerFlags
157 {
158 	/**
159 	 * No flags set.
160 	 */
161 	NONE = 0,
162 	/**
163 	 * Allow another message bus connection to claim the name.
164 	 */
165 	ALLOW_REPLACEMENT = 1,
166 	/**
167 	 * If another message bus connection owns the name and have
168 	 * specified #G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection.
169 	 */
170 	REPLACE = 2,
171 	/**
172 	 * If another message bus connection owns the name, immediately
173 	 * return an error from g_bus_own_name() rather than entering the waiting queue for that name. (Since 2.54)
174 	 */
175 	DO_NOT_QUEUE = 4,
176 }
177 alias GBusNameOwnerFlags BusNameOwnerFlags;
178 
179 /**
180  * Flags used in g_bus_watch_name().
181  *
182  * Since: 2.26
183  */
184 public enum GBusNameWatcherFlags
185 {
186 	/**
187 	 * No flags set.
188 	 */
189 	NONE = 0,
190 	/**
191 	 * If no-one owns the name when
192 	 * beginning to watch the name, ask the bus to launch an owner for the
193 	 * name.
194 	 */
195 	AUTO_START = 1,
196 }
197 alias GBusNameWatcherFlags BusNameWatcherFlags;
198 
199 /**
200  * An enumeration for well-known message buses.
201  *
202  * Since: 2.26
203  */
204 public enum GBusType
205 {
206 	/**
207 	 * An alias for the message bus that activated the process, if any.
208 	 */
209 	STARTER = -1,
210 	/**
211 	 * Not a message bus.
212 	 */
213 	NONE = 0,
214 	/**
215 	 * The system-wide message bus.
216 	 */
217 	SYSTEM = 1,
218 	/**
219 	 * The login session message bus.
220 	 */
221 	SESSION = 2,
222 }
223 alias GBusType BusType;
224 
225 /**
226  * Flags used when calling a g_converter_convert().
227  *
228  * Since: 2.24
229  */
230 public enum GConverterFlags
231 {
232 	/**
233 	 * No flags.
234 	 */
235 	NONE = 0,
236 	/**
237 	 * At end of input data
238 	 */
239 	INPUT_AT_END = 1,
240 	/**
241 	 * Flush data
242 	 */
243 	FLUSH = 2,
244 }
245 alias GConverterFlags ConverterFlags;
246 
247 /**
248  * Results returned from g_converter_convert().
249  *
250  * Since: 2.24
251  */
252 public enum GConverterResult
253 {
254 	/**
255 	 * There was an error during conversion.
256 	 */
257 	ERROR = 0,
258 	/**
259 	 * Some data was consumed or produced
260 	 */
261 	CONVERTED = 1,
262 	/**
263 	 * The conversion is finished
264 	 */
265 	FINISHED = 2,
266 	/**
267 	 * Flushing is finished
268 	 */
269 	FLUSHED = 3,
270 }
271 alias GConverterResult ConverterResult;
272 
273 /**
274  * Enumeration describing different kinds of native credential types.
275  *
276  * Since: 2.26
277  */
278 public enum GCredentialsType
279 {
280 	/**
281 	 * Indicates an invalid native credential type.
282 	 */
283 	INVALID = 0,
284 	/**
285 	 * The native credentials type is a struct ucred.
286 	 */
287 	LINUX_UCRED = 1,
288 	/**
289 	 * The native credentials type is a struct cmsgcred.
290 	 */
291 	FREEBSD_CMSGCRED = 2,
292 	/**
293 	 * The native credentials type is a struct sockpeercred. Added in 2.30.
294 	 */
295 	OPENBSD_SOCKPEERCRED = 3,
296 	/**
297 	 * The native credentials type is a ucred_t. Added in 2.40.
298 	 */
299 	SOLARIS_UCRED = 4,
300 	/**
301 	 * The native credentials type is a struct unpcbid.
302 	 */
303 	NETBSD_UNPCBID = 5,
304 }
305 alias GCredentialsType CredentialsType;
306 
307 /**
308  * Flags used in g_dbus_connection_call() and similar APIs.
309  *
310  * Since: 2.26
311  */
312 public enum GDBusCallFlags
313 {
314 	/**
315 	 * No flags set.
316 	 */
317 	NONE = 0,
318 	/**
319 	 * The bus must not launch
320 	 * an owner for the destination name in response to this method
321 	 * invocation.
322 	 */
323 	NO_AUTO_START = 1,
324 	/**
325 	 * the caller is prepared to
326 	 * wait for interactive authorization. Since 2.46.
327 	 */
328 	ALLOW_INTERACTIVE_AUTHORIZATION = 2,
329 }
330 alias GDBusCallFlags DBusCallFlags;
331 
332 /**
333  * Capabilities negotiated with the remote peer.
334  *
335  * Since: 2.26
336  */
337 public enum GDBusCapabilityFlags
338 {
339 	/**
340 	 * No flags set.
341 	 */
342 	NONE = 0,
343 	/**
344 	 * The connection
345 	 * supports exchanging UNIX file descriptors with the remote peer.
346 	 */
347 	UNIX_FD_PASSING = 1,
348 }
349 alias GDBusCapabilityFlags DBusCapabilityFlags;
350 
351 /**
352  * Flags used when creating a new #GDBusConnection.
353  *
354  * Since: 2.26
355  */
356 public enum GDBusConnectionFlags
357 {
358 	/**
359 	 * No flags set.
360 	 */
361 	NONE = 0,
362 	/**
363 	 * Perform authentication against server.
364 	 */
365 	AUTHENTICATION_CLIENT = 1,
366 	/**
367 	 * Perform authentication against client.
368 	 */
369 	AUTHENTICATION_SERVER = 2,
370 	/**
371 	 * When
372 	 * authenticating as a server, allow the anonymous authentication
373 	 * method.
374 	 */
375 	AUTHENTICATION_ALLOW_ANONYMOUS = 4,
376 	/**
377 	 * Pass this flag if connecting to a peer that is a
378 	 * message bus. This means that the Hello() method will be invoked as part of the connection setup.
379 	 */
380 	MESSAGE_BUS_CONNECTION = 8,
381 	/**
382 	 * If set, processing of D-Bus messages is
383 	 * delayed until g_dbus_connection_start_message_processing() is called.
384 	 */
385 	DELAY_MESSAGE_PROCESSING = 16,
386 }
387 alias GDBusConnectionFlags DBusConnectionFlags;
388 
389 /**
390  * Error codes for the %G_DBUS_ERROR error domain.
391  *
392  * Since: 2.26
393  */
394 public enum GDBusError
395 {
396 	/**
397 	 * A generic error; "something went wrong" - see the error message for
398 	 * more.
399 	 */
400 	FAILED = 0,
401 	/**
402 	 * There was not enough memory to complete an operation.
403 	 */
404 	NO_MEMORY = 1,
405 	/**
406 	 * The bus doesn't know how to launch a service to supply the bus name
407 	 * you wanted.
408 	 */
409 	SERVICE_UNKNOWN = 2,
410 	/**
411 	 * The bus name you referenced doesn't exist (i.e. no application owns
412 	 * it).
413 	 */
414 	NAME_HAS_NO_OWNER = 3,
415 	/**
416 	 * No reply to a message expecting one, usually means a timeout occurred.
417 	 */
418 	NO_REPLY = 4,
419 	/**
420 	 * Something went wrong reading or writing to a socket, for example.
421 	 */
422 	IO_ERROR = 5,
423 	/**
424 	 * A D-Bus bus address was malformed.
425 	 */
426 	BAD_ADDRESS = 6,
427 	/**
428 	 * Requested operation isn't supported (like ENOSYS on UNIX).
429 	 */
430 	NOT_SUPPORTED = 7,
431 	/**
432 	 * Some limited resource is exhausted.
433 	 */
434 	LIMITS_EXCEEDED = 8,
435 	/**
436 	 * Security restrictions don't allow doing what you're trying to do.
437 	 */
438 	ACCESS_DENIED = 9,
439 	/**
440 	 * Authentication didn't work.
441 	 */
442 	AUTH_FAILED = 10,
443 	/**
444 	 * Unable to connect to server (probably caused by ECONNREFUSED on a
445 	 * socket).
446 	 */
447 	NO_SERVER = 11,
448 	/**
449 	 * Certain timeout errors, possibly ETIMEDOUT on a socket.  Note that
450 	 * %G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning:
451 	 * this is confusingly-named given that %G_DBUS_ERROR_TIMED_OUT also
452 	 * exists. We can't fix it for compatibility reasons so just be
453 	 * careful.
454 	 */
455 	TIMEOUT = 12,
456 	/**
457 	 * No network access (probably ENETUNREACH on a socket).
458 	 */
459 	NO_NETWORK = 13,
460 	/**
461 	 * Can't bind a socket since its address is in use (i.e. EADDRINUSE).
462 	 */
463 	ADDRESS_IN_USE = 14,
464 	/**
465 	 * The connection is disconnected and you're trying to use it.
466 	 */
467 	DISCONNECTED = 15,
468 	/**
469 	 * Invalid arguments passed to a method call.
470 	 */
471 	INVALID_ARGS = 16,
472 	/**
473 	 * Missing file.
474 	 */
475 	FILE_NOT_FOUND = 17,
476 	/**
477 	 * Existing file and the operation you're using does not silently overwrite.
478 	 */
479 	FILE_EXISTS = 18,
480 	/**
481 	 * Method name you invoked isn't known by the object you invoked it on.
482 	 */
483 	UNKNOWN_METHOD = 19,
484 	/**
485 	 * Certain timeout errors, e.g. while starting a service. Warning: this is
486 	 * confusingly-named given that %G_DBUS_ERROR_TIMEOUT also exists. We
487 	 * can't fix it for compatibility reasons so just be careful.
488 	 */
489 	TIMED_OUT = 20,
490 	/**
491 	 * Tried to remove or modify a match rule that didn't exist.
492 	 */
493 	MATCH_RULE_NOT_FOUND = 21,
494 	/**
495 	 * The match rule isn't syntactically valid.
496 	 */
497 	MATCH_RULE_INVALID = 22,
498 	/**
499 	 * While starting a new process, the exec() call failed.
500 	 */
501 	SPAWN_EXEC_FAILED = 23,
502 	/**
503 	 * While starting a new process, the fork() call failed.
504 	 */
505 	SPAWN_FORK_FAILED = 24,
506 	/**
507 	 * While starting a new process, the child exited with a status code.
508 	 */
509 	SPAWN_CHILD_EXITED = 25,
510 	/**
511 	 * While starting a new process, the child exited on a signal.
512 	 */
513 	SPAWN_CHILD_SIGNALED = 26,
514 	/**
515 	 * While starting a new process, something went wrong.
516 	 */
517 	SPAWN_FAILED = 27,
518 	/**
519 	 * We failed to setup the environment correctly.
520 	 */
521 	SPAWN_SETUP_FAILED = 28,
522 	/**
523 	 * We failed to setup the config parser correctly.
524 	 */
525 	SPAWN_CONFIG_INVALID = 29,
526 	/**
527 	 * Bus name was not valid.
528 	 */
529 	SPAWN_SERVICE_INVALID = 30,
530 	/**
531 	 * Service file not found in system-services directory.
532 	 */
533 	SPAWN_SERVICE_NOT_FOUND = 31,
534 	/**
535 	 * Permissions are incorrect on the setuid helper.
536 	 */
537 	SPAWN_PERMISSIONS_INVALID = 32,
538 	/**
539 	 * Service file invalid (Name, User or Exec missing).
540 	 */
541 	SPAWN_FILE_INVALID = 33,
542 	/**
543 	 * Tried to get a UNIX process ID and it wasn't available.
544 	 */
545 	SPAWN_NO_MEMORY = 34,
546 	/**
547 	 * Tried to get a UNIX process ID and it wasn't available.
548 	 */
549 	UNIX_PROCESS_ID_UNKNOWN = 35,
550 	/**
551 	 * A type signature is not valid.
552 	 */
553 	INVALID_SIGNATURE = 36,
554 	/**
555 	 * A file contains invalid syntax or is otherwise broken.
556 	 */
557 	INVALID_FILE_CONTENT = 37,
558 	/**
559 	 * Asked for SELinux security context and it wasn't available.
560 	 */
561 	SELINUX_SECURITY_CONTEXT_UNKNOWN = 38,
562 	/**
563 	 * Asked for ADT audit data and it wasn't available.
564 	 */
565 	ADT_AUDIT_DATA_UNKNOWN = 39,
566 	/**
567 	 * There's already an object with the requested object path.
568 	 */
569 	OBJECT_PATH_IN_USE = 40,
570 	/**
571 	 * Object you invoked a method on isn't known. Since 2.42
572 	 */
573 	UNKNOWN_OBJECT = 41,
574 	/**
575 	 * Interface you invoked a method on isn't known by the object. Since 2.42
576 	 */
577 	UNKNOWN_INTERFACE = 42,
578 	/**
579 	 * Property you tried to access isn't known by the object. Since 2.42
580 	 */
581 	UNKNOWN_PROPERTY = 43,
582 	/**
583 	 * Property you tried to set is read-only. Since 2.42
584 	 */
585 	PROPERTY_READ_ONLY = 44,
586 }
587 alias GDBusError DBusError;
588 
589 /**
590  * Flags describing the behavior of a #GDBusInterfaceSkeleton instance.
591  *
592  * Since: 2.30
593  */
594 public enum GDBusInterfaceSkeletonFlags
595 {
596 	/**
597 	 * No flags set.
598 	 */
599 	NONE = 0,
600 	/**
601 	 * Each method invocation is handled in
602 	 * a thread dedicated to the invocation. This means that the method implementation can use blocking IO
603 	 * without blocking any other part of the process. It also means that the method implementation must
604 	 * use locking to access data structures used by other threads.
605 	 */
606 	HANDLE_METHOD_INVOCATIONS_IN_THREAD = 1,
607 }
608 alias GDBusInterfaceSkeletonFlags DBusInterfaceSkeletonFlags;
609 
610 /**
611  * Enumeration used to describe the byte order of a D-Bus message.
612  *
613  * Since: 2.26
614  */
615 public enum GDBusMessageByteOrder
616 {
617 	/**
618 	 * The byte order is big endian.
619 	 */
620 	BIG_ENDIAN = 66,
621 	/**
622 	 * The byte order is little endian.
623 	 */
624 	LITTLE_ENDIAN = 108,
625 }
626 alias GDBusMessageByteOrder DBusMessageByteOrder;
627 
628 /**
629  * Message flags used in #GDBusMessage.
630  *
631  * Since: 2.26
632  */
633 public enum GDBusMessageFlags
634 {
635 	/**
636 	 * No flags set.
637 	 */
638 	NONE = 0,
639 	/**
640 	 * A reply is not expected.
641 	 */
642 	NO_REPLY_EXPECTED = 1,
643 	/**
644 	 * The bus must not launch an
645 	 * owner for the destination name in response to this message.
646 	 */
647 	NO_AUTO_START = 2,
648 	/**
649 	 * If set on a method
650 	 * call, this flag means that the caller is prepared to wait for interactive
651 	 * authorization. Since 2.46.
652 	 */
653 	ALLOW_INTERACTIVE_AUTHORIZATION = 4,
654 }
655 alias GDBusMessageFlags DBusMessageFlags;
656 
657 /**
658  * Header fields used in #GDBusMessage.
659  *
660  * Since: 2.26
661  */
662 public enum GDBusMessageHeaderField
663 {
664 	/**
665 	 * Not a valid header field.
666 	 */
667 	INVALID = 0,
668 	/**
669 	 * The object path.
670 	 */
671 	PATH = 1,
672 	/**
673 	 * The interface name.
674 	 */
675 	INTERFACE = 2,
676 	/**
677 	 * The method or signal name.
678 	 */
679 	MEMBER = 3,
680 	/**
681 	 * The name of the error that occurred.
682 	 */
683 	ERROR_NAME = 4,
684 	/**
685 	 * The serial number the message is a reply to.
686 	 */
687 	REPLY_SERIAL = 5,
688 	/**
689 	 * The name the message is intended for.
690 	 */
691 	DESTINATION = 6,
692 	/**
693 	 * Unique name of the sender of the message (filled in by the bus).
694 	 */
695 	SENDER = 7,
696 	/**
697 	 * The signature of the message body.
698 	 */
699 	SIGNATURE = 8,
700 	/**
701 	 * The number of UNIX file descriptors that accompany the message.
702 	 */
703 	NUM_UNIX_FDS = 9,
704 }
705 alias GDBusMessageHeaderField DBusMessageHeaderField;
706 
707 /**
708  * Message types used in #GDBusMessage.
709  *
710  * Since: 2.26
711  */
712 public enum GDBusMessageType
713 {
714 	/**
715 	 * Message is of invalid type.
716 	 */
717 	INVALID = 0,
718 	/**
719 	 * Method call.
720 	 */
721 	METHOD_CALL = 1,
722 	/**
723 	 * Method reply.
724 	 */
725 	METHOD_RETURN = 2,
726 	/**
727 	 * Error reply.
728 	 */
729 	ERROR = 3,
730 	/**
731 	 * Signal emission.
732 	 */
733 	SIGNAL = 4,
734 }
735 alias GDBusMessageType DBusMessageType;
736 
737 /**
738  * Flags used when constructing a #GDBusObjectManagerClient.
739  *
740  * Since: 2.30
741  */
742 public enum GDBusObjectManagerClientFlags
743 {
744 	/**
745 	 * No flags set.
746 	 */
747 	NONE = 0,
748 	/**
749 	 * If not set and the
750 	 * manager is for a well-known name, then request the bus to launch
751 	 * an owner for the name if no-one owns the name. This flag can only
752 	 * be used in managers for well-known names.
753 	 */
754 	DO_NOT_AUTO_START = 1,
755 }
756 alias GDBusObjectManagerClientFlags DBusObjectManagerClientFlags;
757 
758 /**
759  * Flags describing the access control of a D-Bus property.
760  *
761  * Since: 2.26
762  */
763 public enum GDBusPropertyInfoFlags
764 {
765 	/**
766 	 * No flags set.
767 	 */
768 	NONE = 0,
769 	/**
770 	 * Property is readable.
771 	 */
772 	READABLE = 1,
773 	/**
774 	 * Property is writable.
775 	 */
776 	WRITABLE = 2,
777 }
778 alias GDBusPropertyInfoFlags DBusPropertyInfoFlags;
779 
780 /**
781  * Flags used when constructing an instance of a #GDBusProxy derived class.
782  *
783  * Since: 2.26
784  */
785 public enum GDBusProxyFlags
786 {
787 	/**
788 	 * No flags set.
789 	 */
790 	NONE = 0,
791 	/**
792 	 * Don't load properties.
793 	 */
794 	DO_NOT_LOAD_PROPERTIES = 1,
795 	/**
796 	 * Don't connect to signals on the remote object.
797 	 */
798 	DO_NOT_CONNECT_SIGNALS = 2,
799 	/**
800 	 * If the proxy is for a well-known name,
801 	 * do not ask the bus to launch an owner during proxy initialization or a method call.
802 	 * This flag is only meaningful in proxies for well-known names.
803 	 */
804 	DO_NOT_AUTO_START = 4,
805 	/**
806 	 * 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.
807 	 */
808 	GET_INVALIDATED_PROPERTIES = 8,
809 	/**
810 	 * If the proxy is for a well-known name,
811 	 * do not ask the bus to launch an owner during proxy initialization, but allow it to be
812 	 * autostarted by a method call. This flag is only meaningful in proxies for well-known names,
813 	 * and only if %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is not also specified.
814 	 */
815 	DO_NOT_AUTO_START_AT_CONSTRUCTION = 16,
816 }
817 alias GDBusProxyFlags DBusProxyFlags;
818 
819 /**
820  * Flags used when sending #GDBusMessages on a #GDBusConnection.
821  *
822  * Since: 2.26
823  */
824 public enum GDBusSendMessageFlags
825 {
826 	/**
827 	 * No flags set.
828 	 */
829 	NONE = 0,
830 	/**
831 	 * Do not automatically
832 	 * assign a serial number from the #GDBusConnection object when
833 	 * sending a message.
834 	 */
835 	PRESERVE_SERIAL = 1,
836 }
837 alias GDBusSendMessageFlags DBusSendMessageFlags;
838 
839 /**
840  * Flags used when creating a #GDBusServer.
841  *
842  * Since: 2.26
843  */
844 public enum GDBusServerFlags
845 {
846 	/**
847 	 * No flags set.
848 	 */
849 	NONE = 0,
850 	/**
851 	 * All #GDBusServer::new-connection
852 	 * signals will run in separated dedicated threads (see signal for
853 	 * details).
854 	 */
855 	RUN_IN_THREAD = 1,
856 	/**
857 	 * Allow the anonymous
858 	 * authentication method.
859 	 */
860 	AUTHENTICATION_ALLOW_ANONYMOUS = 2,
861 }
862 alias GDBusServerFlags DBusServerFlags;
863 
864 /**
865  * Flags used when subscribing to signals via g_dbus_connection_signal_subscribe().
866  *
867  * Since: 2.26
868  */
869 public enum GDBusSignalFlags
870 {
871 	/**
872 	 * No flags set.
873 	 */
874 	NONE = 0,
875 	/**
876 	 * Don't actually send the AddMatch
877 	 * D-Bus call for this signal subscription.  This gives you more control
878 	 * over which match rules you add (but you must add them manually).
879 	 */
880 	NO_MATCH_RULE = 1,
881 	/**
882 	 * Match first arguments that
883 	 * contain a bus or interface name with the given namespace.
884 	 */
885 	MATCH_ARG0_NAMESPACE = 2,
886 	/**
887 	 * Match first arguments that
888 	 * contain an object path that is either equivalent to the given path,
889 	 * or one of the paths is a subpath of the other.
890 	 */
891 	MATCH_ARG0_PATH = 4,
892 }
893 alias GDBusSignalFlags DBusSignalFlags;
894 
895 /**
896  * Flags passed to g_dbus_connection_register_subtree().
897  *
898  * Since: 2.26
899  */
900 public enum GDBusSubtreeFlags
901 {
902 	/**
903 	 * No flags set.
904 	 */
905 	NONE = 0,
906 	/**
907 	 * Method calls to objects not in the enumerated range
908 	 * will still be dispatched. This is useful if you want
909 	 * to dynamically spawn objects in the subtree.
910 	 */
911 	DISPATCH_TO_UNENUMERATED_NODES = 1,
912 }
913 alias GDBusSubtreeFlags DBusSubtreeFlags;
914 
915 /**
916  * #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources
917  * across various machine architectures.
918  */
919 public enum GDataStreamByteOrder
920 {
921 	/**
922 	 * Selects Big Endian byte order.
923 	 */
924 	BIG_ENDIAN = 0,
925 	/**
926 	 * Selects Little Endian byte order.
927 	 */
928 	LITTLE_ENDIAN = 1,
929 	/**
930 	 * Selects endianness based on host machine's architecture.
931 	 */
932 	HOST_ENDIAN = 2,
933 }
934 alias GDataStreamByteOrder DataStreamByteOrder;
935 
936 /**
937  * #GDataStreamNewlineType is used when checking for or setting the line endings for a given file.
938  */
939 public enum GDataStreamNewlineType
940 {
941 	/**
942 	 * Selects "LF" line endings, common on most modern UNIX platforms.
943 	 */
944 	LF = 0,
945 	/**
946 	 * Selects "CR" line endings.
947 	 */
948 	CR = 1,
949 	/**
950 	 * Selects "CR, LF" line ending, common on Microsoft Windows.
951 	 */
952 	CR_LF = 2,
953 	/**
954 	 * Automatically try to handle any line ending type.
955 	 */
956 	ANY = 3,
957 }
958 alias GDataStreamNewlineType DataStreamNewlineType;
959 
960 /**
961  * Flags used when starting a drive.
962  *
963  * Since: 2.22
964  */
965 public enum GDriveStartFlags
966 {
967 	/**
968 	 * No flags set.
969 	 */
970 	NONE = 0,
971 }
972 alias GDriveStartFlags DriveStartFlags;
973 
974 /**
975  * Enumeration describing how a drive can be started/stopped.
976  *
977  * Since: 2.22
978  */
979 public enum GDriveStartStopType
980 {
981 	/**
982 	 * Unknown or drive doesn't support
983 	 * start/stop.
984 	 */
985 	UNKNOWN = 0,
986 	/**
987 	 * The stop method will physically
988 	 * shut down the drive and e.g. power down the port the drive is
989 	 * attached to.
990 	 */
991 	SHUTDOWN = 1,
992 	/**
993 	 * The start/stop methods are used
994 	 * for connecting/disconnect to the drive over the network.
995 	 */
996 	NETWORK = 2,
997 	/**
998 	 * The start/stop methods will
999 	 * assemble/disassemble a virtual drive from several physical
1000 	 * drives.
1001 	 */
1002 	MULTIDISK = 3,
1003 	/**
1004 	 * The start/stop methods will
1005 	 * unlock/lock the disk (for example using the ATA <quote>SECURITY
1006 	 * UNLOCK DEVICE</quote> command)
1007 	 */
1008 	PASSWORD = 4,
1009 }
1010 alias GDriveStartStopType DriveStartStopType;
1011 
1012 /**
1013  * GEmblemOrigin is used to add information about the origin of the emblem
1014  * to #GEmblem.
1015  *
1016  * Since: 2.18
1017  */
1018 public enum GEmblemOrigin
1019 {
1020 	/**
1021 	 * Emblem of unknown origin
1022 	 */
1023 	UNKNOWN = 0,
1024 	/**
1025 	 * Emblem adds device-specific information
1026 	 */
1027 	DEVICE = 1,
1028 	/**
1029 	 * Emblem depicts live metadata, such as "readonly"
1030 	 */
1031 	LIVEMETADATA = 2,
1032 	/**
1033 	 * Emblem comes from a user-defined tag, e.g. set by nautilus (in the future)
1034 	 */
1035 	TAG = 3,
1036 }
1037 alias GEmblemOrigin EmblemOrigin;
1038 
1039 /**
1040  * Flags specifying the behaviour of an attribute.
1041  */
1042 public enum GFileAttributeInfoFlags
1043 {
1044 	/**
1045 	 * no flags set.
1046 	 */
1047 	NONE = 0,
1048 	/**
1049 	 * copy the attribute values when the file is copied.
1050 	 */
1051 	COPY_WITH_FILE = 1,
1052 	/**
1053 	 * copy the attribute values when the file is moved.
1054 	 */
1055 	COPY_WHEN_MOVED = 2,
1056 }
1057 alias GFileAttributeInfoFlags FileAttributeInfoFlags;
1058 
1059 /**
1060  * Used by g_file_set_attributes_from_info() when setting file attributes.
1061  */
1062 public enum GFileAttributeStatus
1063 {
1064 	/**
1065 	 * Attribute value is unset (empty).
1066 	 */
1067 	UNSET = 0,
1068 	/**
1069 	 * Attribute value is set.
1070 	 */
1071 	SET = 1,
1072 	/**
1073 	 * Indicates an error in setting the value.
1074 	 */
1075 	ERROR_SETTING = 2,
1076 }
1077 alias GFileAttributeStatus FileAttributeStatus;
1078 
1079 /**
1080  * The data types for file attributes.
1081  */
1082 public enum GFileAttributeType
1083 {
1084 	/**
1085 	 * indicates an invalid or uninitalized type.
1086 	 */
1087 	INVALID = 0,
1088 	/**
1089 	 * a null terminated UTF8 string.
1090 	 */
1091 	STRING = 1,
1092 	/**
1093 	 * a zero terminated string of non-zero bytes.
1094 	 */
1095 	BYTE_STRING = 2,
1096 	/**
1097 	 * a boolean value.
1098 	 */
1099 	BOOLEAN = 3,
1100 	/**
1101 	 * an unsigned 4-byte/32-bit integer.
1102 	 */
1103 	UINT32 = 4,
1104 	/**
1105 	 * a signed 4-byte/32-bit integer.
1106 	 */
1107 	INT32 = 5,
1108 	/**
1109 	 * an unsigned 8-byte/64-bit integer.
1110 	 */
1111 	UINT64 = 6,
1112 	/**
1113 	 * a signed 8-byte/64-bit integer.
1114 	 */
1115 	INT64 = 7,
1116 	/**
1117 	 * a #GObject.
1118 	 */
1119 	OBJECT = 8,
1120 	/**
1121 	 * a %NULL terminated char **. Since 2.22
1122 	 */
1123 	STRINGV = 9,
1124 }
1125 alias GFileAttributeType FileAttributeType;
1126 
1127 /**
1128  * Flags used when copying or moving files.
1129  */
1130 public enum GFileCopyFlags
1131 {
1132 	/**
1133 	 * No flags set.
1134 	 */
1135 	NONE = 0,
1136 	/**
1137 	 * Overwrite any existing files
1138 	 */
1139 	OVERWRITE = 1,
1140 	/**
1141 	 * Make a backup of any existing files.
1142 	 */
1143 	BACKUP = 2,
1144 	/**
1145 	 * Don't follow symlinks.
1146 	 */
1147 	NOFOLLOW_SYMLINKS = 4,
1148 	/**
1149 	 * Copy all file metadata instead of just default set used for copy (see #GFileInfo).
1150 	 */
1151 	ALL_METADATA = 8,
1152 	/**
1153 	 * Don't use copy and delete fallback if native move not supported.
1154 	 */
1155 	NO_FALLBACK_FOR_MOVE = 16,
1156 	/**
1157 	 * Leaves target file with default perms, instead of setting the source file perms.
1158 	 */
1159 	TARGET_DEFAULT_PERMS = 32,
1160 }
1161 alias GFileCopyFlags FileCopyFlags;
1162 
1163 /**
1164  * Flags used when an operation may create a file.
1165  */
1166 public enum GFileCreateFlags
1167 {
1168 	/**
1169 	 * No flags set.
1170 	 */
1171 	NONE = 0,
1172 	/**
1173 	 * Create a file that can only be
1174 	 * accessed by the current user.
1175 	 */
1176 	PRIVATE = 1,
1177 	/**
1178 	 * Replace the destination
1179 	 * as if it didn't exist before. Don't try to keep any old
1180 	 * permissions, replace instead of following links. This
1181 	 * is generally useful if you're doing a "copy over"
1182 	 * rather than a "save new version of" replace operation.
1183 	 * You can think of it as "unlink destination" before
1184 	 * writing to it, although the implementation may not
1185 	 * be exactly like that. Since 2.20
1186 	 */
1187 	REPLACE_DESTINATION = 2,
1188 }
1189 alias GFileCreateFlags FileCreateFlags;
1190 
1191 /**
1192  * Flags that can be used with g_file_measure_disk_usage().
1193  *
1194  * Since: 2.38
1195  */
1196 public enum GFileMeasureFlags
1197 {
1198 	/**
1199 	 * No flags set.
1200 	 */
1201 	NONE = 0,
1202 	/**
1203 	 * Report any error encountered
1204 	 * while traversing the directory tree.  Normally errors are only
1205 	 * reported for the toplevel file.
1206 	 */
1207 	REPORT_ANY_ERROR = 2,
1208 	/**
1209 	 * Tally usage based on apparent file
1210 	 * sizes.  Normally, the block-size is used, if available, as this is a
1211 	 * more accurate representation of disk space used.
1212 	 * Compare with `du --apparent-size`.
1213 	 */
1214 	APPARENT_SIZE = 4,
1215 	/**
1216 	 * Do not cross mount point boundaries.
1217 	 * Compare with `du -x`.
1218 	 */
1219 	NO_XDEV = 8,
1220 }
1221 alias GFileMeasureFlags FileMeasureFlags;
1222 
1223 /**
1224  * Specifies what type of event a monitor event is.
1225  */
1226 public enum GFileMonitorEvent
1227 {
1228 	/**
1229 	 * a file changed.
1230 	 */
1231 	CHANGED = 0,
1232 	/**
1233 	 * a hint that this was probably the last change in a set of changes.
1234 	 */
1235 	CHANGES_DONE_HINT = 1,
1236 	/**
1237 	 * a file was deleted.
1238 	 */
1239 	DELETED = 2,
1240 	/**
1241 	 * a file was created.
1242 	 */
1243 	CREATED = 3,
1244 	/**
1245 	 * a file attribute was changed.
1246 	 */
1247 	ATTRIBUTE_CHANGED = 4,
1248 	/**
1249 	 * the file location will soon be unmounted.
1250 	 */
1251 	PRE_UNMOUNT = 5,
1252 	/**
1253 	 * the file location was unmounted.
1254 	 */
1255 	UNMOUNTED = 6,
1256 	/**
1257 	 * the file was moved -- only sent if the
1258 	 * (deprecated) %G_FILE_MONITOR_SEND_MOVED flag is set
1259 	 */
1260 	MOVED = 7,
1261 	/**
1262 	 * the file was renamed within the
1263 	 * current directory -- only sent if the %G_FILE_MONITOR_WATCH_MOVES
1264 	 * flag is set.  Since: 2.46.
1265 	 */
1266 	RENAMED = 8,
1267 	/**
1268 	 * the file was moved into the
1269 	 * monitored directory from another location -- only sent if the
1270 	 * %G_FILE_MONITOR_WATCH_MOVES flag is set.  Since: 2.46.
1271 	 */
1272 	MOVED_IN = 9,
1273 	/**
1274 	 * the file was moved out of the
1275 	 * monitored directory to another location -- only sent if the
1276 	 * %G_FILE_MONITOR_WATCH_MOVES flag is set.  Since: 2.46
1277 	 */
1278 	MOVED_OUT = 10,
1279 }
1280 alias GFileMonitorEvent FileMonitorEvent;
1281 
1282 /**
1283  * Flags used to set what a #GFileMonitor will watch for.
1284  */
1285 public enum GFileMonitorFlags
1286 {
1287 	/**
1288 	 * No flags set.
1289 	 */
1290 	NONE = 0,
1291 	/**
1292 	 * Watch for mount events.
1293 	 */
1294 	WATCH_MOUNTS = 1,
1295 	/**
1296 	 * Pair DELETED and CREATED events caused
1297 	 * by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED
1298 	 * event instead (NB: not supported on all backends; the default
1299 	 * behaviour -without specifying this flag- is to send single DELETED
1300 	 * and CREATED events).  Deprecated since 2.46: use
1301 	 * %G_FILE_MONITOR_WATCH_MOVES instead.
1302 	 */
1303 	SEND_MOVED = 2,
1304 	/**
1305 	 * Watch for changes to the file made
1306 	 * via another hard link. Since 2.36.
1307 	 */
1308 	WATCH_HARD_LINKS = 4,
1309 	/**
1310 	 * Watch for rename operations on a
1311 	 * monitored directory.  This causes %G_FILE_MONITOR_EVENT_RENAMED,
1312 	 * %G_FILE_MONITOR_EVENT_MOVED_IN and %G_FILE_MONITOR_EVENT_MOVED_OUT
1313 	 * events to be emitted when possible.  Since: 2.46.
1314 	 */
1315 	WATCH_MOVES = 8,
1316 }
1317 alias GFileMonitorFlags FileMonitorFlags;
1318 
1319 /**
1320  * Flags used when querying a #GFileInfo.
1321  */
1322 public enum GFileQueryInfoFlags
1323 {
1324 	/**
1325 	 * No flags set.
1326 	 */
1327 	NONE = 0,
1328 	/**
1329 	 * Don't follow symlinks.
1330 	 */
1331 	NOFOLLOW_SYMLINKS = 1,
1332 }
1333 alias GFileQueryInfoFlags FileQueryInfoFlags;
1334 
1335 /**
1336  * Indicates the file's on-disk type.
1337  */
1338 public enum GFileType
1339 {
1340 	/**
1341 	 * File's type is unknown.
1342 	 */
1343 	UNKNOWN = 0,
1344 	/**
1345 	 * File handle represents a regular file.
1346 	 */
1347 	REGULAR = 1,
1348 	/**
1349 	 * File handle represents a directory.
1350 	 */
1351 	DIRECTORY = 2,
1352 	/**
1353 	 * File handle represents a symbolic link
1354 	 * (Unix systems).
1355 	 */
1356 	SYMBOLIC_LINK = 3,
1357 	/**
1358 	 * File is a "special" file, such as a socket, fifo,
1359 	 * block device, or character device.
1360 	 */
1361 	SPECIAL = 4,
1362 	/**
1363 	 * File is a shortcut (Windows systems).
1364 	 */
1365 	SHORTCUT = 5,
1366 	/**
1367 	 * File is a mountable location.
1368 	 */
1369 	MOUNTABLE = 6,
1370 }
1371 alias GFileType FileType;
1372 
1373 /**
1374  * Indicates a hint from the file system whether files should be
1375  * previewed in a file manager. Returned as the value of the key
1376  * #G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW.
1377  */
1378 public enum GFilesystemPreviewType
1379 {
1380 	/**
1381 	 * Only preview files if user has explicitly requested it.
1382 	 */
1383 	IF_ALWAYS = 0,
1384 	/**
1385 	 * Preview files if user has requested preview of "local" files.
1386 	 */
1387 	IF_LOCAL = 1,
1388 	/**
1389 	 * Never preview files.
1390 	 */
1391 	NEVER = 2,
1392 }
1393 alias GFilesystemPreviewType FilesystemPreviewType;
1394 
1395 /**
1396  * Error codes returned by GIO functions.
1397  *
1398  * Note that this domain may be extended in future GLib releases. In
1399  * general, new error codes either only apply to new APIs, or else
1400  * replace %G_IO_ERROR_FAILED in cases that were not explicitly
1401  * distinguished before. You should therefore avoid writing code like
1402  * |[<!-- language="C" -->
1403  * if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_FAILED))
1404  * {
1405  * // Assume that this is EPRINTERONFIRE
1406  * ...
1407  * }
1408  * ]|
1409  * but should instead treat all unrecognized error codes the same as
1410  * #G_IO_ERROR_FAILED.
1411  */
1412 public enum GIOErrorEnum
1413 {
1414 	/**
1415 	 * Generic error condition for when an operation fails
1416 	 * and no more specific #GIOErrorEnum value is defined.
1417 	 */
1418 	FAILED = 0,
1419 	/**
1420 	 * File not found.
1421 	 */
1422 	NOT_FOUND = 1,
1423 	/**
1424 	 * File already exists.
1425 	 */
1426 	EXISTS = 2,
1427 	/**
1428 	 * File is a directory.
1429 	 */
1430 	IS_DIRECTORY = 3,
1431 	/**
1432 	 * File is not a directory.
1433 	 */
1434 	NOT_DIRECTORY = 4,
1435 	/**
1436 	 * File is a directory that isn't empty.
1437 	 */
1438 	NOT_EMPTY = 5,
1439 	/**
1440 	 * File is not a regular file.
1441 	 */
1442 	NOT_REGULAR_FILE = 6,
1443 	/**
1444 	 * File is not a symbolic link.
1445 	 */
1446 	NOT_SYMBOLIC_LINK = 7,
1447 	/**
1448 	 * File cannot be mounted.
1449 	 */
1450 	NOT_MOUNTABLE_FILE = 8,
1451 	/**
1452 	 * Filename is too many characters.
1453 	 */
1454 	FILENAME_TOO_LONG = 9,
1455 	/**
1456 	 * Filename is invalid or contains invalid characters.
1457 	 */
1458 	INVALID_FILENAME = 10,
1459 	/**
1460 	 * File contains too many symbolic links.
1461 	 */
1462 	TOO_MANY_LINKS = 11,
1463 	/**
1464 	 * No space left on drive.
1465 	 */
1466 	NO_SPACE = 12,
1467 	/**
1468 	 * Invalid argument.
1469 	 */
1470 	INVALID_ARGUMENT = 13,
1471 	/**
1472 	 * Permission denied.
1473 	 */
1474 	PERMISSION_DENIED = 14,
1475 	/**
1476 	 * Operation (or one of its parameters) not supported
1477 	 */
1478 	NOT_SUPPORTED = 15,
1479 	/**
1480 	 * File isn't mounted.
1481 	 */
1482 	NOT_MOUNTED = 16,
1483 	/**
1484 	 * File is already mounted.
1485 	 */
1486 	ALREADY_MOUNTED = 17,
1487 	/**
1488 	 * File was closed.
1489 	 */
1490 	CLOSED = 18,
1491 	/**
1492 	 * Operation was cancelled. See #GCancellable.
1493 	 */
1494 	CANCELLED = 19,
1495 	/**
1496 	 * Operations are still pending.
1497 	 */
1498 	PENDING = 20,
1499 	/**
1500 	 * File is read only.
1501 	 */
1502 	READ_ONLY = 21,
1503 	/**
1504 	 * Backup couldn't be created.
1505 	 */
1506 	CANT_CREATE_BACKUP = 22,
1507 	/**
1508 	 * File's Entity Tag was incorrect.
1509 	 */
1510 	WRONG_ETAG = 23,
1511 	/**
1512 	 * Operation timed out.
1513 	 */
1514 	TIMED_OUT = 24,
1515 	/**
1516 	 * Operation would be recursive.
1517 	 */
1518 	WOULD_RECURSE = 25,
1519 	/**
1520 	 * File is busy.
1521 	 */
1522 	BUSY = 26,
1523 	/**
1524 	 * Operation would block.
1525 	 */
1526 	WOULD_BLOCK = 27,
1527 	/**
1528 	 * Host couldn't be found (remote operations).
1529 	 */
1530 	HOST_NOT_FOUND = 28,
1531 	/**
1532 	 * Operation would merge files.
1533 	 */
1534 	WOULD_MERGE = 29,
1535 	/**
1536 	 * Operation failed and a helper program has
1537 	 * already interacted with the user. Do not display any error dialog.
1538 	 */
1539 	FAILED_HANDLED = 30,
1540 	/**
1541 	 * The current process has too many files
1542 	 * open and can't open any more. Duplicate descriptors do count toward
1543 	 * this limit. Since 2.20
1544 	 */
1545 	TOO_MANY_OPEN_FILES = 31,
1546 	/**
1547 	 * The object has not been initialized. Since 2.22
1548 	 */
1549 	NOT_INITIALIZED = 32,
1550 	/**
1551 	 * The requested address is already in use. Since 2.22
1552 	 */
1553 	ADDRESS_IN_USE = 33,
1554 	/**
1555 	 * Need more input to finish operation. Since 2.24
1556 	 */
1557 	PARTIAL_INPUT = 34,
1558 	/**
1559 	 * The input data was invalid. Since 2.24
1560 	 */
1561 	INVALID_DATA = 35,
1562 	/**
1563 	 * A remote object generated an error that
1564 	 * doesn't correspond to a locally registered #GError error
1565 	 * domain. Use g_dbus_error_get_remote_error() to extract the D-Bus
1566 	 * error name and g_dbus_error_strip_remote_error() to fix up the
1567 	 * message so it matches what was received on the wire. Since 2.26.
1568 	 */
1569 	DBUS_ERROR = 36,
1570 	/**
1571 	 * Host unreachable. Since 2.26
1572 	 */
1573 	HOST_UNREACHABLE = 37,
1574 	/**
1575 	 * Network unreachable. Since 2.26
1576 	 */
1577 	NETWORK_UNREACHABLE = 38,
1578 	/**
1579 	 * Connection refused. Since 2.26
1580 	 */
1581 	CONNECTION_REFUSED = 39,
1582 	/**
1583 	 * Connection to proxy server failed. Since 2.26
1584 	 */
1585 	PROXY_FAILED = 40,
1586 	/**
1587 	 * Proxy authentication failed. Since 2.26
1588 	 */
1589 	PROXY_AUTH_FAILED = 41,
1590 	/**
1591 	 * Proxy server needs authentication. Since 2.26
1592 	 */
1593 	PROXY_NEED_AUTH = 42,
1594 	/**
1595 	 * Proxy connection is not allowed by ruleset.
1596 	 * Since 2.26
1597 	 */
1598 	PROXY_NOT_ALLOWED = 43,
1599 	/**
1600 	 * Broken pipe. Since 2.36
1601 	 */
1602 	BROKEN_PIPE = 44,
1603 	/**
1604 	 * Connection closed by peer. Note that this
1605 	 * is the same code as %G_IO_ERROR_BROKEN_PIPE; before 2.44 some
1606 	 * "connection closed" errors returned %G_IO_ERROR_BROKEN_PIPE, but others
1607 	 * returned %G_IO_ERROR_FAILED. Now they should all return the same
1608 	 * value, which has this more logical name. Since 2.44.
1609 	 */
1610 	CONNECTION_CLOSED = 44,
1611 	/**
1612 	 * Transport endpoint is not connected. Since 2.44
1613 	 */
1614 	NOT_CONNECTED = 45,
1615 	/**
1616 	 * Message too large. Since 2.48.
1617 	 */
1618 	MESSAGE_TOO_LARGE = 46,
1619 }
1620 alias GIOErrorEnum IOErrorEnum;
1621 
1622 /**
1623  * Flags for use with g_io_module_scope_new().
1624  *
1625  * Since: 2.30
1626  */
1627 public enum GIOModuleScopeFlags
1628 {
1629 	/**
1630 	 * No module scan flags
1631 	 */
1632 	NONE = 0,
1633 	/**
1634 	 * When using this scope to load or
1635 	 * scan modules, automatically block a modules which has the same base
1636 	 * basename as previously loaded module.
1637 	 */
1638 	BLOCK_DUPLICATES = 1,
1639 }
1640 alias GIOModuleScopeFlags IOModuleScopeFlags;
1641 
1642 /**
1643  * GIOStreamSpliceFlags determine how streams should be spliced.
1644  *
1645  * Since: 2.28
1646  */
1647 public enum GIOStreamSpliceFlags
1648 {
1649 	/**
1650 	 * Do not close either stream.
1651 	 */
1652 	NONE = 0,
1653 	/**
1654 	 * Close the first stream after
1655 	 * the splice.
1656 	 */
1657 	CLOSE_STREAM1 = 1,
1658 	/**
1659 	 * Close the second stream after
1660 	 * the splice.
1661 	 */
1662 	CLOSE_STREAM2 = 2,
1663 	/**
1664 	 * Wait for both splice operations to finish
1665 	 * before calling the callback.
1666 	 */
1667 	WAIT_FOR_BOTH = 4,
1668 }
1669 alias GIOStreamSpliceFlags IOStreamSpliceFlags;
1670 
1671 /**
1672  * Flags used when mounting a mount.
1673  */
1674 public enum GMountMountFlags
1675 {
1676 	/**
1677 	 * No flags set.
1678 	 */
1679 	NONE = 0,
1680 }
1681 alias GMountMountFlags MountMountFlags;
1682 
1683 /**
1684  * #GMountOperationResult is returned as a result when a request for
1685  * information is send by the mounting operation.
1686  */
1687 public enum GMountOperationResult
1688 {
1689 	/**
1690 	 * The request was fulfilled and the
1691 	 * user specified data is now available
1692 	 */
1693 	HANDLED = 0,
1694 	/**
1695 	 * The user requested the mount operation
1696 	 * to be aborted
1697 	 */
1698 	ABORTED = 1,
1699 	/**
1700 	 * The request was unhandled (i.e. not
1701 	 * implemented)
1702 	 */
1703 	UNHANDLED = 2,
1704 }
1705 alias GMountOperationResult MountOperationResult;
1706 
1707 /**
1708  * Flags used when an unmounting a mount.
1709  */
1710 public enum GMountUnmountFlags
1711 {
1712 	/**
1713 	 * No flags set.
1714 	 */
1715 	NONE = 0,
1716 	/**
1717 	 * Unmount even if there are outstanding
1718 	 * file operations on the mount.
1719 	 */
1720 	FORCE = 1,
1721 }
1722 alias GMountUnmountFlags MountUnmountFlags;
1723 
1724 /**
1725  * The host's network connectivity state, as reported by #GNetworkMonitor.
1726  *
1727  * Since: 2.44
1728  */
1729 public enum GNetworkConnectivity
1730 {
1731 	/**
1732 	 * The host is not configured with a
1733 	 * route to the Internet; it may or may not be connected to a local
1734 	 * network.
1735 	 */
1736 	LOCAL = 1,
1737 	/**
1738 	 * The host is connected to a network, but
1739 	 * does not appear to be able to reach the full Internet, perhaps
1740 	 * due to upstream network problems.
1741 	 */
1742 	LIMITED = 2,
1743 	/**
1744 	 * The host is behind a captive portal and
1745 	 * cannot reach the full Internet.
1746 	 */
1747 	PORTAL = 3,
1748 	/**
1749 	 * The host is connected to a network, and
1750 	 * appears to be able to reach the full Internet.
1751 	 */
1752 	FULL = 4,
1753 }
1754 alias GNetworkConnectivity NetworkConnectivity;
1755 
1756 /**
1757  * Priority levels for #GNotifications.
1758  *
1759  * Since: 2.42
1760  */
1761 public enum GNotificationPriority
1762 {
1763 	/**
1764 	 * the default priority, to be used for the
1765 	 * majority of notifications (for example email messages, software updates,
1766 	 * completed download/sync operations)
1767 	 */
1768 	NORMAL = 0,
1769 	/**
1770 	 * for notifications that do not require
1771 	 * immediate attention - typically used for contextual background
1772 	 * information, such as contact birthdays or local weather
1773 	 */
1774 	LOW = 1,
1775 	/**
1776 	 * for events that require more attention,
1777 	 * usually because responses are time-sensitive (for example chat and SMS
1778 	 * messages or alarms)
1779 	 */
1780 	HIGH = 2,
1781 	/**
1782 	 * for urgent notifications, or notifications
1783 	 * that require a response in a short space of time (for example phone calls
1784 	 * or emergency warnings)
1785 	 */
1786 	URGENT = 3,
1787 }
1788 alias GNotificationPriority NotificationPriority;
1789 
1790 /**
1791  * GOutputStreamSpliceFlags determine how streams should be spliced.
1792  */
1793 public enum GOutputStreamSpliceFlags
1794 {
1795 	/**
1796 	 * Do not close either stream.
1797 	 */
1798 	NONE = 0,
1799 	/**
1800 	 * Close the source stream after
1801 	 * the splice.
1802 	 */
1803 	CLOSE_SOURCE = 1,
1804 	/**
1805 	 * Close the target stream after
1806 	 * the splice.
1807 	 */
1808 	CLOSE_TARGET = 2,
1809 }
1810 alias GOutputStreamSpliceFlags OutputStreamSpliceFlags;
1811 
1812 /**
1813  * #GPasswordSave is used to indicate the lifespan of a saved password.
1814  *
1815  * #Gvfs stores passwords in the Gnome keyring when this flag allows it
1816  * to, and later retrieves it again from there.
1817  */
1818 public enum GPasswordSave
1819 {
1820 	/**
1821 	 * never save a password.
1822 	 */
1823 	NEVER = 0,
1824 	/**
1825 	 * save a password for the session.
1826 	 */
1827 	FOR_SESSION = 1,
1828 	/**
1829 	 * save a password permanently.
1830 	 */
1831 	PERMANENTLY = 2,
1832 }
1833 alias GPasswordSave PasswordSave;
1834 
1835 /**
1836  * An error code used with %G_RESOLVER_ERROR in a #GError returned
1837  * from a #GResolver routine.
1838  *
1839  * Since: 2.22
1840  */
1841 public enum GResolverError
1842 {
1843 	/**
1844 	 * the requested name/address/service was not
1845 	 * found
1846 	 */
1847 	NOT_FOUND = 0,
1848 	/**
1849 	 * the requested information could not
1850 	 * be looked up due to a network error or similar problem
1851 	 */
1852 	TEMPORARY_FAILURE = 1,
1853 	/**
1854 	 * unknown error
1855 	 */
1856 	INTERNAL = 2,
1857 }
1858 alias GResolverError ResolverError;
1859 
1860 /**
1861  * The type of record that g_resolver_lookup_records() or
1862  * g_resolver_lookup_records_async() should retrieve. The records are returned
1863  * as lists of #GVariant tuples. Each record type has different values in
1864  * the variant tuples returned.
1865  *
1866  * %G_RESOLVER_RECORD_SRV records are returned as variants with the signature
1867  * '(qqqs)', containing a guint16 with the priority, a guint16 with the
1868  * weight, a guint16 with the port, and a string of the hostname.
1869  *
1870  * %G_RESOLVER_RECORD_MX records are returned as variants with the signature
1871  * '(qs)', representing a guint16 with the preference, and a string containing
1872  * the mail exchanger hostname.
1873  *
1874  * %G_RESOLVER_RECORD_TXT records are returned as variants with the signature
1875  * '(as)', representing an array of the strings in the text record.
1876  *
1877  * %G_RESOLVER_RECORD_SOA records are returned as variants with the signature
1878  * '(ssuuuuu)', representing a string containing the primary name server, a
1879  * string containing the administrator, the serial as a guint32, the refresh
1880  * interval as guint32, the retry interval as a guint32, the expire timeout
1881  * as a guint32, and the ttl as a guint32.
1882  *
1883  * %G_RESOLVER_RECORD_NS records are returned as variants with the signature
1884  * '(s)', representing a string of the hostname of the name server.
1885  *
1886  * Since: 2.34
1887  */
1888 public enum GResolverRecordType
1889 {
1890 	/**
1891 	 * lookup DNS SRV records for a domain
1892 	 */
1893 	SRV = 1,
1894 	/**
1895 	 * lookup DNS MX records for a domain
1896 	 */
1897 	MX = 2,
1898 	/**
1899 	 * lookup DNS TXT records for a name
1900 	 */
1901 	TXT = 3,
1902 	/**
1903 	 * lookup DNS SOA records for a zone
1904 	 */
1905 	SOA = 4,
1906 	/**
1907 	 * lookup DNS NS records for a domain
1908 	 */
1909 	NS = 5,
1910 }
1911 alias GResolverRecordType ResolverRecordType;
1912 
1913 /**
1914  * An error code used with %G_RESOURCE_ERROR in a #GError returned
1915  * from a #GResource routine.
1916  *
1917  * Since: 2.32
1918  */
1919 public enum GResourceError
1920 {
1921 	/**
1922 	 * no file was found at the requested path
1923 	 */
1924 	NOT_FOUND = 0,
1925 	/**
1926 	 * unknown error
1927 	 */
1928 	INTERNAL = 1,
1929 }
1930 alias GResourceError ResourceError;
1931 
1932 /**
1933  * GResourceFlags give information about a particular file inside a resource
1934  * bundle.
1935  *
1936  * Since: 2.32
1937  */
1938 public enum GResourceFlags
1939 {
1940 	/**
1941 	 * No flags set.
1942 	 */
1943 	NONE = 0,
1944 	/**
1945 	 * The file is compressed.
1946 	 */
1947 	COMPRESSED = 1,
1948 }
1949 alias GResourceFlags ResourceFlags;
1950 
1951 /**
1952  * GResourceLookupFlags determine how resource path lookups are handled.
1953  *
1954  * Since: 2.32
1955  */
1956 public enum GResourceLookupFlags
1957 {
1958 	/**
1959 	 * No flags set.
1960 	 */
1961 	NONE = 0,
1962 }
1963 alias GResourceLookupFlags ResourceLookupFlags;
1964 
1965 /**
1966  * Flags used when creating a binding. These flags determine in which
1967  * direction the binding works. The default is to synchronize in both
1968  * directions.
1969  */
1970 public enum GSettingsBindFlags
1971 {
1972 	/**
1973 	 * Equivalent to `G_SETTINGS_BIND_GET|G_SETTINGS_BIND_SET`
1974 	 */
1975 	DEFAULT = 0,
1976 	/**
1977 	 * Update the #GObject property when the setting changes.
1978 	 * It is an error to use this flag if the property is not writable.
1979 	 */
1980 	GET = 1,
1981 	/**
1982 	 * Update the setting when the #GObject property changes.
1983 	 * It is an error to use this flag if the property is not readable.
1984 	 */
1985 	SET = 2,
1986 	/**
1987 	 * Do not try to bind a "sensitivity" property to the writability of the setting
1988 	 */
1989 	NO_SENSITIVITY = 4,
1990 	/**
1991 	 * When set in addition to #G_SETTINGS_BIND_GET, set the #GObject property
1992 	 * value initially from the setting, but do not listen for changes of the setting
1993 	 */
1994 	GET_NO_CHANGES = 8,
1995 	/**
1996 	 * When passed to g_settings_bind(), uses a pair of mapping functions that invert
1997 	 * the boolean value when mapping between the setting and the property.  The setting and property must both
1998 	 * be booleans.  You cannot pass this flag to g_settings_bind_with_mapping().
1999 	 */
2000 	INVERT_BOOLEAN = 16,
2001 }
2002 alias GSettingsBindFlags SettingsBindFlags;
2003 
2004 /**
2005  * Describes an event occurring on a #GSocketClient. See the
2006  * #GSocketClient::event signal for more details.
2007  *
2008  * Additional values may be added to this type in the future.
2009  *
2010  * Since: 2.32
2011  */
2012 public enum GSocketClientEvent
2013 {
2014 	/**
2015 	 * The client is doing a DNS lookup.
2016 	 */
2017 	RESOLVING = 0,
2018 	/**
2019 	 * The client has completed a DNS lookup.
2020 	 */
2021 	RESOLVED = 1,
2022 	/**
2023 	 * The client is connecting to a remote
2024 	 * host (either a proxy or the destination server).
2025 	 */
2026 	CONNECTING = 2,
2027 	/**
2028 	 * The client has connected to a remote
2029 	 * host.
2030 	 */
2031 	CONNECTED = 3,
2032 	/**
2033 	 * The client is negotiating
2034 	 * with a proxy to connect to the destination server.
2035 	 */
2036 	PROXY_NEGOTIATING = 4,
2037 	/**
2038 	 * The client has negotiated
2039 	 * with the proxy server.
2040 	 */
2041 	PROXY_NEGOTIATED = 5,
2042 	/**
2043 	 * The client is performing a
2044 	 * TLS handshake.
2045 	 */
2046 	TLS_HANDSHAKING = 6,
2047 	/**
2048 	 * The client has performed a
2049 	 * TLS handshake.
2050 	 */
2051 	TLS_HANDSHAKED = 7,
2052 	/**
2053 	 * The client is done with a particular
2054 	 * #GSocketConnectable.
2055 	 */
2056 	COMPLETE = 8,
2057 }
2058 alias GSocketClientEvent SocketClientEvent;
2059 
2060 /**
2061  * The protocol family of a #GSocketAddress. (These values are
2062  * identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX,
2063  * if available.)
2064  *
2065  * Since: 2.22
2066  */
2067 public enum GSocketFamily
2068 {
2069 	/**
2070 	 * no address family
2071 	 */
2072 	INVALID = 0,
2073 	/**
2074 	 * the UNIX domain family
2075 	 */
2076 	UNIX = 1,
2077 	/**
2078 	 * the IPv4 family
2079 	 */
2080 	IPV4 = 2,
2081 	/**
2082 	 * the IPv6 family
2083 	 */
2084 	IPV6 = 10,
2085 }
2086 alias GSocketFamily SocketFamily;
2087 
2088 /**
2089  * Describes an event occurring on a #GSocketListener. See the
2090  * #GSocketListener::event signal for more details.
2091  *
2092  * Additional values may be added to this type in the future.
2093  *
2094  * Since: 2.46
2095  */
2096 public enum GSocketListenerEvent
2097 {
2098 	/**
2099 	 * The listener is about to bind a socket.
2100 	 */
2101 	BINDING = 0,
2102 	/**
2103 	 * The listener has bound a socket.
2104 	 */
2105 	BOUND = 1,
2106 	/**
2107 	 * The listener is about to start
2108 	 * listening on this socket.
2109 	 */
2110 	LISTENING = 2,
2111 	/**
2112 	 * The listener is now listening on
2113 	 * this socket.
2114 	 */
2115 	LISTENED = 3,
2116 }
2117 alias GSocketListenerEvent SocketListenerEvent;
2118 
2119 /**
2120  * Flags used in g_socket_receive_message() and g_socket_send_message().
2121  * The flags listed in the enum are some commonly available flags, but the
2122  * values used for them are the same as on the platform, and any other flags
2123  * are passed in/out as is. So to use a platform specific flag, just include
2124  * the right system header and pass in the flag.
2125  *
2126  * Since: 2.22
2127  */
2128 public enum GSocketMsgFlags
2129 {
2130 	/**
2131 	 * No flags.
2132 	 */
2133 	NONE = 0,
2134 	/**
2135 	 * Request to send/receive out of band data.
2136 	 */
2137 	OOB = 1,
2138 	/**
2139 	 * Read data from the socket without removing it from
2140 	 * the queue.
2141 	 */
2142 	PEEK = 2,
2143 	/**
2144 	 * Don't use a gateway to send out the packet,
2145 	 * only send to hosts on directly connected networks.
2146 	 */
2147 	DONTROUTE = 4,
2148 }
2149 alias GSocketMsgFlags SocketMsgFlags;
2150 
2151 /**
2152  * A protocol identifier is specified when creating a #GSocket, which is a
2153  * family/type specific identifier, where 0 means the default protocol for
2154  * the particular family/type.
2155  *
2156  * This enum contains a set of commonly available and used protocols. You
2157  * can also pass any other identifiers handled by the platform in order to
2158  * use protocols not listed here.
2159  *
2160  * Since: 2.22
2161  */
2162 public enum GSocketProtocol
2163 {
2164 	/**
2165 	 * The protocol type is unknown
2166 	 */
2167 	UNKNOWN = -1,
2168 	/**
2169 	 * The default protocol for the family/type
2170 	 */
2171 	DEFAULT = 0,
2172 	/**
2173 	 * TCP over IP
2174 	 */
2175 	TCP = 6,
2176 	/**
2177 	 * UDP over IP
2178 	 */
2179 	UDP = 17,
2180 	/**
2181 	 * SCTP over IP
2182 	 */
2183 	SCTP = 132,
2184 }
2185 alias GSocketProtocol SocketProtocol;
2186 
2187 /**
2188  * Flags used when creating a #GSocket. Some protocols may not implement
2189  * all the socket types.
2190  *
2191  * Since: 2.22
2192  */
2193 public enum GSocketType
2194 {
2195 	/**
2196 	 * Type unknown or wrong
2197 	 */
2198 	INVALID = 0,
2199 	/**
2200 	 * Reliable connection-based byte streams (e.g. TCP).
2201 	 */
2202 	STREAM = 1,
2203 	/**
2204 	 * Connectionless, unreliable datagram passing.
2205 	 * (e.g. UDP)
2206 	 */
2207 	DATAGRAM = 2,
2208 	/**
2209 	 * Reliable connection-based passing of datagrams
2210 	 * of fixed maximum length (e.g. SCTP).
2211 	 */
2212 	SEQPACKET = 3,
2213 }
2214 alias GSocketType SocketType;
2215 
2216 /**
2217  * Flags to define the behaviour of a #GSubprocess.
2218  *
2219  * Note that the default for stdin is to redirect from /dev/null.  For
2220  * stdout and stderr the default are for them to inherit the
2221  * corresponding descriptor from the calling process.
2222  *
2223  * Note that it is a programmer error to mix 'incompatible' flags.  For
2224  * example, you may not request both %G_SUBPROCESS_FLAGS_STDOUT_PIPE and
2225  * %G_SUBPROCESS_FLAGS_STDOUT_SILENCE.
2226  *
2227  * Since: 2.40
2228  */
2229 public enum GSubprocessFlags
2230 {
2231 	/**
2232 	 * No flags.
2233 	 */
2234 	NONE = 0,
2235 	/**
2236 	 * create a pipe for the stdin of the
2237 	 * spawned process that can be accessed with
2238 	 * g_subprocess_get_stdin_pipe().
2239 	 */
2240 	STDIN_PIPE = 1,
2241 	/**
2242 	 * stdin is inherited from the
2243 	 * calling process.
2244 	 */
2245 	STDIN_INHERIT = 2,
2246 	/**
2247 	 * create a pipe for the stdout of the
2248 	 * spawned process that can be accessed with
2249 	 * g_subprocess_get_stdout_pipe().
2250 	 */
2251 	STDOUT_PIPE = 4,
2252 	/**
2253 	 * silence the stdout of the spawned
2254 	 * process (ie: redirect to /dev/null).
2255 	 */
2256 	STDOUT_SILENCE = 8,
2257 	/**
2258 	 * create a pipe for the stderr of the
2259 	 * spawned process that can be accessed with
2260 	 * g_subprocess_get_stderr_pipe().
2261 	 */
2262 	STDERR_PIPE = 16,
2263 	/**
2264 	 * silence the stderr of the spawned
2265 	 * process (ie: redirect to /dev/null).
2266 	 */
2267 	STDERR_SILENCE = 32,
2268 	/**
2269 	 * merge the stderr of the spawned
2270 	 * process with whatever the stdout happens to be.  This is a good way
2271 	 * of directing both streams to a common log file, for example.
2272 	 */
2273 	STDERR_MERGE = 64,
2274 	/**
2275 	 * spawned processes will inherit the
2276 	 * file descriptors of their parent, unless those descriptors have
2277 	 * been explicitly marked as close-on-exec.  This flag has no effect
2278 	 * over the "standard" file descriptors (stdin, stdout, stderr).
2279 	 */
2280 	INHERIT_FDS = 128,
2281 }
2282 alias GSubprocessFlags SubprocessFlags;
2283 
2284 /**
2285  * Flags to define future #GTestDBus behaviour.
2286  *
2287  * Since: 2.34
2288  */
2289 public enum GTestDBusFlags
2290 {
2291 	/**
2292 	 * No flags.
2293 	 */
2294 	NONE = 0,
2295 }
2296 alias GTestDBusFlags TestDBusFlags;
2297 
2298 /**
2299  * The client authentication mode for a #GTlsServerConnection.
2300  *
2301  * Since: 2.28
2302  */
2303 public enum GTlsAuthenticationMode
2304 {
2305 	/**
2306 	 * client authentication not required
2307 	 */
2308 	NONE = 0,
2309 	/**
2310 	 * client authentication is requested
2311 	 */
2312 	REQUESTED = 1,
2313 	/**
2314 	 * client authentication is required
2315 	 */
2316 	REQUIRED = 2,
2317 }
2318 alias GTlsAuthenticationMode TlsAuthenticationMode;
2319 
2320 /**
2321  * A set of flags describing TLS certification validation. This can be
2322  * used to set which validation steps to perform (eg, with
2323  * g_tls_client_connection_set_validation_flags()), or to describe why
2324  * a particular certificate was rejected (eg, in
2325  * #GTlsConnection::accept-certificate).
2326  *
2327  * Since: 2.28
2328  */
2329 public enum GTlsCertificateFlags
2330 {
2331 	/**
2332 	 * The signing certificate authority is
2333 	 * not known.
2334 	 */
2335 	UNKNOWN_CA = 1,
2336 	/**
2337 	 * The certificate does not match the
2338 	 * expected identity of the site that it was retrieved from.
2339 	 */
2340 	BAD_IDENTITY = 2,
2341 	/**
2342 	 * The certificate's activation time
2343 	 * is still in the future
2344 	 */
2345 	NOT_ACTIVATED = 4,
2346 	/**
2347 	 * The certificate has expired
2348 	 */
2349 	EXPIRED = 8,
2350 	/**
2351 	 * The certificate has been revoked
2352 	 * according to the #GTlsConnection's certificate revocation list.
2353 	 */
2354 	REVOKED = 16,
2355 	/**
2356 	 * The certificate's algorithm is
2357 	 * considered insecure.
2358 	 */
2359 	INSECURE = 32,
2360 	/**
2361 	 * Some other error occurred validating
2362 	 * the certificate
2363 	 */
2364 	GENERIC_ERROR = 64,
2365 	/**
2366 	 * the combination of all of the above
2367 	 * flags
2368 	 */
2369 	VALIDATE_ALL = 127,
2370 }
2371 alias GTlsCertificateFlags TlsCertificateFlags;
2372 
2373 /**
2374  * Flags for g_tls_interaction_request_certificate(),
2375  * g_tls_interaction_request_certificate_async(), and
2376  * g_tls_interaction_invoke_request_certificate().
2377  *
2378  * Since: 2.40
2379  */
2380 public enum GTlsCertificateRequestFlags
2381 {
2382 	/**
2383 	 * No flags
2384 	 */
2385 	NONE = 0,
2386 }
2387 alias GTlsCertificateRequestFlags TlsCertificateRequestFlags;
2388 
2389 /**
2390  * Flags for g_tls_database_lookup_certificate_handle(),
2391  * g_tls_database_lookup_certificate_issuer(),
2392  * and g_tls_database_lookup_certificates_issued_by().
2393  *
2394  * Since: 2.30
2395  */
2396 public enum GTlsDatabaseLookupFlags
2397 {
2398 	/**
2399 	 * No lookup flags
2400 	 */
2401 	NONE = 0,
2402 	/**
2403 	 * Restrict lookup to certificates that have
2404 	 * a private key.
2405 	 */
2406 	KEYPAIR = 1,
2407 }
2408 alias GTlsDatabaseLookupFlags TlsDatabaseLookupFlags;
2409 
2410 /**
2411  * Flags for g_tls_database_verify_chain().
2412  *
2413  * Since: 2.30
2414  */
2415 public enum GTlsDatabaseVerifyFlags
2416 {
2417 	/**
2418 	 * No verification flags
2419 	 */
2420 	NONE = 0,
2421 }
2422 alias GTlsDatabaseVerifyFlags TlsDatabaseVerifyFlags;
2423 
2424 /**
2425  * An error code used with %G_TLS_ERROR in a #GError returned from a
2426  * TLS-related routine.
2427  *
2428  * Since: 2.28
2429  */
2430 public enum GTlsError
2431 {
2432 	/**
2433 	 * No TLS provider is available
2434 	 */
2435 	UNAVAILABLE = 0,
2436 	/**
2437 	 * Miscellaneous TLS error
2438 	 */
2439 	MISC = 1,
2440 	/**
2441 	 * A certificate could not be parsed
2442 	 */
2443 	BAD_CERTIFICATE = 2,
2444 	/**
2445 	 * The TLS handshake failed because the
2446 	 * peer does not seem to be a TLS server.
2447 	 */
2448 	NOT_TLS = 3,
2449 	/**
2450 	 * The TLS handshake failed because the
2451 	 * peer's certificate was not acceptable.
2452 	 */
2453 	HANDSHAKE = 4,
2454 	/**
2455 	 * The TLS handshake failed because
2456 	 * the server requested a client-side certificate, but none was
2457 	 * provided. See g_tls_connection_set_certificate().
2458 	 */
2459 	CERTIFICATE_REQUIRED = 5,
2460 	/**
2461 	 * The TLS connection was closed without proper
2462 	 * notice, which may indicate an attack. See
2463 	 * g_tls_connection_set_require_close_notify().
2464 	 */
2465 	EOF = 6,
2466 }
2467 alias GTlsError TlsError;
2468 
2469 /**
2470  * #GTlsInteractionResult is returned by various functions in #GTlsInteraction
2471  * when finishing an interaction request.
2472  *
2473  * Since: 2.30
2474  */
2475 public enum GTlsInteractionResult
2476 {
2477 	/**
2478 	 * The interaction was unhandled (i.e. not
2479 	 * implemented).
2480 	 */
2481 	UNHANDLED = 0,
2482 	/**
2483 	 * The interaction completed, and resulting data
2484 	 * is available.
2485 	 */
2486 	HANDLED = 1,
2487 	/**
2488 	 * The interaction has failed, or was cancelled.
2489 	 * and the operation should be aborted.
2490 	 */
2491 	FAILED = 2,
2492 }
2493 alias GTlsInteractionResult TlsInteractionResult;
2494 
2495 /**
2496  * Various flags for the password.
2497  *
2498  * Since: 2.30
2499  */
2500 public enum GTlsPasswordFlags
2501 {
2502 	/**
2503 	 * No flags
2504 	 */
2505 	NONE = 0,
2506 	/**
2507 	 * The password was wrong, and the user should retry.
2508 	 */
2509 	RETRY = 2,
2510 	/**
2511 	 * Hint to the user that the password has been
2512 	 * wrong many times, and the user may not have many chances left.
2513 	 */
2514 	MANY_TRIES = 4,
2515 	/**
2516 	 * Hint to the user that this is the last try to get
2517 	 * this password right.
2518 	 */
2519 	FINAL_TRY = 8,
2520 }
2521 alias GTlsPasswordFlags TlsPasswordFlags;
2522 
2523 /**
2524  * When to allow rehandshaking. See
2525  * g_tls_connection_set_rehandshake_mode().
2526  *
2527  * Since: 2.28
2528  */
2529 public enum GTlsRehandshakeMode
2530 {
2531 	/**
2532 	 * Never allow rehandshaking
2533 	 */
2534 	NEVER = 0,
2535 	/**
2536 	 * Allow safe rehandshaking only
2537 	 */
2538 	SAFELY = 1,
2539 	/**
2540 	 * Allow unsafe rehandshaking
2541 	 */
2542 	UNSAFELY = 2,
2543 }
2544 alias GTlsRehandshakeMode TlsRehandshakeMode;
2545 
2546 /**
2547  * The type of name used by a #GUnixSocketAddress.
2548  * %G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain
2549  * socket bound to a filesystem path. %G_UNIX_SOCKET_ADDRESS_ANONYMOUS
2550  * indicates a socket not bound to any name (eg, a client-side socket,
2551  * or a socket created with socketpair()).
2552  *
2553  * For abstract sockets, there are two incompatible ways of naming
2554  * them; the man pages suggest using the entire `struct sockaddr_un`
2555  * as the name, padding the unused parts of the %sun_path field with
2556  * zeroes; this corresponds to %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED.
2557  * However, many programs instead just use a portion of %sun_path, and
2558  * pass an appropriate smaller length to bind() or connect(). This is
2559  * %G_UNIX_SOCKET_ADDRESS_ABSTRACT.
2560  *
2561  * Since: 2.26
2562  */
2563 public enum GUnixSocketAddressType
2564 {
2565 	/**
2566 	 * invalid
2567 	 */
2568 	INVALID = 0,
2569 	/**
2570 	 * anonymous
2571 	 */
2572 	ANONYMOUS = 1,
2573 	/**
2574 	 * a filesystem path
2575 	 */
2576 	PATH = 2,
2577 	/**
2578 	 * an abstract name
2579 	 */
2580 	ABSTRACT = 3,
2581 	/**
2582 	 * an abstract name, 0-padded
2583 	 * to the full length of a unix socket name
2584 	 */
2585 	ABSTRACT_PADDED = 4,
2586 }
2587 alias GUnixSocketAddressType UnixSocketAddressType;
2588 
2589 /**
2590  * Used to select the type of data format to use for #GZlibDecompressor
2591  * and #GZlibCompressor.
2592  *
2593  * Since: 2.24
2594  */
2595 public enum GZlibCompressorFormat
2596 {
2597 	/**
2598 	 * deflate compression with zlib header
2599 	 */
2600 	ZLIB = 0,
2601 	/**
2602 	 * gzip file format
2603 	 */
2604 	GZIP = 1,
2605 	/**
2606 	 * deflate compression with no header
2607 	 */
2608 	RAW = 2,
2609 }
2610 alias GZlibCompressorFormat ZlibCompressorFormat;
2611 
2612 struct GAction;
2613 
2614 /**
2615  * This struct defines a single action.  It is for use with
2616  * g_action_map_add_action_entries().
2617  *
2618  * The order of the items in the structure are intended to reflect
2619  * frequency of use.  It is permissible to use an incomplete initialiser
2620  * in order to leave some of the later values as %NULL.  All values
2621  * after @name are optional.  Additional optional fields may be added in
2622  * the future.
2623  *
2624  * See g_action_map_add_action_entries() for an example.
2625  */
2626 struct GActionEntry
2627 {
2628 	/**
2629 	 * the name of the action
2630 	 */
2631 	const(char)* name;
2632 	/** */
2633 	extern(C) void function(GSimpleAction* action, GVariant* parameter, void* userData) activate;
2634 	/**
2635 	 * the type of the parameter that must be passed to the
2636 	 * activate function for this action, given as a single
2637 	 * GVariant type string (or %NULL for no parameter)
2638 	 */
2639 	const(char)* parameterType;
2640 	/**
2641 	 * the initial state for this action, given in
2642 	 * [GVariant text format][gvariant-text].  The state is parsed
2643 	 * with no extra type information, so type tags must be added to
2644 	 * the string if they are necessary.  Stateless actions should
2645 	 * give %NULL here.
2646 	 */
2647 	const(char)* state;
2648 	/** */
2649 	extern(C) void function(GSimpleAction* action, GVariant* value, void* userData) changeState;
2650 	size_t[3] padding;
2651 }
2652 
2653 struct GActionGroup;
2654 
2655 /**
2656  * The virtual function table for #GActionGroup.
2657  *
2658  * Since: 2.28
2659  */
2660 struct GActionGroupInterface
2661 {
2662 	GTypeInterface gIface;
2663 	/**
2664 	 *
2665 	 * Params:
2666 	 *     actionGroup = a #GActionGroup
2667 	 *     actionName = the name of the action to check for
2668 	 * Returns: whether the named action exists
2669 	 */
2670 	extern(C) int function(GActionGroup* actionGroup, const(char)* actionName) hasAction;
2671 	/**
2672 	 *
2673 	 * Params:
2674 	 *     actionGroup = a #GActionGroup
2675 	 * Returns: a %NULL-terminated array of the names of the
2676 	 *     actions in the group
2677 	 */
2678 	extern(C) char** function(GActionGroup* actionGroup) listActions;
2679 	/**
2680 	 *
2681 	 * Params:
2682 	 *     actionGroup = a #GActionGroup
2683 	 *     actionName = the name of the action to query
2684 	 * Returns: whether or not the action is currently enabled
2685 	 */
2686 	extern(C) int function(GActionGroup* actionGroup, const(char)* actionName) getActionEnabled;
2687 	/**
2688 	 *
2689 	 * Params:
2690 	 *     actionGroup = a #GActionGroup
2691 	 *     actionName = the name of the action to query
2692 	 * Returns: the parameter type
2693 	 */
2694 	extern(C) GVariantType* function(GActionGroup* actionGroup, const(char)* actionName) getActionParameterType;
2695 	/**
2696 	 *
2697 	 * Params:
2698 	 *     actionGroup = a #GActionGroup
2699 	 *     actionName = the name of the action to query
2700 	 * Returns: the state type, if the action is stateful
2701 	 */
2702 	extern(C) GVariantType* function(GActionGroup* actionGroup, const(char)* actionName) getActionStateType;
2703 	/**
2704 	 *
2705 	 * Params:
2706 	 *     actionGroup = a #GActionGroup
2707 	 *     actionName = the name of the action to query
2708 	 * Returns: the state range hint
2709 	 */
2710 	extern(C) GVariant* function(GActionGroup* actionGroup, const(char)* actionName) getActionStateHint;
2711 	/**
2712 	 *
2713 	 * Params:
2714 	 *     actionGroup = a #GActionGroup
2715 	 *     actionName = the name of the action to query
2716 	 * Returns: the current state of the action
2717 	 */
2718 	extern(C) GVariant* function(GActionGroup* actionGroup, const(char)* actionName) getActionState;
2719 	/** */
2720 	extern(C) void function(GActionGroup* actionGroup, const(char)* actionName, GVariant* value) changeActionState;
2721 	/** */
2722 	extern(C) void function(GActionGroup* actionGroup, const(char)* actionName, GVariant* parameter) activateAction;
2723 	/** */
2724 	extern(C) void function(GActionGroup* actionGroup, const(char)* actionName) actionAdded;
2725 	/** */
2726 	extern(C) void function(GActionGroup* actionGroup, const(char)* actionName) actionRemoved;
2727 	/** */
2728 	extern(C) void function(GActionGroup* actionGroup, const(char)* actionName, int enabled) actionEnabledChanged;
2729 	/** */
2730 	extern(C) void function(GActionGroup* actionGroup, const(char)* actionName, GVariant* state) actionStateChanged;
2731 	/**
2732 	 *
2733 	 * Params:
2734 	 *     actionGroup = a #GActionGroup
2735 	 *     actionName = the name of an action in the group
2736 	 *     enabled = if the action is presently enabled
2737 	 *     parameterType = the parameter type, or %NULL if none needed
2738 	 *     stateType = the state type, or %NULL if stateless
2739 	 *     stateHint = the state hint, or %NULL if none
2740 	 *     state = the current state, or %NULL if stateless
2741 	 * Returns: %TRUE if the action exists, else %FALSE
2742 	 */
2743 	extern(C) int function(GActionGroup* actionGroup, const(char)* actionName, int* enabled, GVariantType** parameterType, GVariantType** stateType, GVariant** stateHint, GVariant** state) queryAction;
2744 }
2745 
2746 /**
2747  * The virtual function table for #GAction.
2748  *
2749  * Since: 2.28
2750  */
2751 struct GActionInterface
2752 {
2753 	GTypeInterface gIface;
2754 	/**
2755 	 *
2756 	 * Params:
2757 	 *     action = a #GAction
2758 	 * Returns: the name of the action
2759 	 */
2760 	extern(C) const(char)* function(GAction* action) getName;
2761 	/**
2762 	 *
2763 	 * Params:
2764 	 *     action = a #GAction
2765 	 * Returns: the parameter type
2766 	 */
2767 	extern(C) GVariantType* function(GAction* action) getParameterType;
2768 	/**
2769 	 *
2770 	 * Params:
2771 	 *     action = a #GAction
2772 	 * Returns: the state type, if the action is stateful
2773 	 */
2774 	extern(C) GVariantType* function(GAction* action) getStateType;
2775 	/**
2776 	 *
2777 	 * Params:
2778 	 *     action = a #GAction
2779 	 * Returns: the state range hint
2780 	 */
2781 	extern(C) GVariant* function(GAction* action) getStateHint;
2782 	/**
2783 	 *
2784 	 * Params:
2785 	 *     action = a #GAction
2786 	 * Returns: whether the action is enabled
2787 	 */
2788 	extern(C) int function(GAction* action) getEnabled;
2789 	/**
2790 	 *
2791 	 * Params:
2792 	 *     action = a #GAction
2793 	 * Returns: the current state of the action
2794 	 */
2795 	extern(C) GVariant* function(GAction* action) getState;
2796 	/** */
2797 	extern(C) void function(GAction* action, GVariant* value) changeState;
2798 	/** */
2799 	extern(C) void function(GAction* action, GVariant* parameter) activate;
2800 }
2801 
2802 struct GActionMap;
2803 
2804 /**
2805  * The virtual function table for #GActionMap.
2806  *
2807  * Since: 2.32
2808  */
2809 struct GActionMapInterface
2810 {
2811 	GTypeInterface gIface;
2812 	/**
2813 	 *
2814 	 * Params:
2815 	 *     actionMap = a #GActionMap
2816 	 *     actionName = the name of an action
2817 	 * Returns: a #GAction, or %NULL
2818 	 */
2819 	extern(C) GAction* function(GActionMap* actionMap, const(char)* actionName) lookupAction;
2820 	/** */
2821 	extern(C) void function(GActionMap* actionMap, GAction* action) addAction;
2822 	/** */
2823 	extern(C) void function(GActionMap* actionMap, const(char)* actionName) removeAction;
2824 }
2825 
2826 struct GAppInfo;
2827 
2828 /**
2829  * Application Information interface, for operating system portability.
2830  */
2831 struct GAppInfoIface
2832 {
2833 	/**
2834 	 * The parent interface.
2835 	 */
2836 	GTypeInterface gIface;
2837 	/**
2838 	 *
2839 	 * Params:
2840 	 *     appinfo = a #GAppInfo.
2841 	 * Returns: a duplicate of @appinfo.
2842 	 */
2843 	extern(C) GAppInfo* function(GAppInfo* appinfo) dup;
2844 	/**
2845 	 *
2846 	 * Params:
2847 	 *     appinfo1 = the first #GAppInfo.
2848 	 *     appinfo2 = the second #GAppInfo.
2849 	 * Returns: %TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise.
2850 	 */
2851 	extern(C) int function(GAppInfo* appinfo1, GAppInfo* appinfo2) equal;
2852 	/**
2853 	 *
2854 	 * Params:
2855 	 *     appinfo = a #GAppInfo.
2856 	 * Returns: a string containing the application's ID.
2857 	 */
2858 	extern(C) const(char)* function(GAppInfo* appinfo) getId;
2859 	/**
2860 	 *
2861 	 * Params:
2862 	 *     appinfo = a #GAppInfo.
2863 	 * Returns: the name of the application for @appinfo.
2864 	 */
2865 	extern(C) const(char)* function(GAppInfo* appinfo) getName;
2866 	/**
2867 	 *
2868 	 * Params:
2869 	 *     appinfo = a #GAppInfo.
2870 	 * Returns: a string containing a description of the
2871 	 *     application @appinfo, or %NULL if none.
2872 	 */
2873 	extern(C) const(char)* function(GAppInfo* appinfo) getDescription;
2874 	/** */
2875 	extern(C) const(char)* function(GAppInfo* appinfo) getExecutable;
2876 	/**
2877 	 *
2878 	 * Params:
2879 	 *     appinfo = a #GAppInfo.
2880 	 * Returns: the default #GIcon for @appinfo or %NULL
2881 	 *     if there is no default icon.
2882 	 */
2883 	extern(C) GIcon* function(GAppInfo* appinfo) getIcon;
2884 	/**
2885 	 *
2886 	 * Params:
2887 	 *     appinfo = a #GAppInfo
2888 	 *     files = a #GList of #GFile objects
2889 	 *     launchContext = a #GAppLaunchContext or %NULL
2890 	 * Returns: %TRUE on successful launch, %FALSE otherwise.
2891 	 *
2892 	 * Throws: GException on failure.
2893 	 */
2894 	extern(C) int function(GAppInfo* appinfo, GList* files, GAppLaunchContext* launchContext, GError** err) launch;
2895 	/**
2896 	 *
2897 	 * Params:
2898 	 *     appinfo = a #GAppInfo.
2899 	 * Returns: %TRUE if the @appinfo supports URIs.
2900 	 */
2901 	extern(C) int function(GAppInfo* appinfo) supportsUris;
2902 	/**
2903 	 *
2904 	 * Params:
2905 	 *     appinfo = a #GAppInfo.
2906 	 * Returns: %TRUE if the @appinfo supports files.
2907 	 */
2908 	extern(C) int function(GAppInfo* appinfo) supportsFiles;
2909 	/**
2910 	 *
2911 	 * Params:
2912 	 *     appinfo = a #GAppInfo
2913 	 *     uris = a #GList containing URIs to launch.
2914 	 *     launchContext = a #GAppLaunchContext or %NULL
2915 	 * Returns: %TRUE on successful launch, %FALSE otherwise.
2916 	 *
2917 	 * Throws: GException on failure.
2918 	 */
2919 	extern(C) int function(GAppInfo* appinfo, GList* uris, GAppLaunchContext* launchContext, GError** err) launchUris;
2920 	/**
2921 	 *
2922 	 * Params:
2923 	 *     appinfo = a #GAppInfo.
2924 	 * Returns: %TRUE if the @appinfo should be shown, %FALSE otherwise.
2925 	 */
2926 	extern(C) int function(GAppInfo* appinfo) shouldShow;
2927 	/**
2928 	 *
2929 	 * Params:
2930 	 *     appinfo = a #GAppInfo.
2931 	 *     contentType = the content type.
2932 	 * Returns: %TRUE on success, %FALSE on error.
2933 	 *
2934 	 * Throws: GException on failure.
2935 	 */
2936 	extern(C) int function(GAppInfo* appinfo, const(char)* contentType, GError** err) setAsDefaultForType;
2937 	/**
2938 	 *
2939 	 * Params:
2940 	 *     appinfo = a #GAppInfo.
2941 	 *     extension = a string containing the file extension
2942 	 *         (without the dot).
2943 	 * Returns: %TRUE on success, %FALSE on error.
2944 	 *
2945 	 * Throws: GException on failure.
2946 	 */
2947 	extern(C) int function(GAppInfo* appinfo, char* extension, GError** err) setAsDefaultForExtension;
2948 	/**
2949 	 *
2950 	 * Params:
2951 	 *     appinfo = a #GAppInfo.
2952 	 *     contentType = a string.
2953 	 * Returns: %TRUE on success, %FALSE on error.
2954 	 *
2955 	 * Throws: GException on failure.
2956 	 */
2957 	extern(C) int function(GAppInfo* appinfo, const(char)* contentType, GError** err) addSupportsType;
2958 	/**
2959 	 *
2960 	 * Params:
2961 	 *     appinfo = a #GAppInfo.
2962 	 * Returns: %TRUE if it is possible to remove supported
2963 	 *     content types from a given @appinfo, %FALSE if not.
2964 	 */
2965 	extern(C) int function(GAppInfo* appinfo) canRemoveSupportsType;
2966 	/**
2967 	 *
2968 	 * Params:
2969 	 *     appinfo = a #GAppInfo.
2970 	 *     contentType = a string.
2971 	 * Returns: %TRUE on success, %FALSE on error.
2972 	 *
2973 	 * Throws: GException on failure.
2974 	 */
2975 	extern(C) int function(GAppInfo* appinfo, const(char)* contentType, GError** err) removeSupportsType;
2976 	/**
2977 	 *
2978 	 * Params:
2979 	 *     appinfo = a #GAppInfo
2980 	 * Returns: %TRUE if @appinfo can be deleted
2981 	 */
2982 	extern(C) int function(GAppInfo* appinfo) canDelete;
2983 	/**
2984 	 *
2985 	 * Params:
2986 	 *     appinfo = a #GAppInfo
2987 	 * Returns: %TRUE if @appinfo has been deleted
2988 	 */
2989 	extern(C) int function(GAppInfo* appinfo) doDelete;
2990 	/** */
2991 	extern(C) const(char)* function(GAppInfo* appinfo) getCommandline;
2992 	/**
2993 	 *
2994 	 * Params:
2995 	 *     appinfo = a #GAppInfo.
2996 	 * Returns: the display name of the application for @appinfo, or the name if
2997 	 *     no display name is available.
2998 	 */
2999 	extern(C) const(char)* function(GAppInfo* appinfo) getDisplayName;
3000 	/**
3001 	 *
3002 	 * Params:
3003 	 *     appinfo = a #GAppInfo.
3004 	 *     contentType = the content type.
3005 	 * Returns: %TRUE on success, %FALSE on error.
3006 	 *
3007 	 * Throws: GException on failure.
3008 	 */
3009 	extern(C) int function(GAppInfo* appinfo, const(char)* contentType, GError** err) setAsLastUsedForType;
3010 	/**
3011 	 *
3012 	 * Params:
3013 	 *     appinfo = a #GAppInfo that can handle files
3014 	 * Returns: a list of content types.
3015 	 */
3016 	extern(C) char** function(GAppInfo* appinfo) getSupportedTypes;
3017 }
3018 
3019 struct GAppInfoMonitor;
3020 
3021 struct GAppLaunchContext
3022 {
3023 	GObject parentInstance;
3024 	GAppLaunchContextPrivate* priv;
3025 }
3026 
3027 struct GAppLaunchContextClass
3028 {
3029 	GObjectClass parentClass;
3030 	/**
3031 	 *
3032 	 * Params:
3033 	 *     context = a #GAppLaunchContext
3034 	 *     info = a #GAppInfo
3035 	 *     files = a #GList of #GFile objects
3036 	 * Returns: a display string for the display.
3037 	 */
3038 	extern(C) char* function(GAppLaunchContext* context, GAppInfo* info, GList* files) getDisplay;
3039 	/**
3040 	 *
3041 	 * Params:
3042 	 *     context = a #GAppLaunchContext
3043 	 *     info = a #GAppInfo
3044 	 *     files = a #GList of of #GFile objects
3045 	 * Returns: a startup notification ID for the application, or %NULL if
3046 	 *     not supported.
3047 	 */
3048 	extern(C) char* function(GAppLaunchContext* context, GAppInfo* info, GList* files) getStartupNotifyId;
3049 	/** */
3050 	extern(C) void function(GAppLaunchContext* context, const(char)* startupNotifyId) launchFailed;
3051 	/** */
3052 	extern(C) void function(GAppLaunchContext* context, GAppInfo* info, GVariant* platformData) launched;
3053 	/** */
3054 	extern(C) void function() GReserved1;
3055 	/** */
3056 	extern(C) void function() GReserved2;
3057 	/** */
3058 	extern(C) void function() GReserved3;
3059 	/** */
3060 	extern(C) void function() GReserved4;
3061 }
3062 
3063 struct GAppLaunchContextPrivate;
3064 
3065 struct GApplication
3066 {
3067 	GObject parentInstance;
3068 	GApplicationPrivate* priv;
3069 }
3070 
3071 /**
3072  * Virtual function table for #GApplication.
3073  *
3074  * Since: 2.28
3075  */
3076 struct GApplicationClass
3077 {
3078 	GObjectClass parentClass;
3079 	/** */
3080 	extern(C) void function(GApplication* application) startup;
3081 	/** */
3082 	extern(C) void function(GApplication* application) activate;
3083 	/** */
3084 	extern(C) void function(GApplication* application, GFile** files, int nFiles, const(char)* hint) open;
3085 	/** */
3086 	extern(C) int function(GApplication* application, GApplicationCommandLine* commandLine) commandLine;
3087 	/**
3088 	 *
3089 	 * Params:
3090 	 *     application = a #GApplication
3091 	 *     arguments = array of command line arguments
3092 	 *     exitStatus = exit status to fill after processing the command line.
3093 	 * Returns: %TRUE if the commandline has been completely handled
3094 	 */
3095 	extern(C) int function(GApplication* application, char*** arguments, int* exitStatus) localCommandLine;
3096 	/** */
3097 	extern(C) void function(GApplication* application, GVariant* platformData) beforeEmit;
3098 	/** */
3099 	extern(C) void function(GApplication* application, GVariant* platformData) afterEmit;
3100 	/** */
3101 	extern(C) void function(GApplication* application, GVariantBuilder* builder) addPlatformData;
3102 	/** */
3103 	extern(C) void function(GApplication* application) quitMainloop;
3104 	/** */
3105 	extern(C) void function(GApplication* application) runMainloop;
3106 	/** */
3107 	extern(C) void function(GApplication* application) shutdown;
3108 	/** */
3109 	extern(C) int function(GApplication* application, GDBusConnection* connection, const(char)* objectPath, GError** err) dbusRegister;
3110 	/** */
3111 	extern(C) void function(GApplication* application, GDBusConnection* connection, const(char)* objectPath) dbusUnregister;
3112 	/** */
3113 	extern(C) int function(GApplication* application, GVariantDict* options) handleLocalOptions;
3114 	void*[8] padding;
3115 }
3116 
3117 struct GApplicationCommandLine
3118 {
3119 	GObject parentInstance;
3120 	GApplicationCommandLinePrivate* priv;
3121 }
3122 
3123 /**
3124  * The #GApplicationCommandLineClass-struct
3125  * contains private data only.
3126  *
3127  * Since: 2.28
3128  */
3129 struct GApplicationCommandLineClass
3130 {
3131 	GObjectClass parentClass;
3132 	/** */
3133 	extern(C) void function(GApplicationCommandLine* cmdline, const(char)* message) printLiteral;
3134 	/** */
3135 	extern(C) void function(GApplicationCommandLine* cmdline, const(char)* message) printerrLiteral;
3136 	/**
3137 	 *
3138 	 * Params:
3139 	 *     cmdline = a #GApplicationCommandLine
3140 	 * Returns: a #GInputStream for stdin
3141 	 */
3142 	extern(C) GInputStream* function(GApplicationCommandLine* cmdline) getStdin;
3143 	void*[11] padding;
3144 }
3145 
3146 struct GApplicationCommandLinePrivate;
3147 
3148 struct GApplicationPrivate;
3149 
3150 struct GAsyncInitable;
3151 
3152 /**
3153  * Provides an interface for asynchronous initializing object such that
3154  * initialization may fail.
3155  *
3156  * Since: 2.22
3157  */
3158 struct GAsyncInitableIface
3159 {
3160 	/**
3161 	 * The parent interface.
3162 	 */
3163 	GTypeInterface gIface;
3164 	/** */
3165 	extern(C) void function(GAsyncInitable* initable, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) initAsync;
3166 	/**
3167 	 *
3168 	 * Params:
3169 	 *     initable = a #GAsyncInitable.
3170 	 *     res = a #GAsyncResult.
3171 	 * Returns: %TRUE if successful. If an error has occurred, this function
3172 	 *     will return %FALSE and set @error appropriately if present.
3173 	 *
3174 	 * Throws: GException on failure.
3175 	 */
3176 	extern(C) int function(GAsyncInitable* initable, GAsyncResult* res, GError** err) initFinish;
3177 }
3178 
3179 struct GAsyncResult;
3180 
3181 /**
3182  * Interface definition for #GAsyncResult.
3183  */
3184 struct GAsyncResultIface
3185 {
3186 	/**
3187 	 * The parent interface.
3188 	 */
3189 	GTypeInterface gIface;
3190 	/**
3191 	 *
3192 	 * Params:
3193 	 *     res = a #GAsyncResult.
3194 	 * Returns: the user data for @res.
3195 	 */
3196 	extern(C) void* function(GAsyncResult* res) getUserData;
3197 	/**
3198 	 *
3199 	 * Params:
3200 	 *     res = a #GAsyncResult
3201 	 * Returns: a new reference to the source object for the @res,
3202 	 *     or %NULL if there is none.
3203 	 */
3204 	extern(C) GObject* function(GAsyncResult* res) getSourceObject;
3205 	/**
3206 	 *
3207 	 * Params:
3208 	 *     res = a #GAsyncResult
3209 	 *     sourceTag = an application-defined tag
3210 	 * Returns: %TRUE if @res has the indicated @source_tag, %FALSE if
3211 	 *     not.
3212 	 */
3213 	extern(C) int function(GAsyncResult* res, void* sourceTag) isTagged;
3214 }
3215 
3216 struct GBufferedInputStream
3217 {
3218 	GFilterInputStream parentInstance;
3219 	GBufferedInputStreamPrivate* priv;
3220 }
3221 
3222 struct GBufferedInputStreamClass
3223 {
3224 	GFilterInputStreamClass parentClass;
3225 	/**
3226 	 *
3227 	 * Params:
3228 	 *     stream = a #GBufferedInputStream
3229 	 *     count = the number of bytes that will be read from the stream
3230 	 *     cancellable = optional #GCancellable object, %NULL to ignore
3231 	 * Returns: the number of bytes read into @stream's buffer, up to @count,
3232 	 *     or -1 on error.
3233 	 *
3234 	 * Throws: GException on failure.
3235 	 */
3236 	extern(C) ptrdiff_t function(GBufferedInputStream* stream, ptrdiff_t count, GCancellable* cancellable, GError** err) fill;
3237 	/** */
3238 	extern(C) void function(GBufferedInputStream* stream, ptrdiff_t count, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) fillAsync;
3239 	/**
3240 	 *
3241 	 * Params:
3242 	 *     stream = a #GBufferedInputStream
3243 	 *     result = a #GAsyncResult
3244 	 * Returns: a #gssize of the read stream, or %-1 on an error.
3245 	 *
3246 	 * Throws: GException on failure.
3247 	 */
3248 	extern(C) ptrdiff_t function(GBufferedInputStream* stream, GAsyncResult* result, GError** err) fillFinish;
3249 	/** */
3250 	extern(C) void function() GReserved1;
3251 	/** */
3252 	extern(C) void function() GReserved2;
3253 	/** */
3254 	extern(C) void function() GReserved3;
3255 	/** */
3256 	extern(C) void function() GReserved4;
3257 	/** */
3258 	extern(C) void function() GReserved5;
3259 }
3260 
3261 struct GBufferedInputStreamPrivate;
3262 
3263 struct GBufferedOutputStream
3264 {
3265 	GFilterOutputStream parentInstance;
3266 	GBufferedOutputStreamPrivate* priv;
3267 }
3268 
3269 struct GBufferedOutputStreamClass
3270 {
3271 	GFilterOutputStreamClass parentClass;
3272 	/** */
3273 	extern(C) void function() GReserved1;
3274 	/** */
3275 	extern(C) void function() GReserved2;
3276 }
3277 
3278 struct GBufferedOutputStreamPrivate;
3279 
3280 struct GBytesIcon;
3281 
3282 struct GCancellable
3283 {
3284 	GObject parentInstance;
3285 	GCancellablePrivate* priv;
3286 }
3287 
3288 struct GCancellableClass
3289 {
3290 	GObjectClass parentClass;
3291 	/** */
3292 	extern(C) void function(GCancellable* cancellable) cancelled;
3293 	/** */
3294 	extern(C) void function() GReserved1;
3295 	/** */
3296 	extern(C) void function() GReserved2;
3297 	/** */
3298 	extern(C) void function() GReserved3;
3299 	/** */
3300 	extern(C) void function() GReserved4;
3301 	/** */
3302 	extern(C) void function() GReserved5;
3303 }
3304 
3305 struct GCancellablePrivate;
3306 
3307 struct GCharsetConverter;
3308 
3309 struct GCharsetConverterClass
3310 {
3311 	GObjectClass parentClass;
3312 }
3313 
3314 struct GConverter;
3315 
3316 /**
3317  * Provides an interface for converting data from one type
3318  * to another type. The conversion can be stateful
3319  * and may fail at any place.
3320  *
3321  * Since: 2.24
3322  */
3323 struct GConverterIface
3324 {
3325 	/**
3326 	 * The parent interface.
3327 	 */
3328 	GTypeInterface gIface;
3329 	/**
3330 	 *
3331 	 * Params:
3332 	 *     converter = a #GConverter.
3333 	 *     inbuf = the buffer
3334 	 *         containing the data to convert.
3335 	 *     inbufSize = the number of bytes in @inbuf
3336 	 *     outbuf = a buffer to write
3337 	 *         converted data in.
3338 	 *     outbufSize = the number of bytes in @outbuf, must be at least one
3339 	 *     flags = a #GConverterFlags controlling the conversion details
3340 	 *     bytesRead = will be set to the number of bytes read from @inbuf on success
3341 	 *     bytesWritten = will be set to the number of bytes written to @outbuf on success
3342 	 * Returns: a #GConverterResult, %G_CONVERTER_ERROR on error.
3343 	 *
3344 	 * Throws: GException on failure.
3345 	 */
3346 	extern(C) GConverterResult function(GConverter* converter, void* inbuf, size_t inbufSize, void* outbuf, size_t outbufSize, GConverterFlags flags, size_t* bytesRead, size_t* bytesWritten, GError** err) convert;
3347 	/** */
3348 	extern(C) void function(GConverter* converter) reset;
3349 }
3350 
3351 struct GConverterInputStream
3352 {
3353 	GFilterInputStream parentInstance;
3354 	GConverterInputStreamPrivate* priv;
3355 }
3356 
3357 struct GConverterInputStreamClass
3358 {
3359 	GFilterInputStreamClass parentClass;
3360 	/** */
3361 	extern(C) void function() GReserved1;
3362 	/** */
3363 	extern(C) void function() GReserved2;
3364 	/** */
3365 	extern(C) void function() GReserved3;
3366 	/** */
3367 	extern(C) void function() GReserved4;
3368 	/** */
3369 	extern(C) void function() GReserved5;
3370 }
3371 
3372 struct GConverterInputStreamPrivate;
3373 
3374 struct GConverterOutputStream
3375 {
3376 	GFilterOutputStream parentInstance;
3377 	GConverterOutputStreamPrivate* priv;
3378 }
3379 
3380 struct GConverterOutputStreamClass
3381 {
3382 	GFilterOutputStreamClass parentClass;
3383 	/** */
3384 	extern(C) void function() GReserved1;
3385 	/** */
3386 	extern(C) void function() GReserved2;
3387 	/** */
3388 	extern(C) void function() GReserved3;
3389 	/** */
3390 	extern(C) void function() GReserved4;
3391 	/** */
3392 	extern(C) void function() GReserved5;
3393 }
3394 
3395 struct GConverterOutputStreamPrivate;
3396 
3397 struct GCredentials;
3398 
3399 /**
3400  * Class structure for #GCredentials.
3401  *
3402  * Since: 2.26
3403  */
3404 struct GCredentialsClass;
3405 
3406 struct GDBusActionGroup;
3407 
3408 struct GDBusAnnotationInfo
3409 {
3410 	/**
3411 	 * The reference count or -1 if statically allocated.
3412 	 */
3413 	int refCount;
3414 	/**
3415 	 * The name of the annotation, e.g. "org.freedesktop.DBus.Deprecated".
3416 	 */
3417 	char* key;
3418 	/**
3419 	 * The value of the annotation.
3420 	 */
3421 	char* value;
3422 	/**
3423 	 * A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
3424 	 */
3425 	GDBusAnnotationInfo** annotations;
3426 }
3427 
3428 struct GDBusArgInfo
3429 {
3430 	/**
3431 	 * The reference count or -1 if statically allocated.
3432 	 */
3433 	int refCount;
3434 	/**
3435 	 * Name of the argument, e.g. @unix_user_id.
3436 	 */
3437 	char* name;
3438 	/**
3439 	 * D-Bus signature of the argument (a single complete type).
3440 	 */
3441 	char* signature;
3442 	/**
3443 	 * A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
3444 	 */
3445 	GDBusAnnotationInfo** annotations;
3446 }
3447 
3448 struct GDBusAuthObserver;
3449 
3450 struct GDBusConnection;
3451 
3452 /**
3453  * Struct used in g_dbus_error_register_error_domain().
3454  *
3455  * Since: 2.26
3456  */
3457 struct GDBusErrorEntry
3458 {
3459 	/**
3460 	 * An error code.
3461 	 */
3462 	int errorCode;
3463 	/**
3464 	 * The D-Bus error name to associate with @error_code.
3465 	 */
3466 	const(char)* dbusErrorName;
3467 }
3468 
3469 struct GDBusInterface;
3470 
3471 /**
3472  * Base type for D-Bus interfaces.
3473  *
3474  * Since: 2.30
3475  */
3476 struct GDBusInterfaceIface
3477 {
3478 	/**
3479 	 * The parent interface.
3480 	 */
3481 	GTypeInterface parentIface;
3482 	/**
3483 	 *
3484 	 * Params:
3485 	 *     iface = An exported D-Bus interface.
3486 	 * Returns: A #GDBusInterfaceInfo. Do not free.
3487 	 */
3488 	extern(C) GDBusInterfaceInfo* function(GDBusInterface* iface) getInfo;
3489 	/**
3490 	 *
3491 	 * Params:
3492 	 *     iface = An exported D-Bus interface
3493 	 * Returns: A #GDBusObject or %NULL. The returned
3494 	 *     reference belongs to @interface_ and should not be freed.
3495 	 */
3496 	extern(C) GDBusObject* function(GDBusInterface* iface) getObject;
3497 	/** */
3498 	extern(C) void function(GDBusInterface* iface, GDBusObject* object) setObject;
3499 	/**
3500 	 *
3501 	 * Params:
3502 	 *     iface = An exported D-Bus interface.
3503 	 * Returns: A #GDBusObject or %NULL. The returned
3504 	 *     reference should be freed with g_object_unref().
3505 	 */
3506 	extern(C) GDBusObject* function(GDBusInterface* iface) dupObject;
3507 }
3508 
3509 struct GDBusInterfaceInfo
3510 {
3511 	/**
3512 	 * The reference count or -1 if statically allocated.
3513 	 */
3514 	int refCount;
3515 	/**
3516 	 * The name of the D-Bus interface, e.g. "org.freedesktop.DBus.Properties".
3517 	 */
3518 	char* name;
3519 	/**
3520 	 * A pointer to a %NULL-terminated array of pointers to #GDBusMethodInfo structures or %NULL if there are no methods.
3521 	 */
3522 	GDBusMethodInfo** methods;
3523 	/**
3524 	 * A pointer to a %NULL-terminated array of pointers to #GDBusSignalInfo structures or %NULL if there are no signals.
3525 	 */
3526 	GDBusSignalInfo** signals;
3527 	/**
3528 	 * A pointer to a %NULL-terminated array of pointers to #GDBusPropertyInfo structures or %NULL if there are no properties.
3529 	 */
3530 	GDBusPropertyInfo** properties;
3531 	/**
3532 	 * A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
3533 	 */
3534 	GDBusAnnotationInfo** annotations;
3535 }
3536 
3537 struct GDBusInterfaceSkeleton
3538 {
3539 	GObject parentInstance;
3540 	GDBusInterfaceSkeletonPrivate* priv;
3541 }
3542 
3543 /**
3544  * Class structure for #GDBusInterfaceSkeleton.
3545  *
3546  * Since: 2.30
3547  */
3548 struct GDBusInterfaceSkeletonClass
3549 {
3550 	/**
3551 	 * The parent class.
3552 	 */
3553 	GObjectClass parentClass;
3554 	/**
3555 	 *
3556 	 * Params:
3557 	 *     iface = A #GDBusInterfaceSkeleton.
3558 	 * Returns: A #GDBusInterfaceInfo (never %NULL). Do not free.
3559 	 */
3560 	extern(C) GDBusInterfaceInfo* function(GDBusInterfaceSkeleton* iface) getInfo;
3561 	/**
3562 	 *
3563 	 * Params:
3564 	 *     iface = A #GDBusInterfaceSkeleton.
3565 	 * Returns: A #GDBusInterfaceVTable (never %NULL).
3566 	 */
3567 	extern(C) GDBusInterfaceVTable* function(GDBusInterfaceSkeleton* iface) getVtable;
3568 	/**
3569 	 *
3570 	 * Params:
3571 	 *     iface = A #GDBusInterfaceSkeleton.
3572 	 * Returns: A #GVariant of type
3573 	 *     ['a{sv}'][G-VARIANT-TYPE-VARDICT:CAPS].
3574 	 *     Free with g_variant_unref().
3575 	 */
3576 	extern(C) GVariant* function(GDBusInterfaceSkeleton* iface) getProperties;
3577 	/** */
3578 	extern(C) void function(GDBusInterfaceSkeleton* iface) flush;
3579 	void*[8] vfuncPadding;
3580 	/** */
3581 	extern(C) int function(GDBusInterfaceSkeleton* iface, GDBusMethodInvocation* invocation) gAuthorizeMethod;
3582 	void*[8] signalPadding;
3583 }
3584 
3585 struct GDBusInterfaceSkeletonPrivate;
3586 
3587 /**
3588  * Virtual table for handling properties and method calls for a D-Bus
3589  * interface.
3590  *
3591  * Since 2.38, if you want to handle getting/setting D-Bus properties
3592  * asynchronously, give %NULL as your get_property() or set_property()
3593  * function. The D-Bus call will be directed to your @method_call function,
3594  * with the provided @interface_name set to "org.freedesktop.DBus.Properties".
3595  *
3596  * Ownership of the #GDBusMethodInvocation object passed to the
3597  * method_call() function is transferred to your handler; you must
3598  * call one of the methods of #GDBusMethodInvocation to return a reply
3599  * (possibly empty), or an error. These functions also take ownership
3600  * of the passed-in invocation object, so unless the invocation
3601  * object has otherwise been referenced, it will be then be freed.
3602  * Calling one of these functions may be done within your
3603  * method_call() implementation but it also can be done at a later
3604  * point to handle the method asynchronously.
3605  *
3606  * The usual checks on the validity of the calls is performed. For
3607  * `Get` calls, an error is automatically returned if the property does
3608  * not exist or the permissions do not allow access. The same checks are
3609  * performed for `Set` calls, and the provided value is also checked for
3610  * being the correct type.
3611  *
3612  * For both `Get` and `Set` calls, the #GDBusMethodInvocation
3613  * passed to the @method_call handler can be queried with
3614  * g_dbus_method_invocation_get_property_info() to get a pointer
3615  * to the #GDBusPropertyInfo of the property.
3616  *
3617  * If you have readable properties specified in your interface info,
3618  * you must ensure that you either provide a non-%NULL @get_property()
3619  * function or provide implementations of both the `Get` and `GetAll`
3620  * methods on org.freedesktop.DBus.Properties interface in your @method_call
3621  * function. Note that the required return type of the `Get` call is
3622  * `(v)`, not the type of the property. `GetAll` expects a return value
3623  * of type `a{sv}`.
3624  *
3625  * If you have writable properties specified in your interface info,
3626  * you must ensure that you either provide a non-%NULL @set_property()
3627  * function or provide an implementation of the `Set` call. If implementing
3628  * the call, you must return the value of type %G_VARIANT_TYPE_UNIT.
3629  *
3630  * Since: 2.26
3631  */
3632 struct GDBusInterfaceVTable
3633 {
3634 	/**
3635 	 * Function for handling incoming method calls.
3636 	 */
3637 	GDBusInterfaceMethodCallFunc methodCall;
3638 	/**
3639 	 * Function for getting a property.
3640 	 */
3641 	GDBusInterfaceGetPropertyFunc getProperty;
3642 	/**
3643 	 * Function for setting a property.
3644 	 */
3645 	GDBusInterfaceSetPropertyFunc setProperty;
3646 	void*[8] padding;
3647 }
3648 
3649 struct GDBusMenuModel;
3650 
3651 struct GDBusMessage;
3652 
3653 struct GDBusMethodInfo
3654 {
3655 	/**
3656 	 * The reference count or -1 if statically allocated.
3657 	 */
3658 	int refCount;
3659 	/**
3660 	 * The name of the D-Bus method, e.g. @RequestName.
3661 	 */
3662 	char* name;
3663 	/**
3664 	 * A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no in arguments.
3665 	 */
3666 	GDBusArgInfo** inArgs;
3667 	/**
3668 	 * A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no out arguments.
3669 	 */
3670 	GDBusArgInfo** outArgs;
3671 	/**
3672 	 * A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
3673 	 */
3674 	GDBusAnnotationInfo** annotations;
3675 }
3676 
3677 struct GDBusMethodInvocation;
3678 
3679 struct GDBusNodeInfo
3680 {
3681 	/**
3682 	 * The reference count or -1 if statically allocated.
3683 	 */
3684 	int refCount;
3685 	/**
3686 	 * The path of the node or %NULL if omitted. Note that this may be a relative path. See the D-Bus specification for more details.
3687 	 */
3688 	char* path;
3689 	/**
3690 	 * A pointer to a %NULL-terminated array of pointers to #GDBusInterfaceInfo structures or %NULL if there are no interfaces.
3691 	 */
3692 	GDBusInterfaceInfo** interfaces;
3693 	/**
3694 	 * A pointer to a %NULL-terminated array of pointers to #GDBusNodeInfo structures or %NULL if there are no nodes.
3695 	 */
3696 	GDBusNodeInfo** nodes;
3697 	/**
3698 	 * A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
3699 	 */
3700 	GDBusAnnotationInfo** annotations;
3701 }
3702 
3703 struct GDBusObject;
3704 
3705 /**
3706  * Base object type for D-Bus objects.
3707  *
3708  * Since: 2.30
3709  */
3710 struct GDBusObjectIface
3711 {
3712 	/**
3713 	 * The parent interface.
3714 	 */
3715 	GTypeInterface parentIface;
3716 	/**
3717 	 *
3718 	 * Params:
3719 	 *     object = A #GDBusObject.
3720 	 * Returns: A string owned by @object. Do not free.
3721 	 */
3722 	extern(C) const(char)* function(GDBusObject* object) getObjectPath;
3723 	/**
3724 	 *
3725 	 * Params:
3726 	 *     object = A #GDBusObject.
3727 	 * Returns: A list of #GDBusInterface instances.
3728 	 *     The returned list must be freed by g_list_free() after each element has been freed
3729 	 *     with g_object_unref().
3730 	 */
3731 	extern(C) GList* function(GDBusObject* object) getInterfaces;
3732 	/**
3733 	 *
3734 	 * Params:
3735 	 *     object = A #GDBusObject.
3736 	 *     interfaceName = A D-Bus interface name.
3737 	 * Returns: %NULL if not found, otherwise a
3738 	 *     #GDBusInterface that must be freed with g_object_unref().
3739 	 */
3740 	extern(C) GDBusInterface* function(GDBusObject* object, const(char)* interfaceName) getInterface;
3741 	/** */
3742 	extern(C) void function(GDBusObject* object, GDBusInterface* iface) interfaceAdded;
3743 	/** */
3744 	extern(C) void function(GDBusObject* object, GDBusInterface* iface) interfaceRemoved;
3745 }
3746 
3747 struct GDBusObjectManager;
3748 
3749 struct GDBusObjectManagerClient
3750 {
3751 	GObject parentInstance;
3752 	GDBusObjectManagerClientPrivate* priv;
3753 }
3754 
3755 /**
3756  * Class structure for #GDBusObjectManagerClient.
3757  *
3758  * Since: 2.30
3759  */
3760 struct GDBusObjectManagerClientClass
3761 {
3762 	/**
3763 	 * The parent class.
3764 	 */
3765 	GObjectClass parentClass;
3766 	/** */
3767 	extern(C) void function(GDBusObjectManagerClient* manager, GDBusObjectProxy* objectProxy, GDBusProxy* interfaceProxy, const(char)* senderName, const(char)* signalName, GVariant* parameters) interfaceProxySignal;
3768 	/** */
3769 	extern(C) void function(GDBusObjectManagerClient* manager, GDBusObjectProxy* objectProxy, GDBusProxy* interfaceProxy, GVariant* changedProperties, const(char)* invalidatedProperties) interfaceProxyPropertiesChanged;
3770 	void*[8] padding;
3771 }
3772 
3773 struct GDBusObjectManagerClientPrivate;
3774 
3775 /**
3776  * Base type for D-Bus object managers.
3777  *
3778  * Since: 2.30
3779  */
3780 struct GDBusObjectManagerIface
3781 {
3782 	/**
3783 	 * The parent interface.
3784 	 */
3785 	GTypeInterface parentIface;
3786 	/**
3787 	 *
3788 	 * Params:
3789 	 *     manager = A #GDBusObjectManager.
3790 	 * Returns: A string owned by @manager. Do not free.
3791 	 */
3792 	extern(C) const(char)* function(GDBusObjectManager* manager) getObjectPath;
3793 	/**
3794 	 *
3795 	 * Params:
3796 	 *     manager = A #GDBusObjectManager.
3797 	 * Returns: A list of
3798 	 *     #GDBusObject objects. The returned list should be freed with
3799 	 *     g_list_free() after each element has been freed with
3800 	 *     g_object_unref().
3801 	 */
3802 	extern(C) GList* function(GDBusObjectManager* manager) getObjects;
3803 	/**
3804 	 *
3805 	 * Params:
3806 	 *     manager = A #GDBusObjectManager.
3807 	 *     objectPath = Object path to lookup.
3808 	 * Returns: A #GDBusObject or %NULL. Free with
3809 	 *     g_object_unref().
3810 	 */
3811 	extern(C) GDBusObject* function(GDBusObjectManager* manager, const(char)* objectPath) getObject;
3812 	/**
3813 	 *
3814 	 * Params:
3815 	 *     manager = A #GDBusObjectManager.
3816 	 *     objectPath = Object path to lookup.
3817 	 *     interfaceName = D-Bus interface name to lookup.
3818 	 * Returns: A #GDBusInterface instance or %NULL. Free
3819 	 *     with g_object_unref().
3820 	 */
3821 	extern(C) GDBusInterface* function(GDBusObjectManager* manager, const(char)* objectPath, const(char)* interfaceName) getInterface;
3822 	/** */
3823 	extern(C) void function(GDBusObjectManager* manager, GDBusObject* object) objectAdded;
3824 	/** */
3825 	extern(C) void function(GDBusObjectManager* manager, GDBusObject* object) objectRemoved;
3826 	/** */
3827 	extern(C) void function(GDBusObjectManager* manager, GDBusObject* object, GDBusInterface* iface) interfaceAdded;
3828 	/** */
3829 	extern(C) void function(GDBusObjectManager* manager, GDBusObject* object, GDBusInterface* iface) interfaceRemoved;
3830 }
3831 
3832 struct GDBusObjectManagerServer
3833 {
3834 	GObject parentInstance;
3835 	GDBusObjectManagerServerPrivate* priv;
3836 }
3837 
3838 /**
3839  * Class structure for #GDBusObjectManagerServer.
3840  *
3841  * Since: 2.30
3842  */
3843 struct GDBusObjectManagerServerClass
3844 {
3845 	/**
3846 	 * The parent class.
3847 	 */
3848 	GObjectClass parentClass;
3849 	void*[8] padding;
3850 }
3851 
3852 struct GDBusObjectManagerServerPrivate;
3853 
3854 struct GDBusObjectProxy
3855 {
3856 	GObject parentInstance;
3857 	GDBusObjectProxyPrivate* priv;
3858 }
3859 
3860 /**
3861  * Class structure for #GDBusObjectProxy.
3862  *
3863  * Since: 2.30
3864  */
3865 struct GDBusObjectProxyClass
3866 {
3867 	/**
3868 	 * The parent class.
3869 	 */
3870 	GObjectClass parentClass;
3871 	void*[8] padding;
3872 }
3873 
3874 struct GDBusObjectProxyPrivate;
3875 
3876 struct GDBusObjectSkeleton
3877 {
3878 	GObject parentInstance;
3879 	GDBusObjectSkeletonPrivate* priv;
3880 }
3881 
3882 /**
3883  * Class structure for #GDBusObjectSkeleton.
3884  *
3885  * Since: 2.30
3886  */
3887 struct GDBusObjectSkeletonClass
3888 {
3889 	/**
3890 	 * The parent class.
3891 	 */
3892 	GObjectClass parentClass;
3893 	/** */
3894 	extern(C) int function(GDBusObjectSkeleton* object, GDBusInterfaceSkeleton* iface, GDBusMethodInvocation* invocation) authorizeMethod;
3895 	void*[8] padding;
3896 }
3897 
3898 struct GDBusObjectSkeletonPrivate;
3899 
3900 struct GDBusPropertyInfo
3901 {
3902 	/**
3903 	 * The reference count or -1 if statically allocated.
3904 	 */
3905 	int refCount;
3906 	/**
3907 	 * The name of the D-Bus property, e.g. "SupportedFilesystems".
3908 	 */
3909 	char* name;
3910 	/**
3911 	 * The D-Bus signature of the property (a single complete type).
3912 	 */
3913 	char* signature;
3914 	/**
3915 	 * Access control flags for the property.
3916 	 */
3917 	GDBusPropertyInfoFlags flags;
3918 	/**
3919 	 * A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
3920 	 */
3921 	GDBusAnnotationInfo** annotations;
3922 }
3923 
3924 struct GDBusProxy
3925 {
3926 	GObject parentInstance;
3927 	GDBusProxyPrivate* priv;
3928 }
3929 
3930 /**
3931  * Class structure for #GDBusProxy.
3932  *
3933  * Since: 2.26
3934  */
3935 struct GDBusProxyClass
3936 {
3937 	GObjectClass parentClass;
3938 	/** */
3939 	extern(C) void function(GDBusProxy* proxy, GVariant* changedProperties, const(char)* invalidatedProperties) gPropertiesChanged;
3940 	/** */
3941 	extern(C) void function(GDBusProxy* proxy, const(char)* senderName, const(char)* signalName, GVariant* parameters) gSignal;
3942 	void*[32] padding;
3943 }
3944 
3945 struct GDBusProxyPrivate;
3946 
3947 struct GDBusServer;
3948 
3949 struct GDBusSignalInfo
3950 {
3951 	/**
3952 	 * The reference count or -1 if statically allocated.
3953 	 */
3954 	int refCount;
3955 	/**
3956 	 * The name of the D-Bus signal, e.g. "NameOwnerChanged".
3957 	 */
3958 	char* name;
3959 	/**
3960 	 * A pointer to a %NULL-terminated array of pointers to #GDBusArgInfo structures or %NULL if there are no arguments.
3961 	 */
3962 	GDBusArgInfo** args;
3963 	/**
3964 	 * A pointer to a %NULL-terminated array of pointers to #GDBusAnnotationInfo structures or %NULL if there are no annotations.
3965 	 */
3966 	GDBusAnnotationInfo** annotations;
3967 }
3968 
3969 /**
3970  * Virtual table for handling subtrees registered with g_dbus_connection_register_subtree().
3971  *
3972  * Since: 2.26
3973  */
3974 struct GDBusSubtreeVTable
3975 {
3976 	/**
3977 	 * Function for enumerating child nodes.
3978 	 */
3979 	GDBusSubtreeEnumerateFunc enumerate;
3980 	/**
3981 	 * Function for introspecting a child node.
3982 	 */
3983 	GDBusSubtreeIntrospectFunc introspect;
3984 	/**
3985 	 * Function for dispatching a remote call on a child node.
3986 	 */
3987 	GDBusSubtreeDispatchFunc dispatch;
3988 	void*[8] padding;
3989 }
3990 
3991 struct GDataInputStream
3992 {
3993 	GBufferedInputStream parentInstance;
3994 	GDataInputStreamPrivate* priv;
3995 }
3996 
3997 struct GDataInputStreamClass
3998 {
3999 	GBufferedInputStreamClass parentClass;
4000 	/** */
4001 	extern(C) void function() GReserved1;
4002 	/** */
4003 	extern(C) void function() GReserved2;
4004 	/** */
4005 	extern(C) void function() GReserved3;
4006 	/** */
4007 	extern(C) void function() GReserved4;
4008 	/** */
4009 	extern(C) void function() GReserved5;
4010 }
4011 
4012 struct GDataInputStreamPrivate;
4013 
4014 struct GDataOutputStream
4015 {
4016 	GFilterOutputStream parentInstance;
4017 	GDataOutputStreamPrivate* priv;
4018 }
4019 
4020 struct GDataOutputStreamClass
4021 {
4022 	GFilterOutputStreamClass parentClass;
4023 	/** */
4024 	extern(C) void function() GReserved1;
4025 	/** */
4026 	extern(C) void function() GReserved2;
4027 	/** */
4028 	extern(C) void function() GReserved3;
4029 	/** */
4030 	extern(C) void function() GReserved4;
4031 	/** */
4032 	extern(C) void function() GReserved5;
4033 }
4034 
4035 struct GDataOutputStreamPrivate;
4036 
4037 struct GDatagramBased;
4038 
4039 /**
4040  * Provides an interface for socket-like objects which have datagram semantics,
4041  * following the Berkeley sockets API. The interface methods are thin wrappers
4042  * around the corresponding virtual methods, and no pre-processing of inputs is
4043  * implemented — so implementations of this API must handle all functionality
4044  * documented in the interface methods.
4045  *
4046  * Since: 2.48
4047  */
4048 struct GDatagramBasedInterface
4049 {
4050 	/**
4051 	 * The parent interface.
4052 	 */
4053 	GTypeInterface gIface;
4054 	/**
4055 	 *
4056 	 * Params:
4057 	 *     datagramBased = a #GDatagramBased
4058 	 *     messages = an array of #GInputMessage structs
4059 	 *     numMessages = the number of elements in @messages
4060 	 *     flags = an int containing #GSocketMsgFlags flags for the overall operation
4061 	 *     timeout = the maximum time (in microseconds) to wait, 0 to not block, or -1
4062 	 *         to block indefinitely
4063 	 *     cancellable = a %GCancellable
4064 	 * Returns: number of messages received, or -1 on error. Note that the number
4065 	 *     of messages received may be smaller than @num_messages if @timeout is
4066 	 *     zero or positive, if the peer closed the connection, or if @num_messages
4067 	 *     was larger than `UIO_MAXIOV` (1024), in which case the caller may re-try
4068 	 *     to receive the remaining messages.
4069 	 *
4070 	 * Throws: GException on failure.
4071 	 */
4072 	extern(C) int function(GDatagramBased* datagramBased, GInputMessage* messages, uint numMessages, int flags, long timeout, GCancellable* cancellable, GError** err) receiveMessages;
4073 	/**
4074 	 *
4075 	 * Params:
4076 	 *     datagramBased = a #GDatagramBased
4077 	 *     messages = an array of #GOutputMessage structs
4078 	 *     numMessages = the number of elements in @messages
4079 	 *     flags = an int containing #GSocketMsgFlags flags
4080 	 *     timeout = the maximum time (in microseconds) to wait, 0 to not block, or -1
4081 	 *         to block indefinitely
4082 	 *     cancellable = a %GCancellable
4083 	 * Returns: number of messages sent, or -1 on error. Note that the number of
4084 	 *     messages sent may be smaller than @num_messages if @timeout is zero
4085 	 *     or positive, or if @num_messages was larger than `UIO_MAXIOV` (1024), in
4086 	 *     which case the caller may re-try to send the remaining messages.
4087 	 *
4088 	 * Throws: GException on failure.
4089 	 */
4090 	extern(C) int function(GDatagramBased* datagramBased, GOutputMessage* messages, uint numMessages, int flags, long timeout, GCancellable* cancellable, GError** err) sendMessages;
4091 	/**
4092 	 *
4093 	 * Params:
4094 	 *     datagramBased = a #GDatagramBased
4095 	 *     condition = a #GIOCondition mask to monitor
4096 	 *     cancellable = a #GCancellable
4097 	 * Returns: a newly allocated #GSource
4098 	 */
4099 	extern(C) GSource* function(GDatagramBased* datagramBased, GIOCondition condition, GCancellable* cancellable) createSource;
4100 	/**
4101 	 *
4102 	 * Params:
4103 	 *     datagramBased = a #GDatagramBased
4104 	 *     condition = a #GIOCondition mask to check
4105 	 * Returns: the #GIOCondition mask of the current state
4106 	 */
4107 	extern(C) GIOCondition function(GDatagramBased* datagramBased, GIOCondition condition) conditionCheck;
4108 	/**
4109 	 *
4110 	 * Params:
4111 	 *     datagramBased = a #GDatagramBased
4112 	 *     condition = a #GIOCondition mask to wait for
4113 	 *     timeout = the maximum time (in microseconds) to wait, 0 to not block, or -1
4114 	 *         to block indefinitely
4115 	 *     cancellable = a #GCancellable
4116 	 * Returns: %TRUE if the condition was met, %FALSE otherwise
4117 	 *
4118 	 * Throws: GException on failure.
4119 	 */
4120 	extern(C) int function(GDatagramBased* datagramBased, GIOCondition condition, long timeout, GCancellable* cancellable, GError** err) conditionWait;
4121 }
4122 
4123 struct GDesktopAppInfo;
4124 
4125 struct GDesktopAppInfoClass
4126 {
4127 	GObjectClass parentClass;
4128 }
4129 
4130 struct GDesktopAppInfoLookup;
4131 
4132 /**
4133  * Interface that is used by backends to associate default
4134  * handlers with URI schemes.
4135  */
4136 struct GDesktopAppInfoLookupIface
4137 {
4138 	GTypeInterface gIface;
4139 	/**
4140 	 *
4141 	 * Params:
4142 	 *     lookup = a #GDesktopAppInfoLookup
4143 	 *     uriScheme = a string containing a URI scheme.
4144 	 * Returns: #GAppInfo for given @uri_scheme or %NULL on error.
4145 	 */
4146 	extern(C) GAppInfo* function(GDesktopAppInfoLookup* lookup, const(char)* uriScheme) getDefaultForUriScheme;
4147 }
4148 
4149 struct GDrive;
4150 
4151 /**
4152  * Interface for creating #GDrive implementations.
4153  */
4154 struct GDriveIface
4155 {
4156 	/**
4157 	 * The parent interface.
4158 	 */
4159 	GTypeInterface gIface;
4160 	/** */
4161 	extern(C) void function(GDrive* drive) changed;
4162 	/** */
4163 	extern(C) void function(GDrive* drive) disconnected;
4164 	/** */
4165 	extern(C) void function(GDrive* drive) ejectButton;
4166 	/**
4167 	 *
4168 	 * Params:
4169 	 *     drive = a #GDrive.
4170 	 * Returns: a string containing @drive's name. The returned
4171 	 *     string should be freed when no longer needed.
4172 	 */
4173 	extern(C) char* function(GDrive* drive) getName;
4174 	/**
4175 	 *
4176 	 * Params:
4177 	 *     drive = a #GDrive.
4178 	 * Returns: #GIcon for the @drive.
4179 	 *     Free the returned object with g_object_unref().
4180 	 */
4181 	extern(C) GIcon* function(GDrive* drive) getIcon;
4182 	/**
4183 	 *
4184 	 * Params:
4185 	 *     drive = a #GDrive.
4186 	 * Returns: %TRUE if the @drive contains volumes, %FALSE otherwise.
4187 	 */
4188 	extern(C) int function(GDrive* drive) hasVolumes;
4189 	/**
4190 	 *
4191 	 * Params:
4192 	 *     drive = a #GDrive.
4193 	 * Returns: #GList containing any #GVolume objects on the given @drive.
4194 	 */
4195 	extern(C) GList* function(GDrive* drive) getVolumes;
4196 	/**
4197 	 *
4198 	 * Params:
4199 	 *     drive = a #GDrive.
4200 	 * Returns: %TRUE if @drive supports removable media, %FALSE otherwise.
4201 	 */
4202 	extern(C) int function(GDrive* drive) isMediaRemovable;
4203 	/**
4204 	 *
4205 	 * Params:
4206 	 *     drive = a #GDrive.
4207 	 * Returns: %TRUE if @drive has media, %FALSE otherwise.
4208 	 */
4209 	extern(C) int function(GDrive* drive) hasMedia;
4210 	/**
4211 	 *
4212 	 * Params:
4213 	 *     drive = a #GDrive.
4214 	 * Returns: %TRUE if the @drive is capabable of automatically detecting
4215 	 *     media changes, %FALSE otherwise.
4216 	 */
4217 	extern(C) int function(GDrive* drive) isMediaCheckAutomatic;
4218 	/**
4219 	 *
4220 	 * Params:
4221 	 *     drive = a #GDrive.
4222 	 * Returns: %TRUE if the @drive can be ejected, %FALSE otherwise.
4223 	 */
4224 	extern(C) int function(GDrive* drive) canEject;
4225 	/**
4226 	 *
4227 	 * Params:
4228 	 *     drive = a #GDrive.
4229 	 * Returns: %TRUE if the @drive can be polled for media changes,
4230 	 *     %FALSE otherwise.
4231 	 */
4232 	extern(C) int function(GDrive* drive) canPollForMedia;
4233 	/** */
4234 	extern(C) void function(GDrive* drive, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) eject;
4235 	/**
4236 	 *
4237 	 * Params:
4238 	 *     drive = a #GDrive.
4239 	 *     result = a #GAsyncResult.
4240 	 * Returns: %TRUE if the drive has been ejected successfully,
4241 	 *     %FALSE otherwise.
4242 	 *
4243 	 * Throws: GException on failure.
4244 	 */
4245 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** err) ejectFinish;
4246 	/** */
4247 	extern(C) void function(GDrive* drive, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) pollForMedia;
4248 	/**
4249 	 *
4250 	 * Params:
4251 	 *     drive = a #GDrive.
4252 	 *     result = a #GAsyncResult.
4253 	 * Returns: %TRUE if the drive has been poll_for_mediaed successfully,
4254 	 *     %FALSE otherwise.
4255 	 *
4256 	 * Throws: GException on failure.
4257 	 */
4258 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** err) pollForMediaFinish;
4259 	/**
4260 	 *
4261 	 * Params:
4262 	 *     drive = a #GDrive
4263 	 *     kind = the kind of identifier to return
4264 	 * Returns: a newly allocated string containing the
4265 	 *     requested identfier, or %NULL if the #GDrive
4266 	 *     doesn't have this kind of identifier.
4267 	 */
4268 	extern(C) char* function(GDrive* drive, const(char)* kind) getIdentifier;
4269 	/**
4270 	 *
4271 	 * Params:
4272 	 *     drive = a #GDrive
4273 	 * Returns: a %NULL-terminated
4274 	 *     array of strings containing kinds of identifiers. Use g_strfreev()
4275 	 *     to free.
4276 	 */
4277 	extern(C) char** function(GDrive* drive) enumerateIdentifiers;
4278 	/**
4279 	 *
4280 	 * Params:
4281 	 *     drive = a #GDrive.
4282 	 * Returns: A value from the #GDriveStartStopType enumeration.
4283 	 */
4284 	extern(C) GDriveStartStopType function(GDrive* drive) getStartStopType;
4285 	/**
4286 	 *
4287 	 * Params:
4288 	 *     drive = a #GDrive.
4289 	 * Returns: %TRUE if the @drive can be started, %FALSE otherwise.
4290 	 */
4291 	extern(C) int function(GDrive* drive) canStart;
4292 	/**
4293 	 *
4294 	 * Params:
4295 	 *     drive = a #GDrive.
4296 	 * Returns: %TRUE if the @drive can be started degraded, %FALSE otherwise.
4297 	 */
4298 	extern(C) int function(GDrive* drive) canStartDegraded;
4299 	/** */
4300 	extern(C) void function(GDrive* drive, GDriveStartFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) start;
4301 	/**
4302 	 *
4303 	 * Params:
4304 	 *     drive = a #GDrive.
4305 	 *     result = a #GAsyncResult.
4306 	 * Returns: %TRUE if the drive has been started successfully,
4307 	 *     %FALSE otherwise.
4308 	 *
4309 	 * Throws: GException on failure.
4310 	 */
4311 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** err) startFinish;
4312 	/**
4313 	 *
4314 	 * Params:
4315 	 *     drive = a #GDrive.
4316 	 * Returns: %TRUE if the @drive can be stopped, %FALSE otherwise.
4317 	 */
4318 	extern(C) int function(GDrive* drive) canStop;
4319 	/** */
4320 	extern(C) void function(GDrive* drive, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) stop;
4321 	/**
4322 	 *
4323 	 * Params:
4324 	 *     drive = a #GDrive.
4325 	 *     result = a #GAsyncResult.
4326 	 * Returns: %TRUE if the drive has been stopped successfully,
4327 	 *     %FALSE otherwise.
4328 	 *
4329 	 * Throws: GException on failure.
4330 	 */
4331 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** err) stopFinish;
4332 	/** */
4333 	extern(C) void function(GDrive* drive) stopButton;
4334 	/** */
4335 	extern(C) void function(GDrive* drive, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) ejectWithOperation;
4336 	/**
4337 	 *
4338 	 * Params:
4339 	 *     drive = a #GDrive.
4340 	 *     result = a #GAsyncResult.
4341 	 * Returns: %TRUE if the drive was successfully ejected. %FALSE otherwise.
4342 	 *
4343 	 * Throws: GException on failure.
4344 	 */
4345 	extern(C) int function(GDrive* drive, GAsyncResult* result, GError** err) ejectWithOperationFinish;
4346 	/**
4347 	 *
4348 	 * Params:
4349 	 *     drive = A #GDrive.
4350 	 * Returns: Sorting key for @drive or %NULL if no such key is available.
4351 	 */
4352 	extern(C) const(char)* function(GDrive* drive) getSortKey;
4353 	/**
4354 	 *
4355 	 * Params:
4356 	 *     drive = a #GDrive.
4357 	 * Returns: symbolic #GIcon for the @drive.
4358 	 *     Free the returned object with g_object_unref().
4359 	 */
4360 	extern(C) GIcon* function(GDrive* drive) getSymbolicIcon;
4361 	/**
4362 	 *
4363 	 * Params:
4364 	 *     drive = a #GDrive.
4365 	 * Returns: %TRUE if @drive and/or its media is considered removable, %FALSE otherwise.
4366 	 */
4367 	extern(C) int function(GDrive* drive) isRemovable;
4368 }
4369 
4370 struct GDtlsClientConnection;
4371 
4372 /**
4373  * vtable for a #GDtlsClientConnection implementation.
4374  *
4375  * Since: 2.48
4376  */
4377 struct GDtlsClientConnectionInterface
4378 {
4379 	/**
4380 	 * The parent interface.
4381 	 */
4382 	GTypeInterface gIface;
4383 }
4384 
4385 struct GDtlsConnection;
4386 
4387 /**
4388  * Virtual method table for a #GDtlsConnection implementation.
4389  *
4390  * Since: 2.48
4391  */
4392 struct GDtlsConnectionInterface
4393 {
4394 	/**
4395 	 * The parent interface.
4396 	 */
4397 	GTypeInterface gIface;
4398 	/** */
4399 	extern(C) int function(GDtlsConnection* connection, GTlsCertificate* peerCert, GTlsCertificateFlags errors) acceptCertificate;
4400 	/**
4401 	 *
4402 	 * Params:
4403 	 *     conn = a #GDtlsConnection
4404 	 *     cancellable = a #GCancellable, or %NULL
4405 	 * Returns: success or failure
4406 	 *
4407 	 * Throws: GException on failure.
4408 	 */
4409 	extern(C) int function(GDtlsConnection* conn, GCancellable* cancellable, GError** err) handshake;
4410 	/** */
4411 	extern(C) void function(GDtlsConnection* conn, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) handshakeAsync;
4412 	/**
4413 	 *
4414 	 * Params:
4415 	 *     conn = a #GDtlsConnection
4416 	 *     result = a #GAsyncResult.
4417 	 * Returns: %TRUE on success, %FALSE on failure, in which
4418 	 *     case @error will be set.
4419 	 *
4420 	 * Throws: GException on failure.
4421 	 */
4422 	extern(C) int function(GDtlsConnection* conn, GAsyncResult* result, GError** err) handshakeFinish;
4423 	/**
4424 	 *
4425 	 * Params:
4426 	 *     conn = a #GDtlsConnection
4427 	 *     shutdownRead = %TRUE to stop reception of incoming datagrams
4428 	 *     shutdownWrite = %TRUE to stop sending outgoing datagrams
4429 	 *     cancellable = a #GCancellable, or %NULL
4430 	 * Returns: %TRUE on success, %FALSE otherwise
4431 	 *
4432 	 * Throws: GException on failure.
4433 	 */
4434 	extern(C) int function(GDtlsConnection* conn, int shutdownRead, int shutdownWrite, GCancellable* cancellable, GError** err) shutdown;
4435 	/** */
4436 	extern(C) void function(GDtlsConnection* conn, int shutdownRead, int shutdownWrite, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) shutdownAsync;
4437 	/**
4438 	 *
4439 	 * Params:
4440 	 *     conn = a #GDtlsConnection
4441 	 *     result = a #GAsyncResult
4442 	 * Returns: %TRUE on success, %FALSE on failure, in which
4443 	 *     case @error will be set
4444 	 *
4445 	 * Throws: GException on failure.
4446 	 */
4447 	extern(C) int function(GDtlsConnection* conn, GAsyncResult* result, GError** err) shutdownFinish;
4448 }
4449 
4450 struct GDtlsServerConnection;
4451 
4452 /**
4453  * vtable for a #GDtlsServerConnection implementation.
4454  *
4455  * Since: 2.48
4456  */
4457 struct GDtlsServerConnectionInterface
4458 {
4459 	/**
4460 	 * The parent interface.
4461 	 */
4462 	GTypeInterface gIface;
4463 }
4464 
4465 struct GEmblem;
4466 
4467 struct GEmblemClass;
4468 
4469 struct GEmblemedIcon
4470 {
4471 	GObject parentInstance;
4472 	GEmblemedIconPrivate* priv;
4473 }
4474 
4475 struct GEmblemedIconClass
4476 {
4477 	GObjectClass parentClass;
4478 }
4479 
4480 struct GEmblemedIconPrivate;
4481 
4482 struct GFile;
4483 
4484 /**
4485  * Information about a specific attribute.
4486  */
4487 struct GFileAttributeInfo
4488 {
4489 	/**
4490 	 * the name of the attribute.
4491 	 */
4492 	char* name;
4493 	/**
4494 	 * the #GFileAttributeType type of the attribute.
4495 	 */
4496 	GFileAttributeType type;
4497 	/**
4498 	 * a set of #GFileAttributeInfoFlags.
4499 	 */
4500 	GFileAttributeInfoFlags flags;
4501 }
4502 
4503 struct GFileAttributeInfoList
4504 {
4505 	/**
4506 	 * an array of #GFileAttributeInfos.
4507 	 */
4508 	GFileAttributeInfo* infos;
4509 	/**
4510 	 * the number of values in the array.
4511 	 */
4512 	int nInfos;
4513 }
4514 
4515 struct GFileAttributeMatcher;
4516 
4517 struct GFileDescriptorBased;
4518 
4519 /**
4520  * An interface for file descriptor based io objects.
4521  */
4522 struct GFileDescriptorBasedIface
4523 {
4524 	/**
4525 	 * The parent interface.
4526 	 */
4527 	GTypeInterface gIface;
4528 	/**
4529 	 *
4530 	 * Params:
4531 	 *     fdBased = a #GFileDescriptorBased.
4532 	 * Returns: The file descriptor
4533 	 */
4534 	extern(C) int function(GFileDescriptorBased* fdBased) getFd;
4535 }
4536 
4537 struct GFileEnumerator
4538 {
4539 	GObject parentInstance;
4540 	GFileEnumeratorPrivate* priv;
4541 }
4542 
4543 struct GFileEnumeratorClass
4544 {
4545 	GObjectClass parentClass;
4546 	/**
4547 	 *
4548 	 * Params:
4549 	 *     enumerator = a #GFileEnumerator.
4550 	 *     cancellable = optional #GCancellable object, %NULL to ignore.
4551 	 * Returns: A #GFileInfo or %NULL on error
4552 	 *     or end of enumerator.  Free the returned object with
4553 	 *     g_object_unref() when no longer needed.
4554 	 *
4555 	 * Throws: GException on failure.
4556 	 */
4557 	extern(C) GFileInfo* function(GFileEnumerator* enumerator, GCancellable* cancellable, GError** err) nextFile;
4558 	/** */
4559 	extern(C) int function(GFileEnumerator* enumerator, GCancellable* cancellable, GError** err) closeFn;
4560 	/** */
4561 	extern(C) void function(GFileEnumerator* enumerator, int numFiles, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) nextFilesAsync;
4562 	/**
4563 	 *
4564 	 * Params:
4565 	 *     enumerator = a #GFileEnumerator.
4566 	 *     result = a #GAsyncResult.
4567 	 * Returns: a #GList of #GFileInfos. You must free the list with
4568 	 *     g_list_free() and unref the infos with g_object_unref() when you're
4569 	 *     done with them.
4570 	 *
4571 	 * Throws: GException on failure.
4572 	 */
4573 	extern(C) GList* function(GFileEnumerator* enumerator, GAsyncResult* result, GError** err) nextFilesFinish;
4574 	/** */
4575 	extern(C) void function(GFileEnumerator* enumerator, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) closeAsync;
4576 	/**
4577 	 *
4578 	 * Params:
4579 	 *     enumerator = a #GFileEnumerator.
4580 	 *     result = a #GAsyncResult.
4581 	 * Returns: %TRUE if the close operation has finished successfully.
4582 	 *
4583 	 * Throws: GException on failure.
4584 	 */
4585 	extern(C) int function(GFileEnumerator* enumerator, GAsyncResult* result, GError** err) closeFinish;
4586 	/** */
4587 	extern(C) void function() GReserved1;
4588 	/** */
4589 	extern(C) void function() GReserved2;
4590 	/** */
4591 	extern(C) void function() GReserved3;
4592 	/** */
4593 	extern(C) void function() GReserved4;
4594 	/** */
4595 	extern(C) void function() GReserved5;
4596 	/** */
4597 	extern(C) void function() GReserved6;
4598 	/** */
4599 	extern(C) void function() GReserved7;
4600 }
4601 
4602 struct GFileEnumeratorPrivate;
4603 
4604 struct GFileIOStream
4605 {
4606 	GIOStream parentInstance;
4607 	GFileIOStreamPrivate* priv;
4608 }
4609 
4610 struct GFileIOStreamClass
4611 {
4612 	GIOStreamClass parentClass;
4613 	/** */
4614 	extern(C) long function(GFileIOStream* stream) tell;
4615 	/** */
4616 	extern(C) int function(GFileIOStream* stream) canSeek;
4617 	/** */
4618 	extern(C) int function(GFileIOStream* stream, long offset, GSeekType type, GCancellable* cancellable, GError** err) seek;
4619 	/** */
4620 	extern(C) int function(GFileIOStream* stream) canTruncate;
4621 	/** */
4622 	extern(C) int function(GFileIOStream* stream, long size, GCancellable* cancellable, GError** err) truncateFn;
4623 	/**
4624 	 *
4625 	 * Params:
4626 	 *     stream = a #GFileIOStream.
4627 	 *     attributes = a file attribute query string.
4628 	 *     cancellable = optional #GCancellable object, %NULL to ignore.
4629 	 * Returns: a #GFileInfo for the @stream, or %NULL on error.
4630 	 *
4631 	 * Throws: GException on failure.
4632 	 */
4633 	extern(C) GFileInfo* function(GFileIOStream* stream, const(char)* attributes, GCancellable* cancellable, GError** err) queryInfo;
4634 	/** */
4635 	extern(C) void function(GFileIOStream* stream, const(char)* attributes, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) queryInfoAsync;
4636 	/**
4637 	 *
4638 	 * Params:
4639 	 *     stream = a #GFileIOStream.
4640 	 *     result = a #GAsyncResult.
4641 	 * Returns: A #GFileInfo for the finished query.
4642 	 *
4643 	 * Throws: GException on failure.
4644 	 */
4645 	extern(C) GFileInfo* function(GFileIOStream* stream, GAsyncResult* result, GError** err) queryInfoFinish;
4646 	/**
4647 	 *
4648 	 * Params:
4649 	 *     stream = a #GFileIOStream.
4650 	 * Returns: the entity tag for the stream.
4651 	 */
4652 	extern(C) char* function(GFileIOStream* stream) getEtag;
4653 	/** */
4654 	extern(C) void function() GReserved1;
4655 	/** */
4656 	extern(C) void function() GReserved2;
4657 	/** */
4658 	extern(C) void function() GReserved3;
4659 	/** */
4660 	extern(C) void function() GReserved4;
4661 	/** */
4662 	extern(C) void function() GReserved5;
4663 }
4664 
4665 struct GFileIOStreamPrivate;
4666 
4667 struct GFileIcon;
4668 
4669 struct GFileIconClass;
4670 
4671 /**
4672  * An interface for writing VFS file handles.
4673  */
4674 struct GFileIface
4675 {
4676 	/**
4677 	 * The parent interface.
4678 	 */
4679 	GTypeInterface gIface;
4680 	/**
4681 	 *
4682 	 * Params:
4683 	 *     file = input #GFile
4684 	 * Returns: a new #GFile that is a duplicate
4685 	 *     of the given #GFile.
4686 	 */
4687 	extern(C) GFile* function(GFile* file) dup;
4688 	/**
4689 	 *
4690 	 * Params:
4691 	 *     file = #gconstpointer to a #GFile
4692 	 * Returns: 0 if @file is not a valid #GFile, otherwise an
4693 	 *     integer that can be used as hash value for the #GFile.
4694 	 *     This function is intended for easily hashing a #GFile to
4695 	 *     add to a #GHashTable or similar data structure.
4696 	 */
4697 	extern(C) uint function(GFile* file) hash;
4698 	/**
4699 	 *
4700 	 * Params:
4701 	 *     file1 = the first #GFile
4702 	 *     file2 = the second #GFile
4703 	 * Returns: %TRUE if @file1 and @file2 are equal.
4704 	 */
4705 	extern(C) int function(GFile* file1, GFile* file2) equal;
4706 	/**
4707 	 *
4708 	 * Params:
4709 	 *     file = input #GFile
4710 	 * Returns: %TRUE if @file is native
4711 	 */
4712 	extern(C) int function(GFile* file) isNative;
4713 	/**
4714 	 *
4715 	 * Params:
4716 	 *     file = input #GFile
4717 	 *     uriScheme = a string containing a URI scheme
4718 	 * Returns: %TRUE if #GFile's backend supports the
4719 	 *     given URI scheme, %FALSE if URI scheme is %NULL,
4720 	 *     not supported, or #GFile is invalid.
4721 	 */
4722 	extern(C) int function(GFile* file, const(char)* uriScheme) hasUriScheme;
4723 	/**
4724 	 *
4725 	 * Params:
4726 	 *     file = input #GFile
4727 	 * Returns: a string containing the URI scheme for the given
4728 	 *     #GFile. The returned string should be freed with g_free()
4729 	 *     when no longer needed.
4730 	 */
4731 	extern(C) char* function(GFile* file) getUriScheme;
4732 	/** */
4733 	extern(C) char* function(GFile* file) getBasename;
4734 	/** */
4735 	extern(C) char* function(GFile* file) getPath;
4736 	/**
4737 	 *
4738 	 * Params:
4739 	 *     file = input #GFile
4740 	 * Returns: a string containing the #GFile's URI.
4741 	 *     The returned string should be freed with g_free()
4742 	 *     when no longer needed.
4743 	 */
4744 	extern(C) char* function(GFile* file) getUri;
4745 	/**
4746 	 *
4747 	 * Params:
4748 	 *     file = input #GFile
4749 	 * Returns: a string containing the #GFile's parse name.
4750 	 *     The returned string should be freed with g_free()
4751 	 *     when no longer needed.
4752 	 */
4753 	extern(C) char* function(GFile* file) getParseName;
4754 	/**
4755 	 *
4756 	 * Params:
4757 	 *     file = input #GFile
4758 	 * Returns: a #GFile structure to the
4759 	 *     parent of the given #GFile or %NULL if there is no parent. Free
4760 	 *     the returned object with g_object_unref().
4761 	 */
4762 	extern(C) GFile* function(GFile* file) getParent;
4763 	/**
4764 	 *
4765 	 * Params:
4766 	 *     prefix = input #GFile
4767 	 *     file = input #GFile
4768 	 * Returns: %TRUE if the @files's parent, grandparent, etc is @prefix,
4769 	 *     %FALSE otherwise.
4770 	 */
4771 	extern(C) int function(GFile* prefix, GFile* file) prefixMatches;
4772 	/** */
4773 	extern(C) char* function(GFile* parent, GFile* descendant) getRelativePath;
4774 	/**
4775 	 *
4776 	 * Params:
4777 	 *     file = input #GFile
4778 	 *     relativePath = a given relative path string
4779 	 * Returns: #GFile to the resolved path.
4780 	 *     %NULL if @relative_path is %NULL or if @file is invalid.
4781 	 *     Free the returned object with g_object_unref().
4782 	 */
4783 	extern(C) GFile* function(GFile* file, char* relativePath) resolveRelativePath;
4784 	/**
4785 	 *
4786 	 * Params:
4787 	 *     file = input #GFile
4788 	 *     displayName = string to a possible child
4789 	 * Returns: a #GFile to the specified child, or
4790 	 *     %NULL if the display name couldn't be converted.
4791 	 *     Free the returned object with g_object_unref().
4792 	 *
4793 	 * Throws: GException on failure.
4794 	 */
4795 	extern(C) GFile* function(GFile* file, const(char)* displayName, GError** err) getChildForDisplayName;
4796 	/**
4797 	 *
4798 	 * Params:
4799 	 *     file = input #GFile
4800 	 *     attributes = an attribute query string
4801 	 *     flags = a set of #GFileQueryInfoFlags
4802 	 *     cancellable = optional #GCancellable object,
4803 	 *         %NULL to ignore
4804 	 * Returns: A #GFileEnumerator if successful,
4805 	 *     %NULL on error. Free the returned object with g_object_unref().
4806 	 *
4807 	 * Throws: GException on failure.
4808 	 */
4809 	extern(C) GFileEnumerator* function(GFile* file, const(char)* attributes, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** err) enumerateChildren;
4810 	/** */
4811 	extern(C) void function(GFile* file, const(char)* attributes, GFileQueryInfoFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) enumerateChildrenAsync;
4812 	/**
4813 	 *
4814 	 * Params:
4815 	 *     file = input #GFile
4816 	 *     res = a #GAsyncResult
4817 	 * Returns: a #GFileEnumerator or %NULL
4818 	 *     if an error occurred.
4819 	 *     Free the returned object with g_object_unref().
4820 	 *
4821 	 * Throws: GException on failure.
4822 	 */
4823 	extern(C) GFileEnumerator* function(GFile* file, GAsyncResult* res, GError** err) enumerateChildrenFinish;
4824 	/**
4825 	 *
4826 	 * Params:
4827 	 *     file = input #GFile
4828 	 *     attributes = an attribute query string
4829 	 *     flags = a set of #GFileQueryInfoFlags
4830 	 *     cancellable = optional #GCancellable object,
4831 	 *         %NULL to ignore
4832 	 * Returns: a #GFileInfo for the given @file, or %NULL
4833 	 *     on error. Free the returned object with g_object_unref().
4834 	 *
4835 	 * Throws: GException on failure.
4836 	 */
4837 	extern(C) GFileInfo* function(GFile* file, const(char)* attributes, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** err) queryInfo;
4838 	/** */
4839 	extern(C) void function(GFile* file, const(char)* attributes, GFileQueryInfoFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) queryInfoAsync;
4840 	/**
4841 	 *
4842 	 * Params:
4843 	 *     file = input #GFile
4844 	 *     res = a #GAsyncResult
4845 	 * Returns: #GFileInfo for given @file
4846 	 *     or %NULL on error. Free the returned object with
4847 	 *     g_object_unref().
4848 	 *
4849 	 * Throws: GException on failure.
4850 	 */
4851 	extern(C) GFileInfo* function(GFile* file, GAsyncResult* res, GError** err) queryInfoFinish;
4852 	/**
4853 	 *
4854 	 * Params:
4855 	 *     file = input #GFile
4856 	 *     attributes = an attribute query string
4857 	 *     cancellable = optional #GCancellable object,
4858 	 *         %NULL to ignore
4859 	 * Returns: a #GFileInfo or %NULL if there was an error.
4860 	 *     Free the returned object with g_object_unref().
4861 	 *
4862 	 * Throws: GException on failure.
4863 	 */
4864 	extern(C) GFileInfo* function(GFile* file, const(char)* attributes, GCancellable* cancellable, GError** err) queryFilesystemInfo;
4865 	/** */
4866 	extern(C) void function(GFile* file, const(char)* attributes, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) queryFilesystemInfoAsync;
4867 	/**
4868 	 *
4869 	 * Params:
4870 	 *     file = input #GFile
4871 	 *     res = a #GAsyncResult
4872 	 * Returns: #GFileInfo for given @file
4873 	 *     or %NULL on error.
4874 	 *     Free the returned object with g_object_unref().
4875 	 *
4876 	 * Throws: GException on failure.
4877 	 */
4878 	extern(C) GFileInfo* function(GFile* file, GAsyncResult* res, GError** err) queryFilesystemInfoFinish;
4879 	/**
4880 	 *
4881 	 * Params:
4882 	 *     file = input #GFile
4883 	 *     cancellable = optional #GCancellable object,
4884 	 *         %NULL to ignore
4885 	 * Returns: a #GMount where the @file is located
4886 	 *     or %NULL on error.
4887 	 *     Free the returned object with g_object_unref().
4888 	 *
4889 	 * Throws: GException on failure.
4890 	 */
4891 	extern(C) GMount* function(GFile* file, GCancellable* cancellable, GError** err) findEnclosingMount;
4892 	/** */
4893 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) findEnclosingMountAsync;
4894 	/**
4895 	 *
4896 	 * Params:
4897 	 *     file = a #GFile
4898 	 *     res = a #GAsyncResult
4899 	 * Returns: #GMount for given @file or %NULL on error.
4900 	 *     Free the returned object with g_object_unref().
4901 	 *
4902 	 * Throws: GException on failure.
4903 	 */
4904 	extern(C) GMount* function(GFile* file, GAsyncResult* res, GError** err) findEnclosingMountFinish;
4905 	/**
4906 	 *
4907 	 * Params:
4908 	 *     file = input #GFile
4909 	 *     displayName = a string
4910 	 *     cancellable = optional #GCancellable object,
4911 	 *         %NULL to ignore
4912 	 * Returns: a #GFile specifying what @file was renamed to,
4913 	 *     or %NULL if there was an error.
4914 	 *     Free the returned object with g_object_unref().
4915 	 *
4916 	 * Throws: GException on failure.
4917 	 */
4918 	extern(C) GFile* function(GFile* file, const(char)* displayName, GCancellable* cancellable, GError** err) setDisplayName;
4919 	/** */
4920 	extern(C) void function(GFile* file, const(char)* displayName, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) setDisplayNameAsync;
4921 	/**
4922 	 *
4923 	 * Params:
4924 	 *     file = input #GFile
4925 	 *     res = a #GAsyncResult
4926 	 * Returns: a #GFile or %NULL on error.
4927 	 *     Free the returned object with g_object_unref().
4928 	 *
4929 	 * Throws: GException on failure.
4930 	 */
4931 	extern(C) GFile* function(GFile* file, GAsyncResult* res, GError** err) setDisplayNameFinish;
4932 	/**
4933 	 *
4934 	 * Params:
4935 	 *     file = input #GFile
4936 	 *     cancellable = optional #GCancellable object,
4937 	 *         %NULL to ignore
4938 	 * Returns: a #GFileAttributeInfoList describing the settable attributes.
4939 	 *     When you are done with it, release it with
4940 	 *     g_file_attribute_info_list_unref()
4941 	 *
4942 	 * Throws: GException on failure.
4943 	 */
4944 	extern(C) GFileAttributeInfoList* function(GFile* file, GCancellable* cancellable, GError** err) querySettableAttributes;
4945 	/** */
4946 	extern(C) void function() QuerySettableAttributesAsync;
4947 	/** */
4948 	extern(C) void function() QuerySettableAttributesFinish;
4949 	/**
4950 	 *
4951 	 * Params:
4952 	 *     file = input #GFile
4953 	 *     cancellable = optional #GCancellable object,
4954 	 *         %NULL to ignore
4955 	 * Returns: a #GFileAttributeInfoList describing the writable namespaces.
4956 	 *     When you are done with it, release it with
4957 	 *     g_file_attribute_info_list_unref()
4958 	 *
4959 	 * Throws: GException on failure.
4960 	 */
4961 	extern(C) GFileAttributeInfoList* function(GFile* file, GCancellable* cancellable, GError** err) queryWritableNamespaces;
4962 	/** */
4963 	extern(C) void function() QueryWritableNamespacesAsync;
4964 	/** */
4965 	extern(C) void function() QueryWritableNamespacesFinish;
4966 	/**
4967 	 *
4968 	 * Params:
4969 	 *     file = input #GFile
4970 	 *     attribute = a string containing the attribute's name
4971 	 *     type = The type of the attribute
4972 	 *     valueP = a pointer to the value (or the pointer
4973 	 *         itself if the type is a pointer type)
4974 	 *     flags = a set of #GFileQueryInfoFlags
4975 	 *     cancellable = optional #GCancellable object,
4976 	 *         %NULL to ignore
4977 	 * Returns: %TRUE if the attribute was set, %FALSE otherwise.
4978 	 *
4979 	 * Throws: GException on failure.
4980 	 */
4981 	extern(C) int function(GFile* file, const(char)* attribute, GFileAttributeType type, void* valueP, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** err) setAttribute;
4982 	/**
4983 	 *
4984 	 * Params:
4985 	 *     file = input #GFile
4986 	 *     info = a #GFileInfo
4987 	 *     flags = #GFileQueryInfoFlags
4988 	 *     cancellable = optional #GCancellable object,
4989 	 *         %NULL to ignore
4990 	 * Returns: %FALSE if there was any error, %TRUE otherwise.
4991 	 *
4992 	 * Throws: GException on failure.
4993 	 */
4994 	extern(C) int function(GFile* file, GFileInfo* info, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** err) setAttributesFromInfo;
4995 	/** */
4996 	extern(C) void function(GFile* file, GFileInfo* info, GFileQueryInfoFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) setAttributesAsync;
4997 	/**
4998 	 *
4999 	 * Params:
5000 	 *     file = input #GFile
5001 	 *     result = a #GAsyncResult
5002 	 *     info = a #GFileInfo
5003 	 * Returns: %TRUE if the attributes were set correctly, %FALSE otherwise.
5004 	 *
5005 	 * Throws: GException on failure.
5006 	 */
5007 	extern(C) int function(GFile* file, GAsyncResult* result, GFileInfo** info, GError** err) setAttributesFinish;
5008 	/**
5009 	 *
5010 	 * Params:
5011 	 *     file = #GFile to read
5012 	 *     cancellable = a #GCancellable
5013 	 * Returns: #GFileInputStream or %NULL on error.
5014 	 *     Free the returned object with g_object_unref().
5015 	 *
5016 	 * Throws: GException on failure.
5017 	 */
5018 	extern(C) GFileInputStream* function(GFile* file, GCancellable* cancellable, GError** err) readFn;
5019 	/** */
5020 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) readAsync;
5021 	/**
5022 	 *
5023 	 * Params:
5024 	 *     file = input #GFile
5025 	 *     res = a #GAsyncResult
5026 	 * Returns: a #GFileInputStream or %NULL on error.
5027 	 *     Free the returned object with g_object_unref().
5028 	 *
5029 	 * Throws: GException on failure.
5030 	 */
5031 	extern(C) GFileInputStream* function(GFile* file, GAsyncResult* res, GError** err) readFinish;
5032 	/**
5033 	 *
5034 	 * Params:
5035 	 *     file = input #GFile
5036 	 *     flags = a set of #GFileCreateFlags
5037 	 *     cancellable = optional #GCancellable object,
5038 	 *         %NULL to ignore
5039 	 * Returns: a #GFileOutputStream, or %NULL on error.
5040 	 *     Free the returned object with g_object_unref().
5041 	 *
5042 	 * Throws: GException on failure.
5043 	 */
5044 	extern(C) GFileOutputStream* function(GFile* file, GFileCreateFlags flags, GCancellable* cancellable, GError** err) appendTo;
5045 	/** */
5046 	extern(C) void function(GFile* file, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) appendToAsync;
5047 	/**
5048 	 *
5049 	 * Params:
5050 	 *     file = input #GFile
5051 	 *     res = #GAsyncResult
5052 	 * Returns: a valid #GFileOutputStream
5053 	 *     or %NULL on error.
5054 	 *     Free the returned object with g_object_unref().
5055 	 *
5056 	 * Throws: GException on failure.
5057 	 */
5058 	extern(C) GFileOutputStream* function(GFile* file, GAsyncResult* res, GError** err) appendToFinish;
5059 	/**
5060 	 *
5061 	 * Params:
5062 	 *     file = input #GFile
5063 	 *     flags = a set of #GFileCreateFlags
5064 	 *     cancellable = optional #GCancellable object,
5065 	 *         %NULL to ignore
5066 	 * Returns: a #GFileOutputStream for the newly created
5067 	 *     file, or %NULL on error.
5068 	 *     Free the returned object with g_object_unref().
5069 	 *
5070 	 * Throws: GException on failure.
5071 	 */
5072 	extern(C) GFileOutputStream* function(GFile* file, GFileCreateFlags flags, GCancellable* cancellable, GError** err) create;
5073 	/** */
5074 	extern(C) void function(GFile* file, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) createAsync;
5075 	/**
5076 	 *
5077 	 * Params:
5078 	 *     file = input #GFile
5079 	 *     res = a #GAsyncResult
5080 	 * Returns: a #GFileOutputStream or %NULL on error.
5081 	 *     Free the returned object with g_object_unref().
5082 	 *
5083 	 * Throws: GException on failure.
5084 	 */
5085 	extern(C) GFileOutputStream* function(GFile* file, GAsyncResult* res, GError** err) createFinish;
5086 	/**
5087 	 *
5088 	 * Params:
5089 	 *     file = input #GFile
5090 	 *     etag = an optional [entity tag][gfile-etag]
5091 	 *         for the current #GFile, or #NULL to ignore
5092 	 *     makeBackup = %TRUE if a backup should be created
5093 	 *     flags = a set of #GFileCreateFlags
5094 	 *     cancellable = optional #GCancellable object,
5095 	 *         %NULL to ignore
5096 	 * Returns: a #GFileOutputStream or %NULL on error.
5097 	 *     Free the returned object with g_object_unref().
5098 	 *
5099 	 * Throws: GException on failure.
5100 	 */
5101 	extern(C) GFileOutputStream* function(GFile* file, const(char)* etag, int makeBackup, GFileCreateFlags flags, GCancellable* cancellable, GError** err) replace;
5102 	/** */
5103 	extern(C) void function(GFile* file, const(char)* etag, int makeBackup, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) replaceAsync;
5104 	/**
5105 	 *
5106 	 * Params:
5107 	 *     file = input #GFile
5108 	 *     res = a #GAsyncResult
5109 	 * Returns: a #GFileOutputStream, or %NULL on error.
5110 	 *     Free the returned object with g_object_unref().
5111 	 *
5112 	 * Throws: GException on failure.
5113 	 */
5114 	extern(C) GFileOutputStream* function(GFile* file, GAsyncResult* res, GError** err) replaceFinish;
5115 	/**
5116 	 *
5117 	 * Params:
5118 	 *     file = input #GFile
5119 	 *     cancellable = optional #GCancellable object,
5120 	 *         %NULL to ignore
5121 	 * Returns: %TRUE if the file was deleted. %FALSE otherwise.
5122 	 *
5123 	 * Throws: GException on failure.
5124 	 */
5125 	extern(C) int function(GFile* file, GCancellable* cancellable, GError** err) deleteFile;
5126 	/** */
5127 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) deleteFileAsync;
5128 	/**
5129 	 *
5130 	 * Params:
5131 	 *     file = input #GFile
5132 	 *     result = a #GAsyncResult
5133 	 * Returns: %TRUE if the file was deleted. %FALSE otherwise.
5134 	 *
5135 	 * Throws: GException on failure.
5136 	 */
5137 	extern(C) int function(GFile* file, GAsyncResult* result, GError** err) deleteFileFinish;
5138 	/**
5139 	 *
5140 	 * Params:
5141 	 *     file = #GFile to send to trash
5142 	 *     cancellable = optional #GCancellable object,
5143 	 *         %NULL to ignore
5144 	 * Returns: %TRUE on successful trash, %FALSE otherwise.
5145 	 *
5146 	 * Throws: GException on failure.
5147 	 */
5148 	extern(C) int function(GFile* file, GCancellable* cancellable, GError** err) trash;
5149 	/** */
5150 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) trashAsync;
5151 	/**
5152 	 *
5153 	 * Params:
5154 	 *     file = input #GFile
5155 	 *     result = a #GAsyncResult
5156 	 * Returns: %TRUE on successful trash, %FALSE otherwise.
5157 	 *
5158 	 * Throws: GException on failure.
5159 	 */
5160 	extern(C) int function(GFile* file, GAsyncResult* result, GError** err) trashFinish;
5161 	/**
5162 	 *
5163 	 * Params:
5164 	 *     file = input #GFile
5165 	 *     cancellable = optional #GCancellable object,
5166 	 *         %NULL to ignore
5167 	 * Returns: %TRUE on successful creation, %FALSE otherwise.
5168 	 *
5169 	 * Throws: GException on failure.
5170 	 */
5171 	extern(C) int function(GFile* file, GCancellable* cancellable, GError** err) makeDirectory;
5172 	/** */
5173 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) makeDirectoryAsync;
5174 	/**
5175 	 *
5176 	 * Params:
5177 	 *     file = input #GFile
5178 	 *     result = a #GAsyncResult
5179 	 * Returns: %TRUE on successful directory creation, %FALSE otherwise.
5180 	 *
5181 	 * Throws: GException on failure.
5182 	 */
5183 	extern(C) int function(GFile* file, GAsyncResult* result, GError** err) makeDirectoryFinish;
5184 	/**
5185 	 *
5186 	 * Params:
5187 	 *     file = a #GFile with the name of the symlink to create
5188 	 *     symlinkValue = a string with the path for the target
5189 	 *         of the new symlink
5190 	 *     cancellable = optional #GCancellable object,
5191 	 *         %NULL to ignore
5192 	 * Returns: %TRUE on the creation of a new symlink, %FALSE otherwise.
5193 	 *
5194 	 * Throws: GException on failure.
5195 	 */
5196 	extern(C) int function(GFile* file, char* symlinkValue, GCancellable* cancellable, GError** err) makeSymbolicLink;
5197 	/** */
5198 	extern(C) void function() MakeSymbolicLinkAsync;
5199 	/** */
5200 	extern(C) void function() MakeSymbolicLinkFinish;
5201 	/**
5202 	 *
5203 	 * Params:
5204 	 *     source = input #GFile
5205 	 *     destination = destination #GFile
5206 	 *     flags = set of #GFileCopyFlags
5207 	 *     cancellable = optional #GCancellable object,
5208 	 *         %NULL to ignore
5209 	 *     progressCallback = function to callback with
5210 	 *         progress information, or %NULL if progress information is not needed
5211 	 *     progressCallbackData = user data to pass to @progress_callback
5212 	 * Returns: %TRUE on success, %FALSE otherwise.
5213 	 *
5214 	 * Throws: GException on failure.
5215 	 */
5216 	extern(C) int function(GFile* source, GFile* destination, GFileCopyFlags flags, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GError** err) copy;
5217 	/** */
5218 	extern(C) void function(GFile* source, GFile* destination, GFileCopyFlags flags, int ioPriority, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GAsyncReadyCallback callback, void* userData) copyAsync;
5219 	/**
5220 	 *
5221 	 * Params:
5222 	 *     file = input #GFile
5223 	 *     res = a #GAsyncResult
5224 	 * Returns: a %TRUE on success, %FALSE on error.
5225 	 *
5226 	 * Throws: GException on failure.
5227 	 */
5228 	extern(C) int function(GFile* file, GAsyncResult* res, GError** err) copyFinish;
5229 	/**
5230 	 *
5231 	 * Params:
5232 	 *     source = #GFile pointing to the source location
5233 	 *     destination = #GFile pointing to the destination location
5234 	 *     flags = set of #GFileCopyFlags
5235 	 *     cancellable = optional #GCancellable object,
5236 	 *         %NULL to ignore
5237 	 *     progressCallback = #GFileProgressCallback
5238 	 *         function for updates
5239 	 *     progressCallbackData = gpointer to user data for
5240 	 *         the callback function
5241 	 * Returns: %TRUE on successful move, %FALSE otherwise.
5242 	 *
5243 	 * Throws: GException on failure.
5244 	 */
5245 	extern(C) int function(GFile* source, GFile* destination, GFileCopyFlags flags, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GError** err) move;
5246 	/** */
5247 	extern(C) void function() MoveAsync;
5248 	/** */
5249 	extern(C) void function() MoveFinish;
5250 	/** */
5251 	extern(C) void function(GFile* file, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) mountMountable;
5252 	/**
5253 	 *
5254 	 * Params:
5255 	 *     file = input #GFile
5256 	 *     result = a #GAsyncResult
5257 	 * Returns: a #GFile or %NULL on error.
5258 	 *     Free the returned object with g_object_unref().
5259 	 *
5260 	 * Throws: GException on failure.
5261 	 */
5262 	extern(C) GFile* function(GFile* file, GAsyncResult* result, GError** err) mountMountableFinish;
5263 	/** */
5264 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) unmountMountable;
5265 	/**
5266 	 *
5267 	 * Params:
5268 	 *     file = input #GFile
5269 	 *     result = a #GAsyncResult
5270 	 * Returns: %TRUE if the operation finished successfully.
5271 	 *     %FALSE otherwise.
5272 	 *
5273 	 * Throws: GException on failure.
5274 	 */
5275 	extern(C) int function(GFile* file, GAsyncResult* result, GError** err) unmountMountableFinish;
5276 	/** */
5277 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) ejectMountable;
5278 	/**
5279 	 *
5280 	 * Params:
5281 	 *     file = input #GFile
5282 	 *     result = a #GAsyncResult
5283 	 * Returns: %TRUE if the @file was ejected successfully.
5284 	 *     %FALSE otherwise.
5285 	 *
5286 	 * Throws: GException on failure.
5287 	 */
5288 	extern(C) int function(GFile* file, GAsyncResult* result, GError** err) ejectMountableFinish;
5289 	/** */
5290 	extern(C) void function(GFile* location, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) mountEnclosingVolume;
5291 	/**
5292 	 *
5293 	 * Params:
5294 	 *     location = input #GFile
5295 	 *     result = a #GAsyncResult
5296 	 * Returns: %TRUE if successful. If an error has occurred,
5297 	 *     this function will return %FALSE and set @error
5298 	 *     appropriately if present.
5299 	 *
5300 	 * Throws: GException on failure.
5301 	 */
5302 	extern(C) int function(GFile* location, GAsyncResult* result, GError** err) mountEnclosingVolumeFinish;
5303 	/**
5304 	 *
5305 	 * Params:
5306 	 *     file = input #GFile
5307 	 *     flags = a set of #GFileMonitorFlags
5308 	 *     cancellable = optional #GCancellable object,
5309 	 *         %NULL to ignore
5310 	 * Returns: a #GFileMonitor for the given @file,
5311 	 *     or %NULL on error.
5312 	 *     Free the returned object with g_object_unref().
5313 	 *
5314 	 * Throws: GException on failure.
5315 	 */
5316 	extern(C) GFileMonitor* function(GFile* file, GFileMonitorFlags flags, GCancellable* cancellable, GError** err) monitorDir;
5317 	/**
5318 	 *
5319 	 * Params:
5320 	 *     file = input #GFile
5321 	 *     flags = a set of #GFileMonitorFlags
5322 	 *     cancellable = optional #GCancellable object,
5323 	 *         %NULL to ignore
5324 	 * Returns: a #GFileMonitor for the given @file,
5325 	 *     or %NULL on error.
5326 	 *     Free the returned object with g_object_unref().
5327 	 *
5328 	 * Throws: GException on failure.
5329 	 */
5330 	extern(C) GFileMonitor* function(GFile* file, GFileMonitorFlags flags, GCancellable* cancellable, GError** err) monitorFile;
5331 	/**
5332 	 *
5333 	 * Params:
5334 	 *     file = #GFile to open
5335 	 *     cancellable = a #GCancellable
5336 	 * Returns: #GFileIOStream or %NULL on error.
5337 	 *     Free the returned object with g_object_unref().
5338 	 *
5339 	 * Throws: GException on failure.
5340 	 */
5341 	extern(C) GFileIOStream* function(GFile* file, GCancellable* cancellable, GError** err) openReadwrite;
5342 	/** */
5343 	extern(C) void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) openReadwriteAsync;
5344 	/**
5345 	 *
5346 	 * Params:
5347 	 *     file = input #GFile
5348 	 *     res = a #GAsyncResult
5349 	 * Returns: a #GFileIOStream or %NULL on error.
5350 	 *     Free the returned object with g_object_unref().
5351 	 *
5352 	 * Throws: GException on failure.
5353 	 */
5354 	extern(C) GFileIOStream* function(GFile* file, GAsyncResult* res, GError** err) openReadwriteFinish;
5355 	/**
5356 	 *
5357 	 * Params:
5358 	 *     file = a #GFile
5359 	 *     flags = a set of #GFileCreateFlags
5360 	 *     cancellable = optional #GCancellable object,
5361 	 *         %NULL to ignore
5362 	 * Returns: a #GFileIOStream for the newly created
5363 	 *     file, or %NULL on error.
5364 	 *     Free the returned object with g_object_unref().
5365 	 *
5366 	 * Throws: GException on failure.
5367 	 */
5368 	extern(C) GFileIOStream* function(GFile* file, GFileCreateFlags flags, GCancellable* cancellable, GError** err) createReadwrite;
5369 	/** */
5370 	extern(C) void function(GFile* file, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) createReadwriteAsync;
5371 	/**
5372 	 *
5373 	 * Params:
5374 	 *     file = input #GFile
5375 	 *     res = a #GAsyncResult
5376 	 * Returns: a #GFileIOStream or %NULL on error.
5377 	 *     Free the returned object with g_object_unref().
5378 	 *
5379 	 * Throws: GException on failure.
5380 	 */
5381 	extern(C) GFileIOStream* function(GFile* file, GAsyncResult* res, GError** err) createReadwriteFinish;
5382 	/**
5383 	 *
5384 	 * Params:
5385 	 *     file = a #GFile
5386 	 *     etag = an optional [entity tag][gfile-etag]
5387 	 *         for the current #GFile, or #NULL to ignore
5388 	 *     makeBackup = %TRUE if a backup should be created
5389 	 *     flags = a set of #GFileCreateFlags
5390 	 *     cancellable = optional #GCancellable object,
5391 	 *         %NULL to ignore
5392 	 * Returns: a #GFileIOStream or %NULL on error.
5393 	 *     Free the returned object with g_object_unref().
5394 	 *
5395 	 * Throws: GException on failure.
5396 	 */
5397 	extern(C) GFileIOStream* function(GFile* file, const(char)* etag, int makeBackup, GFileCreateFlags flags, GCancellable* cancellable, GError** err) replaceReadwrite;
5398 	/** */
5399 	extern(C) void function(GFile* file, const(char)* etag, int makeBackup, GFileCreateFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) replaceReadwriteAsync;
5400 	/**
5401 	 *
5402 	 * Params:
5403 	 *     file = input #GFile
5404 	 *     res = a #GAsyncResult
5405 	 * Returns: a #GFileIOStream, or %NULL on error.
5406 	 *     Free the returned object with g_object_unref().
5407 	 *
5408 	 * Throws: GException on failure.
5409 	 */
5410 	extern(C) GFileIOStream* function(GFile* file, GAsyncResult* res, GError** err) replaceReadwriteFinish;
5411 	/** */
5412 	extern(C) void function(GFile* file, GDriveStartFlags flags, GMountOperation* startOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) startMountable;
5413 	/**
5414 	 *
5415 	 * Params:
5416 	 *     file = input #GFile
5417 	 *     result = a #GAsyncResult
5418 	 * Returns: %TRUE if the operation finished successfully. %FALSE
5419 	 *     otherwise.
5420 	 *
5421 	 * Throws: GException on failure.
5422 	 */
5423 	extern(C) int function(GFile* file, GAsyncResult* result, GError** err) startMountableFinish;
5424 	/** */
5425 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) stopMountable;
5426 	/**
5427 	 *
5428 	 * Params:
5429 	 *     file = input #GFile
5430 	 *     result = a #GAsyncResult
5431 	 * Returns: %TRUE if the operation finished successfully.
5432 	 *     %FALSE otherwise.
5433 	 *
5434 	 * Throws: GException on failure.
5435 	 */
5436 	extern(C) int function(GFile* file, GAsyncResult* result, GError** err) stopMountableFinish;
5437 	/**
5438 	 * a boolean that indicates whether the #GFile implementation supports thread-default contexts. Since 2.22.
5439 	 */
5440 	bool supportsThreadContexts;
5441 	/** */
5442 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) unmountMountableWithOperation;
5443 	/**
5444 	 *
5445 	 * Params:
5446 	 *     file = input #GFile
5447 	 *     result = a #GAsyncResult
5448 	 * Returns: %TRUE if the operation finished successfully.
5449 	 *     %FALSE otherwise.
5450 	 *
5451 	 * Throws: GException on failure.
5452 	 */
5453 	extern(C) int function(GFile* file, GAsyncResult* result, GError** err) unmountMountableWithOperationFinish;
5454 	/** */
5455 	extern(C) void function(GFile* file, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) ejectMountableWithOperation;
5456 	/**
5457 	 *
5458 	 * Params:
5459 	 *     file = input #GFile
5460 	 *     result = a #GAsyncResult
5461 	 * Returns: %TRUE if the @file was ejected successfully.
5462 	 *     %FALSE otherwise.
5463 	 *
5464 	 * Throws: GException on failure.
5465 	 */
5466 	extern(C) int function(GFile* file, GAsyncResult* result, GError** err) ejectMountableWithOperationFinish;
5467 	/** */
5468 	extern(C) void function(GFile* file, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) pollMountable;
5469 	/**
5470 	 *
5471 	 * Params:
5472 	 *     file = input #GFile
5473 	 *     result = a #GAsyncResult
5474 	 * Returns: %TRUE if the operation finished successfully. %FALSE
5475 	 *     otherwise.
5476 	 *
5477 	 * Throws: GException on failure.
5478 	 */
5479 	extern(C) int function(GFile* file, GAsyncResult* result, GError** err) pollMountableFinish;
5480 	/**
5481 	 *
5482 	 * Params:
5483 	 *     file = a #GFile
5484 	 *     flags = #GFileMeasureFlags
5485 	 *     cancellable = optional #GCancellable
5486 	 *     progressCallback = a #GFileMeasureProgressCallback
5487 	 *     progressData = user_data for @progress_callback
5488 	 *     diskUsage = the number of bytes of disk space used
5489 	 *     numDirs = the number of directories encountered
5490 	 *     numFiles = the number of non-directories encountered
5491 	 * Returns: %TRUE if successful, with the out parameters set.
5492 	 *     %FALSE otherwise, with @error set.
5493 	 *
5494 	 * Throws: GException on failure.
5495 	 */
5496 	extern(C) int function(GFile* file, GFileMeasureFlags flags, GCancellable* cancellable, GFileMeasureProgressCallback progressCallback, void* progressData, ulong* diskUsage, ulong* numDirs, ulong* numFiles, GError** err) measureDiskUsage;
5497 	/** */
5498 	extern(C) void function(GFile* file, GFileMeasureFlags flags, int ioPriority, GCancellable* cancellable, GFileMeasureProgressCallback progressCallback, void* progressData, GAsyncReadyCallback callback, void* userData) measureDiskUsageAsync;
5499 	/**
5500 	 *
5501 	 * Params:
5502 	 *     file = a #GFile
5503 	 *     result = the #GAsyncResult passed to your #GAsyncReadyCallback
5504 	 *     diskUsage = the number of bytes of disk space used
5505 	 *     numDirs = the number of directories encountered
5506 	 *     numFiles = the number of non-directories encountered
5507 	 * Returns: %TRUE if successful, with the out parameters set.
5508 	 *     %FALSE otherwise, with @error set.
5509 	 *
5510 	 * Throws: GException on failure.
5511 	 */
5512 	extern(C) int function(GFile* file, GAsyncResult* result, ulong* diskUsage, ulong* numDirs, ulong* numFiles, GError** err) measureDiskUsageFinish;
5513 }
5514 
5515 struct GFileInfo;
5516 
5517 struct GFileInfoClass;
5518 
5519 struct GFileInputStream
5520 {
5521 	GInputStream parentInstance;
5522 	GFileInputStreamPrivate* priv;
5523 }
5524 
5525 struct GFileInputStreamClass
5526 {
5527 	GInputStreamClass parentClass;
5528 	/** */
5529 	extern(C) long function(GFileInputStream* stream) tell;
5530 	/** */
5531 	extern(C) int function(GFileInputStream* stream) canSeek;
5532 	/** */
5533 	extern(C) int function(GFileInputStream* stream, long offset, GSeekType type, GCancellable* cancellable, GError** err) seek;
5534 	/**
5535 	 *
5536 	 * Params:
5537 	 *     stream = a #GFileInputStream.
5538 	 *     attributes = a file attribute query string.
5539 	 *     cancellable = optional #GCancellable object, %NULL to ignore.
5540 	 * Returns: a #GFileInfo, or %NULL on error.
5541 	 *
5542 	 * Throws: GException on failure.
5543 	 */
5544 	extern(C) GFileInfo* function(GFileInputStream* stream, const(char)* attributes, GCancellable* cancellable, GError** err) queryInfo;
5545 	/** */
5546 	extern(C) void function(GFileInputStream* stream, const(char)* attributes, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) queryInfoAsync;
5547 	/**
5548 	 *
5549 	 * Params:
5550 	 *     stream = a #GFileInputStream.
5551 	 *     result = a #GAsyncResult.
5552 	 * Returns: #GFileInfo.
5553 	 *
5554 	 * Throws: GException on failure.
5555 	 */
5556 	extern(C) GFileInfo* function(GFileInputStream* stream, GAsyncResult* result, GError** err) queryInfoFinish;
5557 	/** */
5558 	extern(C) void function() GReserved1;
5559 	/** */
5560 	extern(C) void function() GReserved2;
5561 	/** */
5562 	extern(C) void function() GReserved3;
5563 	/** */
5564 	extern(C) void function() GReserved4;
5565 	/** */
5566 	extern(C) void function() GReserved5;
5567 }
5568 
5569 struct GFileInputStreamPrivate;
5570 
5571 struct GFileMonitor
5572 {
5573 	GObject parentInstance;
5574 	GFileMonitorPrivate* priv;
5575 }
5576 
5577 struct GFileMonitorClass
5578 {
5579 	GObjectClass parentClass;
5580 	/** */
5581 	extern(C) void function(GFileMonitor* monitor, GFile* file, GFile* otherFile, GFileMonitorEvent eventType) changed;
5582 	/**
5583 	 *
5584 	 * Params:
5585 	 *     monitor = a #GFileMonitor.
5586 	 * Returns: always %TRUE
5587 	 */
5588 	extern(C) int function(GFileMonitor* monitor) cancel;
5589 	/** */
5590 	extern(C) void function() GReserved1;
5591 	/** */
5592 	extern(C) void function() GReserved2;
5593 	/** */
5594 	extern(C) void function() GReserved3;
5595 	/** */
5596 	extern(C) void function() GReserved4;
5597 	/** */
5598 	extern(C) void function() GReserved5;
5599 }
5600 
5601 struct GFileMonitorPrivate;
5602 
5603 struct GFileOutputStream
5604 {
5605 	GOutputStream parentInstance;
5606 	GFileOutputStreamPrivate* priv;
5607 }
5608 
5609 struct GFileOutputStreamClass
5610 {
5611 	GOutputStreamClass parentClass;
5612 	/** */
5613 	extern(C) long function(GFileOutputStream* stream) tell;
5614 	/** */
5615 	extern(C) int function(GFileOutputStream* stream) canSeek;
5616 	/** */
5617 	extern(C) int function(GFileOutputStream* stream, long offset, GSeekType type, GCancellable* cancellable, GError** err) seek;
5618 	/** */
5619 	extern(C) int function(GFileOutputStream* stream) canTruncate;
5620 	/** */
5621 	extern(C) int function(GFileOutputStream* stream, long size, GCancellable* cancellable, GError** err) truncateFn;
5622 	/**
5623 	 *
5624 	 * Params:
5625 	 *     stream = a #GFileOutputStream.
5626 	 *     attributes = a file attribute query string.
5627 	 *     cancellable = optional #GCancellable object, %NULL to ignore.
5628 	 * Returns: a #GFileInfo for the @stream, or %NULL on error.
5629 	 *
5630 	 * Throws: GException on failure.
5631 	 */
5632 	extern(C) GFileInfo* function(GFileOutputStream* stream, const(char)* attributes, GCancellable* cancellable, GError** err) queryInfo;
5633 	/** */
5634 	extern(C) void function(GFileOutputStream* stream, const(char)* attributes, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) queryInfoAsync;
5635 	/**
5636 	 *
5637 	 * Params:
5638 	 *     stream = a #GFileOutputStream.
5639 	 *     result = a #GAsyncResult.
5640 	 * Returns: A #GFileInfo for the finished query.
5641 	 *
5642 	 * Throws: GException on failure.
5643 	 */
5644 	extern(C) GFileInfo* function(GFileOutputStream* stream, GAsyncResult* result, GError** err) queryInfoFinish;
5645 	/**
5646 	 *
5647 	 * Params:
5648 	 *     stream = a #GFileOutputStream.
5649 	 * Returns: the entity tag for the stream.
5650 	 */
5651 	extern(C) char* function(GFileOutputStream* stream) getEtag;
5652 	/** */
5653 	extern(C) void function() GReserved1;
5654 	/** */
5655 	extern(C) void function() GReserved2;
5656 	/** */
5657 	extern(C) void function() GReserved3;
5658 	/** */
5659 	extern(C) void function() GReserved4;
5660 	/** */
5661 	extern(C) void function() GReserved5;
5662 }
5663 
5664 struct GFileOutputStreamPrivate;
5665 
5666 struct GFilenameCompleter;
5667 
5668 struct GFilenameCompleterClass
5669 {
5670 	GObjectClass parentClass;
5671 	/** */
5672 	extern(C) void function(GFilenameCompleter* filenameCompleter) gotCompletionData;
5673 	/** */
5674 	extern(C) void function() GReserved1;
5675 	/** */
5676 	extern(C) void function() GReserved2;
5677 	/** */
5678 	extern(C) void function() GReserved3;
5679 }
5680 
5681 struct GFilterInputStream
5682 {
5683 	GInputStream parentInstance;
5684 	GInputStream* baseStream;
5685 }
5686 
5687 struct GFilterInputStreamClass
5688 {
5689 	GInputStreamClass parentClass;
5690 	/** */
5691 	extern(C) void function() GReserved1;
5692 	/** */
5693 	extern(C) void function() GReserved2;
5694 	/** */
5695 	extern(C) void function() GReserved3;
5696 }
5697 
5698 struct GFilterOutputStream
5699 {
5700 	GOutputStream parentInstance;
5701 	GOutputStream* baseStream;
5702 }
5703 
5704 struct GFilterOutputStreamClass
5705 {
5706 	GOutputStreamClass parentClass;
5707 	/** */
5708 	extern(C) void function() GReserved1;
5709 	/** */
5710 	extern(C) void function() GReserved2;
5711 	/** */
5712 	extern(C) void function() GReserved3;
5713 }
5714 
5715 struct GIOExtension;
5716 
5717 struct GIOExtensionPoint;
5718 
5719 struct GIOModule;
5720 
5721 struct GIOModuleClass;
5722 
5723 struct GIOModuleScope;
5724 
5725 struct GIOSchedulerJob;
5726 
5727 struct GIOStream
5728 {
5729 	GObject parentInstance;
5730 	GIOStreamPrivate* priv;
5731 }
5732 
5733 struct GIOStreamAdapter;
5734 
5735 struct GIOStreamClass
5736 {
5737 	GObjectClass parentClass;
5738 	/**
5739 	 *
5740 	 * Params:
5741 	 *     stream = a #GIOStream
5742 	 * Returns: a #GInputStream, owned by the #GIOStream.
5743 	 *     Do not free.
5744 	 */
5745 	extern(C) GInputStream* function(GIOStream* stream) getInputStream;
5746 	/**
5747 	 *
5748 	 * Params:
5749 	 *     stream = a #GIOStream
5750 	 * Returns: a #GOutputStream, owned by the #GIOStream.
5751 	 *     Do not free.
5752 	 */
5753 	extern(C) GOutputStream* function(GIOStream* stream) getOutputStream;
5754 	/** */
5755 	extern(C) int function(GIOStream* stream, GCancellable* cancellable, GError** err) closeFn;
5756 	/** */
5757 	extern(C) void function(GIOStream* stream, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) closeAsync;
5758 	/**
5759 	 *
5760 	 * Params:
5761 	 *     stream = a #GIOStream
5762 	 *     result = a #GAsyncResult
5763 	 * Returns: %TRUE if stream was successfully closed, %FALSE otherwise.
5764 	 *
5765 	 * Throws: GException on failure.
5766 	 */
5767 	extern(C) int function(GIOStream* stream, GAsyncResult* result, GError** err) closeFinish;
5768 	/** */
5769 	extern(C) void function() GReserved1;
5770 	/** */
5771 	extern(C) void function() GReserved2;
5772 	/** */
5773 	extern(C) void function() GReserved3;
5774 	/** */
5775 	extern(C) void function() GReserved4;
5776 	/** */
5777 	extern(C) void function() GReserved5;
5778 	/** */
5779 	extern(C) void function() GReserved6;
5780 	/** */
5781 	extern(C) void function() GReserved7;
5782 	/** */
5783 	extern(C) void function() GReserved8;
5784 	/** */
5785 	extern(C) void function() GReserved9;
5786 	/** */
5787 	extern(C) void function() GReserved10;
5788 }
5789 
5790 struct GIOStreamPrivate;
5791 
5792 struct GIcon;
5793 
5794 /**
5795  * GIconIface is used to implement GIcon types for various
5796  * different systems. See #GThemedIcon and #GLoadableIcon for
5797  * examples of how to implement this interface.
5798  */
5799 struct GIconIface
5800 {
5801 	/**
5802 	 * The parent interface.
5803 	 */
5804 	GTypeInterface gIface;
5805 	/**
5806 	 *
5807 	 * Params:
5808 	 *     icon = #gconstpointer to an icon object.
5809 	 * Returns: a #guint containing a hash for the @icon, suitable for
5810 	 *     use in a #GHashTable or similar data structure.
5811 	 */
5812 	extern(C) uint function(GIcon* icon) hash;
5813 	/**
5814 	 *
5815 	 * Params:
5816 	 *     icon1 = pointer to the first #GIcon.
5817 	 *     icon2 = pointer to the second #GIcon.
5818 	 * Returns: %TRUE if @icon1 is equal to @icon2. %FALSE otherwise.
5819 	 */
5820 	extern(C) int function(GIcon* icon1, GIcon* icon2) equal;
5821 	/**
5822 	 *
5823 	 * Params:
5824 	 *     icon = a #GIcon.
5825 	 * Returns: An allocated NUL-terminated UTF8 string or
5826 	 *     %NULL if @icon can't be serialized. Use g_free() to free.
5827 	 */
5828 	extern(C) int function(GIcon* icon, GPtrArray* tokens, int* outVersion) toTokens;
5829 	/** */
5830 	extern(C) GIcon* function(char** tokens, int numTokens, int versio, GError** err) fromTokens;
5831 	/**
5832 	 *
5833 	 * Params:
5834 	 *     icon = a #GIcon
5835 	 * Returns: a #GVariant, or %NULL when serialization fails.
5836 	 */
5837 	extern(C) GVariant* function(GIcon* icon) serialize;
5838 }
5839 
5840 struct GInetAddress
5841 {
5842 	GObject parentInstance;
5843 	GInetAddressPrivate* priv;
5844 }
5845 
5846 struct GInetAddressClass
5847 {
5848 	GObjectClass parentClass;
5849 	/**
5850 	 *
5851 	 * Params:
5852 	 *     address = a #GInetAddress
5853 	 * Returns: a representation of @address as a string, which should be
5854 	 *     freed after use.
5855 	 */
5856 	extern(C) char* function(GInetAddress* address) toString;
5857 	/**
5858 	 *
5859 	 * Params:
5860 	 *     address = a #GInetAddress
5861 	 * Returns: a pointer to an internal array of the bytes in @address,
5862 	 *     which should not be modified, stored, or freed. The size of this
5863 	 *     array can be gotten with g_inet_address_get_native_size().
5864 	 */
5865 	extern(C) ubyte* function(GInetAddress* address) toBytes;
5866 }
5867 
5868 struct GInetAddressMask
5869 {
5870 	GObject parentInstance;
5871 	GInetAddressMaskPrivate* priv;
5872 }
5873 
5874 struct GInetAddressMaskClass
5875 {
5876 	GObjectClass parentClass;
5877 }
5878 
5879 struct GInetAddressMaskPrivate;
5880 
5881 struct GInetAddressPrivate;
5882 
5883 struct GInetSocketAddress
5884 {
5885 	GSocketAddress parentInstance;
5886 	GInetSocketAddressPrivate* priv;
5887 }
5888 
5889 struct GInetSocketAddressClass
5890 {
5891 	GSocketAddressClass parentClass;
5892 }
5893 
5894 struct GInetSocketAddressPrivate;
5895 
5896 struct GInitable;
5897 
5898 /**
5899  * Provides an interface for initializing object such that initialization
5900  * may fail.
5901  *
5902  * Since: 2.22
5903  */
5904 struct GInitableIface
5905 {
5906 	/**
5907 	 * The parent interface.
5908 	 */
5909 	GTypeInterface gIface;
5910 	/**
5911 	 *
5912 	 * Params:
5913 	 *     initable = a #GInitable.
5914 	 *     cancellable = optional #GCancellable object, %NULL to ignore.
5915 	 * Returns: %TRUE if successful. If an error has occurred, this function will
5916 	 *     return %FALSE and set @error appropriately if present.
5917 	 *
5918 	 * Throws: GException on failure.
5919 	 */
5920 	extern(C) int function(GInitable* initable, GCancellable* cancellable, GError** err) init;
5921 }
5922 
5923 /**
5924  * Structure used for scatter/gather data input when receiving multiple
5925  * messages or packets in one go. You generally pass in an array of empty
5926  * #GInputVectors and the operation will use all the buffers as if they
5927  * were one buffer, and will set @bytes_received to the total number of bytes
5928  * received across all #GInputVectors.
5929  *
5930  * This structure closely mirrors `struct mmsghdr` and `struct msghdr` from
5931  * the POSIX sockets API (see `man 2 recvmmsg`).
5932  *
5933  * If @address is non-%NULL then it is set to the source address the message
5934  * was received from, and the caller must free it afterwards.
5935  *
5936  * If @control_messages is non-%NULL then it is set to an array of control
5937  * messages received with the message (if any), and the caller must free it
5938  * afterwards. @num_control_messages is set to the number of elements in
5939  * this array, which may be zero.
5940  *
5941  * Flags relevant to this message will be returned in @flags. For example,
5942  * `MSG_EOR` or `MSG_TRUNC`.
5943  *
5944  * Since: 2.48
5945  */
5946 struct GInputMessage
5947 {
5948 	/**
5949 	 * return location
5950 	 * for a #GSocketAddress, or %NULL
5951 	 */
5952 	GSocketAddress** address;
5953 	/**
5954 	 * pointer to an
5955 	 * array of input vectors
5956 	 */
5957 	GInputVector* vectors;
5958 	/**
5959 	 * the number of input vectors pointed to by @vectors
5960 	 */
5961 	uint numVectors;
5962 	/**
5963 	 * will be set to the number of bytes that have been
5964 	 * received
5965 	 */
5966 	size_t bytesReceived;
5967 	/**
5968 	 * collection of #GSocketMsgFlags for the received message,
5969 	 * outputted by the call
5970 	 */
5971 	int flags;
5972 	/**
5973 	 * return location for a
5974 	 * caller-allocated array of #GSocketControlMessages, or %NULL
5975 	 */
5976 	GSocketControlMessage*** controlMessages;
5977 	/**
5978 	 * return location for the number of
5979 	 * elements in @control_messages
5980 	 */
5981 	uint* numControlMessages;
5982 }
5983 
5984 struct GInputStream
5985 {
5986 	GObject parentInstance;
5987 	GInputStreamPrivate* priv;
5988 }
5989 
5990 struct GInputStreamClass
5991 {
5992 	GObjectClass parentClass;
5993 	/** */
5994 	extern(C) ptrdiff_t function(GInputStream* stream, void* buffer, size_t count, GCancellable* cancellable, GError** err) readFn;
5995 	/**
5996 	 *
5997 	 * Params:
5998 	 *     stream = a #GInputStream.
5999 	 *     count = the number of bytes that will be skipped from the stream
6000 	 *     cancellable = optional #GCancellable object, %NULL to ignore.
6001 	 * Returns: Number of bytes skipped, or -1 on error
6002 	 *
6003 	 * Throws: GException on failure.
6004 	 */
6005 	extern(C) ptrdiff_t function(GInputStream* stream, size_t count, GCancellable* cancellable, GError** err) skip;
6006 	/** */
6007 	extern(C) int function(GInputStream* stream, GCancellable* cancellable, GError** err) closeFn;
6008 	/** */
6009 	extern(C) void function(GInputStream* stream, void* buffer, size_t count, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) readAsync;
6010 	/**
6011 	 *
6012 	 * Params:
6013 	 *     stream = a #GInputStream.
6014 	 *     result = a #GAsyncResult.
6015 	 * Returns: number of bytes read in, or -1 on error, or 0 on end of file.
6016 	 *
6017 	 * Throws: GException on failure.
6018 	 */
6019 	extern(C) ptrdiff_t function(GInputStream* stream, GAsyncResult* result, GError** err) readFinish;
6020 	/** */
6021 	extern(C) void function(GInputStream* stream, size_t count, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) skipAsync;
6022 	/**
6023 	 *
6024 	 * Params:
6025 	 *     stream = a #GInputStream.
6026 	 *     result = a #GAsyncResult.
6027 	 * Returns: the size of the bytes skipped, or %-1 on error.
6028 	 *
6029 	 * Throws: GException on failure.
6030 	 */
6031 	extern(C) ptrdiff_t function(GInputStream* stream, GAsyncResult* result, GError** err) skipFinish;
6032 	/** */
6033 	extern(C) void function(GInputStream* stream, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) closeAsync;
6034 	/**
6035 	 *
6036 	 * Params:
6037 	 *     stream = a #GInputStream.
6038 	 *     result = a #GAsyncResult.
6039 	 * Returns: %TRUE if the stream was closed successfully.
6040 	 *
6041 	 * Throws: GException on failure.
6042 	 */
6043 	extern(C) int function(GInputStream* stream, GAsyncResult* result, GError** err) closeFinish;
6044 	/** */
6045 	extern(C) void function() GReserved1;
6046 	/** */
6047 	extern(C) void function() GReserved2;
6048 	/** */
6049 	extern(C) void function() GReserved3;
6050 	/** */
6051 	extern(C) void function() GReserved4;
6052 	/** */
6053 	extern(C) void function() GReserved5;
6054 }
6055 
6056 struct GInputStreamPrivate;
6057 
6058 /**
6059  * Structure used for scatter/gather data input.
6060  * You generally pass in an array of #GInputVectors
6061  * and the operation will store the read data starting in the
6062  * first buffer, switching to the next as needed.
6063  *
6064  * Since: 2.22
6065  */
6066 struct GInputVector
6067 {
6068 	/**
6069 	 * Pointer to a buffer where data will be written.
6070 	 */
6071 	void* buffer;
6072 	/**
6073 	 * the available size in @buffer.
6074 	 */
6075 	size_t size;
6076 }
6077 
6078 struct GListModel;
6079 
6080 /**
6081  * The virtual function table for #GListModel.
6082  *
6083  * Since: 2.44
6084  */
6085 struct GListModelInterface
6086 {
6087 	/**
6088 	 * parent #GTypeInterface
6089 	 */
6090 	GTypeInterface gIface;
6091 	/**
6092 	 *
6093 	 * Params:
6094 	 *     list = a #GListModel
6095 	 * Returns: the #GType of the items contained in @list.
6096 	 */
6097 	extern(C) GType function(GListModel* list) getItemType;
6098 	/**
6099 	 *
6100 	 * Params:
6101 	 *     list = a #GListModel
6102 	 * Returns: the number of items in @list.
6103 	 */
6104 	extern(C) uint function(GListModel* list) getNItems;
6105 	/** */
6106 	extern(C) void* function(GListModel* list, uint position) getItem;
6107 }
6108 
6109 struct GListStore;
6110 
6111 struct GListStoreClass
6112 {
6113 	GObjectClass parentClass;
6114 }
6115 
6116 struct GLoadableIcon;
6117 
6118 /**
6119  * Interface for icons that can be loaded as a stream.
6120  */
6121 struct GLoadableIconIface
6122 {
6123 	/**
6124 	 * The parent interface.
6125 	 */
6126 	GTypeInterface gIface;
6127 	/**
6128 	 *
6129 	 * Params:
6130 	 *     icon = a #GLoadableIcon.
6131 	 *     size = an integer.
6132 	 *     type = a location to store the type of the loaded
6133 	 *         icon, %NULL to ignore.
6134 	 *     cancellable = optional #GCancellable object, %NULL to
6135 	 *         ignore.
6136 	 * Returns: a #GInputStream to read the icon from.
6137 	 *
6138 	 * Throws: GException on failure.
6139 	 */
6140 	extern(C) GInputStream* function(GLoadableIcon* icon, int size, char** type, GCancellable* cancellable, GError** err) load;
6141 	/** */
6142 	extern(C) void function(GLoadableIcon* icon, int size, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) loadAsync;
6143 	/**
6144 	 *
6145 	 * Params:
6146 	 *     icon = a #GLoadableIcon.
6147 	 *     res = a #GAsyncResult.
6148 	 *     type = a location to store the type of the loaded
6149 	 *         icon, %NULL to ignore.
6150 	 * Returns: a #GInputStream to read the icon from.
6151 	 *
6152 	 * Throws: GException on failure.
6153 	 */
6154 	extern(C) GInputStream* function(GLoadableIcon* icon, GAsyncResult* res, char** type, GError** err) loadFinish;
6155 }
6156 
6157 struct GMemoryInputStream
6158 {
6159 	GInputStream parentInstance;
6160 	GMemoryInputStreamPrivate* priv;
6161 }
6162 
6163 struct GMemoryInputStreamClass
6164 {
6165 	GInputStreamClass parentClass;
6166 	/** */
6167 	extern(C) void function() GReserved1;
6168 	/** */
6169 	extern(C) void function() GReserved2;
6170 	/** */
6171 	extern(C) void function() GReserved3;
6172 	/** */
6173 	extern(C) void function() GReserved4;
6174 	/** */
6175 	extern(C) void function() GReserved5;
6176 }
6177 
6178 struct GMemoryInputStreamPrivate;
6179 
6180 struct GMemoryOutputStream
6181 {
6182 	GOutputStream parentInstance;
6183 	GMemoryOutputStreamPrivate* priv;
6184 }
6185 
6186 struct GMemoryOutputStreamClass
6187 {
6188 	GOutputStreamClass parentClass;
6189 	/** */
6190 	extern(C) void function() GReserved1;
6191 	/** */
6192 	extern(C) void function() GReserved2;
6193 	/** */
6194 	extern(C) void function() GReserved3;
6195 	/** */
6196 	extern(C) void function() GReserved4;
6197 	/** */
6198 	extern(C) void function() GReserved5;
6199 }
6200 
6201 struct GMemoryOutputStreamPrivate;
6202 
6203 struct GMenu;
6204 
6205 struct GMenuAttributeIter
6206 {
6207 	GObject parentInstance;
6208 	GMenuAttributeIterPrivate* priv;
6209 }
6210 
6211 struct GMenuAttributeIterClass
6212 {
6213 	GObjectClass parentClass;
6214 	/**
6215 	 *
6216 	 * Params:
6217 	 *     iter = a #GMenuAttributeIter
6218 	 *     outName = the type of the attribute
6219 	 *     value = the attribute value
6220 	 * Returns: %TRUE on success, or %FALSE if there is no additional
6221 	 *     attribute
6222 	 */
6223 	extern(C) int function(GMenuAttributeIter* iter, char** outName, GVariant** value) getNext;
6224 }
6225 
6226 struct GMenuAttributeIterPrivate;
6227 
6228 struct GMenuItem;
6229 
6230 struct GMenuLinkIter
6231 {
6232 	GObject parentInstance;
6233 	GMenuLinkIterPrivate* priv;
6234 }
6235 
6236 struct GMenuLinkIterClass
6237 {
6238 	GObjectClass parentClass;
6239 	/**
6240 	 *
6241 	 * Params:
6242 	 *     iter = a #GMenuLinkIter
6243 	 *     outLink = the name of the link
6244 	 *     value = the linked #GMenuModel
6245 	 * Returns: %TRUE on success, or %FALSE if there is no additional link
6246 	 */
6247 	extern(C) int function(GMenuLinkIter* iter, char** outLink, GMenuModel** value) getNext;
6248 }
6249 
6250 struct GMenuLinkIterPrivate;
6251 
6252 struct GMenuModel
6253 {
6254 	GObject parentInstance;
6255 	GMenuModelPrivate* priv;
6256 }
6257 
6258 struct GMenuModelClass
6259 {
6260 	GObjectClass parentClass;
6261 	/**
6262 	 *
6263 	 * Params:
6264 	 *     model = a #GMenuModel
6265 	 * Returns: %TRUE if the model is mutable (ie: "items-changed" may be
6266 	 *     emitted).
6267 	 */
6268 	extern(C) int function(GMenuModel* model) isMutable;
6269 	/**
6270 	 *
6271 	 * Params:
6272 	 *     model = a #GMenuModel
6273 	 * Returns: the number of items
6274 	 */
6275 	extern(C) int function(GMenuModel* model) getNItems;
6276 	/** */
6277 	extern(C) void function(GMenuModel* model, int itemIndex, GHashTable** attributes) getItemAttributes;
6278 	/**
6279 	 *
6280 	 * Params:
6281 	 *     model = a #GMenuModel
6282 	 *     itemIndex = the index of the item
6283 	 * Returns: a new #GMenuAttributeIter
6284 	 */
6285 	extern(C) GMenuAttributeIter* function(GMenuModel* model, int itemIndex) iterateItemAttributes;
6286 	/**
6287 	 *
6288 	 * Params:
6289 	 *     model = a #GMenuModel
6290 	 *     itemIndex = the index of the item
6291 	 *     attribute = the attribute to query
6292 	 *     expectedType = the expected type of the attribute, or
6293 	 *         %NULL
6294 	 * Returns: the value of the attribute
6295 	 */
6296 	extern(C) GVariant* function(GMenuModel* model, int itemIndex, const(char)* attribute, GVariantType* expectedType) getItemAttributeValue;
6297 	/** */
6298 	extern(C) void function(GMenuModel* model, int itemIndex, GHashTable** links) getItemLinks;
6299 	/**
6300 	 *
6301 	 * Params:
6302 	 *     model = a #GMenuModel
6303 	 *     itemIndex = the index of the item
6304 	 * Returns: a new #GMenuLinkIter
6305 	 */
6306 	extern(C) GMenuLinkIter* function(GMenuModel* model, int itemIndex) iterateItemLinks;
6307 	/**
6308 	 *
6309 	 * Params:
6310 	 *     model = a #GMenuModel
6311 	 *     itemIndex = the index of the item
6312 	 *     link = the link to query
6313 	 * Returns: the linked #GMenuModel, or %NULL
6314 	 */
6315 	extern(C) GMenuModel* function(GMenuModel* model, int itemIndex, const(char)* link) getItemLink;
6316 }
6317 
6318 struct GMenuModelPrivate;
6319 
6320 struct GMount;
6321 
6322 /**
6323  * Interface for implementing operations for mounts.
6324  */
6325 struct GMountIface
6326 {
6327 	/**
6328 	 * The parent interface.
6329 	 */
6330 	GTypeInterface gIface;
6331 	/** */
6332 	extern(C) void function(GMount* mount) changed;
6333 	/** */
6334 	extern(C) void function(GMount* mount) unmounted;
6335 	/**
6336 	 *
6337 	 * Params:
6338 	 *     mount = a #GMount.
6339 	 * Returns: a #GFile.
6340 	 *     The returned object should be unreffed with
6341 	 *     g_object_unref() when no longer needed.
6342 	 */
6343 	extern(C) GFile* function(GMount* mount) getRoot;
6344 	/**
6345 	 *
6346 	 * Params:
6347 	 *     mount = a #GMount.
6348 	 * Returns: the name for the given @mount.
6349 	 *     The returned string should be freed with g_free()
6350 	 *     when no longer needed.
6351 	 */
6352 	extern(C) char* function(GMount* mount) getName;
6353 	/**
6354 	 *
6355 	 * Params:
6356 	 *     mount = a #GMount.
6357 	 * Returns: a #GIcon.
6358 	 *     The returned object should be unreffed with
6359 	 *     g_object_unref() when no longer needed.
6360 	 */
6361 	extern(C) GIcon* function(GMount* mount) getIcon;
6362 	/**
6363 	 *
6364 	 * Params:
6365 	 *     mount = a #GMount.
6366 	 * Returns: the UUID for @mount or %NULL if no UUID can be computed.
6367 	 *     The returned string should be freed with g_free()
6368 	 *     when no longer needed.
6369 	 */
6370 	extern(C) char* function(GMount* mount) getUuid;
6371 	/**
6372 	 *
6373 	 * Params:
6374 	 *     mount = a #GMount.
6375 	 * Returns: a #GVolume or %NULL if @mount is not associated with a volume.
6376 	 *     The returned object should be unreffed with
6377 	 *     g_object_unref() when no longer needed.
6378 	 */
6379 	extern(C) GVolume* function(GMount* mount) getVolume;
6380 	/**
6381 	 *
6382 	 * Params:
6383 	 *     mount = a #GMount.
6384 	 * Returns: a #GDrive or %NULL if @mount is not associated with a volume or a drive.
6385 	 *     The returned object should be unreffed with
6386 	 *     g_object_unref() when no longer needed.
6387 	 */
6388 	extern(C) GDrive* function(GMount* mount) getDrive;
6389 	/**
6390 	 *
6391 	 * Params:
6392 	 *     mount = a #GMount.
6393 	 * Returns: %TRUE if the @mount can be unmounted.
6394 	 */
6395 	extern(C) int function(GMount* mount) canUnmount;
6396 	/**
6397 	 *
6398 	 * Params:
6399 	 *     mount = a #GMount.
6400 	 * Returns: %TRUE if the @mount can be ejected.
6401 	 */
6402 	extern(C) int function(GMount* mount) canEject;
6403 	/** */
6404 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) unmount;
6405 	/**
6406 	 *
6407 	 * Params:
6408 	 *     mount = a #GMount.
6409 	 *     result = a #GAsyncResult.
6410 	 * Returns: %TRUE if the mount was successfully unmounted. %FALSE otherwise.
6411 	 *
6412 	 * Throws: GException on failure.
6413 	 */
6414 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** err) unmountFinish;
6415 	/** */
6416 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) eject;
6417 	/**
6418 	 *
6419 	 * Params:
6420 	 *     mount = a #GMount.
6421 	 *     result = a #GAsyncResult.
6422 	 * Returns: %TRUE if the mount was successfully ejected. %FALSE otherwise.
6423 	 *
6424 	 * Throws: GException on failure.
6425 	 */
6426 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** err) ejectFinish;
6427 	/** */
6428 	extern(C) void function(GMount* mount, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) remount;
6429 	/**
6430 	 *
6431 	 * Params:
6432 	 *     mount = a #GMount.
6433 	 *     result = a #GAsyncResult.
6434 	 * Returns: %TRUE if the mount was successfully remounted. %FALSE otherwise.
6435 	 *
6436 	 * Throws: GException on failure.
6437 	 */
6438 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** err) remountFinish;
6439 	/** */
6440 	extern(C) void function(GMount* mount, int forceRescan, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) guessContentType;
6441 	/**
6442 	 *
6443 	 * Params:
6444 	 *     mount = a #GMount
6445 	 *     result = a #GAsyncResult
6446 	 * Returns: a %NULL-terminated array of content types or %NULL on error.
6447 	 *     Caller should free this array with g_strfreev() when done with it.
6448 	 *
6449 	 * Throws: GException on failure.
6450 	 */
6451 	extern(C) char** function(GMount* mount, GAsyncResult* result, GError** err) guessContentTypeFinish;
6452 	/**
6453 	 *
6454 	 * Params:
6455 	 *     mount = a #GMount
6456 	 *     forceRescan = Whether to force a rescan of the content.
6457 	 *         Otherwise a cached result will be used if available
6458 	 *     cancellable = optional #GCancellable object, %NULL to ignore
6459 	 * Returns: a %NULL-terminated array of content types or %NULL on error.
6460 	 *     Caller should free this array with g_strfreev() when done with it.
6461 	 *
6462 	 * Throws: GException on failure.
6463 	 */
6464 	extern(C) char** function(GMount* mount, int forceRescan, GCancellable* cancellable, GError** err) guessContentTypeSync;
6465 	/** */
6466 	extern(C) void function(GMount* mount) preUnmount;
6467 	/** */
6468 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) unmountWithOperation;
6469 	/**
6470 	 *
6471 	 * Params:
6472 	 *     mount = a #GMount.
6473 	 *     result = a #GAsyncResult.
6474 	 * Returns: %TRUE if the mount was successfully unmounted. %FALSE otherwise.
6475 	 *
6476 	 * Throws: GException on failure.
6477 	 */
6478 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** err) unmountWithOperationFinish;
6479 	/** */
6480 	extern(C) void function(GMount* mount, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) ejectWithOperation;
6481 	/**
6482 	 *
6483 	 * Params:
6484 	 *     mount = a #GMount.
6485 	 *     result = a #GAsyncResult.
6486 	 * Returns: %TRUE if the mount was successfully ejected. %FALSE otherwise.
6487 	 *
6488 	 * Throws: GException on failure.
6489 	 */
6490 	extern(C) int function(GMount* mount, GAsyncResult* result, GError** err) ejectWithOperationFinish;
6491 	/**
6492 	 *
6493 	 * Params:
6494 	 *     mount = a #GMount.
6495 	 * Returns: a #GFile.
6496 	 *     The returned object should be unreffed with
6497 	 *     g_object_unref() when no longer needed.
6498 	 */
6499 	extern(C) GFile* function(GMount* mount) getDefaultLocation;
6500 	/**
6501 	 *
6502 	 * Params:
6503 	 *     mount = A #GMount.
6504 	 * Returns: Sorting key for @mount or %NULL if no such key is available.
6505 	 */
6506 	extern(C) const(char)* function(GMount* mount) getSortKey;
6507 	/**
6508 	 *
6509 	 * Params:
6510 	 *     mount = a #GMount.
6511 	 * Returns: a #GIcon.
6512 	 *     The returned object should be unreffed with
6513 	 *     g_object_unref() when no longer needed.
6514 	 */
6515 	extern(C) GIcon* function(GMount* mount) getSymbolicIcon;
6516 }
6517 
6518 struct GMountOperation
6519 {
6520 	GObject parentInstance;
6521 	GMountOperationPrivate* priv;
6522 }
6523 
6524 struct GMountOperationClass
6525 {
6526 	GObjectClass parentClass;
6527 	/** */
6528 	extern(C) void function(GMountOperation* op, const(char)* message, const(char)* defaultUser, const(char)* defaultDomain, GAskPasswordFlags flags) askPassword;
6529 	/** */
6530 	extern(C) void function(GMountOperation* op, const(char)* message, const(char)* choices) askQuestion;
6531 	/** */
6532 	extern(C) void function(GMountOperation* op, GMountOperationResult result) reply;
6533 	/** */
6534 	extern(C) void function(GMountOperation* op) aborted;
6535 	/** */
6536 	extern(C) void function(GMountOperation* op, const(char)* message, GArray* processes, const(char)* choices) showProcesses;
6537 	/** */
6538 	extern(C) void function(GMountOperation* op, const(char)* message, long timeLeft, long bytesLeft) showUnmountProgress;
6539 	/** */
6540 	extern(C) void function() GReserved1;
6541 	/** */
6542 	extern(C) void function() GReserved2;
6543 	/** */
6544 	extern(C) void function() GReserved3;
6545 	/** */
6546 	extern(C) void function() GReserved4;
6547 	/** */
6548 	extern(C) void function() GReserved5;
6549 	/** */
6550 	extern(C) void function() GReserved6;
6551 	/** */
6552 	extern(C) void function() GReserved7;
6553 	/** */
6554 	extern(C) void function() GReserved8;
6555 	/** */
6556 	extern(C) void function() GReserved9;
6557 }
6558 
6559 struct GMountOperationPrivate;
6560 
6561 /**
6562  * An socket address of some unknown native type.
6563  */
6564 struct GNativeSocketAddress;
6565 
6566 struct GNativeVolumeMonitor
6567 {
6568 	GVolumeMonitor parentInstance;
6569 }
6570 
6571 struct GNativeVolumeMonitorClass
6572 {
6573 	GVolumeMonitorClass parentClass;
6574 	/** */
6575 	extern(C) GMount* function(const(char)* mountPath, GCancellable* cancellable) getMountForMountPath;
6576 }
6577 
6578 struct GNetworkAddress
6579 {
6580 	GObject parentInstance;
6581 	GNetworkAddressPrivate* priv;
6582 }
6583 
6584 struct GNetworkAddressClass
6585 {
6586 	GObjectClass parentClass;
6587 }
6588 
6589 struct GNetworkAddressPrivate;
6590 
6591 struct GNetworkMonitor;
6592 
6593 /**
6594  * The virtual function table for #GNetworkMonitor.
6595  *
6596  * Since: 2.32
6597  */
6598 struct GNetworkMonitorInterface
6599 {
6600 	/**
6601 	 * The parent interface.
6602 	 */
6603 	GTypeInterface gIface;
6604 	/** */
6605 	extern(C) void function(GNetworkMonitor* monitor, int available) networkChanged;
6606 	/**
6607 	 *
6608 	 * Params:
6609 	 *     monitor = a #GNetworkMonitor
6610 	 *     connectable = a #GSocketConnectable
6611 	 *     cancellable = a #GCancellable, or %NULL
6612 	 * Returns: %TRUE if @connectable is reachable, %FALSE if not.
6613 	 *
6614 	 * Throws: GException on failure.
6615 	 */
6616 	extern(C) int function(GNetworkMonitor* monitor, GSocketConnectable* connectable, GCancellable* cancellable, GError** err) canReach;
6617 	/** */
6618 	extern(C) void function(GNetworkMonitor* monitor, GSocketConnectable* connectable, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) canReachAsync;
6619 	/**
6620 	 *
6621 	 * Params:
6622 	 *     monitor = a #GNetworkMonitor
6623 	 *     result = a #GAsyncResult
6624 	 * Returns: %TRUE if network is reachable, %FALSE if not.
6625 	 *
6626 	 * Throws: GException on failure.
6627 	 */
6628 	extern(C) int function(GNetworkMonitor* monitor, GAsyncResult* result, GError** err) canReachFinish;
6629 }
6630 
6631 struct GNetworkService
6632 {
6633 	GObject parentInstance;
6634 	GNetworkServicePrivate* priv;
6635 }
6636 
6637 struct GNetworkServiceClass
6638 {
6639 	GObjectClass parentClass;
6640 }
6641 
6642 struct GNetworkServicePrivate;
6643 
6644 struct GNotification;
6645 
6646 /**
6647  * Structure used for scatter/gather data output when sending multiple
6648  * messages or packets in one go. You generally pass in an array of
6649  * #GOutputVectors and the operation will use all the buffers as if they
6650  * were one buffer.
6651  *
6652  * If @address is %NULL then the message is sent to the default receiver
6653  * (as previously set by g_socket_connect()).
6654  *
6655  * Since: 2.44
6656  */
6657 struct GOutputMessage
6658 {
6659 	/**
6660 	 * a #GSocketAddress, or %NULL
6661 	 */
6662 	GSocketAddress* address;
6663 	/**
6664 	 * pointer to an array of output vectors
6665 	 */
6666 	GOutputVector* vectors;
6667 	/**
6668 	 * the number of output vectors pointed to by @vectors.
6669 	 */
6670 	uint numVectors;
6671 	/**
6672 	 * initialize to 0. Will be set to the number of bytes
6673 	 * that have been sent
6674 	 */
6675 	uint bytesSent;
6676 	/**
6677 	 * a pointer
6678 	 * to an array of #GSocketControlMessages, or %NULL.
6679 	 */
6680 	GSocketControlMessage** controlMessages;
6681 	/**
6682 	 * number of elements in @control_messages.
6683 	 */
6684 	uint numControlMessages;
6685 }
6686 
6687 struct GOutputStream
6688 {
6689 	GObject parentInstance;
6690 	GOutputStreamPrivate* priv;
6691 }
6692 
6693 struct GOutputStreamClass
6694 {
6695 	GObjectClass parentClass;
6696 	/**
6697 	 *
6698 	 * Params:
6699 	 *     stream = a #GOutputStream.
6700 	 *     buffer = the buffer containing the data to write.
6701 	 *     count = the number of bytes to write
6702 	 *     cancellable = optional cancellable object
6703 	 * Returns: Number of bytes written, or -1 on error
6704 	 *
6705 	 * Throws: GException on failure.
6706 	 */
6707 	extern(C) ptrdiff_t function(GOutputStream* stream, void* buffer, size_t count, GCancellable* cancellable, GError** err) writeFn;
6708 	/**
6709 	 *
6710 	 * Params:
6711 	 *     stream = a #GOutputStream.
6712 	 *     source = a #GInputStream.
6713 	 *     flags = a set of #GOutputStreamSpliceFlags.
6714 	 *     cancellable = optional #GCancellable object, %NULL to ignore.
6715 	 * Returns: a #gssize containing the size of the data spliced, or
6716 	 *     -1 if an error occurred. Note that if the number of bytes
6717 	 *     spliced is greater than %G_MAXSSIZE, then that will be
6718 	 *     returned, and there is no way to determine the actual number
6719 	 *     of bytes spliced.
6720 	 *
6721 	 * Throws: GException on failure.
6722 	 */
6723 	extern(C) ptrdiff_t function(GOutputStream* stream, GInputStream* source, GOutputStreamSpliceFlags flags, GCancellable* cancellable, GError** err) splice;
6724 	/**
6725 	 *
6726 	 * Params:
6727 	 *     stream = a #GOutputStream.
6728 	 *     cancellable = optional cancellable object
6729 	 * Returns: %TRUE on success, %FALSE on error
6730 	 *
6731 	 * Throws: GException on failure.
6732 	 */
6733 	extern(C) int function(GOutputStream* stream, GCancellable* cancellable, GError** err) flush;
6734 	/** */
6735 	extern(C) int function(GOutputStream* stream, GCancellable* cancellable, GError** err) closeFn;
6736 	/** */
6737 	extern(C) void function(GOutputStream* stream, void* buffer, size_t count, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) writeAsync;
6738 	/**
6739 	 *
6740 	 * Params:
6741 	 *     stream = a #GOutputStream.
6742 	 *     result = a #GAsyncResult.
6743 	 * Returns: a #gssize containing the number of bytes written to the stream.
6744 	 *
6745 	 * Throws: GException on failure.
6746 	 */
6747 	extern(C) ptrdiff_t function(GOutputStream* stream, GAsyncResult* result, GError** err) writeFinish;
6748 	/** */
6749 	extern(C) void function(GOutputStream* stream, GInputStream* source, GOutputStreamSpliceFlags flags, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) spliceAsync;
6750 	/**
6751 	 *
6752 	 * Params:
6753 	 *     stream = a #GOutputStream.
6754 	 *     result = a #GAsyncResult.
6755 	 * Returns: a #gssize of the number of bytes spliced. Note that if the
6756 	 *     number of bytes spliced is greater than %G_MAXSSIZE, then that
6757 	 *     will be returned, and there is no way to determine the actual
6758 	 *     number of bytes spliced.
6759 	 *
6760 	 * Throws: GException on failure.
6761 	 */
6762 	extern(C) ptrdiff_t function(GOutputStream* stream, GAsyncResult* result, GError** err) spliceFinish;
6763 	/** */
6764 	extern(C) void function(GOutputStream* stream, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) flushAsync;
6765 	/**
6766 	 *
6767 	 * Params:
6768 	 *     stream = a #GOutputStream.
6769 	 *     result = a GAsyncResult.
6770 	 * Returns: %TRUE if flush operation succeeded, %FALSE otherwise.
6771 	 *
6772 	 * Throws: GException on failure.
6773 	 */
6774 	extern(C) int function(GOutputStream* stream, GAsyncResult* result, GError** err) flushFinish;
6775 	/** */
6776 	extern(C) void function(GOutputStream* stream, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) closeAsync;
6777 	/**
6778 	 *
6779 	 * Params:
6780 	 *     stream = a #GOutputStream.
6781 	 *     result = a #GAsyncResult.
6782 	 * Returns: %TRUE if stream was successfully closed, %FALSE otherwise.
6783 	 *
6784 	 * Throws: GException on failure.
6785 	 */
6786 	extern(C) int function(GOutputStream* stream, GAsyncResult* result, GError** err) closeFinish;
6787 	/** */
6788 	extern(C) void function() GReserved1;
6789 	/** */
6790 	extern(C) void function() GReserved2;
6791 	/** */
6792 	extern(C) void function() GReserved3;
6793 	/** */
6794 	extern(C) void function() GReserved4;
6795 	/** */
6796 	extern(C) void function() GReserved5;
6797 	/** */
6798 	extern(C) void function() GReserved6;
6799 	/** */
6800 	extern(C) void function() GReserved7;
6801 	/** */
6802 	extern(C) void function() GReserved8;
6803 }
6804 
6805 struct GOutputStreamPrivate;
6806 
6807 /**
6808  * Structure used for scatter/gather data output.
6809  * You generally pass in an array of #GOutputVectors
6810  * and the operation will use all the buffers as if they were
6811  * one buffer.
6812  *
6813  * Since: 2.22
6814  */
6815 struct GOutputVector
6816 {
6817 	/**
6818 	 * Pointer to a buffer of data to read.
6819 	 */
6820 	void* buffer;
6821 	/**
6822 	 * the size of @buffer.
6823 	 */
6824 	size_t size;
6825 }
6826 
6827 struct GPermission
6828 {
6829 	GObject parentInstance;
6830 	GPermissionPrivate* priv;
6831 }
6832 
6833 struct GPermissionClass
6834 {
6835 	GObjectClass parentClass;
6836 	/**
6837 	 *
6838 	 * Params:
6839 	 *     permission = a #GPermission instance
6840 	 *     cancellable = a #GCancellable, or %NULL
6841 	 * Returns: %TRUE if the permission was successfully acquired
6842 	 *
6843 	 * Throws: GException on failure.
6844 	 */
6845 	extern(C) int function(GPermission* permission, GCancellable* cancellable, GError** err) acquire;
6846 	/** */
6847 	extern(C) void function(GPermission* permission, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) acquireAsync;
6848 	/**
6849 	 *
6850 	 * Params:
6851 	 *     permission = a #GPermission instance
6852 	 *     result = the #GAsyncResult given to the #GAsyncReadyCallback
6853 	 * Returns: %TRUE if the permission was successfully acquired
6854 	 *
6855 	 * Throws: GException on failure.
6856 	 */
6857 	extern(C) int function(GPermission* permission, GAsyncResult* result, GError** err) acquireFinish;
6858 	/**
6859 	 *
6860 	 * Params:
6861 	 *     permission = a #GPermission instance
6862 	 *     cancellable = a #GCancellable, or %NULL
6863 	 * Returns: %TRUE if the permission was successfully released
6864 	 *
6865 	 * Throws: GException on failure.
6866 	 */
6867 	extern(C) int function(GPermission* permission, GCancellable* cancellable, GError** err) release;
6868 	/** */
6869 	extern(C) void function(GPermission* permission, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) releaseAsync;
6870 	/**
6871 	 *
6872 	 * Params:
6873 	 *     permission = a #GPermission instance
6874 	 *     result = the #GAsyncResult given to the #GAsyncReadyCallback
6875 	 * Returns: %TRUE if the permission was successfully released
6876 	 *
6877 	 * Throws: GException on failure.
6878 	 */
6879 	extern(C) int function(GPermission* permission, GAsyncResult* result, GError** err) releaseFinish;
6880 	void*[16] reserved;
6881 }
6882 
6883 struct GPermissionPrivate;
6884 
6885 struct GPollableInputStream;
6886 
6887 /**
6888  * The interface for pollable input streams.
6889  *
6890  * The default implementation of @can_poll always returns %TRUE.
6891  *
6892  * The default implementation of @read_nonblocking calls
6893  * g_pollable_input_stream_is_readable(), and then calls
6894  * g_input_stream_read() if it returns %TRUE. This means you only need
6895  * to override it if it is possible that your @is_readable
6896  * implementation may return %TRUE when the stream is not actually
6897  * readable.
6898  *
6899  * Since: 2.28
6900  */
6901 struct GPollableInputStreamInterface
6902 {
6903 	/**
6904 	 * The parent interface.
6905 	 */
6906 	GTypeInterface gIface;
6907 	/**
6908 	 *
6909 	 * Params:
6910 	 *     stream = a #GPollableInputStream.
6911 	 * Returns: %TRUE if @stream is pollable, %FALSE if not.
6912 	 */
6913 	extern(C) int function(GPollableInputStream* stream) canPoll;
6914 	/**
6915 	 *
6916 	 * Params:
6917 	 *     stream = a #GPollableInputStream.
6918 	 * Returns: %TRUE if @stream is readable, %FALSE if not. If an error
6919 	 *     has occurred on @stream, this will result in
6920 	 *     g_pollable_input_stream_is_readable() returning %TRUE, and the
6921 	 *     next attempt to read will return the error.
6922 	 */
6923 	extern(C) int function(GPollableInputStream* stream) isReadable;
6924 	/**
6925 	 *
6926 	 * Params:
6927 	 *     stream = a #GPollableInputStream.
6928 	 *     cancellable = a #GCancellable, or %NULL
6929 	 * Returns: a new #GSource
6930 	 */
6931 	extern(C) GSource* function(GPollableInputStream* stream, GCancellable* cancellable) createSource;
6932 	/**
6933 	 *
6934 	 * Params:
6935 	 *     stream = a #GPollableInputStream
6936 	 *     buffer = a buffer to
6937 	 *         read data into (which should be at least @count bytes long).
6938 	 *     count = the number of bytes you want to read
6939 	 * Returns: the number of bytes read, or -1 on error (including
6940 	 *     %G_IO_ERROR_WOULD_BLOCK).
6941 	 *
6942 	 * Throws: GException on failure.
6943 	 */
6944 	extern(C) ptrdiff_t function(GPollableInputStream* stream, void* buffer, size_t count, GError** err) readNonblocking;
6945 }
6946 
6947 struct GPollableOutputStream;
6948 
6949 /**
6950  * The interface for pollable output streams.
6951  *
6952  * The default implementation of @can_poll always returns %TRUE.
6953  *
6954  * The default implementation of @write_nonblocking calls
6955  * g_pollable_output_stream_is_writable(), and then calls
6956  * g_output_stream_write() if it returns %TRUE. This means you only
6957  * need to override it if it is possible that your @is_writable
6958  * implementation may return %TRUE when the stream is not actually
6959  * writable.
6960  *
6961  * Since: 2.28
6962  */
6963 struct GPollableOutputStreamInterface
6964 {
6965 	/**
6966 	 * The parent interface.
6967 	 */
6968 	GTypeInterface gIface;
6969 	/**
6970 	 *
6971 	 * Params:
6972 	 *     stream = a #GPollableOutputStream.
6973 	 * Returns: %TRUE if @stream is pollable, %FALSE if not.
6974 	 */
6975 	extern(C) int function(GPollableOutputStream* stream) canPoll;
6976 	/**
6977 	 *
6978 	 * Params:
6979 	 *     stream = a #GPollableOutputStream.
6980 	 * Returns: %TRUE if @stream is writable, %FALSE if not. If an error
6981 	 *     has occurred on @stream, this will result in
6982 	 *     g_pollable_output_stream_is_writable() returning %TRUE, and the
6983 	 *     next attempt to write will return the error.
6984 	 */
6985 	extern(C) int function(GPollableOutputStream* stream) isWritable;
6986 	/**
6987 	 *
6988 	 * Params:
6989 	 *     stream = a #GPollableOutputStream.
6990 	 *     cancellable = a #GCancellable, or %NULL
6991 	 * Returns: a new #GSource
6992 	 */
6993 	extern(C) GSource* function(GPollableOutputStream* stream, GCancellable* cancellable) createSource;
6994 	/**
6995 	 *
6996 	 * Params:
6997 	 *     stream = a #GPollableOutputStream
6998 	 *     buffer = a buffer to write
6999 	 *         data from
7000 	 *     count = the number of bytes you want to write
7001 	 * Returns: the number of bytes written, or -1 on error (including
7002 	 *     %G_IO_ERROR_WOULD_BLOCK).
7003 	 *
7004 	 * Throws: GException on failure.
7005 	 */
7006 	extern(C) ptrdiff_t function(GPollableOutputStream* stream, void* buffer, size_t count, GError** err) writeNonblocking;
7007 }
7008 
7009 struct GPropertyAction;
7010 
7011 struct GProxy;
7012 
7013 struct GProxyAddress
7014 {
7015 	GInetSocketAddress parentInstance;
7016 	GProxyAddressPrivate* priv;
7017 }
7018 
7019 /**
7020  * Class structure for #GProxyAddress.
7021  *
7022  * Since: 2.26
7023  */
7024 struct GProxyAddressClass
7025 {
7026 	GInetSocketAddressClass parentClass;
7027 }
7028 
7029 struct GProxyAddressEnumerator
7030 {
7031 	GSocketAddressEnumerator parentInstance;
7032 	GProxyAddressEnumeratorPrivate* priv;
7033 }
7034 
7035 struct GProxyAddressEnumeratorClass
7036 {
7037 	GSocketAddressEnumeratorClass parentClass;
7038 	/** */
7039 	extern(C) void function() GReserved1;
7040 	/** */
7041 	extern(C) void function() GReserved2;
7042 	/** */
7043 	extern(C) void function() GReserved3;
7044 	/** */
7045 	extern(C) void function() GReserved4;
7046 	/** */
7047 	extern(C) void function() GReserved5;
7048 	/** */
7049 	extern(C) void function() GReserved6;
7050 	/** */
7051 	extern(C) void function() GReserved7;
7052 }
7053 
7054 struct GProxyAddressEnumeratorPrivate;
7055 
7056 struct GProxyAddressPrivate;
7057 
7058 /**
7059  * Provides an interface for handling proxy connection and payload.
7060  *
7061  * Since: 2.26
7062  */
7063 struct GProxyInterface
7064 {
7065 	/**
7066 	 * The parent interface.
7067 	 */
7068 	GTypeInterface gIface;
7069 	/**
7070 	 *
7071 	 * Params:
7072 	 *     proxy = a #GProxy
7073 	 *     connection = a #GIOStream
7074 	 *     proxyAddress = a #GProxyAddress
7075 	 *     cancellable = a #GCancellable
7076 	 * Returns: a #GIOStream that will replace @connection. This might
7077 	 *     be the same as @connection, in which case a reference
7078 	 *     will be added.
7079 	 *
7080 	 * Throws: GException on failure.
7081 	 */
7082 	extern(C) GIOStream* function(GProxy* proxy, GIOStream* connection, GProxyAddress* proxyAddress, GCancellable* cancellable, GError** err) connect;
7083 	/** */
7084 	extern(C) void function(GProxy* proxy, GIOStream* connection, GProxyAddress* proxyAddress, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) connectAsync;
7085 	/**
7086 	 *
7087 	 * Params:
7088 	 *     proxy = a #GProxy
7089 	 *     result = a #GAsyncResult
7090 	 * Returns: a #GIOStream.
7091 	 *
7092 	 * Throws: GException on failure.
7093 	 */
7094 	extern(C) GIOStream* function(GProxy* proxy, GAsyncResult* result, GError** err) connectFinish;
7095 	/**
7096 	 *
7097 	 * Params:
7098 	 *     proxy = a #GProxy
7099 	 * Returns: %TRUE if hostname resolution is supported.
7100 	 */
7101 	extern(C) int function(GProxy* proxy) supportsHostname;
7102 }
7103 
7104 struct GProxyResolver;
7105 
7106 /**
7107  * The virtual function table for #GProxyResolver.
7108  */
7109 struct GProxyResolverInterface
7110 {
7111 	/**
7112 	 * The parent interface.
7113 	 */
7114 	GTypeInterface gIface;
7115 	/**
7116 	 *
7117 	 * Params:
7118 	 *     resolver = a #GProxyResolver
7119 	 * Returns: %TRUE if @resolver is supported.
7120 	 */
7121 	extern(C) int function(GProxyResolver* resolver) isSupported;
7122 	/**
7123 	 *
7124 	 * Params:
7125 	 *     resolver = a #GProxyResolver
7126 	 *     uri = a URI representing the destination to connect to
7127 	 *     cancellable = a #GCancellable, or %NULL
7128 	 * Returns: A
7129 	 *     NULL-terminated array of proxy URIs. Must be freed
7130 	 *     with g_strfreev().
7131 	 *
7132 	 * Throws: GException on failure.
7133 	 */
7134 	extern(C) char** function(GProxyResolver* resolver, const(char)* uri, GCancellable* cancellable, GError** err) lookup;
7135 	/** */
7136 	extern(C) void function(GProxyResolver* resolver, const(char)* uri, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) lookupAsync;
7137 	/**
7138 	 *
7139 	 * Params:
7140 	 *     resolver = a #GProxyResolver
7141 	 *     result = the result passed to your #GAsyncReadyCallback
7142 	 * Returns: A
7143 	 *     NULL-terminated array of proxy URIs. Must be freed
7144 	 *     with g_strfreev().
7145 	 *
7146 	 * Throws: GException on failure.
7147 	 */
7148 	extern(C) char** function(GProxyResolver* resolver, GAsyncResult* result, GError** err) lookupFinish;
7149 }
7150 
7151 struct GRemoteActionGroup;
7152 
7153 /**
7154  * The virtual function table for #GRemoteActionGroup.
7155  *
7156  * Since: 2.32
7157  */
7158 struct GRemoteActionGroupInterface
7159 {
7160 	GTypeInterface gIface;
7161 	/** */
7162 	extern(C) void function(GRemoteActionGroup* remote, const(char)* actionName, GVariant* parameter, GVariant* platformData) activateActionFull;
7163 	/** */
7164 	extern(C) void function(GRemoteActionGroup* remote, const(char)* actionName, GVariant* value, GVariant* platformData) changeActionStateFull;
7165 }
7166 
7167 struct GResolver
7168 {
7169 	GObject parentInstance;
7170 	GResolverPrivate* priv;
7171 }
7172 
7173 struct GResolverClass
7174 {
7175 	GObjectClass parentClass;
7176 	/** */
7177 	extern(C) void function(GResolver* resolver) reload;
7178 	/**
7179 	 *
7180 	 * Params:
7181 	 *     resolver = a #GResolver
7182 	 *     hostname = the hostname to look up
7183 	 *     cancellable = a #GCancellable, or %NULL
7184 	 * Returns: a non-empty #GList
7185 	 *     of #GInetAddress, or %NULL on error. You
7186 	 *     must unref each of the addresses and free the list when you are
7187 	 *     done with it. (You can use g_resolver_free_addresses() to do this.)
7188 	 *
7189 	 * Throws: GException on failure.
7190 	 */
7191 	extern(C) GList* function(GResolver* resolver, const(char)* hostname, GCancellable* cancellable, GError** err) lookupByName;
7192 	/** */
7193 	extern(C) void function(GResolver* resolver, const(char)* hostname, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) lookupByNameAsync;
7194 	/**
7195 	 *
7196 	 * Params:
7197 	 *     resolver = a #GResolver
7198 	 *     result = the result passed to your #GAsyncReadyCallback
7199 	 * Returns: a #GList
7200 	 *     of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name()
7201 	 *     for more details.
7202 	 *
7203 	 * Throws: GException on failure.
7204 	 */
7205 	extern(C) GList* function(GResolver* resolver, GAsyncResult* result, GError** err) lookupByNameFinish;
7206 	/**
7207 	 *
7208 	 * Params:
7209 	 *     resolver = a #GResolver
7210 	 *     address = the address to reverse-resolve
7211 	 *     cancellable = a #GCancellable, or %NULL
7212 	 * Returns: a hostname (either ASCII-only, or in ASCII-encoded
7213 	 *     form), or %NULL on error.
7214 	 *
7215 	 * Throws: GException on failure.
7216 	 */
7217 	extern(C) char* function(GResolver* resolver, GInetAddress* address, GCancellable* cancellable, GError** err) lookupByAddress;
7218 	/** */
7219 	extern(C) void function(GResolver* resolver, GInetAddress* address, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) lookupByAddressAsync;
7220 	/**
7221 	 *
7222 	 * Params:
7223 	 *     resolver = a #GResolver
7224 	 *     result = the result passed to your #GAsyncReadyCallback
7225 	 * Returns: a hostname (either ASCII-only, or in ASCII-encoded
7226 	 *     form), or %NULL on error.
7227 	 *
7228 	 * Throws: GException on failure.
7229 	 */
7230 	extern(C) char* function(GResolver* resolver, GAsyncResult* result, GError** err) lookupByAddressFinish;
7231 	/** */
7232 	extern(C) GList* function(GResolver* resolver, const(char)* rrname, GCancellable* cancellable, GError** err) lookupService;
7233 	/** */
7234 	extern(C) void function(GResolver* resolver, const(char)* rrname, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) lookupServiceAsync;
7235 	/**
7236 	 *
7237 	 * Params:
7238 	 *     resolver = a #GResolver
7239 	 *     result = the result passed to your #GAsyncReadyCallback
7240 	 * Returns: a non-empty #GList of
7241 	 *     #GSrvTarget, or %NULL on error. See g_resolver_lookup_service() for more
7242 	 *     details.
7243 	 *
7244 	 * Throws: GException on failure.
7245 	 */
7246 	extern(C) GList* function(GResolver* resolver, GAsyncResult* result, GError** err) lookupServiceFinish;
7247 	/**
7248 	 *
7249 	 * Params:
7250 	 *     resolver = a #GResolver
7251 	 *     rrname = the DNS name to lookup the record for
7252 	 *     recordType = the type of DNS record to lookup
7253 	 *     cancellable = a #GCancellable, or %NULL
7254 	 * Returns: a non-empty #GList of
7255 	 *     #GVariant, or %NULL on error. You must free each of the records and the list
7256 	 *     when you are done with it. (You can use g_list_free_full() with
7257 	 *     g_variant_unref() to do this.)
7258 	 *
7259 	 * Throws: GException on failure.
7260 	 */
7261 	extern(C) GList* function(GResolver* resolver, const(char)* rrname, GResolverRecordType recordType, GCancellable* cancellable, GError** err) lookupRecords;
7262 	/** */
7263 	extern(C) void function(GResolver* resolver, const(char)* rrname, GResolverRecordType recordType, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) lookupRecordsAsync;
7264 	/**
7265 	 *
7266 	 * Params:
7267 	 *     resolver = a #GResolver
7268 	 *     result = the result passed to your #GAsyncReadyCallback
7269 	 * Returns: a non-empty #GList of
7270 	 *     #GVariant, or %NULL on error. You must free each of the records and the list
7271 	 *     when you are done with it. (You can use g_list_free_full() with
7272 	 *     g_variant_unref() to do this.)
7273 	 *
7274 	 * Throws: GException on failure.
7275 	 */
7276 	extern(C) GList* function(GResolver* resolver, GAsyncResult* result, GError** err) lookupRecordsFinish;
7277 	/** */
7278 	extern(C) void function() GReserved4;
7279 	/** */
7280 	extern(C) void function() GReserved5;
7281 	/** */
7282 	extern(C) void function() GReserved6;
7283 }
7284 
7285 struct GResolverPrivate;
7286 
7287 struct GResource;
7288 
7289 struct GSeekable;
7290 
7291 /**
7292  * Provides an interface for implementing seekable functionality on I/O Streams.
7293  */
7294 struct GSeekableIface
7295 {
7296 	/**
7297 	 * The parent interface.
7298 	 */
7299 	GTypeInterface gIface;
7300 	/**
7301 	 *
7302 	 * Params:
7303 	 *     seekable = a #GSeekable.
7304 	 * Returns: the offset from the beginning of the buffer.
7305 	 */
7306 	extern(C) long function(GSeekable* seekable) tell;
7307 	/**
7308 	 *
7309 	 * Params:
7310 	 *     seekable = a #GSeekable.
7311 	 * Returns: %TRUE if @seekable can be seeked. %FALSE otherwise.
7312 	 */
7313 	extern(C) int function(GSeekable* seekable) canSeek;
7314 	/**
7315 	 *
7316 	 * Params:
7317 	 *     seekable = a #GSeekable.
7318 	 *     offset = a #goffset.
7319 	 *     type = a #GSeekType.
7320 	 *     cancellable = optional #GCancellable object, %NULL to ignore.
7321 	 * Returns: %TRUE if successful. If an error
7322 	 *     has occurred, this function will return %FALSE and set @error
7323 	 *     appropriately if present.
7324 	 *
7325 	 * Throws: GException on failure.
7326 	 */
7327 	extern(C) int function(GSeekable* seekable, long offset, GSeekType type, GCancellable* cancellable, GError** err) seek;
7328 	/**
7329 	 *
7330 	 * Params:
7331 	 *     seekable = a #GSeekable.
7332 	 * Returns: %TRUE if the stream can be truncated, %FALSE otherwise.
7333 	 */
7334 	extern(C) int function(GSeekable* seekable) canTruncate;
7335 	/**
7336 	 *
7337 	 * Params:
7338 	 *     seekable = a #GSeekable.
7339 	 *     offset = a #goffset.
7340 	 *     cancellable = optional #GCancellable object, %NULL to ignore.
7341 	 * Returns: %TRUE if successful. If an error
7342 	 *     has occurred, this function will return %FALSE and set @error
7343 	 *     appropriately if present.
7344 	 *
7345 	 * Throws: GException on failure.
7346 	 */
7347 	extern(C) int function(GSeekable* seekable, long offset, GCancellable* cancellable, GError** err) truncateFn;
7348 }
7349 
7350 struct GSettings
7351 {
7352 	GObject parentInstance;
7353 	GSettingsPrivate* priv;
7354 }
7355 
7356 struct GSettingsBackend
7357 {
7358 	GObject parentInstance;
7359 	GSettingsBackendPrivate* priv;
7360 }
7361 
7362 /**
7363  * Class structure for #GSettingsBackend.
7364  */
7365 struct GSettingsBackendClass
7366 {
7367 	GObjectClass parentClass;
7368 	/** */
7369 	extern(C) GVariant* function(GSettingsBackend* backend, const(char)* key, GVariantType* expectedType, int defaultValue) read;
7370 	/** */
7371 	extern(C) int function(GSettingsBackend* backend, const(char)* key) getWritable;
7372 	/** */
7373 	extern(C) int function(GSettingsBackend* backend, const(char)* key, GVariant* value, void* originTag) write;
7374 	/** */
7375 	extern(C) int function(GSettingsBackend* backend, GTree* tree, void* originTag) writeTree;
7376 	/** */
7377 	extern(C) void function(GSettingsBackend* backend, const(char)* key, void* originTag) reset;
7378 	/** */
7379 	extern(C) void function(GSettingsBackend* backend, const(char)* name) subscribe;
7380 	/** */
7381 	extern(C) void function(GSettingsBackend* backend, const(char)* name) unsubscribe;
7382 	/** */
7383 	extern(C) void function(GSettingsBackend* backend) sync;
7384 	/** */
7385 	extern(C) GPermission* function(GSettingsBackend* backend, const(char)* path) getPermission;
7386 	/** */
7387 	extern(C) GVariant* function(GSettingsBackend* backend, const(char)* key, GVariantType* expectedType) readUserValue;
7388 	void*[23] padding;
7389 }
7390 
7391 struct GSettingsBackendPrivate;
7392 
7393 struct GSettingsClass
7394 {
7395 	GObjectClass parentClass;
7396 	/** */
7397 	extern(C) void function(GSettings* settings, const(char)* key) writableChanged;
7398 	/** */
7399 	extern(C) void function(GSettings* settings, const(char)* key) changed;
7400 	/** */
7401 	extern(C) int function(GSettings* settings, GQuark key) writableChangeEvent;
7402 	/** */
7403 	extern(C) int function(GSettings* settings, GQuark* keys, int nKeys) changeEvent;
7404 	void*[20] padding;
7405 }
7406 
7407 struct GSettingsPrivate;
7408 
7409 struct GSettingsSchema;
7410 
7411 struct GSettingsSchemaKey;
7412 
7413 struct GSettingsSchemaSource;
7414 
7415 struct GSimpleAction;
7416 
7417 struct GSimpleActionGroup
7418 {
7419 	GObject parentInstance;
7420 	GSimpleActionGroupPrivate* priv;
7421 }
7422 
7423 struct GSimpleActionGroupClass
7424 {
7425 	GObjectClass parentClass;
7426 	void*[12] padding;
7427 }
7428 
7429 struct GSimpleActionGroupPrivate;
7430 
7431 struct GSimpleAsyncResult;
7432 
7433 struct GSimpleAsyncResultClass;
7434 
7435 struct GSimpleIOStream;
7436 
7437 struct GSimplePermission;
7438 
7439 struct GSimpleProxyResolver
7440 {
7441 	GObject parentInstance;
7442 	GSimpleProxyResolverPrivate* priv;
7443 }
7444 
7445 struct GSimpleProxyResolverClass
7446 {
7447 	GObjectClass parentClass;
7448 	/** */
7449 	extern(C) void function() GReserved1;
7450 	/** */
7451 	extern(C) void function() GReserved2;
7452 	/** */
7453 	extern(C) void function() GReserved3;
7454 	/** */
7455 	extern(C) void function() GReserved4;
7456 	/** */
7457 	extern(C) void function() GReserved5;
7458 }
7459 
7460 struct GSimpleProxyResolverPrivate;
7461 
7462 struct GSocket
7463 {
7464 	GObject parentInstance;
7465 	GSocketPrivate* priv;
7466 }
7467 
7468 struct GSocketAddress
7469 {
7470 	GObject parentInstance;
7471 }
7472 
7473 struct GSocketAddressClass
7474 {
7475 	GObjectClass parentClass;
7476 	/**
7477 	 *
7478 	 * Params:
7479 	 *     address = a #GSocketAddress
7480 	 * Returns: the socket family type of @address
7481 	 */
7482 	extern(C) GSocketFamily function(GSocketAddress* address) getFamily;
7483 	/**
7484 	 *
7485 	 * Params:
7486 	 *     address = a #GSocketAddress
7487 	 * Returns: the size of the native struct sockaddr that
7488 	 *     @address represents
7489 	 */
7490 	extern(C) ptrdiff_t function(GSocketAddress* address) getNativeSize;
7491 	/**
7492 	 *
7493 	 * Params:
7494 	 *     address = a #GSocketAddress
7495 	 *     dest = a pointer to a memory location that will contain the native
7496 	 *         struct sockaddr
7497 	 *     destlen = the size of @dest. Must be at least as large as
7498 	 *         g_socket_address_get_native_size()
7499 	 * Returns: %TRUE if @dest was filled in, %FALSE on error
7500 	 *
7501 	 * Throws: GException on failure.
7502 	 */
7503 	extern(C) int function(GSocketAddress* address, void* dest, size_t destlen, GError** err) toNative;
7504 }
7505 
7506 struct GSocketAddressEnumerator
7507 {
7508 	GObject parentInstance;
7509 }
7510 
7511 struct GSocketAddressEnumeratorClass
7512 {
7513 	GObjectClass parentClass;
7514 	/**
7515 	 *
7516 	 * Params:
7517 	 *     enumerator = a #GSocketAddressEnumerator
7518 	 *     cancellable = optional #GCancellable object, %NULL to ignore.
7519 	 * Returns: a #GSocketAddress (owned by the caller), or %NULL on
7520 	 *     error (in which case *@error will be set) or if there are no
7521 	 *     more addresses.
7522 	 *
7523 	 * Throws: GException on failure.
7524 	 */
7525 	extern(C) GSocketAddress* function(GSocketAddressEnumerator* enumerator, GCancellable* cancellable, GError** err) next;
7526 	/** */
7527 	extern(C) void function(GSocketAddressEnumerator* enumerator, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) nextAsync;
7528 	/**
7529 	 *
7530 	 * Params:
7531 	 *     enumerator = a #GSocketAddressEnumerator
7532 	 *     result = a #GAsyncResult
7533 	 * Returns: a #GSocketAddress (owned by the caller), or %NULL on
7534 	 *     error (in which case *@error will be set) or if there are no
7535 	 *     more addresses.
7536 	 *
7537 	 * Throws: GException on failure.
7538 	 */
7539 	extern(C) GSocketAddress* function(GSocketAddressEnumerator* enumerator, GAsyncResult* result, GError** err) nextFinish;
7540 }
7541 
7542 struct GSocketClass
7543 {
7544 	GObjectClass parentClass;
7545 	/** */
7546 	extern(C) void function() GReserved1;
7547 	/** */
7548 	extern(C) void function() GReserved2;
7549 	/** */
7550 	extern(C) void function() GReserved3;
7551 	/** */
7552 	extern(C) void function() GReserved4;
7553 	/** */
7554 	extern(C) void function() GReserved5;
7555 	/** */
7556 	extern(C) void function() GReserved6;
7557 	/** */
7558 	extern(C) void function() GReserved7;
7559 	/** */
7560 	extern(C) void function() GReserved8;
7561 	/** */
7562 	extern(C) void function() GReserved9;
7563 	/** */
7564 	extern(C) void function() GReserved10;
7565 }
7566 
7567 struct GSocketClient
7568 {
7569 	GObject parentInstance;
7570 	GSocketClientPrivate* priv;
7571 }
7572 
7573 struct GSocketClientClass
7574 {
7575 	GObjectClass parentClass;
7576 	/** */
7577 	extern(C) void function(GSocketClient* client, GSocketClientEvent event, GSocketConnectable* connectable, GIOStream* connection) event;
7578 	/** */
7579 	extern(C) void function() GReserved1;
7580 	/** */
7581 	extern(C) void function() GReserved2;
7582 	/** */
7583 	extern(C) void function() GReserved3;
7584 	/** */
7585 	extern(C) void function() GReserved4;
7586 }
7587 
7588 struct GSocketClientPrivate;
7589 
7590 struct GSocketConnectable;
7591 
7592 /**
7593  * Provides an interface for returning a #GSocketAddressEnumerator
7594  * and #GProxyAddressEnumerator
7595  */
7596 struct GSocketConnectableIface
7597 {
7598 	/**
7599 	 * The parent interface.
7600 	 */
7601 	GTypeInterface gIface;
7602 	/**
7603 	 *
7604 	 * Params:
7605 	 *     connectable = a #GSocketConnectable
7606 	 * Returns: a new #GSocketAddressEnumerator.
7607 	 */
7608 	extern(C) GSocketAddressEnumerator* function(GSocketConnectable* connectable) enumerate;
7609 	/**
7610 	 *
7611 	 * Params:
7612 	 *     connectable = a #GSocketConnectable
7613 	 * Returns: a new #GSocketAddressEnumerator.
7614 	 */
7615 	extern(C) GSocketAddressEnumerator* function(GSocketConnectable* connectable) proxyEnumerate;
7616 	/**
7617 	 *
7618 	 * Params:
7619 	 *     connectable = a #GSocketConnectable
7620 	 * Returns: the formatted string
7621 	 */
7622 	extern(C) char* function(GSocketConnectable* connectable) toString;
7623 }
7624 
7625 struct GSocketConnection
7626 {
7627 	GIOStream parentInstance;
7628 	GSocketConnectionPrivate* priv;
7629 }
7630 
7631 struct GSocketConnectionClass
7632 {
7633 	GIOStreamClass parentClass;
7634 	/** */
7635 	extern(C) void function() GReserved1;
7636 	/** */
7637 	extern(C) void function() GReserved2;
7638 	/** */
7639 	extern(C) void function() GReserved3;
7640 	/** */
7641 	extern(C) void function() GReserved4;
7642 	/** */
7643 	extern(C) void function() GReserved5;
7644 	/** */
7645 	extern(C) void function() GReserved6;
7646 }
7647 
7648 struct GSocketConnectionPrivate;
7649 
7650 struct GSocketControlMessage
7651 {
7652 	GObject parentInstance;
7653 	GSocketControlMessagePrivate* priv;
7654 }
7655 
7656 /**
7657  * Class structure for #GSocketControlMessage.
7658  */
7659 struct GSocketControlMessageClass
7660 {
7661 	GObjectClass parentClass;
7662 	/**
7663 	 *
7664 	 * Params:
7665 	 *     message = a #GSocketControlMessage
7666 	 * Returns: The number of bytes required.
7667 	 */
7668 	extern(C) size_t function(GSocketControlMessage* message) getSize;
7669 	/**
7670 	 *
7671 	 * Params:
7672 	 *     message = a #GSocketControlMessage
7673 	 * Returns: an integer describing the level
7674 	 */
7675 	extern(C) int function(GSocketControlMessage* message) getLevel;
7676 	/** */
7677 	extern(C) int function(GSocketControlMessage* message) getType;
7678 	/** */
7679 	extern(C) void function(GSocketControlMessage* message, void* data) serialize;
7680 	/** */
7681 	extern(C) GSocketControlMessage* function(int level, int type, size_t size, void* data) deserialize;
7682 	/** */
7683 	extern(C) void function() GReserved1;
7684 	/** */
7685 	extern(C) void function() GReserved2;
7686 	/** */
7687 	extern(C) void function() GReserved3;
7688 	/** */
7689 	extern(C) void function() GReserved4;
7690 	/** */
7691 	extern(C) void function() GReserved5;
7692 }
7693 
7694 struct GSocketControlMessagePrivate;
7695 
7696 struct GSocketListener
7697 {
7698 	GObject parentInstance;
7699 	GSocketListenerPrivate* priv;
7700 }
7701 
7702 /**
7703  * Class structure for #GSocketListener.
7704  */
7705 struct GSocketListenerClass
7706 {
7707 	GObjectClass parentClass;
7708 	/** */
7709 	extern(C) void function(GSocketListener* listener) changed;
7710 	/** */
7711 	extern(C) void function(GSocketListener* listener, GSocketListenerEvent* event, GSocket* socket) event;
7712 	/** */
7713 	extern(C) void function() GReserved2;
7714 	/** */
7715 	extern(C) void function() GReserved3;
7716 	/** */
7717 	extern(C) void function() GReserved4;
7718 	/** */
7719 	extern(C) void function() GReserved5;
7720 	/** */
7721 	extern(C) void function() GReserved6;
7722 }
7723 
7724 struct GSocketListenerPrivate;
7725 
7726 struct GSocketPrivate;
7727 
7728 struct GSocketService
7729 {
7730 	GSocketListener parentInstance;
7731 	GSocketServicePrivate* priv;
7732 }
7733 
7734 /**
7735  * Class structure for #GSocketService.
7736  */
7737 struct GSocketServiceClass
7738 {
7739 	GSocketListenerClass parentClass;
7740 	/** */
7741 	extern(C) int function(GSocketService* service, GSocketConnection* connection, GObject* sourceObject) incoming;
7742 	/** */
7743 	extern(C) void function() GReserved1;
7744 	/** */
7745 	extern(C) void function() GReserved2;
7746 	/** */
7747 	extern(C) void function() GReserved3;
7748 	/** */
7749 	extern(C) void function() GReserved4;
7750 	/** */
7751 	extern(C) void function() GReserved5;
7752 	/** */
7753 	extern(C) void function() GReserved6;
7754 }
7755 
7756 struct GSocketServicePrivate;
7757 
7758 struct GSrvTarget;
7759 
7760 struct GStaticResource
7761 {
7762 	ubyte* data;
7763 	size_t dataLen;
7764 	GResource* resource;
7765 	GStaticResource* next;
7766 	void* padding;
7767 }
7768 
7769 struct GSubprocess;
7770 
7771 struct GSubprocessLauncher;
7772 
7773 struct GTask;
7774 
7775 struct GTaskClass;
7776 
7777 struct GTcpConnection
7778 {
7779 	GSocketConnection parentInstance;
7780 	GTcpConnectionPrivate* priv;
7781 }
7782 
7783 struct GTcpConnectionClass
7784 {
7785 	GSocketConnectionClass parentClass;
7786 }
7787 
7788 struct GTcpConnectionPrivate;
7789 
7790 struct GTcpWrapperConnection
7791 {
7792 	GTcpConnection parentInstance;
7793 	GTcpWrapperConnectionPrivate* priv;
7794 }
7795 
7796 struct GTcpWrapperConnectionClass
7797 {
7798 	GTcpConnectionClass parentClass;
7799 }
7800 
7801 struct GTcpWrapperConnectionPrivate;
7802 
7803 struct GTestDBus;
7804 
7805 struct GThemedIcon;
7806 
7807 struct GThemedIconClass;
7808 
7809 struct GThreadedSocketService
7810 {
7811 	GSocketService parentInstance;
7812 	GThreadedSocketServicePrivate* priv;
7813 }
7814 
7815 struct GThreadedSocketServiceClass
7816 {
7817 	GSocketServiceClass parentClass;
7818 	/** */
7819 	extern(C) int function(GThreadedSocketService* service, GSocketConnection* connection, GObject* sourceObject) run;
7820 	/** */
7821 	extern(C) void function() GReserved1;
7822 	/** */
7823 	extern(C) void function() GReserved2;
7824 	/** */
7825 	extern(C) void function() GReserved3;
7826 	/** */
7827 	extern(C) void function() GReserved4;
7828 	/** */
7829 	extern(C) void function() GReserved5;
7830 }
7831 
7832 struct GThreadedSocketServicePrivate;
7833 
7834 struct GTlsBackend;
7835 
7836 /**
7837  * Provides an interface for describing TLS-related types.
7838  *
7839  * Since: 2.28
7840  */
7841 struct GTlsBackendInterface
7842 {
7843 	/**
7844 	 * The parent interface.
7845 	 */
7846 	GTypeInterface gIface;
7847 	/**
7848 	 *
7849 	 * Params:
7850 	 *     backend = the #GTlsBackend
7851 	 * Returns: whether or not TLS is supported
7852 	 */
7853 	extern(C) int function(GTlsBackend* backend) supportsTls;
7854 	/** */
7855 	extern(C) GType function() getCertificateType;
7856 	/** */
7857 	extern(C) GType function() getClientConnectionType;
7858 	/** */
7859 	extern(C) GType function() getServerConnectionType;
7860 	/** */
7861 	extern(C) GType function() getFileDatabaseType;
7862 	/**
7863 	 *
7864 	 * Params:
7865 	 *     backend = the #GTlsBackend
7866 	 * Returns: the default database, which should be
7867 	 *     unreffed when done.
7868 	 */
7869 	extern(C) GTlsDatabase* function(GTlsBackend* backend) getDefaultDatabase;
7870 	/**
7871 	 *
7872 	 * Params:
7873 	 *     backend = the #GTlsBackend
7874 	 * Returns: whether DTLS is supported
7875 	 */
7876 	extern(C) int function(GTlsBackend* backend) supportsDtls;
7877 	/** */
7878 	extern(C) GType function() getDtlsClientConnectionType;
7879 	/** */
7880 	extern(C) GType function() getDtlsServerConnectionType;
7881 }
7882 
7883 struct GTlsCertificate
7884 {
7885 	GObject parentInstance;
7886 	GTlsCertificatePrivate* priv;
7887 }
7888 
7889 struct GTlsCertificateClass
7890 {
7891 	GObjectClass parentClass;
7892 	/**
7893 	 *
7894 	 * Params:
7895 	 *     cert = a #GTlsCertificate
7896 	 *     identity = the expected peer identity
7897 	 *     trustedCa = the certificate of a trusted authority
7898 	 * Returns: the appropriate #GTlsCertificateFlags
7899 	 */
7900 	extern(C) GTlsCertificateFlags function(GTlsCertificate* cert, GSocketConnectable* identity, GTlsCertificate* trustedCa) verify;
7901 	void*[8] padding;
7902 }
7903 
7904 struct GTlsCertificatePrivate;
7905 
7906 struct GTlsClientConnection;
7907 
7908 /**
7909  * vtable for a #GTlsClientConnection implementation.
7910  *
7911  * Since: 2.26
7912  */
7913 struct GTlsClientConnectionInterface
7914 {
7915 	/**
7916 	 * The parent interface.
7917 	 */
7918 	GTypeInterface gIface;
7919 	/** */
7920 	extern(C) void function(GTlsClientConnection* conn, GTlsClientConnection* source) copySessionState;
7921 }
7922 
7923 struct GTlsConnection
7924 {
7925 	GIOStream parentInstance;
7926 	GTlsConnectionPrivate* priv;
7927 }
7928 
7929 struct GTlsConnectionClass
7930 {
7931 	GIOStreamClass parentClass;
7932 	/** */
7933 	extern(C) int function(GTlsConnection* connection, GTlsCertificate* peerCert, GTlsCertificateFlags errors) acceptCertificate;
7934 	/**
7935 	 *
7936 	 * Params:
7937 	 *     conn = a #GTlsConnection
7938 	 *     cancellable = a #GCancellable, or %NULL
7939 	 * Returns: success or failure
7940 	 *
7941 	 * Throws: GException on failure.
7942 	 */
7943 	extern(C) int function(GTlsConnection* conn, GCancellable* cancellable, GError** err) handshake;
7944 	/** */
7945 	extern(C) void function(GTlsConnection* conn, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) handshakeAsync;
7946 	/**
7947 	 *
7948 	 * Params:
7949 	 *     conn = a #GTlsConnection
7950 	 *     result = a #GAsyncResult.
7951 	 * Returns: %TRUE on success, %FALSE on failure, in which
7952 	 *     case @error will be set.
7953 	 *
7954 	 * Throws: GException on failure.
7955 	 */
7956 	extern(C) int function(GTlsConnection* conn, GAsyncResult* result, GError** err) handshakeFinish;
7957 	void*[8] padding;
7958 }
7959 
7960 struct GTlsConnectionPrivate;
7961 
7962 struct GTlsDatabase
7963 {
7964 	GObject parentInstance;
7965 	GTlsDatabasePrivate* priv;
7966 }
7967 
7968 /**
7969  * The class for #GTlsDatabase. Derived classes should implement the various
7970  * virtual methods. _async and _finish methods have a default
7971  * implementation that runs the corresponding sync method in a thread.
7972  *
7973  * Since: 2.30
7974  */
7975 struct GTlsDatabaseClass
7976 {
7977 	GObjectClass parentClass;
7978 	/**
7979 	 *
7980 	 * Params:
7981 	 *     self = a #GTlsDatabase
7982 	 *     chain = a #GTlsCertificate chain
7983 	 *     purpose = the purpose that this certificate chain will be used for.
7984 	 *     identity = the expected peer identity
7985 	 *     interaction = used to interact with the user if necessary
7986 	 *     flags = additional verify flags
7987 	 *     cancellable = a #GCancellable, or %NULL
7988 	 * Returns: the appropriate #GTlsCertificateFlags which represents the
7989 	 *     result of verification.
7990 	 *
7991 	 * Throws: GException on failure.
7992 	 */
7993 	extern(C) GTlsCertificateFlags function(GTlsDatabase* self, GTlsCertificate* chain, const(char)* purpose, GSocketConnectable* identity, GTlsInteraction* interaction, GTlsDatabaseVerifyFlags flags, GCancellable* cancellable, GError** err) verifyChain;
7994 	/** */
7995 	extern(C) void function(GTlsDatabase* self, GTlsCertificate* chain, const(char)* purpose, GSocketConnectable* identity, GTlsInteraction* interaction, GTlsDatabaseVerifyFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) verifyChainAsync;
7996 	/**
7997 	 *
7998 	 * Params:
7999 	 *     self = a #GTlsDatabase
8000 	 *     result = a #GAsyncResult.
8001 	 * Returns: the appropriate #GTlsCertificateFlags which represents the
8002 	 *     result of verification.
8003 	 *
8004 	 * Throws: GException on failure.
8005 	 */
8006 	extern(C) GTlsCertificateFlags function(GTlsDatabase* self, GAsyncResult* result, GError** err) verifyChainFinish;
8007 	/**
8008 	 *
8009 	 * Params:
8010 	 *     self = a #GTlsDatabase
8011 	 *     certificate = certificate for which to create a handle.
8012 	 * Returns: a newly allocated string containing the
8013 	 *     handle.
8014 	 */
8015 	extern(C) char* function(GTlsDatabase* self, GTlsCertificate* certificate) createCertificateHandle;
8016 	/**
8017 	 *
8018 	 * Params:
8019 	 *     self = a #GTlsDatabase
8020 	 *     handle = a certificate handle
8021 	 *     interaction = used to interact with the user if necessary
8022 	 *     flags = Flags which affect the lookup.
8023 	 *     cancellable = a #GCancellable, or %NULL
8024 	 * Returns: a newly allocated
8025 	 *     #GTlsCertificate, or %NULL. Use g_object_unref() to release the certificate.
8026 	 *
8027 	 * Throws: GException on failure.
8028 	 */
8029 	extern(C) GTlsCertificate* function(GTlsDatabase* self, const(char)* handle, GTlsInteraction* interaction, GTlsDatabaseLookupFlags flags, GCancellable* cancellable, GError** err) lookupCertificateForHandle;
8030 	/** */
8031 	extern(C) void function(GTlsDatabase* self, const(char)* handle, GTlsInteraction* interaction, GTlsDatabaseLookupFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) lookupCertificateForHandleAsync;
8032 	/**
8033 	 *
8034 	 * Params:
8035 	 *     self = a #GTlsDatabase
8036 	 *     result = a #GAsyncResult.
8037 	 * Returns: a newly allocated #GTlsCertificate object.
8038 	 *     Use g_object_unref() to release the certificate.
8039 	 *
8040 	 * Throws: GException on failure.
8041 	 */
8042 	extern(C) GTlsCertificate* function(GTlsDatabase* self, GAsyncResult* result, GError** err) lookupCertificateForHandleFinish;
8043 	/**
8044 	 *
8045 	 * Params:
8046 	 *     self = a #GTlsDatabase
8047 	 *     certificate = a #GTlsCertificate
8048 	 *     interaction = used to interact with the user if necessary
8049 	 *     flags = flags which affect the lookup operation
8050 	 *     cancellable = a #GCancellable, or %NULL
8051 	 * Returns: a newly allocated issuer #GTlsCertificate,
8052 	 *     or %NULL. Use g_object_unref() to release the certificate.
8053 	 *
8054 	 * Throws: GException on failure.
8055 	 */
8056 	extern(C) GTlsCertificate* function(GTlsDatabase* self, GTlsCertificate* certificate, GTlsInteraction* interaction, GTlsDatabaseLookupFlags flags, GCancellable* cancellable, GError** err) lookupCertificateIssuer;
8057 	/** */
8058 	extern(C) void function(GTlsDatabase* self, GTlsCertificate* certificate, GTlsInteraction* interaction, GTlsDatabaseLookupFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) lookupCertificateIssuerAsync;
8059 	/**
8060 	 *
8061 	 * Params:
8062 	 *     self = a #GTlsDatabase
8063 	 *     result = a #GAsyncResult.
8064 	 * Returns: a newly allocated issuer #GTlsCertificate,
8065 	 *     or %NULL. Use g_object_unref() to release the certificate.
8066 	 *
8067 	 * Throws: GException on failure.
8068 	 */
8069 	extern(C) GTlsCertificate* function(GTlsDatabase* self, GAsyncResult* result, GError** err) lookupCertificateIssuerFinish;
8070 	/**
8071 	 *
8072 	 * Params:
8073 	 *     self = a #GTlsDatabase
8074 	 *     issuerRawDn = a #GByteArray which holds the DER encoded issuer DN.
8075 	 *     interaction = used to interact with the user if necessary
8076 	 *     flags = Flags which affect the lookup operation.
8077 	 *     cancellable = a #GCancellable, or %NULL
8078 	 * Returns: a newly allocated list of #GTlsCertificate
8079 	 *     objects. Use g_object_unref() on each certificate, and g_list_free() on the release the list.
8080 	 *
8081 	 * Throws: GException on failure.
8082 	 */
8083 	extern(C) GList* function(GTlsDatabase* self, GByteArray* issuerRawDn, GTlsInteraction* interaction, GTlsDatabaseLookupFlags flags, GCancellable* cancellable, GError** err) lookupCertificatesIssuedBy;
8084 	/** */
8085 	extern(C) void function(GTlsDatabase* self, GByteArray* issuerRawDn, GTlsInteraction* interaction, GTlsDatabaseLookupFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) lookupCertificatesIssuedByAsync;
8086 	/**
8087 	 *
8088 	 * Params:
8089 	 *     self = a #GTlsDatabase
8090 	 *     result = a #GAsyncResult.
8091 	 * Returns: a newly allocated list of #GTlsCertificate
8092 	 *     objects. Use g_object_unref() on each certificate, and g_list_free() on the release the list.
8093 	 *
8094 	 * Throws: GException on failure.
8095 	 */
8096 	extern(C) GList* function(GTlsDatabase* self, GAsyncResult* result, GError** err) lookupCertificatesIssuedByFinish;
8097 	void*[16] padding;
8098 }
8099 
8100 struct GTlsDatabasePrivate;
8101 
8102 struct GTlsFileDatabase;
8103 
8104 /**
8105  * Provides an interface for #GTlsFileDatabase implementations.
8106  */
8107 struct GTlsFileDatabaseInterface
8108 {
8109 	/**
8110 	 * The parent interface.
8111 	 */
8112 	GTypeInterface gIface;
8113 	void*[8] padding;
8114 }
8115 
8116 struct GTlsInteraction
8117 {
8118 	GObject parentInstance;
8119 	GTlsInteractionPrivate* priv;
8120 }
8121 
8122 /**
8123  * The class for #GTlsInteraction. Derived classes implement the various
8124  * virtual interaction methods to handle TLS interactions.
8125  *
8126  * Derived classes can choose to implement whichever interactions methods they'd
8127  * like to support by overriding those virtual methods in their class
8128  * initialization function. If a derived class implements an async method,
8129  * it must also implement the corresponding finish method.
8130  *
8131  * The synchronous interaction methods should implement to display modal dialogs,
8132  * and the asynchronous methods to display modeless dialogs.
8133  *
8134  * If the user cancels an interaction, then the result should be
8135  * %G_TLS_INTERACTION_FAILED and the error should be set with a domain of
8136  * %G_IO_ERROR and code of %G_IO_ERROR_CANCELLED.
8137  *
8138  * Since: 2.30
8139  */
8140 struct GTlsInteractionClass
8141 {
8142 	GObjectClass parentClass;
8143 	/**
8144 	 *
8145 	 * Params:
8146 	 *     interaction = a #GTlsInteraction object
8147 	 *     password = a #GTlsPassword object
8148 	 *     cancellable = an optional #GCancellable cancellation object
8149 	 * Returns: The status of the ask password interaction.
8150 	 *
8151 	 * Throws: GException on failure.
8152 	 */
8153 	extern(C) GTlsInteractionResult function(GTlsInteraction* interaction, GTlsPassword* password, GCancellable* cancellable, GError** err) askPassword;
8154 	/** */
8155 	extern(C) void function(GTlsInteraction* interaction, GTlsPassword* password, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) askPasswordAsync;
8156 	/**
8157 	 *
8158 	 * Params:
8159 	 *     interaction = a #GTlsInteraction object
8160 	 *     result = the result passed to the callback
8161 	 * Returns: The status of the ask password interaction.
8162 	 *
8163 	 * Throws: GException on failure.
8164 	 */
8165 	extern(C) GTlsInteractionResult function(GTlsInteraction* interaction, GAsyncResult* result, GError** err) askPasswordFinish;
8166 	/**
8167 	 *
8168 	 * Params:
8169 	 *     interaction = a #GTlsInteraction object
8170 	 *     connection = a #GTlsConnection object
8171 	 *     flags = flags providing more information about the request
8172 	 *     cancellable = an optional #GCancellable cancellation object
8173 	 * Returns: The status of the request certificate interaction.
8174 	 *
8175 	 * Throws: GException on failure.
8176 	 */
8177 	extern(C) GTlsInteractionResult function(GTlsInteraction* interaction, GTlsConnection* connection, GTlsCertificateRequestFlags flags, GCancellable* cancellable, GError** err) requestCertificate;
8178 	/** */
8179 	extern(C) void function(GTlsInteraction* interaction, GTlsConnection* connection, GTlsCertificateRequestFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) requestCertificateAsync;
8180 	/**
8181 	 *
8182 	 * Params:
8183 	 *     interaction = a #GTlsInteraction object
8184 	 *     result = the result passed to the callback
8185 	 * Returns: The status of the request certificate interaction.
8186 	 *
8187 	 * Throws: GException on failure.
8188 	 */
8189 	extern(C) GTlsInteractionResult function(GTlsInteraction* interaction, GAsyncResult* result, GError** err) requestCertificateFinish;
8190 	void*[21] padding;
8191 }
8192 
8193 struct GTlsInteractionPrivate;
8194 
8195 struct GTlsPassword
8196 {
8197 	GObject parentInstance;
8198 	GTlsPasswordPrivate* priv;
8199 }
8200 
8201 /**
8202  * Class structure for #GTlsPassword.
8203  */
8204 struct GTlsPasswordClass
8205 {
8206 	GObjectClass parentClass;
8207 	/**
8208 	 *
8209 	 * Params:
8210 	 *     password = a #GTlsPassword object
8211 	 *     length = location to place the length of the password.
8212 	 * Returns: The password value (owned by the password object).
8213 	 */
8214 	extern(C) char* function(GTlsPassword* password, size_t* length) getValue;
8215 	/** */
8216 	extern(C) void function(GTlsPassword* password, char* value, ptrdiff_t length, GDestroyNotify destroy) setValue;
8217 	/** */
8218 	extern(C) const(char)* function(GTlsPassword* password) getDefaultWarning;
8219 	void*[4] padding;
8220 }
8221 
8222 struct GTlsPasswordPrivate;
8223 
8224 struct GTlsServerConnection;
8225 
8226 /**
8227  * vtable for a #GTlsServerConnection implementation.
8228  *
8229  * Since: 2.26
8230  */
8231 struct GTlsServerConnectionInterface
8232 {
8233 	/**
8234 	 * The parent interface.
8235 	 */
8236 	GTypeInterface gIface;
8237 }
8238 
8239 struct GUnixConnection
8240 {
8241 	GSocketConnection parentInstance;
8242 	GUnixConnectionPrivate* priv;
8243 }
8244 
8245 struct GUnixConnectionClass
8246 {
8247 	GSocketConnectionClass parentClass;
8248 }
8249 
8250 struct GUnixConnectionPrivate;
8251 
8252 struct GUnixCredentialsMessage
8253 {
8254 	GSocketControlMessage parentInstance;
8255 	GUnixCredentialsMessagePrivate* priv;
8256 }
8257 
8258 /**
8259  * Class structure for #GUnixCredentialsMessage.
8260  *
8261  * Since: 2.26
8262  */
8263 struct GUnixCredentialsMessageClass
8264 {
8265 	GSocketControlMessageClass parentClass;
8266 	/** */
8267 	extern(C) void function() GReserved1;
8268 	/** */
8269 	extern(C) void function() GReserved2;
8270 }
8271 
8272 struct GUnixCredentialsMessagePrivate;
8273 
8274 struct GUnixFDList
8275 {
8276 	GObject parentInstance;
8277 	GUnixFDListPrivate* priv;
8278 }
8279 
8280 struct GUnixFDListClass
8281 {
8282 	GObjectClass parentClass;
8283 	/** */
8284 	extern(C) void function() GReserved1;
8285 	/** */
8286 	extern(C) void function() GReserved2;
8287 	/** */
8288 	extern(C) void function() GReserved3;
8289 	/** */
8290 	extern(C) void function() GReserved4;
8291 	/** */
8292 	extern(C) void function() GReserved5;
8293 }
8294 
8295 struct GUnixFDListPrivate;
8296 
8297 struct GUnixFDMessage
8298 {
8299 	GSocketControlMessage parentInstance;
8300 	GUnixFDMessagePrivate* priv;
8301 }
8302 
8303 struct GUnixFDMessageClass
8304 {
8305 	GSocketControlMessageClass parentClass;
8306 	/** */
8307 	extern(C) void function() GReserved1;
8308 	/** */
8309 	extern(C) void function() GReserved2;
8310 }
8311 
8312 struct GUnixFDMessagePrivate;
8313 
8314 struct GUnixInputStream
8315 {
8316 	GInputStream parentInstance;
8317 	GUnixInputStreamPrivate* priv;
8318 }
8319 
8320 struct GUnixInputStreamClass
8321 {
8322 	GInputStreamClass parentClass;
8323 	/** */
8324 	extern(C) void function() GReserved1;
8325 	/** */
8326 	extern(C) void function() GReserved2;
8327 	/** */
8328 	extern(C) void function() GReserved3;
8329 	/** */
8330 	extern(C) void function() GReserved4;
8331 	/** */
8332 	extern(C) void function() GReserved5;
8333 }
8334 
8335 struct GUnixInputStreamPrivate;
8336 
8337 /**
8338  * Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>).
8339  * This corresponds roughly to a mtab entry.
8340  */
8341 struct GUnixMountEntry;
8342 
8343 struct GUnixMountMonitor;
8344 
8345 struct GUnixMountMonitorClass;
8346 
8347 struct GUnixMountPoint;
8348 
8349 struct GUnixOutputStream
8350 {
8351 	GOutputStream parentInstance;
8352 	GUnixOutputStreamPrivate* priv;
8353 }
8354 
8355 struct GUnixOutputStreamClass
8356 {
8357 	GOutputStreamClass parentClass;
8358 	/** */
8359 	extern(C) void function() GReserved1;
8360 	/** */
8361 	extern(C) void function() GReserved2;
8362 	/** */
8363 	extern(C) void function() GReserved3;
8364 	/** */
8365 	extern(C) void function() GReserved4;
8366 	/** */
8367 	extern(C) void function() GReserved5;
8368 }
8369 
8370 struct GUnixOutputStreamPrivate;
8371 
8372 struct GUnixSocketAddress
8373 {
8374 	GSocketAddress parentInstance;
8375 	GUnixSocketAddressPrivate* priv;
8376 }
8377 
8378 struct GUnixSocketAddressClass
8379 {
8380 	GSocketAddressClass parentClass;
8381 }
8382 
8383 struct GUnixSocketAddressPrivate;
8384 
8385 struct GVfs
8386 {
8387 	GObject parentInstance;
8388 }
8389 
8390 struct GVfsClass
8391 {
8392 	GObjectClass parentClass;
8393 	/**
8394 	 *
8395 	 * Params:
8396 	 *     vfs = a #GVfs.
8397 	 * Returns: %TRUE if construction of the @vfs was successful
8398 	 *     and it is now active.
8399 	 */
8400 	extern(C) int function(GVfs* vfs) isActive;
8401 	/**
8402 	 *
8403 	 * Params:
8404 	 *     vfs = a #GVfs.
8405 	 *     path = a string containing a VFS path.
8406 	 * Returns: a #GFile.
8407 	 *     Free the returned object with g_object_unref().
8408 	 */
8409 	extern(C) GFile* function(GVfs* vfs, const(char)* path) getFileForPath;
8410 	/**
8411 	 *
8412 	 * Params:
8413 	 *     vfs = a#GVfs.
8414 	 *     uri = a string containing a URI
8415 	 * Returns: a #GFile.
8416 	 *     Free the returned object with g_object_unref().
8417 	 */
8418 	extern(C) GFile* function(GVfs* vfs, const(char)* uri) getFileForUri;
8419 	/**
8420 	 *
8421 	 * Params:
8422 	 *     vfs = a #GVfs.
8423 	 * Returns: a %NULL-terminated array of strings.
8424 	 *     The returned array belongs to GIO and must
8425 	 *     not be freed or modified.
8426 	 */
8427 	extern(C) char** function(GVfs* vfs) getSupportedUriSchemes;
8428 	/**
8429 	 *
8430 	 * Params:
8431 	 *     vfs = a #GVfs.
8432 	 *     parseName = a string to be parsed by the VFS module.
8433 	 * Returns: a #GFile for the given @parse_name.
8434 	 *     Free the returned object with g_object_unref().
8435 	 */
8436 	extern(C) GFile* function(GVfs* vfs, const(char)* parseName) parseName;
8437 	/** */
8438 	extern(C) void function(GVfs* vfs, const(char)* filename, ulong device, GFileAttributeMatcher* attributeMatcher, GFileInfo* info, GCancellable* cancellable, void** extraData, GDestroyNotify* freeExtraData) localFileAddInfo;
8439 	/** */
8440 	extern(C) void function(GVfs* vfs, GFileAttributeInfoList* list) addWritableNamespaces;
8441 	/** */
8442 	extern(C) int function(GVfs* vfs, const(char)* filename, GFileInfo* info, GFileQueryInfoFlags flags, GCancellable* cancellable, GError** err) localFileSetAttributes;
8443 	/** */
8444 	extern(C) void function(GVfs* vfs, const(char)* filename) localFileRemoved;
8445 	/** */
8446 	extern(C) void function(GVfs* vfs, const(char)* source, const(char)* dest) localFileMoved;
8447 	/** */
8448 	extern(C) GIcon* function(GVfs* vfs, GVariant* value) deserializeIcon;
8449 	/** */
8450 	extern(C) void function() GReserved1;
8451 	/** */
8452 	extern(C) void function() GReserved2;
8453 	/** */
8454 	extern(C) void function() GReserved3;
8455 	/** */
8456 	extern(C) void function() GReserved4;
8457 	/** */
8458 	extern(C) void function() GReserved5;
8459 	/** */
8460 	extern(C) void function() GReserved6;
8461 }
8462 
8463 struct GVolume;
8464 
8465 /**
8466  * Interface for implementing operations for mountable volumes.
8467  */
8468 struct GVolumeIface
8469 {
8470 	/**
8471 	 * The parent interface.
8472 	 */
8473 	GTypeInterface gIface;
8474 	/** */
8475 	extern(C) void function(GVolume* volume) changed;
8476 	/** */
8477 	extern(C) void function(GVolume* volume) removed;
8478 	/**
8479 	 *
8480 	 * Params:
8481 	 *     volume = a #GVolume
8482 	 * Returns: the name for the given @volume. The returned string should
8483 	 *     be freed with g_free() when no longer needed.
8484 	 */
8485 	extern(C) char* function(GVolume* volume) getName;
8486 	/**
8487 	 *
8488 	 * Params:
8489 	 *     volume = a #GVolume
8490 	 * Returns: a #GIcon.
8491 	 *     The returned object should be unreffed with g_object_unref()
8492 	 *     when no longer needed.
8493 	 */
8494 	extern(C) GIcon* function(GVolume* volume) getIcon;
8495 	/**
8496 	 *
8497 	 * Params:
8498 	 *     volume = a #GVolume
8499 	 * Returns: the UUID for @volume or %NULL if no UUID can be computed.
8500 	 *     The returned string should be freed with g_free()
8501 	 *     when no longer needed.
8502 	 */
8503 	extern(C) char* function(GVolume* volume) getUuid;
8504 	/**
8505 	 *
8506 	 * Params:
8507 	 *     volume = a #GVolume
8508 	 * Returns: a #GDrive or %NULL if @volume is not
8509 	 *     associated with a drive. The returned object should be unreffed
8510 	 *     with g_object_unref() when no longer needed.
8511 	 */
8512 	extern(C) GDrive* function(GVolume* volume) getDrive;
8513 	/**
8514 	 *
8515 	 * Params:
8516 	 *     volume = a #GVolume
8517 	 * Returns: a #GMount or %NULL if @volume isn't mounted.
8518 	 *     The returned object should be unreffed with g_object_unref()
8519 	 *     when no longer needed.
8520 	 */
8521 	extern(C) GMount* function(GVolume* volume) getMount;
8522 	/**
8523 	 *
8524 	 * Params:
8525 	 *     volume = a #GVolume
8526 	 * Returns: %TRUE if the @volume can be mounted. %FALSE otherwise
8527 	 */
8528 	extern(C) int function(GVolume* volume) canMount;
8529 	/**
8530 	 *
8531 	 * Params:
8532 	 *     volume = a #GVolume
8533 	 * Returns: %TRUE if the @volume can be ejected. %FALSE otherwise
8534 	 */
8535 	extern(C) int function(GVolume* volume) canEject;
8536 	/** */
8537 	extern(C) void function(GVolume* volume, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) mountFn;
8538 	/**
8539 	 *
8540 	 * Params:
8541 	 *     volume = a #GVolume
8542 	 *     result = a #GAsyncResult
8543 	 * Returns: %TRUE, %FALSE if operation failed
8544 	 *
8545 	 * Throws: GException on failure.
8546 	 */
8547 	extern(C) int function(GVolume* volume, GAsyncResult* result, GError** err) mountFinish;
8548 	/** */
8549 	extern(C) void function(GVolume* volume, GMountUnmountFlags flags, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) eject;
8550 	/**
8551 	 *
8552 	 * Params:
8553 	 *     volume = pointer to a #GVolume
8554 	 *     result = a #GAsyncResult
8555 	 * Returns: %TRUE, %FALSE if operation failed
8556 	 *
8557 	 * Throws: GException on failure.
8558 	 */
8559 	extern(C) int function(GVolume* volume, GAsyncResult* result, GError** err) ejectFinish;
8560 	/**
8561 	 *
8562 	 * Params:
8563 	 *     volume = a #GVolume
8564 	 *     kind = the kind of identifier to return
8565 	 * Returns: a newly allocated string containing the
8566 	 *     requested identfier, or %NULL if the #GVolume
8567 	 *     doesn't have this kind of identifier
8568 	 */
8569 	extern(C) char* function(GVolume* volume, const(char)* kind) getIdentifier;
8570 	/**
8571 	 *
8572 	 * Params:
8573 	 *     volume = a #GVolume
8574 	 * Returns: a %NULL-terminated array
8575 	 *     of strings containing kinds of identifiers. Use g_strfreev() to free.
8576 	 */
8577 	extern(C) char** function(GVolume* volume) enumerateIdentifiers;
8578 	/**
8579 	 *
8580 	 * Params:
8581 	 *     volume = a #GVolume
8582 	 * Returns: %TRUE if the volume should be automatically mounted
8583 	 */
8584 	extern(C) int function(GVolume* volume) shouldAutomount;
8585 	/**
8586 	 *
8587 	 * Params:
8588 	 *     volume = a #GVolume
8589 	 * Returns: the activation root of @volume
8590 	 *     or %NULL. Use g_object_unref() to free.
8591 	 */
8592 	extern(C) GFile* function(GVolume* volume) getActivationRoot;
8593 	/** */
8594 	extern(C) void function(GVolume* volume, GMountUnmountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) ejectWithOperation;
8595 	/**
8596 	 *
8597 	 * Params:
8598 	 *     volume = a #GVolume
8599 	 *     result = a #GAsyncResult
8600 	 * Returns: %TRUE if the volume was successfully ejected. %FALSE otherwise
8601 	 *
8602 	 * Throws: GException on failure.
8603 	 */
8604 	extern(C) int function(GVolume* volume, GAsyncResult* result, GError** err) ejectWithOperationFinish;
8605 	/**
8606 	 *
8607 	 * Params:
8608 	 *     volume = a #GVolume
8609 	 * Returns: Sorting key for @volume or %NULL if no such key is available
8610 	 */
8611 	extern(C) const(char)* function(GVolume* volume) getSortKey;
8612 	/**
8613 	 *
8614 	 * Params:
8615 	 *     volume = a #GVolume
8616 	 * Returns: a #GIcon.
8617 	 *     The returned object should be unreffed with g_object_unref()
8618 	 *     when no longer needed.
8619 	 */
8620 	extern(C) GIcon* function(GVolume* volume) getSymbolicIcon;
8621 }
8622 
8623 struct GVolumeMonitor
8624 {
8625 	GObject parentInstance;
8626 	void* priv;
8627 }
8628 
8629 struct GVolumeMonitorClass
8630 {
8631 	GObjectClass parentClass;
8632 	/** */
8633 	extern(C) void function(GVolumeMonitor* volumeMonitor, GVolume* volume) volumeAdded;
8634 	/** */
8635 	extern(C) void function(GVolumeMonitor* volumeMonitor, GVolume* volume) volumeRemoved;
8636 	/** */
8637 	extern(C) void function(GVolumeMonitor* volumeMonitor, GVolume* volume) volumeChanged;
8638 	/** */
8639 	extern(C) void function(GVolumeMonitor* volumeMonitor, GMount* mount) mountAdded;
8640 	/** */
8641 	extern(C) void function(GVolumeMonitor* volumeMonitor, GMount* mount) mountRemoved;
8642 	/** */
8643 	extern(C) void function(GVolumeMonitor* volumeMonitor, GMount* mount) mountPreUnmount;
8644 	/** */
8645 	extern(C) void function(GVolumeMonitor* volumeMonitor, GMount* mount) mountChanged;
8646 	/** */
8647 	extern(C) void function(GVolumeMonitor* volumeMonitor, GDrive* drive) driveConnected;
8648 	/** */
8649 	extern(C) void function(GVolumeMonitor* volumeMonitor, GDrive* drive) driveDisconnected;
8650 	/** */
8651 	extern(C) void function(GVolumeMonitor* volumeMonitor, GDrive* drive) driveChanged;
8652 	/** */
8653 	extern(C) int function() isSupported;
8654 	/**
8655 	 *
8656 	 * Params:
8657 	 *     volumeMonitor = a #GVolumeMonitor.
8658 	 * Returns: a #GList of connected #GDrive objects.
8659 	 */
8660 	extern(C) GList* function(GVolumeMonitor* volumeMonitor) getConnectedDrives;
8661 	/**
8662 	 *
8663 	 * Params:
8664 	 *     volumeMonitor = a #GVolumeMonitor.
8665 	 * Returns: a #GList of #GVolume objects.
8666 	 */
8667 	extern(C) GList* function(GVolumeMonitor* volumeMonitor) getVolumes;
8668 	/**
8669 	 *
8670 	 * Params:
8671 	 *     volumeMonitor = a #GVolumeMonitor.
8672 	 * Returns: a #GList of #GMount objects.
8673 	 */
8674 	extern(C) GList* function(GVolumeMonitor* volumeMonitor) getMounts;
8675 	/**
8676 	 *
8677 	 * Params:
8678 	 *     volumeMonitor = a #GVolumeMonitor.
8679 	 *     uuid = the UUID to look for
8680 	 * Returns: a #GVolume or %NULL if no such volume is available.
8681 	 *     Free the returned object with g_object_unref().
8682 	 */
8683 	extern(C) GVolume* function(GVolumeMonitor* volumeMonitor, const(char)* uuid) getVolumeForUuid;
8684 	/**
8685 	 *
8686 	 * Params:
8687 	 *     volumeMonitor = a #GVolumeMonitor.
8688 	 *     uuid = the UUID to look for
8689 	 * Returns: a #GMount or %NULL if no such mount is available.
8690 	 *     Free the returned object with g_object_unref().
8691 	 */
8692 	extern(C) GMount* function(GVolumeMonitor* volumeMonitor, const(char)* uuid) getMountForUuid;
8693 	/** */
8694 	extern(C) GVolume* function(GMount* mount, GVolumeMonitor* volumeMonitor) adoptOrphanMount;
8695 	/** */
8696 	extern(C) void function(GVolumeMonitor* volumeMonitor, GDrive* drive) driveEjectButton;
8697 	/** */
8698 	extern(C) void function(GVolumeMonitor* volumeMonitor, GDrive* drive) driveStopButton;
8699 	/** */
8700 	extern(C) void function() GReserved1;
8701 	/** */
8702 	extern(C) void function() GReserved2;
8703 	/** */
8704 	extern(C) void function() GReserved3;
8705 	/** */
8706 	extern(C) void function() GReserved4;
8707 	/** */
8708 	extern(C) void function() GReserved5;
8709 	/** */
8710 	extern(C) void function() GReserved6;
8711 }
8712 
8713 struct GZlibCompressor;
8714 
8715 struct GZlibCompressorClass
8716 {
8717 	GObjectClass parentClass;
8718 }
8719 
8720 struct GZlibDecompressor;
8721 
8722 struct GZlibDecompressorClass
8723 {
8724 	GObjectClass parentClass;
8725 }
8726 
8727 /**
8728  * Type definition for a function that will be called back when an asynchronous
8729  * operation within GIO has been completed.
8730  *
8731  * Params:
8732  *     sourceObject = the object the asynchronous operation was started with.
8733  *     res = a #GAsyncResult.
8734  *     userData = user data passed to the callback.
8735  */
8736 public alias extern(C) void function(GObject* sourceObject, GAsyncResult* res, void* userData) GAsyncReadyCallback;
8737 
8738 /**
8739  * Invoked when a connection to a message bus has been obtained.
8740  *
8741  * Params:
8742  *     connection = The #GDBusConnection to a message bus.
8743  *     name = The name that is requested to be owned.
8744  *     userData = User data passed to g_bus_own_name().
8745  *
8746  * Since: 2.26
8747  */
8748 public alias extern(C) void function(GDBusConnection* connection, const(char)* name, void* userData) GBusAcquiredCallback;
8749 
8750 /**
8751  * Invoked when the name is acquired.
8752  *
8753  * Params:
8754  *     connection = The #GDBusConnection on which to acquired the name.
8755  *     name = The name being owned.
8756  *     userData = User data passed to g_bus_own_name() or g_bus_own_name_on_connection().
8757  *
8758  * Since: 2.26
8759  */
8760 public alias extern(C) void function(GDBusConnection* connection, const(char)* name, void* userData) GBusNameAcquiredCallback;
8761 
8762 /**
8763  * Invoked when the name being watched is known to have to have a owner.
8764  *
8765  * Params:
8766  *     connection = The #GDBusConnection the name is being watched on.
8767  *     name = The name being watched.
8768  *     nameOwner = Unique name of the owner of the name being watched.
8769  *     userData = User data passed to g_bus_watch_name().
8770  *
8771  * Since: 2.26
8772  */
8773 public alias extern(C) void function(GDBusConnection* connection, const(char)* name, const(char)* nameOwner, void* userData) GBusNameAppearedCallback;
8774 
8775 /**
8776  * Invoked when the name is lost or @connection has been closed.
8777  *
8778  * Params:
8779  *     connection = The #GDBusConnection on which to acquire the name or %NULL if
8780  *         the connection was disconnected.
8781  *     name = The name being owned.
8782  *     userData = User data passed to g_bus_own_name() or g_bus_own_name_on_connection().
8783  *
8784  * Since: 2.26
8785  */
8786 public alias extern(C) void function(GDBusConnection* connection, const(char)* name, void* userData) GBusNameLostCallback;
8787 
8788 /**
8789  * Invoked when the name being watched is known not to have to have a owner.
8790  *
8791  * This is also invoked when the #GDBusConection on which the watch was
8792  * established has been closed.  In that case, @connection will be
8793  * %NULL.
8794  *
8795  * Params:
8796  *     connection = The #GDBusConnection the name is being watched on, or
8797  *         %NULL.
8798  *     name = The name being watched.
8799  *     userData = User data passed to g_bus_watch_name().
8800  *
8801  * Since: 2.26
8802  */
8803 public alias extern(C) void function(GDBusConnection* connection, const(char)* name, void* userData) GBusNameVanishedCallback;
8804 
8805 /**
8806  * This is the function type of the callback used for the #GSource
8807  * returned by g_cancellable_source_new().
8808  *
8809  * Params:
8810  *     cancellable = the #GCancellable
8811  *     userData = data passed in by the user.
8812  *
8813  * Returns: it should return %FALSE if the source should be removed.
8814  *
8815  * Since: 2.28
8816  */
8817 public alias extern(C) int function(GCancellable* cancellable, void* userData) GCancellableSourceFunc;
8818 
8819 /**
8820  * The type of the @get_property function in #GDBusInterfaceVTable.
8821  *
8822  * Params:
8823  *     connection = A #GDBusConnection.
8824  *     sender = The unique bus name of the remote caller.
8825  *     objectPath = The object path that the method was invoked on.
8826  *     interfaceName = The D-Bus interface name for the property.
8827  *     propertyName = The name of the property to get the value of.
8828  *     error = Return location for error.
8829  *     userData = The @user_data #gpointer passed to g_dbus_connection_register_object().
8830  *
8831  * Returns: A #GVariant with the value for @property_name or %NULL if
8832  *     @error is set. If the returned #GVariant is floating, it is
8833  *     consumed - otherwise its reference count is decreased by one.
8834  *
8835  * Since: 2.26
8836  */
8837 public alias extern(C) GVariant* function(GDBusConnection* connection, const(char)* sender, const(char)* objectPath, const(char)* interfaceName, const(char)* propertyName, GError** error, void* userData) GDBusInterfaceGetPropertyFunc;
8838 
8839 /**
8840  * The type of the @method_call function in #GDBusInterfaceVTable.
8841  *
8842  * Params:
8843  *     connection = A #GDBusConnection.
8844  *     sender = The unique bus name of the remote caller.
8845  *     objectPath = The object path that the method was invoked on.
8846  *     interfaceName = The D-Bus interface name the method was invoked on.
8847  *     methodName = The name of the method that was invoked.
8848  *     parameters = A #GVariant tuple with parameters.
8849  *     invocation = A #GDBusMethodInvocation object that must be used to return a value or error.
8850  *     userData = The @user_data #gpointer passed to g_dbus_connection_register_object().
8851  *
8852  * Since: 2.26
8853  */
8854 public alias extern(C) void function(GDBusConnection* connection, const(char)* sender, const(char)* objectPath, const(char)* interfaceName, const(char)* methodName, GVariant* parameters, GDBusMethodInvocation* invocation, void* userData) GDBusInterfaceMethodCallFunc;
8855 
8856 /**
8857  * The type of the @set_property function in #GDBusInterfaceVTable.
8858  *
8859  * Params:
8860  *     connection = A #GDBusConnection.
8861  *     sender = The unique bus name of the remote caller.
8862  *     objectPath = The object path that the method was invoked on.
8863  *     interfaceName = The D-Bus interface name for the property.
8864  *     propertyName = The name of the property to get the value of.
8865  *     value = The value to set the property to.
8866  *     error = Return location for error.
8867  *     userData = The @user_data #gpointer passed to g_dbus_connection_register_object().
8868  *
8869  * Returns: %TRUE if the property was set to @value, %FALSE if @error is set.
8870  *
8871  * Since: 2.26
8872  */
8873 public alias extern(C) int function(GDBusConnection* connection, const(char)* sender, const(char)* objectPath, const(char)* interfaceName, const(char)* propertyName, GVariant* value, GError** error, void* userData) GDBusInterfaceSetPropertyFunc;
8874 
8875 /**
8876  * Signature for function used in g_dbus_connection_add_filter().
8877  *
8878  * A filter function is passed a #GDBusMessage and expected to return
8879  * a #GDBusMessage too. Passive filter functions that don't modify the
8880  * message can simply return the @message object:
8881  * |[
8882  * static GDBusMessage *
8883  * passive_filter (GDBusConnection *connection
8884  * GDBusMessage    *message,
8885  * gboolean         incoming,
8886  * gpointer         user_data)
8887  * {
8888  * /<!-- -->* inspect @message *<!-- -->/
8889  * return message;
8890  * }
8891  * ]|
8892  * Filter functions that wants to drop a message can simply return %NULL:
8893  * |[
8894  * static GDBusMessage *
8895  * drop_filter (GDBusConnection *connection
8896  * GDBusMessage    *message,
8897  * gboolean         incoming,
8898  * gpointer         user_data)
8899  * {
8900  * if (should_drop_message)
8901  * {
8902  * g_object_unref (message);
8903  * message = NULL;
8904  * }
8905  * return message;
8906  * }
8907  * ]|
8908  * Finally, a filter function may modify a message by copying it:
8909  * |[
8910  * static GDBusMessage *
8911  * modifying_filter (GDBusConnection *connection
8912  * GDBusMessage    *message,
8913  * gboolean         incoming,
8914  * gpointer         user_data)
8915  * {
8916  * GDBusMessage *copy;
8917  * GError *error;
8918  *
8919  * error = NULL;
8920  * copy = g_dbus_message_copy (message, &error);
8921  * /<!-- -->* handle @error being is set *<!-- -->/
8922  * g_object_unref (message);
8923  *
8924  * /<!-- -->* modify @copy *<!-- -->/
8925  *
8926  * return copy;
8927  * }
8928  * ]|
8929  * If the returned #GDBusMessage is different from @message and cannot
8930  * be sent on @connection (it could use features, such as file
8931  * descriptors, not compatible with @connection), then a warning is
8932  * logged to standard error. Applications can
8933  * check this ahead of time using g_dbus_message_to_blob() passing a
8934  * #GDBusCapabilityFlags value obtained from @connection.
8935  *
8936  * Params:
8937  *     connection = A #GDBusConnection.
8938  *     message = A locked #GDBusMessage that the filter function takes ownership of.
8939  *     incoming = %TRUE if it is a message received from the other peer, %FALSE if it is
8940  *         a message to be sent to the other peer.
8941  *     userData = User data passed when adding the filter.
8942  *
8943  * Returns: A #GDBusMessage that will be freed with
8944  *     g_object_unref() or %NULL to drop the message. Passive filter
8945  *     functions can simply return the passed @message object.
8946  *
8947  * Since: 2.26
8948  */
8949 public alias extern(C) GDBusMessage* function(GDBusConnection* connection, GDBusMessage* message, int incoming, void* userData) GDBusMessageFilterFunction;
8950 
8951 /**
8952  * Function signature for a function used to determine the #GType to
8953  * use for an interface proxy (if @interface_name is not %NULL) or
8954  * object proxy (if @interface_name is %NULL).
8955  *
8956  * This function is called in the
8957  * [thread-default main loop][g-main-context-push-thread-default]
8958  * that @manager was constructed in.
8959  *
8960  * Params:
8961  *     manager = A #GDBusObjectManagerClient.
8962  *     objectPath = The object path of the remote object.
8963  *     interfaceName = The interface name of the remote object or %NULL if a #GDBusObjectProxy #GType is requested.
8964  *     userData = User data.
8965  *
8966  * Returns: A #GType to use for the remote object. The returned type
8967  *     must be a #GDBusProxy or #GDBusObjectProxy -derived
8968  *     type.
8969  *
8970  * Since: 2.30
8971  */
8972 public alias extern(C) GType function(GDBusObjectManagerClient* manager, const(char)* objectPath, const(char)* interfaceName, void* userData) GDBusProxyTypeFunc;
8973 
8974 /**
8975  * Signature for callback function used in g_dbus_connection_signal_subscribe().
8976  *
8977  * Params:
8978  *     connection = A #GDBusConnection.
8979  *     senderName = The unique bus name of the sender of the signal.
8980  *     objectPath = The object path that the signal was emitted on.
8981  *     interfaceName = The name of the interface.
8982  *     signalName = The name of the signal.
8983  *     parameters = A #GVariant tuple with parameters for the signal.
8984  *     userData = User data passed when subscribing to the signal.
8985  *
8986  * Since: 2.26
8987  */
8988 public alias extern(C) void function(GDBusConnection* connection, const(char)* senderName, const(char)* objectPath, const(char)* interfaceName, const(char)* signalName, GVariant* parameters, void* userData) GDBusSignalCallback;
8989 
8990 /**
8991  * The type of the @dispatch function in #GDBusSubtreeVTable.
8992  *
8993  * Subtrees are flat.  @node, if non-%NULL, is always exactly one
8994  * segment of the object path (ie: it never contains a slash).
8995  *
8996  * Params:
8997  *     connection = A #GDBusConnection.
8998  *     sender = The unique bus name of the remote caller.
8999  *     objectPath = The object path that was registered with g_dbus_connection_register_subtree().
9000  *     interfaceName = The D-Bus interface name that the method call or property access is for.
9001  *     node = A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree.
9002  *     outUserData = Return location for user data to pass to functions in the returned #GDBusInterfaceVTable (never %NULL).
9003  *     userData = The @user_data #gpointer passed to g_dbus_connection_register_subtree().
9004  *
9005  * Returns: A #GDBusInterfaceVTable or %NULL if you don't want to handle the methods.
9006  *
9007  * Since: 2.26
9008  */
9009 public alias extern(C) GDBusInterfaceVTable* function(GDBusConnection* connection, const(char)* sender, const(char)* objectPath, const(char)* interfaceName, const(char)* node, void** outUserData, void* userData) GDBusSubtreeDispatchFunc;
9010 
9011 /**
9012  * The type of the @enumerate function in #GDBusSubtreeVTable.
9013  *
9014  * This function is called when generating introspection data and also
9015  * when preparing to dispatch incoming messages in the event that the
9016  * %G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is not
9017  * specified (ie: to verify that the object path is valid).
9018  *
9019  * Hierarchies are not supported; the items that you return should not
9020  * contain the '/' character.
9021  *
9022  * The return value will be freed with g_strfreev().
9023  *
9024  * Params:
9025  *     connection = A #GDBusConnection.
9026  *     sender = The unique bus name of the remote caller.
9027  *     objectPath = The object path that was registered with g_dbus_connection_register_subtree().
9028  *     userData = The @user_data #gpointer passed to g_dbus_connection_register_subtree().
9029  *
9030  * Returns: A newly allocated array of strings for node names that are children of @object_path.
9031  *
9032  * Since: 2.26
9033  */
9034 public alias extern(C) char** function(GDBusConnection* connection, const(char)* sender, const(char)* objectPath, void* userData) GDBusSubtreeEnumerateFunc;
9035 
9036 /**
9037  * The type of the @introspect function in #GDBusSubtreeVTable.
9038  *
9039  * Subtrees are flat.  @node, if non-%NULL, is always exactly one
9040  * segment of the object path (ie: it never contains a slash).
9041  *
9042  * This function should return %NULL to indicate that there is no object
9043  * at this node.
9044  *
9045  * If this function returns non-%NULL, the return value is expected to
9046  * be a %NULL-terminated array of pointers to #GDBusInterfaceInfo
9047  * structures describing the interfaces implemented by @node.  This
9048  * array will have g_dbus_interface_info_unref() called on each item
9049  * before being freed with g_free().
9050  *
9051  * The difference between returning %NULL and an array containing zero
9052  * items is that the standard DBus interfaces will returned to the
9053  * remote introspector in the empty array case, but not in the %NULL
9054  * case.
9055  *
9056  * Params:
9057  *     connection = A #GDBusConnection.
9058  *     sender = The unique bus name of the remote caller.
9059  *     objectPath = The object path that was registered with g_dbus_connection_register_subtree().
9060  *     node = A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree.
9061  *     userData = The @user_data #gpointer passed to g_dbus_connection_register_subtree().
9062  *
9063  * Returns: A %NULL-terminated array of pointers to #GDBusInterfaceInfo, or %NULL.
9064  *
9065  * Since: 2.26
9066  */
9067 public alias extern(C) GDBusInterfaceInfo** function(GDBusConnection* connection, const(char)* sender, const(char)* objectPath, const(char)* node, void* userData) GDBusSubtreeIntrospectFunc;
9068 
9069 /**
9070  * This is the function type of the callback used for the #GSource
9071  * returned by g_datagram_based_create_source().
9072  *
9073  * Params:
9074  *     datagramBased = the #GDatagramBased
9075  *     condition = the current condition at the source fired
9076  *     userData = data passed in by the user
9077  *
9078  * Returns: %G_SOURCE_REMOVE if the source should be removed,
9079  *     %G_SOURCE_CONTINUE otherwise
9080  *
9081  * Since: 2.48
9082  */
9083 public alias extern(C) int function(GDatagramBased* datagramBased, GIOCondition condition, void* userData) GDatagramBasedSourceFunc;
9084 
9085 /**
9086  * During invocation, g_desktop_app_info_launch_uris_as_manager() may
9087  * create one or more child processes.  This callback is invoked once
9088  * for each, providing the process ID.
9089  *
9090  * Params:
9091  *     appinfo = a #GDesktopAppInfo
9092  *     pid = Process identifier
9093  *     userData = User data
9094  */
9095 public alias extern(C) void function(GDesktopAppInfo* appinfo, GPid pid, void* userData) GDesktopAppLaunchCallback;
9096 
9097 /**
9098  * This callback type is used by g_file_measure_disk_usage() to make
9099  * periodic progress reports when measuring the amount of disk spaced
9100  * used by a directory.
9101  *
9102  * These calls are made on a best-effort basis and not all types of
9103  * #GFile will support them.  At the minimum, however, one call will
9104  * always be made immediately.
9105  *
9106  * In the case that there is no support, @reporting will be set to
9107  * %FALSE (and the other values undefined) and no further calls will be
9108  * made.  Otherwise, the @reporting will be %TRUE and the other values
9109  * all-zeros during the first (immediate) call.  In this way, you can
9110  * know which type of progress UI to show without a delay.
9111  *
9112  * For g_file_measure_disk_usage() the callback is made directly.  For
9113  * g_file_measure_disk_usage_async() the callback is made via the
9114  * default main context of the calling thread (ie: the same way that the
9115  * final async result would be reported).
9116  *
9117  * @current_size is in the same units as requested by the operation (see
9118  * %G_FILE_DISK_USAGE_APPARENT_SIZE).
9119  *
9120  * The frequency of the updates is implementation defined, but is
9121  * ideally about once every 200ms.
9122  *
9123  * The last progress callback may or may not be equal to the final
9124  * result.  Always check the async result to get the final value.
9125  *
9126  * Params:
9127  *     reporting = %TRUE if more reports will come
9128  *     currentSize = the current cumulative size measurement
9129  *     numDirs = the number of directories visited so far
9130  *     numFiles = the number of non-directory files encountered
9131  *     userData = the data passed to the original request for this callback
9132  *
9133  * Since: 2.38
9134  */
9135 public alias extern(C) void function(int reporting, ulong currentSize, ulong numDirs, ulong numFiles, void* userData) GFileMeasureProgressCallback;
9136 
9137 /**
9138  * When doing file operations that may take a while, such as moving
9139  * a file or copying a file, a progress callback is used to pass how
9140  * far along that operation is to the application.
9141  *
9142  * Params:
9143  *     currentNumBytes = the current number of bytes in the operation.
9144  *     totalNumBytes = the total number of bytes in the operation.
9145  *     userData = user data passed to the callback.
9146  */
9147 public alias extern(C) void function(long currentNumBytes, long totalNumBytes, void* userData) GFileProgressCallback;
9148 
9149 /**
9150  * When loading the partial contents of a file with g_file_load_partial_contents_async(),
9151  * it may become necessary to determine if any more data from the file should be loaded.
9152  * A #GFileReadMoreCallback function facilitates this by returning %TRUE if more data
9153  * should be read, or %FALSE otherwise.
9154  *
9155  * Params:
9156  *     fileContents = the data as currently read.
9157  *     fileSize = the size of the data currently read.
9158  *     callbackData = data passed to the callback.
9159  *
9160  * Returns: %TRUE if more data should be read back. %FALSE otherwise.
9161  */
9162 public alias extern(C) int function(const(char)* fileContents, long fileSize, void* callbackData) GFileReadMoreCallback;
9163 
9164 /**
9165  * I/O Job function.
9166  *
9167  * Long-running jobs should periodically check the @cancellable
9168  * to see if they have been cancelled.
9169  *
9170  * Params:
9171  *     job = a #GIOSchedulerJob.
9172  *     cancellable = optional #GCancellable object, %NULL to ignore.
9173  *     userData = the data to pass to callback function
9174  *
9175  * Returns: %TRUE if this function should be called again to
9176  *     complete the job, %FALSE if the job is complete (or cancelled)
9177  */
9178 public alias extern(C) int function(GIOSchedulerJob* job, GCancellable* cancellable, void* userData) GIOSchedulerJobFunc;
9179 
9180 /**
9181  * This is the function type of the callback used for the #GSource
9182  * returned by g_pollable_input_stream_create_source() and
9183  * g_pollable_output_stream_create_source().
9184  *
9185  * Params:
9186  *     pollableStream = the #GPollableInputStream or #GPollableOutputStream
9187  *     userData = data passed in by the user.
9188  *
9189  * Returns: it should return %FALSE if the source should be removed.
9190  *
9191  * Since: 2.28
9192  */
9193 public alias extern(C) int function(GObject* pollableStream, void* userData) GPollableSourceFunc;
9194 
9195 /**
9196  * Changes the size of the memory block pointed to by @data to
9197  * @size bytes.
9198  *
9199  * The function should have the same semantics as realloc().
9200  *
9201  * Params:
9202  *     data = memory block to reallocate
9203  *     size = size to reallocate @data to
9204  *
9205  * Returns: a pointer to the reallocated memory
9206  */
9207 public alias extern(C) void* function(void* data, size_t size) GReallocFunc;
9208 
9209 /**
9210  * The type for the function that is used to convert from #GSettings to
9211  * an object property. The @value is already initialized to hold values
9212  * of the appropriate type.
9213  *
9214  * Params:
9215  *     value = return location for the property value
9216  *     variant = the #GVariant
9217  *     userData = user data that was specified when the binding was created
9218  *
9219  * Returns: %TRUE if the conversion succeeded, %FALSE in case of an error
9220  */
9221 public alias extern(C) int function(GValue* value, GVariant* variant, void* userData) GSettingsBindGetMapping;
9222 
9223 /**
9224  * The type for the function that is used to convert an object property
9225  * value to a #GVariant for storing it in #GSettings.
9226  *
9227  * Params:
9228  *     value = a #GValue containing the property value to map
9229  *     expectedType = the #GVariantType to create
9230  *     userData = user data that was specified when the binding was created
9231  *
9232  * Returns: a new #GVariant holding the data from @value,
9233  *     or %NULL in case of an error
9234  */
9235 public alias extern(C) GVariant* function(GValue* value, GVariantType* expectedType, void* userData) GSettingsBindSetMapping;
9236 
9237 /**
9238  * The type of the function that is used to convert from a value stored
9239  * in a #GSettings to a value that is useful to the application.
9240  *
9241  * If the value is successfully mapped, the result should be stored at
9242  * @result and %TRUE returned.  If mapping fails (for example, if @value
9243  * is not in the right format) then %FALSE should be returned.
9244  *
9245  * If @value is %NULL then it means that the mapping function is being
9246  * given a "last chance" to successfully return a valid value.  %TRUE
9247  * must be returned in this case.
9248  *
9249  * Params:
9250  *     value = the #GVariant to map, or %NULL
9251  *     result = the result of the mapping
9252  *     userData = the user data that was passed to
9253  *         g_settings_get_mapped()
9254  *
9255  * Returns: %TRUE if the conversion succeeded, %FALSE in case of an error
9256  */
9257 public alias extern(C) int function(GVariant* value, void** result, void* userData) GSettingsGetMapping;
9258 
9259 /**
9260  * Simple thread function that runs an asynchronous operation and
9261  * checks for cancellation.
9262  *
9263  * Params:
9264  *     res = a #GSimpleAsyncResult.
9265  *     object = a #GObject.
9266  *     cancellable = optional #GCancellable object, %NULL to ignore.
9267  */
9268 public alias extern(C) void function(GSimpleAsyncResult* res, GObject* object, GCancellable* cancellable) GSimpleAsyncThreadFunc;
9269 
9270 /**
9271  * This is the function type of the callback used for the #GSource
9272  * returned by g_socket_create_source().
9273  *
9274  * Params:
9275  *     socket = the #GSocket
9276  *     condition = the current condition at the source fired.
9277  *     userData = data passed in by the user.
9278  *
9279  * Returns: it should return %FALSE if the source should be removed.
9280  *
9281  * Since: 2.22
9282  */
9283 public alias extern(C) int function(GSocket* socket, GIOCondition condition, void* userData) GSocketSourceFunc;
9284 
9285 /**
9286  * The prototype for a task function to be run in a thread via
9287  * g_task_run_in_thread() or g_task_run_in_thread_sync().
9288  *
9289  * If the return-on-cancel flag is set on @task, and @cancellable gets
9290  * cancelled, then the #GTask will be completed immediately (as though
9291  * g_task_return_error_if_cancelled() had been called), without
9292  * waiting for the task function to complete. However, the task
9293  * function will continue running in its thread in the background. The
9294  * function therefore needs to be careful about how it uses
9295  * externally-visible state in this case. See
9296  * g_task_set_return_on_cancel() for more details.
9297  *
9298  * Other than in that case, @task will be completed when the
9299  * #GTaskThreadFunc returns, not when it calls a
9300  * `g_task_return_` function.
9301  *
9302  * Params:
9303  *     task = the #GTask
9304  *     sourceObject = @task's source object
9305  *     taskData = @task's task data
9306  *     cancellable = @task's #GCancellable, or %NULL
9307  *
9308  * Since: 2.36
9309  */
9310 public alias extern(C) void function(GTask* task, void* sourceObject, void* taskData, GCancellable* cancellable) GTaskThreadFunc;
9311 
9312 /**
9313  * This function type is used by g_vfs_register_uri_scheme() to make it
9314  * possible for a client to associate an URI scheme to a different #GFile
9315  * implementation.
9316  *
9317  * The client should return a reference to the new file that has been
9318  * created for @uri, or %NULL to continue with the default implementation.
9319  *
9320  * Params:
9321  *     vfs = a #GVfs
9322  *     identifier = the identifier to lookup a #GFile for. This can either
9323  *         be an URI or a parse name as returned by g_file_get_parse_name()
9324  *     userData = user data passed to the function
9325  *
9326  * Returns: a #GFile for @identifier.
9327  *
9328  * Since: 2.50
9329  */
9330 public alias extern(C) GFile* function(GVfs* vfs, const(char)* identifier, void* userData) GVfsFileLookupFunc;
9331 
9332 /**
9333  * Extension point for default handler to URI association. See
9334  * [Extending GIO][extending-gio].
9335  */
9336 enum DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME = "gio-desktop-app-info-lookup";
9337 alias G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME = DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME;
9338 
9339 /**
9340  * A key in the "access" namespace for checking deletion privileges.
9341  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9342  * This attribute will be %TRUE if the user is able to delete the file.
9343  */
9344 enum FILE_ATTRIBUTE_ACCESS_CAN_DELETE = "access::can-delete";
9345 alias G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE = FILE_ATTRIBUTE_ACCESS_CAN_DELETE;
9346 
9347 /**
9348  * A key in the "access" namespace for getting execution privileges.
9349  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9350  * This attribute will be %TRUE if the user is able to execute the file.
9351  */
9352 enum FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE = "access::can-execute";
9353 alias G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE = FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE;
9354 
9355 /**
9356  * A key in the "access" namespace for getting read privileges.
9357  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9358  * This attribute will be %TRUE if the user is able to read the file.
9359  */
9360 enum FILE_ATTRIBUTE_ACCESS_CAN_READ = "access::can-read";
9361 alias G_FILE_ATTRIBUTE_ACCESS_CAN_READ = FILE_ATTRIBUTE_ACCESS_CAN_READ;
9362 
9363 /**
9364  * A key in the "access" namespace for checking renaming privileges.
9365  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9366  * This attribute will be %TRUE if the user is able to rename the file.
9367  */
9368 enum FILE_ATTRIBUTE_ACCESS_CAN_RENAME = "access::can-rename";
9369 alias G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME = FILE_ATTRIBUTE_ACCESS_CAN_RENAME;
9370 
9371 /**
9372  * A key in the "access" namespace for checking trashing privileges.
9373  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9374  * This attribute will be %TRUE if the user is able to move the file to
9375  * the trash.
9376  */
9377 enum FILE_ATTRIBUTE_ACCESS_CAN_TRASH = "access::can-trash";
9378 alias G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH = FILE_ATTRIBUTE_ACCESS_CAN_TRASH;
9379 
9380 /**
9381  * A key in the "access" namespace for getting write privileges.
9382  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9383  * This attribute will be %TRUE if the user is able to write to the file.
9384  */
9385 enum FILE_ATTRIBUTE_ACCESS_CAN_WRITE = "access::can-write";
9386 alias G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE = FILE_ATTRIBUTE_ACCESS_CAN_WRITE;
9387 
9388 /**
9389  * A key in the "dos" namespace for checking if the file's archive flag
9390  * is set. This attribute is %TRUE if the archive flag is set. This attribute
9391  * is only available for DOS file systems. Corresponding #GFileAttributeType
9392  * is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9393  */
9394 enum FILE_ATTRIBUTE_DOS_IS_ARCHIVE = "dos::is-archive";
9395 alias G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE = FILE_ATTRIBUTE_DOS_IS_ARCHIVE;
9396 
9397 /**
9398  * A key in the "dos" namespace for checking if the file's backup flag
9399  * is set. This attribute is %TRUE if the backup flag is set. This attribute
9400  * is only available for DOS file systems. Corresponding #GFileAttributeType
9401  * is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9402  */
9403 enum FILE_ATTRIBUTE_DOS_IS_SYSTEM = "dos::is-system";
9404 alias G_FILE_ATTRIBUTE_DOS_IS_SYSTEM = FILE_ATTRIBUTE_DOS_IS_SYSTEM;
9405 
9406 /**
9407  * A key in the "etag" namespace for getting the value of the file's
9408  * entity tag. Corresponding #GFileAttributeType is
9409  * %G_FILE_ATTRIBUTE_TYPE_STRING.
9410  */
9411 enum FILE_ATTRIBUTE_ETAG_VALUE = "etag::value";
9412 alias G_FILE_ATTRIBUTE_ETAG_VALUE = FILE_ATTRIBUTE_ETAG_VALUE;
9413 
9414 /**
9415  * A key in the "filesystem" namespace for getting the number of bytes of free space left on the
9416  * file system. Corresponding #GFileAttributeType is
9417  * %G_FILE_ATTRIBUTE_TYPE_UINT64.
9418  */
9419 enum FILE_ATTRIBUTE_FILESYSTEM_FREE = "filesystem::free";
9420 alias G_FILE_ATTRIBUTE_FILESYSTEM_FREE = FILE_ATTRIBUTE_FILESYSTEM_FREE;
9421 
9422 /**
9423  * A key in the "filesystem" namespace for checking if the file system
9424  * is read only. Is set to %TRUE if the file system is read only.
9425  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9426  */
9427 enum FILE_ATTRIBUTE_FILESYSTEM_READONLY = "filesystem::readonly";
9428 alias G_FILE_ATTRIBUTE_FILESYSTEM_READONLY = FILE_ATTRIBUTE_FILESYSTEM_READONLY;
9429 
9430 /**
9431  * A key in the "filesystem" namespace for checking if the file system
9432  * is remote. Is set to %TRUE if the file system is remote.
9433  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9434  */
9435 enum FILE_ATTRIBUTE_FILESYSTEM_REMOTE = "filesystem::remote";
9436 alias G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE = FILE_ATTRIBUTE_FILESYSTEM_REMOTE;
9437 
9438 /**
9439  * A key in the "filesystem" namespace for getting the total size (in bytes) of the file system,
9440  * used in g_file_query_filesystem_info(). Corresponding #GFileAttributeType
9441  * is %G_FILE_ATTRIBUTE_TYPE_UINT64.
9442  */
9443 enum FILE_ATTRIBUTE_FILESYSTEM_SIZE = "filesystem::size";
9444 alias G_FILE_ATTRIBUTE_FILESYSTEM_SIZE = FILE_ATTRIBUTE_FILESYSTEM_SIZE;
9445 
9446 /**
9447  * A key in the "filesystem" namespace for getting the file system's type.
9448  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9449  */
9450 enum FILE_ATTRIBUTE_FILESYSTEM_TYPE = "filesystem::type";
9451 alias G_FILE_ATTRIBUTE_FILESYSTEM_TYPE = FILE_ATTRIBUTE_FILESYSTEM_TYPE;
9452 
9453 /**
9454  * A key in the "filesystem" namespace for getting the number of bytes of used on the
9455  * file system. Corresponding #GFileAttributeType is
9456  * %G_FILE_ATTRIBUTE_TYPE_UINT64.
9457  */
9458 enum FILE_ATTRIBUTE_FILESYSTEM_USED = "filesystem::used";
9459 alias G_FILE_ATTRIBUTE_FILESYSTEM_USED = FILE_ATTRIBUTE_FILESYSTEM_USED;
9460 
9461 /**
9462  * A key in the "filesystem" namespace for hinting a file manager
9463  * application whether it should preview (e.g. thumbnail) files on the
9464  * file system. The value for this key contain a
9465  * #GFilesystemPreviewType.
9466  */
9467 enum FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW = "filesystem::use-preview";
9468 alias G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW = FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW;
9469 
9470 /**
9471  * A key in the "gvfs" namespace that gets the name of the current
9472  * GVFS backend in use. Corresponding #GFileAttributeType is
9473  * %G_FILE_ATTRIBUTE_TYPE_STRING.
9474  */
9475 enum FILE_ATTRIBUTE_GVFS_BACKEND = "gvfs::backend";
9476 alias G_FILE_ATTRIBUTE_GVFS_BACKEND = FILE_ATTRIBUTE_GVFS_BACKEND;
9477 
9478 /**
9479  * A key in the "id" namespace for getting a file identifier.
9480  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9481  * An example use would be during listing files, to avoid recursive
9482  * directory scanning.
9483  */
9484 enum FILE_ATTRIBUTE_ID_FILE = "id::file";
9485 alias G_FILE_ATTRIBUTE_ID_FILE = FILE_ATTRIBUTE_ID_FILE;
9486 
9487 /**
9488  * A key in the "id" namespace for getting the file system identifier.
9489  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9490  * An example use would be during drag and drop to see if the source
9491  * and target are on the same filesystem (default to move) or not (default
9492  * to copy).
9493  */
9494 enum FILE_ATTRIBUTE_ID_FILESYSTEM = "id::filesystem";
9495 alias G_FILE_ATTRIBUTE_ID_FILESYSTEM = FILE_ATTRIBUTE_ID_FILESYSTEM;
9496 
9497 /**
9498  * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be ejected.
9499  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9500  */
9501 enum FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT = "mountable::can-eject";
9502 alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT = FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT;
9503 
9504 /**
9505  * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) is mountable.
9506  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9507  */
9508 enum FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT = "mountable::can-mount";
9509 alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT = FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT;
9510 
9511 /**
9512  * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be polled.
9513  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9514  */
9515 enum FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL = "mountable::can-poll";
9516 alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL = FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL;
9517 
9518 /**
9519  * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started.
9520  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9521  */
9522 enum FILE_ATTRIBUTE_MOUNTABLE_CAN_START = "mountable::can-start";
9523 alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START = FILE_ATTRIBUTE_MOUNTABLE_CAN_START;
9524 
9525 /**
9526  * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started
9527  * degraded.
9528  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9529  */
9530 enum FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED = "mountable::can-start-degraded";
9531 alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED = FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED;
9532 
9533 /**
9534  * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be stopped.
9535  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9536  */
9537 enum FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP = "mountable::can-stop";
9538 alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP = FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP;
9539 
9540 /**
9541  * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE)  is unmountable.
9542  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9543  */
9544 enum FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT = "mountable::can-unmount";
9545 alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT = FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT;
9546 
9547 /**
9548  * A key in the "mountable" namespace for getting the HAL UDI for the mountable
9549  * file. Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9550  */
9551 enum FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI = "mountable::hal-udi";
9552 alias G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI = FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI;
9553 
9554 /**
9555  * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE)
9556  * is automatically polled for media.
9557  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9558  */
9559 enum FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC = "mountable::is-media-check-automatic";
9560 alias G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC = FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC;
9561 
9562 /**
9563  * A key in the "mountable" namespace for getting the #GDriveStartStopType.
9564  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
9565  */
9566 enum FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE = "mountable::start-stop-type";
9567 alias G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE = FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE;
9568 
9569 /**
9570  * A key in the "mountable" namespace for getting the unix device.
9571  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
9572  */
9573 enum FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE = "mountable::unix-device";
9574 alias G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE = FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE;
9575 
9576 /**
9577  * A key in the "mountable" namespace for getting the unix device file.
9578  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9579  */
9580 enum FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE = "mountable::unix-device-file";
9581 alias G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE = FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE;
9582 
9583 /**
9584  * A key in the "owner" namespace for getting the file owner's group.
9585  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9586  */
9587 enum FILE_ATTRIBUTE_OWNER_GROUP = "owner::group";
9588 alias G_FILE_ATTRIBUTE_OWNER_GROUP = FILE_ATTRIBUTE_OWNER_GROUP;
9589 
9590 /**
9591  * A key in the "owner" namespace for getting the user name of the
9592  * file's owner. Corresponding #GFileAttributeType is
9593  * %G_FILE_ATTRIBUTE_TYPE_STRING.
9594  */
9595 enum FILE_ATTRIBUTE_OWNER_USER = "owner::user";
9596 alias G_FILE_ATTRIBUTE_OWNER_USER = FILE_ATTRIBUTE_OWNER_USER;
9597 
9598 /**
9599  * A key in the "owner" namespace for getting the real name of the
9600  * user that owns the file. Corresponding #GFileAttributeType is
9601  * %G_FILE_ATTRIBUTE_TYPE_STRING.
9602  */
9603 enum FILE_ATTRIBUTE_OWNER_USER_REAL = "owner::user-real";
9604 alias G_FILE_ATTRIBUTE_OWNER_USER_REAL = FILE_ATTRIBUTE_OWNER_USER_REAL;
9605 
9606 /**
9607  * A key in the "preview" namespace for getting a #GIcon that can be
9608  * used to get preview of the file. For example, it may be a low
9609  * resolution thumbnail without metadata. Corresponding
9610  * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.  The value
9611  * for this key should contain a #GIcon.
9612  */
9613 enum FILE_ATTRIBUTE_PREVIEW_ICON = "preview::icon";
9614 alias G_FILE_ATTRIBUTE_PREVIEW_ICON = FILE_ATTRIBUTE_PREVIEW_ICON;
9615 
9616 /**
9617  * A key in the "recent" namespace for getting time, when the metadata for the
9618  * file in `recent:///` was last changed. Corresponding #GFileAttributeType is
9619  * %G_FILE_ATTRIBUTE_TYPE_INT64.
9620  */
9621 enum FILE_ATTRIBUTE_RECENT_MODIFIED = "recent::modified";
9622 alias G_FILE_ATTRIBUTE_RECENT_MODIFIED = FILE_ATTRIBUTE_RECENT_MODIFIED;
9623 
9624 /**
9625  * A key in the "selinux" namespace for getting the file's SELinux
9626  * context. Corresponding #GFileAttributeType is
9627  * %G_FILE_ATTRIBUTE_TYPE_STRING. Note that this attribute is only
9628  * available if GLib has been built with SELinux support.
9629  */
9630 enum FILE_ATTRIBUTE_SELINUX_CONTEXT = "selinux::context";
9631 alias G_FILE_ATTRIBUTE_SELINUX_CONTEXT = FILE_ATTRIBUTE_SELINUX_CONTEXT;
9632 
9633 /**
9634  * A key in the "standard" namespace for getting the amount of disk space
9635  * that is consumed by the file (in bytes).  This will generally be larger
9636  * than the file size (due to block size overhead) but can occasionally be
9637  * smaller (for example, for sparse files).
9638  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
9639  */
9640 enum FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE = "standard::allocated-size";
9641 alias G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE = FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE;
9642 
9643 /**
9644  * A key in the "standard" namespace for getting the content type of the file.
9645  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9646  * The value for this key should contain a valid content type.
9647  */
9648 enum FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE = "standard::content-type";
9649 alias G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE = FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE;
9650 
9651 /**
9652  * A key in the "standard" namespace for getting the copy name of the file.
9653  * The copy name is an optional version of the name. If available it's always
9654  * in UTF8, and corresponds directly to the original filename (only transcoded to
9655  * UTF8). This is useful if you want to copy the file to another filesystem that
9656  * might have a different encoding. If the filename is not a valid string in the
9657  * encoding selected for the filesystem it is in then the copy name will not be set.
9658  *
9659  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9660  */
9661 enum FILE_ATTRIBUTE_STANDARD_COPY_NAME = "standard::copy-name";
9662 alias G_FILE_ATTRIBUTE_STANDARD_COPY_NAME = FILE_ATTRIBUTE_STANDARD_COPY_NAME;
9663 
9664 /**
9665  * A key in the "standard" namespace for getting the description of the file.
9666  * The description is a utf8 string that describes the file, generally containing
9667  * the filename, but can also contain furter information. Example descriptions
9668  * could be "filename (on hostname)" for a remote file or "filename (in trash)"
9669  * for a file in the trash. This is useful for instance as the window title
9670  * when displaying a directory or for a bookmarks menu.
9671  *
9672  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9673  */
9674 enum FILE_ATTRIBUTE_STANDARD_DESCRIPTION = "standard::description";
9675 alias G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION = FILE_ATTRIBUTE_STANDARD_DESCRIPTION;
9676 
9677 /**
9678  * A key in the "standard" namespace for getting the display name of the file.
9679  * A display name is guaranteed to be in UTF8 and can thus be displayed in
9680  * the UI.
9681  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9682  */
9683 enum FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME = "standard::display-name";
9684 alias G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME = FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME;
9685 
9686 /**
9687  * A key in the "standard" namespace for edit name of the file.
9688  * An edit name is similar to the display name, but it is meant to be
9689  * used when you want to rename the file in the UI. The display name
9690  * might contain information you don't want in the new filename (such as
9691  * "(invalid unicode)" if the filename was in an invalid encoding).
9692  *
9693  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9694  */
9695 enum FILE_ATTRIBUTE_STANDARD_EDIT_NAME = "standard::edit-name";
9696 alias G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME = FILE_ATTRIBUTE_STANDARD_EDIT_NAME;
9697 
9698 /**
9699  * A key in the "standard" namespace for getting the fast content type.
9700  * The fast content type isn't as reliable as the regular one, as it
9701  * only uses the filename to guess it, but it is faster to calculate than the
9702  * regular content type.
9703  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9704  */
9705 enum FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE = "standard::fast-content-type";
9706 alias G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE = FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE;
9707 
9708 /**
9709  * A key in the "standard" namespace for getting the icon for the file.
9710  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
9711  * The value for this key should contain a #GIcon.
9712  */
9713 enum FILE_ATTRIBUTE_STANDARD_ICON = "standard::icon";
9714 alias G_FILE_ATTRIBUTE_STANDARD_ICON = FILE_ATTRIBUTE_STANDARD_ICON;
9715 
9716 /**
9717  * A key in the "standard" namespace for checking if a file is a backup file.
9718  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9719  */
9720 enum FILE_ATTRIBUTE_STANDARD_IS_BACKUP = "standard::is-backup";
9721 alias G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP = FILE_ATTRIBUTE_STANDARD_IS_BACKUP;
9722 
9723 /**
9724  * A key in the "standard" namespace for checking if a file is hidden.
9725  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9726  */
9727 enum FILE_ATTRIBUTE_STANDARD_IS_HIDDEN = "standard::is-hidden";
9728 alias G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN = FILE_ATTRIBUTE_STANDARD_IS_HIDDEN;
9729 
9730 /**
9731  * A key in the "standard" namespace for checking if the file is a symlink.
9732  * Typically the actual type is something else, if we followed the symlink
9733  * to get the type.
9734  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9735  */
9736 enum FILE_ATTRIBUTE_STANDARD_IS_SYMLINK = "standard::is-symlink";
9737 alias G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK = FILE_ATTRIBUTE_STANDARD_IS_SYMLINK;
9738 
9739 /**
9740  * A key in the "standard" namespace for checking if a file is virtual.
9741  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9742  */
9743 enum FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL = "standard::is-virtual";
9744 alias G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL = FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL;
9745 
9746 /**
9747  * A key in the "standard" namespace for checking if a file is
9748  * volatile. This is meant for opaque, non-POSIX-like backends to
9749  * indicate that the URI is not persistent. Applications should look
9750  * at #G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET for the persistent URI.
9751  *
9752  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9753  */
9754 enum FILE_ATTRIBUTE_STANDARD_IS_VOLATILE = "standard::is-volatile";
9755 alias G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE = FILE_ATTRIBUTE_STANDARD_IS_VOLATILE;
9756 
9757 /**
9758  * A key in the "standard" namespace for getting the name of the file.
9759  * The name is the on-disk filename which may not be in any known encoding,
9760  * and can thus not be generally displayed as is.
9761  * Use #G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME if you need to display the
9762  * name in a user interface.
9763  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
9764  */
9765 enum FILE_ATTRIBUTE_STANDARD_NAME = "standard::name";
9766 alias G_FILE_ATTRIBUTE_STANDARD_NAME = FILE_ATTRIBUTE_STANDARD_NAME;
9767 
9768 /**
9769  * A key in the "standard" namespace for getting the file's size (in bytes).
9770  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
9771  */
9772 enum FILE_ATTRIBUTE_STANDARD_SIZE = "standard::size";
9773 alias G_FILE_ATTRIBUTE_STANDARD_SIZE = FILE_ATTRIBUTE_STANDARD_SIZE;
9774 
9775 /**
9776  * A key in the "standard" namespace for setting the sort order of a file.
9777  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_INT32.
9778  * An example use would be in file managers, which would use this key
9779  * to set the order files are displayed. Files with smaller sort order
9780  * should be sorted first, and files without sort order as if sort order
9781  * was zero.
9782  */
9783 enum FILE_ATTRIBUTE_STANDARD_SORT_ORDER = "standard::sort-order";
9784 alias G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER = FILE_ATTRIBUTE_STANDARD_SORT_ORDER;
9785 
9786 /**
9787  * A key in the "standard" namespace for getting the symbolic icon for the file.
9788  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT.
9789  * The value for this key should contain a #GIcon.
9790  */
9791 enum FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON = "standard::symbolic-icon";
9792 alias G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON = FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON;
9793 
9794 /**
9795  * A key in the "standard" namespace for getting the symlink target, if the file
9796  * is a symlink. Corresponding #GFileAttributeType is
9797  * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
9798  */
9799 enum FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET = "standard::symlink-target";
9800 alias G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET = FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET;
9801 
9802 /**
9803  * A key in the "standard" namespace for getting the target URI for the file, in
9804  * the case of %G_FILE_TYPE_SHORTCUT or %G_FILE_TYPE_MOUNTABLE files.
9805  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9806  */
9807 enum FILE_ATTRIBUTE_STANDARD_TARGET_URI = "standard::target-uri";
9808 alias G_FILE_ATTRIBUTE_STANDARD_TARGET_URI = FILE_ATTRIBUTE_STANDARD_TARGET_URI;
9809 
9810 /**
9811  * A key in the "standard" namespace for storing file types.
9812  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
9813  * The value for this key should contain a #GFileType.
9814  */
9815 enum FILE_ATTRIBUTE_STANDARD_TYPE = "standard::type";
9816 alias G_FILE_ATTRIBUTE_STANDARD_TYPE = FILE_ATTRIBUTE_STANDARD_TYPE;
9817 
9818 /**
9819  * A key in the "thumbnail" namespace for checking if thumbnailing failed.
9820  * This attribute is %TRUE if thumbnailing failed. Corresponding
9821  * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9822  */
9823 enum FILE_ATTRIBUTE_THUMBNAILING_FAILED = "thumbnail::failed";
9824 alias G_FILE_ATTRIBUTE_THUMBNAILING_FAILED = FILE_ATTRIBUTE_THUMBNAILING_FAILED;
9825 
9826 /**
9827  * A key in the "thumbnail" namespace for checking whether the thumbnail is outdated.
9828  * This attribute is %TRUE if the thumbnail is up-to-date with the file it represents,
9829  * and %FALSE if the file has been modified since the thumbnail was generated.
9830  *
9831  * If %G_FILE_ATTRIBUTE_THUMBNAILING_FAILED is %TRUE and this attribute is %FALSE,
9832  * it indicates that thumbnailing may be attempted again and may succeed.
9833  *
9834  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9835  */
9836 enum FILE_ATTRIBUTE_THUMBNAIL_IS_VALID = "thumbnail::is-valid";
9837 alias G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID = FILE_ATTRIBUTE_THUMBNAIL_IS_VALID;
9838 
9839 /**
9840  * A key in the "thumbnail" namespace for getting the path to the thumbnail
9841  * image. Corresponding #GFileAttributeType is
9842  * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
9843  */
9844 enum FILE_ATTRIBUTE_THUMBNAIL_PATH = "thumbnail::path";
9845 alias G_FILE_ATTRIBUTE_THUMBNAIL_PATH = FILE_ATTRIBUTE_THUMBNAIL_PATH;
9846 
9847 /**
9848  * A key in the "time" namespace for getting the time the file was last
9849  * accessed. Corresponding #GFileAttributeType is
9850  * %G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the time since the
9851  * file was last accessed, in seconds since the UNIX epoch.
9852  */
9853 enum FILE_ATTRIBUTE_TIME_ACCESS = "time::access";
9854 alias G_FILE_ATTRIBUTE_TIME_ACCESS = FILE_ATTRIBUTE_TIME_ACCESS;
9855 
9856 /**
9857  * A key in the "time" namespace for getting the microseconds of the time
9858  * the file was last accessed. This should be used in conjunction with
9859  * #G_FILE_ATTRIBUTE_TIME_ACCESS. Corresponding #GFileAttributeType is
9860  * %G_FILE_ATTRIBUTE_TYPE_UINT32.
9861  */
9862 enum FILE_ATTRIBUTE_TIME_ACCESS_USEC = "time::access-usec";
9863 alias G_FILE_ATTRIBUTE_TIME_ACCESS_USEC = FILE_ATTRIBUTE_TIME_ACCESS_USEC;
9864 
9865 /**
9866  * A key in the "time" namespace for getting the time the file was last
9867  * changed. Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64,
9868  * and contains the time since the file was last changed, in seconds since the
9869  * UNIX epoch.
9870  *
9871  * This corresponds to the traditional UNIX ctime.
9872  */
9873 enum FILE_ATTRIBUTE_TIME_CHANGED = "time::changed";
9874 alias G_FILE_ATTRIBUTE_TIME_CHANGED = FILE_ATTRIBUTE_TIME_CHANGED;
9875 
9876 /**
9877  * A key in the "time" namespace for getting the microseconds of the time
9878  * the file was last changed. This should be used in conjunction with
9879  * #G_FILE_ATTRIBUTE_TIME_CHANGED. Corresponding #GFileAttributeType is
9880  * %G_FILE_ATTRIBUTE_TYPE_UINT32.
9881  */
9882 enum FILE_ATTRIBUTE_TIME_CHANGED_USEC = "time::changed-usec";
9883 alias G_FILE_ATTRIBUTE_TIME_CHANGED_USEC = FILE_ATTRIBUTE_TIME_CHANGED_USEC;
9884 
9885 /**
9886  * A key in the "time" namespace for getting the time the file was created.
9887  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64,
9888  * and contains the time since the file was created, in seconds since the UNIX
9889  * epoch.
9890  *
9891  * This corresponds to the NTFS ctime.
9892  */
9893 enum FILE_ATTRIBUTE_TIME_CREATED = "time::created";
9894 alias G_FILE_ATTRIBUTE_TIME_CREATED = FILE_ATTRIBUTE_TIME_CREATED;
9895 
9896 /**
9897  * A key in the "time" namespace for getting the microseconds of the time
9898  * the file was created. This should be used in conjunction with
9899  * #G_FILE_ATTRIBUTE_TIME_CREATED. Corresponding #GFileAttributeType is
9900  * %G_FILE_ATTRIBUTE_TYPE_UINT32.
9901  */
9902 enum FILE_ATTRIBUTE_TIME_CREATED_USEC = "time::created-usec";
9903 alias G_FILE_ATTRIBUTE_TIME_CREATED_USEC = FILE_ATTRIBUTE_TIME_CREATED_USEC;
9904 
9905 /**
9906  * A key in the "time" namespace for getting the time the file was last
9907  * modified. Corresponding #GFileAttributeType is
9908  * %G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the time since the
9909  * file was modified, in seconds since the UNIX epoch.
9910  */
9911 enum FILE_ATTRIBUTE_TIME_MODIFIED = "time::modified";
9912 alias G_FILE_ATTRIBUTE_TIME_MODIFIED = FILE_ATTRIBUTE_TIME_MODIFIED;
9913 
9914 /**
9915  * A key in the "time" namespace for getting the microseconds of the time
9916  * the file was last modified. This should be used in conjunction with
9917  * #G_FILE_ATTRIBUTE_TIME_MODIFIED. Corresponding #GFileAttributeType is
9918  * %G_FILE_ATTRIBUTE_TYPE_UINT32.
9919  */
9920 enum FILE_ATTRIBUTE_TIME_MODIFIED_USEC = "time::modified-usec";
9921 alias G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC = FILE_ATTRIBUTE_TIME_MODIFIED_USEC;
9922 
9923 /**
9924  * A key in the "trash" namespace.  When requested against
9925  * items in `trash:///`, will return the date and time when the file
9926  * was trashed. The format of the returned string is YYYY-MM-DDThh:mm:ss.
9927  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING.
9928  */
9929 enum FILE_ATTRIBUTE_TRASH_DELETION_DATE = "trash::deletion-date";
9930 alias G_FILE_ATTRIBUTE_TRASH_DELETION_DATE = FILE_ATTRIBUTE_TRASH_DELETION_DATE;
9931 
9932 /**
9933  * A key in the "trash" namespace.  When requested against
9934  * `trash:///` returns the number of (toplevel) items in the trash folder.
9935  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
9936  */
9937 enum FILE_ATTRIBUTE_TRASH_ITEM_COUNT = "trash::item-count";
9938 alias G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT = FILE_ATTRIBUTE_TRASH_ITEM_COUNT;
9939 
9940 /**
9941  * A key in the "trash" namespace.  When requested against
9942  * items in `trash:///`, will return the original path to the file before it
9943  * was trashed. Corresponding #GFileAttributeType is
9944  * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING.
9945  */
9946 enum FILE_ATTRIBUTE_TRASH_ORIG_PATH = "trash::orig-path";
9947 alias G_FILE_ATTRIBUTE_TRASH_ORIG_PATH = FILE_ATTRIBUTE_TRASH_ORIG_PATH;
9948 
9949 /**
9950  * A key in the "unix" namespace for getting the number of blocks allocated
9951  * for the file. This attribute is only available for UNIX file systems.
9952  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
9953  */
9954 enum FILE_ATTRIBUTE_UNIX_BLOCKS = "unix::blocks";
9955 alias G_FILE_ATTRIBUTE_UNIX_BLOCKS = FILE_ATTRIBUTE_UNIX_BLOCKS;
9956 
9957 /**
9958  * A key in the "unix" namespace for getting the block size for the file
9959  * system. This attribute is only available for UNIX file systems.
9960  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
9961  */
9962 enum FILE_ATTRIBUTE_UNIX_BLOCK_SIZE = "unix::block-size";
9963 alias G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE = FILE_ATTRIBUTE_UNIX_BLOCK_SIZE;
9964 
9965 /**
9966  * A key in the "unix" namespace for getting the device id of the device the
9967  * file is located on (see stat() documentation). This attribute is only
9968  * available for UNIX file systems. Corresponding #GFileAttributeType is
9969  * %G_FILE_ATTRIBUTE_TYPE_UINT32.
9970  */
9971 enum FILE_ATTRIBUTE_UNIX_DEVICE = "unix::device";
9972 alias G_FILE_ATTRIBUTE_UNIX_DEVICE = FILE_ATTRIBUTE_UNIX_DEVICE;
9973 
9974 /**
9975  * A key in the "unix" namespace for getting the group ID for the file.
9976  * This attribute is only available for UNIX file systems.
9977  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
9978  */
9979 enum FILE_ATTRIBUTE_UNIX_GID = "unix::gid";
9980 alias G_FILE_ATTRIBUTE_UNIX_GID = FILE_ATTRIBUTE_UNIX_GID;
9981 
9982 /**
9983  * A key in the "unix" namespace for getting the inode of the file.
9984  * This attribute is only available for UNIX file systems. Corresponding
9985  * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
9986  */
9987 enum FILE_ATTRIBUTE_UNIX_INODE = "unix::inode";
9988 alias G_FILE_ATTRIBUTE_UNIX_INODE = FILE_ATTRIBUTE_UNIX_INODE;
9989 
9990 /**
9991  * A key in the "unix" namespace for checking if the file represents a
9992  * UNIX mount point. This attribute is %TRUE if the file is a UNIX mount
9993  * point. This attribute is only available for UNIX file systems.
9994  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN.
9995  */
9996 enum FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT = "unix::is-mountpoint";
9997 alias G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT = FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT;
9998 
9999 /**
10000  * A key in the "unix" namespace for getting the mode of the file
10001  * (e.g. whether the file is a regular file, symlink, etc). See lstat()
10002  * documentation. This attribute is only available for UNIX file systems.
10003  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
10004  */
10005 enum FILE_ATTRIBUTE_UNIX_MODE = "unix::mode";
10006 alias G_FILE_ATTRIBUTE_UNIX_MODE = FILE_ATTRIBUTE_UNIX_MODE;
10007 
10008 /**
10009  * A key in the "unix" namespace for getting the number of hard links
10010  * for a file. See lstat() documentation. This attribute is only available
10011  * for UNIX file systems. Corresponding #GFileAttributeType is
10012  * %G_FILE_ATTRIBUTE_TYPE_UINT32.
10013  */
10014 enum FILE_ATTRIBUTE_UNIX_NLINK = "unix::nlink";
10015 alias G_FILE_ATTRIBUTE_UNIX_NLINK = FILE_ATTRIBUTE_UNIX_NLINK;
10016 
10017 /**
10018  * A key in the "unix" namespace for getting the device ID for the file
10019  * (if it is a special file). See lstat() documentation. This attribute
10020  * is only available for UNIX file systems. Corresponding #GFileAttributeType
10021  * is %G_FILE_ATTRIBUTE_TYPE_UINT32.
10022  */
10023 enum FILE_ATTRIBUTE_UNIX_RDEV = "unix::rdev";
10024 alias G_FILE_ATTRIBUTE_UNIX_RDEV = FILE_ATTRIBUTE_UNIX_RDEV;
10025 
10026 /**
10027  * A key in the "unix" namespace for getting the user ID for the file.
10028  * This attribute is only available for UNIX file systems.
10029  * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32.
10030  */
10031 enum FILE_ATTRIBUTE_UNIX_UID = "unix::uid";
10032 alias G_FILE_ATTRIBUTE_UNIX_UID = FILE_ATTRIBUTE_UNIX_UID;
10033 
10034 /**
10035  * The menu item attribute which holds the action name of the item.  Action
10036  * names are namespaced with an identifier for the action group in which the
10037  * action resides. For example, "win." for window-specific actions and "app."
10038  * for application-wide actions.
10039  *
10040  * See also g_menu_model_get_item_attribute() and g_menu_item_set_attribute().
10041  */
10042 enum MENU_ATTRIBUTE_ACTION = "action";
10043 alias G_MENU_ATTRIBUTE_ACTION = MENU_ATTRIBUTE_ACTION;
10044 
10045 /**
10046  * The menu item attribute that holds the namespace for all action names in
10047  * menus that are linked from this item.
10048  */
10049 enum MENU_ATTRIBUTE_ACTION_NAMESPACE = "action-namespace";
10050 alias G_MENU_ATTRIBUTE_ACTION_NAMESPACE = MENU_ATTRIBUTE_ACTION_NAMESPACE;
10051 
10052 /**
10053  * The menu item attribute which holds the icon of the item.
10054  *
10055  * The icon is stored in the format returned by g_icon_serialize().
10056  *
10057  * This attribute is intended only to represent 'noun' icons such as
10058  * favicons for a webpage, or application icons.  It should not be used
10059  * for 'verbs' (ie: stock icons).
10060  */
10061 enum MENU_ATTRIBUTE_ICON = "icon";
10062 alias G_MENU_ATTRIBUTE_ICON = MENU_ATTRIBUTE_ICON;
10063 
10064 /**
10065  * The menu item attribute which holds the label of the item.
10066  */
10067 enum MENU_ATTRIBUTE_LABEL = "label";
10068 alias G_MENU_ATTRIBUTE_LABEL = MENU_ATTRIBUTE_LABEL;
10069 
10070 /**
10071  * The menu item attribute which holds the target with which the item's action
10072  * will be activated.
10073  *
10074  * See also g_menu_item_set_action_and_target()
10075  */
10076 enum MENU_ATTRIBUTE_TARGET = "target";
10077 alias G_MENU_ATTRIBUTE_TARGET = MENU_ATTRIBUTE_TARGET;
10078 
10079 /**
10080  * The name of the link that associates a menu item with a section.  The linked
10081  * menu will usually be shown in place of the menu item, using the item's label
10082  * as a header.
10083  *
10084  * See also g_menu_item_set_link().
10085  */
10086 enum MENU_LINK_SECTION = "section";
10087 alias G_MENU_LINK_SECTION = MENU_LINK_SECTION;
10088 
10089 /**
10090  * The name of the link that associates a menu item with a submenu.
10091  *
10092  * See also g_menu_item_set_link().
10093  */
10094 enum MENU_LINK_SUBMENU = "submenu";
10095 alias G_MENU_LINK_SUBMENU = MENU_LINK_SUBMENU;
10096 
10097 enum NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME = "gio-native-volume-monitor";
10098 alias G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME = NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME;
10099 
10100 /**
10101  * Extension point for network status monitoring functionality.
10102  * See [Extending GIO][extending-gio].
10103  */
10104 enum NETWORK_MONITOR_EXTENSION_POINT_NAME = "gio-network-monitor";
10105 alias G_NETWORK_MONITOR_EXTENSION_POINT_NAME = NETWORK_MONITOR_EXTENSION_POINT_NAME;
10106 
10107 /**
10108  * Extension point for proxy functionality.
10109  * See [Extending GIO][extending-gio].
10110  */
10111 enum PROXY_EXTENSION_POINT_NAME = "gio-proxy";
10112 alias G_PROXY_EXTENSION_POINT_NAME = PROXY_EXTENSION_POINT_NAME;
10113 
10114 /**
10115  * Extension point for proxy resolving functionality.
10116  * See [Extending GIO][extending-gio].
10117  */
10118 enum PROXY_RESOLVER_EXTENSION_POINT_NAME = "gio-proxy-resolver";
10119 alias G_PROXY_RESOLVER_EXTENSION_POINT_NAME = PROXY_RESOLVER_EXTENSION_POINT_NAME;
10120 
10121 /**
10122  * Extension point for #GSettingsBackend functionality.
10123  */
10124 enum SETTINGS_BACKEND_EXTENSION_POINT_NAME = "gsettings-backend";
10125 alias G_SETTINGS_BACKEND_EXTENSION_POINT_NAME = SETTINGS_BACKEND_EXTENSION_POINT_NAME;
10126 
10127 /**
10128  * Extension point for TLS functionality via #GTlsBackend.
10129  * See [Extending GIO][extending-gio].
10130  */
10131 enum TLS_BACKEND_EXTENSION_POINT_NAME = "gio-tls-backend";
10132 alias G_TLS_BACKEND_EXTENSION_POINT_NAME = TLS_BACKEND_EXTENSION_POINT_NAME;
10133 
10134 /**
10135  * The purpose used to verify the client certificate in a TLS connection.
10136  * Used by TLS servers.
10137  */
10138 enum TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT = "1.3.6.1.5.5.7.3.2";
10139 alias G_TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT = TLS_DATABASE_PURPOSE_AUTHENTICATE_CLIENT;
10140 
10141 /**
10142  * The purpose used to verify the server certificate in a TLS connection. This
10143  * is the most common purpose in use. Used by TLS clients.
10144  */
10145 enum TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER = "1.3.6.1.5.5.7.3.1";
10146 alias G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER = TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER;
10147 
10148 /**
10149  * Extension point for #GVfs functionality.
10150  * See [Extending GIO][extending-gio].
10151  */
10152 enum VFS_EXTENSION_POINT_NAME = "gio-vfs";
10153 alias G_VFS_EXTENSION_POINT_NAME = VFS_EXTENSION_POINT_NAME;
10154 
10155 /**
10156  * The string used to obtain the volume class with g_volume_get_identifier().
10157  *
10158  * Known volume classes include `device` and `network`. Other classes may
10159  * be added in the future.
10160  *
10161  * This is intended to be used by applications to classify #GVolume
10162  * instances into different sections - for example a file manager or
10163  * file chooser can use this information to show `network` volumes under
10164  * a "Network" heading and `device` volumes under a "Devices" heading.
10165  */
10166 enum VOLUME_IDENTIFIER_KIND_CLASS = "class";
10167 alias G_VOLUME_IDENTIFIER_KIND_CLASS = VOLUME_IDENTIFIER_KIND_CLASS;
10168 
10169 /**
10170  * The string used to obtain a Hal UDI with g_volume_get_identifier().
10171  */
10172 enum VOLUME_IDENTIFIER_KIND_HAL_UDI = "hal-udi";
10173 alias G_VOLUME_IDENTIFIER_KIND_HAL_UDI = VOLUME_IDENTIFIER_KIND_HAL_UDI;
10174 
10175 /**
10176  * The string used to obtain a filesystem label with g_volume_get_identifier().
10177  */
10178 enum VOLUME_IDENTIFIER_KIND_LABEL = "label";
10179 alias G_VOLUME_IDENTIFIER_KIND_LABEL = VOLUME_IDENTIFIER_KIND_LABEL;
10180 
10181 /**
10182  * The string used to obtain a NFS mount with g_volume_get_identifier().
10183  */
10184 enum VOLUME_IDENTIFIER_KIND_NFS_MOUNT = "nfs-mount";
10185 alias G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT = VOLUME_IDENTIFIER_KIND_NFS_MOUNT;
10186 
10187 /**
10188  * The string used to obtain a Unix device path with g_volume_get_identifier().
10189  */
10190 enum VOLUME_IDENTIFIER_KIND_UNIX_DEVICE = "unix-device";
10191 alias G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE = VOLUME_IDENTIFIER_KIND_UNIX_DEVICE;
10192 
10193 /**
10194  * The string used to obtain a UUID with g_volume_get_identifier().
10195  */
10196 enum VOLUME_IDENTIFIER_KIND_UUID = "uuid";
10197 alias G_VOLUME_IDENTIFIER_KIND_UUID = VOLUME_IDENTIFIER_KIND_UUID;
10198 
10199 /**
10200  * Extension point for volume monitor functionality.
10201  * See [Extending GIO][extending-gio].
10202  */
10203 enum VOLUME_MONITOR_EXTENSION_POINT_NAME = "gio-volume-monitor";
10204 alias G_VOLUME_MONITOR_EXTENSION_POINT_NAME = VOLUME_MONITOR_EXTENSION_POINT_NAME;