1#![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
18pub 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
37pub 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
118pub const GI_MAJOR_VERSION: c_int = 1;
120pub const GI_TYPE_TAG_N_TYPES: c_int = 22;
121
122pub 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#[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
199pub 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#[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#[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 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 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 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 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}