![]() |
![]() |
![]() |
GObject Introspection Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
void (*GIFFIClosureCallback) (ffi_cif *Param1
,void *Param2
,void **Param3
,void *Param4
); struct GIFunctionInvoker; typedef GIFFIReturnValue; ffi_type * gi_type_tag_get_ffi_type (GITypeTag type_tag
,gboolean is_pointer
); ffi_type * g_type_info_get_ffi_type (GITypeInfo *info
); void gi_type_info_extract_ffi_return_value (GITypeInfo *return_info
,GIFFIReturnValue *ffi_value
,GIArgument *arg
); gboolean g_function_info_prep_invoker (GIFunctionInfo *info
,GIFunctionInvoker *invoker
,GError **error
); gboolean g_function_invoker_new_for_address (gpointer addr
,GICallableInfo *info
,GIFunctionInvoker *invoker
,GError **error
); void g_function_invoker_destroy (GIFunctionInvoker *invoker
); ffi_closure * g_callable_info_prepare_closure (GICallableInfo *callable_info
,ffi_cif *cif
,GIFFIClosureCallback callback
,gpointer user_data
); void g_callable_info_free_closure (GICallableInfo *callable_info
,ffi_closure *closure
);
void (*GIFFIClosureCallback) (ffi_cif *Param1
,void *Param2
,void **Param3
,void *Param4
);
TODO
|
TODO |
|
TODO |
|
TODO |
|
TODO |
ffi_type * gi_type_tag_get_ffi_type (GITypeTag type_tag
,gboolean is_pointer
);
TODO
|
A GITypeTag |
|
Whether or not this is a pointer type |
Returns : |
A ffi_type corresponding to the platform default C ABI for tag and is_pointer . |
ffi_type * g_type_info_get_ffi_type (GITypeInfo *info
);
TODO
|
A GITypeInfo |
Returns : |
A ffi_type corresponding to the platform default C ABI for info . |
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".
|
TODO |
|
TODO |
|
TODO. [out caller-allocates] |
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.
|
A GIFunctionInfo |
|
Output invoker structure |
|
A GError |
Returns : |
TRUE on success, FALSE otherwise with error set. |
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.
|
The address |
|
A GICallableInfo |
|
Output invoker structure |
|
A GError |
Returns : |
TRUE on success, FALSE otherwise with error set. |
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.
|
A GIFunctionInvoker |
ffi_closure * g_callable_info_prepare_closure (GICallableInfo *callable_info
,ffi_cif *cif
,GIFFIClosureCallback callback
,gpointer user_data
);
Prepares a callback for ffi invocation.
|
a callable info from a typelib |
|
a ffi_cif structure |
|
the ffi callback |
|
data to be passed into the callback |
Returns : |
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()
|
a callable info from a typelib |
|
ffi closure |