[vala/switch-to-gir-gio] gio-2.0: Switch to gir.



commit 29178c99f6ec2f53e6cea6618762b7c800822f23
Author: Luca Bruno <lucabru src gnome org>
Date:   Sun Dec 26 11:57:33 2010 +0100

    gio-2.0: Switch to gir.

 vala/valagirparser.vala           |    2 +-
 vapi/Makefile.am                  |    3 +
 vapi/gio-2.0.vapi                 | 1878 +++++++++++++++++--------------------
 vapi/metadata/Gio-2.0-custom.vala |  109 +++
 vapi/metadata/Gio-2.0.metadata    |  112 +++
 5 files changed, 1080 insertions(+), 1024 deletions(-)
---
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index 5276c8f..28d0e9e 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -1692,7 +1692,7 @@ public class Vala.GirParser : CodeVisitor {
 					parse_boxed ("record");
 				} else {
 					if (!reader.get_attribute ("name").has_suffix ("Private")) {
-						if (reader.get_attribute ("glib:is-gtype-struct-for") == null && reader.get_attribute ("disguised") == "1") {
+						if ((reader.get_attribute ("glib:is-gtype-struct-for") == null && reader.get_attribute ("disguised") == "1") || (metadata.has_argument (ArgumentType.STRUCT) && !metadata.get_bool (ArgumentType.STRUCT))) {
 							parse_boxed ("record");
 						} else {
 							parse_record ();
diff --git a/vapi/Makefile.am b/vapi/Makefile.am
index dac2a18..9402006 100644
--- a/vapi/Makefile.am
+++ b/vapi/Makefile.am
@@ -245,3 +245,6 @@ clutter-1.0:
 
 json-glib-1.0:
 	$(VAPIGEN) --library $(srcdir)/json-glib-1.0 --metadatadir $(METADATADIR) $(METADATADIR)/Json-1.0-custom.vala --pkg gio-2.0 $(GIRDIR)/Json-1.0.gir
+
+gio-2.0:
+	$(VAPIGEN) --library $(srcdir)/gio-2.0 --metadatadir $(METADATADIR) $(METADATADIR)/Gio-2.0-custom.vala $(GIRDIR)/Gio-2.0.gir
diff --git a/vapi/gio-2.0.vapi b/vapi/gio-2.0.vapi
index 292a3ec..df83588 100644
--- a/vapi/gio-2.0.vapi
+++ b/vapi/gio-2.0.vapi
@@ -1,4 +1,4 @@
-/* gio-2.0.vapi generated by vapigen, do not modify. */
+/* gio-2.0.vapi generated by lt-vapigen, do not modify. */
 
 [CCode (cprefix = "G", lower_case_cprefix = "g_", gir_namespace = "Gio", gir_version = "2.0")]
 namespace GLib {
@@ -13,17 +13,17 @@ namespace GLib {
 		[CCode (cheader_filename = "gio/gio.h")]
 		public static GLib.DBusConnection get_sync (GLib.BusType bus_type, GLib.Cancellable? cancellable = null) throws GLib.IOError;
 		[CCode (cname = "g_bus_own_name_with_closures", cheader_filename = "gio/gio.h")]
-		public static uint own_name (GLib.BusType bus_type, string name, GLib.BusNameOwnerFlags flags, [CCode (type = "GClosure*")] owned GLib.BusAcquiredCallback? bus_acquired_handler = null, [CCode (type = "GClosure*")] owned GLib.BusNameAcquiredCallback? name_acquired_handler = null, [CCode (type = "GClosure*")] owned GLib.BusNameLostCallback? name_lost_handler = null);
+		public static uint own_name (GLib.BusType bus_type, string name, GLib.BusNameOwnerFlags flags, [CCode (type = "GClosure*")] owned GLib.BusAcquiredCallback bus_acquired_handler, [CCode (type = "GClosure*")] owned GLib.BusNameAcquiredCallback name_acquired_handler, [CCode (type = "GClosure*")] owned GLib.BusNameLostCallback name_lost_handler);
 		[CCode (cname = "g_bus_own_name_on_connection_with_closures", cheader_filename = "gio/gio.h")]
-		public static uint own_name_on_connection (GLib.DBusConnection connection, string name, GLib.BusNameOwnerFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAcquiredCallback? name_acquired_handler = null, [CCode (type = "GClosure*")] owned GLib.BusNameLostCallback? name_lost_handler = null);
+		public static uint own_name_on_connection (GLib.DBusConnection connection, string name, GLib.BusNameOwnerFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAcquiredCallback name_acquired_handler, [CCode (type = "GClosure*")] owned GLib.BusNameLostCallback name_lost_handler);
 		[CCode (cheader_filename = "gio/gio.h")]
 		public static void unown_name (uint owner_id);
 		[CCode (cheader_filename = "gio/gio.h")]
 		public static void unwatch_name (uint watcher_id);
 		[CCode (cname = "g_bus_watch_name_with_closures", cheader_filename = "gio/gio.h")]
-		public static uint watch_name (GLib.BusType bus_type, string name, GLib.BusNameWatcherFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAppearedCallback? name_appeared_handler, [CCode (type = "GClosure*")] owned GLib.BusNameVanishedCallback? name_vanished_handler);
+		public static uint watch_name (GLib.BusType bus_type, string name, GLib.BusNameWatcherFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAppearedCallback name_appeared_handler, [CCode (type = "GClosure*")] owned GLib.BusNameVanishedCallback name_vanished_handler);
 		[CCode (cname = "g_bus_watch_name_on_connection_with_closures", cheader_filename = "gio/gio.h")]
-		public static uint watch_name_on_connection (GLib.DBusConnection connection, string name, GLib.BusNameWatcherFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAppearedCallback? name_appeared_handler, [CCode (type = "GClosure*")] owned GLib.BusNameVanishedCallback? name_vanished_handler);
+		public static uint watch_name_on_connection (GLib.DBusConnection connection, string name, GLib.BusNameWatcherFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAppearedCallback name_appeared_handler, [CCode (type = "GClosure*")] owned GLib.BusNameVanishedCallback name_vanished_handler);
 	}
 	[CCode (cprefix = "GContentType", lower_case_cprefix = "g_content_type_")]
 	namespace ContentType {
@@ -40,26 +40,15 @@ namespace GLib {
 		[CCode (cheader_filename = "gio/gio.h")]
 		public static string get_mime_type (string type);
 		[CCode (cheader_filename = "gio/gio.h")]
-		public static string guess (string? filename, uchar[]? data, out bool result_uncertain);
-		[CCode (cheader_filename = "gio/gio.h")]
-		public static string guess_for_tree (GLib.File root);
+		public static string guess (string? filename, [CCode (array_length_type = "gsize", array_length_cname = "data_size", array_length_pos = 2.5)] uint8[]? data, out bool result_uncertain);
+		[CCode (cheader_filename = "gio/gio.h", array_length = false, array_null_terminated = true)]
+		public static string[] guess_for_tree (GLib.File root);
 		[CCode (cheader_filename = "gio/gio.h")]
 		public static bool is_a (string type, string supertype);
 		[CCode (cheader_filename = "gio/gio.h")]
 		public static bool is_unknown (string type);
 	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class ActionEntry {
-		public weak GLib.Callback activate;
-		public weak GLib.Callback change_state;
-		public weak string name;
-		[CCode (array_length = false)]
-		public weak size_t[] padding;
-		public weak string parameter_type;
-		public weak string state;
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_app_launch_context_get_type ()", cheader_filename = "gio/gio.h")]
 	public class AppLaunchContext : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public AppLaunchContext ();
@@ -68,7 +57,7 @@ namespace GLib {
 		public virtual void launch_failed (string startup_notify_id);
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
-	public class Application : GLib.Object, GLib.ActionGroup {
+	public class Application : GLib.Object, GLib.ActionGroup, GLib.ActionGroup {
 		[CCode (has_construct_function = false)]
 		public Application (string application_id, GLib.ApplicationFlags flags);
 		[NoWrapper]
@@ -85,14 +74,14 @@ namespace GLib {
 		public void hold ();
 		public static bool id_is_valid (string application_id);
 		[NoWrapper]
-		public virtual bool local_command_line ([CCode (array_length = false, array_null_terminated = true)] ref unowned string[] arguments, out int exit_status);
+		public virtual bool local_command_line (string arguments, int exit_status);
 		[CCode (cname = "g_application_quit_with_data")]
 		public bool quit (GLib.Variant? platform_data = null);
 		[NoWrapper]
 		public virtual void quit_mainloop ();
 		public bool register (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public void release ();
-		public int run ([CCode (array_length_pos = 0.9)] string[]? argv = null);
+		public int run ([CCode (type = "char**", array_length_cname = "argc", array_length_pos = 0.5)] string[]? argv = null);
 		[NoWrapper]
 		public virtual void run_mainloop ();
 		public void set_action_group (GLib.ActionGroup action_group);
@@ -109,24 +98,20 @@ namespace GLib {
 		public virtual signal void activate ();
 		public virtual signal int command_line (GLib.ApplicationCommandLine command_line);
 		[HasEmitter]
-		public virtual signal void open (GLib.File[] files, string hint);
+		public virtual signal void open (void* files, int n_files, string hint);
 		public virtual signal void startup ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_application_command_line_get_type ()", cheader_filename = "gio/gio.h")]
 	public class ApplicationCommandLine : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected ApplicationCommandLine ();
-		public string[] get_arguments ();
 		public unowned string get_cwd ();
-		public unowned string get_environ ();
 		public int get_exit_status ();
 		public bool get_is_remote ();
 		public GLib.Variant? get_platform_data ();
 		public unowned string getenv (string name);
-		public void print (string format);
 		[NoWrapper]
 		public virtual void print_literal (string message);
-		public void printerr (string format);
 		[NoWrapper]
 		public virtual void printerr_literal (string message);
 		public void set_exit_status (int exit_status);
@@ -134,7 +119,7 @@ namespace GLib {
 		public bool is_remote { get; }
 		public GLib.Variant platform_data { construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_buffered_input_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class BufferedInputStream : GLib.FilterInputStream {
 		[CCode (type = "GInputStream*", has_construct_function = false)]
 		public BufferedInputStream (GLib.InputStream base_stream);
@@ -142,8 +127,8 @@ namespace GLib {
 		public virtual async ssize_t fill_async (ssize_t count, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public size_t get_available ();
 		public size_t get_buffer_size ();
-		public size_t peek ([CCode (array_length_type = "gsize", array_length_pos = 2.9)] uint8[] buffer, size_t offset = 0);
-		[CCode (array_length_type = "gsize")]
+		public size_t peek ([CCode (type = "void*", array_length_type = "gsize", array_length_cname = "count", array_length_pos = 2.1)] uint8[] buffer, size_t offset = 0);
+		[CCode (array_length_pos = 0.1, array_length_type = "gsize")]
 		public unowned uint8[] peek_buffer ();
 		public int read_byte (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public void set_buffer_size (size_t size);
@@ -151,7 +136,7 @@ namespace GLib {
 		public BufferedInputStream.sized (GLib.InputStream base_stream, size_t size);
 		public uint buffer_size { get; set construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_buffered_output_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class BufferedOutputStream : GLib.FilterOutputStream {
 		[CCode (type = "GOutputStream*", has_construct_function = false)]
 		public BufferedOutputStream (GLib.OutputStream base_stream);
@@ -164,14 +149,14 @@ namespace GLib {
 		public bool auto_grow { get; set; }
 		public uint buffer_size { get; set construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_cancellable_get_type ()", cheader_filename = "gio/gio.h")]
 	public class Cancellable : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public Cancellable ();
 		public void cancel ();
-		public ulong connect ([CCode (type = "GCallback*")] owned GLib.Func<GLib.Cancellable> callback);
+		public ulong connect (owned GLib.Callback callback);
 		public void disconnect (ulong handler_id);
-		public static unowned GLib.Cancellable? get_current ();
+		public static unowned GLib.Cancellable get_current ();
 		public int get_fd ();
 		public bool is_cancelled ();
 		public bool make_pollfd (GLib.PollFD pollfd);
@@ -179,11 +164,10 @@ namespace GLib {
 		public void push_current ();
 		public void release_fd ();
 		public void reset ();
-		public bool set_error_if_cancelled () throws GLib.IOError;
-		public unowned GLib.TimeoutSource source_new ();
+		public bool set_error_if_cancelled () throws GLib.Error;
 		public virtual signal void cancelled ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_charset_converter_get_type ()", cheader_filename = "gio/gio.h")]
 	public class CharsetConverter : GLib.Object, GLib.Converter, GLib.Initable {
 		[CCode (has_construct_function = false)]
 		public CharsetConverter (string to_charset, string from_charset) throws GLib.Error;
@@ -196,21 +180,21 @@ namespace GLib {
 		public string to_charset { owned get; construct; }
 		public bool use_fallback { get; set construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_converter_input_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class ConverterInputStream : GLib.FilterInputStream {
 		[CCode (type = "GInputStream*", has_construct_function = false)]
 		public ConverterInputStream (GLib.InputStream base_stream, GLib.Converter converter);
 		public unowned GLib.Converter get_converter ();
 		public GLib.Converter converter { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_converter_output_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class ConverterOutputStream : GLib.FilterOutputStream {
 		[CCode (type = "GOutputStream*", has_construct_function = false)]
 		public ConverterOutputStream (GLib.OutputStream base_stream, GLib.Converter converter);
 		public unowned GLib.Converter get_converter ();
 		public GLib.Converter converter { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_credentials_get_type ()", cheader_filename = "gio/gio.h")]
 	public class Credentials : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public Credentials ();
@@ -219,52 +203,56 @@ namespace GLib {
 		public bool is_same_user (GLib.Credentials other_credentials) throws GLib.Error;
 		public void set_native (GLib.CredentialsType native_type, void* native);
 		public bool set_unix_user (uint uid) throws GLib.Error;
-		public unowned string to_string ();
-	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class CredentialsClass {
+		public string to_string ();
 	}
 	[Compact]
-	[CCode (ref_function = "g_dbus_annotation_info_ref", unref_function = "g_dbus_annotation_info_unref", type_id = "G_TYPE_DBUS_ANNOTATION_INFO", cheader_filename = "gio/gio.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "g_dbus_annotation_info_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DBusAnnotationInfo {
 		[CCode (array_length = false, array_null_terminated = true)]
 		public weak GLib.DBusAnnotationInfo[] annotations;
 		public weak string key;
 		public int ref_count;
 		public weak string value;
-		public unowned string lookup (string name);
+		public static unowned string lookup (GLib.DBusAnnotationInfo annotations, string name);
+		public GLib.DBusAnnotationInfo @ref ();
+		public void unref ();
 	}
 	[Compact]
-	[CCode (ref_function = "g_dbus_arg_info_ref", unref_function = "g_dbus_arg_info_unref", type_id = "G_TYPE_DBUS_ARG_INFO", cheader_filename = "gio/gio.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "g_dbus_arg_info_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DBusArgInfo {
 		[CCode (array_length = false, array_null_terminated = true)]
 		public weak GLib.DBusAnnotationInfo[] annotations;
 		public weak string name;
 		public int ref_count;
 		public weak string signature;
+		public GLib.DBusArgInfo @ref ();
+		public void unref ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_dbus_auth_observer_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DBusAuthObserver : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public DBusAuthObserver ();
 		[HasEmitter]
-		public virtual signal bool authorize_authenticated_peer (GLib.IOStream p0, GLib.Credentials p1);
+		public signal bool authorize_authenticated_peer (GLib.IOStream object, GLib.Credentials p0);
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
-	public class DBusConnection : GLib.Object, GLib.Initable, GLib.AsyncInitable {
-		[CCode (type = "void", has_construct_function = false)]
-		public async DBusConnection (GLib.IOStream stream, string guid, GLib.DBusConnectionFlags flags, GLib.DBusAuthObserver? observer = null, GLib.Cancellable? cancellable = null) throws GLib.Error;
+	public class DBusConnection : GLib.Object, GLib.Initable, GLib.AsyncInitable, GLib.AsyncInitable, GLib.Initable {
+		[CCode (has_construct_function = false)]
+		public async DBusConnection (GLib.IOStream stream, string guid, GLib.DBusConnectionFlags flags, GLib.DBusAuthObserver observer, GLib.Cancellable? cancellable = null);
 		public uint add_filter (owned GLib.DBusMessageFilterFunction filter_function);
-		public async GLib.Variant call (string bus_name, string object_path, string interface_name, string method_name, GLib.Variant? parameters, GLib.VariantType? reply_type, GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public GLib.Variant call_sync (string bus_name, string object_path, string interface_name, string method_name, GLib.Variant? parameters, GLib.VariantType reply_type, GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public async GLib.Variant call (string bus_name, string object_path, string interface_name, string method_name, GLib.Variant? parameters, GLib.VariantType? reply_type, GLib.DBusCallFlags flags, int timeout_msec = -1, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public GLib.Variant call_sync (string bus_name, string object_path, string interface_name, string method_name, GLib.Variant? parameters, GLib.VariantType? reply_type, GLib.DBusCallFlags flags, int timeout_msec = -1, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public async bool close (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool close_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public bool emit_signal (string? destination_bus_name, string object_path, string interface_name, string signal_name, GLib.Variant parameters) throws GLib.Error;
+		public bool emit_signal (string? destination_bus_name, string object_path, string interface_name, string signal_name, GLib.Variant? parameters) throws GLib.Error;
+		[CCode (has_construct_function = false)]
+		public DBusConnection.finish (GLib.AsyncResult res) throws GLib.Error;
 		public async bool flush (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool flush_sync (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		[CCode (type = "void", has_construct_function = false)]
-		public async DBusConnection.for_address (string address, GLib.DBusConnectionFlags flags, GLib.DBusAuthObserver? observer = null, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[CCode (has_construct_function = false)]
+		public async DBusConnection.for_address (string address, GLib.DBusConnectionFlags flags, GLib.DBusAuthObserver? observer, GLib.Cancellable? cancellable = null);
+		[CCode (has_construct_function = false)]
+		public DBusConnection.for_address_finish (GLib.AsyncResult res) throws GLib.Error;
 		[CCode (has_construct_function = false)]
 		public DBusConnection.for_address_sync (string address, GLib.DBusConnectionFlags flags, GLib.DBusAuthObserver? observer = null, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public GLib.DBusCapabilityFlags get_capabilities ();
@@ -276,14 +264,14 @@ namespace GLib {
 		public unowned GLib.IOStream get_stream ();
 		public unowned string get_unique_name ();
 		public bool is_closed ();
-		public uint register_object<T> (string object_path, T object) throws GLib.IOError;
-		public uint register_subtree (string object_path, GLib.DBusSubtreeVTable vtable, GLib.DBusSubtreeFlags flags, GLib.DestroyNotify user_data_free_func) throws GLib.Error;
+		public uint register_object (string object_path, GLib.DBusInterfaceInfo interface_info, GLib.DBusInterfaceVTable vtable, void* user_data, GLib.DestroyNotify user_data_free_func) throws GLib.Error;
+		public uint register_subtree (string object_path, GLib.DBusSubtreeVTable vtable, GLib.DBusSubtreeFlags flags, void* user_data, GLib.DestroyNotify user_data_free_func) throws GLib.Error;
 		public void remove_filter (uint filter_id);
-		public bool send_message (GLib.DBusMessage message, GLib.DBusSendMessageFlags flags, out uint32 out_serial) throws GLib.Error;
-		public async GLib.DBusMessage send_message_with_reply (GLib.DBusMessage message, GLib.DBusSendMessageFlags flags, int timeout_msec, out uint32 out_serial, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public GLib.DBusMessage send_message_with_reply_sync (GLib.DBusMessage message, GLib.DBusSendMessageFlags flags, int timeout_msec, out uint32 out_serial, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool send_message (GLib.DBusMessage message, GLib.DBusSendMessageFlags flags, out uint32? out_serial = null) throws GLib.Error;
+		public async GLib.DBusMessage send_message_with_reply (GLib.DBusMessage message, GLib.DBusSendMessageFlags flags, int timeout_msec, out uint32? out_serial = null, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public GLib.DBusMessage send_message_with_reply_sync (GLib.DBusMessage message, GLib.DBusSendMessageFlags flags, int timeout_msec, out uint32? out_serial = null, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public void set_exit_on_close (bool exit_on_close);
-		public uint signal_subscribe (string? sender, string? interface_name, string? member, string? object_path, string? arg0, GLib.DBusSignalFlags flags, owned GLib.DBusSignalCallback callback);
+		public uint signal_subscribe (string? sender, string? interface_name, string? member, string? object_path, string? arg0, GLib.DBusSignalFlags flags, [CCode (delegate_target_pos = 7.1)] owned GLib.DBusSignalCallback callback);
 		public void signal_unsubscribe (uint subscription_id);
 		public void start_message_processing ();
 		[CCode (has_construct_function = false)]
@@ -293,21 +281,16 @@ namespace GLib {
 		public string address { construct; }
 		public GLib.DBusAuthObserver authentication_observer { construct; }
 		public GLib.DBusCapabilityFlags capabilities { get; }
+		[NoAccessorMethod]
+		public bool closed { get; }
 		public bool exit_on_close { get; set; }
 		public GLib.DBusConnectionFlags flags { construct; }
 		public string guid { get; construct; }
 		public GLib.IOStream stream { get; construct; }
 		public string unique_name { get; }
-		public virtual signal void closed (bool p0, GLib.Error p1);
 	}
 	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class DBusErrorEntry {
-		public weak string dbus_error_name;
-		public int error_code;
-	}
-	[Compact]
-	[CCode (ref_function = "g_dbus_interface_info_ref", unref_function = "g_dbus_interface_info_unref", type_id = "G_TYPE_DBUS_INTERFACE_INFO", cheader_filename = "gio/gio.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "g_dbus_interface_info_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DBusInterfaceInfo {
 		[CCode (array_length = false, array_null_terminated = true)]
 		public weak GLib.DBusAnnotationInfo[] annotations;
@@ -319,55 +302,30 @@ namespace GLib {
 		public int ref_count;
 		[CCode (array_length = false, array_null_terminated = true)]
 		public weak GLib.DBusSignalInfo[] signals;
-		public void cache_build ();
-		public void cache_release ();
 		public void generate_xml (uint indent, GLib.StringBuilder string_builder);
-		public unowned GLib.DBusMethodInfo lookup_method (string name);
-		public unowned GLib.DBusPropertyInfo lookup_property (string name);
-		public unowned GLib.DBusSignalInfo lookup_signal (string name);
+		public GLib.DBusMethodInfo lookup_method (string name);
+		public GLib.DBusPropertyInfo lookup_property (string name);
+		public GLib.DBusSignalInfo lookup_signal (string name);
+		public GLib.DBusInterfaceInfo @ref ();
+		public void unref ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class DBusInterfaceSkeleton : GLib.Object, GLib.DBusInterface {
-		[CCode (has_construct_function = false)]
-		protected DBusInterfaceSkeleton ();
-		public bool export (GLib.DBusConnection connection, string object_path) throws GLib.Error;
-		public virtual void flush ();
-		public unowned GLib.DBusConnection get_connection ();
-		public GLib.DBusInterfaceSkeletonFlags get_flags ();
-		public virtual unowned GLib.DBusInterfaceInfo get_info ();
-		public unowned string get_object_path ();
-		public virtual unowned GLib.Variant get_properties ();
-		public virtual unowned GLib.DBusInterfaceVTable get_vtable ();
-		public void set_flags (GLib.DBusInterfaceSkeletonFlags flags);
-		public void unexport ();
-		[NoAccessorMethod]
-		public GLib.DBusInterfaceSkeletonFlags g_flags { get; set; }
-		public virtual signal bool g_authorize_method (GLib.DBusMethodInvocation invocation);
-	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class DBusInterfaceVTable {
-		public weak GLib.DBusInterfaceGetPropertyFunc get_property;
-		public weak GLib.DBusInterfaceMethodCallFunc method_call;
-		public void* padding;
-		public weak GLib.DBusInterfaceSetPropertyFunc set_property;
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_dbus_message_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DBusMessage : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public DBusMessage ();
-		public static ssize_t bytes_needed (uchar[] blob, size_t blob_len) throws GLib.Error;
-		public unowned GLib.DBusMessage copy () throws GLib.Error;
+		public static ssize_t bytes_needed ([CCode (type = "guchar*", array_length_type = "gsize", array_length_cname = "blob_len")] uint8[] blob) throws GLib.Error;
+		public GLib.DBusMessage copy () throws GLib.Error;
 		[CCode (has_construct_function = false)]
-		public DBusMessage.from_blob (uchar[] blob, size_t blob_len, GLib.DBusCapabilityFlags capabilities) throws GLib.Error;
+		public DBusMessage.from_blob ([CCode (type = "guchar*", array_length_type = "gsize", array_length_cname = "blob_len", array_length_pos = 1.5)] uint8[] blob, GLib.DBusCapabilityFlags capabilities) throws GLib.Error;
 		public unowned string get_arg0 ();
-		public unowned GLib.Variant get_body ();
+		public GLib.Variant get_body ();
 		public GLib.DBusMessageByteOrder get_byte_order ();
 		public unowned string get_destination ();
 		public unowned string get_error_name ();
 		public GLib.DBusMessageFlags get_flags ();
-		public unowned GLib.Variant get_header (GLib.DBusMessageHeaderField header_field);
-		public unowned uchar[] get_header_fields ();
+		public GLib.Variant get_header (GLib.DBusMessageHeaderField header_field);
+		[CCode (array_length = false)]
+		public unowned uint8[] get_header_fields ();
 		public unowned string get_interface ();
 		public bool get_locked ();
 		public unowned string get_member ();
@@ -382,15 +340,9 @@ namespace GLib {
 		public void @lock ();
 		[CCode (has_construct_function = false)]
 		public DBusMessage.method_call (string name, string path, string interface_, string method);
-		[CCode (has_construct_function = false)]
-		public DBusMessage.method_error (GLib.DBusMessage method_call_message, string error_name, string error_message_format);
-		[CCode (has_construct_function = false)]
-		public DBusMessage.method_error_literal (GLib.DBusMessage method_call_message, string error_name, string error_message);
-		[CCode (has_construct_function = false)]
-		public DBusMessage.method_error_valist (GLib.DBusMessage method_call_message, string error_name, string error_message_format, void* var_args);
-		[CCode (has_construct_function = false)]
-		public DBusMessage.method_reply (GLib.DBusMessage method_call_message);
-		public unowned string print (uint indent = 0);
+		public GLib.DBusMessage new_method_error_literal (string error_name, string error_message);
+		public GLib.DBusMessage new_method_reply ();
+		public string print (uint indent);
 		public void set_body (GLib.Variant body);
 		public void set_byte_order (GLib.DBusMessageByteOrder byte_order);
 		public void set_destination (string value);
@@ -406,15 +358,16 @@ namespace GLib {
 		public void set_sender (string value);
 		public void set_serial (uint32 serial);
 		public void set_signature (string value);
-		public void set_unix_fd_list (GLib.UnixFDList fd_list);
+		public void set_unix_fd_list (GLib.UnixFDList? fd_list);
 		[CCode (has_construct_function = false)]
 		public DBusMessage  signal (string path, string interface_, string @signal);
-		public unowned uchar[] to_blob (size_t out_size, GLib.DBusCapabilityFlags capabilities) throws GLib.Error;
+		[CCode (array_length_pos = 0.5, array_length_type = "gsize")]
+		public unowned uint8[] to_blob (GLib.DBusCapabilityFlags capabilities) throws GLib.Error;
 		public bool to_gerror () throws GLib.Error;
 		public bool locked { get; }
 	}
 	[Compact]
-	[CCode (ref_function = "g_dbus_method_info_ref", unref_function = "g_dbus_method_info_unref", type_id = "G_TYPE_DBUS_METHOD_INFO", cheader_filename = "gio/gio.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "g_dbus_method_info_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DBusMethodInfo {
 		[CCode (array_length = false, array_null_terminated = true)]
 		public weak GLib.DBusAnnotationInfo[] annotations;
@@ -424,8 +377,10 @@ namespace GLib {
 		[CCode (array_length = false, array_null_terminated = true)]
 		public weak GLib.DBusArgInfo[] out_args;
 		public int ref_count;
+		public GLib.DBusMethodInfo @ref ();
+		public void unref ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_dbus_method_invocation_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DBusMethodInvocation : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected DBusMethodInvocation ();
@@ -435,19 +390,15 @@ namespace GLib {
 		public unowned GLib.DBusMethodInfo get_method_info ();
 		public unowned string get_method_name ();
 		public unowned string get_object_path ();
-		public unowned GLib.Variant get_parameters ();
+		public GLib.Variant get_parameters ();
 		public unowned string get_sender ();
-		public void* get_user_data ();
 		public void return_dbus_error (string error_name, string error_message);
-		public void return_error (GLib.Quark domain, int code, string format);
 		public void return_error_literal (GLib.Quark domain, int code, string message);
-		public void return_error_valist (GLib.Quark domain, int code, string format, void* var_args);
 		public void return_gerror (GLib.Error error);
 		public void return_value (GLib.Variant parameters);
-		public void take_error (GLib.Error error);
 	}
 	[Compact]
-	[CCode (ref_function = "g_dbus_node_info_ref", unref_function = "g_dbus_node_info_unref", type_id = "G_TYPE_DBUS_NODE_INFO", cheader_filename = "gio/gio.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "g_dbus_node_info_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DBusNodeInfo {
 		[CCode (array_length = false, array_null_terminated = true)]
 		public weak GLib.DBusAnnotationInfo[] annotations;
@@ -460,79 +411,12 @@ namespace GLib {
 		[CCode (has_construct_function = false)]
 		public DBusNodeInfo.for_xml (string xml_data) throws GLib.Error;
 		public void generate_xml (uint indent, GLib.StringBuilder string_builder);
-		public unowned GLib.DBusInterfaceInfo lookup_interface (string name);
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class DBusObjectManagerClient : GLib.Object, GLib.Initable, GLib.AsyncInitable, GLib.DBusObjectManager {
-		[CCode (type = "void", has_construct_function = false)]
-		public DBusObjectManagerClient (GLib.DBusConnection connection, GLib.DBusObjectManagerClientFlags flags, string name, string object_path, GLib.DBusProxyTypeFunc get_proxy_type_func, void* get_proxy_type_user_data, GLib.DestroyNotify get_proxy_type_destroy_notify, GLib.Cancellable? cancellable = null, GLib.AsyncReadyCallback callback);
-		[CCode (type = "GDBusObjectManager*", has_construct_function = false)]
-		public DBusObjectManagerClient.finish (GLib.AsyncResult res) throws GLib.Error;
-		[CCode (type = "void", has_construct_function = false)]
-		public DBusObjectManagerClient.for_bus (GLib.BusType bus_type, GLib.DBusObjectManagerClientFlags flags, string name, string object_path, GLib.DBusProxyTypeFunc get_proxy_type_func, void* get_proxy_type_user_data, GLib.DestroyNotify get_proxy_type_destroy_notify, GLib.Cancellable? cancellable = null, GLib.AsyncReadyCallback callback);
-		[CCode (type = "GDBusObjectManager*", has_construct_function = false)]
-		public DBusObjectManagerClient.for_bus_finish (GLib.AsyncResult res) throws GLib.Error;
-		[CCode (type = "GDBusObjectManager*", has_construct_function = false)]
-		public DBusObjectManagerClient.for_bus_sync (GLib.BusType bus_type, GLib.DBusObjectManagerClientFlags flags, string name, string object_path, GLib.DBusProxyTypeFunc get_proxy_type_func, void* get_proxy_type_user_data, GLib.DestroyNotify get_proxy_type_destroy_notify, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public unowned GLib.DBusConnection get_connection ();
-		public GLib.DBusObjectManagerClientFlags get_flags ();
-		public unowned string get_name ();
-		public unowned string get_name_owner ();
-		[CCode (type = "GDBusObjectManager*", has_construct_function = false)]
-		public DBusObjectManagerClient.sync (GLib.DBusConnection connection, GLib.DBusObjectManagerClientFlags flags, string name, string object_path, GLib.DBusProxyTypeFunc get_proxy_type_func, void* get_proxy_type_user_data, GLib.DestroyNotify get_proxy_type_destroy_notify, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public GLib.BusType bus_type { construct; }
-		public GLib.DBusConnection connection { get; construct; }
-		public GLib.DBusObjectManagerClientFlags flags { get; construct; }
-		[NoAccessorMethod]
-		public void* get_proxy_type_destroy_notify { get; construct; }
-		[NoAccessorMethod]
-		public void* get_proxy_type_func { get; construct; }
-		[NoAccessorMethod]
-		public void* get_proxy_type_user_data { get; construct; }
-		public string name { get; construct; }
-		public string name_owner { get; }
-		[NoAccessorMethod]
-		public string object_path { owned get; construct; }
-		public virtual signal void interface_proxy_properties_changed (GLib.DBusObjectProxy object_proxy, GLib.DBusProxy interface_proxy, GLib.Variant changed_properties, string[] invalidated_properties);
-		public virtual signal void interface_proxy_signal (GLib.DBusObjectProxy object_proxy, GLib.DBusProxy interface_proxy, string sender_name, string signal_name, GLib.Variant parameters);
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class DBusObjectManagerServer : GLib.Object, GLib.DBusObjectManager {
-		[CCode (has_construct_function = false)]
-		public DBusObjectManagerServer (string object_path);
-		public void export (GLib.DBusObjectSkeleton object);
-		public void export_uniquely (GLib.DBusObjectSkeleton object);
-		public unowned GLib.DBusConnection get_connection ();
-		public void set_connection (GLib.DBusConnection connection);
-		public bool unexport (string object_path);
-		public GLib.DBusConnection connection { get; set; }
-		[NoAccessorMethod]
-		public string object_path { owned get; construct; }
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class DBusObjectProxy : GLib.Object, GLib.DBusObject {
-		[CCode (has_construct_function = false)]
-		public DBusObjectProxy (GLib.DBusConnection connection, string object_path);
-		public unowned GLib.DBusConnection get_connection ();
-		public GLib.DBusConnection connection { get; construct; }
-		[NoAccessorMethod]
-		public string object_path { owned get; construct; }
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class DBusObjectSkeleton : GLib.Object, GLib.DBusObject {
-		[CCode (has_construct_function = false)]
-		public DBusObjectSkeleton (string object_path);
-		public void add_interface (GLib.DBusInterfaceSkeleton interface_);
-		public void flush ();
-		public void remove_interface (GLib.DBusInterfaceSkeleton interface_);
-		public void remove_interface_by_name (string interface_name);
-		public void set_object_path (string object_path);
-		[NoAccessorMethod]
-		public string object_path { owned get; set construct; }
-		public virtual signal bool authorize_method (GLib.DBusInterfaceSkeleton interface_, GLib.DBusMethodInvocation invocation);
+		public GLib.DBusInterfaceInfo lookup_interface (string name);
+		public GLib.DBusNodeInfo @ref ();
+		public void unref ();
 	}
 	[Compact]
-	[CCode (ref_function = "g_dbus_property_info_ref", unref_function = "g_dbus_property_info_unref", type_id = "G_TYPE_DBUS_PROPERTY_INFO", cheader_filename = "gio/gio.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "g_dbus_property_info_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DBusPropertyInfo {
 		[CCode (array_length = false, array_null_terminated = true)]
 		public weak GLib.DBusAnnotationInfo[] annotations;
@@ -540,32 +424,37 @@ namespace GLib {
 		public weak string name;
 		public int ref_count;
 		public weak string signature;
+		public GLib.DBusPropertyInfo @ref ();
+		public void unref ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class DBusProxy : GLib.Object, GLib.DBusInterface, GLib.Initable, GLib.AsyncInitable {
-		[CCode (type = "void", has_construct_function = false)]
-		public async DBusProxy (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public async GLib.Variant call (string method_name, GLib.Variant? parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public GLib.Variant call_sync (string method_name, GLib.Variant? parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		[CCode (type = "void", has_construct_function = false)]
-		public async DBusProxy.for_bus (GLib.BusType bus_type, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.Error;
+	[CCode (type_id = "g_dbus_proxy_get_type ()", cheader_filename = "gio/gio.h")]
+	public class DBusProxy : GLib.Object, GLib.AsyncInitable, GLib.Initable {
+		[CCode (has_construct_function = false)]
+		public async DBusProxy (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null);
+		public async GLib.Variant call (string method_name, GLib.Variant parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public GLib.Variant call_sync (string method_name, GLib.Variant parameters, GLib.DBusCallFlags flags, int timeout_msec, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[CCode (has_construct_function = false)]
+		public DBusProxy.finish (GLib.AsyncResult res) throws GLib.Error;
 		[CCode (has_construct_function = false)]
-		public DBusProxy.for_bus_sync (GLib.BusType bus_type, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public unowned GLib.Variant get_cached_property (string property_name);
-		public unowned string get_cached_property_names ();
+		public async DBusProxy.for_bus (GLib.BusType bus_type, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null);
+		[CCode (has_construct_function = false)]
+		public DBusProxy.for_bus_finish (GLib.AsyncResult res) throws GLib.Error;
+		[CCode (has_construct_function = false)]
+		public DBusProxy.for_bus_sync (GLib.BusType bus_type, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public GLib.Variant get_cached_property (string property_name);
 		public unowned GLib.DBusConnection get_connection ();
 		public int get_default_timeout ();
 		public GLib.DBusProxyFlags get_flags ();
-		public unowned GLib.DBusInterfaceInfo get_interface_info ();
+		public GLib.DBusInterfaceInfo get_interface_info ();
 		public unowned string get_interface_name ();
 		public unowned string get_name ();
-		public unowned string get_name_owner ();
+		public string get_name_owner ();
 		public unowned string get_object_path ();
 		public void set_cached_property (string property_name, GLib.Variant value);
 		public void set_default_timeout (int timeout_msec);
 		public void set_interface_info (GLib.DBusInterfaceInfo info);
 		[CCode (has_construct_function = false)]
-		public DBusProxy.sync (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public DBusProxy.sync (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, GLib.DBusInterfaceInfo? info, string? name, string object_path, string interface_name, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public GLib.BusType g_bus_type { construct; }
 		[NoAccessorMethod]
 		public GLib.DBusConnection g_connection { owned get; construct; }
@@ -586,7 +475,7 @@ namespace GLib {
 		public virtual signal void g_properties_changed (GLib.Variant changed_properties, [CCode (array_length = false, array_null_terminated = true)] string[] invalidated_properties);
 		public virtual signal void g_signal (string sender_name, string signal_name, GLib.Variant parameters);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_dbus_server_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DBusServer : GLib.Object, GLib.Initable {
 		[CCode (has_construct_function = false)]
 		protected DBusServer ();
@@ -607,10 +496,10 @@ namespace GLib {
 		public string client_address { get; }
 		public GLib.DBusServerFlags flags { get; construct; }
 		public string guid { get; construct; }
-		public virtual signal bool new_connection (GLib.DBusConnection p0);
+		public signal bool new_connection (GLib.DBusConnection object);
 	}
 	[Compact]
-	[CCode (ref_function = "g_dbus_signal_info_ref", unref_function = "g_dbus_signal_info_unref", type_id = "G_TYPE_DBUS_SIGNAL_INFO", cheader_filename = "gio/gio.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "g_dbus_signal_info_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DBusSignalInfo {
 		[CCode (array_length = false, array_null_terminated = true)]
 		public weak GLib.DBusAnnotationInfo[] annotations;
@@ -618,82 +507,80 @@ namespace GLib {
 		public weak GLib.DBusArgInfo[] args;
 		public weak string name;
 		public int ref_count;
+		public GLib.DBusSignalInfo @ref ();
+		public void unref ();
 	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class DBusSubtreeVTable {
-		public weak GLib.DBusSubtreeDispatchFunc dispatch;
-		public weak GLib.DBusSubtreeEnumerateFunc enumerate;
-		public weak GLib.DBusSubtreeIntrospectFunc introspect;
-		public void* padding;
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_data_input_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DataInputStream : GLib.BufferedInputStream {
 		[CCode (has_construct_function = false)]
 		public DataInputStream (GLib.InputStream base_stream);
 		public GLib.DataStreamByteOrder get_byte_order ();
 		public GLib.DataStreamNewlineType get_newline_type ();
-		public uchar read_byte (GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public int16 read_int16 (GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public int32 read_int32 (GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public int64 read_int64 (GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public string? read_line (out size_t length, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public async string? read_line_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, out size_t length = null) throws GLib.IOError;
-		public unowned string read_line_finish_utf8 (GLib.AsyncResult _result, size_t length) throws GLib.Error;
-		public unowned string read_line_utf8 (size_t length, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public uint16 read_uint16 (GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public uint32 read_uint32 (GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public uint64 read_uint64 (GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public string? read_until (string stop_chars, out size_t length, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public async string? read_until_async (string stop_chars, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, out size_t? length = null) throws GLib.IOError;
-		public string? read_upto (string stop_chars, ssize_t stop_chars_len, out size_t length, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public async string? read_upto_async (string stop_chars, ssize_t stop_chars_len, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, out size_t? length = null) throws GLib.IOError;
+		public uint8 read_byte (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public int16 read_int16 (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public int32 read_int32 (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public int64 read_int64 (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public string read_line (size_t length, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public async string read_line_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public uint16 read_uint16 (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public uint32 read_uint32 (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public uint64 read_uint64 (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public string read_until (string stop_chars, size_t length, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public async string read_until_async (string stop_chars, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public string read_upto (string stop_chars, ssize_t stop_chars_len, size_t length, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public async string read_upto_async (string stop_chars, ssize_t stop_chars_len, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public void set_byte_order (GLib.DataStreamByteOrder order);
 		public void set_newline_type (GLib.DataStreamNewlineType type);
 		public GLib.DataStreamByteOrder byte_order { get; set; }
 		public GLib.DataStreamNewlineType newline_type { get; set; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_data_output_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class DataOutputStream : GLib.FilterOutputStream {
 		[CCode (has_construct_function = false)]
 		public DataOutputStream (GLib.OutputStream base_stream);
 		public GLib.DataStreamByteOrder get_byte_order ();
-		public bool put_byte (uchar data, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public bool put_int16 (int16 data, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public bool put_int32 (int32 data, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public bool put_int64 (int64 data, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public bool put_string (string str, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public bool put_uint16 (uint16 data, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public bool put_uint32 (uint32 data, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public bool put_uint64 (uint64 data, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public bool put_byte (uint8 data, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool put_int16 (int16 data, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool put_int32 (int32 data, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool put_int64 (int64 data, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool put_string (string str, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool put_uint16 (uint16 data, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool put_uint32 (uint32 data, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool put_uint64 (uint64 data, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public void set_byte_order (GLib.DataStreamByteOrder order);
 		public GLib.DataStreamByteOrder byte_order { get; set; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_desktop_app_info_get_type ()", cheader_filename = "gio/gio.h")]
+	public class DesktopAppInfo : GLib.Object, GLib.AppInfo {
+		[CCode (has_construct_function = false)]
+		public DesktopAppInfo (string desktop_id);
+		[CCode (has_construct_function = false)]
+		public DesktopAppInfo.from_filename (string filename);
+		[CCode (has_construct_function = false)]
+		public DesktopAppInfo.from_keyfile (GLib.KeyFile key_file);
+		public unowned string get_filename ();
+		public bool get_is_hidden ();
+		public static void set_desktop_env (string desktop_env);
+	}
+	[CCode (type_id = "g_emblem_get_type ()", cheader_filename = "gio/gio.h")]
 	public class Emblem : GLib.Object, GLib.Icon {
 		[CCode (has_construct_function = false)]
 		public Emblem (GLib.Icon icon);
-		public unowned GLib.Icon get_icon ();
+		public GLib.Icon get_icon ();
 		public GLib.EmblemOrigin get_origin ();
 		[CCode (has_construct_function = false)]
 		public Emblem.with_origin (GLib.Icon icon, GLib.EmblemOrigin origin);
-		public GLib.Object icon { get; construct; }
+		public GLib.Object icon { owned get; construct; }
 		public GLib.EmblemOrigin origin { get; construct; }
 	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class EmblemClass {
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_emblemed_icon_get_type ()", cheader_filename = "gio/gio.h")]
 	public class EmblemedIcon : GLib.Object, GLib.Icon {
-		[CCode (type = "GIcon*", has_construct_function = false)]
-		public EmblemedIcon (GLib.Icon icon, GLib.Emblem emblem);
+		[CCode (has_construct_function = false)]
+		protected EmblemedIcon ();
 		public void add_emblem (GLib.Emblem emblem);
-		public void clear_emblems ();
-		public unowned GLib.List<GLib.Emblem> get_emblems ();
-		public unowned GLib.Icon get_icon ();
-		[NoAccessorMethod]
-		public GLib.Icon gicon { owned get; construct; }
+		public unowned GLib.List<string> get_emblems ();
+		public GLib.Icon get_icon ();
+		public static GLib.Icon @new (GLib.Icon icon, GLib.Emblem emblem);
 	}
 	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
@@ -703,18 +590,20 @@ namespace GLib {
 		public GLib.FileAttributeType type;
 	}
 	[Compact]
-	[CCode (ref_function = "g_file_attribute_info_list_ref", unref_function = "g_file_attribute_info_list_unref", type_id = "G_TYPE_FILE_ATTRIBUTE_INFO_LIST", cheader_filename = "gio/gio.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "g_file_attribute_info_list_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FileAttributeInfoList {
 		public weak GLib.FileAttributeInfo infos;
 		public int n_infos;
 		[CCode (has_construct_function = false)]
 		public FileAttributeInfoList ();
 		public void add (string name, GLib.FileAttributeType type, GLib.FileAttributeInfoFlags flags);
-		public unowned GLib.FileAttributeInfoList dup ();
+		public GLib.FileAttributeInfoList dup ();
 		public unowned GLib.FileAttributeInfo lookup (string name);
+		public GLib.FileAttributeInfoList @ref ();
+		public void unref ();
 	}
 	[Compact]
-	[CCode (ref_function = "g_file_attribute_matcher_ref", unref_function = "g_file_attribute_matcher_unref", type_id = "G_TYPE_FILE_ATTRIBUTE_MATCHER", cheader_filename = "gio/gio.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "g_file_attribute_matcher_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FileAttributeMatcher {
 		[CCode (has_construct_function = false)]
 		public FileAttributeMatcher (string attributes);
@@ -722,8 +611,10 @@ namespace GLib {
 		public unowned string enumerate_next ();
 		public bool matches (string attribute);
 		public bool matches_only (string attribute);
+		public GLib.FileAttributeMatcher @ref ();
+		public void unref ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_file_enumerator_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FileEnumerator : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected FileEnumerator ();
@@ -731,7 +622,7 @@ namespace GLib {
 		public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[NoWrapper]
 		public virtual bool close_fn (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public unowned GLib.File get_container ();
+		public GLib.File get_container ();
 		public bool has_pending ();
 		public bool is_closed ();
 		public virtual GLib.FileInfo next_file (GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -739,7 +630,7 @@ namespace GLib {
 		public void set_pending (bool pending);
 		public GLib.File container { construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_file_io_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FileIOStream : GLib.IOStream, GLib.Seekable {
 		[CCode (has_construct_function = false)]
 		protected FileIOStream ();
@@ -747,9 +638,9 @@ namespace GLib {
 		public virtual bool can_seek ();
 		[NoWrapper]
 		public virtual bool can_truncate ();
-		public virtual unowned string get_etag ();
-		public virtual unowned GLib.FileInfo query_info (string attributes, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public virtual async unowned GLib.FileInfo query_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual string get_etag ();
+		public virtual GLib.FileInfo query_info (string attributes, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async GLib.FileInfo query_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[NoWrapper]
 		public virtual bool seek (int64 offset, GLib.SeekType type, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[NoWrapper]
@@ -757,34 +648,31 @@ namespace GLib {
 		[NoWrapper]
 		public virtual bool truncate_fn (int64 size, GLib.Cancellable? cancellable = null) throws GLib.Error;
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_file_icon_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FileIcon : GLib.Object, GLib.Icon, GLib.LoadableIcon {
-		[CCode (type = "GIcon*", has_construct_function = false)]
-		public FileIcon (GLib.File file);
+		[CCode (has_construct_function = false)]
+		protected FileIcon ();
 		public unowned GLib.File get_file ();
 		public GLib.File file { get; construct; }
 	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class FileIconClass {
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_file_info_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FileInfo : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public FileInfo ();
 		public void clear_status ();
 		public void copy_into (GLib.FileInfo dest_info);
-		public unowned GLib.FileInfo dup ();
-		public unowned string get_attribute_as_string (string attribute);
+		public GLib.FileInfo dup ();
+		public string get_attribute_as_string (string attribute);
 		public bool get_attribute_boolean (string attribute);
 		public unowned string get_attribute_byte_string (string attribute);
-		public bool get_attribute_data (string attribute, GLib.FileAttributeType? type, void* value_pp, GLib.FileAttributeStatus? status);
+		public bool get_attribute_data (string attribute, out GLib.FileAttributeType type, out void* value_pp, out GLib.FileAttributeStatus status);
 		public int32 get_attribute_int32 (string attribute);
 		public int64 get_attribute_int64 (string attribute);
 		public unowned GLib.Object get_attribute_object (string attribute);
 		public GLib.FileAttributeStatus get_attribute_status (string attribute);
 		public unowned string get_attribute_string (string attribute);
-		public unowned string get_attribute_stringv (string attribute);
+		[CCode (array_length = false, array_null_terminated = true)]
+		public unowned string[] get_attribute_stringv (string attribute);
 		public GLib.FileAttributeType get_attribute_type (string attribute);
 		public uint32 get_attribute_uint32 (string attribute);
 		public uint64 get_attribute_uint64 (string attribute);
@@ -797,14 +685,15 @@ namespace GLib {
 		public bool get_is_backup ();
 		public bool get_is_hidden ();
 		public bool get_is_symlink ();
-		public void get_modification_time (out GLib.TimeVal _result);
+		public GLib.TimeVal get_modification_time ();
 		public unowned string get_name ();
 		public int64 get_size ();
 		public int32 get_sort_order ();
 		public unowned string get_symlink_target ();
 		public bool has_attribute (string attribute);
 		public bool has_namespace (string name_space);
-		public unowned string list_attributes (string name_space);
+		[CCode (array_length = false, array_null_terminated = true)]
+		public string[] list_attributes (string name_space);
 		public void remove_attribute (string attribute);
 		public void set_attribute (string attribute, GLib.FileAttributeType type, void* value_p);
 		public void set_attribute_boolean (string attribute, bool attr_value);
@@ -815,7 +704,7 @@ namespace GLib {
 		public void set_attribute_object (string attribute, GLib.Object attr_value);
 		public bool set_attribute_status (string attribute, GLib.FileAttributeStatus status);
 		public void set_attribute_string (string attribute, string attr_value);
-		public void set_attribute_stringv (string attribute, out unowned string attr_value);
+		public void set_attribute_stringv (string attribute, [CCode (type = "char**", array_length = false)] string[] attr_value);
 		public void set_attribute_uint32 (string attribute, uint32 attr_value);
 		public void set_attribute_uint64 (string attribute, uint64 attr_value);
 		public void set_content_type (string content_type);
@@ -832,24 +721,20 @@ namespace GLib {
 		public void set_symlink_target (string symlink_target);
 		public void unset_attribute_mask ();
 	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class FileInfoClass {
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_file_input_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FileInputStream : GLib.InputStream, GLib.Seekable {
 		[CCode (has_construct_function = false)]
 		protected FileInputStream ();
 		[NoWrapper]
 		public virtual bool can_seek ();
-		public virtual unowned GLib.FileInfo query_info (string attributes, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public virtual async unowned GLib.FileInfo query_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual GLib.FileInfo query_info (string attributes, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async GLib.FileInfo query_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[NoWrapper]
 		public virtual bool seek (int64 offset, GLib.SeekType type, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[NoWrapper]
 		public virtual int64 tell ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_file_monitor_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FileMonitor : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected FileMonitor ();
@@ -861,9 +746,9 @@ namespace GLib {
 		public bool cancelled { get; }
 		[NoAccessorMethod]
 		public int rate_limit { get; set; }
-		public virtual signal void changed (GLib.File file, GLib.File? other_file, GLib.FileMonitorEvent event_type);
+		public virtual signal void changed (GLib.File file, GLib.File other_file, GLib.FileMonitorEvent event_type);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_file_output_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FileOutputStream : GLib.OutputStream, GLib.Seekable {
 		[CCode (has_construct_function = false)]
 		protected FileOutputStream ();
@@ -871,9 +756,9 @@ namespace GLib {
 		public virtual bool can_seek ();
 		[NoWrapper]
 		public virtual bool can_truncate ();
-		public virtual unowned string get_etag ();
-		public virtual unowned GLib.FileInfo query_info (string attributes, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public virtual async unowned GLib.FileInfo query_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual string get_etag ();
+		public virtual GLib.FileInfo query_info (string attributes, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async GLib.FileInfo query_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[NoWrapper]
 		public virtual bool seek (int64 offset, GLib.SeekType type, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[NoWrapper]
@@ -881,16 +766,17 @@ namespace GLib {
 		[NoWrapper]
 		public virtual bool truncate_fn (int64 size, GLib.Cancellable? cancellable = null) throws GLib.Error;
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_filename_completer_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FilenameCompleter : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public FilenameCompleter ();
-		public unowned string get_completion_suffix (string initial_text);
-		public unowned string get_completions (string initial_text);
+		public string get_completion_suffix (string initial_text);
+		[CCode (array_length = false, array_null_terminated = true)]
+		public string[] get_completions (string initial_text);
 		public void set_dirs_only (bool dirs_only);
 		public virtual signal void got_completion_data ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_filter_input_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FilterInputStream : GLib.InputStream {
 		[CCode (has_construct_function = false)]
 		protected FilterInputStream ();
@@ -898,9 +784,9 @@ namespace GLib {
 		public bool get_close_base_stream ();
 		public void set_close_base_stream (bool close_base);
 		public GLib.InputStream base_stream { get; construct; }
-		public bool close_base_stream { get; set construct; }
+		public bool close_base_stream { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_filter_output_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class FilterOutputStream : GLib.OutputStream {
 		[CCode (has_construct_function = false)]
 		protected FilterOutputStream ();
@@ -913,10 +799,11 @@ namespace GLib {
 	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
 	public class IOExtension {
+		[CCode (has_construct_function = false)]
+		protected IOExtension ();
 		public unowned string get_name ();
 		public int get_priority ();
 		public GLib.Type get_type ();
-		public unowned GLib.TypeClass ref_class ();
 	}
 	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
@@ -924,36 +811,30 @@ namespace GLib {
 		public unowned GLib.IOExtension get_extension_by_name (string name);
 		public unowned GLib.List<GLib.IOExtension> get_extensions ();
 		public GLib.Type get_required_type ();
-		public static unowned GLib.IOExtension implement (string extension_point_name, GLib.Type type, string extension_name, int priority);
-		public static unowned GLib.IOExtensionPoint lookup (string name);
-		public static unowned GLib.IOExtensionPoint register (string name);
 		public void set_required_type (GLib.Type type);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_io_module_get_type ()", cheader_filename = "gio/gio.h")]
 	public class IOModule : GLib.TypeModule, GLib.TypePlugin {
 		[CCode (has_construct_function = false)]
 		public IOModule (string filename);
 		public void load ();
-		public static unowned string query ();
+		[CCode (array_length = false, array_null_terminated = true)]
+		public static string[] query ();
 		public void unload ();
 	}
 	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
-	public class IOModuleClass {
-	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
 	public class IOSchedulerJob {
 		public bool send_to_mainloop (owned GLib.SourceFunc func);
 		public void send_to_mainloop_async (owned GLib.SourceFunc func);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_io_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class IOStream : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected IOStream ();
 		public void clear_pending ();
-		public bool close (GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public bool close (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[NoWrapper]
 		public virtual bool close_fn (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public virtual unowned GLib.InputStream get_input_stream ();
@@ -961,27 +842,23 @@ namespace GLib {
 		public bool has_pending ();
 		public bool is_closed ();
 		public bool set_pending () throws GLib.Error;
-		public async bool splice_async (GLib.IOStream stream2, GLib.IOStreamSpliceFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[NoAccessorMethod]
 		public bool closed { get; set; }
-		public GLib.InputStream input_stream { get; }
-		public GLib.OutputStream output_stream { get; }
-	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class IOStreamAdapter {
+		[NoAccessorMethod]
+		public GLib.InputStream input_stream { owned get; }
+		[NoAccessorMethod]
+		public GLib.OutputStream output_stream { owned get; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_inet_address_get_type ()", cheader_filename = "gio/gio.h")]
 	public class InetAddress : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected InetAddress ();
 		[CCode (has_construct_function = false)]
 		public InetAddress.any (GLib.SocketFamily family);
-		public bool equal (GLib.InetAddress other_address);
 		[CCode (has_construct_function = false)]
-		public InetAddress.from_bytes ([CCode (array_length = false)] uint8[] bytes, GLib.SocketFamily family);
+		public InetAddress.from_bytes ([CCode (type = "guint8*", array_length = false)] uint8[] bytes, GLib.SocketFamily family);
 		[CCode (has_construct_function = false)]
-		public InetAddress.from_string (string str);
+		public InetAddress.from_string (string string);
 		public GLib.SocketFamily get_family ();
 		public bool get_is_any ();
 		public bool get_is_link_local ();
@@ -1013,58 +890,51 @@ namespace GLib {
 		public bool is_multicast { get; }
 		public bool is_site_local { get; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_inet_socket_address_get_type ()", cheader_filename = "gio/gio.h")]
 	public class InetSocketAddress : GLib.SocketAddress, GLib.SocketConnectable {
 		[CCode (type = "GSocketAddress*", has_construct_function = false)]
 		public InetSocketAddress (GLib.InetAddress address, uint16 port);
-		public unowned GLib.InetAddress get_address ();
+		public GLib.InetAddress get_address ();
 		public uint16 get_port ();
-		public GLib.InetAddress address { get; construct; }
+		public GLib.InetAddress address { owned get; construct; }
 		public uint port { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_input_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class InputStream : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected InputStream ();
 		public void clear_pending ();
-		public bool close (GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public bool close (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[NoWrapper]
 		public virtual bool close_fn (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool has_pending ();
 		public bool is_closed ();
 		[CCode (vfunc_name = "read_fn")]
-		public virtual ssize_t read ([CCode (array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public bool read_all ([CCode (array_length_type = "gsize")] uint8[] buffer, out size_t bytes_read, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public virtual async ssize_t read_async ([CCode (array_length_type = "gsize")] uint8[] buffer, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public virtual ssize_t read ([CCode (type = "void*", array_length_type = "gsize", array_length_cname = "count", array_length_pos = 1.5)] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool read_all ([CCode (type = "void*", array_length_type = "gsize", array_length_cname = "count", array_length_pos = 1.5)] uint8[] buffer, out size_t bytes_read, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async ssize_t read_async ([CCode (type = "void*", array_length_type = "gsize", array_length_cname = "count", array_length_pos = 1.5)] uint8[] buffer, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool set_pending () throws GLib.Error;
-		public virtual ssize_t skip (size_t count, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public virtual async ssize_t skip_async (size_t count, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public virtual ssize_t skip (size_t count, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async ssize_t skip_async (size_t count, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class InputVector {
-		[CCode (array_length_cname = "size", array_length_type = "gsize")]
-		public uint8[] buffer;
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_memory_input_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class MemoryInputStream : GLib.InputStream, GLib.Seekable {
 		[CCode (type = "GInputStream*", has_construct_function = false)]
 		public MemoryInputStream ();
-		public void add_data ([CCode (array_length_type = "gsize")] owned uint8[] data, GLib.DestroyNotify? destroy);
+		public void add_data ([CCode (type = "void*", array_length_type = "gssize", array_length_cname = "len", array_length_pos = 1.5)] owned uint8[] data, GLib.DestroyNotify? destroy);
 		[CCode (type = "GInputStream*", has_construct_function = false)]
-		public MemoryInputStream.from_data ([CCode (array_length_type = "gsize")] owned uint8[] data, GLib.DestroyNotify? destroy);
+		public MemoryInputStream.from_data ([CCode (type = "void*", array_length_type = "gssize", array_length_cname = "len", array_length_pos = 1.5)] owned uint8[] data, GLib.DestroyNotify? destroy);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_memory_output_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class MemoryOutputStream : GLib.OutputStream, GLib.Seekable {
-		[CCode (type = "GOutputStream*", has_construct_function = false)]
-		public MemoryOutputStream ([CCode (array_length_type = "gsize")] owned uint8[]? data, GLib.ReallocFunc? realloc_function, GLib.DestroyNotify? destroy_function);
-		[CCode (array_length = false)]
-		public unowned uint8[] get_data ();
+		[CCode (has_construct_function = false)]
+		protected MemoryOutputStream ();
 		public size_t get_data_size ();
 		public size_t get_size ();
 		[CCode (array_length = false)]
 		public uint8[] steal_data ();
+		[NoAccessorMethod]
 		public void* data { get; construct; }
 		public ulong data_size { get; }
 		[NoAccessorMethod]
@@ -1073,7 +943,7 @@ namespace GLib {
 		public void* realloc_function { get; construct; }
 		public ulong size { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_mount_operation_get_type ()", cheader_filename = "gio/gio.h")]
 	public class MountOperation : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public MountOperation ();
@@ -1097,52 +967,52 @@ namespace GLib {
 		public string username { get; set; }
 		public virtual signal void aborted ();
 		public virtual signal void ask_password (string message, string default_user, string default_domain, GLib.AskPasswordFlags flags);
-		public virtual signal void ask_question (string message, string[] choices);
+		public virtual signal void ask_question (string message, [CCode (array_length = false, array_null_terminated = true)] string[] choices);
 		[HasEmitter]
 		public virtual signal void reply (GLib.MountOperationResult result);
-		public virtual signal void show_processes (string message, GLib.Array processes, string[] choices);
+		public virtual signal void show_processes (string message, GLib.Array<void*> processes, [CCode (array_length = false, array_null_terminated = true)] string[] choices);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_native_volume_monitor_get_type ()", cheader_filename = "gio/gio.h")]
 	public class NativeVolumeMonitor : GLib.VolumeMonitor {
 		[CCode (has_construct_function = false)]
 		protected NativeVolumeMonitor ();
-		[NoWrapper]
-		public virtual unowned GLib.Mount get_mount_for_mount_path (string mount_path, GLib.Cancellable? cancellable = null);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_network_address_get_type ()", cheader_filename = "gio/gio.h")]
 	public class NetworkAddress : GLib.Object, GLib.SocketConnectable {
-		[CCode (type = "GSocketConnectable*", has_construct_function = false)]
-		public NetworkAddress (string hostname, uint16 port);
+		[CCode (has_construct_function = false)]
+		protected NetworkAddress ();
 		public unowned string get_hostname ();
 		public uint16 get_port ();
 		public unowned string get_scheme ();
-		public static unowned GLib.SocketConnectable parse (string host_and_port, uint16 default_port) throws GLib.Error;
-		public static unowned GLib.SocketConnectable parse_uri (string uri, uint16 default_port) throws GLib.Error;
+		public static GLib.SocketConnectable @new (string hostname, uint16 port);
+		public static GLib.SocketConnectable parse (string host_and_port, uint16 default_port) throws GLib.Error;
+		public static GLib.SocketConnectable parse_uri (string uri, uint16 default_port) throws GLib.Error;
 		public string hostname { get; construct; }
 		public uint port { get; construct; }
 		public string scheme { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_network_service_get_type ()", cheader_filename = "gio/gio.h")]
 	public class NetworkService : GLib.Object, GLib.SocketConnectable {
-		[CCode (type = "GSocketConnectable*", has_construct_function = false)]
-		public NetworkService (string service, string protocol, string domain);
+		[CCode (has_construct_function = false)]
+		protected NetworkService ();
 		public unowned string get_domain ();
 		public unowned string get_protocol ();
 		public unowned string get_scheme ();
 		public unowned string get_service ();
+		public static GLib.SocketConnectable @new (string service, string protocol, string domain);
 		public void set_scheme (string scheme);
 		public string domain { get; construct; }
 		public string protocol { get; construct; }
 		public string scheme { get; set; }
 		public string service { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_output_stream_get_type ()", cheader_filename = "gio/gio.h")]
 	public class OutputStream : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected OutputStream ();
 		public void clear_pending ();
-		public bool close (GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public bool close (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async bool close_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[NoWrapper]
 		public virtual bool close_fn (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public virtual bool flush (GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -1151,20 +1021,33 @@ namespace GLib {
 		public bool is_closed ();
 		public bool is_closing ();
 		public bool set_pending () throws GLib.Error;
-		public virtual ssize_t splice (GLib.InputStream source, GLib.OutputStreamSpliceFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public virtual async ssize_t splice_async (GLib.InputStream source, GLib.OutputStreamSpliceFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		[CCode (vfunc_name = "write_fn")]
-		public virtual ssize_t write ([CCode (array_length_type = "gsize")] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public bool write_all ([CCode (array_length_type = "gsize")] uint8[] buffer, out size_t bytes_written, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public virtual async ssize_t write_async ([CCode (array_length_type = "gsize")] uint8[] buffer, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class OutputVector {
-		[CCode (array_length_cname = "size", array_length_type = "gsize")]
-		public uint8[] buffer;
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+		public virtual ssize_t splice (GLib.InputStream source, GLib.OutputStreamSpliceFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async ssize_t splice_async (GLib.InputStream source, GLib.OutputStreamSpliceFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public ssize_t write ([CCode (array_length_type = "gsize", array_length_cname = "count", array_length_pos = 1.5)] uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool write_all ([CCode (array_length_type = "gsize", array_length_cname = "count", array_length_pos = 1.5)] uint8[] buffer, size_t bytes_written, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async ssize_t write_async ([CCode (array_length_type = "gsize", array_length_cname = "count", array_length_pos = 1.5)] uint8[] buffer, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[NoWrapper]
+		public virtual ssize_t write_fn (void* buffer, size_t count, GLib.Cancellable? cancellable = null) throws GLib.Error;
+	}
+	[CCode (type_id = "g_periodic_get_type ()", cheader_filename = "gio/gio.h")]
+	public class Periodic : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Periodic (uint hz, int high_priority, int low_priority);
+		public uint add (owned GLib.PeriodicTickFunc callback);
+		public void block ();
+		public void damaged (owned GLib.PeriodicRepairFunc callback);
+		public int get_high_priority ();
+		public uint get_hz ();
+		public int get_low_priority ();
+		public void remove (uint tag);
+		public void unblock (int64 unblock_time);
+		public int high_priority { get; construct; }
+		public uint hz { get; construct; }
+		public int low_priority { get; construct; }
+		public signal void repair ();
+		public signal void tick (uint64 object);
+	}
+	[CCode (type_id = "g_permission_get_type ()", cheader_filename = "gio/gio.h")]
 	public class Permission : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected Permission ();
@@ -1180,7 +1063,7 @@ namespace GLib {
 		public bool can_acquire { get; }
 		public bool can_release { get; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_proxy_address_get_type ()", cheader_filename = "gio/gio.h")]
 	public class ProxyAddress : GLib.InetSocketAddress, GLib.SocketConnectable {
 		[CCode (type = "GSocketAddress*", has_construct_function = false)]
 		public ProxyAddress (GLib.InetAddress inetaddr, uint16 port, string protocol, string dest_hostname, uint16 dest_port, string username, string password);
@@ -1195,7 +1078,7 @@ namespace GLib {
 		public string protocol { get; construct; }
 		public string username { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_proxy_address_enumerator_get_type ()", cheader_filename = "gio/gio.h")]
 	public class ProxyAddressEnumerator : GLib.SocketAddressEnumerator {
 		[CCode (has_construct_function = false)]
 		protected ProxyAddressEnumerator ();
@@ -1204,67 +1087,58 @@ namespace GLib {
 		[NoAccessorMethod]
 		public string uri { owned get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_resolver_get_type ()", cheader_filename = "gio/gio.h")]
 	public class Resolver : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected Resolver ();
-		public static GLib.Quark error_quark ();
-		public static unowned GLib.Resolver get_default ();
-		public virtual unowned string lookup_by_address (GLib.InetAddress address, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public virtual async unowned string lookup_by_address_async (GLib.InetAddress address, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public static GLib.Resolver get_default ();
+		public virtual string lookup_by_address (GLib.InetAddress address, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async string lookup_by_address_async (GLib.InetAddress address, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public virtual GLib.List<GLib.InetAddress> lookup_by_name (string hostname, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public virtual async GLib.List<GLib.InetAddress> lookup_by_name_async (string hostname, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public virtual GLib.List<GLib.SrvTarget> lookup_service (string service, string protocol, string domain, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public virtual async GLib.List<GLib.SrvTarget> lookup_service_async (string service, string protocol, string domain, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public GLib.List<GLib.SrvTarget> lookup_service (string service, string protocol, string domain, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[NoWrapper]
+		public virtual async GLib.List<GLib.SrvTarget> lookup_service_async (string rrname, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public void set_default ();
 		public virtual signal void reload ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_settings_get_type ()", cheader_filename = "gio/gio.h")]
 	public class Settings : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public Settings (string schema);
 		public void apply ();
 		public void bind (string key, void* object, string property, GLib.SettingsBindFlags flags);
-		public void bind_with_mapping (string key, void* object, string property, GLib.SettingsBindFlags flags, GLib.SettingsBindGetMapping get_mapping, GLib.SettingsBindSetMapping set_mapping, GLib.DestroyNotify destroy);
 		public void bind_writable (string key, void* object, string property, bool inverted);
 		public void delay ();
-		[CCode (sentinel = "")]
-		public void @get (string key, string format, ...);
 		public bool get_boolean (string key);
-		public unowned GLib.Settings get_child (string name);
+		public GLib.Settings get_child (string name);
 		public double get_double (string key);
 		public int get_enum (string key);
 		public uint get_flags (string key);
 		public bool get_has_unapplied ();
 		public int get_int (string key);
-		public void* get_mapped (string key, GLib.SettingsGetMapping mapping);
-		public unowned GLib.Variant get_range (string key);
+		public GLib.Variant get_range (string key);
 		public string get_string (string key);
 		[CCode (array_length = false, array_null_terminated = true)]
 		public string[] get_strv (string key);
-		public uint get_uint (string key);
 		public GLib.Variant get_value (string key);
 		public bool is_writable (string name);
 		[CCode (array_length = false, array_null_terminated = true)]
 		public string[] list_children ();
 		[CCode (array_length = false, array_null_terminated = true)]
 		public string[] list_keys ();
-		public static unowned string list_relocatable_schemas ();
 		[CCode (array_length = false, array_null_terminated = true)]
 		public static unowned string[] list_schemas ();
 		public bool range_check (string key, GLib.Variant value);
 		public void reset (string key);
 		public void revert ();
-		[CCode (sentinel = "")]
-		public bool @set (string key, string format, ...);
 		public bool set_boolean (string key, bool value);
 		public bool set_double (string key, double value);
 		public bool set_enum (string key, int value);
 		public bool set_flags (string key, uint value);
 		public bool set_int (string key, int value);
 		public bool set_string (string key, string value);
-		public bool set_strv (string key, [CCode (array_length = false)] string[] value);
-		public bool set_uint (string key, uint value);
+		public bool set_strv (string key, [CCode (array_length = false, array_null_terminated = true)] string[]? value);
 		public bool set_value (string key, GLib.Variant value);
 		public static void sync ();
 		public static void unbind (void* object, string property);
@@ -1276,8 +1150,6 @@ namespace GLib {
 		public Settings.with_path (string schema, string path);
 		[NoAccessorMethod]
 		public GLib.SettingsBackend backend { owned get; construct; }
-		[NoAccessorMethod]
-		public bool delay_apply { get; }
 		public bool has_unapplied { get; }
 		[NoAccessorMethod]
 		public string path { owned get; construct; }
@@ -1288,58 +1160,69 @@ namespace GLib {
 		public virtual signal bool writable_change_event (uint key);
 		public virtual signal void writable_changed (string key);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_settings_backend_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SettingsBackend : GLib.Object {
+		[CCode (has_construct_function = false)]
+		protected SettingsBackend ();
+		public void changed (string key, void* origin_tag);
+		public void changed_tree (GLib.Tree tree, void* origin_tag);
+		public static void flatten_tree (GLib.Tree tree, string path, string keys, GLib.Variant values);
+		[NoWrapper]
+		public virtual bool get_writable (string key);
+		public void keys_changed (string path, string items, void* origin_tag);
+		public void path_changed (string path, void* origin_tag);
+		public void path_writable_changed (string path);
+		[NoWrapper]
+		public virtual GLib.Variant read (string key, GLib.VariantType expected_type, bool default_value);
+		[NoWrapper]
+		public virtual void reset (string key, void* origin_tag);
+		[NoWrapper]
+		public virtual void subscribe (string name);
+		[NoWrapper]
+		public virtual void sync ();
+		[NoWrapper]
+		public virtual void unsubscribe (string name);
+		public void writable_changed (string key);
+		[NoWrapper]
+		public virtual bool write (string key, GLib.Variant value, void* origin_tag);
+		[NoWrapper]
+		public virtual bool write_tree (GLib.Tree tree, void* origin_tag);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_simple_action_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SimpleAction : GLib.Object, GLib.Action {
 		[CCode (has_construct_function = false)]
-		public SimpleAction (string name, GLib.VariantType parameter_type);
+		public SimpleAction (string name, GLib.VariantType? parameter_type);
 		public void set_enabled (bool enabled);
-		public void set_state (GLib.Variant value);
 		[CCode (has_construct_function = false)]
-		public SimpleAction.stateful (string name, GLib.VariantType parameter_type, GLib.Variant state);
+		public SimpleAction.stateful (string name, GLib.VariantType? parameter_type, GLib.Variant state);
 		[NoAccessorMethod]
-		public bool enabled { get; }
-		[NoAccessorMethod]
-		public string name { owned get; }
+		public bool enabled { get; set construct; }
 		[NoAccessorMethod]
-		public GLib.VariantType parameter_type { owned get; }
+		public string name { owned get; construct; }
 		[NoAccessorMethod]
-		public GLib.Variant state { owned get; }
-		[NoAccessorMethod]
-		public GLib.VariantType state_type { owned get; }
-		public virtual signal void activate (GLib.Variant p0);
-		public virtual signal void change_state (GLib.Variant p0);
+		public GLib.Variant state { owned get; set construct; }
+		public virtual signal void activate (GLib.Variant? parameter);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_simple_action_group_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SimpleActionGroup : GLib.Object, GLib.ActionGroup {
 		[CCode (has_construct_function = false)]
 		public SimpleActionGroup ();
-		public void add_entries (GLib.ActionEntry[] entries);
 		public void insert (GLib.Action action);
 		public unowned GLib.Action lookup (string action_name);
 		public void remove (string action_name);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_simple_async_result_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SimpleAsyncResult : GLib.Object, GLib.AsyncResult {
 		[CCode (has_construct_function = false)]
-		public SimpleAsyncResult (GLib.Object? source_object, GLib.AsyncReadyCallback callback, void* source_tag);
+		public SimpleAsyncResult (GLib.Object? source_object, [CCode (delegate_target_pos = 2.5)] GLib.AsyncReadyCallback callback, void* source_tag);
 		public void complete ();
 		public void complete_in_idle ();
 		[CCode (has_construct_function = false)]
-		public SimpleAsyncResult.error (GLib.Object source_object, GLib.AsyncReadyCallback callback, GLib.Quark domain, int code, string format);
-		[CCode (has_construct_function = false)]
-		public SimpleAsyncResult.from_error (GLib.Object source_object, GLib.AsyncReadyCallback callback, GLib.Error error);
+		public SimpleAsyncResult.from_error (GLib.Object source_object, [CCode (delegate_target_pos = 2.5)] GLib.AsyncReadyCallback callback, GLib.Error error);
 		public bool get_op_res_gboolean ();
-		public void* get_op_res_gpointer ();
 		public ssize_t get_op_res_gssize ();
-		public void* get_source_tag ();
-		public static bool is_valid (GLib.AsyncResult _result, GLib.Object source, void* source_tag);
+		public static bool is_valid (GLib.AsyncResult result, GLib.Object source, void* source_tag);
 		public bool propagate_error () throws GLib.Error;
-		public void run_in_thread (GLib.SimpleAsyncThreadFunc func, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null);
-		public void set_error (GLib.Quark domain, int code, string format);
-		public void set_error_va (GLib.Quark domain, int code, string format, void* args);
 		public void set_from_error (GLib.Error error);
 		public void set_handle_cancellation (bool handle_cancellation);
 		public void set_op_res_gboolean (bool op_res);
@@ -1347,16 +1230,12 @@ namespace GLib {
 		public void set_op_res_gssize (ssize_t op_res);
 		public void take_error (GLib.Error error);
 	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class SimpleAsyncResultClass {
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_simple_permission_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SimplePermission : GLib.Permission {
 		[CCode (type = "GPermission*", has_construct_function = false)]
 		public SimplePermission (bool allowed);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_socket_get_type ()", cheader_filename = "gio/gio.h")]
 	public class Socket : GLib.Object, GLib.Initable {
 		[CCode (has_construct_function = false)]
 		public Socket (GLib.SocketFamily family, GLib.SocketType type, GLib.SocketProtocol protocol) throws GLib.Error;
@@ -1365,33 +1244,33 @@ namespace GLib {
 		public bool check_connect_result () throws GLib.Error;
 		public bool close () throws GLib.Error;
 		public GLib.IOCondition condition_check (GLib.IOCondition condition);
-		public bool condition_wait (GLib.IOCondition condition, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public bool condition_wait (GLib.IOCondition condition, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool connect (GLib.SocketAddress address, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public GLib.SocketSource create_source (GLib.IOCondition condition, GLib.Cancellable? cancellable = null);
+		public GLib.SocketConnection connection_factory_create_connection ();
 		[CCode (has_construct_function = false)]
 		public Socket.from_fd (int fd) throws GLib.Error;
 		public bool get_blocking ();
-		public unowned GLib.Credentials get_credentials () throws GLib.Error;
+		public GLib.Credentials get_credentials () throws GLib.Error;
 		public GLib.SocketFamily get_family ();
 		public int get_fd ();
 		public bool get_keepalive ();
 		public int get_listen_backlog ();
-		public unowned GLib.SocketAddress get_local_address () throws GLib.Error;
+		public GLib.SocketAddress get_local_address () throws GLib.Error;
 		public GLib.SocketProtocol get_protocol ();
-		public unowned GLib.SocketAddress get_remote_address () throws GLib.Error;
+		public GLib.SocketAddress get_remote_address () throws GLib.Error;
 		public GLib.SocketType get_socket_type ();
 		public uint get_timeout ();
 		public bool is_closed ();
 		public bool is_connected ();
 		public bool listen () throws GLib.Error;
-		public ssize_t receive (uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public ssize_t receive_from (out unowned GLib.SocketAddress address, uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public ssize_t receive_message (out unowned GLib.SocketAddress address, GLib.InputVector vectors, int num_vectors, out unowned GLib.SocketControlMessage messages, int num_messages, int flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public ssize_t receive_with_blocking (uint8[] buffer, bool blocking, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public ssize_t send (uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public ssize_t send_message (GLib.SocketAddress address, GLib.OutputVector vectors, int num_vectors, out unowned GLib.SocketControlMessage messages, int num_messages, int flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public ssize_t send_to (GLib.SocketAddress address, uint8[] buffer, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public ssize_t send_with_blocking (uint8[] buffer, bool blocking, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public ssize_t receive (string buffer, size_t size, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public ssize_t receive_from (GLib.SocketAddress address, string buffer, size_t size, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public ssize_t receive_message (GLib.SocketAddress address, GLib.InputVector vectors, int num_vectors, GLib.SocketControlMessage messages, int num_messages, int flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public ssize_t receive_with_blocking (string buffer, size_t size, bool blocking, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public ssize_t send (string buffer, size_t size, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public ssize_t send_message (GLib.SocketAddress address, GLib.OutputVector vectors, int num_vectors, GLib.SocketControlMessage messages, int num_messages, int flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public ssize_t send_to (GLib.SocketAddress address, string buffer, size_t size, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public ssize_t send_with_blocking (string buffer, size_t size, bool blocking, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public void set_blocking (bool blocking);
 		public void set_keepalive (bool keepalive);
 		public void set_listen_backlog (int backlog);
@@ -1403,14 +1282,14 @@ namespace GLib {
 		public int fd { get; construct; }
 		public bool keepalive { get; set; }
 		public int listen_backlog { get; set; }
-		public GLib.SocketAddress local_address { get; }
+		public GLib.SocketAddress local_address { owned get; }
 		public GLib.SocketProtocol protocol { get; construct; }
-		public GLib.SocketAddress remote_address { get; }
+		public GLib.SocketAddress remote_address { owned get; }
 		public uint timeout { get; set; }
 		[NoAccessorMethod]
 		public GLib.SocketType type { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_socket_address_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SocketAddress : GLib.Object, GLib.SocketConnectable {
 		[CCode (has_construct_function = false)]
 		protected SocketAddress ();
@@ -1419,87 +1298,81 @@ namespace GLib {
 		public virtual GLib.SocketFamily get_family ();
 		public virtual ssize_t get_native_size ();
 		public virtual bool to_native (void* dest, size_t destlen) throws GLib.Error;
+		[NoAccessorMethod]
 		public GLib.SocketFamily family { get; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_socket_address_enumerator_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SocketAddressEnumerator : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected SocketAddressEnumerator ();
-		public virtual unowned GLib.SocketAddress next (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public virtual async unowned GLib.SocketAddress next_async (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual GLib.SocketAddress next (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual async GLib.SocketAddress next_async (GLib.Cancellable? cancellable = null) throws GLib.Error;
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_socket_client_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SocketClient : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public SocketClient ();
 		public void add_application_proxy (string protocol);
-		public unowned GLib.SocketConnection connect (GLib.SocketConnectable connectable, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public async unowned GLib.SocketConnection connect_async (GLib.SocketConnectable connectable, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public unowned GLib.SocketConnection connect_to_host (string host_and_port, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public async unowned GLib.SocketConnection connect_to_host_async (string host_and_port, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public unowned GLib.SocketConnection connect_to_service (string domain, string service, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public async unowned GLib.SocketConnection connect_to_service_async (string domain, string service, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public unowned GLib.SocketConnection connect_to_uri (string uri, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public async unowned GLib.SocketConnection connect_to_uri_async (string uri, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public GLib.SocketConnection connect (GLib.SocketConnectable connectable, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public async GLib.SocketConnection connect_async (GLib.SocketConnectable connectable, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public GLib.SocketConnection connect_to_host (string host_and_port, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public async GLib.SocketConnection connect_to_host_async (string host_and_port, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public GLib.SocketConnection connect_to_service (string domain, string service, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public async GLib.SocketConnection connect_to_service_async (string domain, string service, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public GLib.SocketConnection connect_to_uri (string uri, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public async GLib.SocketConnection connect_to_uri_async (string uri, uint16 default_port, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool get_enable_proxy ();
 		public GLib.SocketFamily get_family ();
 		public unowned GLib.SocketAddress get_local_address ();
 		public GLib.SocketProtocol get_protocol ();
 		public GLib.SocketType get_socket_type ();
 		public uint get_timeout ();
-		public bool get_tls ();
-		public GLib.TlsCertificateFlags get_tls_validation_flags ();
 		public void set_enable_proxy (bool enable);
 		public void set_family (GLib.SocketFamily family);
 		public void set_local_address (GLib.SocketAddress address);
 		public void set_protocol (GLib.SocketProtocol protocol);
 		public void set_socket_type (GLib.SocketType type);
 		public void set_timeout (uint timeout);
-		public void set_tls (bool tls);
-		public void set_tls_validation_flags (GLib.TlsCertificateFlags flags);
 		public bool enable_proxy { get; set construct; }
 		public GLib.SocketFamily family { get; set construct; }
 		public GLib.SocketAddress local_address { get; set construct; }
 		public GLib.SocketProtocol protocol { get; set construct; }
 		public uint timeout { get; set construct; }
-		public bool tls { get; set construct; }
-		public GLib.TlsCertificateFlags tls_validation_flags { get; set construct; }
 		[NoAccessorMethod]
 		public GLib.SocketType type { get; set construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_socket_connection_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SocketConnection : GLib.IOStream {
 		[CCode (has_construct_function = false)]
 		protected SocketConnection ();
-		public static unowned GLib.SocketConnection factory_create_connection (GLib.Socket socket);
 		public static GLib.Type factory_lookup_type (GLib.SocketFamily family, GLib.SocketType type, int protocol_id);
 		public static void factory_register_type (GLib.Type g_type, GLib.SocketFamily family, GLib.SocketType type, int protocol);
-		public unowned GLib.SocketAddress get_local_address () throws GLib.Error;
-		public unowned GLib.SocketAddress get_remote_address () throws GLib.Error;
+		public GLib.SocketAddress get_local_address () throws GLib.Error;
+		public GLib.SocketAddress get_remote_address () throws GLib.Error;
 		public unowned GLib.Socket get_socket ();
 		public GLib.Socket socket { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_socket_control_message_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SocketControlMessage : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected SocketControlMessage ();
-		public virtual GLib.SocketControlMessage deserialize (int level, int type, [CCode (array_length_type = "gsize", array_length_pos = 2.9)] uint8[] data);
+		public static GLib.SocketControlMessage deserialize (int level, int type, [CCode (type = "gpointer", array_length_type = "gsize", array_length_cname = "size", array_length_pos = 2.5)] uint8[] data);
 		public virtual int get_level ();
 		public int get_msg_type ();
 		public virtual size_t get_size ();
 		[NoWrapper]
 		public virtual int get_type ();
-		public virtual void serialize ([CCode (array_length = false)] uint8[] data);
+		public virtual void serialize ([CCode (type = "gpointer", array_length = false)] uint8[] data);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_socket_listener_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SocketListener : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public SocketListener ();
-		public unowned GLib.SocketConnection accept (out unowned GLib.Object source_object, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public async unowned GLib.SocketConnection accept_async (GLib.Cancellable? cancellable = null, out GLib.Object? source_object = null) throws GLib.Error;
-		public unowned GLib.Socket accept_socket (out unowned GLib.Object source_object, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public async unowned GLib.Socket accept_socket_async (GLib.Cancellable? cancellable = null, out GLib.Object? source_object = null) throws GLib.Error;
-		public bool add_address (GLib.SocketAddress address, GLib.SocketType type, GLib.SocketProtocol protocol, GLib.Object? source_object, out unowned GLib.SocketAddress effective_address) throws GLib.Error;
+		public GLib.SocketConnection accept (out unowned GLib.Object source_object, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public async GLib.SocketConnection accept_async (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public GLib.Socket accept_socket (out unowned GLib.Object source_object, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public async GLib.Socket accept_socket_async (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool add_address (GLib.SocketAddress address, GLib.SocketType type, GLib.SocketProtocol protocol, GLib.Object source_object, out GLib.SocketAddress effective_address) throws GLib.Error;
 		public uint16 add_any_inet_port (GLib.Object source_object) throws GLib.Error;
 		public bool add_inet_port (uint16 port, GLib.Object? source_object) throws GLib.Error;
 		public bool add_socket (GLib.Socket socket, GLib.Object? source_object) throws GLib.Error;
@@ -1510,14 +1383,14 @@ namespace GLib {
 		[NoAccessorMethod]
 		public int listen_backlog { get; set construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_socket_service_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SocketService : GLib.SocketListener {
 		[CCode (has_construct_function = false)]
 		public SocketService ();
 		public bool is_active ();
 		public void start ();
 		public void stop ();
-		public virtual signal bool incoming (GLib.SocketConnection connection, GLib.Object? source_object);
+		public virtual signal bool incoming (GLib.SocketConnection connection, GLib.Object source_object);
 	}
 	[Compact]
 	[CCode (cname = "GSource", cheader_filename = "gio/gio.h")]
@@ -1526,18 +1399,18 @@ namespace GLib {
 		public void set_callback ([CCode (type = "GSourceFunc")] owned GLib.SocketSourceFunc func);
 	}
 	[Compact]
-	[CCode (copy_function = "g_srv_target_copy", type_id = "G_TYPE_SRV_TARGET", cheader_filename = "gio/gio.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "g_srv_target_get_type ()", cheader_filename = "gio/gio.h")]
 	public class SrvTarget {
 		[CCode (has_construct_function = false)]
 		public SrvTarget (string hostname, uint16 port, uint16 priority, uint16 weight);
 		public GLib.SrvTarget copy ();
+		public void free ();
 		public unowned string get_hostname ();
 		public uint16 get_port ();
 		public uint16 get_priority ();
 		public uint16 get_weight ();
-		public static GLib.List<GLib.SrvTarget> list_sort (owned GLib.List<GLib.SrvTarget> targets);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_tcp_connection_get_type ()", cheader_filename = "gio/gio.h")]
 	public class TcpConnection : GLib.SocketConnection {
 		[CCode (has_construct_function = false)]
 		protected TcpConnection ();
@@ -1545,36 +1418,24 @@ namespace GLib {
 		public void set_graceful_disconnect (bool graceful_disconnect);
 		public bool graceful_disconnect { get; set; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class TcpWrapperConnection : GLib.TcpConnection {
-		[CCode (type = "GSocketConnection*", has_construct_function = false)]
-		public TcpWrapperConnection (GLib.IOStream base_io_stream, GLib.Socket socket);
-		public unowned GLib.IOStream get_base_io_stream ();
-		public GLib.IOStream base_io_stream { get; construct; }
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_themed_icon_get_type ()", cheader_filename = "gio/gio.h")]
 	public class ThemedIcon : GLib.Object, GLib.Icon {
-		[CCode (type = "GIcon*", has_construct_function = false)]
-		public ThemedIcon (string iconname);
+		[CCode (has_construct_function = false)]
+		protected ThemedIcon ();
 		public void append_name (string iconname);
-		[CCode (type = "GIcon*", has_construct_function = false)]
-		public ThemedIcon.from_names (string[] iconnames);
 		[CCode (array_length = false, array_null_terminated = true)]
-		public unowned string[] get_names ();
+		public string[] get_names ();
+		public static GLib.Icon @new (string iconname);
+		public static GLib.Icon new_from_names (string iconnames, int len);
+		public static GLib.Icon new_with_default_fallbacks (string iconname);
 		public void prepend_name (string iconname);
-		[CCode (type = "GIcon*", has_construct_function = false)]
-		public ThemedIcon.with_default_fallbacks (string iconname);
 		public string name { construct; }
 		[CCode (array_length = false, array_null_terminated = true)]
-		public string[] names { get; construct; }
+		public string[] names { owned get; construct; }
 		[NoAccessorMethod]
 		public bool use_default_fallbacks { get; construct; }
 	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class ThemedIconClass {
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_threaded_socket_service_get_type ()", cheader_filename = "gio/gio.h")]
 	public class ThreadedSocketService : GLib.SocketService {
 		[CCode (type = "GSocketService*", has_construct_function = false)]
 		public ThreadedSocketService (int max_threads);
@@ -1582,70 +1443,114 @@ namespace GLib {
 		public int max_threads { get; construct; }
 		public virtual signal bool run (GLib.SocketConnection connection, GLib.Object source_object);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class TimeZoneMonitor : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected TimeZoneMonitor ();
-		public static unowned GLib.TimeZoneMonitor @get ();
-		public virtual signal void changed ();
+	[CCode (type_id = "g_unix_connection_get_type ()", cheader_filename = "gio/gio.h")]
+	public class UnixConnection : GLib.SocketConnection {
+		[CCode (has_construct_function = false)]
+		protected UnixConnection ();
+		public GLib.Credentials receive_credentials (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public int receive_fd (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool send_credentials (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool send_fd (int fd, GLib.Cancellable? cancellable = null) throws GLib.Error;
+	}
+	[CCode (type_id = "g_unix_credentials_message_get_type ()", cheader_filename = "gio/gio.h")]
+	public class UnixCredentialsMessage : GLib.SocketControlMessage {
+		[CCode (type = "GSocketControlMessage*", has_construct_function = false)]
+		public UnixCredentialsMessage ();
+		public unowned GLib.Credentials get_credentials ();
+		public static bool is_supported ();
+		[CCode (type = "GSocketControlMessage*", has_construct_function = false)]
+		public UnixCredentialsMessage.with_credentials (GLib.Credentials credentials);
+		public GLib.Credentials credentials { get; construct; }
+	}
+	[CCode (type_id = "g_unix_fd_list_get_type ()", cheader_filename = "gio/gio.h")]
+	public class UnixFDList : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public UnixFDList ();
+		public int append (int fd) throws GLib.Error;
+		[CCode (has_construct_function = false)]
+		public UnixFDList.from_array (int fds, int n_fds);
+		public int @get (int index_) throws GLib.Error;
+		public int get_length ();
+		public int peek_fds (int length);
+		public int steal_fds (int length);
+	}
+	[CCode (type_id = "g_unix_fd_message_get_type ()", cheader_filename = "gio/gio.h")]
+	public class UnixFDMessage : GLib.SocketControlMessage {
+		[CCode (type = "GSocketControlMessage*", has_construct_function = false)]
+		public UnixFDMessage ();
+		public bool append_fd (int fd) throws GLib.Error;
+		public unowned GLib.UnixFDList get_fd_list ();
+		public int steal_fds (int length);
+		[CCode (type = "GSocketControlMessage*", has_construct_function = false)]
+		public UnixFDMessage.with_fd_list (GLib.UnixFDList fd_list);
+		public GLib.UnixFDList fd_list { get; construct; }
+	}
+	[CCode (type_id = "g_unix_input_stream_get_type ()", cheader_filename = "gio/gio.h")]
+	public class UnixInputStream : GLib.InputStream {
+		[CCode (type = "GInputStream*", has_construct_function = false)]
+		public UnixInputStream (int fd, bool close_fd);
+		public bool get_close_fd ();
+		public int get_fd ();
+		public void set_close_fd (bool close_fd);
+		public bool close_fd { get; set; }
+		public int fd { get; construct; }
 	}
+	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
-	public class TlsCertificate : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected TlsCertificate ();
-		[CCode (has_construct_function = false)]
-		public TlsCertificate.from_file (string file) throws GLib.Error;
-		[CCode (has_construct_function = false)]
-		public TlsCertificate.from_files (string cert_file, string key_file) throws GLib.Error;
+	public class UnixMountEntry {
+	}
+	[CCode (type_id = "g_unix_mount_monitor_get_type ()", cheader_filename = "gio/gio.h")]
+	public class UnixMountMonitor : GLib.Object {
 		[CCode (has_construct_function = false)]
-		public TlsCertificate.from_pem (string data, ssize_t length) throws GLib.Error;
-		public unowned GLib.TlsCertificate get_issuer ();
-		public static unowned GLib.List list_new_from_file (string file) throws GLib.Error;
-		public virtual GLib.TlsCertificateFlags verify (GLib.SocketConnectable identity, GLib.TlsCertificate trusted_ca);
-		[NoAccessorMethod]
-		public GLib.ByteArray certificate { owned get; construct; }
-		[NoAccessorMethod]
-		public string certificate_pem { owned get; construct; }
-		public GLib.TlsCertificate issuer { get; construct; }
-		public GLib.ByteArray private_key { construct; }
-		public string private_key_pem { construct; }
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class TlsConnection : GLib.IOStream {
-		[CCode (has_construct_function = false)]
-		protected TlsConnection ();
-		public bool emit_accept_certificate (GLib.TlsCertificate peer_cert, GLib.TlsCertificateFlags errors);
-		public unowned GLib.TlsCertificate get_certificate ();
-		public unowned GLib.TlsCertificate get_peer_certificate ();
-		public GLib.TlsCertificateFlags get_peer_certificate_errors ();
-		public GLib.TlsRehandshakeMode get_rehandshake_mode ();
-		public bool get_require_close_notify ();
-		public bool get_use_system_certdb ();
-		public virtual bool handshake (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public virtual async bool handshake_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public void set_certificate (GLib.TlsCertificate certificate);
-		public void set_rehandshake_mode (GLib.TlsRehandshakeMode mode);
-		public void set_require_close_notify (bool require_close_notify);
-		public void set_use_system_certdb (bool use_system_certdb);
-		[NoAccessorMethod]
-		public GLib.IOStream base_io_stream { owned get; construct; }
-		public GLib.TlsCertificate certificate { get; set; }
-		public GLib.TlsCertificate peer_certificate { get; }
-		public GLib.TlsCertificateFlags peer_certificate_errors { get; }
-		public GLib.TlsRehandshakeMode rehandshake_mode { get; set construct; }
-		public bool require_close_notify { get; set construct; }
-		public bool use_system_certdb { get; set construct; }
-		public virtual signal bool accept_certificate (GLib.TlsCertificate peer_cert, GLib.TlsCertificateFlags errors);
+		public UnixMountMonitor ();
+		public void set_rate_limit (int limit_msec);
+		public signal void mountpoints_changed ();
+		public signal void mounts_changed ();
 	}
 	[Compact]
 	[CCode (cheader_filename = "gio/gio.h")]
-	public class UnixCredentialsMessage {
+	public class UnixMountPoint {
+		public int compare (GLib.UnixMountPoint mount2);
+		public void free ();
+		public unowned string get_device_path ();
+		public unowned string get_fs_type ();
+		public unowned string get_mount_path ();
+		public bool guess_can_eject ();
+		public GLib.Icon guess_icon ();
+		public string guess_name ();
+		public bool is_loopback ();
+		public bool is_readonly ();
+		public bool is_user_mountable ();
+	}
+	[CCode (type_id = "g_unix_output_stream_get_type ()", cheader_filename = "gio/gio.h")]
+	public class UnixOutputStream : GLib.OutputStream {
+		[CCode (type = "GOutputStream*", has_construct_function = false)]
+		public UnixOutputStream (int fd, bool close_fd);
+		public bool get_close_fd ();
+		public int get_fd ();
+		public void set_close_fd (bool close_fd);
+		public bool close_fd { get; set; }
+		public int fd { get; construct; }
 	}
-	[Compact]
-	[CCode (cheader_filename = "gio/gio.h")]
-	public class UnixFDList {
+	[CCode (type_id = "g_unix_socket_address_get_type ()", cheader_filename = "gio/gio.h")]
+	public class UnixSocketAddress : GLib.SocketAddress, GLib.SocketConnectable {
+		[CCode (type = "GSocketAddress*", has_construct_function = false)]
+		public UnixSocketAddress (string path);
+		public static bool abstract_names_supported ();
+		public GLib.UnixSocketAddressType get_address_type ();
+		public bool get_is_abstract ();
+		public unowned string get_path ();
+		public size_t get_path_len ();
+		[CCode (type = "GSocketAddress*", has_construct_function = false)]
+		public UnixSocketAddress.with_type (string path, int path_len, GLib.UnixSocketAddressType type);
+		[NoAccessorMethod]
+		public bool @abstract { get; construct; }
+		public GLib.UnixSocketAddressType address_type { get; construct; }
+		public string path { get; construct; }
+		[NoAccessorMethod]
+		public GLib.ByteArray path_as_array { owned get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_vfs_get_type ()", cheader_filename = "gio/gio.h")]
 	public class Vfs : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected Vfs ();
@@ -1655,31 +1560,31 @@ namespace GLib {
 		public virtual GLib.File get_file_for_path (string path);
 		public virtual GLib.File get_file_for_uri (string uri);
 		public static unowned GLib.Vfs get_local ();
+		[CCode (array_length = false, array_null_terminated = true)]
 		public virtual unowned string[] get_supported_uri_schemes ();
 		public virtual bool is_active ();
 		[NoWrapper]
-		public virtual void local_file_add_info (string filename, uint64 device, GLib.FileAttributeMatcher attribute_matcher, GLib.FileInfo info, GLib.Cancellable? cancellable = null, void* extra_data = null, GLib.DestroyNotify? free_extra_data = null);
+		public virtual void local_file_add_info (string filename, uint64 device, GLib.FileAttributeMatcher attribute_matcher, GLib.FileInfo info, GLib.Cancellable? cancellable = null, void* extra_data, GLib.DestroyNotify free_extra_data);
 		[NoWrapper]
 		public virtual void local_file_moved (string source, string dest);
 		[NoWrapper]
 		public virtual void local_file_removed (string filename);
 		[NoWrapper]
 		public virtual bool local_file_set_attributes (string filename, GLib.FileInfo info, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public virtual unowned GLib.File parse_name (string parse_name);
+		public virtual GLib.File parse_name (string parse_name);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_volume_monitor_get_type ()", cheader_filename = "gio/gio.h")]
 	public class VolumeMonitor : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected VolumeMonitor ();
-		public virtual unowned GLib.Volume adopt_orphan_mount (GLib.Mount mount);
+		[Deprecated (since = "2.20")]
+		public static GLib.Volume adopt_orphan_mount (GLib.Mount mount);
 		public static GLib.VolumeMonitor @get ();
 		public virtual GLib.List<GLib.Drive> get_connected_drives ();
 		public virtual GLib.Mount get_mount_for_uuid (string uuid);
 		public virtual GLib.List<GLib.Mount> get_mounts ();
 		public virtual GLib.Volume get_volume_for_uuid (string uuid);
 		public virtual GLib.List<GLib.Volume> get_volumes ();
-		[NoWrapper]
-		public virtual bool is_supported ();
 		public virtual signal void drive_changed (GLib.Drive drive);
 		public virtual signal void drive_connected (GLib.Drive drive);
 		public virtual signal void drive_disconnected (GLib.Drive drive);
@@ -1693,19 +1598,19 @@ namespace GLib {
 		public virtual signal void volume_changed (GLib.Volume volume);
 		public virtual signal void volume_removed (GLib.Volume volume);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_zlib_compressor_get_type ()", cheader_filename = "gio/gio.h")]
 	public class ZlibCompressor : GLib.Object, GLib.Converter {
 		[CCode (has_construct_function = false)]
-		public ZlibCompressor (GLib.ZlibCompressorFormat format, int level = -1);
+		public ZlibCompressor (GLib.ZlibCompressorFormat format, int level);
 		public unowned GLib.FileInfo get_file_info ();
-		public void set_file_info (GLib.FileInfo file_info);
+		public void set_file_info (GLib.FileInfo? file_info);
 		public GLib.FileInfo file_info { get; set; }
 		[NoAccessorMethod]
 		public GLib.ZlibCompressorFormat format { get; construct; }
 		[NoAccessorMethod]
 		public int level { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (type_id = "g_zlib_decompressor_get_type ()", cheader_filename = "gio/gio.h")]
 	public class ZlibDecompressor : GLib.Object, GLib.Converter {
 		[CCode (has_construct_function = false)]
 		public ZlibDecompressor (GLib.ZlibCompressorFormat format);
@@ -1714,134 +1619,105 @@ namespace GLib {
 		[NoAccessorMethod]
 		public GLib.ZlibCompressorFormat format { get; construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_cname = "GActionInterface", type_id = "g_action_get_type ()")]
 	public interface Action : GLib.Object {
-		public abstract void activate (GLib.Variant parameter);
-		public abstract void change_state (GLib.Variant value);
+		public abstract void activate (GLib.Variant? parameter);
 		public abstract bool get_enabled ();
 		public abstract unowned string get_name ();
 		public abstract unowned GLib.VariantType get_parameter_type ();
-		public abstract unowned GLib.Variant get_state ();
-		public abstract unowned GLib.Variant get_state_hint ();
+		public abstract GLib.Variant get_state ();
+		public abstract GLib.Variant get_state_hint ();
 		public abstract unowned GLib.VariantType get_state_type ();
+		public abstract void set_state (GLib.Variant value);
+		[NoAccessorMethod]
 		public bool enabled { get; }
-		public string name { get; }
-		public GLib.VariantType parameter_type { get; }
-		public GLib.Variant state { get; }
-		public GLib.VariantType state_type { get; }
+		[NoAccessorMethod]
+		public string name { owned get; }
+		[NoAccessorMethod]
+		public GLib.Variant state { owned get; set construct; }
 	}
-	[CCode (cheader_filename = "gio/gio.h", type_cname = "GActionGroupInterface")]
+	[CCode (cheader_filename = "gio/gio.h", type_cname = "GActionGroupInterface", type_id = "g_action_group_get_type ()")]
 	public interface ActionGroup : GLib.Object {
-		public abstract void activate_action (string action_name, GLib.Variant? parameter);
+		public abstract void activate_action (string action_name, GLib.Variant parameter);
 		public abstract void change_action_state (string action_name, GLib.Variant value);
 		public abstract bool get_action_enabled (string action_name);
-		public abstract unowned GLib.VariantType? get_action_parameter_type (string action_name);
-		public abstract GLib.Variant? get_action_state (string action_name);
-		public abstract GLib.Variant? get_action_state_hint (string action_name);
-		public abstract unowned GLib.VariantType? get_action_state_type (string action_name);
+		public abstract unowned GLib.VariantType get_action_parameter_type (string action_name);
+		public abstract GLib.Variant get_action_state (string action_name);
+		public abstract GLib.Variant get_action_state_hint (string action_name);
+		public abstract unowned GLib.VariantType get_action_state_type (string action_name);
 		public abstract bool has_action (string action_name);
 		[CCode (array_length = false, array_null_terminated = true)]
 		public abstract string[] list_actions ();
 		[HasEmitter]
-		public signal void action_added (string action_name);
+		public virtual signal void action_added (string action_name);
 		[HasEmitter]
-		public signal void action_enabled_changed (string action_name, bool enabled);
+		public virtual signal void action_enabled_changed (string action_name, bool enabled);
 		[HasEmitter]
-		public signal void action_removed (string action_name);
+		public virtual signal void action_removed (string action_name);
 		[HasEmitter]
-		public signal void action_state_changed (string action_name, GLib.Variant value);
+		public virtual signal void action_state_changed (string action_name, GLib.Variant value);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_app_info_get_type ()")]
 	public interface AppInfo : GLib.Object {
 		public abstract bool add_supports_type (string content_type) throws GLib.Error;
 		public abstract bool can_delete ();
 		public abstract bool can_remove_supports_type ();
-		public static unowned GLib.AppInfo create_from_commandline (string commandline, string? application_name, GLib.AppInfoCreateFlags flags) throws GLib.Error;
-		public bool @delete ();
-		[NoWrapper]
-		public abstract bool do_delete ();
-		public abstract unowned GLib.AppInfo dup ();
+		public static GLib.AppInfo create_from_commandline (string commandline, string? application_name, GLib.AppInfoCreateFlags flags) throws GLib.Error;
+		[CCode (vfunc_name = "do_delete")]
+		public abstract bool @delete ();
+		public abstract GLib.AppInfo dup ();
 		public abstract bool equal (GLib.AppInfo appinfo2);
 		public static GLib.List<GLib.AppInfo> get_all ();
 		public static GLib.List<GLib.AppInfo> get_all_for_type (string content_type);
 		public abstract unowned string get_commandline ();
-		public static unowned GLib.AppInfo get_default_for_type (string content_type, bool must_support_uris);
-		public static unowned GLib.AppInfo get_default_for_uri_scheme (string uri_scheme);
 		public abstract unowned string get_description ();
 		public abstract unowned string get_display_name ();
 		public abstract unowned string get_executable ();
-		public static unowned GLib.List get_fallback_for_type (string content_type);
 		public abstract unowned GLib.Icon get_icon ();
 		public abstract unowned string get_id ();
 		public abstract unowned string get_name ();
-		public static unowned GLib.List get_recommended_for_type (string content_type);
-		public abstract bool launch (GLib.List<GLib.File>? files, GLib.AppLaunchContext? launch_context) throws GLib.Error;
+		public abstract bool launch (GLib.List<void*> filenames, GLib.AppLaunchContext? launch_context) throws GLib.Error;
 		public static bool launch_default_for_uri (string uri, GLib.AppLaunchContext? launch_context) throws GLib.Error;
-		public abstract bool launch_uris (GLib.List<string>? uris, GLib.AppLaunchContext launch_context) throws GLib.Error;
+		public abstract bool launch_uris (GLib.List<string> uris, GLib.AppLaunchContext? launch_context) throws GLib.Error;
 		public abstract bool remove_supports_type (string content_type) throws GLib.Error;
 		public static void reset_type_associations (string content_type);
 		public abstract bool set_as_default_for_extension (string extension) throws GLib.Error;
 		public abstract bool set_as_default_for_type (string content_type) throws GLib.Error;
-		public abstract bool set_as_last_used_for_type (string content_type) throws GLib.Error;
 		public abstract bool should_show ();
 		public abstract bool supports_files ();
 		public abstract bool supports_uris ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_async_initable_get_type ()")]
 	public interface AsyncInitable : GLib.Object {
 		public abstract async bool init_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public static async unowned GLib.Object new_async (GLib.Type object_type, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable, ...) throws GLib.Error;
-		public static async void new_valist_async (GLib.Type object_type, string first_property_name, void* var_args, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null);
-		public static async void newv_async (GLib.Type object_type, uint n_parameters, GLib.Parameter parameters, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null);
+		public GLib.Object new_finish (GLib.AsyncResult res) throws GLib.Error;
+		public static async void newv_async (GLib.Type object_type, uint n_parameters, GLib.Parameter parameters, int io_priority, GLib.Cancellable? cancellable = null);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_async_result_get_type ()")]
 	public interface AsyncResult : GLib.Object {
-		public abstract unowned GLib.Object get_source_object ();
+		public abstract GLib.Object get_source_object ();
 		public abstract void* get_user_data ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_converter_get_type ()")]
 	public interface Converter : GLib.Object {
-		public abstract GLib.ConverterResult convert ([CCode (array_length_type = "gsize")] uint8[] inbuf, [CCode (array_length_type = "gsize")] uint8[] outbuf, GLib.ConverterFlags flags, out size_t bytes_read, out size_t bytes_written) throws GLib.Error;
+		public abstract GLib.ConverterResult convert ([CCode (type = "void*", array_length_type = "gsize", array_length_cname = "inbuf_size", array_length_pos = 1.5)] uint8[] inbuf, [CCode (type = "void*", array_length_type = "gsize", array_length_cname = "outbuf_size", array_length_pos = 2.5)] uint8[] outbuf, GLib.ConverterFlags flags, out size_t bytes_read, out size_t bytes_written) throws GLib.Error;
 		public abstract void reset ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public interface DBusInterface : GLib.Object {
-		public abstract unowned GLib.DBusInterfaceInfo get_info ();
-		public abstract unowned GLib.DBusObject get_object ();
-		public abstract void set_object (GLib.DBusObject object);
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public interface DBusObject : GLib.Object {
-		public abstract unowned GLib.DBusInterface get_interface (string interface_name);
-		public abstract unowned GLib.List get_interfaces ();
-		public abstract unowned string get_object_path ();
-		public signal void interface_added (GLib.DBusInterface interface_);
-		public signal void interface_removed (GLib.DBusInterface interface_);
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public interface DBusObjectManager : GLib.Object {
-		public abstract unowned GLib.DBusInterface get_interface (string object_path, string interface_name);
-		public abstract unowned GLib.DBusObject get_object (string object_path);
-		public abstract unowned string get_object_path ();
-		public abstract unowned GLib.List get_objects ();
-		public signal void interface_added (GLib.DBusObject object, GLib.DBusInterface interface_);
-		public signal void interface_removed (GLib.DBusObject object, GLib.DBusInterface interface_);
-		public signal void object_added (GLib.DBusObject object);
-		public signal void object_removed (GLib.DBusObject object);
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_drive_get_type ()")]
 	public interface Drive : GLib.Object {
 		public abstract bool can_eject ();
 		public abstract bool can_poll_for_media ();
 		public abstract bool can_start ();
 		public abstract bool can_start_degraded ();
 		public abstract bool can_stop ();
+		[Deprecated (since = "2.22")]
 		public abstract async bool eject (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract unowned string enumerate_identifiers ();
-		public abstract unowned GLib.Icon get_icon ();
-		public abstract unowned string get_identifier (string kind);
-		public abstract unowned string get_name ();
+		public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[CCode (array_length = false, array_null_terminated = true)]
+		public abstract string[] enumerate_identifiers ();
+		public abstract GLib.Icon get_icon ();
+		public abstract string get_identifier (string kind);
+		public abstract string get_name ();
 		public abstract GLib.DriveStartStopType get_start_stop_type ();
 		public abstract GLib.List<GLib.Volume> get_volumes ();
 		public abstract bool has_media ();
@@ -1849,90 +1725,88 @@ namespace GLib {
 		public abstract bool is_media_check_automatic ();
 		public abstract bool is_media_removable ();
 		public abstract async bool poll_for_media (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async bool start (GLib.DriveStartFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async bool stop (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public signal void changed ();
-		public signal void disconnected ();
-		public signal void eject_button ();
-		public signal void stop_button ();
+		public abstract async bool start (GLib.DriveStartFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async bool stop (GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual signal void changed ();
+		public virtual signal void disconnected ();
+		public virtual signal void eject_button ();
+		public virtual signal void stop_button ();
 	}
 	[CCode (cheader_filename = "gio/gio.h")]
 	public interface File : GLib.Object {
 		public abstract GLib.FileOutputStream append_to (GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract async GLib.FileOutputStream append_to_async (GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract bool copy (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable? cancellable = null, GLib.FileProgressCallback? progress_callback = null) throws GLib.Error;
-		public abstract async bool copy_async (GLib.File destination, GLib.FileCopyFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, GLib.FileProgressCallback? progress_callback = null) throws GLib.Error;
 		public bool copy_attributes (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract bool copy_finish (GLib.AsyncResult res) throws GLib.Error;
 		public abstract GLib.FileOutputStream create (GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract async GLib.FileOutputStream create_async (GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract unowned GLib.FileIOStream create_readwrite (GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async unowned GLib.FileIOStream create_readwrite_async (GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public bool @delete (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		[NoWrapper]
-		public abstract bool delete_file (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract unowned GLib.File dup ();
+		public abstract GLib.FileIOStream create_readwrite (GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async GLib.FileIOStream create_readwrite_async (GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[CCode (vfunc_name = "delete_file")]
+		public abstract bool @delete (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract GLib.File dup ();
+		[Deprecated (since = "2.22")]
 		public abstract async bool eject_mountable (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async bool eject_mountable_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async bool eject_mountable_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract GLib.FileEnumerator enumerate_children (string attributes, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract async GLib.FileEnumerator enumerate_children_async (string attributes, GLib.FileQueryInfoFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract bool equal (GLib.File file2);
 		public abstract GLib.Mount find_enclosing_mount (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract async GLib.Mount find_enclosing_mount_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract string? get_basename ();
+		public abstract string get_basename ();
 		public GLib.File get_child (string name);
 		public abstract GLib.File get_child_for_display_name (string display_name) throws GLib.Error;
-		public abstract GLib.File? get_parent ();
+		public abstract GLib.File get_parent ();
 		public abstract string get_parse_name ();
-		public abstract string? get_path ();
-		public abstract string? get_relative_path (GLib.File descendant);
+		public abstract string get_path ();
+		public abstract string get_relative_path (GLib.File descendant);
 		public abstract string get_uri ();
 		public abstract string get_uri_scheme ();
-		public bool has_parent (GLib.File? parent);
-		public bool has_prefix (GLib.File prefix);
+		public bool has_parent (GLib.File parent);
+		[CCode (vfunc_name = "prefix_matches")]
+		public abstract bool has_prefix (GLib.File file);
 		public abstract bool has_uri_scheme (string uri_scheme);
+		[NoWrapper]
 		public abstract uint hash ();
+		public GLib.Icon icon_new ();
 		public abstract bool is_native ();
-		public bool load_contents (GLib.Cancellable? cancellable = null, out uint8[] contents, out string etag_out = null) throws GLib.Error;
-		public async bool load_contents_async (GLib.Cancellable? cancellable = null, out uint8[] contents, out string etag_out = null) throws GLib.Error;
-		public async bool load_partial_contents_async (GLib.Cancellable? cancellable, GLib.FileReadMoreCallback read_more_callback, out uint8[] contents, out string etag_out = null) throws GLib.Error;
+		public bool load_contents (GLib.Cancellable? cancellable = null, out string contents, out size_t length, out string etag_out) throws GLib.Error;
+		public async bool load_contents_async (GLib.Cancellable? cancellable = null, out string contents, out size_t length, out string etag_out) throws GLib.Error;
+		public bool load_partial_contents_finish (GLib.AsyncResult res, out string contents, out size_t length, out string etag_out) throws GLib.Error;
 		public abstract bool make_directory (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool make_directory_with_parents (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract bool make_symbolic_link (string symlink_value, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public unowned GLib.FileMonitor monitor (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public GLib.FileMonitor monitor (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		[CCode (vfunc_name = "monitor_dir")]
-		public abstract GLib.FileMonitor monitor_directory (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public abstract GLib.FileMonitor monitor_file (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError;
-		public abstract async bool mount_enclosing_volume (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async unowned GLib.File mount_mountable (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract bool move (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable? cancellable = null, GLib.FileProgressCallback? progress_callback = null) throws GLib.Error;
+		public abstract GLib.FileMonitor monitor_directory (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract GLib.FileMonitor monitor_file (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async bool mount_enclosing_volume (GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async GLib.File mount_mountable (GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public static GLib.File new_for_commandline_arg (string arg);
 		public static GLib.File new_for_path (string path);
 		public static GLib.File new_for_uri (string uri);
-		public abstract unowned GLib.FileIOStream open_readwrite (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async unowned GLib.FileIOStream open_readwrite_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public static unowned GLib.File parse_name (string parse_name);
+		public abstract GLib.FileIOStream open_readwrite (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async GLib.FileIOStream open_readwrite_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public static GLib.File parse_name (string parse_name);
 		public abstract async bool poll_mountable (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		[NoWrapper]
-		public abstract bool prefix_matches (GLib.File file);
 		public GLib.AppInfo query_default_handler (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool query_exists (GLib.Cancellable? cancellable = null);
 		public GLib.FileType query_file_type (GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null);
 		public abstract GLib.FileInfo query_filesystem_info (string attributes, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async unowned GLib.FileInfo query_filesystem_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async GLib.FileInfo query_filesystem_info_async (string attributes, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract GLib.FileInfo query_info (string attributes, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract async GLib.FileInfo query_info_async (string attributes, GLib.FileQueryInfoFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract unowned GLib.FileAttributeInfoList query_settable_attributes (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract unowned GLib.FileAttributeInfoList query_writable_namespaces (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public GLib.FileInputStream read (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract GLib.FileAttributeInfoList query_settable_attributes (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract GLib.FileAttributeInfoList query_writable_namespaces (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[CCode (vfunc_name = "read_fn")]
+		public abstract GLib.FileInputStream read (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract async GLib.FileInputStream read_async (int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		[NoWrapper]
-		public abstract unowned GLib.FileInputStream read_fn (GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract GLib.FileOutputStream replace (string? etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract async GLib.FileOutputStream replace_async (string? etag, bool make_backup, GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public bool replace_contents (string contents, size_t length, string? etag, bool make_backup, GLib.FileCreateFlags flags, out string? new_etag, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public async bool replace_contents_async (string contents, size_t length, string? etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null, out string? new_etag = null) throws GLib.Error;
-		public abstract unowned GLib.FileIOStream replace_readwrite (string? etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async unowned GLib.FileIOStream replace_readwrite_async (string? etag, bool make_backup, GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public bool replace_contents (string contents, size_t length, string? etag, bool make_backup, GLib.FileCreateFlags flags, out string new_etag, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public async bool replace_contents_async (string contents, size_t length, string? etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null, out string new_etag) throws GLib.Error;
+		public abstract GLib.FileIOStream replace_readwrite (string? etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async GLib.FileIOStream replace_readwrite_async (string? etag, bool make_backup, GLib.FileCreateFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract GLib.File resolve_relative_path (string relative_path);
 		public abstract bool set_attribute (string attribute, GLib.FileAttributeType type, void* value_p, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool set_attribute_byte_string (string attribute, string value, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
@@ -1941,94 +1815,85 @@ namespace GLib {
 		public bool set_attribute_string (string attribute, string value, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool set_attribute_uint32 (string attribute, uint32 value, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool set_attribute_uint64 (string attribute, uint64 value, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async bool set_attributes_async (GLib.FileInfo info, GLib.FileQueryInfoFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable, out unowned GLib.FileInfo info_out) throws GLib.Error;
+		public abstract async bool set_attributes_async (GLib.FileInfo info, GLib.FileQueryInfoFlags flags, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null, out FileInfo info_out) throws GLib.Error;
 		public abstract bool set_attributes_from_info (GLib.FileInfo info, GLib.FileQueryInfoFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract unowned GLib.File set_display_name (string display_name, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async unowned GLib.File set_display_name_async (string display_name, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract GLib.File set_display_name (string display_name, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async GLib.File set_display_name_async (string display_name, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract async bool start_mountable (GLib.DriveStartFlags flags, GLib.MountOperation start_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async bool stop_mountable (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async bool stop_mountable (GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool supports_thread_contexts ();
 		public abstract bool trash (GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[Deprecated (since = "2.22")]
 		public abstract async bool unmount_mountable (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async bool unmount_mountable_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async bool unmount_mountable_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_file_descriptor_based_get_type ()")]
+	public interface FileDescriptorBased : GLib.Object {
+		public abstract int get_fd ();
+	}
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_icon_get_type ()")]
 	public interface Icon : GLib.Object {
 		public abstract bool equal (GLib.Icon icon2);
 		[NoWrapper]
-		public abstract unowned GLib.Icon from_tokens (string tokens, int num_tokens, int version) throws GLib.Error;
-		public abstract uint hash (void* icon);
-		public static GLib.Icon? new_for_string (string str) throws GLib.Error;
-		public string to_string ();
-		[NoWrapper]
-		public abstract bool to_tokens (GLib.GenericArray tokens, int out_version);
+		public abstract uint hash ();
+		[CCode (vfunc_name = "to_tokens")]
+		public abstract bool to_string (GLib.GenericArray<void*> tokens, int out_version);
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_initable_get_type ()")]
 	public interface Initable : GLib.Object {
 		public abstract bool init (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public static void* @new (GLib.Type object_type, GLib.Cancellable? cancellable, ...) throws GLib.Error;
-		public static unowned GLib.Object new_valist (GLib.Type object_type, string first_property_name, void* var_args, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public static void* newv (GLib.Type object_type, uint n_parameters, GLib.Parameter parameters, GLib.Cancellable? cancellable = null) throws GLib.Error;
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_loadable_icon_get_type ()")]
 	public interface LoadableIcon : GLib.Icon, GLib.Object {
-		public abstract unowned GLib.InputStream load (int size, out unowned string? type, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async unowned GLib.InputStream load_async (int size, GLib.Cancellable? cancellable, out unowned string? type) throws GLib.Error;
+		public abstract GLib.InputStream load (int size, string type, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async GLib.InputStream load_async (int size, GLib.Cancellable? cancellable = null) throws GLib.Error;
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_mount_get_type ()")]
 	public interface Mount : GLib.Object {
 		public abstract bool can_eject ();
 		public abstract bool can_unmount ();
+		[Deprecated (since = "2.22")]
 		public abstract async bool eject (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract unowned GLib.File get_default_location ();
-		public abstract unowned GLib.Drive get_drive ();
-		public abstract unowned GLib.Icon get_icon ();
-		public abstract unowned string get_name ();
-		public abstract unowned GLib.File get_root ();
-		public abstract unowned string get_uuid ();
-		public abstract unowned GLib.Volume get_volume ();
-		public abstract async unowned string guess_content_type (bool force_rescan, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract unowned string guess_content_type_sync (bool force_rescan, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract GLib.File get_default_location ();
+		public abstract GLib.Drive get_drive ();
+		public abstract GLib.Icon get_icon ();
+		public abstract string get_name ();
+		public abstract GLib.File get_root ();
+		public abstract string get_uuid ();
+		public abstract GLib.Volume get_volume ();
+		[CCode (array_length = false, array_null_terminated = true)]
+		public abstract async string[] guess_content_type (bool force_rescan, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[CCode (array_length = false, array_null_terminated = true)]
+		public abstract string[] guess_content_type_sync (bool force_rescan, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public bool is_shadowed ();
-		public abstract async bool remount (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async bool remount (GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public void shadow ();
+		[Deprecated (since = "2.22")]
 		public abstract async bool unmount (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async bool unmount_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async bool unmount_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public void unshadow ();
-		public signal void changed ();
-		public signal void pre_unmount ();
-		public signal void unmounted ();
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public interface PollableInputStream : GLib.InputStream {
-		public abstract bool can_poll ();
-		public abstract unowned GLib.TimeoutSource create_source (GLib.Cancellable? cancellable = null);
-		public abstract bool is_readable ();
-		public abstract ssize_t read_nonblocking (void* buffer, size_t size, GLib.Cancellable? cancellable = null) throws GLib.Error;
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public interface PollableOutputStream : GLib.OutputStream {
-		public abstract bool can_poll ();
-		public abstract unowned GLib.TimeoutSource create_source (GLib.Cancellable? cancellable = null);
-		public abstract bool is_writable ();
-		public abstract ssize_t write_nonblocking (void* buffer, size_t size, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public virtual signal void changed ();
+		public virtual signal void pre_unmount ();
+		public virtual signal void unmounted ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_cname = "GProxyInterface", type_id = "g_proxy_get_type ()")]
 	public interface Proxy : GLib.Object {
-		public abstract unowned GLib.IOStream connect (GLib.IOStream connection, GLib.ProxyAddress proxy_address, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async unowned GLib.IOStream connect_async (GLib.IOStream connection, GLib.ProxyAddress proxy_address, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public static unowned GLib.Proxy get_default_for_protocol (string protocol);
+		public abstract GLib.IOStream connect (GLib.IOStream connection, GLib.ProxyAddress proxy_address, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public abstract async GLib.IOStream connect_async (GLib.IOStream connection, GLib.ProxyAddress proxy_address, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract bool supports_hostname ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_cname = "GProxyResolverInterface", type_id = "g_proxy_resolver_get_type ()")]
 	public interface ProxyResolver : GLib.Object {
 		public static unowned GLib.ProxyResolver get_default ();
 		public abstract bool is_supported ();
-		public abstract unowned string lookup (string uri, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async unowned string lookup_async (string uri, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[CCode (array_length = false, array_null_terminated = true)]
+		public abstract string[] lookup (string uri, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[CCode (array_length = false, array_null_terminated = true)]
+		public abstract async string[] lookup_async (string uri, GLib.Cancellable? cancellable = null) throws GLib.Error;
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_seekable_get_type ()")]
 	public interface Seekable : GLib.Object {
 		public abstract bool can_seek ();
 		public abstract bool can_truncate ();
@@ -2037,59 +1902,62 @@ namespace GLib {
 		[CCode (vfunc_name = "truncate_fn")]
 		public abstract bool truncate (int64 offset, GLib.Cancellable? cancellable = null) throws GLib.Error;
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_socket_connectable_get_type ()")]
 	public interface SocketConnectable : GLib.Object {
-		public abstract unowned GLib.SocketAddressEnumerator enumerate ();
-		public abstract unowned GLib.SocketAddressEnumerator proxy_enumerate ();
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public interface TlsBackend : GLib.Object {
-		public abstract GLib.Type get_certificate_type ();
-		public abstract GLib.Type get_client_connection_type ();
-		public static unowned GLib.TlsBackend get_default ();
-		public abstract GLib.Type get_server_connection_type ();
-		public abstract bool supports_tls ();
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public interface TlsClientConnection : GLib.TlsConnection {
-		public unowned GLib.List get_accepted_cas ();
-		public unowned GLib.SocketConnectable get_server_identity ();
-		public bool get_use_ssl3 ();
-		public GLib.TlsCertificateFlags get_validation_flags ();
-		public static unowned GLib.IOStream @new (GLib.IOStream base_io_stream, GLib.SocketConnectable server_identity) throws GLib.Error;
-		public void set_server_identity (GLib.SocketConnectable identity);
-		public void set_use_ssl3 (bool use_ssl3);
-		public void set_validation_flags (GLib.TlsCertificateFlags flags);
-		public void* accepted_cas { get; }
-		public GLib.SocketConnectable server_identity { get; set construct; }
-		public bool use_ssl3 { get; set construct; }
-		public GLib.TlsCertificateFlags validation_flags { get; set construct; }
-	}
-	[CCode (cheader_filename = "gio/gio.h")]
-	public interface TlsServerConnection : GLib.TlsConnection {
-		public static unowned GLib.IOStream @new (GLib.IOStream base_io_stream, GLib.TlsCertificate certificate) throws GLib.Error;
-		public GLib.TlsAuthenticationMode authentication_mode { get; set; }
+		public abstract GLib.SocketAddressEnumerator enumerate ();
+		public abstract GLib.SocketAddressEnumerator proxy_enumerate ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", type_id = "g_volume_get_type ()")]
 	public interface Volume : GLib.Object {
 		public abstract bool can_eject ();
 		public abstract bool can_mount ();
+		[Deprecated (since = "2.22")]
 		public abstract async bool eject (GLib.MountUnmountFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public abstract unowned string enumerate_identifiers ();
-		public abstract unowned GLib.File get_activation_root ();
-		public abstract unowned GLib.Drive get_drive ();
-		public abstract unowned GLib.Icon get_icon ();
-		public abstract unowned string get_identifier (string kind);
-		public abstract unowned GLib.Mount get_mount ();
-		public abstract unowned string get_name ();
-		public abstract unowned string get_uuid ();
-		public async bool mount (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		[NoWrapper]
-		public abstract void mount_fn (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable, GLib.AsyncReadyCallback callback);
+		public abstract async bool eject_with_operation (GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		[CCode (array_length = false, array_null_terminated = true)]
+		public abstract string[] enumerate_identifiers ();
+		public abstract GLib.File get_activation_root ();
+		public abstract GLib.Drive get_drive ();
+		public abstract GLib.Icon get_icon ();
+		public abstract string get_identifier (string kind);
+		public abstract GLib.Mount get_mount ();
+		public abstract string get_name ();
+		public abstract string get_uuid ();
+		[CCode (vfunc_name = "mount_fn")]
+		public abstract async bool mount (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable = null) throws GLib.Error;
 		public abstract bool should_automount ();
-		public signal void changed ();
-		public signal void removed ();
+		public virtual signal void changed ();
+		public virtual signal void removed ();
+	}
+	[CCode (type_id = "G_TYPE_DBUS_ERROR_ENTRY", cheader_filename = "gio/gio.h")]
+	public struct DBusErrorEntry {
+		public int error_code;
+		public weak string dbus_error_name;
+	}
+	[CCode (type_id = "G_TYPE_DBUS_INTERFACE_VTABLE", cheader_filename = "gio/gio.h")]
+	public struct DBusInterfaceVTable {
+		public weak GLib.DBusInterfaceMethodCallFunc method_call;
+		public weak GLib.DBusInterfaceGetPropertyFunc get_property;
+		public weak GLib.DBusInterfaceSetPropertyFunc set_property;
+		[CCode (array_length = false, array_null_terminated = true)]
+		public weak void*[] padding;
+	}
+	[CCode (type_id = "G_TYPE_DBUS_SUBTREE_VTABLE", cheader_filename = "gio/gio.h")]
+	public struct DBusSubtreeVTable {
+		public weak GLib.DBusSubtreeIntrospectFunc introspect;
+		public weak GLib.DBusSubtreeDispatchFunc dispatch;
+		[CCode (array_length = false, array_null_terminated = true)]
+		public weak void*[] padding;
+	}
+	[CCode (type_id = "G_TYPE_INPUT_VECTOR", cheader_filename = "gio/gio.h")]
+	public struct InputVector {
+		public void* buffer;
+		public size_t size;
+	}
+	[CCode (type_id = "G_TYPE_OUTPUT_VECTOR", cheader_filename = "gio/gio.h")]
+	public struct OutputVector {
+		public void* buffer;
+		public size_t size;
 	}
 	[CCode (cprefix = "G_APP_INFO_CREATE_", cheader_filename = "gio/gio.h")]
 	[Flags]
@@ -2107,8 +1975,7 @@ namespace GLib {
 		IS_LAUNCHER,
 		HANDLES_OPEN,
 		HANDLES_COMMAND_LINE,
-		SEND_ENVIRONMENT,
-		NON_UNIQUE
+		SEND_ENVIRONMENT
 	}
 	[CCode (cprefix = "G_ASK_PASSWORD_", cheader_filename = "gio/gio.h")]
 	[Flags]
@@ -2142,7 +2009,8 @@ namespace GLib {
 	[CCode (cprefix = "G_CONVERTER_", cheader_filename = "gio/gio.h")]
 	[Flags]
 	public enum ConverterFlags {
-		NO_FLAGS,
+		[CCode (cname = "G_CONVERTER_NO_FLAGS")]
+		NONE,
 		INPUT_AT_END,
 		FLUSH
 	}
@@ -2157,8 +2025,7 @@ namespace GLib {
 	public enum CredentialsType {
 		INVALID,
 		LINUX_UCRED,
-		FREEBSD_CMSGCRED,
-		OPENBSD_SOCKPEERCRED
+		FREEBSD_CMSGCRED
 	}
 	[CCode (cprefix = "G_DBUS_CALL_FLAGS_", cheader_filename = "gio/gio.h")]
 	[Flags]
@@ -2182,11 +2049,57 @@ namespace GLib {
 		MESSAGE_BUS_CONNECTION,
 		DELAY_MESSAGE_PROCESSING
 	}
-	[CCode (cprefix = "G_DBUS_INTERFACE_SKELETON_FLAGS_", cheader_filename = "gio/gio.h")]
-	[Flags]
-	public enum DBusInterfaceSkeletonFlags {
-		NONE,
-		HANDLE_METHOD_INVOCATIONS_IN_THREAD
+	[CCode (cprefix = "G_DBUS_ERROR_", cheader_filename = "gio/gio.h")]
+	public enum DBusError {
+		FAILED,
+		NO_MEMORY,
+		SERVICE_UNKNOWN,
+		NAME_HAS_NO_OWNER,
+		NO_REPLY,
+		IO_ERROR,
+		BAD_ADDRESS,
+		NOT_SUPPORTED,
+		LIMITS_EXCEEDED,
+		ACCESS_DENIED,
+		AUTH_FAILED,
+		NO_SERVER,
+		TIMEOUT,
+		NO_NETWORK,
+		ADDRESS_IN_USE,
+		DISCONNECTED,
+		INVALID_ARGS,
+		FILE_NOT_FOUND,
+		FILE_EXISTS,
+		UNKNOWN_METHOD,
+		TIMED_OUT,
+		MATCH_RULE_NOT_FOUND,
+		MATCH_RULE_INVALID,
+		SPAWN_EXEC_FAILED,
+		SPAWN_FORK_FAILED,
+		SPAWN_CHILD_EXITED,
+		SPAWN_CHILD_SIGNALED,
+		SPAWN_FAILED,
+		SPAWN_SETUP_FAILED,
+		SPAWN_CONFIG_INVALID,
+		SPAWN_SERVICE_INVALID,
+		SPAWN_SERVICE_NOT_FOUND,
+		SPAWN_PERMISSIONS_INVALID,
+		SPAWN_FILE_INVALID,
+		SPAWN_NO_MEMORY,
+		UNIX_PROCESS_ID_UNKNOWN,
+		INVALID_SIGNATURE,
+		INVALID_FILE_CONTENT,
+		SELINUX_SECURITY_CONTEXT_UNKNOWN,
+		ADT_AUDIT_DATA_UNKNOWN,
+		OBJECT_PATH_IN_USE;
+		public static string encode_gerror (GLib.Error error);
+		public static string get_remote_error (GLib.Error error);
+		public static bool is_remote_error (GLib.Error error);
+		public static GLib.Quark quark ();
+		public static bool register_error (GLib.Quark error_domain, int error_code, string dbus_error_name);
+		public static void register_error_domain (string error_domain_quark_name, size_t quark_volatile, GLib.DBusErrorEntry entries, uint num_entries);
+		public static bool strip_remote_error (GLib.Error error);
+		public static bool unregister_error (GLib.Quark error_domain, int error_code, string dbus_error_name);
 	}
 	[CCode (cprefix = "G_DBUS_MESSAGE_BYTE_ORDER_", cheader_filename = "gio/gio.h")]
 	public enum DBusMessageByteOrder {
@@ -2221,12 +2134,6 @@ namespace GLib {
 		ERROR,
 		SIGNAL
 	}
-	[CCode (cprefix = "G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_", cheader_filename = "gio/gio.h")]
-	[Flags]
-	public enum DBusObjectManagerClientFlags {
-		NONE,
-		DO_NOT_AUTO_START
-	}
 	[CCode (cprefix = "G_DBUS_PROPERTY_INFO_FLAGS_", cheader_filename = "gio/gio.h")]
 	[Flags]
 	public enum DBusPropertyInfoFlags {
@@ -2383,14 +2290,6 @@ namespace GLib {
 		IF_LOCAL,
 		NEVER
 	}
-	[CCode (cprefix = "G_IO_STREAM_SPLICE_", cheader_filename = "gio/gio.h")]
-	[Flags]
-	public enum IOStreamSpliceFlags {
-		NONE,
-		CLOSE_STREAM1,
-		CLOSE_STREAM2,
-		WAIT_FOR_BOTH
-	}
 	[CCode (cprefix = "G_MOUNT_MOUNT_", cheader_filename = "gio/gio.h")]
 	public enum MountMountFlags {
 		NONE
@@ -2459,40 +2358,6 @@ namespace GLib {
 		DATAGRAM,
 		SEQPACKET
 	}
-	[CCode (cprefix = "G_TLS_AUTHENTICATION_", cheader_filename = "gio/gio.h")]
-	public enum TlsAuthenticationMode {
-		NONE,
-		REQUESTED,
-		REQUIRED
-	}
-	[CCode (cprefix = "G_TLS_CERTIFICATE_", cheader_filename = "gio/gio.h")]
-	[Flags]
-	public enum TlsCertificateFlags {
-		UNKNOWN_CA,
-		BAD_IDENTITY,
-		NOT_ACTIVATED,
-		EXPIRED,
-		REVOKED,
-		INSECURE,
-		GENERIC_ERROR,
-		VALIDATE_ALL
-	}
-	[CCode (cprefix = "G_TLS_ERROR_", cheader_filename = "gio/gio.h")]
-	public enum TlsError {
-		UNAVAILABLE,
-		MISC,
-		BAD_CERTIFICATE,
-		NOT_TLS,
-		HANDSHAKE,
-		CERTIFICATE_REQUIRED,
-		EOF
-	}
-	[CCode (cprefix = "G_TLS_REHANDSHAKE_", cheader_filename = "gio/gio.h")]
-	public enum TlsRehandshakeMode {
-		NEVER,
-		SAFELY,
-		UNSAFELY
-	}
 	[CCode (cprefix = "G_UNIX_SOCKET_ADDRESS_", cheader_filename = "gio/gio.h")]
 	public enum UnixSocketAddressType {
 		INVALID,
@@ -2507,50 +2372,6 @@ namespace GLib {
 		GZIP,
 		RAW
 	}
-	[CCode (cprefix = "G_DBUS_ERROR_", cheader_filename = "gio/gio.h")]
-	public errordomain DBusError {
-		FAILED,
-		NO_MEMORY,
-		SERVICE_UNKNOWN,
-		NAME_HAS_NO_OWNER,
-		NO_REPLY,
-		IO_ERROR,
-		BAD_ADDRESS,
-		NOT_SUPPORTED,
-		LIMITS_EXCEEDED,
-		ACCESS_DENIED,
-		AUTH_FAILED,
-		NO_SERVER,
-		TIMEOUT,
-		NO_NETWORK,
-		ADDRESS_IN_USE,
-		DISCONNECTED,
-		INVALID_ARGS,
-		FILE_NOT_FOUND,
-		FILE_EXISTS,
-		UNKNOWN_METHOD,
-		TIMED_OUT,
-		MATCH_RULE_NOT_FOUND,
-		MATCH_RULE_INVALID,
-		SPAWN_EXEC_FAILED,
-		SPAWN_FORK_FAILED,
-		SPAWN_CHILD_EXITED,
-		SPAWN_CHILD_SIGNALED,
-		SPAWN_FAILED,
-		SPAWN_SETUP_FAILED,
-		SPAWN_CONFIG_INVALID,
-		SPAWN_SERVICE_INVALID,
-		SPAWN_SERVICE_NOT_FOUND,
-		SPAWN_PERMISSIONS_INVALID,
-		SPAWN_FILE_INVALID,
-		SPAWN_NO_MEMORY,
-		UNIX_PROCESS_ID_UNKNOWN,
-		INVALID_SIGNATURE,
-		INVALID_FILE_CONTENT,
-		SELINUX_SECURITY_CONTEXT_UNKNOWN,
-		ADT_AUDIT_DATA_UNKNOWN,
-		OBJECT_PATH_IN_USE
-	}
 	[CCode (cprefix = "G_IO_ERROR_", cheader_filename = "gio/gio.h")]
 	public errordomain IOError {
 		FAILED,
@@ -2596,71 +2417,64 @@ namespace GLib {
 		PROXY_FAILED,
 		PROXY_AUTH_FAILED,
 		PROXY_NEED_AUTH,
-		PROXY_NOT_ALLOWED
+		PROXY_NOT_ALLOWED;
+		public static unowned GLib.IOError from_errno (int err_no);
+		public static GLib.Quark quark ();
 	}
 	[CCode (cprefix = "G_RESOLVER_ERROR_", cheader_filename = "gio/gio.h")]
 	public errordomain ResolverError {
 		NOT_FOUND,
 		TEMPORARY_FAILURE,
-		INTERNAL
+		INTERNAL;
+		public static GLib.Quark quark ();
 	}
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
 	public delegate void AsyncReadyCallback (GLib.Object? source_object, GLib.AsyncResult res);
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
 	public delegate void BusAcquiredCallback (GLib.DBusConnection connection, string name);
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
 	public delegate void BusNameAcquiredCallback (GLib.DBusConnection connection, string name);
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 3.9)]
 	public delegate void BusNameAppearedCallback (GLib.DBusConnection connection, string name, string name_owner);
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
 	public delegate void BusNameLostCallback (GLib.DBusConnection connection, string name);
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
 	public delegate void BusNameVanishedCallback (GLib.DBusConnection connection, string name);
-	[CCode (cheader_filename = "gio/gio.h")]
-	public delegate bool CancellableSourceFunc (GLib.Cancellable? cancellable);
-	[CCode (cheader_filename = "gio/gio.h")]
-	public delegate unowned GLib.Variant DBusInterfaceGetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name) throws GLib.Error;
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)]
+	public delegate GLib.Variant DBusInterfaceGetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name, GLib.Error error);
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 7.9)]
 	public delegate void DBusInterfaceMethodCallFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string method_name, GLib.Variant parameters, GLib.DBusMethodInvocation invocation);
-	[CCode (cheader_filename = "gio/gio.h")]
-	public delegate bool DBusInterfaceSetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name, GLib.Variant value) throws GLib.Error;
-	[CCode (cheader_filename = "gio/gio.h")]
-	public delegate unowned GLib.DBusMessage DBusMessageFilterFunction (GLib.DBusConnection connection, GLib.DBusMessage message, bool incoming);
-	[CCode (cheader_filename = "gio/gio.h")]
-	public delegate GLib.Type DBusProxyTypeFunc (GLib.DBusObjectManagerClient manager, string object_path, string interface_name);
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 7.9)]
+	public delegate bool DBusInterfaceSetPropertyFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string property_name, GLib.Variant value, GLib.Error error);
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 3.9)]
+	public delegate GLib.DBusMessage DBusMessageFilterFunction (GLib.DBusConnection connection, owned GLib.DBusMessage message, bool incoming);
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)]
 	public delegate void DBusSignalCallback (GLib.DBusConnection connection, string sender_name, string object_path, string interface_name, string signal_name, GLib.Variant parameters);
-	[CCode (cheader_filename = "gio/gio.h")]
-	public delegate unowned GLib.DBusInterfaceVTable DBusSubtreeDispatchFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string node, void* out_user_data);
-	[CCode (cheader_filename = "gio/gio.h")]
-	public delegate unowned string DBusSubtreeEnumerateFunc (GLib.DBusConnection connection, string sender, string object_path);
-	[CCode (cheader_filename = "gio/gio.h")]
-	public delegate unowned GLib.DBusInterfaceInfo DBusSubtreeIntrospectFunc (GLib.DBusConnection connection, string sender, string object_path, string node);
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 6.9)]
+	public delegate GLib.DBusInterfaceVTable DBusSubtreeDispatchFunc (GLib.DBusConnection connection, string sender, string object_path, string interface_name, string node, void* out_user_data);
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 4.9)]
+	public delegate GLib.DBusInterfaceInfo DBusSubtreeIntrospectFunc (GLib.DBusConnection connection, string sender, string object_path, string node);
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
 	public delegate void FileProgressCallback (int64 current_num_bytes, int64 total_num_bytes);
 	[CCode (cheader_filename = "gio/gio.h", has_target = false)]
 	public delegate bool FileReadMoreCallback (string file_contents, int64 file_size, void* callback_data);
-	[CCode (cheader_filename = "gio/gio.h")]
-	public delegate bool IOSchedulerJobFunc (GLib.IOSchedulerJob job, GLib.Cancellable? cancellable);
-	[CCode (cheader_filename = "gio/gio.h")]
-	public delegate bool PollableSourceFunc (GLib.Object pollable_stream);
-	[CCode (cheader_filename = "gio/gio.h", has_target = false)]
-	public delegate void* ReallocFunc (void* data, size_t size);
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
+	public delegate bool IOSchedulerJobFunc (GLib.IOSchedulerJob job, GLib.Cancellable? cancellable = null);
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 1.9)]
+	public delegate void PeriodicRepairFunc (GLib.Periodic periodic);
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
+	public delegate void PeriodicTickFunc (GLib.Periodic periodic, uint64 timestamp);
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
 	public delegate bool SettingsBindGetMapping (GLib.Value value, GLib.Variant variant);
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
 	public delegate GLib.Variant SettingsBindSetMapping (GLib.Value value, GLib.VariantType expected_type);
-	[CCode (cheader_filename = "gio/gio.h")]
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
 	public delegate bool SettingsGetMapping (GLib.Variant value, void* result);
 	[CCode (cheader_filename = "gio/gio.h", has_target = false)]
-	public delegate void SimpleAsyncThreadFunc (GLib.SimpleAsyncResult res, GLib.Object object, GLib.Cancellable? cancellable);
-	[CCode (cheader_filename = "gio/gio.h")]
+	public delegate void SimpleAsyncThreadFunc (GLib.SimpleAsyncResult res, GLib.Object object, GLib.Cancellable? cancellable = null);
+	[CCode (cheader_filename = "gio/gio.h", instance_pos = 2.9)]
 	public delegate bool SocketSourceFunc (GLib.Socket socket, GLib.IOCondition condition);
 	[CCode (cheader_filename = "gio/gio.h")]
-	public static GLib.EqualFunc file_equal;
-	[CCode (cheader_filename = "gio/gio.h")]
-	public static GLib.HashFunc file_hash;
-	[CCode (cheader_filename = "gio/gio.h")]
 	public const string FILE_ATTRIBUTE_ACCESS_CAN_DELETE;
 	[CCode (cheader_filename = "gio/gio.h")]
 	public const string FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE;
@@ -2817,7 +2631,7 @@ namespace GLib {
 	[CCode (cheader_filename = "gio/gio.h")]
 	public const string PROXY_RESOLVER_EXTENSION_POINT_NAME;
 	[CCode (cheader_filename = "gio/gio.h")]
-	public const string TLS_BACKEND_EXTENSION_POINT_NAME;
+	public const string SETTINGS_BACKEND_EXTENSION_POINT_NAME;
 	[CCode (cheader_filename = "gio/gio.h")]
 	public const string VFS_EXTENSION_POINT_NAME;
 	[CCode (cheader_filename = "gio/gio.h")]
@@ -2832,6 +2646,48 @@ namespace GLib {
 	public const string VOLUME_IDENTIFIER_KIND_UUID;
 	[CCode (cheader_filename = "gio/gio.h")]
 	public const string VOLUME_MONITOR_EXTENSION_POINT_NAME;
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static async void bus_get (GLib.BusType bus_type, GLib.Cancellable? cancellable = null);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static GLib.DBusConnection bus_get_sync (GLib.BusType bus_type, GLib.Cancellable? cancellable = null) throws GLib.Error;
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static uint bus_own_name_on_connection_with_closures (GLib.DBusConnection connection, string name, GLib.BusNameOwnerFlags flags, GLib.Closure? name_acquired_closure, GLib.Closure? name_lost_closure);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static uint bus_own_name_with_closures (GLib.BusType bus_type, string name, GLib.BusNameOwnerFlags flags, GLib.Closure? bus_acquired_closure, GLib.Closure? name_acquired_closure, GLib.Closure? name_lost_closure);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static void bus_unown_name (uint owner_id);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static void bus_unwatch_name (uint watcher_id);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static uint bus_watch_name_on_connection_with_closures (GLib.DBusConnection connection, string name, GLib.BusNameWatcherFlags flags, GLib.Closure? name_appeared_closure, GLib.Closure? name_vanished_closure);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static uint bus_watch_name_with_closures (GLib.BusType bus_type, string name, GLib.BusNameWatcherFlags flags, GLib.Closure? name_appeared_closure, GLib.Closure? name_vanished_closure);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static GLib.List<string> content_types_get_registered ();
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static string dbus_address_get_for_bus_sync (GLib.BusType bus_type, GLib.Cancellable? cancellable = null) throws GLib.Error;
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static async GLib.IOStream dbus_address_get_stream (string address, GLib.Cancellable? cancellable = null) throws GLib.Error;
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static GLib.IOStream dbus_address_get_stream_sync (string address, string out_guid, GLib.Cancellable? cancellable = null) throws GLib.Error;
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static string dbus_generate_guid ();
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool dbus_is_address (string string);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool dbus_is_guid (string string);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool dbus_is_interface_name (string string);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool dbus_is_member_name (string string);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool dbus_is_name (string string);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool dbus_is_supported_address (string string) throws GLib.Error;
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool dbus_is_unique_name (string string);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static uint file_hash (void* file);
 	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.can_be_executable")]
 	[CCode (cname = "g_content_type_can_be_executable", cheader_filename = "gio/gio.h")]
 	public static bool g_content_type_can_be_executable (string type);
@@ -2862,78 +2718,54 @@ namespace GLib {
 	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.is_unknown")]
 	[CCode (cname = "g_content_type_is_unknown", cheader_filename = "gio/gio.h")]
 	public static bool g_content_type_is_unknown (string type);
-	[CCode (cname = "g_content_types_get_registered", cheader_filename = "gio/gio.h")]
-	public static GLib.List<string> g_content_types_get_registered ();
-	[CCode (cname = "g_dbus_address_get_for_bus_sync", cheader_filename = "gio/gio.h")]
-	public static unowned string g_dbus_address_get_for_bus_sync (GLib.BusType bus_type, GLib.Cancellable? cancellable = null) throws GLib.Error;
-	[CCode (cname = "g_dbus_address_get_stream", cheader_filename = "gio/gio.h")]
-	public static async void g_dbus_address_get_stream (string address, GLib.Cancellable? cancellable = null);
-	[CCode (cname = "g_dbus_address_get_stream_finish", cheader_filename = "gio/gio.h")]
-	public static unowned GLib.IOStream g_dbus_address_get_stream_finish (GLib.AsyncResult res, string out_guid) throws GLib.Error;
-	[CCode (cname = "g_dbus_address_get_stream_sync", cheader_filename = "gio/gio.h")]
-	public static unowned GLib.IOStream g_dbus_address_get_stream_sync (string address, string out_guid, GLib.Cancellable? cancellable = null) throws GLib.Error;
-	[CCode (cname = "g_dbus_error_encode_gerror", cheader_filename = "gio/gio.h")]
-	public static unowned string g_dbus_error_encode_gerror (GLib.Error error);
-	[CCode (cname = "g_dbus_error_get_remote_error", cheader_filename = "gio/gio.h")]
-	public static unowned string g_dbus_error_get_remote_error (GLib.Error error);
-	[CCode (cname = "g_dbus_error_is_remote_error", cheader_filename = "gio/gio.h")]
-	public static bool g_dbus_error_is_remote_error (GLib.Error error);
-	[CCode (cname = "g_dbus_error_new_for_dbus_error", cheader_filename = "gio/gio.h")]
-	public static unowned GLib.Error g_dbus_error_new_for_dbus_error (string dbus_error_name, string dbus_error_message);
-	[CCode (cname = "g_dbus_error_quark", cheader_filename = "gio/gio.h")]
-	public static GLib.Quark g_dbus_error_quark ();
-	[CCode (cname = "g_dbus_error_register_error", cheader_filename = "gio/gio.h")]
-	public static bool g_dbus_error_register_error (GLib.Quark error_domain, int error_code, string dbus_error_name);
-	[CCode (cname = "g_dbus_error_register_error_domain", cheader_filename = "gio/gio.h")]
-	public static void g_dbus_error_register_error_domain (string error_domain_quark_name, size_t quark_volatile, GLib.DBusErrorEntry entries, uint num_entries);
-	[CCode (cname = "g_dbus_error_set_dbus_error", cheader_filename = "gio/gio.h")]
-	public static void g_dbus_error_set_dbus_error (string dbus_error_name, string dbus_error_message, string format) throws GLib.Error;
-	[CCode (cname = "g_dbus_error_set_dbus_error_valist", cheader_filename = "gio/gio.h")]
-	public static void g_dbus_error_set_dbus_error_valist (string dbus_error_name, string dbus_error_message, string format, void* var_args) throws GLib.Error;
-	[CCode (cname = "g_dbus_error_strip_remote_error", cheader_filename = "gio/gio.h")]
-	public static bool g_dbus_error_strip_remote_error (GLib.Error error);
-	[CCode (cname = "g_dbus_error_unregister_error", cheader_filename = "gio/gio.h")]
-	public static bool g_dbus_error_unregister_error (GLib.Quark error_domain, int error_code, string dbus_error_name);
-	[CCode (cname = "g_dbus_generate_guid", cheader_filename = "gio/gio.h")]
-	public static unowned string g_dbus_generate_guid ();
-	[CCode (cname = "g_dbus_gvalue_to_gvariant", cheader_filename = "gio/gio.h")]
-	public static unowned GLib.Variant g_dbus_gvalue_to_gvariant (GLib.Value gvalue, GLib.VariantType type);
-	[CCode (cname = "g_dbus_gvariant_to_gvalue", cheader_filename = "gio/gio.h")]
-	public static void g_dbus_gvariant_to_gvalue (GLib.Variant value, GLib.Value out_gvalue);
-	[CCode (cname = "g_dbus_is_address", cheader_filename = "gio/gio.h")]
-	public static bool g_dbus_is_address (string str);
-	[CCode (cname = "g_dbus_is_guid", cheader_filename = "gio/gio.h")]
-	public static bool g_dbus_is_guid (string str);
-	[CCode (cname = "g_dbus_is_interface_name", cheader_filename = "gio/gio.h")]
-	public static bool g_dbus_is_interface_name (string str);
-	[CCode (cname = "g_dbus_is_member_name", cheader_filename = "gio/gio.h")]
-	public static bool g_dbus_is_member_name (string str);
-	[CCode (cname = "g_dbus_is_name", cheader_filename = "gio/gio.h")]
-	public static bool g_dbus_is_name (string str);
-	[CCode (cname = "g_dbus_is_supported_address", cheader_filename = "gio/gio.h")]
-	public static bool g_dbus_is_supported_address (string str) throws GLib.Error;
-	[CCode (cname = "g_dbus_is_unique_name", cheader_filename = "gio/gio.h")]
-	public static bool g_dbus_is_unique_name (string str);
-	[CCode (cname = "g_io_error_from_errno", cheader_filename = "gio/gio.h")]
-	public static unowned GLib.IOError g_io_error_from_errno (int err_no);
-	[CCode (cname = "g_io_error_quark", cheader_filename = "gio/gio.h")]
-	public static GLib.Quark g_io_error_quark ();
-	[CCode (cname = "g_io_modules_load_all_in_directory", cheader_filename = "gio/gio.h")]
-	public static GLib.List<weak GLib.TypeModule> g_io_modules_load_all_in_directory (string dirname);
-	[CCode (cname = "g_io_modules_scan_all_in_directory", cheader_filename = "gio/gio.h")]
-	public static void g_io_modules_scan_all_in_directory (string dirname);
-	[CCode (cname = "g_io_scheduler_cancel_all_jobs", cheader_filename = "gio/gio.h")]
-	public static void g_io_scheduler_cancel_all_jobs ();
-	[CCode (cname = "g_io_scheduler_push_job", cheader_filename = "gio/gio.h")]
-	public static void g_io_scheduler_push_job (owned GLib.IOSchedulerJobFunc job_func, int io_priority = GLib.Priority.DEFAULT, GLib.Cancellable? cancellable = null);
-	[CCode (cname = "g_pollable_source_new", cheader_filename = "gio/gio.h")]
-	public static unowned GLib.TimeoutSource g_pollable_source_new (GLib.Object pollable_stream);
-	[CCode (cname = "g_simple_async_report_error_in_idle", cheader_filename = "gio/gio.h")]
-	public static void g_simple_async_report_error_in_idle (GLib.Object object, GLib.AsyncReadyCallback callback, GLib.Quark domain, int code, string format);
-	[CCode (cname = "g_simple_async_report_gerror_in_idle", cheader_filename = "gio/gio.h")]
-	public static void g_simple_async_report_gerror_in_idle (GLib.Object object, GLib.AsyncReadyCallback callback, GLib.Error error);
-	[CCode (cname = "g_simple_async_report_take_gerror_in_idle", cheader_filename = "gio/gio.h")]
-	public static void g_simple_async_report_take_gerror_in_idle (GLib.Object object, GLib.AsyncReadyCallback callback, GLib.Error error);
-	[CCode (cname = "g_tls_error_quark", cheader_filename = "gio/gio.h")]
-	public static GLib.Quark g_tls_error_quark ();
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static uint icon_hash (void* icon);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static GLib.Type io_extension_get_type (GLib.IOExtension extension);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static GLib.List<GLib.IOModule> io_modules_load_all_in_directory (string dirname);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static void io_modules_scan_all_in_directory (string dirname);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static void io_scheduler_cancel_all_jobs ();
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static void io_scheduler_push_job ([CCode (delegate_target_pos = 1.33333)] owned GLib.IOSchedulerJobFunc job_func, int io_priority, GLib.Cancellable? cancellable = null);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static GLib.SettingsBackend keyfile_settings_backend_new (string filename, string root_path, string? root_group);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static async void simple_async_report_gerror_in_idle (GLib.Object object, GLib.Error error);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static async void simple_async_report_take_gerror_in_idle (GLib.Object object, GLib.Error error);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool unix_is_mount_path_system_internal (string mount_path);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static int unix_mount_compare (GLib.UnixMountEntry mount1, GLib.UnixMountEntry mount2);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static void unix_mount_free (GLib.UnixMountEntry mount_entry);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static unowned string unix_mount_get_device_path (GLib.UnixMountEntry mount_entry);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static unowned string unix_mount_get_fs_type (GLib.UnixMountEntry mount_entry);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static unowned string unix_mount_get_mount_path (GLib.UnixMountEntry mount_entry);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool unix_mount_guess_can_eject (GLib.UnixMountEntry mount_entry);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static GLib.Icon unix_mount_guess_icon (GLib.UnixMountEntry mount_entry);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static string unix_mount_guess_name (GLib.UnixMountEntry mount_entry);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool unix_mount_guess_should_display (GLib.UnixMountEntry mount_entry);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool unix_mount_is_readonly (GLib.UnixMountEntry mount_entry);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool unix_mount_is_system_internal (GLib.UnixMountEntry mount_entry);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool unix_mount_points_changed_since (uint64 time);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static GLib.List<string> unix_mount_points_get (uint64? time_read);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static bool unix_mounts_changed_since (uint64 time);
+	[CCode (cheader_filename = "gio/gio.h")]
+	public static GLib.List<string> unix_mounts_get (uint64? time_read);
 }
diff --git a/vapi/metadata/Gio-2.0-custom.vala b/vapi/metadata/Gio-2.0-custom.vala
new file mode 100644
index 0000000..be79689
--- /dev/null
+++ b/vapi/metadata/Gio-2.0-custom.vala
@@ -0,0 +1,109 @@
+/* gtk+-2.0.vala
+ *
+ * Copyright (C) 2008  Jared Moore
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ *
+ * Author:
+ * 	Jared Moore  <jaredm gmx com>
+ */
+
+namespace GLib {
+	[Compact]
+	[CCode (cname = "GIOExtension")]
+	public class IOExtension {
+		public extern Type get_type ();
+	}
+
+	[CCode (cname = "GFile")]
+	public interface File : Object {
+/*		[CCode (vfunc_name = "monitor_dir")]
+		public abstract GLib.FileMonitor monitor_directory (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public abstract GLib.FileMonitor monitor_file (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError;*/
+	}
+
+	[Compact]
+	[CCode (cname = "GSource", ref_function = "g_source_ref", unref_function = "g_source_unref")]
+	public class SocketSource : GLib.Source {
+		[CCode (cname = "g_source_set_callback")]
+		public void set_callback ([CCode (type = "GSourceFunc")] owned SocketSourceFunc func);
+	}
+
+//	[CCode (cname = "g_file_hash", cheader_filename = "gio/gio.h")]
+//	public static GLib.HashFunc file_hash;
+//	[CCode (cname = "g_file_equal", cheader_filename = "gio/gio.h")]
+//	public static GLib.EqualFunc file_equal;
+
+	[CCode (cname = "GApplication")]
+	public class Application : Object, ActionGroup {
+		[CCode (cname = "g_application_quit_with_data")]
+		public bool quit (GLib.Variant? platform_data = null);
+	}
+
+	[CCode (cheader_filename = "gio/gio.h")]
+	namespace Bus {
+		public async GLib.DBusConnection get (GLib.BusType bus_type, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public GLib.DBusConnection get_sync (GLib.BusType bus_type, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public async T get_proxy<T> (GLib.BusType bus_type, string name, string object_path, GLib.DBusProxyFlags flags = 0, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public T get_proxy_sync<T> (GLib.BusType bus_type, string name, string object_path, GLib.DBusProxyFlags flags = 0, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		[CCode (cname = "g_bus_own_name_with_closures")]
+		public uint own_name (GLib.BusType bus_type, string name, GLib.BusNameOwnerFlags flags, [CCode (type = "GClosure*")] owned GLib.BusAcquiredCallback bus_acquired_handler, [CCode (type = "GClosure*")] owned GLib.BusNameAcquiredCallback name_acquired_handler, [CCode (type = "GClosure*")] owned GLib.BusNameLostCallback name_lost_handler);
+		[CCode (cname = "g_bus_own_name_on_connection_with_closures")]
+		public uint own_name_on_connection (GLib.DBusConnection connection, string name, GLib.BusNameOwnerFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAcquiredCallback name_acquired_handler, [CCode (type = "GClosure*")] owned GLib.BusNameLostCallback name_lost_handler);
+		public void unown_name (uint owner_id);
+		public void unwatch_name (uint watcher_id);
+		[CCode (cname = "g_bus_watch_name_with_closures")]
+		public uint watch_name (GLib.BusType bus_type, string name, GLib.BusNameWatcherFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAppearedCallback name_appeared_handler, [CCode (type = "GClosure*")] owned GLib.BusNameVanishedCallback name_vanished_handler);
+		[CCode (cname = "g_bus_watch_name_on_connection_with_closures")]
+		public uint watch_name_on_connection (GLib.DBusConnection connection, string name, GLib.BusNameWatcherFlags flags, [CCode (type = "GClosure*")] owned GLib.BusNameAppearedCallback name_appeared_handler, [CCode (type = "GClosure*")] owned GLib.BusNameVanishedCallback name_vanished_handler);
+	}
+
+	[CCode (cname = "GDBusConnection")]
+	public class DBusConnection : Object, Initable, AsyncInitable {
+		public async T get_proxy<T> (string? name, string object_path, GLib.DBusProxyFlags flags = 0, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+		public T get_proxy_sync<T> (string? name, string object_path, GLib.DBusProxyFlags flags = 0, GLib.Cancellable? cancellable = null) throws GLib.IOError;
+//		public uint register_object<T> (string object_path, T object) throws GLib.IOError;
+	}
+	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.can_be_executable")]
+	[CCode (cname = "g_content_type_can_be_executable", cheader_filename = "gio/gio.h")]
+	public static bool g_content_type_can_be_executable (string type);
+	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.equals")]
+	[CCode (cname = "g_content_type_equals", cheader_filename = "gio/gio.h")]
+	public static bool g_content_type_equals (string type1, string type2);
+	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.from_mime_type")]
+	[CCode (cname = "g_content_type_from_mime_type", cheader_filename = "gio/gio.h")]
+	public static string g_content_type_from_mime_type (string mime_type);
+	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.get_description")]
+	[CCode (cname = "g_content_type_get_description", cheader_filename = "gio/gio.h")]
+	public static string g_content_type_get_description (string type);
+	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.get_icon")]
+	[CCode (cname = "g_content_type_get_icon", cheader_filename = "gio/gio.h")]
+	public static GLib.Icon g_content_type_get_icon (string type);
+	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.get_mime_type")]
+	[CCode (cname = "g_content_type_get_mime_type", cheader_filename = "gio/gio.h")]
+	public static string g_content_type_get_mime_type (string type);
+	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.guess")]
+	[CCode (cname = "g_content_type_guess", cheader_filename = "gio/gio.h")]
+	public static string g_content_type_guess (string filename, uchar[] data, out bool result_uncertain);
+	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.guess_for_tree")]
+	[CCode (cname = "g_content_type_guess_for_tree", cheader_filename = "gio/gio.h")]
+	public static string g_content_type_guess_for_tree (GLib.File root);
+	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.is_a")]
+	[CCode (cname = "g_content_type_is_a", cheader_filename = "gio/gio.h")]
+	public static bool g_content_type_is_a (string type, string supertype);
+	[Deprecated (since = "vala-0.12", replacement = "GLib.ContentType.is_unknown")]
+	[CCode (cname = "g_content_type_is_unknown", cheader_filename = "gio/gio.h")]
+	public static bool g_content_type_is_unknown (string type);
+}
diff --git a/vapi/metadata/Gio-2.0.metadata b/vapi/metadata/Gio-2.0.metadata
new file mode 100644
index 0000000..9e2d3dc
--- /dev/null
+++ b/vapi/metadata/Gio-2.0.metadata
@@ -0,0 +1,112 @@
+Gio name="GLib"
+content_type_* parent="GLib.ContentType" name="content_type_(.*)"
+*.cancellable nullable default=null
+*.*.cancellable nullable default=null
+*.*.io_priority default = GLib.Priority.DEFAULT
+Application.run.argv default=null
+BufferedInputStream.peek.offset default=0
+DBusConnection
+	.new_sync.observer default=null
+	.new_for_address_sync.observer default=null
+	.call.timeout_msec default=-1
+	.call_sync.timeout_msec default=-1
+	.send_message.out_serial default=null
+	.send_message_with_reply.out_serial default=null
+	.send_message_with_reply_sync.out_serial default=null
+bus_get_finish skip
+DBusServer.new_sync.observer default=null
+UnixSocketAddress.new_abstract skip
+
+// Mini-object
+FileAttributeInfo struct=false
+
+// Possible GI bugs
+FileIOStream.seek.cancellable nullable
+FileInputStream.seek.cancellable nullable
+FileOutputStream.seek.cancellable nullable
+
+// Re-check these
+SimpleAsyncResult.new_take_error skip
+
+// Forward upstream
+app_info_launch_default_for_uri.launch_context nullable
+AppLaunchContext
+	.get_display.files type_arguments="File"
+	.get_startup_notify_id.files type_arguments="File"
+Application
+	.run.argv array nullable array_length_idx=0
+ApplicationCommandLine.get_platform_data nullable
+AsyncReadyCallback.source_object nullable
+BufferedInputStream
+	.peek.buffer type="uint8[]" array_length_idx=2
+	.peek_buffer type="unowned uint8[]" array_length_idx=0
+Converter.convert
+	.inbuf type="uint8[]" array_length_idx=1
+	.outbuf type="uint8[]" array_length_idx=3
+	.bytes_read out
+	.bytes_written out
+DBus*
+	.annotations array
+	.signals array
+	.properties array
+	.methods array
+	.args array
+	.in_args array
+	.out_args array
+	.nodes array
+	.interfaces array
+Credentials.get_native skip=false
+DBusConnection
+	.new_sync.observer nullable
+	.new_for_address.observer nullable
+	.new_for_address_sync.observer nullable
+	.call.parameters nullable
+	.call.reply_type nullable
+	.call_sync.parameters nullable
+	.call_sync.reply_type nullable
+	.emit_signal.destination_bus_name nullable
+	.emit_signal.parameters nullable
+	.send_message.out_serial out nullable owned
+	.send_message_with_reply.out_serial out nullable owned
+	.send_message_with_reply_sync.out_serial out nullable owned
+DBusConnection.signal_subscribe
+	.sender nullable
+	.interface_name nullable
+	.member nullable
+	.object_path nullable
+	.arg0 nullable
+DBusMessage
+	.bytes_needed.blob array array_length_idx=1
+	.new_from_blob.blob array array_length_idx=1
+	.get_header_fields array
+	.to_blob array array_length_idx=0
+FileInfo
+	.get_modification_time.result out
+	.set_attribute_stringv.attr_value array
+DBusServer.new_sync.observer nullable
+InetAddress
+	.new_from_bytes.bytes array
+	.to_bytes array
+InputStream.read vfunc_name="read_fn"
+	.buffer type="uint8[]" array_length_idx=1
+InputStream.read_all
+	.buffer type="uint8[]" array_length_idx=1
+	.bytes_read out
+InputStream.read_async.buffer type="uint8[]" array_length_idx=1
+MemoryInputStream
+	.add_data.data type="owned uint8[]" array_length_idx=1
+	.add_data.destroy nullable
+	.new_from_data.data type="owned uint8[]" array_length_idx=1
+	.new_from_data.destroy nullable
+MemoryOutputStream.steal_data type="uint8[]"
+SimpleAsyncResult.new
+	.source_object nullable
+	.callback scope=null
+SimpleAsyncResult.new_from_error.callback scope=null
+SocketControlMessage
+	.serialize.data type="uint8[]"
+	.deserialize.data type="uint8[]" array_length_idx=2
+	.deserialize.data type="uint8[]"
+SocketListener
+	.add_inet_port.source_object nullable
+	.add_socket.source_object nullable



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]