Top | ![]() |
![]() |
![]() |
![]() |
void | (*GIFFIClosureCallback) () |
ffi_type * | gi_type_tag_get_ffi_type () |
ffi_type * | g_type_info_get_ffi_type () |
void | gi_type_info_extract_ffi_return_value () |
gboolean | g_function_info_prep_invoker () |
gboolean | g_function_invoker_new_for_address () |
void | g_function_invoker_destroy () |
ffi_closure * | g_callable_info_prepare_closure () |
void | g_callable_info_free_closure () |
void (*GIFFIClosureCallback) (ffi_cif *Param1
,void *Param2
,void **Param3
,void *Param4
);
TODO
ffi_type * gi_type_tag_get_ffi_type (GITypeTag type_tag
,gboolean is_pointer
);
TODO
void gi_type_info_extract_ffi_return_value (GITypeInfo *return_info
,GIFFIReturnValue *ffi_value
,GIArgument *arg
);
Extract the correct bits from an ffi_arg return value into GIArgument: https://bugzilla.gnome.org/show_bug.cgi?id=665152
Also see ffi_call(3)
the storage requirements for return values are "special".
gboolean g_function_info_prep_invoker (GIFunctionInfo *info
,GIFunctionInvoker *invoker
,GError **error
);
Initialize the caller-allocated invoker
structure with a cache
of information needed to invoke the C function corresponding to
info
with the platform's default ABI.
A primary intent of this function is that a dynamic structure allocated by a language binding could contain a GIFunctionInvoker structure inside the binding's function mapping.
gboolean g_function_invoker_new_for_address (gpointer addr
,GICallableInfo *info
,GIFunctionInvoker *invoker
,GError **error
);
Initialize the caller-allocated invoker
structure with a cache
of information needed to invoke the C function corresponding to
info
with the platform's default ABI.
A primary intent of this function is that a dynamic structure allocated by a language binding could contain a GIFunctionInvoker structure inside the binding's function mapping.
void
g_function_invoker_destroy (GIFunctionInvoker *invoker
);
Release all resources allocated for the internals of invoker
; callers
are responsible for freeing any resources allocated for the structure
itself however.
ffi_closure * g_callable_info_prepare_closure (GICallableInfo *callable_info
,ffi_cif *cif
,GIFFIClosureCallback callback
,gpointer user_data
);
Prepares a callback for ffi invocation.
callable_info |
a callable info from a typelib |
|
cif |
a ffi_cif structure |
|
callback |
the ffi callback |
|
user_data |
data to be passed into the callback |
the ffi_closure or NULL on error. The return value
should be freed by calling g_callable_info_free_closure()
.
void g_callable_info_free_closure (GICallableInfo *callable_info
,ffi_closure *closure
);
Frees a ffi_closure returned from g_callable_info_prepare_closure()