gi_repository_sys/
lib.rs

1// Generated by gir (https://github.com/gtk-rs/gir @ 3f715d99469c)
2// from ../gir-files (@ 6525c06593ee)
3// DO NOT EDIT
4
5#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
6#![allow(clippy::approx_constant, clippy::type_complexity, clippy::unreadable_literal, clippy::upper_case_acronyms)]
7#![cfg_attr(feature = "dox", feature(doc_cfg))]
8
9
10#[allow(unused_imports)]
11use libc::{c_int, c_char, c_uchar, c_float, c_uint, c_double,
12    c_short, c_ushort, c_long, c_ulong,
13    c_void, size_t, ssize_t, intptr_t, uintptr_t, FILE};
14
15#[allow(unused_imports)]
16use glib::{gboolean, gconstpointer, gpointer, GType};
17
18// Aliases
19pub type GIArgInfo = GIBaseInfo;
20pub type GICallableInfo = GIBaseInfo;
21pub type GICallbackInfo = GIBaseInfo;
22pub type GIConstantInfo = GIBaseInfo;
23pub type GIEnumInfo = GIBaseInfo;
24pub type GIFieldInfo = GIBaseInfo;
25pub type GIFunctionInfo = GIBaseInfo;
26pub type GIInterfaceInfo = GIBaseInfo;
27pub type GIObjectInfo = GIBaseInfo;
28pub type GIPropertyInfo = GIBaseInfo;
29pub type GIRegisteredTypeInfo = GIBaseInfo;
30pub type GISignalInfo = GIBaseInfo;
31pub type GIStructInfo = GIBaseInfo;
32pub type GITypeInfo = GIBaseInfo;
33pub type GIUnionInfo = GIBaseInfo;
34pub type GIVFuncInfo = GIBaseInfo;
35pub type GIValueInfo = GIBaseInfo;
36
37// Enums
38pub type GIArrayType = c_int;
39pub const GI_ARRAY_TYPE_C: GIArrayType = 0;
40pub const GI_ARRAY_TYPE_ARRAY: GIArrayType = 1;
41pub const GI_ARRAY_TYPE_PTR_ARRAY: GIArrayType = 2;
42pub const GI_ARRAY_TYPE_BYTE_ARRAY: GIArrayType = 3;
43
44pub type GIDirection = c_int;
45pub const GI_DIRECTION_IN: GIDirection = 0;
46pub const GI_DIRECTION_OUT: GIDirection = 1;
47pub const GI_DIRECTION_INOUT: GIDirection = 2;
48
49pub type GIInfoType = c_int;
50pub const GI_INFO_TYPE_INVALID: GIInfoType = 0;
51pub const GI_INFO_TYPE_FUNCTION: GIInfoType = 1;
52pub const GI_INFO_TYPE_CALLBACK: GIInfoType = 2;
53pub const GI_INFO_TYPE_STRUCT: GIInfoType = 3;
54pub const GI_INFO_TYPE_BOXED: GIInfoType = 4;
55pub const GI_INFO_TYPE_ENUM: GIInfoType = 5;
56pub const GI_INFO_TYPE_FLAGS: GIInfoType = 6;
57pub const GI_INFO_TYPE_OBJECT: GIInfoType = 7;
58pub const GI_INFO_TYPE_INTERFACE: GIInfoType = 8;
59pub const GI_INFO_TYPE_CONSTANT: GIInfoType = 9;
60pub const GI_INFO_TYPE_INVALID_0: GIInfoType = 10;
61pub const GI_INFO_TYPE_UNION: GIInfoType = 11;
62pub const GI_INFO_TYPE_VALUE: GIInfoType = 12;
63pub const GI_INFO_TYPE_SIGNAL: GIInfoType = 13;
64pub const GI_INFO_TYPE_VFUNC: GIInfoType = 14;
65pub const GI_INFO_TYPE_PROPERTY: GIInfoType = 15;
66pub const GI_INFO_TYPE_FIELD: GIInfoType = 16;
67pub const GI_INFO_TYPE_ARG: GIInfoType = 17;
68pub const GI_INFO_TYPE_TYPE: GIInfoType = 18;
69pub const GI_INFO_TYPE_UNRESOLVED: GIInfoType = 19;
70
71pub type GIRepositoryError = c_int;
72pub const G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND: GIRepositoryError = 0;
73pub const G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH: GIRepositoryError = 1;
74pub const G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT: GIRepositoryError = 2;
75pub const G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND: GIRepositoryError = 3;
76
77pub type GIScopeType = c_int;
78pub const GI_SCOPE_TYPE_INVALID: GIScopeType = 0;
79pub const GI_SCOPE_TYPE_CALL: GIScopeType = 1;
80pub const GI_SCOPE_TYPE_ASYNC: GIScopeType = 2;
81pub const GI_SCOPE_TYPE_NOTIFIED: GIScopeType = 3;
82pub const GI_SCOPE_TYPE_FOREVER: GIScopeType = 4;
83
84pub type GITransfer = c_int;
85pub const GI_TRANSFER_NOTHING: GITransfer = 0;
86pub const GI_TRANSFER_CONTAINER: GITransfer = 1;
87pub const GI_TRANSFER_EVERYTHING: GITransfer = 2;
88
89pub type GITypeTag = c_int;
90pub const GI_TYPE_TAG_VOID: GITypeTag = 0;
91pub const GI_TYPE_TAG_BOOLEAN: GITypeTag = 1;
92pub const GI_TYPE_TAG_INT8: GITypeTag = 2;
93pub const GI_TYPE_TAG_UINT8: GITypeTag = 3;
94pub const GI_TYPE_TAG_INT16: GITypeTag = 4;
95pub const GI_TYPE_TAG_UINT16: GITypeTag = 5;
96pub const GI_TYPE_TAG_INT32: GITypeTag = 6;
97pub const GI_TYPE_TAG_UINT32: GITypeTag = 7;
98pub const GI_TYPE_TAG_INT64: GITypeTag = 8;
99pub const GI_TYPE_TAG_UINT64: GITypeTag = 9;
100pub const GI_TYPE_TAG_FLOAT: GITypeTag = 10;
101pub const GI_TYPE_TAG_DOUBLE: GITypeTag = 11;
102pub const GI_TYPE_TAG_GTYPE: GITypeTag = 12;
103pub const GI_TYPE_TAG_UTF8: GITypeTag = 13;
104pub const GI_TYPE_TAG_FILENAME: GITypeTag = 14;
105pub const GI_TYPE_TAG_ARRAY: GITypeTag = 15;
106pub const GI_TYPE_TAG_INTERFACE: GITypeTag = 16;
107pub const GI_TYPE_TAG_GLIST: GITypeTag = 17;
108pub const GI_TYPE_TAG_GSLIST: GITypeTag = 18;
109pub const GI_TYPE_TAG_GHASH: GITypeTag = 19;
110pub const GI_TYPE_TAG_ERROR: GITypeTag = 20;
111pub const GI_TYPE_TAG_UNICHAR: GITypeTag = 21;
112
113pub type GInvokeError = c_int;
114pub const G_INVOKE_ERROR_FAILED: GInvokeError = 0;
115pub const G_INVOKE_ERROR_SYMBOL_NOT_FOUND: GInvokeError = 1;
116pub const G_INVOKE_ERROR_ARGUMENT_MISMATCH: GInvokeError = 2;
117
118// Constants
119pub const GI_MAJOR_VERSION: c_int = 1;
120pub const GI_TYPE_TAG_N_TYPES: c_int = 22;
121
122// Flags
123pub type GIFieldInfoFlags = c_uint;
124pub const GI_FIELD_IS_READABLE: GIFieldInfoFlags = 1;
125pub const GI_FIELD_IS_WRITABLE: GIFieldInfoFlags = 2;
126
127pub type GIFunctionInfoFlags = c_uint;
128pub const GI_FUNCTION_IS_METHOD: GIFunctionInfoFlags = 1;
129pub const GI_FUNCTION_IS_CONSTRUCTOR: GIFunctionInfoFlags = 2;
130pub const GI_FUNCTION_IS_GETTER: GIFunctionInfoFlags = 4;
131pub const GI_FUNCTION_IS_SETTER: GIFunctionInfoFlags = 8;
132pub const GI_FUNCTION_WRAPS_VFUNC: GIFunctionInfoFlags = 16;
133pub const GI_FUNCTION_THROWS: GIFunctionInfoFlags = 32;
134
135pub type GIRepositoryLoadFlags = c_uint;
136pub const G_IREPOSITORY_LOAD_FLAG_LAZY: GIRepositoryLoadFlags = 1;
137
138pub type GIVFuncInfoFlags = c_uint;
139pub const GI_VFUNC_MUST_CHAIN_UP: GIVFuncInfoFlags = 1;
140pub const GI_VFUNC_MUST_OVERRIDE: GIVFuncInfoFlags = 2;
141pub const GI_VFUNC_MUST_NOT_OVERRIDE: GIVFuncInfoFlags = 4;
142pub const GI_VFUNC_THROWS: GIVFuncInfoFlags = 8;
143
144// Unions
145#[derive(Copy, Clone)]
146#[repr(C)]
147pub union GIArgument {
148    pub v_boolean: gboolean,
149    pub v_int8: i8,
150    pub v_uint8: u8,
151    pub v_int16: i16,
152    pub v_uint16: u16,
153    pub v_int32: i32,
154    pub v_uint32: u32,
155    pub v_int64: i64,
156    pub v_uint64: u64,
157    pub v_float: c_float,
158    pub v_double: c_double,
159    pub v_short: c_short,
160    pub v_ushort: c_ushort,
161    pub v_int: c_int,
162    pub v_uint: c_uint,
163    pub v_long: c_long,
164    pub v_ulong: c_ulong,
165    pub v_ssize: ssize_t,
166    pub v_size: size_t,
167    pub v_string: *mut c_char,
168    pub v_pointer: gpointer,
169}
170
171impl ::std::fmt::Debug for GIArgument {
172    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
173        f.debug_struct(&format!("GIArgument @ {self:p}"))
174         .field("v_boolean", unsafe { &self.v_boolean })
175         .field("v_int8", unsafe { &self.v_int8 })
176         .field("v_uint8", unsafe { &self.v_uint8 })
177         .field("v_int16", unsafe { &self.v_int16 })
178         .field("v_uint16", unsafe { &self.v_uint16 })
179         .field("v_int32", unsafe { &self.v_int32 })
180         .field("v_uint32", unsafe { &self.v_uint32 })
181         .field("v_int64", unsafe { &self.v_int64 })
182         .field("v_uint64", unsafe { &self.v_uint64 })
183         .field("v_float", unsafe { &self.v_float })
184         .field("v_double", unsafe { &self.v_double })
185         .field("v_short", unsafe { &self.v_short })
186         .field("v_ushort", unsafe { &self.v_ushort })
187         .field("v_int", unsafe { &self.v_int })
188         .field("v_uint", unsafe { &self.v_uint })
189         .field("v_long", unsafe { &self.v_long })
190         .field("v_ulong", unsafe { &self.v_ulong })
191         .field("v_ssize", unsafe { &self.v_ssize })
192         .field("v_size", unsafe { &self.v_size })
193         .field("v_string", unsafe { &self.v_string })
194         .field("v_pointer", unsafe { &self.v_pointer })
195         .finish()
196    }
197}
198
199// Callbacks
200pub type GIObjectInfoGetValueFunction = Option<unsafe extern "C" fn(*const gobject::GValue) -> *mut c_void>;
201pub type GIObjectInfoRefFunction = Option<unsafe extern "C" fn(*mut c_void) -> *mut c_void>;
202pub type GIObjectInfoSetValueFunction = Option<unsafe extern "C" fn(*mut gobject::GValue, *mut c_void)>;
203pub type GIObjectInfoUnrefFunction = Option<unsafe extern "C" fn(*mut c_void)>;
204
205// Records
206#[derive(Copy, Clone)]
207#[repr(C)]
208pub struct GIAttributeIter {
209    pub data: gpointer,
210    pub data2: gpointer,
211    pub data3: gpointer,
212    pub data4: gpointer,
213}
214
215impl ::std::fmt::Debug for GIAttributeIter {
216    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
217        f.debug_struct(&format!("GIAttributeIter @ {self:p}"))
218         .finish()
219    }
220}
221
222#[derive(Copy, Clone)]
223#[repr(C)]
224pub struct GIBaseInfo {
225    pub dummy1: i32,
226    pub dummy2: i32,
227    pub dummy3: gpointer,
228    pub dummy4: gpointer,
229    pub dummy5: gpointer,
230    pub dummy6: u32,
231    pub dummy7: u32,
232    pub padding: [gpointer; 4],
233}
234
235impl ::std::fmt::Debug for GIBaseInfo {
236    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
237        f.debug_struct(&format!("GIBaseInfo @ {self:p}"))
238         .finish()
239    }
240}
241
242#[derive(Copy, Clone)]
243#[repr(C)]
244pub struct GIRepositoryClass {
245    pub parent: gobject::GObjectClass,
246}
247
248impl ::std::fmt::Debug for GIRepositoryClass {
249    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
250        f.debug_struct(&format!("GIRepositoryClass @ {self:p}"))
251         .finish()
252    }
253}
254
255#[repr(C)]
256pub struct _GIRepositoryPrivate {
257    _data: [u8; 0],
258    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
259}
260
261pub type GIRepositoryPrivate = *mut _GIRepositoryPrivate;
262
263#[repr(C)]
264pub struct _GITypelib {
265    _data: [u8; 0],
266    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
267}
268
269pub type GITypelib = *mut _GITypelib;
270
271#[repr(C)]
272pub struct _GIUnresolvedInfo {
273    _data: [u8; 0],
274    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
275}
276
277pub type GIUnresolvedInfo = *mut _GIUnresolvedInfo;
278
279// Classes
280#[derive(Copy, Clone)]
281#[repr(C)]
282pub struct GIRepository {
283    pub parent: gobject::GObject,
284    pub priv_: *mut GIRepositoryPrivate,
285}
286
287impl ::std::fmt::Debug for GIRepository {
288    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
289        f.debug_struct(&format!("GIRepository @ {self:p}"))
290         .finish()
291    }
292}
293
294#[link(name = "girepository-1.0")]
295extern "C" {
296
297    //=========================================================================
298    // GIBaseInfo
299    //=========================================================================
300    pub fn g_base_info_gtype_get_type() -> GType;
301    pub fn g_base_info_equal(info1: *mut GIBaseInfo, info2: *mut GIBaseInfo) -> gboolean;
302    pub fn g_base_info_get_attribute(info: *mut GIBaseInfo, name: *const c_char) -> *const c_char;
303    pub fn g_base_info_get_container(info: *mut GIBaseInfo) -> *mut GIBaseInfo;
304    pub fn g_base_info_get_name(info: *mut GIBaseInfo) -> *const c_char;
305    pub fn g_base_info_get_namespace(info: *mut GIBaseInfo) -> *const c_char;
306    pub fn g_base_info_get_type(info: *mut GIBaseInfo) -> GIInfoType;
307    pub fn g_base_info_get_typelib(info: *mut GIBaseInfo) -> *mut GITypelib;
308    pub fn g_base_info_is_deprecated(info: *mut GIBaseInfo) -> gboolean;
309    pub fn g_base_info_iterate_attributes(info: *mut GIBaseInfo, iterator: *mut GIAttributeIter, name: *mut *mut c_char, value: *mut *mut c_char) -> gboolean;
310    pub fn g_base_info_ref(info: *mut GIBaseInfo) -> *mut GIBaseInfo;
311    pub fn g_base_info_unref(info: *mut GIBaseInfo);
312
313    //=========================================================================
314    // GITypelib
315    //=========================================================================
316    pub fn g_typelib_free(typelib: *mut GITypelib);
317    pub fn g_typelib_get_namespace(typelib: *mut GITypelib) -> *const c_char;
318    pub fn g_typelib_symbol(typelib: *mut GITypelib, symbol_name: *const c_char, symbol: *mut gpointer) -> gboolean;
319    pub fn g_typelib_new_from_const_memory(memory: *const u8, len: size_t, error: *mut *mut glib::GError) -> *mut GITypelib;
320    pub fn g_typelib_new_from_mapped_file(mfile: *mut glib::GMappedFile, error: *mut *mut glib::GError) -> *mut GITypelib;
321    pub fn g_typelib_new_from_memory(memory: *mut u8, len: size_t, error: *mut *mut glib::GError) -> *mut GITypelib;
322
323    //=========================================================================
324    // GIRepository
325    //=========================================================================
326    pub fn g_irepository_get_type() -> GType;
327    pub fn g_irepository_dump(arg: *const c_char, error: *mut *mut glib::GError) -> gboolean;
328    pub fn g_irepository_error_quark() -> glib::GQuark;
329    pub fn g_irepository_get_default() -> *mut GIRepository;
330    pub fn g_irepository_get_option_group() -> *mut glib::GOptionGroup;
331    pub fn g_irepository_get_search_path() -> *mut glib::GSList;
332    pub fn g_irepository_prepend_library_path(directory: *const c_char);
333    pub fn g_irepository_prepend_search_path(directory: *const c_char);
334    pub fn g_irepository_enumerate_versions(repository: *mut GIRepository, namespace_: *const c_char) -> *mut glib::GList;
335    pub fn g_irepository_find_by_error_domain(repository: *mut GIRepository, domain: glib::GQuark) -> *mut GIEnumInfo;
336    pub fn g_irepository_find_by_gtype(repository: *mut GIRepository, gtype: GType) -> *mut GIBaseInfo;
337    pub fn g_irepository_find_by_name(repository: *mut GIRepository, namespace_: *const c_char, name: *const c_char) -> *mut GIBaseInfo;
338    pub fn g_irepository_get_c_prefix(repository: *mut GIRepository, namespace_: *const c_char) -> *const c_char;
339    pub fn g_irepository_get_dependencies(repository: *mut GIRepository, namespace_: *const c_char) -> *mut *mut c_char;
340    pub fn g_irepository_get_immediate_dependencies(repository: *mut GIRepository, namespace_: *const c_char) -> *mut *mut c_char;
341    pub fn g_irepository_get_info(repository: *mut GIRepository, namespace_: *const c_char, index: c_int) -> *mut GIBaseInfo;
342    pub fn g_irepository_get_loaded_namespaces(repository: *mut GIRepository) -> *mut *mut c_char;
343    pub fn g_irepository_get_n_infos(repository: *mut GIRepository, namespace_: *const c_char) -> c_int;
344    pub fn g_irepository_get_object_gtype_interfaces(repository: *mut GIRepository, gtype: GType, n_interfaces_out: *mut c_uint, interfaces_out: *mut *mut *mut GIInterfaceInfo);
345    pub fn g_irepository_get_shared_library(repository: *mut GIRepository, namespace_: *const c_char) -> *const c_char;
346    pub fn g_irepository_get_typelib_path(repository: *mut GIRepository, namespace_: *const c_char) -> *const c_char;
347    pub fn g_irepository_get_version(repository: *mut GIRepository, namespace_: *const c_char) -> *const c_char;
348    pub fn g_irepository_is_registered(repository: *mut GIRepository, namespace_: *const c_char, version: *const c_char) -> gboolean;
349    pub fn g_irepository_load_typelib(repository: *mut GIRepository, typelib: *mut GITypelib, flags: GIRepositoryLoadFlags, error: *mut *mut glib::GError) -> *const c_char;
350    pub fn g_irepository_require(repository: *mut GIRepository, namespace_: *const c_char, version: *const c_char, flags: GIRepositoryLoadFlags, error: *mut *mut glib::GError) -> *mut GITypelib;
351    pub fn g_irepository_require_private(repository: *mut GIRepository, typelib_dir: *const c_char, namespace_: *const c_char, version: *const c_char, flags: GIRepositoryLoadFlags, error: *mut *mut glib::GError) -> *mut GITypelib;
352
353    //=========================================================================
354    // Other functions
355    //=========================================================================
356    pub fn g_arg_info_get_closure(info: *mut GIArgInfo) -> c_int;
357    pub fn g_arg_info_get_destroy(info: *mut GIArgInfo) -> c_int;
358    pub fn g_arg_info_get_direction(info: *mut GIArgInfo) -> GIDirection;
359    pub fn g_arg_info_get_ownership_transfer(info: *mut GIArgInfo) -> GITransfer;
360    pub fn g_arg_info_get_scope(info: *mut GIArgInfo) -> GIScopeType;
361    pub fn g_arg_info_get_type(info: *mut GIArgInfo) -> *mut GITypeInfo;
362    pub fn g_arg_info_is_caller_allocates(info: *mut GIArgInfo) -> gboolean;
363    pub fn g_arg_info_is_optional(info: *mut GIArgInfo) -> gboolean;
364    pub fn g_arg_info_is_return_value(info: *mut GIArgInfo) -> gboolean;
365    pub fn g_arg_info_is_skip(info: *mut GIArgInfo) -> gboolean;
366    pub fn g_arg_info_load_type(info: *mut GIArgInfo, type_: *mut GITypeInfo);
367    pub fn g_arg_info_may_be_null(info: *mut GIArgInfo) -> gboolean;
368    pub fn g_callable_info_can_throw_gerror(info: *mut GICallableInfo) -> gboolean;
369    pub fn g_callable_info_get_arg(info: *mut GICallableInfo, n: c_int) -> *mut GIArgInfo;
370    pub fn g_callable_info_get_caller_owns(info: *mut GICallableInfo) -> GITransfer;
371    pub fn g_callable_info_get_instance_ownership_transfer(info: *mut GICallableInfo) -> GITransfer;
372    pub fn g_callable_info_get_n_args(info: *mut GICallableInfo) -> c_int;
373    pub fn g_callable_info_get_return_attribute(info: *mut GICallableInfo, name: *const c_char) -> *const c_char;
374    pub fn g_callable_info_get_return_type(info: *mut GICallableInfo) -> *mut GITypeInfo;
375    pub fn g_callable_info_invoke(info: *mut GICallableInfo, function: gpointer, in_args: *const GIArgument, n_in_args: c_int, out_args: *const GIArgument, n_out_args: c_int, return_value: *mut GIArgument, is_method: gboolean, throws: gboolean, error: *mut *mut glib::GError) -> gboolean;
376    pub fn g_callable_info_is_method(info: *mut GICallableInfo) -> gboolean;
377    pub fn g_callable_info_iterate_return_attributes(info: *mut GICallableInfo, iterator: *mut GIAttributeIter, name: *mut *mut c_char, value: *mut *mut c_char) -> gboolean;
378    pub fn g_callable_info_load_arg(info: *mut GICallableInfo, n: c_int, arg: *mut GIArgInfo);
379    pub fn g_callable_info_load_return_type(info: *mut GICallableInfo, type_: *mut GITypeInfo);
380    pub fn g_callable_info_may_return_null(info: *mut GICallableInfo) -> gboolean;
381    pub fn g_callable_info_skip_return(info: *mut GICallableInfo) -> gboolean;
382    pub fn gi_cclosure_marshal_generic(closure: *mut gobject::GClosure, return_gvalue: *mut gobject::GValue, n_param_values: c_uint, param_values: *const gobject::GValue, invocation_hint: gpointer, marshal_data: gpointer);
383    pub fn g_constant_info_free_value(info: *mut GIConstantInfo, value: *mut GIArgument);
384    pub fn g_constant_info_get_type(info: *mut GIConstantInfo) -> *mut GITypeInfo;
385    pub fn g_constant_info_get_value(info: *mut GIConstantInfo, value: *mut GIArgument) -> c_int;
386    pub fn g_enum_info_get_error_domain(info: *mut GIEnumInfo) -> *const c_char;
387    pub fn g_enum_info_get_method(info: *mut GIEnumInfo, n: c_int) -> *mut GIFunctionInfo;
388    pub fn g_enum_info_get_n_methods(info: *mut GIEnumInfo) -> c_int;
389    pub fn g_enum_info_get_n_values(info: *mut GIEnumInfo) -> c_int;
390    pub fn g_enum_info_get_storage_type(info: *mut GIEnumInfo) -> GITypeTag;
391    pub fn g_enum_info_get_value(info: *mut GIEnumInfo, n: c_int) -> *mut GIValueInfo;
392    pub fn g_field_info_get_field(field_info: *mut GIFieldInfo, mem: gpointer, value: *mut GIArgument) -> gboolean;
393    pub fn g_field_info_get_flags(info: *mut GIFieldInfo) -> GIFieldInfoFlags;
394    pub fn g_field_info_get_offset(info: *mut GIFieldInfo) -> c_int;
395    pub fn g_field_info_get_size(info: *mut GIFieldInfo) -> c_int;
396    pub fn g_field_info_get_type(info: *mut GIFieldInfo) -> *mut GITypeInfo;
397    pub fn g_field_info_set_field(field_info: *mut GIFieldInfo, mem: gpointer, value: *const GIArgument) -> gboolean;
398    pub fn g_function_info_get_flags(info: *mut GIFunctionInfo) -> GIFunctionInfoFlags;
399    pub fn g_function_info_get_property(info: *mut GIFunctionInfo) -> *mut GIPropertyInfo;
400    pub fn g_function_info_get_symbol(info: *mut GIFunctionInfo) -> *const c_char;
401    pub fn g_function_info_get_vfunc(info: *mut GIFunctionInfo) -> *mut GIVFuncInfo;
402    pub fn g_function_info_invoke(info: *mut GIFunctionInfo, in_args: *const GIArgument, n_in_args: c_int, out_args: *const GIArgument, n_out_args: c_int, return_value: *mut GIArgument, error: *mut *mut glib::GError) -> gboolean;
403    pub fn gi_get_major_version() -> c_uint;
404    pub fn gi_get_micro_version() -> c_uint;
405    pub fn gi_get_minor_version() -> c_uint;
406    pub fn g_info_new(type_: GIInfoType, container: *mut GIBaseInfo, typelib: *mut GITypelib, offset: u32) -> *mut GIBaseInfo;
407    pub fn g_info_type_to_string(type_: GIInfoType) -> *const c_char;
408    pub fn g_interface_info_find_method(info: *mut GIInterfaceInfo, name: *const c_char) -> *mut GIFunctionInfo;
409    pub fn g_interface_info_find_signal(info: *mut GIInterfaceInfo, name: *const c_char) -> *mut GISignalInfo;
410    pub fn g_interface_info_find_vfunc(info: *mut GIInterfaceInfo, name: *const c_char) -> *mut GIVFuncInfo;
411    pub fn g_interface_info_get_constant(info: *mut GIInterfaceInfo, n: c_int) -> *mut GIConstantInfo;
412    pub fn g_interface_info_get_iface_struct(info: *mut GIInterfaceInfo) -> *mut GIStructInfo;
413    pub fn g_interface_info_get_method(info: *mut GIInterfaceInfo, n: c_int) -> *mut GIFunctionInfo;
414    pub fn g_interface_info_get_n_constants(info: *mut GIInterfaceInfo) -> c_int;
415    pub fn g_interface_info_get_n_methods(info: *mut GIInterfaceInfo) -> c_int;
416    pub fn g_interface_info_get_n_prerequisites(info: *mut GIInterfaceInfo) -> c_int;
417    pub fn g_interface_info_get_n_properties(info: *mut GIInterfaceInfo) -> c_int;
418    pub fn g_interface_info_get_n_signals(info: *mut GIInterfaceInfo) -> c_int;
419    pub fn g_interface_info_get_n_vfuncs(info: *mut GIInterfaceInfo) -> c_int;
420    pub fn g_interface_info_get_prerequisite(info: *mut GIInterfaceInfo, n: c_int) -> *mut GIBaseInfo;
421    pub fn g_interface_info_get_property(info: *mut GIInterfaceInfo, n: c_int) -> *mut GIPropertyInfo;
422    pub fn g_interface_info_get_signal(info: *mut GIInterfaceInfo, n: c_int) -> *mut GISignalInfo;
423    pub fn g_interface_info_get_vfunc(info: *mut GIInterfaceInfo, n: c_int) -> *mut GIVFuncInfo;
424    pub fn g_invoke_error_quark() -> glib::GQuark;
425    pub fn g_object_info_find_method(info: *mut GIObjectInfo, name: *const c_char) -> *mut GIFunctionInfo;
426    pub fn g_object_info_find_method_using_interfaces(info: *mut GIObjectInfo, name: *const c_char, implementor: *mut *mut GIObjectInfo) -> *mut GIFunctionInfo;
427    pub fn g_object_info_find_signal(info: *mut GIObjectInfo, name: *const c_char) -> *mut GISignalInfo;
428    pub fn g_object_info_find_vfunc(info: *mut GIObjectInfo, name: *const c_char) -> *mut GIVFuncInfo;
429    pub fn g_object_info_find_vfunc_using_interfaces(info: *mut GIObjectInfo, name: *const c_char, implementor: *mut *mut GIObjectInfo) -> *mut GIVFuncInfo;
430    pub fn g_object_info_get_abstract(info: *mut GIObjectInfo) -> gboolean;
431    pub fn g_object_info_get_class_struct(info: *mut GIObjectInfo) -> *mut GIStructInfo;
432    pub fn g_object_info_get_constant(info: *mut GIObjectInfo, n: c_int) -> *mut GIConstantInfo;
433    pub fn g_object_info_get_field(info: *mut GIObjectInfo, n: c_int) -> *mut GIFieldInfo;
434    pub fn g_object_info_get_final(info: *mut GIObjectInfo) -> gboolean;
435    pub fn g_object_info_get_fundamental(info: *mut GIObjectInfo) -> gboolean;
436    pub fn g_object_info_get_get_value_function(info: *mut GIObjectInfo) -> *const c_char;
437    pub fn g_object_info_get_get_value_function_pointer(info: *mut GIObjectInfo) -> GIObjectInfoGetValueFunction;
438    pub fn g_object_info_get_interface(info: *mut GIObjectInfo, n: c_int) -> *mut GIInterfaceInfo;
439    pub fn g_object_info_get_method(info: *mut GIObjectInfo, n: c_int) -> *mut GIFunctionInfo;
440    pub fn g_object_info_get_n_constants(info: *mut GIObjectInfo) -> c_int;
441    pub fn g_object_info_get_n_fields(info: *mut GIObjectInfo) -> c_int;
442    pub fn g_object_info_get_n_interfaces(info: *mut GIObjectInfo) -> c_int;
443    pub fn g_object_info_get_n_methods(info: *mut GIObjectInfo) -> c_int;
444    pub fn g_object_info_get_n_properties(info: *mut GIObjectInfo) -> c_int;
445    pub fn g_object_info_get_n_signals(info: *mut GIObjectInfo) -> c_int;
446    pub fn g_object_info_get_n_vfuncs(info: *mut GIObjectInfo) -> c_int;
447    pub fn g_object_info_get_parent(info: *mut GIObjectInfo) -> *mut GIObjectInfo;
448    pub fn g_object_info_get_property(info: *mut GIObjectInfo, n: c_int) -> *mut GIPropertyInfo;
449    pub fn g_object_info_get_ref_function(info: *mut GIObjectInfo) -> *const c_char;
450    pub fn g_object_info_get_ref_function_pointer(info: *mut GIObjectInfo) -> GIObjectInfoRefFunction;
451    pub fn g_object_info_get_set_value_function(info: *mut GIObjectInfo) -> *const c_char;
452    pub fn g_object_info_get_set_value_function_pointer(info: *mut GIObjectInfo) -> GIObjectInfoSetValueFunction;
453    pub fn g_object_info_get_signal(info: *mut GIObjectInfo, n: c_int) -> *mut GISignalInfo;
454    pub fn g_object_info_get_type_init(info: *mut GIObjectInfo) -> *const c_char;
455    pub fn g_object_info_get_type_name(info: *mut GIObjectInfo) -> *const c_char;
456    pub fn g_object_info_get_unref_function(info: *mut GIObjectInfo) -> *const c_char;
457    pub fn g_object_info_get_unref_function_pointer(info: *mut GIObjectInfo) -> GIObjectInfoUnrefFunction;
458    pub fn g_object_info_get_vfunc(info: *mut GIObjectInfo, n: c_int) -> *mut GIVFuncInfo;
459    pub fn g_property_info_get_flags(info: *mut GIPropertyInfo) -> gobject::GParamFlags;
460    pub fn g_property_info_get_getter(info: *mut GIPropertyInfo) -> *mut GIFunctionInfo;
461    pub fn g_property_info_get_ownership_transfer(info: *mut GIPropertyInfo) -> GITransfer;
462    pub fn g_property_info_get_setter(info: *mut GIPropertyInfo) -> *mut GIFunctionInfo;
463    pub fn g_property_info_get_type(info: *mut GIPropertyInfo) -> *mut GITypeInfo;
464    pub fn g_registered_type_info_get_g_type(info: *mut GIRegisteredTypeInfo) -> GType;
465    pub fn g_registered_type_info_get_type_init(info: *mut GIRegisteredTypeInfo) -> *const c_char;
466    pub fn g_registered_type_info_get_type_name(info: *mut GIRegisteredTypeInfo) -> *const c_char;
467    pub fn g_signal_info_get_class_closure(info: *mut GISignalInfo) -> *mut GIVFuncInfo;
468    pub fn g_signal_info_get_flags(info: *mut GISignalInfo) -> gobject::GSignalFlags;
469    pub fn g_signal_info_true_stops_emit(info: *mut GISignalInfo) -> gboolean;
470    pub fn g_struct_info_find_field(info: *mut GIStructInfo, name: *const c_char) -> *mut GIFieldInfo;
471    pub fn g_struct_info_find_method(info: *mut GIStructInfo, name: *const c_char) -> *mut GIFunctionInfo;
472    pub fn g_struct_info_get_alignment(info: *mut GIStructInfo) -> size_t;
473    pub fn g_struct_info_get_field(info: *mut GIStructInfo, n: c_int) -> *mut GIFieldInfo;
474    pub fn g_struct_info_get_method(info: *mut GIStructInfo, n: c_int) -> *mut GIFunctionInfo;
475    pub fn g_struct_info_get_n_fields(info: *mut GIStructInfo) -> c_int;
476    pub fn g_struct_info_get_n_methods(info: *mut GIStructInfo) -> c_int;
477    pub fn g_struct_info_get_size(info: *mut GIStructInfo) -> size_t;
478    pub fn g_struct_info_is_foreign(info: *mut GIStructInfo) -> gboolean;
479    pub fn g_struct_info_is_gtype_struct(info: *mut GIStructInfo) -> gboolean;
480    pub fn g_type_info_argument_from_hash_pointer(info: *mut GITypeInfo, hash_pointer: gpointer, arg: *mut GIArgument);
481    pub fn g_type_info_get_array_fixed_size(info: *mut GITypeInfo) -> c_int;
482    pub fn g_type_info_get_array_length(info: *mut GITypeInfo) -> c_int;
483    pub fn g_type_info_get_array_type(info: *mut GITypeInfo) -> GIArrayType;
484    pub fn g_type_info_get_interface(info: *mut GITypeInfo) -> *mut GIBaseInfo;
485    pub fn g_type_info_get_param_type(info: *mut GITypeInfo, n: c_int) -> *mut GITypeInfo;
486    pub fn g_type_info_get_storage_type(info: *mut GITypeInfo) -> GITypeTag;
487    pub fn g_type_info_get_tag(info: *mut GITypeInfo) -> GITypeTag;
488    pub fn g_type_info_hash_pointer_from_argument(info: *mut GITypeInfo, arg: *mut GIArgument) -> gpointer;
489    pub fn g_type_info_is_pointer(info: *mut GITypeInfo) -> gboolean;
490    pub fn g_type_info_is_zero_terminated(info: *mut GITypeInfo) -> gboolean;
491    pub fn gi_type_tag_argument_from_hash_pointer(storage_type: GITypeTag, hash_pointer: gpointer, arg: *mut GIArgument);
492    pub fn gi_type_tag_hash_pointer_from_argument(storage_type: GITypeTag, arg: *mut GIArgument) -> gpointer;
493    pub fn g_type_tag_to_string(type_: GITypeTag) -> *const c_char;
494    pub fn g_union_info_find_method(info: *mut GIUnionInfo, name: *const c_char) -> *mut GIFunctionInfo;
495    pub fn g_union_info_get_alignment(info: *mut GIUnionInfo) -> size_t;
496    pub fn g_union_info_get_discriminator(info: *mut GIUnionInfo, n: c_int) -> *mut GIConstantInfo;
497    pub fn g_union_info_get_discriminator_offset(info: *mut GIUnionInfo) -> c_int;
498    pub fn g_union_info_get_discriminator_type(info: *mut GIUnionInfo) -> *mut GITypeInfo;
499    pub fn g_union_info_get_field(info: *mut GIUnionInfo, n: c_int) -> *mut GIFieldInfo;
500    pub fn g_union_info_get_method(info: *mut GIUnionInfo, n: c_int) -> *mut GIFunctionInfo;
501    pub fn g_union_info_get_n_fields(info: *mut GIUnionInfo) -> c_int;
502    pub fn g_union_info_get_n_methods(info: *mut GIUnionInfo) -> c_int;
503    pub fn g_union_info_get_size(info: *mut GIUnionInfo) -> size_t;
504    pub fn g_union_info_is_discriminated(info: *mut GIUnionInfo) -> gboolean;
505    pub fn g_value_info_get_value(info: *mut GIValueInfo) -> i64;
506    pub fn g_vfunc_info_get_address(info: *mut GIVFuncInfo, implementor_gtype: GType, error: *mut *mut glib::GError) -> gpointer;
507    pub fn g_vfunc_info_get_flags(info: *mut GIVFuncInfo) -> GIVFuncInfoFlags;
508    pub fn g_vfunc_info_get_invoker(info: *mut GIVFuncInfo) -> *mut GIFunctionInfo;
509    pub fn g_vfunc_info_get_offset(info: *mut GIVFuncInfo) -> c_int;
510    pub fn g_vfunc_info_get_signal(info: *mut GIVFuncInfo) -> *mut GISignalInfo;
511    pub fn g_vfunc_info_invoke(info: *mut GIVFuncInfo, implementor: GType, in_args: *const GIArgument, n_in_args: c_int, out_args: *const GIArgument, n_out_args: c_int, return_value: *mut GIArgument, error: *mut *mut glib::GError) -> gboolean;
512
513}