// SDB-CGEN V2.6.2
#include <ctype.h>
#include <stdio.h>
#include <string.h>

struct kv { const char *name; const char *value; };
static const struct kv kvs[] = {
// gcc -DMAIN=1 types_gio.c ; ./a.out > types_gio.h
	{"GAppInfo", "typedef"},
	{"GAppLaunchContext", "typedef"},
	{"GBusType", "enum"},
	{"GCancellable", "typedef"},
	{"GDBusCallFlags", "enum"},
	{"GDBusInterfaceInfo", "typedef"},
	{"GDBusProxy", "typedef"},
	{"GDBusProxyFlags", "enum"},
	{"GDataInputStream", "typedef"},
	{"GDesktopAppInfo", "typedef"},
	{"GFile", "typedef"},
	{"GFileCopyFlags", "enum"},
	{"GFileCreateFlags", "enum"},
	{"GFileEnumerator", "typedef"},
	{"GFileInfo", "typedef"},
	{"GFileInputStream", "typedef"},
	{"GFileProgressCallback", "typedef"},
	{"GFileQueryInfoFlags", "enum"},
	{"GInputStream", "typedef"},
	{"GResourceLookupFlags", "enum"},
	{"GSettings", "typedef"},
	{"GSettingsBackend", "typedef"},
	{"GSettingsSchema", "typedef"},
	{"GSettingsSchemaSource", "typedef"},
	{"GStaticResource", "typedef"},
	{"GSubprocess", "typedef"},
	{"GSubprocessFlags", "enum"},
	{"enum.GBusType", "G_BUS_TYPE_STARTER,G_BUS_TYPE_NONE,G_BUS_TYPE_SYSTEM,G_BUS_TYPE_SESSION"},
	{"enum.GBusType.0x0", "G_BUS_TYPE_NONE"},
	{"enum.GBusType.0x1", "G_BUS_TYPE_SYSTEM"},
	{"enum.GBusType.0x2", "G_BUS_TYPE_SESSION"},
	{"enum.GBusType.0xffffffffffffffff", "G_BUS_TYPE_STARTER"},
	{"enum.GBusType.G_BUS_TYPE_NONE", "0x0"},
	{"enum.GBusType.G_BUS_TYPE_SESSION", "0x2"},
	{"enum.GBusType.G_BUS_TYPE_STARTER", "0xffffffffffffffff"},
	{"enum.GBusType.G_BUS_TYPE_SYSTEM", "0x1"},
	{"enum.GDBusCallFlags", "G_DBUS_CALL_FLAGS_NONE,G_DBUS_CALL_FLAGS_NO_AUTO_START,G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION"},
	{"enum.GDBusCallFlags.0x0", "G_DBUS_CALL_FLAGS_NONE"},
	{"enum.GDBusCallFlags.0x1", "G_DBUS_CALL_FLAGS_NO_AUTO_START"},
	{"enum.GDBusCallFlags.0x2", "G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION"},
	{"enum.GDBusCallFlags.G_DBUS_CALL_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION", "0x2"},
	{"enum.GDBusCallFlags.G_DBUS_CALL_FLAGS_NONE", "0x0"},
	{"enum.GDBusCallFlags.G_DBUS_CALL_FLAGS_NO_AUTO_START", "0x1"},
	{"enum.GDBusProxyFlags", "G_DBUS_PROXY_FLAGS_NONE,G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS,G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION,G_DBUS_PROXY_FLAGS_NO_MATCH_RULE"},
	{"enum.GDBusProxyFlags.0x0", "G_DBUS_PROXY_FLAGS_NONE"},
	{"enum.GDBusProxyFlags.0x1", "G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES"},
	{"enum.GDBusProxyFlags.0x10", "G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION"},
	{"enum.GDBusProxyFlags.0x2", "G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS"},
	{"enum.GDBusProxyFlags.0x20", "G_DBUS_PROXY_FLAGS_NO_MATCH_RULE"},
	{"enum.GDBusProxyFlags.0x4", "G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START"},
	{"enum.GDBusProxyFlags.0x8", "G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES"},
	{"enum.GDBusProxyFlags.G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START", "0x4"},
	{"enum.GDBusProxyFlags.G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION", "0x10"},
	{"enum.GDBusProxyFlags.G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS", "0x2"},
	{"enum.GDBusProxyFlags.G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES", "0x1"},
	{"enum.GDBusProxyFlags.G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES", "0x8"},
	{"enum.GDBusProxyFlags.G_DBUS_PROXY_FLAGS_NONE", "0x0"},
	{"enum.GDBusProxyFlags.G_DBUS_PROXY_FLAGS_NO_MATCH_RULE", "0x20"},
	{"enum.GFileCopyFlags", "G_FILE_COPY_NONE,G_FILE_COPY_OVERWRITE,G_FILE_COPY_BACKUP,G_FILE_COPY_NOFOLLOW_SYMLINKS,G_FILE_COPY_ALL_METADATA,G_FILE_COPY_NO_FALLBACK_FOR_MOVE,G_FILE_COPY_TARGET_DEFAULT_PERMS,G_FILE_COPY_TARGET_DEFAULT_MODIFIED_TIME"},
	{"enum.GFileCopyFlags.0x0", "G_FILE_COPY_NONE"},
	{"enum.GFileCopyFlags.0x1", "G_FILE_COPY_OVERWRITE"},
	{"enum.GFileCopyFlags.0x10", "G_FILE_COPY_NO_FALLBACK_FOR_MOVE"},
	{"enum.GFileCopyFlags.0x2", "G_FILE_COPY_BACKUP"},
	{"enum.GFileCopyFlags.0x20", "G_FILE_COPY_TARGET_DEFAULT_PERMS"},
	{"enum.GFileCopyFlags.0x4", "G_FILE_COPY_NOFOLLOW_SYMLINKS"},
	{"enum.GFileCopyFlags.0x40", "G_FILE_COPY_TARGET_DEFAULT_MODIFIED_TIME"},
	{"enum.GFileCopyFlags.0x8", "G_FILE_COPY_ALL_METADATA"},
	{"enum.GFileCopyFlags.G_FILE_COPY_ALL_METADATA", "0x8"},
	{"enum.GFileCopyFlags.G_FILE_COPY_BACKUP", "0x2"},
	{"enum.GFileCopyFlags.G_FILE_COPY_NOFOLLOW_SYMLINKS", "0x4"},
	{"enum.GFileCopyFlags.G_FILE_COPY_NONE", "0x0"},
	{"enum.GFileCopyFlags.G_FILE_COPY_NO_FALLBACK_FOR_MOVE", "0x10"},
	{"enum.GFileCopyFlags.G_FILE_COPY_OVERWRITE", "0x1"},
	{"enum.GFileCopyFlags.G_FILE_COPY_TARGET_DEFAULT_MODIFIED_TIME", "0x40"},
	{"enum.GFileCopyFlags.G_FILE_COPY_TARGET_DEFAULT_PERMS", "0x20"},
	{"enum.GFileCreateFlags", "G_FILE_CREATE_NONE,G_FILE_CREATE_PRIVATE,G_FILE_CREATE_REPLACE_DESTINATION"},
	{"enum.GFileCreateFlags.0x0", "G_FILE_CREATE_NONE"},
	{"enum.GFileCreateFlags.0x1", "G_FILE_CREATE_PRIVATE"},
	{"enum.GFileCreateFlags.0x2", "G_FILE_CREATE_REPLACE_DESTINATION"},
	{"enum.GFileCreateFlags.G_FILE_CREATE_NONE", "0x0"},
	{"enum.GFileCreateFlags.G_FILE_CREATE_PRIVATE", "0x1"},
	{"enum.GFileCreateFlags.G_FILE_CREATE_REPLACE_DESTINATION", "0x2"},
	{"enum.GFileQueryInfoFlags", "G_FILE_QUERY_INFO_NONE,G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS"},
	{"enum.GFileQueryInfoFlags.0x0", "G_FILE_QUERY_INFO_NONE"},
	{"enum.GFileQueryInfoFlags.0x1", "G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS"},
	{"enum.GFileQueryInfoFlags.G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS", "0x1"},
	{"enum.GFileQueryInfoFlags.G_FILE_QUERY_INFO_NONE", "0x0"},
	{"enum.GResourceLookupFlags", "G_RESOURCE_LOOKUP_FLAGS_NONE"},
	{"enum.GResourceLookupFlags.0x0", "G_RESOURCE_LOOKUP_FLAGS_NONE"},
	{"enum.GResourceLookupFlags.G_RESOURCE_LOOKUP_FLAGS_NONE", "0x0"},
	{"enum.GSubprocessFlags", "G_SUBPROCESS_FLAGS_NONE,G_SUBPROCESS_FLAGS_STDIN_PIPE,G_SUBPROCESS_FLAGS_STDIN_INHERIT,G_SUBPROCESS_FLAGS_STDOUT_PIPE,G_SUBPROCESS_FLAGS_STDOUT_SILENCE,G_SUBPROCESS_FLAGS_STDERR_PIPE,G_SUBPROCESS_FLAGS_STDERR_SILENCE,G_SUBPROCESS_FLAGS_STDERR_MERGE,G_SUBPROCESS_FLAGS_INHERIT_FDS,G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP"},
	{"enum.GSubprocessFlags.0x0", "G_SUBPROCESS_FLAGS_NONE"},
	{"enum.GSubprocessFlags.0x1", "G_SUBPROCESS_FLAGS_STDIN_PIPE"},
	{"enum.GSubprocessFlags.0x10", "G_SUBPROCESS_FLAGS_STDERR_PIPE"},
	{"enum.GSubprocessFlags.0x100", "G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP"},
	{"enum.GSubprocessFlags.0x2", "G_SUBPROCESS_FLAGS_STDIN_INHERIT"},
	{"enum.GSubprocessFlags.0x20", "G_SUBPROCESS_FLAGS_STDERR_SILENCE"},
	{"enum.GSubprocessFlags.0x4", "G_SUBPROCESS_FLAGS_STDOUT_PIPE"},
	{"enum.GSubprocessFlags.0x40", "G_SUBPROCESS_FLAGS_STDERR_MERGE"},
	{"enum.GSubprocessFlags.0x8", "G_SUBPROCESS_FLAGS_STDOUT_SILENCE"},
	{"enum.GSubprocessFlags.0x80", "G_SUBPROCESS_FLAGS_INHERIT_FDS"},
	{"enum.GSubprocessFlags.G_SUBPROCESS_FLAGS_INHERIT_FDS", "0x80"},
	{"enum.GSubprocessFlags.G_SUBPROCESS_FLAGS_NONE", "0x0"},
	{"enum.GSubprocessFlags.G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP", "0x100"},
	{"enum.GSubprocessFlags.G_SUBPROCESS_FLAGS_STDERR_MERGE", "0x40"},
	{"enum.GSubprocessFlags.G_SUBPROCESS_FLAGS_STDERR_PIPE", "0x10"},
	{"enum.GSubprocessFlags.G_SUBPROCESS_FLAGS_STDERR_SILENCE", "0x20"},
	{"enum.GSubprocessFlags.G_SUBPROCESS_FLAGS_STDIN_INHERIT", "0x2"},
	{"enum.GSubprocessFlags.G_SUBPROCESS_FLAGS_STDIN_PIPE", "0x1"},
	{"enum.GSubprocessFlags.G_SUBPROCESS_FLAGS_STDOUT_PIPE", "0x4"},
	{"enum.GSubprocessFlags.G_SUBPROCESS_FLAGS_STDOUT_SILENCE", "0x8"},
	{"func.g_app_info_get_description.arg.0", "GAppInfo *,appinfo"},
	{"func.g_app_info_get_description.args", "1"},
	{"func.g_app_info_get_description.ret", "const char *"},
	{"func.g_app_info_get_name.arg.0", "GAppInfo *,appinfo"},
	{"func.g_app_info_get_name.args", "1"},
	{"func.g_app_info_get_name.ret", "const char *"},
	{"func.g_app_info_launch.arg.0", "GAppInfo *,appinfo"},
	{"func.g_app_info_launch.arg.1", "GList *,files"},
	{"func.g_app_info_launch.arg.2", "GAppLaunchContext *,context"},
	{"func.g_app_info_launch.arg.3", "GError **,error"},
	{"func.g_app_info_launch.args", "4"},
	{"func.g_app_info_launch.ret", "gboolean"},
	{"func.g_data_input_stream_new.arg.0", "GInputStream *,base_stream"},
	{"func.g_data_input_stream_new.args", "1"},
	{"func.g_data_input_stream_new.ret", "GDataInputStream *"},
	{"func.g_data_input_stream_read_line_utf8.arg.0", "GDataInputStream *,stream"},
	{"func.g_data_input_stream_read_line_utf8.arg.1", "gsize *,length"},
	{"func.g_data_input_stream_read_line_utf8.arg.2", "GCancellable *,cancellable"},
	{"func.g_data_input_stream_read_line_utf8.arg.3", "GError **,error"},
	{"func.g_data_input_stream_read_line_utf8.args", "4"},
	{"func.g_data_input_stream_read_line_utf8.ret", "char *"},
	{"func.g_dbus_error_strip_remote_error.arg.0", "GError *,error"},
	{"func.g_dbus_error_strip_remote_error.args", "1"},
	{"func.g_dbus_error_strip_remote_error.ret", "gboolean"},
	{"func.g_dbus_proxy_call_sync.arg.0", "GDBusProxy *,proxy"},
	{"func.g_dbus_proxy_call_sync.arg.1", "const gchar *,method_name"},
	{"func.g_dbus_proxy_call_sync.arg.2", "GVariant *,parameters"},
	{"func.g_dbus_proxy_call_sync.arg.3", "GDBusCallFlags,flags"},
	{"func.g_dbus_proxy_call_sync.arg.4", "gint,timeout_msec"},
	{"func.g_dbus_proxy_call_sync.arg.5", "GCancellable *,cancellable"},
	{"func.g_dbus_proxy_call_sync.arg.6", "GError **,error"},
	{"func.g_dbus_proxy_call_sync.args", "7"},
	{"func.g_dbus_proxy_call_sync.ret", "GVariant *"},
	{"func.g_dbus_proxy_get_cached_property.arg.0", "GDBusProxy *,proxy"},
	{"func.g_dbus_proxy_get_cached_property.arg.1", "const gchar *,property_name"},
	{"func.g_dbus_proxy_get_cached_property.args", "2"},
	{"func.g_dbus_proxy_get_cached_property.ret", "GVariant *"},
	{"func.g_dbus_proxy_new_for_bus_sync.arg.0", "GBusType,bus_type"},
	{"func.g_dbus_proxy_new_for_bus_sync.arg.1", "GDBusProxyFlags,flags"},
	{"func.g_dbus_proxy_new_for_bus_sync.arg.2", "GDBusInterfaceInfo *,info"},
	{"func.g_dbus_proxy_new_for_bus_sync.arg.3", "const gchar *,name"},
	{"func.g_dbus_proxy_new_for_bus_sync.arg.4", "const gchar *,object_path"},
	{"func.g_dbus_proxy_new_for_bus_sync.arg.5", "const gchar *,interface_name"},
	{"func.g_dbus_proxy_new_for_bus_sync.arg.6", "GCancellable *,cancellable"},
	{"func.g_dbus_proxy_new_for_bus_sync.arg.7", "GError **,error"},
	{"func.g_dbus_proxy_new_for_bus_sync.args", "8"},
	{"func.g_dbus_proxy_new_for_bus_sync.ret", "GDBusProxy *"},
	{"func.g_desktop_app_info_get_string.arg.0", "GDesktopAppInfo *,info"},
	{"func.g_desktop_app_info_get_string.arg.1", "const char *,key"},
	{"func.g_desktop_app_info_get_string.args", "2"},
	{"func.g_desktop_app_info_get_string.ret", "char *"},
	{"func.g_desktop_app_info_new_from_keyfile.arg.0", "GKeyFile *,key_file"},
	{"func.g_desktop_app_info_new_from_keyfile.args", "1"},
	{"func.g_desktop_app_info_new_from_keyfile.ret", "GDesktopAppInfo *"},
	{"func.g_file_copy.arg.0", "GFile *,source"},
	{"func.g_file_copy.arg.1", "GFile *,destination"},
	{"func.g_file_copy.arg.2", "GFileCopyFlags,flags"},
	{"func.g_file_copy.arg.3", "GCancellable *,cancellable"},
	{"func.g_file_copy.arg.4", "GFileProgressCallback,progress_callback"},
	{"func.g_file_copy.arg.5", "gpointer,progress_callback_data"},
	{"func.g_file_copy.arg.6", "GError **,error"},
	{"func.g_file_copy.args", "7"},
	{"func.g_file_copy.ret", "gboolean"},
	{"func.g_file_delete.arg.0", "GFile *,file"},
	{"func.g_file_delete.arg.1", "GCancellable *,cancellable"},
	{"func.g_file_delete.arg.2", "GError **,error"},
	{"func.g_file_delete.args", "3"},
	{"func.g_file_delete.ret", "gboolean"},
	{"func.g_file_enumerate_children.arg.0", "GFile *,file"},
	{"func.g_file_enumerate_children.arg.1", "const char *,attributes"},
	{"func.g_file_enumerate_children.arg.2", "GFileQueryInfoFlags,flags"},
	{"func.g_file_enumerate_children.arg.3", "GCancellable *,cancellable"},
	{"func.g_file_enumerate_children.arg.4", "GError **,error"},
	{"func.g_file_enumerate_children.args", "5"},
	{"func.g_file_enumerate_children.ret", "GFileEnumerator *"},
	{"func.g_file_enumerator_iterate.arg.0", "GFileEnumerator *,direnum"},
	{"func.g_file_enumerator_iterate.arg.1", "GFileInfo **,out_info"},
	{"func.g_file_enumerator_iterate.arg.2", "GFile **,out_child"},
	{"func.g_file_enumerator_iterate.arg.3", "GCancellable *,cancellable"},
	{"func.g_file_enumerator_iterate.arg.4", "GError **,error"},
	{"func.g_file_enumerator_iterate.args", "5"},
	{"func.g_file_enumerator_iterate.ret", "gboolean"},
	{"func.g_file_get_basename.arg.0", "GFile *,file"},
	{"func.g_file_get_basename.args", "1"},
	{"func.g_file_get_basename.ret", "char *"},
	{"func.g_file_get_child.arg.0", "GFile *,file"},
	{"func.g_file_get_child.arg.1", "const char *,name"},
	{"func.g_file_get_child.args", "2"},
	{"func.g_file_get_child.ret", "GFile *"},
	{"func.g_file_get_path.arg.0", "GFile *,file"},
	{"func.g_file_get_path.args", "1"},
	{"func.g_file_get_path.ret", "char *"},
	{"func.g_file_get_relative_path.arg.0", "GFile *,parent"},
	{"func.g_file_get_relative_path.arg.1", "GFile *,descendant"},
	{"func.g_file_get_relative_path.args", "2"},
	{"func.g_file_get_relative_path.ret", "char *"},
	{"func.g_file_info_get_name.arg.0", "GFileInfo *,info"},
	{"func.g_file_info_get_name.args", "1"},
	{"func.g_file_info_get_name.ret", "const char *"},
	{"func.g_file_load_contents.arg.0", "GFile *,file"},
	{"func.g_file_load_contents.arg.1", "GCancellable *,cancellable"},
	{"func.g_file_load_contents.arg.2", "char **,contents"},
	{"func.g_file_load_contents.arg.3", "gsize *,length"},
	{"func.g_file_load_contents.arg.4", "char **,etag_out"},
	{"func.g_file_load_contents.arg.5", "GError **,error"},
	{"func.g_file_load_contents.args", "6"},
	{"func.g_file_load_contents.ret", "gboolean"},
	{"func.g_file_make_directory.arg.0", "GFile *,file"},
	{"func.g_file_make_directory.arg.1", "GCancellable *,cancellable"},
	{"func.g_file_make_directory.arg.2", "GError **,error"},
	{"func.g_file_make_directory.args", "3"},
	{"func.g_file_make_directory.ret", "gboolean"},
	{"func.g_file_make_directory_with_parents.arg.0", "GFile *,file"},
	{"func.g_file_make_directory_with_parents.arg.1", "GCancellable *,cancellable"},
	{"func.g_file_make_directory_with_parents.arg.2", "GError **,error"},
	{"func.g_file_make_directory_with_parents.args", "3"},
	{"func.g_file_make_directory_with_parents.ret", "gboolean"},
	{"func.g_file_move.arg.0", "GFile *,source"},
	{"func.g_file_move.arg.1", "GFile *,destination"},
	{"func.g_file_move.arg.2", "GFileCopyFlags,flags"},
	{"func.g_file_move.arg.3", "GCancellable *,cancellable"},
	{"func.g_file_move.arg.4", "GFileProgressCallback,progress_callback"},
	{"func.g_file_move.arg.5", "gpointer,progress_callback_data"},
	{"func.g_file_move.arg.6", "GError **,error"},
	{"func.g_file_move.args", "7"},
	{"func.g_file_move.ret", "gboolean"},
	{"func.g_file_new_build_filename.arg.0", "const gchar *,first_element"},
	{"func.g_file_new_build_filename.arg.1", ",..."},
	{"func.g_file_new_build_filename.args", "2"},
	{"func.g_file_new_build_filename.ret", "GFile *"},
	{"func.g_file_new_for_commandline_arg_and_cwd.arg.0", "const gchar *,arg"},
	{"func.g_file_new_for_commandline_arg_and_cwd.arg.1", "const gchar *,cwd"},
	{"func.g_file_new_for_commandline_arg_and_cwd.args", "2"},
	{"func.g_file_new_for_commandline_arg_and_cwd.ret", "GFile *"},
	{"func.g_file_new_for_path.arg.0", "const char *,path"},
	{"func.g_file_new_for_path.args", "1"},
	{"func.g_file_new_for_path.ret", "GFile *"},
	{"func.g_file_new_for_uri.arg.0", "const char *,uri"},
	{"func.g_file_new_for_uri.args", "1"},
	{"func.g_file_new_for_uri.ret", "GFile *"},
	{"func.g_file_peek_path.arg.0", "GFile *,file"},
	{"func.g_file_peek_path.args", "1"},
	{"func.g_file_peek_path.ret", "const char *"},
	{"func.g_file_query_default_handler.arg.0", "GFile *,file"},
	{"func.g_file_query_default_handler.arg.1", "GCancellable *,cancellable"},
	{"func.g_file_query_default_handler.arg.2", "GError **,error"},
	{"func.g_file_query_default_handler.args", "3"},
	{"func.g_file_query_default_handler.ret", "GAppInfo *"},
	{"func.g_file_query_exists.arg.0", "GFile *,file"},
	{"func.g_file_query_exists.arg.1", "GCancellable *,cancellable"},
	{"func.g_file_query_exists.args", "2"},
	{"func.g_file_query_exists.ret", "gboolean"},
	{"func.g_file_read.arg.0", "GFile *,file"},
	{"func.g_file_read.arg.1", "GCancellable *,cancellable"},
	{"func.g_file_read.arg.2", "GError **,error"},
	{"func.g_file_read.args", "3"},
	{"func.g_file_read.ret", "GFileInputStream *"},
	{"func.g_file_replace_contents.arg.0", "GFile *,file"},
	{"func.g_file_replace_contents.arg.1", "const char *,contents"},
	{"func.g_file_replace_contents.arg.2", "gsize,length"},
	{"func.g_file_replace_contents.arg.3", "const char *,etag"},
	{"func.g_file_replace_contents.arg.4", "gboolean,make_backup"},
	{"func.g_file_replace_contents.arg.5", "GFileCreateFlags,flags"},
	{"func.g_file_replace_contents.arg.6", "char **,new_etag"},
	{"func.g_file_replace_contents.arg.7", "GCancellable *,cancellable"},
	{"func.g_file_replace_contents.arg.8", "GError **,error"},
	{"func.g_file_replace_contents.args", "9"},
	{"func.g_file_replace_contents.ret", "gboolean"},
	{"func.g_io_error_quark.args", "0"},
	{"func.g_io_error_quark.ret", "GQuark"},
	{"func.g_resources_enumerate_children.arg.0", "const char *,path"},
	{"func.g_resources_enumerate_children.arg.1", "GResourceLookupFlags,lookup_flags"},
	{"func.g_resources_enumerate_children.arg.2", "GError **,error"},
	{"func.g_resources_enumerate_children.args", "3"},
	{"func.g_resources_enumerate_children.ret", "char **"},
	{"func.g_settings_get_strv.arg.0", "GSettings *,settings"},
	{"func.g_settings_get_strv.arg.1", "const gchar *,key"},
	{"func.g_settings_get_strv.args", "2"},
	{"func.g_settings_get_strv.ret", "gchar **"},
	{"func.g_settings_is_writable.arg.0", "GSettings *,settings"},
	{"func.g_settings_is_writable.arg.1", "const gchar *,name"},
	{"func.g_settings_is_writable.args", "2"},
	{"func.g_settings_is_writable.ret", "gboolean"},
	{"func.g_settings_new_full.arg.0", "GSettingsSchema *,schema"},
	{"func.g_settings_new_full.arg.1", "GSettingsBackend *,backend"},
	{"func.g_settings_new_full.arg.2", "const gchar *,path"},
	{"func.g_settings_new_full.args", "3"},
	{"func.g_settings_new_full.ret", "GSettings *"},
	{"func.g_settings_schema_source_get_default.args", "0"},
	{"func.g_settings_schema_source_get_default.ret", "GSettingsSchemaSource *"},
	{"func.g_settings_schema_source_lookup.arg.0", "GSettingsSchemaSource *,source"},
	{"func.g_settings_schema_source_lookup.arg.1", "const gchar *,schema_id"},
	{"func.g_settings_schema_source_lookup.arg.2", "gboolean,recursive"},
	{"func.g_settings_schema_source_lookup.args", "3"},
	{"func.g_settings_schema_source_lookup.ret", "GSettingsSchema *"},
	{"func.g_settings_schema_unref.arg.0", "GSettingsSchema *,schema"},
	{"func.g_settings_schema_unref.args", "1"},
	{"func.g_settings_schema_unref.ret", "void"},
	{"func.g_settings_set_strv.arg.0", "GSettings *,settings"},
	{"func.g_settings_set_strv.arg.1", "const gchar *,key"},
	{"func.g_settings_set_strv.arg.2", "const gchar * const *,value"},
	{"func.g_settings_set_strv.args", "3"},
	{"func.g_settings_set_strv.ret", "gboolean"},
	{"func.g_settings_sync.args", "0"},
	{"func.g_settings_sync.ret", "void"},
	{"func.g_static_resource_fini.arg.0", "GStaticResource *,static_resource"},
	{"func.g_static_resource_fini.args", "1"},
	{"func.g_static_resource_fini.ret", "void"},
	{"func.g_static_resource_init.arg.0", "GStaticResource *,static_resource"},
	{"func.g_static_resource_init.args", "1"},
	{"func.g_static_resource_init.ret", "void"},
	{"func.g_subprocess_new.arg.0", "GSubprocessFlags,flags"},
	{"func.g_subprocess_new.arg.1", "GError **,error"},
	{"func.g_subprocess_new.arg.2", "const gchar *,argv0"},
	{"func.g_subprocess_new.arg.3", ",..."},
	{"func.g_subprocess_new.args", "4"},
	{"func.g_subprocess_new.ret", "GSubprocess *"},
	{"func.g_subprocess_wait_check.arg.0", "GSubprocess *,subprocess"},
	{"func.g_subprocess_wait_check.arg.1", "GCancellable *,cancellable"},
	{"func.g_subprocess_wait_check.arg.2", "GError **,error"},
	{"func.g_subprocess_wait_check.args", "3"},
	{"func.g_subprocess_wait_check.ret", "gboolean"},
	{"func.g_unix_input_stream_new.arg.0", "gint,fd"},
	{"func.g_unix_input_stream_new.arg.1", "gboolean,close_fd"},
	{"func.g_unix_input_stream_new.args", "2"},
	{"func.g_unix_input_stream_new.ret", "GInputStream *"},
	{"g_app_info_get_description", "func"},
	{"g_app_info_get_name", "func"},
	{"g_app_info_launch", "func"},
	{"g_data_input_stream_new", "func"},
	{"g_data_input_stream_read_line_utf8", "func"},
	{"g_dbus_error_strip_remote_error", "func"},
	{"g_dbus_proxy_call_sync", "func"},
	{"g_dbus_proxy_get_cached_property", "func"},
	{"g_dbus_proxy_new_for_bus_sync", "func"},
	{"g_desktop_app_info_get_string", "func"},
	{"g_desktop_app_info_new_from_keyfile", "func"},
	{"g_file_copy", "func"},
	{"g_file_delete", "func"},
	{"g_file_enumerate_children", "func"},
	{"g_file_enumerator_iterate", "func"},
	{"g_file_get_basename", "func"},
	{"g_file_get_child", "func"},
	{"g_file_get_path", "func"},
	{"g_file_get_relative_path", "func"},
	{"g_file_info_get_name", "func"},
	{"g_file_load_contents", "func"},
	{"g_file_make_directory", "func"},
	{"g_file_make_directory_with_parents", "func"},
	{"g_file_move", "func"},
	{"g_file_new_build_filename", "func"},
	{"g_file_new_for_commandline_arg_and_cwd", "func"},
	{"g_file_new_for_path", "func"},
	{"g_file_new_for_uri", "func"},
	{"g_file_peek_path", "func"},
	{"g_file_query_default_handler", "func"},
	{"g_file_query_exists", "func"},
	{"g_file_read", "func"},
	{"g_file_replace_contents", "func"},
	{"g_io_error_quark", "func"},
	{"g_resources_enumerate_children", "func"},
	{"g_settings_get_strv", "func"},
	{"g_settings_is_writable", "func"},
	{"g_settings_new_full", "func"},
	{"g_settings_schema_source_get_default", "func"},
	{"g_settings_schema_source_lookup", "func"},
	{"g_settings_schema_unref", "func"},
	{"g_settings_set_strv", "func"},
	{"g_settings_sync", "func"},
	{"g_static_resource_fini", "func"},
	{"g_static_resource_init", "func"},
	{"g_subprocess_new", "func"},
	{"g_subprocess_wait_check", "func"},
	{"g_unix_input_stream_new", "func"},
	{"typedef.GAppInfo", "struct _GAppInfo"},
	{"typedef.GAppLaunchContext", "struct _GAppLaunchContext"},
	{"typedef.GCancellable", "struct _GCancellable"},
	{"typedef.GDBusInterfaceInfo", "struct _GDBusInterfaceInfo"},
	{"typedef.GDBusProxy", "struct _GDBusProxy"},
	{"typedef.GDataInputStream", "struct _GDataInputStream"},
	{"typedef.GDesktopAppInfo", "struct _GDesktopAppInfo"},
	{"typedef.GFile", "struct _GFile"},
	{"typedef.GFileEnumerator", "struct _GFileEnumerator"},
	{"typedef.GFileInfo", "struct _GFileInfo"},
	{"typedef.GFileInputStream", "struct _GFileInputStream"},
	{"typedef.GFileProgressCallback", "void (*)(goffset, goffset, gpointer)"},
	{"typedef.GInputStream", "struct _GInputStream"},
	{"typedef.GSettings", "struct _GSettings"},
	{"typedef.GSettingsBackend", "struct _GSettingsBackend"},
	{"typedef.GSettingsSchema", "struct _GSettingsSchema"},
	{"typedef.GSettingsSchemaSource", "struct _GSettingsSchemaSource"},
	{"typedef.GStaticResource", "struct _GStaticResource"},
	{"typedef.GSubprocess", "struct _GSubprocess"},
  {NULL, NULL}
};
typedef int (*GperfForeachCallback)(void *user, const char *k, const char *v);
int gperf_types_gio_foreach(GperfForeachCallback cb, void *user) {
  int i = 0; while (kvs[i].name) {
  cb (user, kvs[i].name, kvs[i].value);
  i++;}
  return 0;
}
const char *gperf_types_gio_get(const char *s) {
  int i = 0; while (kvs[i].name) {
  if (!strcmp (s, kvs[i].name)) return kvs[i].value;
  i++;}
  return NULL;
}
#define sdb_hash_c_types_gio(x,y) gperf_types_gio_hash(x)
const unsigned int gperf_types_gio_hash(const char *s) {
  int sum = strlen (s);
  while (*s) { sum += *s; s++; }
  return sum;
}
struct {const char *name;void *get;void *hash;void *foreach;} gperf_types_gio = {
  .name = "types-gio",
  .get = &gperf_types_gio_get,
  .hash = &gperf_types_gio_hash,
  .foreach = &gperf_types_gio_foreach
};

#if MAIN
int main () {
	const char *s = ((char*(*)(char*))gperf_types_gio.get)("foo");
	printf ("%s\n", s);
}
#endif
