mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 15:36:14 +01:00
Export gi_type_tag_get_ffi_type
This is needed by the offsets code, and is generally useful. We need to export it for a future patch which won't export symbols with a leading _.
This commit is contained in:
parent
307843c55f
commit
e6bb30500c
@ -108,8 +108,6 @@ GIVFuncInfo * _g_base_info_find_vfunc (GIRealInfo *rinfo,
|
|||||||
gint n_vfuncs,
|
gint n_vfuncs,
|
||||||
const gchar *name);
|
const gchar *name);
|
||||||
|
|
||||||
ffi_type * _gi_type_tag_get_ffi_type (GITypeTag type_tag, gboolean is_pointer);
|
|
||||||
|
|
||||||
extern ffi_status ffi_prep_closure_loc (ffi_closure *,
|
extern ffi_status ffi_prep_closure_loc (ffi_closure *,
|
||||||
ffi_cif *,
|
ffi_cif *,
|
||||||
void (*fun)(ffi_cif *, void *, void **, void *),
|
void (*fun)(ffi_cif *, void *, void **, void *),
|
||||||
|
13
girffi.c
13
girffi.c
@ -30,9 +30,16 @@
|
|||||||
#include "girepository.h"
|
#include "girepository.h"
|
||||||
#include "girepository-private.h"
|
#include "girepository-private.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gi_type_tag_get_ffi_type:
|
||||||
|
* @tag: A #GITypeTag
|
||||||
|
* @is_pointer: 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 *
|
ffi_type *
|
||||||
_gi_type_tag_get_ffi_type (GITypeTag tag,
|
gi_type_tag_get_ffi_type (GITypeTag tag,
|
||||||
gboolean is_pointer)
|
gboolean is_pointer)
|
||||||
{
|
{
|
||||||
switch (tag)
|
switch (tag)
|
||||||
{
|
{
|
||||||
@ -96,7 +103,7 @@ _gi_type_tag_get_ffi_type (GITypeTag tag,
|
|||||||
ffi_type *
|
ffi_type *
|
||||||
g_type_info_get_ffi_type (GITypeInfo *info)
|
g_type_info_get_ffi_type (GITypeInfo *info)
|
||||||
{
|
{
|
||||||
return _gi_type_tag_get_ffi_type (g_type_info_get_tag (info), g_type_info_is_pointer (info));
|
return gi_type_tag_get_ffi_type (g_type_info_get_tag (info), g_type_info_is_pointer (info));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
2
girffi.h
2
girffi.h
@ -45,6 +45,8 @@ struct _GIFunctionInvoker {
|
|||||||
gpointer padding[3];
|
gpointer padding[3];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ffi_type * gi_type_tag_get_ffi_type (GITypeTag type_tag, gboolean is_pointer);
|
||||||
|
|
||||||
ffi_type * g_type_info_get_ffi_type (GITypeInfo *info);
|
ffi_type * g_type_info_get_ffi_type (GITypeInfo *info);
|
||||||
|
|
||||||
gboolean g_function_info_prep_invoker (GIFunctionInfo *info,
|
gboolean g_function_info_prep_invoker (GIFunctionInfo *info,
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "girepository-private.h"
|
#include "girffi.h"
|
||||||
#include "girnode.h"
|
#include "girnode.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@ -296,7 +296,7 @@ get_type_size_alignment (GIrTypelibBuild *build,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
type_ffi = _gi_type_tag_get_ffi_type (type->tag, type->is_pointer);
|
type_ffi = gi_type_tag_get_ffi_type (type->tag, type->is_pointer);
|
||||||
|
|
||||||
if (type_ffi == &ffi_type_void)
|
if (type_ffi == &ffi_type_void)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user