about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/include/globalsymbols.h6
-rwxr-xr-xsrc/include/gtkclass.h316
-rwxr-xr-xsrc/include/myalign.h18
-rwxr-xr-xsrc/librarian/globalsymbols.c6
-rwxr-xr-xsrc/librarian/librarian.c28
-rwxr-xr-xsrc/library_list.h19
-rwxr-xr-xsrc/tools/gtkclass.c1132
-rw-r--r--src/wrapped/generated/functions_list.txt675
-rw-r--r--src/wrapped/generated/wrappeddbusglib1defs.h8
-rw-r--r--src/wrapped/generated/wrappeddbusglib1types.h28
-rw-r--r--src/wrapped/generated/wrappeddbusglib1undefs.h8
-rw-r--r--src/wrapped/generated/wrappedgconf2defs.h8
-rw-r--r--src/wrapped/generated/wrappedgconf2types.h17
-rw-r--r--src/wrapped/generated/wrappedgconf2undefs.h8
-rw-r--r--src/wrapped/generated/wrappedgdkpixbuf2defs.h8
-rw-r--r--src/wrapped/generated/wrappedgdkpixbuf2types.h19
-rw-r--r--src/wrapped/generated/wrappedgdkpixbuf2undefs.h8
-rw-r--r--src/wrapped/generated/wrappedgdkx112defs.h8
-rw-r--r--src/wrapped/generated/wrappedgdkx112types.h29
-rw-r--r--src/wrapped/generated/wrappedgdkx112undefs.h8
-rw-r--r--src/wrapped/generated/wrappedgio2defs.h8
-rw-r--r--src/wrapped/generated/wrappedgio2types.h77
-rw-r--r--src/wrapped/generated/wrappedgio2undefs.h8
-rw-r--r--src/wrapped/generated/wrappedglib2defs.h8
-rw-r--r--src/wrapped/generated/wrappedglib2types.h143
-rw-r--r--src/wrapped/generated/wrappedglib2undefs.h8
-rw-r--r--src/wrapped/generated/wrappedgmodule2defs.h8
-rw-r--r--src/wrapped/generated/wrappedgmodule2types.h17
-rw-r--r--src/wrapped/generated/wrappedgmodule2undefs.h8
-rw-r--r--src/wrapped/generated/wrappedgobject2defs.h8
-rw-r--r--src/wrapped/generated/wrappedgobject2types.h72
-rw-r--r--src/wrapped/generated/wrappedgobject2undefs.h8
-rw-r--r--src/wrapped/generated/wrappedgthread2defs.h8
-rw-r--r--src/wrapped/generated/wrappedgthread2types.h20
-rw-r--r--src/wrapped/generated/wrappedgthread2undefs.h8
-rw-r--r--src/wrapped/generated/wrappedgtkx112defs.h8
-rw-r--r--src/wrapped/generated/wrappedgtkx112types.h86
-rw-r--r--src/wrapped/generated/wrappedgtkx112undefs.h8
-rw-r--r--src/wrapped/generated/wrapper.c801
-rw-r--r--src/wrapped/generated/wrapper.h327
-rwxr-xr-xsrc/wrapped/wrappeddbusglib1.c287
-rwxr-xr-xsrc/wrapped/wrappeddbusglib1_private.h94
-rw-r--r--src/wrapped/wrappedgconf2.c31
-rw-r--r--src/wrapped/wrappedgconf2_private.h321
-rwxr-xr-xsrc/wrapped/wrappedgdkpixbuf2.c101
-rwxr-xr-xsrc/wrapped/wrappedgdkpixbuf2_private.h121
-rwxr-xr-xsrc/wrapped/wrappedgdkx112.c193
-rwxr-xr-xsrc/wrapped/wrappedgdkx112_private.h792
-rwxr-xr-xsrc/wrapped/wrappedgio2.c739
-rwxr-xr-xsrc/wrapped/wrappedgio2_private.h1889
-rwxr-xr-xsrc/wrapped/wrappedglib2.c1367
-rwxr-xr-xsrc/wrapped/wrappedglib2_private.h1619
-rwxr-xr-xsrc/wrapped/wrappedgmodule2.c27
-rwxr-xr-xsrc/wrapped/wrappedgmodule2_private.h14
-rwxr-xr-xsrc/wrapped/wrappedgobject2.c799
-rwxr-xr-xsrc/wrapped/wrappedgobject2_private.h444
-rwxr-xr-xsrc/wrapped/wrappedgthread2.c141
-rwxr-xr-xsrc/wrapped/wrappedgthread2_private.h6
-rwxr-xr-xsrc/wrapped/wrappedgtkx112.c1144
-rwxr-xr-xsrc/wrapped/wrappedgtkx112_private.h3936
60 files changed, 18022 insertions, 39 deletions
diff --git a/src/include/globalsymbols.h b/src/include/globalsymbols.h
index 8af78d05..5368521e 100755
--- a/src/include/globalsymbols.h
+++ b/src/include/globalsymbols.h
@@ -2,11 +2,11 @@
 #define _GLOBAL_SYMBOLS_H_

 

 //GTK stuff

-//void my_checkGlobalGdkDisplay();

-//void my_setGlobalGThreadsInit();

+void my_checkGlobalGdkDisplay();

+void my_setGlobalGThreadsInit();

 

 //void** my_GetGTKDisplay();

-//void** my_GetGthreadsGotInitialized();  // defined in wrappedgthread2

+void** my_GetGthreadsGotInitialized();  // defined in wrappedgthread2

 

 // NCurse / TInfo

 void my_checkGlobalTInfo();

diff --git a/src/include/gtkclass.h b/src/include/gtkclass.h
new file mode 100755
index 00000000..889bf24e
--- /dev/null
+++ b/src/include/gtkclass.h
@@ -0,0 +1,316 @@
+#ifndef __GTKCLASS_H__
+#define __GTKCLASS_H__
+
+#include <stdint.h>
+#include <stddef.h>
+
+#include "globalsymbols.h"
+
+typedef struct box64context_s box64context_t;
+typedef struct bridge_s bridge_t;
+
+typedef struct my_GObjectClass_s
+{
+  int   g_type_class;
+  void* construct_properties;
+  void* (*constructor)     (int type, uint32_t n_construct_properties, void* construct_properties);
+  void  (*set_property)    (void* object, uint32_t property_id, void* value, void* pspec);
+  void  (*get_property)    (void* object, uint32_t property_id, void* value, void* pspec);
+  void  (*dispose)         (void* object);
+  void  (*finalize)        (void* object);
+  void  (*dispatch_properties_changed) (void* object, uint32_t n_pspecs, void* pspecs);
+  void  (*notify)          (void* object, void* pspec);
+  void  (*constructed)     (void* object);
+  uint32_t flags;
+  void*  pdummy[6];
+} my_GObjectClass_t;
+
+
+typedef struct my_GtkObjectClass_s
+{
+  my_GObjectClass_t parent_class;
+  void (*set_arg) (void* object, void* arg, uint32_t arg_id);
+  void (*get_arg) (void* object, void* arg, uint32_t arg_id);
+  void (*destroy) (void* object);
+} my_GtkObjectClass_t;
+
+typedef struct my_GtkWidgetClass_s
+{
+  my_GtkObjectClass_t parent_class;
+  uint32_t activate_signal;
+  uint32_t set_scroll_adjustments_signal;
+  void (*dispatch_child_properties_changed) (void* widget, uint32_t n_pspecs, void* pspecs);
+  void (* show)                (void* widget);
+  void (* show_all)            (void* widget);
+  void (* hide)                (void* widget);
+  void (* hide_all)            (void* widget);
+  void (* map)                 (void* widget);
+  void (* unmap)               (void* widget);
+  void (* realize)             (void* widget);
+  void (* unrealize)           (void* widget);
+  void (* size_request)        (void* widget, void* requisition);
+  void (* size_allocate)       (void* widget, void* allocation);
+  void (* state_changed)       (void* widget, int previous_state);
+  void (* parent_set)          (void* widget, void* previous_parent);
+  void (* hierarchy_changed)   (void* widget, void* previous_toplevel);
+  void (* style_set)           (void* widget, void* previous_style);
+  void (* direction_changed)   (void* widget, int previous_direction);
+  void (* grab_notify)         (void* widget, int was_grabbed);
+  void (* child_notify)        (void* widget, void* pspec);
+  int  (* mnemonic_activate)   (void* widget, int group_cycling);
+  void (* grab_focus)          (void* widget);
+  int  (* focus)               (void* widget, int direction);
+  int  (* event)                    (void* widget, void* event);
+  int  (* button_press_event)       (void* widget, void* event);
+  int  (* button_release_event)     (void* widget, void* event);
+  int  (* scroll_event)             (void* widget, void* event);
+  int  (* motion_notify_event)      (void* widget, void* event);
+  int  (* delete_event)             (void* widget, void* event);
+  int  (* destroy_event)            (void* widget, void* event);
+  int  (* expose_event)             (void* widget, void* event);
+  int  (* key_press_event)          (void* widget, void* event);
+  int  (* key_release_event)        (void* widget, void* event);
+  int  (* enter_notify_event)       (void* widget, void* event);
+  int  (* leave_notify_event)       (void* widget, void* event);
+  int  (* configure_event)          (void* widget, void* event);
+  int  (* focus_in_event)           (void* widget, void* event);
+  int  (* focus_out_event)          (void* widget, void* event);
+  int  (* map_event)                (void* widget, void* event);
+  int  (* unmap_event)              (void* widget, void* event);
+  int  (* property_notify_event)    (void* widget, void* event);
+  int  (* selection_clear_event)    (void* widget, void* event);
+  int  (* selection_request_event)  (void* widget, void* event);
+  int  (* selection_notify_event)   (void* widget, void* event);
+  int  (* proximity_in_event)       (void* widget, void* event);
+  int  (* proximity_out_event)      (void* widget, void* event);
+  int  (* visibility_notify_event)  (void* widget, void* event);
+  int  (* client_event)             (void* widget, void* event);
+  int  (* no_expose_event)          (void* widget, void* event);
+  int  (* window_state_event)       (void* widget, void* event);
+  void (* selection_get)            (void* widget, void* selection_data, uint32_t info, uint32_t time_);
+  void (* selection_received)       (void* widget, void* selection_data, uint32_t time_);
+  void (* drag_begin)               (void* widget, void* context);
+  void (* drag_end)                 (void* widget, void* context);
+  void (* drag_data_get)            (void* widget, void* context, void* selection_data, uint32_t info, uint32_t time_);
+  void (* drag_data_delete)         (void* widget, void* context);
+  void (* drag_leave)               (void* widget, void* context,uint32_t time_);
+  int  (* drag_motion)              (void* widget, void* context, int32_t x, int32_t y, uint32_t time_);
+  int  (* drag_drop)                (void* widget, void* context, int32_t x, int32_t y, uint32_t time_);
+  void (* drag_data_received)       (void* widget, void* context, int32_t x, int32_t y, void* selection_data, uint32_t info, uint32_t time_);
+  int  (* popup_menu)               (void* widget);
+  int  (* show_help)                (void* widget, int help_type);
+  void*(*get_accessible)            (void* widget);
+  void (*screen_changed)            (void* widget, void* previous_screen);
+  int  (*can_activate_accel)        (void* widget, uint32_t signal_id);
+  int  (*grab_broken_event)         (void* widget, void* event);
+  void (* composited_changed)       (void* widget);
+  int  (* query_tooltip)            (void* widget, int32_t x, int32_t y, int keyboard_tooltip, void* tooltip);
+  void (*_gtk_reserved5) (void);
+  void (*_gtk_reserved6) (void);
+  void (*_gtk_reserved7) (void);
+} my_GtkWidgetClass_t;
+
+typedef struct my_GtkContainerClass_s 
+{
+  my_GtkWidgetClass_t parent_class;
+  void    (*add)                (void* container, void* widget);
+  void    (*remove)             (void* container, void* widget);
+  void    (*check_resize)       (void* container);
+  void    (*forall)             (void* container, int include_internals, void* callback, void* callback_data);
+  void    (*set_focus_child)    (void* container, void* widget);
+  int     (*child_type)         (void* container);
+  void*   (*composite_name)     (void* container, void* child);
+  void    (*set_child_property) (void* container, void* child, uint32_t property_id, void* value, void* pspec);
+  void    (*get_child_property) (void* container, void* child, uint32_t property_id, void* value, void* pspec);
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
+} my_GtkContainerClass_t;
+
+typedef struct my_GtkActionClass_s
+{
+  my_GObjectClass_t   parent_class;
+  void     (* activate)           (void* action);
+  int      menu_item_type;
+  int      toolbar_item_type;
+  void*    (* create_menu_item)   (void* action);
+  void*    (* create_tool_item)   (void* action);
+  void     (* connect_proxy)      (void* action, void* proxy);
+  void     (* disconnect_proxy)   (void* action, void* proxy);
+  void*    (* create_menu)        (void* action);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
+} my_GtkActionClass_t;
+
+typedef struct my_GtkMiscClass_s
+{
+  my_GtkWidgetClass_t parent_class;
+} my_GtkMiscClass_t;
+
+typedef struct my_GtkLabelClass_s
+{
+  my_GtkMiscClass_t parent_class;
+  void (* move_cursor)     (void* label, int step, int count, int extend_selection);
+  void (* copy_clipboard)  (void* label);
+  void (* populate_popup)  (void* label, void* menu);
+  int  (*activate_link)    (void* label, void* uri);
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+} my_GtkLabelClass_t;
+
+typedef struct my_GtkTreeViewClass_s
+{
+  my_GtkContainerClass_t parent_class;
+  void (* set_scroll_adjustments)     (void* tree_view, void* hadjustment, void* vadjustment);
+  void (* row_activated)              (void* tree_view, void* path, void* column);
+  int  (* test_expand_row)            (void* tree_view, void* iter, void* path);
+  int  (* test_collapse_row)          (void* tree_view, void* iter, void* path);
+  void (* row_expanded)               (void* tree_view, void* iter, void* path);
+  void (* row_collapsed)              (void* tree_view, void* iter, void* path);
+  void (* columns_changed)            (void* tree_view);
+  void (* cursor_changed)             (void* tree_view);
+  int  (* move_cursor)                (void* tree_view, int step, int count);
+  int  (* select_all)                 (void* tree_view);
+  int  (* unselect_all)               (void* tree_view);
+  int  (* select_cursor_row)          (void* tree_view, int start_editing);
+  int  (* toggle_cursor_row)          (void* tree_view);
+  int  (* expand_collapse_cursor_row) (void* tree_view, int logical, int expand, int open_all);
+  int  (* select_cursor_parent)       (void* tree_view);
+  int  (* start_interactive_search)   (void* tree_view);
+  void (*_gtk_reserved0) (void);
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
+} my_GtkTreeViewClass_t;
+
+typedef struct my_GtkBinClass_s
+{
+  my_GtkContainerClass_t parent_class;
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
+} my_GtkBinClass_t;
+
+typedef struct my_GtkWindowClass_s {
+  my_GtkBinClass_t parent_class;
+  void (* set_focus)    (void* window, void* focus);
+  int  (* frame_event)  (void* window, void* event);
+  void (* activate_focus)          (void* window);
+  void (* activate_default)        (void* window);
+  void (* move_focus)              (void* window, int direction);
+  void (*keys_changed)             (void* window);
+  void (*_gtk_reserved1) (void);
+  void (*_gtk_reserved2) (void);
+  void (*_gtk_reserved3) (void);
+  void (*_gtk_reserved4) (void);
+} my_GtkWindowClass_t;
+
+typedef struct my_MetaFramesClass_s
+{
+  my_GtkWindowClass_t parent_class;
+
+} my_MetaFramesClass_t;
+
+typedef struct my_GtkTableClass_s
+{
+  my_GtkContainerClass_t parent_class;
+} my_GtkTableClass_t;
+
+// GTypeValueTable
+typedef struct my_GTypeValueTable_s {
+  void     (*value_init)         (void* value);
+  void     (*value_free)         (void* value);
+  void     (*value_copy)         (void* src_value, void* dest_value);
+  void*    (*value_peek_pointer) (void* value);
+  void*    collect_format;
+  void*    (*collect_value)      (void* value, uint32_t n_collect_values, void* collect_values, uint32_t collect_flags);
+  void*    lcopy_format;
+  void*    (*lcopy_value)        (void* value, uint32_t n_collect_values, void* collect_values, uint32_t collect_flags);
+} my_GTypeValueTable_t;
+
+// GTypeInfo
+typedef void (*GBaseInitFunc)           (void* g_class);
+typedef void (*GBaseFinalizeFunc)       (void* g_class);
+typedef void (*GClassInitFunc)          (void* g_class, void* class_data);
+typedef void (*GClassFinalizeFunc)      (void* g_class, void* class_data);
+typedef void (*GInstanceInitFunc)       (void* instance, void* g_class);
+
+typedef struct my_GTypeInfo_s {
+  uint16_t               class_size;
+  GBaseInitFunc          base_init;
+  GBaseFinalizeFunc      base_finalize;
+  GClassInitFunc         class_init;
+  GClassFinalizeFunc     class_finalize;
+  void*                  class_data;
+  uint16_t               instance_size;
+  uint16_t               n_preallocs;
+  GInstanceInitFunc      instance_init;
+  my_GTypeValueTable_t*  value_table;
+} my_GTypeInfo_t;
+
+// GtkTypeInfo 
+typedef GBaseInitFunc           GtkClassInitFunc;
+typedef GInstanceInitFunc       GtkObjectInitFunc;
+
+typedef struct my_GtkTypeInfo_s {
+  void*              type_name;
+  uint32_t    			 object_size;
+  uint32_t    			 class_size;
+  GtkClassInitFunc	 class_init_func;
+  GtkObjectInitFunc	 object_init_func;
+  void*         		 reserved_1;
+  void*         		 reserved_2;
+  GtkClassInitFunc	 base_class_init_func;
+} my_GtkTypeInfo_t ;
+
+my_GTypeValueTable_t* findFreeGTypeValueTable(my_GTypeValueTable_t* fcts);
+my_GTypeInfo_t* findFreeGTypeInfo(my_GTypeInfo_t* fcts, int parent);
+my_GtkTypeInfo_t* findFreeGtkTypeInfo(my_GtkTypeInfo_t* fcts, int parent);
+
+void InitGTKClass(bridge_t *bridge);
+void FiniGTKClass();
+
+#define GTKCLASSES()    \
+GTKCLASS(GObject)       \
+GTKCLASS(GtkObject)     \
+GTKCLASS(GtkWidget)     \
+GTKCLASS(GtkContainer)  \
+GTKCLASS(GtkAction)     \
+GTKCLASS(GtkLabel)      \
+GTKCLASS(GtkMisc)       \
+GTKCLASS(GtkTreeView)   \
+GTKCLASS(GtkBin)        \
+GTKCLASS(GtkWindow)     \
+GTKCLASS(GtkTable)      \
+GTKCLASS(MetaFrames)    \
+
+#define GTKCLASS(A) void Set##A##ID(int id);
+GTKCLASSES()
+#undef GTKCLASS
+
+void SetGTypeName(void* f);
+void AutoBridgeGtk(void*(*ref)(int), void(*unref)(void*));
+
+void* wrapCopyGTKClass(void* cl, int type);
+void* unwrapCopyGTKClass(void* klass, int type);
+
+typedef struct my_signal_s {
+    uint64_t sign;  // signature
+    void* data;
+    uintptr_t c_handler;
+    uintptr_t destroy;
+} my_signal_t;
+// some random sign to identify a my_signal_t
+#define SIGN 0xFB3405EB4510AA00LL
+
+my_signal_t* new_mysignal(void* f, void* data, void* destroy);
+void my_signal_delete(my_signal_t* sig);
+int my_signal_is_valid(void* sig);
+int my_signal_cb(void* a, void* b, void* c, void* d);
+
+#endif //__GTKCLASS_H__
\ No newline at end of file
diff --git a/src/include/myalign.h b/src/include/myalign.h
index 17ab57fa..0ad36a93 100755
--- a/src/include/myalign.h
+++ b/src/include/myalign.h
@@ -30,10 +30,10 @@ typedef struct {
 
 #define CONVERT_VALIST(A) \
   va_list sysv_varargs; \
-  sysv_varargs->gp_offset=A->gp_offset; \
-  sysv_varargs->fp_offset=A->fp_offset; \
-  sysv_varargs->reg_save_area=A->reg_save_area;  \
-  sysv_varargs->overflow_arg_area=A->overflow_arg_area;
+  sysv_varargs->gp_offset=(A)->gp_offset; \
+  sysv_varargs->fp_offset=(A)->fp_offset; \
+  sysv_varargs->reg_save_area=(A)->reg_save_area;  \
+  sysv_varargs->overflow_arg_area=(A)->overflow_arg_area;
 
 #define CREATE_VALIST_FROM_VAARG(STACK, SCRATCH, N) \
   va_list sysv_varargs;                     \
@@ -70,11 +70,11 @@ typedef struct  va_list {
 
 #define CONVERT_VALIST(A)                                       \
   va_list sysv_varargs;                                         \
-  sysv_varargs.__gr_offs=-(6*8)+A->gp_offset;                   \
-  sysv_varargs.__vr_offs=-(8*16)+(A->fp_offset-X64_VA_MAX_REG); \
-  sysv_varargs.__stack=A->overflow_arg_area;                    \
-  sysv_varargs.__gr_top=A->reg_save_area + X64_VA_MAX_REG;      \
-  sysv_varargs.__vr_top=A->reg_save_area + X64_VA_MAX_XMM;
+  sysv_varargs.__gr_offs=-(6*8)+(A)->gp_offset;                   \
+  sysv_varargs.__vr_offs=-(8*16)+((A)->fp_offset-X64_VA_MAX_REG); \
+  sysv_varargs.__stack=(A)->overflow_arg_area;                    \
+  sysv_varargs.__gr_top=(A)->reg_save_area + X64_VA_MAX_REG;      \
+  sysv_varargs.__vr_top=(A)->reg_save_area + X64_VA_MAX_XMM;
 
 #define CREATE_VALIST_FROM_VAARG(STACK, SCRATCH, N)   \
   va_list sysv_varargs;                               \
diff --git a/src/librarian/globalsymbols.c b/src/librarian/globalsymbols.c
index a5ca89c1..dfc163f3 100755
--- a/src/librarian/globalsymbols.c
+++ b/src/librarian/globalsymbols.c
@@ -24,7 +24,6 @@
 

 

 // *********** GTK *****************

-#if 0

 EXPORT void* gdk_display = NULL;   // in case it's used...

 

 void my_checkGlobalGdkDisplay()

@@ -38,7 +37,7 @@ void my_setGlobalGThreadsInit()
     int val = 1;

     uintptr_t globoffs, globend;

     if (GetGlobalNoWeakSymbolStartEnd(my_context->maplib, "g_threads_got_initialized", &globoffs, &globend, -1, NULL)) {

-        printf_log(LOG_DEBUG, "Global g_threads_got_initialized workaround, @%p <= %p\n", (void*)globoffs, (void*)val);

+        printf_log(LOG_DEBUG, "Global g_threads_got_initialized workaround, @%p <= %d\n", (void*)globoffs, val);

         memcpy((void*)globoffs, &val, sizeof(val));

     }

 }

@@ -50,14 +49,13 @@ void** my_GetGTKDisplay()
         return &gdk_display;

     

     char* name = getGDKX11LibName();

-    library_t * lib = GetLibInternal(name?name:"libgtk-1.2.so.0");

+    library_t * lib = GetLibInternal(name?name:"libgdk-x11-2.0.so.0");

     if(!lib) return &gdk_display;   // mmm, that will crash later probably

     void* s = dlsym(GetHandle(lib), "gdk_display");

     gdk_display = *(void**)s;

     return s;

 }

 

-#endif

 // **************** NCurses ****************

 EXPORT int COLS;

 EXPORT int LINES;

diff --git a/src/librarian/librarian.c b/src/librarian/librarian.c
index 03bcae0a..852aeefd 100755
--- a/src/librarian/librarian.c
+++ b/src/librarian/librarian.c
@@ -451,8 +451,8 @@ static int GetGlobalSymbolStartEnd_internal(lib_t *maplib, const char* name, uin
     // nope, not found
     return 0;
 }
-//void** my_GetGTKDisplay();
-//void** my_GetGthreadsGotInitialized();
+void** my_GetGTKDisplay();
+void** my_GetGthreadsGotInitialized();
 int GetGlobalSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, elfheader_t* self, int version, const char* vername)
 {
     if(GetGlobalSymbolStartEnd_internal(maplib, name, start, end, self, version, vername)) {
@@ -470,18 +470,18 @@ int GetGlobalSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, u
         return 1;
     }
     // some special case symbol, defined inside box64 itself
-    //if(!strcmp(name, "gdk_display")) {
-    //    *start = (uintptr_t)my_GetGTKDisplay();
-    //    *end = *start+sizeof(void*);
-    //    printf_log(LOG_INFO, "Using global gdk_display for gdk-x11 (%p:%p)\n", start, *(void**)start);
-    //    return 1;
-    //}
-    //if(!strcmp(name, "g_threads_got_initialized")) {
-    //    *start = (uintptr_t)my_GetGthreadsGotInitialized();
-    //    *end = *start+sizeof(int);
-    //    printf_log(LOG_INFO, "Using global g_threads_got_initialized for gthread2 (%p:%p)\n", start, *(void**)start);
-    //    return 1;
-    //}
+    if(!strcmp(name, "gdk_display")) {
+        *start = (uintptr_t)my_GetGTKDisplay();
+        *end = *start+sizeof(void*);
+        printf_log(LOG_INFO, "Using global gdk_display for gdk-x11 (%p:%p)\n", start, *(void**)start);
+        return 1;
+    }
+    if(!strcmp(name, "g_threads_got_initialized")) {
+        *start = (uintptr_t)my_GetGthreadsGotInitialized();
+        *end = *start+sizeof(int);
+        printf_log(LOG_INFO, "Using global g_threads_got_initialized for gthread2 (%p:%p)\n", start, *(void**)start);
+        return 1;
+    }
     // not found...
     return 0;
 }
diff --git a/src/library_list.h b/src/library_list.h
index 771cdde4..70478d56 100755
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -99,21 +99,22 @@ GO("libresolv.so.2", libresolv)
 GO("libpulse-simple.so.0", pulsesimple)
 GO("libpulse.so.0", pulse)
 //GO("libsndfile.so.1", libsndfile)
-//GO("libgtk-x11-2.0.so.0", gtkx112)
-//GO("libgdk-x11-2.0.so.0", gdkx112)
+GO("libgtk-x11-2.0.so.0", gtkx112)
+GO("libgdk-x11-2.0.so.0", gdkx112)
 //GO("libgtk-3.so.0", gtk3)
 //GO("libgdk-3.so.0", gdk3)
-//GO("libgdk_pixbuf-2.0.so.0", gdkpixbuf2)
-//GO("libgio-2.0.so.0", gio2)
-//GO("libgmodule-2.0.so.0", gmodule2)
-//GO("libgobject-2.0.so.0", gobject2)
-//GO("libglib-2.0.so.0", glib2)
-//GO("libgthread-2.0.so.0", gthread2)
+GO("libgdk_pixbuf-2.0.so.0", gdkpixbuf2)
+GO("libgconf-2.so.4", gconf2)
+GO("libgio-2.0.so.0", gio2)
+GO("libgmodule-2.0.so.0", gmodule2)
+GO("libgobject-2.0.so.0", gobject2)
+GO("libglib-2.0.so.0", glib2)
+GO("libgthread-2.0.so.0", gthread2)
 //GO("libgstreamer-0.10.so.0", gstreamer010)
 //GO("libgstinterfaces-0.10.so.0", gstinterfaces010)
 //GO("libdbusmenu-gtk.so.4", dbusmenugtk)
 //GO("libdbusmenu-glib.so.4", dbusmenuglib)
-//GO("libdbus-glib-1.so.2", dbusglib1)
+GO("libdbus-glib-1.so.2", dbusglib1)
 //GO("libgudev-1.0.so.0", gudev1)
 //GO("libappindicator.so.1", appindicator)
 GO("libatk-1.0.so.0", atk)
diff --git a/src/tools/gtkclass.c b/src/tools/gtkclass.c
new file mode 100755
index 00000000..5e17cd14
--- /dev/null
+++ b/src/tools/gtkclass.c
@@ -0,0 +1,1132 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "callback.h"
+#include "box64context.h"
+#include "librarian.h"
+#include "gtkclass.h"
+#include "library.h"
+#include "custommem.h"
+#include "khash.h"
+
+static bridge_t*        my_bridge       = NULL;
+static const char* (*g_type_name)(int)  = NULL;
+#define GTKCLASS(A) static int my_##A = -1;
+GTKCLASSES()
+#undef GTKCLASS
+
+KHASH_SET_INIT_INT(signalmap)
+static kh_signalmap_t *my_signalmap = NULL;
+
+// ---- Defining the multiple functions now -----
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)   \
+GO(4)   \
+GO(5)   \
+GO(6)   \
+GO(7)
+
+#define WRAPPED(A, NAME, RET, DEF, N, ...)  \
+static uintptr_t my_##NAME##_fct_##A = 0;   \
+static RET my_##NAME##_##A DEF              \
+{                                           \
+    printf_log(LOG_DEBUG, "Calling " #NAME "_" #A " wrapper\n");             \
+    return (RET)RunFunction(my_context, my_##NAME##_fct_##A, N, __VA_ARGS__);\
+}
+
+#define FIND(A, NAME) \
+static void* find_##NAME##_##A(void* fct)                           \
+{                                                                   \
+    if(!fct) return fct;                                            \
+    void* tmp = GetNativeFnc((uintptr_t)fct);                       \
+    if(tmp) return tmp;                                             \
+    if(my_##NAME##_##A##_fct_0 == (uintptr_t)fct) return my_##NAME##_##A##_0;   \
+    if(my_##NAME##_##A##_fct_1 == (uintptr_t)fct) return my_##NAME##_##A##_1;   \
+    if(my_##NAME##_##A##_fct_2 == (uintptr_t)fct) return my_##NAME##_##A##_2;   \
+    if(my_##NAME##_##A##_fct_3 == (uintptr_t)fct) return my_##NAME##_##A##_3;   \
+    if(my_##NAME##_##A##_fct_4 == (uintptr_t)fct) return my_##NAME##_##A##_4;   \
+    if(my_##NAME##_##A##_fct_5 == (uintptr_t)fct) return my_##NAME##_##A##_5;   \
+    if(my_##NAME##_##A##_fct_6 == (uintptr_t)fct) return my_##NAME##_##A##_6;   \
+    if(my_##NAME##_##A##_fct_7 == (uintptr_t)fct) return my_##NAME##_##A##_7;   \
+    if(my_##NAME##_##A##_fct_0 == 0) {my_##NAME##_##A##_fct_0 = (uintptr_t)fct; return my_##NAME##_##A##_0; } \
+    if(my_##NAME##_##A##_fct_1 == 0) {my_##NAME##_##A##_fct_1 = (uintptr_t)fct; return my_##NAME##_##A##_1; } \
+    if(my_##NAME##_##A##_fct_2 == 0) {my_##NAME##_##A##_fct_2 = (uintptr_t)fct; return my_##NAME##_##A##_2; } \
+    if(my_##NAME##_##A##_fct_3 == 0) {my_##NAME##_##A##_fct_3 = (uintptr_t)fct; return my_##NAME##_##A##_3; } \
+    if(my_##NAME##_##A##_fct_4 == 0) {my_##NAME##_##A##_fct_4 = (uintptr_t)fct; return my_##NAME##_##A##_4; } \
+    if(my_##NAME##_##A##_fct_5 == 0) {my_##NAME##_##A##_fct_5 = (uintptr_t)fct; return my_##NAME##_##A##_5; } \
+    if(my_##NAME##_##A##_fct_6 == 0) {my_##NAME##_##A##_fct_6 = (uintptr_t)fct; return my_##NAME##_##A##_6; } \
+    if(my_##NAME##_##A##_fct_7 == 0) {my_##NAME##_##A##_fct_7 = (uintptr_t)fct; return my_##NAME##_##A##_7; } \
+    printf_log(LOG_NONE, "Warning, no more slot for " #NAME " gtkclass callback\n");    \
+    return NULL;    \
+}
+
+#define REVERSE(A, NAME)   \
+static void* reverse_##NAME##_##A(wrapper_t W, void* fct)                       \
+{                                                                               \
+    if(!fct) return fct;                                                        \
+    if((void*)my_##NAME##_##A##_0 == fct) return (void*)my_##NAME##_##A##_fct_0;\
+    if((void*)my_##NAME##_##A##_1 == fct) return (void*)my_##NAME##_##A##_fct_1;\
+    if((void*)my_##NAME##_##A##_2 == fct) return (void*)my_##NAME##_##A##_fct_2;\
+    if((void*)my_##NAME##_##A##_3 == fct) return (void*)my_##NAME##_##A##_fct_3;\
+    if((void*)my_##NAME##_##A##_4 == fct) return (void*)my_##NAME##_##A##_fct_4;\
+    if((void*)my_##NAME##_##A##_5 == fct) return (void*)my_##NAME##_##A##_fct_5;\
+    if((void*)my_##NAME##_##A##_6 == fct) return (void*)my_##NAME##_##A##_fct_6;\
+    if((void*)my_##NAME##_##A##_7 == fct) return (void*)my_##NAME##_##A##_fct_7;\
+    Dl_info info;                                                               \
+    if(dladdr(fct, &info))                                                      \
+        return (void*)AddCheckBridge(my_bridge, W, fct, 0, NULL);               \
+    return fct;                                                                 \
+}
+
+#define AUTOBRIDGE(A, NAME)   \
+static void autobridge_##NAME##_##A(wrapper_t W, void* fct)         \
+{                                                                   \
+    if(!fct)                                                        \
+        return;                                                     \
+    Dl_info info;                                                   \
+    if(dladdr(fct, &info))                                          \
+        AddAutomaticBridge(thread_get_emu(), my_bridge, W, fct, 0); \
+}
+
+#define WRAPPER(A, NAME, RET, DEF, N, ...)          \
+WRAPPED(0, NAME##_##A, RET, DEF, N, __VA_ARGS__)    \
+WRAPPED(1, NAME##_##A, RET, DEF, N, __VA_ARGS__)    \
+WRAPPED(2, NAME##_##A, RET, DEF, N, __VA_ARGS__)    \
+WRAPPED(3, NAME##_##A, RET, DEF, N, __VA_ARGS__)    \
+WRAPPED(4, NAME##_##A, RET, DEF, N, __VA_ARGS__)    \
+WRAPPED(5, NAME##_##A, RET, DEF, N, __VA_ARGS__)    \
+WRAPPED(6, NAME##_##A, RET, DEF, N, __VA_ARGS__)    \
+WRAPPED(7, NAME##_##A, RET, DEF, N, __VA_ARGS__)    \
+FIND(A, NAME)                                       \
+REVERSE(A, NAME)                                    \
+AUTOBRIDGE(A, NAME)
+
+// ----- GObjectClass ------
+// wrapper x64 -> natives of callbacks
+WRAPPER(GObject, constructor, void*, (int type, uint32_t n_construct_properties, void* construct_properties), 3, type, n_construct_properties, construct_properties);
+WRAPPER(GObject, set_property, void, (void* object, uint32_t property_id, void* value, void* pspec), 4, object, property_id, value, pspec);
+WRAPPER(GObject, get_property, void, (void* object, uint32_t property_id, void* value, void* pspec), 4, object, property_id, value, pspec);
+WRAPPER(GObject, dispose, void, (void* object), 1, object);
+WRAPPER(GObject, finalize, void, (void* object), 1, object);
+WRAPPER(GObject, dispatch_properties_changed, void*, (int type, uint32_t n_pspecs, void* pspecs), 3, type, n_pspecs, pspecs);
+WRAPPER(GObject, notify, void*, (int type, void* pspecs), 2, type, pspecs);
+WRAPPER(GObject, constructed, void, (void* object), 1, object);
+
+#define SUPERGO() \
+    GO(constructor, pFiup);                 \
+    GO(set_property, vFpupp);               \
+    GO(get_property, vFpupp);               \
+    GO(dispose, vFp);                       \
+    GO(finalize, vFp);                      \
+    GO(dispatch_properties_changed, vFpup); \
+    GO(notify, vFpp);                       \
+    GO(constructed, vFp);
+
+// wrap (so bridge all calls, just in case)
+static void wrapGObjectClass(my_GObjectClass_t* class)
+{
+    #define GO(A, W) class->A = reverse_##A##_GObject (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGObjectClass(my_GObjectClass_t* class)
+{   
+    #define GO(A, W)   class->A = find_##A##_GObject (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGObjectClass(my_GObjectClass_t* class)
+{
+    #define GO(A, W) autobridge_##A##_GObject (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+#undef SUPERGO
+
+// ----- GtkObjectClass ------
+// wrapper x64 -> natives of callbacks
+WRAPPER(GtkObject, set_arg, void, (void* object, void* arg, uint32_t arg_id), 3, object, arg, arg_id);
+WRAPPER(GtkObject, get_arg, void, (void* object, void* arg, uint32_t arg_id), 3, object, arg, arg_id);
+WRAPPER(GtkObject, destroy, void, (void* object), 1, object);
+
+#define SUPERGO() \
+    GO(set_arg, vFppu); \
+    GO(get_arg, vFppu); \
+    GO(destroy, vFp);
+// wrap (so bridge all calls, just in case)
+static void wrapGtkObjectClass(my_GtkObjectClass_t* class)
+{
+    wrapGObjectClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkObject (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkObjectClass(my_GtkObjectClass_t* class)
+{   
+    unwrapGObjectClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkObject (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkObjectClass(my_GtkObjectClass_t* class)
+{
+    bridgeGObjectClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkObject (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+#undef SUPERGO
+
+// ----- GtkWidgetClass ------
+// wrapper x64 -> natives of callbacks
+WRAPPER(GtkWidget, dispatch_child_properties_changed, void, (void* widget, uint32_t n_pspecs, void* pspecs), 3, widget, n_pspecs, pspecs);
+WRAPPER(GtkWidget, show,              void, (void* widget), 1, widget);
+WRAPPER(GtkWidget, show_all,          void, (void* widget), 1, widget);
+WRAPPER(GtkWidget, hide,              void, (void* widget), 1, widget);
+WRAPPER(GtkWidget, hide_all,          void, (void* widget), 1, widget);
+WRAPPER(GtkWidget, map,               void, (void* widget), 1, widget);
+WRAPPER(GtkWidget, unmap,             void, (void* widget), 1, widget);
+WRAPPER(GtkWidget, realize,           void, (void* widget), 1, widget);
+WRAPPER(GtkWidget, unrealize,         void, (void* widget), 1, widget);
+WRAPPER(GtkWidget, size_request,      void, (void* widget, void* requisition), 2, widget, requisition);
+WRAPPER(GtkWidget, size_allocate,     void, (void* widget, void* allocation), 2, widget, allocation);
+WRAPPER(GtkWidget, state_changed,     void, (void* widget, int previous_state), 2, widget, previous_state);
+WRAPPER(GtkWidget, parent_set,        void, (void* widget, void* previous_parent), 2, widget, previous_parent);
+WRAPPER(GtkWidget, hierarchy_changed, void, (void* widget, void* previous_toplevel), 2, widget, previous_toplevel);
+WRAPPER(GtkWidget, style_set,         void, (void* widget, void* previous_style), 2, widget, previous_style);
+WRAPPER(GtkWidget, direction_changed, void, (void* widget, int previous_direction), 2, widget, previous_direction);
+WRAPPER(GtkWidget, grab_notify,       void, (void* widget, int was_grabbed), 2, widget, was_grabbed);
+WRAPPER(GtkWidget, child_notify,      void, (void* widget, void* pspec), 2, widget, pspec);
+WRAPPER(GtkWidget, mnemonic_activate, int, (void* widget, int group_cycling), 2, widget, group_cycling);
+WRAPPER(GtkWidget, grab_focus,        void, (void* widget), 1, widget);
+WRAPPER(GtkWidget, focus,             int, (void* widget, int direction), 2, widget, direction);
+WRAPPER(GtkWidget, event,             int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, button_press_event,int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, button_release_event, int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, scroll_event,      int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, motion_notify_event, int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, delete_event,       int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, destroy_event,      int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, expose_event,       int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, key_press_event,    int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, key_release_event,  int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, enter_notify_event, int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, leave_notify_event, int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, configure_event,    int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, focus_in_event,     int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, focus_out_event,    int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, map_event,          int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, unmap_event,        int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, property_notify_event,  int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, selection_clear_event,  int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, selection_request_event,int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, selection_notify_event, int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, proximity_in_event,  int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, proximity_out_event, int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, visibility_notify_event, int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, client_event,        int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, no_expose_event,     int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, window_state_event,  int, (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget, selection_get,       void, (void* widget, void* selection_data, uint32_t info, uint32_t time_), 4, widget, selection_data, info, time_);
+WRAPPER(GtkWidget, selection_received,  void, (void* widget, void* selection_data, uint32_t time_), 3, widget, selection_data, time_);
+WRAPPER(GtkWidget, drag_begin,          void, (void* widget, void* context), 2, widget, context);
+WRAPPER(GtkWidget, drag_end,            void, (void* widget, void* context), 2, widget, context);
+WRAPPER(GtkWidget, drag_data_get,       void, (void* widget, void* context, void* selection_data, uint32_t info, uint32_t time_), 5, widget, context, selection_data, info, time_);
+WRAPPER(GtkWidget, drag_data_delete,    void, (void* widget, void* context), 2, widget, context);
+WRAPPER(GtkWidget, drag_leave,          void, (void* widget, void* context, uint32_t time_), 3, widget, context, time_);
+WRAPPER(GtkWidget, drag_motion,         int, (void* widget, void* context, int32_t x, int32_t y, uint32_t time_), 5, widget, context, x, y, time_);
+WRAPPER(GtkWidget, drag_drop,           int, (void* widget, void* context, int32_t x, int32_t y, uint32_t time_), 5, widget, context, x, y, time_);
+WRAPPER(GtkWidget, drag_data_received,  void, (void* widget, void* context, int32_t x, int32_t y, void* selection_data, uint32_t info, uint32_t time_), 7, widget, context, x, y, selection_data, info, time_);
+WRAPPER(GtkWidget,  popup_menu,         int  , (void* widget), 1, widget);
+WRAPPER(GtkWidget,  show_help,          int  , (void* widget, int help_type), 2, widget, help_type);
+WRAPPER(GtkWidget, get_accessible,      void*, (void* widget), 1, widget);
+WRAPPER(GtkWidget, screen_changed,      void , (void* widget, void* previous_screen), 2, widget, previous_screen);
+WRAPPER(GtkWidget, can_activate_accel,  int  , (void* widget, uint32_t signal_id), 2, widget, signal_id);
+WRAPPER(GtkWidget, grab_broken_event,   int  , (void* widget, void* event), 2, widget, event);
+WRAPPER(GtkWidget,  composited_changed, void , (void* widget), 1, widget);
+WRAPPER(GtkWidget,  query_tooltip,      int  , (void* widget, int32_t x, int32_t y, int keyboard_tooltip, void* tooltip), 5, widget, x, y, keyboard_tooltip, tooltip);
+
+#define SUPERGO() \
+    GO(dispatch_child_properties_changed, vFpup);   \
+    GO(show, vFp);                                  \
+    GO(show_all, vFp);                              \
+    GO(hide, vFp);                                  \
+    GO(hide_all, vFp);                              \
+    GO(map, vFp);                                   \
+    GO(unmap, vFp);                                 \
+    GO(realize, vFp);                               \
+    GO(unrealize, vFp);                             \
+    GO(size_request, vFpp);                         \
+    GO(size_allocate, vFpp);                        \
+    GO(state_changed, vFpi);                        \
+    GO(parent_set, vFpp);                           \
+    GO(hierarchy_changed, vFpp);                    \
+    GO(style_set, vFpp);                            \
+    GO(direction_changed, vFpi);                    \
+    GO(grab_notify, vFpi);                          \
+    GO(child_notify, vFpp);                         \
+    GO(mnemonic_activate, iFpi);                    \
+    GO(grab_focus, vFp);                            \
+    GO(focus, iFpi);                                \
+    GO(event, iFpp);                                \
+    GO(button_press_event, iFpp);                   \
+    GO(button_release_event, iFpp);                 \
+    GO(scroll_event, iFpp);                         \
+    GO(motion_notify_event, iFpp);                  \
+    GO(delete_event, iFpp);                         \
+    GO(destroy_event, iFpp);                        \
+    GO(expose_event, iFpp);                         \
+    GO(key_press_event, iFpp);                      \
+    GO(key_release_event, iFpp);                    \
+    GO(enter_notify_event, iFpp);                   \
+    GO(leave_notify_event, iFpp);                   \
+    GO(configure_event, iFpp);                      \
+    GO(focus_in_event, iFpp);                       \
+    GO(focus_out_event, iFpp);                      \
+    GO(map_event, iFpp);                            \
+    GO(unmap_event, iFpp);                          \
+    GO(property_notify_event, iFpp);                \
+    GO(selection_clear_event, iFpp);                \
+    GO(selection_request_event, iFpp);              \
+    GO(selection_notify_event, iFpp);               \
+    GO(proximity_in_event, iFpp);                   \
+    GO(proximity_out_event, iFpp);                  \
+    GO(visibility_notify_event, iFpp);              \
+    GO(client_event, iFpp);                         \
+    GO(no_expose_event, iFpp);                      \
+    GO(window_state_event, iFpp);                   \
+    GO(selection_get, vFppuu);                      \
+    GO(selection_received, vFppu);                  \
+    GO(drag_begin, vFpp);                           \
+    GO(drag_end, vFpp);                             \
+    GO(drag_data_get, vFpppuu);                     \
+    GO(drag_data_delete, vFpp);                     \
+    GO(drag_leave, vFppu);                          \
+    GO(drag_motion, iFppiiu);                       \
+    GO(drag_drop, iFppiiu);                         \
+    GO(drag_data_received, vFppiipuu);              \
+    GO(popup_menu, iFp);                            \
+    GO(show_help, iFpi);                            \
+    GO(get_accessible, pFp);                        \
+    GO(screen_changed, vFpp);                       \
+    GO(can_activate_accel, iFpu);                   \
+    GO(grab_broken_event, iFpp);                    \
+    GO(composited_changed, vFp);                    \
+    GO(query_tooltip, iFpiiip);
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkWidgetClass(my_GtkWidgetClass_t* class)
+{
+    wrapGtkObjectClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkWidget (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkWidgetClass(my_GtkWidgetClass_t* class)
+{   
+    unwrapGtkObjectClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkWidget (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkWidgetClass(my_GtkWidgetClass_t* class)
+{
+    bridgeGtkObjectClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkWidget (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+#undef SUPERGO
+
+// ----- GtkContainerClass ------
+// wrapper x64 -> natives of callbacks
+WRAPPER(GtkContainer, add, void, (void* container, void* widget), 2, container, widget);
+WRAPPER(GtkContainer, remove, void, (void* container, void* widget), 2, container, widget);
+WRAPPER(GtkContainer, check_resize, void, (void* container), 1, container);
+WRAPPER(GtkContainer, forall, void, (void* container, int include_internals, void* callback, void* callback_data), 4, container, include_internals, AddCheckBridge(my_bridge, vFpp, callback, 0, NULL), callback_data);
+WRAPPER(GtkContainer, set_focus_child, void, (void* container, void* widget), 2, container, widget);
+WRAPPER(GtkContainer, child_type, int, (void* container), 1, container);
+WRAPPER(GtkContainer, composite_name, void*, (void* container, void* child), 2, container, child);
+WRAPPER(GtkContainer, set_child_property, void, (void* container, void* child, uint32_t property_id, void* value, void* pspec), 5, container, child, property_id, value, pspec);
+WRAPPER(GtkContainer, get_child_property, void, (void* container, void* child, uint32_t property_id, void* value, void* pspec), 5, container, child, property_id, value, pspec);
+
+#define SUPERGO() \
+    GO(add, vFpp);                  \
+    GO(remove, vFpp);               \
+    GO(check_resize, vFp);          \
+    GO(forall, vFpipp);             \
+    GO(set_focus_child, vFpp);      \
+    GO(child_type, iFp);            \
+    GO(composite_name, pFpp);       \
+    GO(set_child_property, vFppupp);\
+    GO(get_child_property, vFppupp);
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkContainerClass(my_GtkContainerClass_t* class)
+{
+    wrapGtkWidgetClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkContainer (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkContainerClass(my_GtkContainerClass_t* class)
+{   
+    unwrapGtkWidgetClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkContainer (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkContainerClass(my_GtkContainerClass_t* class)
+{
+    bridgeGtkWidgetClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkContainer (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+#undef SUPERGO
+
+// ----- GtkActionClass ------
+// wrapper x64 -> natives of callbacks
+WRAPPER(GtkAction, activate, void, (void* action), 1, action);
+WRAPPER(GtkAction, create_menu_item, void*, (void* action), 1, action);
+WRAPPER(GtkAction, create_tool_item, void*, (void* action), 1, action);
+WRAPPER(GtkAction, connect_proxy, void , (void* action, void* proxy), 2, action, proxy);
+WRAPPER(GtkAction, disconnect_proxy, void , (void* action, void* proxy), 2, action, proxy);
+WRAPPER(GtkAction, create_menu, void*, (void* action), 1, action);
+
+#define SUPERGO() \
+    GO(activate, vFp);          \
+    GO(create_menu_item, pFp);  \
+    GO(create_tool_item, pFp);  \
+    GO(connect_proxy, vFpp);    \
+    GO(disconnect_proxy, vFpp); \
+    GO(create_menu, pFp);       \
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkActionClass(my_GtkActionClass_t* class)
+{
+    wrapGObjectClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkAction (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkActionClass(my_GtkActionClass_t* class)
+{   
+    unwrapGObjectClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkAction (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkActionClass(my_GtkActionClass_t* class)
+{
+    bridgeGObjectClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkAction (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+#undef SUPERGO
+
+// ----- GtkMiscClass ------
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkMiscClass(my_GtkMiscClass_t* class)
+{
+    wrapGtkWidgetClass(&class->parent_class);
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkMiscClass(my_GtkMiscClass_t* class)
+{   
+    unwrapGtkWidgetClass(&class->parent_class);
+}
+// autobridge
+static void bridgeGtkMiscClass(my_GtkMiscClass_t* class)
+{
+    bridgeGtkWidgetClass(&class->parent_class);
+}
+
+
+// ----- GtkLabelClass ------
+// wrapper x64 -> natives of callbacks
+WRAPPER(GtkMisc, move_cursor, void, (void* label, int step, int count, int extend_selection), 4, label, step, count, extend_selection);
+WRAPPER(GtkMisc, copy_clipboard, void, (void* label), 1, label);
+WRAPPER(GtkMisc, populate_popup, void, (void* label, void* menu), 2, label, menu);
+WRAPPER(GtkMisc, activate_link, int, (void* label, void* uri), 2, label, uri);
+
+#define SUPERGO() \
+    GO(move_cursor, vFpiii);    \
+    GO(copy_clipboard, vFp);    \
+    GO(populate_popup, vFpp);   \
+    GO(activate_link, iFpp);    \
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkLabelClass(my_GtkLabelClass_t* class)
+{
+    wrapGtkMiscClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkMisc (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkLabelClass(my_GtkLabelClass_t* class)
+{   
+    unwrapGtkMiscClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkMisc (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkLabelClass(my_GtkLabelClass_t* class)
+{
+    bridgeGtkMiscClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkMisc (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+#undef SUPERGO
+
+// ----- GtkTreeViewClass ------
+// wrapper x64 -> natives of callbacks
+WRAPPER(GtkTreeView, set_scroll_adjustments, void, (void* tree_view, void* hadjustment, void* vadjustment), 3, tree_view, hadjustment, vadjustment);
+WRAPPER(GtkTreeView, row_activated, void, (void* tree_view, void* path, void* column), 3, tree_view, path, column);
+WRAPPER(GtkTreeView, test_expand_row, int, (void* tree_view, void* iter, void* path), 3, tree_view, iter, path);
+WRAPPER(GtkTreeView, test_collapse_row, int, (void* tree_view, void* iter, void* path), 3, tree_view, iter, path);
+WRAPPER(GtkTreeView, row_expanded, void, (void* tree_view, void* iter, void* path), 3, tree_view, iter, path);
+WRAPPER(GtkTreeView, row_collapsed, void, (void* tree_view, void* iter, void* path), 3, tree_view, iter, path);
+WRAPPER(GtkTreeView, columns_changed, void, (void* tree_view), 1, tree_view);
+WRAPPER(GtkTreeView, cursor_changed, void, (void* tree_view), 1, tree_view);
+WRAPPER(GtkTreeView, move_cursor, int, (void* tree_view, int step, int count), 3, tree_view, step, count);
+WRAPPER(GtkTreeView, select_all, int, (void* tree_view), 1, tree_view);
+WRAPPER(GtkTreeView, unselect_all, int, (void* tree_view), 1, tree_view);
+WRAPPER(GtkTreeView, select_cursor_row, int, (void* tree_view, int start_editing), 2, tree_view, start_editing);
+WRAPPER(GtkTreeView, toggle_cursor_row, int, (void* tree_view), 1, tree_view);
+WRAPPER(GtkTreeView, expand_collapse_cursor_row, int, (void* tree_view, int logical, int expand, int open_all), 4, tree_view, logical, expand, open_all);
+WRAPPER(GtkTreeView, select_cursor_parent, int, (void* tree_view), 1, tree_view);
+WRAPPER(GtkTreeView, start_interactive_search, int, (void* tree_view), 1, tree_view);
+
+#define SUPERGO() \
+    GO(set_scroll_adjustments, vFppp);      \
+    GO(row_activated, vFppp);               \
+    GO(test_expand_row, iFppp);             \
+    GO(test_collapse_row, iFppp);           \
+    GO(row_expanded, vFppp);                \
+    GO(row_collapsed, vFppp);               \
+    GO(columns_changed, vFp);               \
+    GO(cursor_changed, vFp);                \
+    GO(move_cursor, iFppp);                 \
+    GO(select_all, iFp);                    \
+    GO(unselect_all, iFp);                  \
+    GO(select_cursor_row, iFpi);            \
+    GO(toggle_cursor_row, iFp);             \
+    GO(expand_collapse_cursor_row, iFpiii); \
+    GO(select_cursor_parent, iFp);          \
+    GO(start_interactive_search, iFp);      \
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkTreeViewClass(my_GtkTreeViewClass_t* class)
+{
+    wrapGtkContainerClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkTreeView (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkTreeViewClass(my_GtkTreeViewClass_t* class)
+{   
+    unwrapGtkContainerClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkTreeView (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkTreeViewClass(my_GtkTreeViewClass_t* class)
+{
+    bridgeGtkContainerClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkTreeView (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+#undef SUPERGO
+
+// ----- GtkBinClass ------
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkBinClass(my_GtkBinClass_t* class)
+{
+    wrapGtkContainerClass(&class->parent_class);
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkBinClass(my_GtkBinClass_t* class)
+{   
+    unwrapGtkContainerClass(&class->parent_class);
+}
+// autobridge
+static void bridgeGtkBinClass(my_GtkBinClass_t* class)
+{
+    bridgeGtkContainerClass(&class->parent_class);
+}
+
+// ----- GtkWindowClass ------
+// wrapper x64 -> natives of callbacks
+WRAPPER(GtkWindow, set_focus, void, (void* window, void* focus), 2, window, focus);
+WRAPPER(GtkWindow, frame_event, int, (void* window, void* event), 2, window, event);
+WRAPPER(GtkWindow, activate_focus, void, (void* window), 1, window);
+WRAPPER(GtkWindow, activate_default, void, (void* window), 1, window);
+WRAPPER(GtkWindow, move_focus, void, (void* window, int direction), 2, window, direction);
+WRAPPER(GtkWindow, keys_changed, void, (void* window), 1, window);
+
+#define SUPERGO()               \
+    GO(set_focus, vFpp);        \
+    GO(frame_event, iFpp);      \
+    GO(activate_focus, vFp);    \
+    GO(activate_default, vFp);  \
+    GO(move_focus, vFpi);       \
+    GO(keys_changed, vFp);      \
+
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkWindowClass(my_GtkWindowClass_t* class)
+{
+    wrapGtkBinClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GtkWindow (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkWindowClass(my_GtkWindowClass_t* class)
+{   
+    unwrapGtkBinClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GtkWindow (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGtkWindowClass(my_GtkWindowClass_t* class)
+{
+    bridgeGtkBinClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GtkWindow (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+// ----- GtkTableClass ------
+
+// wrap (so bridge all calls, just in case)
+static void wrapGtkTableClass(my_GtkTableClass_t* class)
+{
+    wrapGtkContainerClass(&class->parent_class);
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGtkTableClass(my_GtkTableClass_t* class)
+{   
+    unwrapGtkContainerClass(&class->parent_class);
+}
+// autobridge
+static void bridgeGtkTableClass(my_GtkTableClass_t* class)
+{
+    bridgeGtkContainerClass(&class->parent_class);
+}
+
+// ----- MetaFramesClass ------
+
+// wrap (so bridge all calls, just in case)
+static void wrapMetaFramesClass(my_MetaFramesClass_t* class)
+{
+    wrapGtkWindowClass(&class->parent_class);
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapMetaFramesClass(my_MetaFramesClass_t* class)
+{   
+    unwrapGtkWindowClass(&class->parent_class);
+}
+// autobridge
+static void bridgeMetaFramesClass(my_MetaFramesClass_t* class)
+{
+    bridgeGtkWindowClass(&class->parent_class);
+}
+
+#undef SUPERGO
+
+// No more wrap/unwrap
+#undef WRAPPER
+#undef FIND
+#undef REVERSE
+#undef WRAPPED
+
+// g_type_class_peek_parent
+static void wrapGTKClass(void* cl, int type)
+{
+    #define GTKCLASS(A)                             \
+    if(type==my_##A)                                \
+        wrap##A##Class((my_##A##Class_t*)cl);       \
+    else 
+
+    GTKCLASSES()
+    {
+        if(my_MetaFrames==-1 && !strcmp(g_type_name(type), "MetaFrames")) {
+            my_MetaFrames = type;
+            wrapMetaFramesClass((my_MetaFramesClass_t*)cl);
+        } else
+            printf_log(LOG_NONE, "Warning, Custom Class initializer with unknown class type %d (%s)\n", type, g_type_name(type));
+    }
+    #undef GTKCLASS
+}
+
+static void unwrapGTKClass(void* cl, int type)
+{
+    #define GTKCLASS(A)                             \
+    if(type==my_##A)                                \
+        unwrap##A##Class((my_##A##Class_t*)cl);     \
+    else 
+
+    GTKCLASSES()
+    {}  // else no warning, one is enough...
+    #undef GTKCLASS
+}
+
+static void bridgeGTKClass(void* cl, int type)
+{
+    #define GTKCLASS(A)                             \
+    if(type==my_##A)                                \
+        bridge##A##Class((my_##A##Class_t*)cl);     \
+    else 
+
+    GTKCLASSES()
+    {
+        printf_log(LOG_NONE, "Warning, AutoBridge GTK Class with unknown class type %d (%s)\n", type, g_type_name(type));
+    }
+    #undef GTKCLASS
+}
+
+
+typedef union my_GClassAll_s {
+    #define GTKCLASS(A) my_##A##Class_t A;
+    GTKCLASSES()
+    #undef GTKCLASS
+} my_GClassAll_t;
+
+#define GO(A) \
+static void* my_gclassall_ref_##A = NULL;   \
+static my_GClassAll_t my_gclassall_##A;
+
+SUPER()
+#undef GO
+
+void* unwrapCopyGTKClass(void* klass, int type)
+{
+    if(!klass) return klass;
+    #define GO(A) if(klass == my_gclassall_ref_##A) return &my_gclassall_##A;
+    SUPER()
+    #undef GO
+    // check if class is the exact type we know
+    int sz = 0;
+    #define GTKCLASS(A) if(type==my_##A) sz = sizeof(my_##A##Class_t); else
+    GTKCLASSES()
+    {
+        printf_log(LOG_NONE, "Warning, unwrapCopyGTKClass called with unknown class type %d (%s)\n", type, g_type_name(type));
+        return klass;
+    }
+    #undef GTKCLASS
+    my_GClassAll_t *newklass = NULL;
+    #define GO(A) if(!newklass && !my_gclassall_ref_##A) {my_gclassall_ref_##A = klass; newklass = &my_gclassall_##A;}
+    SUPER()
+    #undef GO
+    if(!newklass) {
+        printf_log(LOG_NONE, "Warning: no more slot for unwrapCopyGTKClass\n");
+        return klass;
+    }
+    memcpy(newklass, klass, sz);
+    unwrapGTKClass(newklass, type);
+    return newklass;
+}
+
+// gtk_type_class
+
+#define GO(A) \
+static void* my_gclassallu_ref_##A = NULL;   \
+static my_GClassAll_t my_gclassallu_##A;
+
+SUPER()
+#undef GO
+void* wrapCopyGTKClass(void* klass, int type)
+{
+    if(!klass) return klass;
+    #define GO(A) if(klass == my_gclassallu_ref_##A) return &my_gclassallu_##A;
+    SUPER()
+    #undef GO
+    // check if class is the exact type we know
+    int sz = 0;
+    #define GTKCLASS(A) if(type==my_##A) sz = sizeof(my_##A##Class_t); else
+    GTKCLASSES()
+    {
+        printf_log(LOG_NONE, "Warning, wrapCopyGTKClass called with unknown class type 0x%x (%s)\n", type, g_type_name(type));
+        return klass;
+    }
+    #undef GTKCLASS
+    my_GClassAll_t *newklass = NULL;
+    #define GO(A) if(!newklass && !my_gclassallu_ref_##A) {my_gclassallu_ref_##A = klass; newklass = &my_gclassallu_##A;}
+    SUPER()
+    #undef GO
+    if(!newklass) {
+        printf_log(LOG_NONE, "Warning: no more slot for wrapCopyGTKClass\n");
+        return klass;
+    }
+    memcpy(newklass, klass, sz);
+    wrapGTKClass(newklass, type);
+    return newklass;
+}
+
+// ---- GTypeValueTable ----
+
+// First the structure GTypeInfo statics, with paired x64 source pointer
+#define GO(A) \
+static my_GTypeValueTable_t     my_gtypevaluetable_##A = {0};   \
+static my_GTypeValueTable_t   *ref_gtypevaluetable_##A = NULL;
+SUPER()
+#undef GO
+// Then the static functions callback that may be used with the structure
+#define GO(A)   \
+static uintptr_t fct_funcs_value_init_##A = 0;  \
+static void my_funcs_value_init_##A(void* value) {   \
+    printf_log(LOG_DEBUG, "Calling fct_funcs_value_init_" #A " wrapper\n");             \
+    RunFunction(my_context, fct_funcs_value_init_##A, 1, value);    \
+}   \
+static uintptr_t fct_funcs_value_free_##A = 0;  \
+static void my_funcs_value_free_##A(void* value) {   \
+    printf_log(LOG_DEBUG, "Calling fct_funcs_value_free_" #A " wrapper\n");             \
+    RunFunction(my_context, fct_funcs_value_free_##A, 1, value);    \
+}   \
+static uintptr_t fct_funcs_value_copy_##A = 0;  \
+static void my_funcs_value_copy_##A(void* source, void* dest) {   \
+    printf_log(LOG_DEBUG, "Calling fct_funcs_value_copy_" #A " wrapper\n");             \
+    RunFunction(my_context, fct_funcs_value_copy_##A, 2, source, dest);    \
+}   \
+static uintptr_t fct_funcs_value_peek_pointer_##A = 0;  \
+static void* my_funcs_value_peek_pointer_##A(void* value) {   \
+    printf_log(LOG_DEBUG, "Calling fct_funcs_value_peek_pointer_" #A " wrapper\n");             \
+    return (void*)RunFunction(my_context, fct_funcs_value_peek_pointer_##A, 1, value);    \
+}   \
+static uintptr_t fct_funcs_collect_value_##A = 0;  \
+static void* my_funcs_collect_value_##A(void* value, uint32_t n, void* collect, uint32_t flags) {   \
+    printf_log(LOG_DEBUG, "Calling fct_funcs_collect_value_" #A " wrapper\n");             \
+    return (void*)RunFunction(my_context, fct_funcs_collect_value_##A, 4, value, n, collect, flags);    \
+}   \
+static uintptr_t fct_funcs_lcopy_value_##A = 0;  \
+static void* my_funcs_lcopy_value_##A(void* value, uint32_t n, void* collect, uint32_t flags) {   \
+    printf_log(LOG_DEBUG, "Calling fct_funcs_lcopy_value_" #A " wrapper\n");             \
+    return (void*)RunFunction(my_context, fct_funcs_lcopy_value_##A, 4, value, n, collect, flags);    \
+}
+SUPER()
+#undef GO
+// And now the get slot / assign... Taking into account that the desired callback may already be a wrapped one (so unwrapping it)
+my_GTypeValueTable_t* findFreeGTypeValueTable(my_GTypeValueTable_t* fcts)
+{
+    if(!fcts) return fcts;
+    #define GO(A) if(ref_gtypevaluetable_##A == fcts) return &my_gtypevaluetable_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(ref_gtypevaluetable_##A == 0) {    \
+        ref_gtypevaluetable_##A = fcts;                 \
+        my_gtypevaluetable_##A.value_init = (fcts->value_init)?((GetNativeFnc((uintptr_t)fcts->value_init))?GetNativeFnc((uintptr_t)fcts->value_init):my_funcs_value_init_##A):NULL;    \
+        fct_funcs_value_init_##A = (uintptr_t)fcts->value_init;                             \
+        my_gtypevaluetable_##A.value_free = (fcts->value_free)?((GetNativeFnc((uintptr_t)fcts->value_free))?GetNativeFnc((uintptr_t)fcts->value_free):my_funcs_value_free_##A):NULL;    \
+        fct_funcs_value_free_##A = (uintptr_t)fcts->value_free;                             \
+        my_gtypevaluetable_##A.value_copy = (fcts->value_copy)?((GetNativeFnc((uintptr_t)fcts->value_copy))?GetNativeFnc((uintptr_t)fcts->value_copy):my_funcs_value_copy_##A):NULL;    \
+        fct_funcs_value_copy_##A = (uintptr_t)fcts->value_copy;                             \
+        my_gtypevaluetable_##A.value_peek_pointer = (fcts->value_peek_pointer)?((GetNativeFnc((uintptr_t)fcts->value_peek_pointer))?GetNativeFnc((uintptr_t)fcts->value_peek_pointer):my_funcs_value_peek_pointer_##A):NULL;    \
+        fct_funcs_value_peek_pointer_##A = (uintptr_t)fcts->value_peek_pointer;             \
+        my_gtypevaluetable_##A.collect_format = fcts->collect_format;                       \
+        my_gtypevaluetable_##A.collect_value = (fcts->collect_value)?((GetNativeFnc((uintptr_t)fcts->collect_value))?GetNativeFnc((uintptr_t)fcts->collect_value):my_funcs_collect_value_##A):NULL;    \
+        fct_funcs_collect_value_##A = (uintptr_t)fcts->collect_value;                       \
+        my_gtypevaluetable_##A.lcopy_format = fcts->lcopy_format;                           \
+        my_gtypevaluetable_##A.lcopy_value = (fcts->lcopy_value)?((GetNativeFnc((uintptr_t)fcts->lcopy_value))?GetNativeFnc((uintptr_t)fcts->lcopy_value):my_funcs_lcopy_value_##A):NULL;    \
+        fct_funcs_lcopy_value_##A = (uintptr_t)fcts->lcopy_value;                           \
+        return &my_gtypevaluetable_##A;                 \
+    }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for GTypeValueTable callback\n");
+    return NULL;
+}
+
+
+// ---- GTypeInfo ----
+
+// First the structure my_GTypeInfo_t statics, with paired x64 source pointer
+#define GO(A) \
+static my_GTypeInfo_t     my_gtypeinfo_##A = {0};   \
+static my_GTypeInfo_t    ref_gtypeinfo_##A = {0};   \
+static int              used_gtypeinfo_##A = 0;
+SUPER()
+#undef GO
+// Then the static functions callback that may be used with the structure
+#define GO(A)   \
+static int fct_parent_##A = 0 ;                     \
+static uintptr_t fct_funcs_base_init_##A = 0;       \
+static int my_funcs_base_init_##A(void* g_class) {  \
+    printf_log(LOG_DEBUG, "Calling fct_funcs_base_init_" #A " wrapper\n");             \
+    return (int)RunFunction(my_context, fct_funcs_base_init_##A, 1, g_class);    \
+}   \
+static uintptr_t fct_funcs_base_finalize_##A = 0;   \
+static int my_funcs_base_finalize_##A(void* g_class) {   \
+    printf_log(LOG_DEBUG, "Calling fct_funcs_base_finalize_" #A " wrapper\n");             \
+    return (int)RunFunction(my_context, fct_funcs_base_finalize_##A, 1, g_class);    \
+}   \
+static uintptr_t fct_funcs_class_init_##A = 0;                      \
+static int my_funcs_class_init_##A(void* g_class, void* data) {     \
+    printf_log(LOG_DEBUG, "Calling fct_funcs_class_init_" #A " wrapper\n");             \
+    wrapGTKClass(g_class, fct_parent_##A);                          \
+    int ret = (int)RunFunction(my_context, fct_funcs_class_init_##A, 2, g_class, data);    \
+    unwrapGTKClass(g_class, fct_parent_##A);                        \
+    return ret;                                                     \
+}   \
+static uintptr_t fct_funcs_class_finalize_##A = 0;  \
+static int my_funcs_class_finalize_##A(void* g_class, void* data) { \
+    printf_log(LOG_DEBUG, "Calling fct_funcs_class_finalize_" #A " wrapper\n");             \
+    wrapGTKClass(g_class, fct_parent_##A);                          \
+    int ret = (int)RunFunction(my_context, fct_funcs_class_finalize_##A, 2, g_class, data);    \
+    unwrapGTKClass(g_class, fct_parent_##A);                        \
+    return ret;                                                     \
+}   \
+static uintptr_t fct_funcs_instance_init_##A = 0;  \
+static int my_funcs_instance_init_##A(void* instance, void* data) {   \
+    printf_log(LOG_DEBUG, "Calling fct_funcs_instance_init_" #A " wrapper\n");             \
+    return (int)RunFunction(my_context, fct_funcs_instance_init_##A, 2, instance, data);    \
+}
+
+SUPER()
+#undef GO
+// And now the get slot / assign... Taking into account that the desired callback may already be a wrapped one (so unwrapping it)
+my_GTypeInfo_t* findFreeGTypeInfo(my_GTypeInfo_t* fcts, int parent)
+{
+    if(!fcts) return NULL;
+    #define GO(A) if(used_gtypeinfo_##A==0 && memcmp(&ref_gtypeinfo_##A, fcts, sizeof(my_GTypeInfo_t))==0) return &my_gtypeinfo_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(used_gtypeinfo_##A == 0) {                         \
+        memcpy(&ref_gtypeinfo_##A, fcts, sizeof(my_GTypeInfo_t));            \
+        fct_parent_##A = parent;                                        \
+        my_gtypeinfo_##A.class_size = fcts->class_size;                 \
+        my_gtypeinfo_##A.base_init = (fcts->base_init)?((GetNativeFnc((uintptr_t)fcts->base_init))?GetNativeFnc((uintptr_t)fcts->base_init):my_funcs_base_init_##A):NULL;    \
+        fct_funcs_base_init_##A = (uintptr_t)fcts->base_init;           \
+        my_gtypeinfo_##A.base_finalize = (fcts->base_finalize)?((GetNativeFnc((uintptr_t)fcts->base_finalize))?GetNativeFnc((uintptr_t)fcts->base_finalize):my_funcs_base_finalize_##A):NULL;    \
+        fct_funcs_base_finalize_##A = (uintptr_t)fcts->base_finalize;   \
+        my_gtypeinfo_##A.class_init = (fcts->class_init)?((GetNativeFnc((uintptr_t)fcts->class_init))?GetNativeFnc((uintptr_t)fcts->class_init):my_funcs_class_init_##A):NULL;    \
+        fct_funcs_class_init_##A = (uintptr_t)fcts->class_init;         \
+        my_gtypeinfo_##A.class_finalize = (fcts->class_finalize)?((GetNativeFnc((uintptr_t)fcts->class_finalize))?GetNativeFnc((uintptr_t)fcts->class_finalize):my_funcs_class_finalize_##A):NULL;    \
+        fct_funcs_class_finalize_##A = (uintptr_t)fcts->class_finalize; \
+        my_gtypeinfo_##A.class_data = fcts->class_data;                 \
+        my_gtypeinfo_##A.instance_size = fcts->instance_size;           \
+        my_gtypeinfo_##A.n_preallocs = fcts->n_preallocs;               \
+        my_gtypeinfo_##A.instance_init = (fcts->instance_init)?((GetNativeFnc((uintptr_t)fcts->instance_init))?GetNativeFnc((uintptr_t)fcts->instance_init):my_funcs_instance_init_##A):NULL;    \
+        fct_funcs_instance_init_##A = (uintptr_t)fcts->instance_init;   \
+        my_gtypeinfo_##A.value_table = findFreeGTypeValueTable(fcts->value_table);           \
+        return &my_gtypeinfo_##A;                                       \
+    }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for GTypeInfo callback\n");
+    return NULL;
+}
+
+// ---- GtkTypeInfo ----
+
+// First the structure my_GtkTypeInfo_t statics, with paired x64 source pointer
+#define GO(A) \
+static my_GtkTypeInfo_t     my_gtktypeinfo_##A = {0};   \
+static my_GtkTypeInfo_t    ref_gtktypeinfo_##A = {0};  \
+static int                used_gtktypeinfo_##A = 0;
+SUPER()
+#undef GO
+// Then the static functions callback that may be used with the structure
+#define GO(A)   \
+static int fct_gtk_parent_##A = 0 ;                     \
+static uintptr_t fct_gtk_class_init_##A = 0;       \
+static int my_gtk_class_init_##A(void* g_class) {  \
+    printf_log(LOG_DEBUG, "Calling fct_gtk_class_init_" #A " wrapper\n");             \
+    return (int)RunFunction(my_context, fct_gtk_class_init_##A, 1, g_class);    \
+}   \
+static uintptr_t fct_gtk_object_init_##A = 0;  \
+static int my_gtk_object_init_##A(void* object, void* data) {   \
+    printf_log(LOG_DEBUG, "Calling fct_gtk_object_init_" #A " wrapper\n");             \
+    return (int)RunFunction(my_context, fct_gtk_object_init_##A, 2, object, data);    \
+}   \
+static uintptr_t fct_gtk_base_class_init_##A = 0;  \
+static int my_gtk_base_class_init_##A(void* instance, void* data) {   \
+    printf_log(LOG_DEBUG, "Calling fct_gtk_base_class_init_" #A " wrapper\n");             \
+    return (int)RunFunction(my_context, fct_gtk_base_class_init_##A, 2, instance, data);    \
+}
+
+SUPER()
+#undef GO
+// And now the get slot / assign... Taking into account that the desired callback may already be a wrapped one (so unwrapping it)
+my_GtkTypeInfo_t* findFreeGtkTypeInfo(my_GtkTypeInfo_t* fcts, int parent)
+{
+    if(!fcts) return NULL;
+    #define GO(A) if(used_gtktypeinfo_##A && memcmp(&ref_gtktypeinfo_##A, fcts, sizeof(my_GtkTypeInfo_t))==0) return &my_gtktypeinfo_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(used_gtktypeinfo_##A == 0) {          \
+        memcpy(&ref_gtktypeinfo_##A, fcts, sizeof(my_GtkTypeInfo_t));        \
+        fct_gtk_parent_##A = parent;                        \
+        my_gtktypeinfo_##A.type_name = fcts->type_name; \
+        my_gtktypeinfo_##A.object_size = fcts->object_size; \
+        my_gtktypeinfo_##A.class_size = fcts->class_size; \
+        my_gtktypeinfo_##A.class_init_func = (fcts->class_init_func)?((GetNativeFnc((uintptr_t)fcts->class_init_func))?GetNativeFnc((uintptr_t)fcts->class_init_func):my_gtk_class_init_##A):NULL;    \
+        fct_gtk_class_init_##A = (uintptr_t)fcts->class_init_func;           \
+        my_gtktypeinfo_##A.object_init_func = (fcts->object_init_func)?((GetNativeFnc((uintptr_t)fcts->object_init_func))?GetNativeFnc((uintptr_t)fcts->object_init_func):my_gtk_object_init_##A):NULL;    \
+        fct_gtk_object_init_##A = (uintptr_t)fcts->object_init_func;         \
+        my_gtktypeinfo_##A.reserved_1 = fcts->reserved_1;                 \
+        my_gtktypeinfo_##A.reserved_2 = fcts->reserved_2;                 \
+        my_gtktypeinfo_##A.base_class_init_func = (fcts->base_class_init_func)?((GetNativeFnc((uintptr_t)fcts->base_class_init_func))?GetNativeFnc((uintptr_t)fcts->base_class_init_func):my_gtk_base_class_init_##A):NULL;    \
+        fct_gtk_base_class_init_##A = (uintptr_t)fcts->base_class_init_func;   \
+        return &my_gtktypeinfo_##A;                       \
+    }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for GtkTypeInfo callback\n");
+    return NULL;
+}
+
+#undef SUPER
+
+void InitGTKClass(bridge_t *bridge)
+{
+    my_bridge  = bridge;
+    my_signalmap = kh_init(signalmap);
+}
+
+void FiniGTKClass()
+{
+    if(my_signalmap) {
+        /*khint_t k;
+        kh_foreach_key(my_signalmap, k,
+            my_signal_t* p = (my_signal_t*)(uintptr_t)k;
+            free(p);
+        );*/ // lets assume all signals data is freed by gtk already
+        kh_destroy(signalmap, my_signalmap);
+        my_signalmap = NULL;
+    }
+}
+
+#define GTKCLASS(A)             \
+void Set##A##ID(int id)         \
+{                               \
+    my_##A = id;                \
+}
+GTKCLASSES()
+#undef GTKCLASS
+
+void AutoBridgeGtk(void*(*ref)(int), void(*unref)(void*))
+{
+    void* p;
+    #define GTKCLASS(A)             \
+    if(my_##A && my_##A!=-1) {      \
+        p = ref(my_##A);            \
+        bridgeGTKClass(p, my_##A);  \
+        unref(p);                   \
+    }
+    GTKCLASSES()
+    #undef GTKCLASS
+}
+
+void SetGTypeName(void* f)
+{
+    g_type_name = f;
+}
+
+my_signal_t* new_mysignal(void* f, void* data, void* destroy)
+{
+    my_signal_t* sig = (my_signal_t*)calloc(1, sizeof(my_signal_t));
+    sig->sign = SIGN;
+    sig->c_handler = (uintptr_t)f;
+    sig->destroy = (uintptr_t)destroy;
+    sig->data = data;
+    int ret;
+    kh_put(signalmap, my_signalmap, (uintptr_t)sig, &ret);
+    return sig;
+}
+void my_signal_delete(my_signal_t* sig)
+{
+    khint_t k = kh_get(signalmap, my_signalmap, (uintptr_t)sig);
+    if(k!=kh_end(my_signalmap)) {
+        kh_del(signalmap, my_signalmap, k);
+    } else {
+        printf_log(LOG_NONE, "Warning, my_signal_delete called with an unrefereced signal!\n");
+    }
+    uintptr_t d = sig->destroy;
+    if(d) {
+        RunFunction(my_context, d, 1, sig->data);
+    }
+    printf_log(LOG_DEBUG, "gtk Data deleted, sig=%p, data=%p, destroy=%p\n", sig, sig->data, (void*)d);
+    free(sig);
+}
+int my_signal_is_valid(void* sig)
+{
+    khint_t k = kh_get(signalmap, my_signalmap, (uintptr_t)sig);
+    if(k!=kh_end(my_signalmap)) {
+        /*if(((my_signal_t*)c)->sign == SIGN)
+            return 1;
+        else
+            printf_log(LOG_NONE, "Warning, incohrent my_signal_t structure referenced\n");*/
+        return 1;
+    }
+    return 0;
+}
+
+int my_signal_cb(void* a, void* b, void* c, void* d)
+{
+    // signal can have many signature... so first job is to find the data!
+    // hopefully, no callback have more than 4 arguments...
+    my_signal_t* sig = NULL;
+    int i = 0;
+    if(my_signal_is_valid(a)) {
+        sig = (my_signal_t*)a;
+        i = 1;
+    }
+    if(!sig && my_signal_is_valid(b)) {
+        sig = (my_signal_t*)b;
+        i = 2;
+    }
+    if(!sig && my_signal_is_valid(c)) {
+        sig = (my_signal_t*)c;
+        i = 3;
+    }
+    if(!sig && my_signal_is_valid(d)) {
+        sig = (my_signal_t*)d;
+        i = 4;
+    }
+    printf_log(LOG_DEBUG, "gtk Signal called, sig=%p, NArgs=%d\n", sig, i);
+    switch(i) {
+        case 1: return (int)RunFunction(my_context, sig->c_handler, 1, sig->data);
+        case 2: return (int)RunFunction(my_context, sig->c_handler, 2, a, sig->data);
+        case 3: return (int)RunFunction(my_context, sig->c_handler, 3, a, b, sig->data);
+        case 4: return (int)RunFunction(my_context, sig->c_handler, 4, a, b, c, sig->data);
+    }
+    printf_log(LOG_NONE, "Warning, Gtk signal callback but no data found!");
+    return 0;
+}
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 22dddfd4..62102793 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -6,6 +6,7 @@
 #() vFf
 #() vFd
 #() vFl
+#() vFL
 #() vFp
 #() vFS
 #() cFv
@@ -19,6 +20,8 @@
 #() iFw
 #() iFi
 #() iFI
+#() iFC
+#() iFW
 #() iFu
 #() iFU
 #() iFf
@@ -29,10 +32,13 @@
 #() iFp
 #() iFO
 #() iFS
+#() IFv
+#() IFi
 #() IFI
 #() IFf
 #() IFd
 #() IFp
+#() CFC
 #() CFp
 #() WFi
 #() WFW
@@ -62,13 +68,18 @@
 #() lFl
 #() lFp
 #() LFv
+#() LFu
 #() LFL
 #() LFp
 #() pFE
 #() pFv
+#() pFw
 #() pFi
+#() pFI
+#() pFC
 #() pFW
 #() pFu
+#() pFU
 #() pFd
 #() pFl
 #() pFL
@@ -101,8 +112,13 @@
 #() vFlp
 #() vFLL
 #() vFLp
+#() vFpc
 #() vFpi
+#() vFpI
+#() vFpC
+#() vFpW
 #() vFpu
+#() vFpU
 #() vFpf
 #() vFpd
 #() vFpl
@@ -146,6 +162,7 @@
 #() IFpi
 #() IFpu
 #() IFpd
+#() CFip
 #() CFui
 #() CFpi
 #() CFpu
@@ -167,6 +184,7 @@
 #() UFuu
 #() UFUp
 #() UFpp
+#() fFEp
 #() fFif
 #() fFfi
 #() fFff
@@ -180,6 +198,7 @@
 #() dFdp
 #() dFll
 #() dFpi
+#() dFpd
 #() dFpp
 #() DFDi
 #() DFDD
@@ -196,20 +215,28 @@
 #() LFpi
 #() LFpL
 #() LFpp
+#() pFEi
 #() pFEp
 #() pFii
 #() pFiu
 #() pFip
+#() pFiV
 #() pFui
+#() pFuC
 #() pFuu
 #() pFup
+#() pFuV
+#() pFUi
 #() pFdd
 #() pFlp
 #() pFLL
+#() pFLp
 #() pFpi
 #() pFpC
 #() pFpu
 #() pFpU
+#() pFpd
+#() pFpl
 #() pFpL
 #() pFpp
 #() pFpV
@@ -251,12 +278,15 @@
 #() vFull
 #() vFulp
 #() vFupu
+#() vFupp
 #() vFfff
 #() vFfpp
 #() vFddd
 #() vFdpp
+#() vFLpL
 #() vFLpp
 #() vFpii
+#() vFpiC
 #() vFpiu
 #() vFpif
 #() vFpid
@@ -265,6 +295,7 @@
 #() vFpuI
 #() vFpuu
 #() vFpup
+#() vFpff
 #() vFpdd
 #() vFpll
 #() vFpLi
@@ -276,6 +307,7 @@
 #() vFppl
 #() vFppL
 #() vFppp
+#() vFppV
 #() iFEiw
 #() iFEip
 #() iFEWW
@@ -305,6 +337,7 @@
 #() iFipL
 #() iFipp
 #() iFipO
+#() iFCiW
 #() iFuwp
 #() iFuui
 #() iFuuu
@@ -324,6 +357,7 @@
 #() iFpiu
 #() iFpiL
 #() iFpip
+#() iFpIi
 #() iFpui
 #() iFpuu
 #() iFpuU
@@ -354,6 +388,7 @@
 #() IFiIi
 #() IFpIi
 #() IFppi
+#() IFppu
 #() IFSIi
 #() uFEpW
 #() uFEpu
@@ -376,6 +411,7 @@
 #() uFppu
 #() uFppp
 #() UFppi
+#() UFppu
 #() fFull
 #() fFfff
 #() fFffp
@@ -383,6 +419,7 @@
 #() fFppp
 #() dFddd
 #() dFddp
+#() dFpdd
 #() dFppi
 #() dFppp
 #() DFppp
@@ -394,6 +431,7 @@
 #() lFlpi
 #() lFpli
 #() lFpLu
+#() lFpLp
 #() lFppi
 #() lFppL
 #() lFppp
@@ -410,16 +448,26 @@
 #() LFppL
 #() LFSpL
 #() pFEip
+#() pFEup
 #() pFEpi
+#() pFEpu
 #() pFEpp
+#() pFEpV
+#() pFEpA
 #() pFiii
+#() pFiiu
 #() pFiip
+#() pFiIp
+#() pFiup
 #() pFipi
 #() pFipL
 #() pFipp
 #() pFIpi
+#() pFCiW
 #() pFWWW
 #() pFuii
+#() pFuui
+#() pFuuu
 #() pFupi
 #() pFupL
 #() pFUpi
@@ -428,6 +476,7 @@
 #() pFDip
 #() pFpii
 #() pFpiu
+#() pFpid
 #() pFpil
 #() pFpiL
 #() pFpip
@@ -438,11 +487,16 @@
 #() pFpuL
 #() pFpup
 #() pFpUp
+#() pFpdu
+#() pFplC
+#() pFplu
+#() pFpll
 #() pFplp
 #() pFpLu
 #() pFpLL
 #() pFpLp
 #() pFppi
+#() pFppC
 #() pFppu
 #() pFppf
 #() pFppl
@@ -450,6 +504,7 @@
 #() pFppp
 #() pFpOM
 #() pFSpl
+#() vFEiip
 #() vFEipp
 #() vFEipV
 #() vFEipA
@@ -457,6 +512,8 @@
 #() vFEpip
 #() vFEpup
 #() vFEppp
+#() vFEppV
+#() vFEppA
 #() vFiiii
 #() vFiiip
 #() vFiIII
@@ -517,28 +574,46 @@
 #() vFffff
 #() vFdddd
 #() vFpiii
+#() vFpiiu
 #() vFpiip
+#() vFpiuu
 #() vFpiuL
 #() vFpiup
+#() vFpifi
 #() vFpipi
 #() vFpipp
+#() vFpCiW
+#() vFpuip
+#() vFpuui
 #() vFpuuu
+#() vFpuup
 #() vFpudd
 #() vFpupp
 #() vFpdii
+#() vFpddi
 #() vFpddd
 #() vFpLLL
 #() vFppii
+#() vFppiu
 #() vFppid
+#() vFppiL
 #() vFppip
 #() vFppui
 #() vFppuu
 #() vFppup
+#() vFppfi
+#() vFppdu
 #() vFppdd
+#() vFppdp
+#() vFpplp
 #() vFpppi
+#() vFpppI
 #() vFpppu
+#() vFpppU
+#() vFpppd
 #() vFpppL
 #() vFpppp
+#() vFpppV
 #() cFpiii
 #() iFEiip
 #() iFEiiN
@@ -580,6 +655,7 @@
 #() iFippL
 #() iFippp
 #() iFipON
+#() iFuipu
 #() iFuipp
 #() iFuuff
 #() iFuupi
@@ -602,6 +678,7 @@
 #() iFpipu
 #() iFpipp
 #() iFpipV
+#() iFpIip
 #() iFpCCC
 #() iFpWWu
 #() iFpuwp
@@ -612,6 +689,7 @@
 #() iFpuup
 #() iFpuLL
 #() iFpuLp
+#() iFpupi
 #() iFpupu
 #() iFpupL
 #() iFpupp
@@ -648,8 +726,12 @@
 #() IFEpIi
 #() IFpIip
 #() IFppip
+#() IFpppp
 #() IFSIii
+#() uFEipp
+#() uFEupp
 #() uFEpup
+#() uFEppp
 #() uFifff
 #() uFuuuu
 #() uFpipu
@@ -658,10 +740,13 @@
 #() uFpuip
 #() uFpuuu
 #() uFppiu
+#() uFppLp
 #() uFpppi
 #() uFpppp
 #() UFpipp
 #() UFppip
+#() UFpppp
+#() dFpppp
 #() lFEpip
 #() lFEppL
 #() lFEppp
@@ -682,6 +767,7 @@
 #() lFppip
 #() lFpppL
 #() LFippL
+#() LFippp
 #() LFpuuu
 #() LFpLLp
 #() LFpLpp
@@ -689,21 +775,29 @@
 #() LFppip
 #() LFppLL
 #() LFppLp
+#() LFpppi
 #() LFpppp
 #() pFEipp
+#() pFEipV
+#() pFEipA
 #() pFEupp
 #() pFEpii
 #() pFEpip
 #() pFEppi
 #() pFEppp
+#() pFEppV
 #() pFiiii
 #() pFiiiu
+#() pFiiuu
 #() pFiiup
+#() pFipii
+#() pFipip
 #() pFippi
 #() pFippu
 #() pFuiii
 #() pFulli
 #() pFullu
+#() pFffff
 #() pFdipp
 #() pFdddd
 #() pFDipp
@@ -713,35 +807,49 @@
 #() pFpiuu
 #() pFpiLL
 #() pFpipi
+#() pFpipd
 #() pFpipp
+#() pFpipV
 #() pFpCWp
 #() pFpCuW
 #() pFpCuu
 #() pFpuii
+#() pFpuip
 #() pFpuWp
 #() pFpuuC
 #() pFpuuu
 #() pFpuup
 #() pFpupi
+#() pFpupu
+#() pFplpl
 #() pFplpp
 #() pFpLip
 #() pFpLpL
 #() pFppii
+#() pFppiu
 #() pFppiL
 #() pFppip
 #() pFppuW
 #() pFppuu
 #() pFppuL
 #() pFppup
+#() pFppdd
 #() pFppLL
+#() pFppLp
 #() pFpppi
 #() pFpppu
 #() pFpppL
 #() pFpppp
 #() pFSppi
 #() vFEiipV
+#() vFEippp
 #() vFEpuup
+#() vFEpuuV
+#() vFEpupp
+#() vFEpupA
 #() vFEpLLp
+#() vFEppip
+#() vFEppup
 #() vFEpppp
 #() vFiiiii
 #() vFiiiiu
@@ -811,25 +919,42 @@
 #() vFfffff
 #() vFddddp
 #() vFpiiii
+#() vFpiiiu
+#() vFpiiff
 #() vFpiipp
 #() vFpipii
+#() vFpipiu
+#() vFpuiip
 #() vFpuipp
+#() vFpuipV
+#() vFpuuuu
 #() vFpuddd
+#() vFpffff
 #() vFpddii
 #() vFpdddd
+#() vFpddpp
 #() vFpliil
 #() vFppiii
+#() vFppiiu
 #() vFppiip
 #() vFppiup
+#() vFppiff
+#() vFppipi
 #() vFppipp
 #() vFppWui
 #() vFppuui
+#() vFppupi
+#() vFppupp
 #() vFpppii
 #() vFpppip
+#() vFpppuu
 #() vFppppi
 #() vFppppu
+#() vFppppL
 #() vFppppp
+#() iFEiipp
 #() iFEiipV
+#() iFEippi
 #() iFEippp
 #() iFEpiii
 #() iFEpipi
@@ -874,6 +999,8 @@
 #() iFpiuwp
 #() iFpipii
 #() iFpipiL
+#() iFpipip
+#() iFpippi
 #() iFpippW
 #() iFpippp
 #() iFpCCCC
@@ -882,9 +1009,11 @@
 #() iFpuuup
 #() iFpuuLL
 #() iFpuupp
+#() iFpuppp
 #() iFplluu
 #() iFpLiLi
 #() iFpLlpp
+#() iFppiiu
 #() iFppiip
 #() iFppiup
 #() iFppiLi
@@ -895,20 +1024,27 @@
 #() iFppupi
 #() iFppupp
 #() iFppllp
+#() iFpplpp
+#() iFppLip
 #() iFppLpi
 #() iFppLpL
 #() iFppLpp
 #() iFpppii
 #() iFpppiL
 #() iFpppip
+#() iFpppui
 #() iFpppLi
 #() iFpppLp
 #() iFppppi
 #() iFppppL
 #() iFppppp
 #() IFppIII
+#() uFEippp
+#() uFEpipp
 #() uFEppuu
+#() uFEpppp
 #() uFiuuuu
+#() uFipipp
 #() uFuiiiu
 #() uFpCCCC
 #() uFpuuuu
@@ -916,12 +1052,15 @@
 #() uFppipp
 #() uFppupp
 #() uFpplip
+#() uFppLpp
 #() uFppppu
 #() uFppppp
 #() UFuiiii
 #() lFipili
 #() lFipLli
 #() lFipLLi
+#() LFEpppp
+#() LFpuppi
 #() LFpLLLp
 #() LFpLppL
 #() LFpLppp
@@ -938,13 +1077,17 @@
 #() pFEpppi
 #() pFEpppu
 #() pFEpppp
+#() pFiiiii
 #() pFipipL
+#() pFipppu
 #() pFuiiiu
 #() pFuiipp
 #() pFpiiii
+#() pFpiiip
 #() pFpiiuu
 #() pFpiipi
 #() pFpiipp
+#() pFpiCCC
 #() pFpiuuu
 #() pFpippi
 #() pFpippp
@@ -957,22 +1100,31 @@
 #() pFpuuWW
 #() pFpuuup
 #() pFpdddd
+#() pFplppp
 #() pFppiii
 #() pFppiip
+#() pFppiup
 #() pFppipi
 #() pFppipp
 #() pFppuuu
 #() pFppuup
+#() pFppddi
 #() pFppLLp
+#() pFpppii
 #() pFpppip
+#() pFpppui
 #() pFpppuu
 #() pFpppup
 #() pFpppLi
 #() pFppppi
 #() pFppppp
 #() vFEiiipp
+#() vFEpiLpp
+#() vFEpippp
 #() vFEpuipp
 #() vFEpLLpp
+#() vFEppipV
+#() vFEppupp
 #() vFEppppp
 #() vFiiiiii
 #() vFiiiuil
@@ -1030,32 +1182,46 @@
 #() vFffffff
 #() vFdddddd
 #() vFpiiiii
+#() vFpiiipp
 #() vFpiiuuu
 #() vFpiippp
 #() vFpipipV
 #() vFpipppi
+#() vFpuiiiu
+#() vFpuiipp
 #() vFpudddd
 #() vFpdddii
 #() vFpddddd
 #() vFppiiii
 #() vFppiiip
+#() vFppiiui
 #() vFppiipi
+#() vFppiipp
 #() vFppilpp
 #() vFppippi
 #() vFppippp
+#() vFppuuuu
 #() vFppupii
+#() vFppuppp
+#() vFppdidd
 #() vFpplppi
 #() vFpplppp
 #() vFppLppi
 #() vFppLppp
 #() vFpppiii
 #() vFpppiip
+#() vFpppiff
 #() vFpppipu
+#() vFpppuii
 #() vFppppii
 #() vFpppppi
+#() vFpppppu
+#() vFpppppL
 #() vFpppppp
 #() cFppLppi
 #() iFEiippi
+#() iFEiippp
+#() iFEipppi
 #() iFElpppp
 #() iFEpiipp
 #() iFEpiipV
@@ -1078,9 +1244,11 @@
 #() iFLppipp
 #() iFpiiiii
 #() iFpiiipp
+#() iFpiippu
 #() iFpiippp
 #() iFpiuuup
 #() iFpiuupp
+#() iFpipipi
 #() iFpippip
 #() iFpipppL
 #() iFpipppp
@@ -1088,16 +1256,24 @@
 #() iFpuiCpp
 #() iFpuippp
 #() iFpupuui
+#() iFppiiip
 #() iFppiiuu
 #() iFppiipi
+#() iFppiipp
 #() iFppipii
 #() iFppipiL
+#() iFppipip
+#() iFppIipp
 #() iFppIppp
 #() iFppuiii
 #() iFppuiiL
+#() iFppuipp
 #() iFppuIII
 #() iFppuupp
 #() iFppupip
+#() iFppuppp
+#() iFppUipp
+#() iFppdidd
 #() iFpplppi
 #() iFppLupp
 #() iFppLpLp
@@ -1113,8 +1289,11 @@
 #() iFpppppi
 #() iFpppppL
 #() iFpppppp
+#() uFEiippp
+#() uFEiuppp
 #() uFpippup
 #() uFpuippp
+#() uFppippp
 #() uFpppppi
 #() uFpppppp
 #() UFpippup
@@ -1123,7 +1302,9 @@
 #() lFipLipu
 #() lFipLipp
 #() lFipLpLL
+#() LFEupppp
 #() LFpipipi
+#() LFpLippp
 #() LFSpLiip
 #() pFEpippp
 #() pFEpuipp
@@ -1146,13 +1327,21 @@
 #() pFpCuuup
 #() pFpuuwwu
 #() pFpuuuuu
+#() pFplpppp
 #() pFppiiii
+#() pFppiipp
 #() pFppiCCC
 #() pFppippi
 #() pFppippp
+#() pFpppiii
+#() pFpppiui
+#() pFppppii
+#() pFpppppi
 #() pFpppppu
 #() pFpppppp
 #() pFSpiiii
+#() vFEpipppp
+#() vFEpuipuV
 #() vFEpppppp
 #() vFiiiiiip
 #() vFiiiiuup
@@ -1199,10 +1388,17 @@
 #() vFlipuiip
 #() vFpiiiipp
 #() vFpiiliip
+#() vFpiipCpp
 #() vFpipipii
+#() vFpipppii
 #() vFpddiidd
 #() vFpdddddd
+#() vFppiiiii
+#() vFppiiiip
 #() vFppiiipi
+#() vFppiipii
+#() vFppiipuu
+#() vFppiippp
 #() vFppilppi
 #() vFppipiip
 #() vFppipipp
@@ -1212,9 +1408,17 @@
 #() vFpppiiii
 #() vFpppiipi
 #() vFpppiipp
+#() vFpppippi
 #() vFpppuuuu
+#() vFppppiii
+#() vFppppiip
 #() vFppppipi
+#() vFpppppip
+#() vFppppppi
+#() vFppppppp
+#() iFEpupppp
 #() iFEpLiLpV
+#() iFEppuppp
 #() iFEppLpIi
 #() iFEpppiiu
 #() iFEpppppL
@@ -1246,10 +1450,12 @@
 #() iFppiuppi
 #() iFppipiip
 #() iFppipipi
+#() iFppipipp
 #() iFppippip
 #() iFppipppi
 #() iFppipppp
 #() iFppuipiL
+#() iFppLiipp
 #() iFpppiiii
 #() iFpppiiuu
 #() iFpppiiup
@@ -1261,12 +1467,18 @@
 #() iFppppiii
 #() iFppppdpi
 #() iFpppppip
+#() iFpppppup
+#() iFppppppi
 #() iFppppppp
+#() uFEiipppp
+#() uFEpiippp
 #() uFuippppp
 #() uFppiuppp
+#() LFEpppppu
 #() pFEpLiiii
 #() pFEpLiiiI
 #() pFEpLiiil
+#() pFEppuipp
 #() pFEppppip
 #() pFEpppppi
 #() pFifffppp
@@ -1278,12 +1490,36 @@
 #() pFpCpWWup
 #() pFpuuuwwu
 #() pFpuupwwC
+#() pFplppppp
+#() pFppiiipp
 #() pFppiiCCC
+#() pFppiippp
+#() pFppipipp
 #() pFppuuppp
+#() pFppLiiip
+#() pFppLipip
+#() pFpppccci
+#() pFpppiiii
+#() pFpppiipp
+#() pFpppIIIi
+#() pFpppCCCi
+#() pFpppuuui
 #() pFpppuupp
+#() pFpppUUUi
+#() pFpppfffi
+#() pFpppdddi
+#() pFpppllli
+#() pFpppLLLi
 #() pFppppuuu
 #() pFpppppuu
+#() pFppppppi
 #() pFppppppp
+#() vFEiippppV
+#() vFEiupippp
+#() vFEippippp
+#() vFEppipppp
+#() vFEpppuipV
+#() vFEpppppuu
 #() vFiiiiuuip
 #() vFilipufip
 #() vFuiiiiiii
@@ -1307,14 +1543,20 @@
 #() vFulllplip
 #() vFffffffff
 #() vFlipuiuip
+#() vFpiiiiiii
+#() vFpiiiipii
 #() vFpippiiuu
 #() vFpippiipi
+#() vFppiiiiii
 #() vFppiiipii
 #() vFppipipii
+#() vFppipppui
 #() vFppippppi
+#() vFppippppp
 #() vFpplppppi
 #() vFpplppppp
 #() vFppppiipi
+#() iFEipupupi
 #() iFEpippppp
 #() iFEpuuLppp
 #() iFEppppipp
@@ -1325,10 +1567,12 @@
 #() iFullfpppp
 #() iFpWCuWCuu
 #() iFpWWipppp
+#() iFpuiipppp
 #() iFpuippLpp
 #() iFpuuiiiii
 #() iFpupppWWu
 #() iFpupppppp
+#() iFppiiiiiu
 #() iFppIIIppp
 #() iFpppiiipi
 #() iFpppiippp
@@ -1337,12 +1581,24 @@
 #() iFppppiipi
 #() iFppppppii
 #() iFpppppppp
+#() uFEipipppp
+#() uFEpiupppp
+#() uFEppipppp
+#() uFEppppppp
 #() uFuipppppp
 #() uFppuppppp
+#() LFEpiupppp
+#() pFEppLiiip
+#() pFEpppuipV
+#() pFEpppppiV
+#() pFEppppppi
 #() pFEppppppp
+#() pFiipppppp
 #() pFuiiiuuuu
 #() pFuupupipp
+#() pFpiiiiiuu
 #() pFpipiiiip
+#() pFpipppppp
 #() pFpCCuuwwC
 #() pFpCuwwWWu
 #() pFpCuuuCup
@@ -1350,8 +1606,12 @@
 #() pFpuuWWCuu
 #() pFpuuuupup
 #() pFpdwwWWui
+#() pFplpppppp
+#() pFppiiiiii
 #() pFpppuuLLu
 #() pFpppppupp
+#() vFEppiipppp
+#() vFEpppiippp
 #() vFiiiiiiiii
 #() vFiiiiillli
 #() vFuiiiiiiii
@@ -1373,12 +1633,19 @@
 #() vFlipuiuiip
 #() vFpipiuiipp
 #() vFpipppiipi
+#() vFppiiiiiii
+#() vFppiiiiipi
 #() vFppiiipiii
+#() vFppiipiiii
+#() vFppipppiii
+#() vFppipppiip
 #() vFppuuiiiii
 #() vFpplpppppi
+#() vFpppiiiiii
 #() vFppppipiip
 #() vFpppppippp
 #() iFEpiiiiipi
+#() iFEpppipppp
 #() iFEppplPPPP
 #() iFEppPPPPPP
 #() iFiiiiiiiip
@@ -1390,14 +1657,19 @@
 #() iFpuuuuuuuu
 #() iFppiiiiiii
 #() iFppiuiippL
+#() iFppLpiippp
 #() iFpppiiipip
 #() iFpppiiuuii
 #() iFpppiipiiu
 #() iFppppppppu
 #() iFppppppppp
+#() uFEipippppp
 #() uFppppppppp
+#() LFEppppppii
 #() pFEppiiuuLi
 #() pFEppuippuu
+#() pFEpppppiiV
+#() pFEpppppppi
 #() pFpiiiiuuuu
 #() pFpCuWCCuuu
 #() pFpuuwwWWww
@@ -1405,7 +1677,12 @@
 #() pFppiiiiiip
 #() pFppiiuuuLL
 #() pFppipppppp
+#() pFpppiiiiii
+#() pFpppiipppp
 #() pFpppppiipp
+#() vFEiippppppp
+#() vFEpippppppp
+#() vFEpppiipppp
 #() vFiiiiiiiiiu
 #() vFuiiiiiiiii
 #() vFuiiiiiiill
@@ -1423,6 +1700,12 @@
 #() vFuffiiffiip
 #() vFuddiiddiip
 #() vFffffffffff
+#() vFppiiiiiiii
+#() vFppiiiiipip
+#() vFppiipppiip
+#() vFppiippppii
+#() vFppipppiiii
+#() vFppuuuuiiuu
 #() vFppdddddddd
 #() vFpppppppppp
 #() iFEpupppLppL
@@ -1434,8 +1717,12 @@
 #() iFppuuiiiiii
 #() iFppuuiiuupi
 #() iFpppiiipipi
+#() iFpppLLipppp
 #() iFppppiiuuii
 #() uFpppppppppp
+#() pFEiippppppp
+#() pFEpiiiiiipp
+#() pFEpippppppp
 #() pFpCuWCCuuCW
 #() pFpuwwWWuCuu
 #() pFpuuuwwwwWW
@@ -1457,12 +1744,27 @@
 #() vFuffffffffff
 #() vFpipipiipiii
 #() vFpipppiiiipi
+#() vFppiiiiiiiii
+#() vFppiiiiipiii
+#() vFppiiiiddddi
+#() vFppiipppiiii
+#() vFppipppiiiii
+#() vFppipppuiiii
+#() vFppppppppppp
+#() iFEpppipppppp
 #() iFEppppiiiiuu
 #() iFiiiiiiiiiip
 #() iFppppiiuuiiL
+#() uFEpiiupppiuV
+#() uFEpiippppiup
+#() uFEpiippppiuA
+#() uFEppppppippp
 #() uFppppppppppp
+#() pFEpipppppppi
 #() pFEppiiLpppip
 #() pFEppuiipuuii
+#() pFpppppppiipp
+#() pFppppppppppp
 #() vFuiiiillliilp
 #() vFuuiiiiiiiiui
 #() vFuuiiiiiiiuip
@@ -1471,7 +1773,12 @@
 #() vFffffffffffff
 #() vFpipppiiiipii
 #() vFpippppiiiipi
+#() vFppiiiiddddii
 #() vFppiiuuuiupup
+#() vFppiipppiiiii
+#() vFpppiiiiiiiii
+#() vFpppppppppppp
+#() iFEpppippppppp
 #() iFEppppiiiiuui
 #() iFpipllipppppp
 #() iFpipppppppppp
@@ -1483,9 +1790,14 @@
 #() pFpuuuWWWWWWWW
 #() pFppiiuuuiupLp
 #() pFpppppppppppp
+#() vFEpppppppiippp
 #() vFuiiiiiiiiiuup
 #() vFuuuuuuuuuuuuu
 #() vFuffffffffffff
+#() vFpippppppppppp
+#() vFppiiiiiiiiiii
+#() vFppiipppiiiiii
+#() vFppppppppppppp
 #() iFddddpppddpppp
 #() iFpippuuuiipppp
 #() iFpupiiiipppppp
@@ -1495,20 +1807,35 @@
 #() pFppppppppppppp
 #() vFuffiiffiiffiip
 #() vFuddiiddiiddiip
+#() vFppiipppiiiiiii
+#() iFpipppppppppppp
 #() vFuuiiiiuuiiiiiii
 #() vFfffffffffffffff
+#() vFpppippppppppppp
+#() vFppppppppppppppp
+#() pFpuiippppppppppp
+#() pFppipppppppppppp
 #() pFppppppppppppppp
+#() vFpppppppppppppppp
 #() iFpppppppppppppppp
 #() pFpuuWWWWWWwwCCCuu
+#() pFppipipipipipipip
 #() pFpppppppppppppppp
+#() vFppiiiiddddiiiiiuu
+#() pFppippipipipipipip
 #() vFppuiiiiipuiiiiiiii
+#() vFpppipppppppppppppp
+#() pFippppppppppppppppp
+#() vFpiiiiiiiiiiiiiiiiii
 #() pFiiiippppppppppppppp
 #() pFpippppppppppppppppp
 #() pFipppppppppppppppppppppp
 #defined(HAVE_LD80BITS) DFD
+#defined(HAVE_LD80BITS) vFppippDDC
 #!defined(HAVE_LD80BITS) KFK
 #!defined(HAVE_LD80BITS) KFKK
 #!defined(HAVE_LD80BITS) KFKp
+#!defined(HAVE_LD80BITS) vFppippKKC
 #defined(NOALIGN) iFipiip
 #!defined(NOALIGN) iFEppu
 #!defined(NOALIGN) iFEiiip
@@ -1599,6 +1926,18 @@ wrappeddbus:
 - iFpppppp:
   - dbus_connection_set_timeout_functions
   - dbus_connection_set_watch_functions
+wrappeddbusglib1:
+- vFppp:
+  - dbus_g_type_collection_value_iterate
+  - dbus_g_type_map_value_iterate
+- vFpppp:
+  - dbus_g_proxy_disconnect_signal
+- vFppppp:
+  - dbus_g_proxy_connect_signal
+- pFpppppiV:
+  - dbus_g_proxy_begin_call
+- pFpppppiiV:
+  - dbus_g_proxy_begin_call_with_timeout
 wrappedexpat:
 - vFpp:
   - XML_SetCharacterDataHandler
@@ -1615,14 +1954,350 @@ wrappedfreetype:
   - FT_Open_Face
 - iFpuuLppp:
   - FTC_Manager_New
+wrappedgconf2:
+wrappedgdkpixbuf2:
+- pFpiiiiiipp:
+  - gdk_pixbuf_new_from_data
+wrappedgdkx112:
+- vFpp:
+  - gdk_init
+- iFpp:
+  - gdk_init_check
+- vFppp:
+  - gdk_event_handler_set
+  - gdk_window_add_filter
+  - gdk_window_remove_filter
+- iFiipp:
+  - gdk_input_add
+- iFiippp:
+  - gdk_input_add_full
+wrappedgio2:
+- vFppp:
+  - g_simple_async_result_set_op_res_gpointer
+- vFippp:
+  - g_bus_get
+- vFppip:
+  - g_simple_async_result_run_in_thread
+- vFpppp:
+  - g_dbus_connection_close
+  - g_dbus_connection_flush
+  - g_simple_async_report_gerror_in_idle
+  - g_simple_async_report_take_gerror_in_idle
+- uFpppp:
+  - g_dbus_connection_add_filter
+- LFpppp:
+  - g_cancellable_connect
+- pFpppp:
+  - g_simple_async_result_new
+  - g_simple_async_result_new_from_error
+  - g_simple_async_result_new_take_error
+- vFpippp:
+  - g_async_initable_init_async
+- vFpipppp:
+  - g_dbus_connection_new_for_address
+- vFiippppV:
+  - g_async_initable_new_async
+- vFiupippp:
+  - g_async_initable_newv_async
+- vFippippp:
+  - g_async_initable_new_valist_async
+- vFppipppp:
+  - g_dbus_connection_new
+- vFpppuipV:
+  - g_simple_async_report_error_in_idle
+- uFipipppp:
+  - g_bus_watch_name
+- uFppipppp:
+  - g_bus_own_name_on_connection
+  - g_bus_watch_name_on_connection
+- uFppppppp:
+  - g_dbus_connection_register_object
+- pFpppuipV:
+  - g_simple_async_result_new_error
+- vFppiipppp:
+  - g_dbus_connection_send_message_with_reply
+- vFpppiippp:
+  - g_dbus_proxy_call
+- uFipippppp:
+  - g_bus_own_name
+- vFiippppppp:
+  - g_dbus_proxy_new_for_bus
+- vFpippppppp:
+  - g_dbus_proxy_new
+- vFpppiipppp:
+  - g_dbus_proxy_call_with_unix_fd_list
+- pFiippppppp:
+  - g_dbus_object_manager_client_new_for_bus_sync
+- uFppppppippp:
+  - g_dbus_connection_signal_subscribe
+- vFpppppppiippp:
+  - g_dbus_connection_call
+wrappedglib2:
+- vFp:
+  - g_atexit
+- pFp:
+  - g_completion_new
+  - g_main_context_get_poll_func
+  - g_private_new
+  - g_ptr_array_new_with_free_func
+  - g_set_print_handler
+  - g_set_printerr_handler
+- vFpp:
+  - g_array_set_clear_func
+  - g_array_sort
+  - g_completion_set_compare
+  - g_list_free_full
+  - g_main_context_set_poll_func
+  - g_ptr_array_set_free_func
+  - g_ptr_array_sort
+  - g_source_set_funcs
+  - g_thread_foreach
+- vFpV:
+  - g_print
+  - g_printerr
+- iFpp:
+  - g_source_remove_by_funcs_user_data
+  - g_vprintf
+- iFpV:
+  - g_printf
+- uFpp:
+  - g_idle_add
+  - g_printf_string_upper_bound
+- pFup:
+  - g_ptr_array_new_full
+- pFpu:
+  - g_source_new
+- pFpp:
+  - g_hash_table_new
+  - g_list_sort
+  - g_log_set_default_handler
+  - g_slist_sort
+  - g_strdup_vprintf
+- pFpV:
+  - g_build_filename
+  - g_markup_printf_escaped
+  - g_strdup_printf
+  - g_variant_new
+- pFpA:
+  - g_markup_vprintf_escaped
+  - g_variant_new_parsed_va
+- vFppp:
+  - g_array_sort_with_data
+  - g_hash_table_foreach
+  - g_ptr_array_foreach
+  - g_ptr_array_sort_with_data
+  - g_static_private_set
+- vFppV:
+  - g_variant_get
+- iFppp:
+  - g_vasprintf
+  - g_vfprintf
+  - g_vsprintf
+- iFppV:
+  - g_fprintf
+  - g_sprintf
+- uFipp:
+  - g_child_watch_add
+- uFupp:
+  - g_timeout_add
+  - g_timeout_add_seconds
+- uFppp:
+  - g_hash_table_foreach_remove
+  - g_hash_table_foreach_steal
+- pFppp:
+  - g_hash_table_find
+  - g_list_find_custom
+  - g_list_sort_with_data
+  - g_queue_find_custom
+  - g_slist_find_custom
+  - g_slist_foreach
+  - g_slist_insert_sorted
+  - g_slist_sort_with_data
+  - g_variant_new_va
+- pFppV:
+  - g_build_path
+- vFpupp:
+  - g_datalist_id_set_data_full
+- vFpppp:
+  - g_source_set_callback
+- iFpLpp:
+  - g_vsnprintf
+- iFpLpV:
+  - g_snprintf
+- uFippp:
+  - g_idle_add_full
+- uFpipp:
+  - g_io_add_watch
+  - g_log_set_handler
+- pFpupp:
+  - g_datalist_id_dup_data
+- pFppip:
+  - g_thread_create
+- pFpppp:
+  - g_hash_table_new_full
+  - g_slist_insert_sorted_with_data
+- vFpiLpp:
+  - g_qsort_with_data
+- vFppipV:
+  - g_set_error
+- uFiippp:
+  - g_child_watch_add_full
+- uFiuppp:
+  - g_timeout_add_full
+  - g_timeout_add_seconds_full
+- iFpupppp:
+  - g_datalist_id_replace_data
+- uFpiippp:
+  - g_io_add_watch_full
+- pFppuipp:
+  - g_variant_new_from_data
+- pFppLiiip:
+  - g_thread_create_full
+- iFpppipppp:
+  - g_spawn_async
+- iFpppipppppp:
+  - g_spawn_sync
+- iFpppippppppp:
+  - g_spawn_async_with_pipes
+wrappedgmodule2:
 wrappedgnutls:
 - vFp:
   - gnutls_global_set_log_function
 - vFpp:
   - gnutls_transport_set_pull_function
   - gnutls_transport_set_push_function
+wrappedgobject2:
+- pFp:
+  - g_type_class_peek_parent
+- iFpp:
+  - g_param_type_register_static
+- pFpp:
+  - g_value_array_sort
+- vFiip:
+  - g_type_add_interface_static
+  - g_value_register_transform_func
+- vFppV:
+  - g_object_get
+  - g_object_set
+- vFppA:
+  - g_object_get_valist
+  - g_object_set_valist
+- iFppp:
+  - g_boxed_type_register_static
+- pFipV:
+  - g_object_new
+- pFipA:
+  - g_object_new_valist
+- pFppp:
+  - g_value_array_sort_with_data
+- pFppV:
+  - g_object_connect
+- vFpuuV:
+  - g_signal_emit
+- vFpupp:
+  - g_param_spec_set_qdata_full
+- vFpupA:
+  - g_signal_emit_valist
+- vFpppp:
+  - g_object_set_data_full
+- iFippi:
+  - g_type_register_static
+- iFipppi:
+  - g_type_register_fundamental
+- LFupppp:
+  - g_signal_add_emission_hook
+- LFpppppu:
+  - g_signal_connect_data
+- iFipupupi:
+  - g_type_register_static_simple
+- uFpiupppp:
+  - g_signal_handlers_block_matched
+  - g_signal_handlers_disconnect_matched
+  - g_signal_handlers_unblock_matched
+- LFpiupppp:
+  - g_signal_handler_find
+- uFpiiupppiuV:
+  - g_signal_new
+- uFpiippppiup:
+  - g_signal_newv
+- uFpiippppiuA:
+  - g_signal_new_valist
 wrappedgssapi:
 wrappedgssapikrb5:
+wrappedgthread2:
+- vFp:
+  - g_thread_init
+  - g_thread_init_with_errorcheck_mutexes
+wrappedgtkx112:
+- fFp:
+  - gtk_spin_button_get_value_as_float
+- pFi:
+  - gtk_type_class
+- vFpp:
+  - gtk_builder_connect_signals
+  - gtk_init
+- iFpp:
+  - gtk_init_check
+  - gtk_type_unique
+- pFpi:
+  - gtk_type_check_object_cast
+- vFppp:
+  - gtk_builder_connect_signals_full
+  - gtk_clipboard_request_text
+  - gtk_container_forall
+  - gtk_container_foreach
+  - gtk_menu_attach_to_widget
+  - gtk_tree_model_foreach
+- vFppV:
+  - gtk_dialog_add_buttons
+  - gtk_message_dialog_format_secondary_markup
+  - gtk_message_dialog_format_secondary_text
+- uFupp:
+  - gtk_timeout_add
+- vFppup:
+  - gtk_action_group_add_actions
+- vFpppp:
+  - gtk_clipboard_request_contents
+  - gtk_object_set_data_full
+  - gtk_stock_set_translate_func
+  - gtk_tree_sortable_set_default_sort_func
+  - gtk_tree_view_set_search_equal_func
+- iFpppp:
+  - gtk_text_iter_backward_find_char
+  - gtk_text_iter_forward_find_char
+- LFpppp:
+  - gtk_signal_connect
+- vFpippp:
+  - gtk_tree_sortable_set_sort_func
+- vFppupp:
+  - gtk_action_group_add_actions_full
+- vFppppp:
+  - gtk_cell_layout_set_cell_data_func
+- vFpuipuV:
+  - gtk_binding_entry_add_signal
+- iFppuppp:
+  - gtk_clipboard_set_with_data
+  - gtk_clipboard_set_with_owner
+- iFpppppp:
+  - gtk_init_with_args
+- uFiipppp:
+  - gtk_input_add_full
+- vFpppppuu:
+  - gtk_menu_popup
+- pFppppppi:
+  - gtk_toolbar_insert_stock
+- pFppppppp:
+  - gtk_toolbar_append_item
+  - gtk_toolbar_prepend_item
+- LFppppppii:
+  - gtk_signal_connect_full
+- pFpppppppi:
+  - gtk_toolbar_insert_item
+- pFpippppppp:
+  - gtk_toolbar_append_element
+  - gtk_toolbar_prepend_element
+- pFpipppppppi:
+  - gtk_toolbar_insert_element
 wrappedkrb5:
 - iFppppppipp:
   - krb5_get_init_creds_password
diff --git a/src/wrapped/generated/wrappeddbusglib1defs.h b/src/wrapped/generated/wrappeddbusglib1defs.h
new file mode 100644
index 00000000..b6f33501
--- /dev/null
+++ b/src/wrapped/generated/wrappeddbusglib1defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappeddbusglib1DEFS_H_
+#define __wrappeddbusglib1DEFS_H_
+
+
+#endif // __wrappeddbusglib1DEFS_H_
diff --git a/src/wrapped/generated/wrappeddbusglib1types.h b/src/wrapped/generated/wrappeddbusglib1types.h
new file mode 100644
index 00000000..a68250f8
--- /dev/null
+++ b/src/wrapped/generated/wrappeddbusglib1types.h
@@ -0,0 +1,28 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappeddbusglib1TYPES_H_
+#define __wrappeddbusglib1TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef void (*vFppp_t)(void*, void*, void*);
+typedef void (*vFpppp_t)(void*, void*, void*, void*);
+typedef void (*vFppppp_t)(void*, void*, void*, void*, void*);
+typedef void* (*pFpppppiV_t)(void*, void*, void*, void*, void*, int64_t, ...);
+typedef void* (*pFpppppiiV_t)(void*, void*, void*, void*, void*, int64_t, int64_t, ...);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(dbus_g_type_collection_value_iterate, vFppp_t) \
+	GO(dbus_g_type_map_value_iterate, vFppp_t) \
+	GO(dbus_g_proxy_disconnect_signal, vFpppp_t) \
+	GO(dbus_g_proxy_connect_signal, vFppppp_t) \
+	GO(dbus_g_proxy_begin_call, pFpppppiV_t) \
+	GO(dbus_g_proxy_begin_call_with_timeout, pFpppppiiV_t)
+
+#endif // __wrappeddbusglib1TYPES_H_
diff --git a/src/wrapped/generated/wrappeddbusglib1undefs.h b/src/wrapped/generated/wrappeddbusglib1undefs.h
new file mode 100644
index 00000000..9bcc6397
--- /dev/null
+++ b/src/wrapped/generated/wrappeddbusglib1undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappeddbusglib1UNDEFS_H_
+#define __wrappeddbusglib1UNDEFS_H_
+
+
+#endif // __wrappeddbusglib1UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgconf2defs.h b/src/wrapped/generated/wrappedgconf2defs.h
new file mode 100644
index 00000000..36aa7782
--- /dev/null
+++ b/src/wrapped/generated/wrappedgconf2defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgconf2DEFS_H_
+#define __wrappedgconf2DEFS_H_
+
+
+#endif // __wrappedgconf2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgconf2types.h b/src/wrapped/generated/wrappedgconf2types.h
new file mode 100644
index 00000000..981180b4
--- /dev/null
+++ b/src/wrapped/generated/wrappedgconf2types.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgconf2TYPES_H_
+#define __wrappedgconf2TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedgconf2TYPES_H_
diff --git a/src/wrapped/generated/wrappedgconf2undefs.h b/src/wrapped/generated/wrappedgconf2undefs.h
new file mode 100644
index 00000000..120b3118
--- /dev/null
+++ b/src/wrapped/generated/wrappedgconf2undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgconf2UNDEFS_H_
+#define __wrappedgconf2UNDEFS_H_
+
+
+#endif // __wrappedgconf2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgdkpixbuf2defs.h b/src/wrapped/generated/wrappedgdkpixbuf2defs.h
new file mode 100644
index 00000000..db073b61
--- /dev/null
+++ b/src/wrapped/generated/wrappedgdkpixbuf2defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgdkpixbuf2DEFS_H_
+#define __wrappedgdkpixbuf2DEFS_H_
+
+
+#endif // __wrappedgdkpixbuf2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgdkpixbuf2types.h b/src/wrapped/generated/wrappedgdkpixbuf2types.h
new file mode 100644
index 00000000..8a7f8294
--- /dev/null
+++ b/src/wrapped/generated/wrappedgdkpixbuf2types.h
@@ -0,0 +1,19 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgdkpixbuf2TYPES_H_
+#define __wrappedgdkpixbuf2TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef void* (*pFpiiiiiipp_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*, void*);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(gdk_pixbuf_new_from_data, pFpiiiiiipp_t)
+
+#endif // __wrappedgdkpixbuf2TYPES_H_
diff --git a/src/wrapped/generated/wrappedgdkpixbuf2undefs.h b/src/wrapped/generated/wrappedgdkpixbuf2undefs.h
new file mode 100644
index 00000000..3f6cff3c
--- /dev/null
+++ b/src/wrapped/generated/wrappedgdkpixbuf2undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgdkpixbuf2UNDEFS_H_
+#define __wrappedgdkpixbuf2UNDEFS_H_
+
+
+#endif // __wrappedgdkpixbuf2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgdkx112defs.h b/src/wrapped/generated/wrappedgdkx112defs.h
new file mode 100644
index 00000000..a7461b5c
--- /dev/null
+++ b/src/wrapped/generated/wrappedgdkx112defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgdkx112DEFS_H_
+#define __wrappedgdkx112DEFS_H_
+
+
+#endif // __wrappedgdkx112DEFS_H_
diff --git a/src/wrapped/generated/wrappedgdkx112types.h b/src/wrapped/generated/wrappedgdkx112types.h
new file mode 100644
index 00000000..0a8efd60
--- /dev/null
+++ b/src/wrapped/generated/wrappedgdkx112types.h
@@ -0,0 +1,29 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgdkx112TYPES_H_
+#define __wrappedgdkx112TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef void (*vFpp_t)(void*, void*);
+typedef int64_t (*iFpp_t)(void*, void*);
+typedef void (*vFppp_t)(void*, void*, void*);
+typedef int64_t (*iFiipp_t)(int64_t, int64_t, void*, void*);
+typedef int64_t (*iFiippp_t)(int64_t, int64_t, void*, void*, void*);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(gdk_init, vFpp_t) \
+	GO(gdk_init_check, iFpp_t) \
+	GO(gdk_event_handler_set, vFppp_t) \
+	GO(gdk_window_add_filter, vFppp_t) \
+	GO(gdk_window_remove_filter, vFppp_t) \
+	GO(gdk_input_add, iFiipp_t) \
+	GO(gdk_input_add_full, iFiippp_t)
+
+#endif // __wrappedgdkx112TYPES_H_
diff --git a/src/wrapped/generated/wrappedgdkx112undefs.h b/src/wrapped/generated/wrappedgdkx112undefs.h
new file mode 100644
index 00000000..892a0c40
--- /dev/null
+++ b/src/wrapped/generated/wrappedgdkx112undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgdkx112UNDEFS_H_
+#define __wrappedgdkx112UNDEFS_H_
+
+
+#endif // __wrappedgdkx112UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgio2defs.h b/src/wrapped/generated/wrappedgio2defs.h
new file mode 100644
index 00000000..d461adbd
--- /dev/null
+++ b/src/wrapped/generated/wrappedgio2defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgio2DEFS_H_
+#define __wrappedgio2DEFS_H_
+
+
+#endif // __wrappedgio2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgio2types.h b/src/wrapped/generated/wrappedgio2types.h
new file mode 100644
index 00000000..ae5562f6
--- /dev/null
+++ b/src/wrapped/generated/wrappedgio2types.h
@@ -0,0 +1,77 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgio2TYPES_H_
+#define __wrappedgio2TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef void (*vFppp_t)(void*, void*, void*);
+typedef void (*vFippp_t)(int64_t, void*, void*, void*);
+typedef void (*vFppip_t)(void*, void*, int64_t, void*);
+typedef void (*vFpppp_t)(void*, void*, void*, void*);
+typedef uint64_t (*uFpppp_t)(void*, void*, void*, void*);
+typedef uintptr_t (*LFpppp_t)(void*, void*, void*, void*);
+typedef void* (*pFpppp_t)(void*, void*, void*, void*);
+typedef void (*vFpippp_t)(void*, int64_t, void*, void*, void*);
+typedef void (*vFpipppp_t)(void*, int64_t, void*, void*, void*, void*);
+typedef void (*vFiippppV_t)(int64_t, int64_t, void*, void*, void*, void*, ...);
+typedef void (*vFiupippp_t)(int64_t, uint64_t, void*, int64_t, void*, void*, void*);
+typedef void (*vFippippp_t)(int64_t, void*, void*, int64_t, void*, void*, void*);
+typedef void (*vFppipppp_t)(void*, void*, int64_t, void*, void*, void*, void*);
+typedef void (*vFpppuipV_t)(void*, void*, void*, uint64_t, int64_t, void*, ...);
+typedef uint64_t (*uFipipppp_t)(int64_t, void*, int64_t, void*, void*, void*, void*);
+typedef uint64_t (*uFppipppp_t)(void*, void*, int64_t, void*, void*, void*, void*);
+typedef uint64_t (*uFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFpppuipV_t)(void*, void*, void*, uint64_t, int64_t, void*, ...);
+typedef void (*vFppiipppp_t)(void*, void*, int64_t, int64_t, void*, void*, void*, void*);
+typedef void (*vFpppiippp_t)(void*, void*, void*, int64_t, int64_t, void*, void*, void*);
+typedef uint64_t (*uFipippppp_t)(int64_t, void*, int64_t, void*, void*, void*, void*, void*);
+typedef void (*vFiippppppp_t)(int64_t, int64_t, void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFpippppppp_t)(void*, int64_t, void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFpppiipppp_t)(void*, void*, void*, int64_t, int64_t, void*, void*, void*, void*);
+typedef void* (*pFiippppppp_t)(int64_t, int64_t, void*, void*, void*, void*, void*, void*, void*);
+typedef uint64_t (*uFppppppippp_t)(void*, void*, void*, void*, void*, void*, int64_t, void*, void*, void*);
+typedef void (*vFpppppppiippp_t)(void*, void*, void*, void*, void*, void*, void*, int64_t, int64_t, void*, void*, void*);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(g_simple_async_result_set_op_res_gpointer, vFppp_t) \
+	GO(g_bus_get, vFippp_t) \
+	GO(g_simple_async_result_run_in_thread, vFppip_t) \
+	GO(g_dbus_connection_close, vFpppp_t) \
+	GO(g_dbus_connection_flush, vFpppp_t) \
+	GO(g_simple_async_report_gerror_in_idle, vFpppp_t) \
+	GO(g_simple_async_report_take_gerror_in_idle, vFpppp_t) \
+	GO(g_dbus_connection_add_filter, uFpppp_t) \
+	GO(g_cancellable_connect, LFpppp_t) \
+	GO(g_simple_async_result_new, pFpppp_t) \
+	GO(g_simple_async_result_new_from_error, pFpppp_t) \
+	GO(g_simple_async_result_new_take_error, pFpppp_t) \
+	GO(g_async_initable_init_async, vFpippp_t) \
+	GO(g_dbus_connection_new_for_address, vFpipppp_t) \
+	GO(g_async_initable_new_async, vFiippppV_t) \
+	GO(g_async_initable_newv_async, vFiupippp_t) \
+	GO(g_async_initable_new_valist_async, vFippippp_t) \
+	GO(g_dbus_connection_new, vFppipppp_t) \
+	GO(g_simple_async_report_error_in_idle, vFpppuipV_t) \
+	GO(g_bus_watch_name, uFipipppp_t) \
+	GO(g_bus_own_name_on_connection, uFppipppp_t) \
+	GO(g_bus_watch_name_on_connection, uFppipppp_t) \
+	GO(g_dbus_connection_register_object, uFppppppp_t) \
+	GO(g_simple_async_result_new_error, pFpppuipV_t) \
+	GO(g_dbus_connection_send_message_with_reply, vFppiipppp_t) \
+	GO(g_dbus_proxy_call, vFpppiippp_t) \
+	GO(g_bus_own_name, uFipippppp_t) \
+	GO(g_dbus_proxy_new_for_bus, vFiippppppp_t) \
+	GO(g_dbus_proxy_new, vFpippppppp_t) \
+	GO(g_dbus_proxy_call_with_unix_fd_list, vFpppiipppp_t) \
+	GO(g_dbus_object_manager_client_new_for_bus_sync, pFiippppppp_t) \
+	GO(g_dbus_connection_signal_subscribe, uFppppppippp_t) \
+	GO(g_dbus_connection_call, vFpppppppiippp_t)
+
+#endif // __wrappedgio2TYPES_H_
diff --git a/src/wrapped/generated/wrappedgio2undefs.h b/src/wrapped/generated/wrappedgio2undefs.h
new file mode 100644
index 00000000..8787b573
--- /dev/null
+++ b/src/wrapped/generated/wrappedgio2undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgio2UNDEFS_H_
+#define __wrappedgio2UNDEFS_H_
+
+
+#endif // __wrappedgio2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedglib2defs.h b/src/wrapped/generated/wrappedglib2defs.h
new file mode 100644
index 00000000..ee8161f1
--- /dev/null
+++ b/src/wrapped/generated/wrappedglib2defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedglib2DEFS_H_
+#define __wrappedglib2DEFS_H_
+
+
+#endif // __wrappedglib2DEFS_H_
diff --git a/src/wrapped/generated/wrappedglib2types.h b/src/wrapped/generated/wrappedglib2types.h
new file mode 100644
index 00000000..8ed095bc
--- /dev/null
+++ b/src/wrapped/generated/wrappedglib2types.h
@@ -0,0 +1,143 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedglib2TYPES_H_
+#define __wrappedglib2TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef void (*vFp_t)(void*);
+typedef void* (*pFp_t)(void*);
+typedef void (*vFpp_t)(void*, void*);
+typedef void (*vFpV_t)(void*, ...);
+typedef int64_t (*iFpp_t)(void*, void*);
+typedef int64_t (*iFpV_t)(void*, ...);
+typedef uint64_t (*uFpp_t)(void*, void*);
+typedef void* (*pFup_t)(uint64_t, void*);
+typedef void* (*pFpu_t)(void*, uint64_t);
+typedef void* (*pFpp_t)(void*, void*);
+typedef void* (*pFpV_t)(void*, ...);
+typedef void* (*pFpA_t)(void*, va_list);
+typedef void (*vFppp_t)(void*, void*, void*);
+typedef void (*vFppV_t)(void*, void*, ...);
+typedef int64_t (*iFppp_t)(void*, void*, void*);
+typedef int64_t (*iFppV_t)(void*, void*, ...);
+typedef uint64_t (*uFipp_t)(int64_t, void*, void*);
+typedef uint64_t (*uFupp_t)(uint64_t, void*, void*);
+typedef uint64_t (*uFppp_t)(void*, void*, void*);
+typedef void* (*pFppp_t)(void*, void*, void*);
+typedef void* (*pFppV_t)(void*, void*, ...);
+typedef void (*vFpupp_t)(void*, uint64_t, void*, void*);
+typedef void (*vFpppp_t)(void*, void*, void*, void*);
+typedef int64_t (*iFpLpp_t)(void*, uintptr_t, void*, void*);
+typedef int64_t (*iFpLpV_t)(void*, uintptr_t, void*, ...);
+typedef uint64_t (*uFippp_t)(int64_t, void*, void*, void*);
+typedef uint64_t (*uFpipp_t)(void*, int64_t, void*, void*);
+typedef void* (*pFpupp_t)(void*, uint64_t, void*, void*);
+typedef void* (*pFppip_t)(void*, void*, int64_t, void*);
+typedef void* (*pFpppp_t)(void*, void*, void*, void*);
+typedef void (*vFpiLpp_t)(void*, int64_t, uintptr_t, void*, void*);
+typedef void (*vFppipV_t)(void*, void*, int64_t, void*, ...);
+typedef uint64_t (*uFiippp_t)(int64_t, int64_t, void*, void*, void*);
+typedef uint64_t (*uFiuppp_t)(int64_t, uint64_t, void*, void*, void*);
+typedef int64_t (*iFpupppp_t)(void*, uint64_t, void*, void*, void*, void*);
+typedef uint64_t (*uFpiippp_t)(void*, int64_t, int64_t, void*, void*, void*);
+typedef void* (*pFppuipp_t)(void*, void*, uint64_t, int64_t, void*, void*);
+typedef void* (*pFppLiiip_t)(void*, void*, uintptr_t, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFpppipppp_t)(void*, void*, void*, int64_t, void*, void*, void*, void*);
+typedef int64_t (*iFpppipppppp_t)(void*, void*, void*, int64_t, void*, void*, void*, void*, void*, void*);
+typedef int64_t (*iFpppippppppp_t)(void*, void*, void*, int64_t, void*, void*, void*, void*, void*, void*, void*);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(g_atexit, vFp_t) \
+	GO(g_completion_new, pFp_t) \
+	GO(g_main_context_get_poll_func, pFp_t) \
+	GO(g_private_new, pFp_t) \
+	GO(g_ptr_array_new_with_free_func, pFp_t) \
+	GO(g_set_print_handler, pFp_t) \
+	GO(g_set_printerr_handler, pFp_t) \
+	GO(g_array_set_clear_func, vFpp_t) \
+	GO(g_array_sort, vFpp_t) \
+	GO(g_completion_set_compare, vFpp_t) \
+	GO(g_list_free_full, vFpp_t) \
+	GO(g_main_context_set_poll_func, vFpp_t) \
+	GO(g_ptr_array_set_free_func, vFpp_t) \
+	GO(g_ptr_array_sort, vFpp_t) \
+	GO(g_source_set_funcs, vFpp_t) \
+	GO(g_thread_foreach, vFpp_t) \
+	GO(g_print, vFpV_t) \
+	GO(g_printerr, vFpV_t) \
+	GO(g_source_remove_by_funcs_user_data, iFpp_t) \
+	GO(g_vprintf, iFpp_t) \
+	GO(g_printf, iFpV_t) \
+	GO(g_idle_add, uFpp_t) \
+	GO(g_printf_string_upper_bound, uFpp_t) \
+	GO(g_ptr_array_new_full, pFup_t) \
+	GO(g_source_new, pFpu_t) \
+	GO(g_hash_table_new, pFpp_t) \
+	GO(g_list_sort, pFpp_t) \
+	GO(g_log_set_default_handler, pFpp_t) \
+	GO(g_slist_sort, pFpp_t) \
+	GO(g_strdup_vprintf, pFpp_t) \
+	GO(g_build_filename, pFpV_t) \
+	GO(g_markup_printf_escaped, pFpV_t) \
+	GO(g_strdup_printf, pFpV_t) \
+	GO(g_variant_new, pFpV_t) \
+	GO(g_markup_vprintf_escaped, pFpA_t) \
+	GO(g_variant_new_parsed_va, pFpA_t) \
+	GO(g_array_sort_with_data, vFppp_t) \
+	GO(g_hash_table_foreach, vFppp_t) \
+	GO(g_ptr_array_foreach, vFppp_t) \
+	GO(g_ptr_array_sort_with_data, vFppp_t) \
+	GO(g_static_private_set, vFppp_t) \
+	GO(g_variant_get, vFppV_t) \
+	GO(g_vasprintf, iFppp_t) \
+	GO(g_vfprintf, iFppp_t) \
+	GO(g_vsprintf, iFppp_t) \
+	GO(g_fprintf, iFppV_t) \
+	GO(g_sprintf, iFppV_t) \
+	GO(g_child_watch_add, uFipp_t) \
+	GO(g_timeout_add, uFupp_t) \
+	GO(g_timeout_add_seconds, uFupp_t) \
+	GO(g_hash_table_foreach_remove, uFppp_t) \
+	GO(g_hash_table_foreach_steal, uFppp_t) \
+	GO(g_hash_table_find, pFppp_t) \
+	GO(g_list_find_custom, pFppp_t) \
+	GO(g_list_sort_with_data, pFppp_t) \
+	GO(g_queue_find_custom, pFppp_t) \
+	GO(g_slist_find_custom, pFppp_t) \
+	GO(g_slist_foreach, pFppp_t) \
+	GO(g_slist_insert_sorted, pFppp_t) \
+	GO(g_slist_sort_with_data, pFppp_t) \
+	GO(g_variant_new_va, pFppp_t) \
+	GO(g_build_path, pFppV_t) \
+	GO(g_datalist_id_set_data_full, vFpupp_t) \
+	GO(g_source_set_callback, vFpppp_t) \
+	GO(g_vsnprintf, iFpLpp_t) \
+	GO(g_snprintf, iFpLpV_t) \
+	GO(g_idle_add_full, uFippp_t) \
+	GO(g_io_add_watch, uFpipp_t) \
+	GO(g_log_set_handler, uFpipp_t) \
+	GO(g_datalist_id_dup_data, pFpupp_t) \
+	GO(g_thread_create, pFppip_t) \
+	GO(g_hash_table_new_full, pFpppp_t) \
+	GO(g_slist_insert_sorted_with_data, pFpppp_t) \
+	GO(g_qsort_with_data, vFpiLpp_t) \
+	GO(g_set_error, vFppipV_t) \
+	GO(g_child_watch_add_full, uFiippp_t) \
+	GO(g_timeout_add_full, uFiuppp_t) \
+	GO(g_timeout_add_seconds_full, uFiuppp_t) \
+	GO(g_datalist_id_replace_data, iFpupppp_t) \
+	GO(g_io_add_watch_full, uFpiippp_t) \
+	GO(g_variant_new_from_data, pFppuipp_t) \
+	GO(g_thread_create_full, pFppLiiip_t) \
+	GO(g_spawn_async, iFpppipppp_t) \
+	GO(g_spawn_sync, iFpppipppppp_t) \
+	GO(g_spawn_async_with_pipes, iFpppippppppp_t)
+
+#endif // __wrappedglib2TYPES_H_
diff --git a/src/wrapped/generated/wrappedglib2undefs.h b/src/wrapped/generated/wrappedglib2undefs.h
new file mode 100644
index 00000000..2ab9768c
--- /dev/null
+++ b/src/wrapped/generated/wrappedglib2undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedglib2UNDEFS_H_
+#define __wrappedglib2UNDEFS_H_
+
+
+#endif // __wrappedglib2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgmodule2defs.h b/src/wrapped/generated/wrappedgmodule2defs.h
new file mode 100644
index 00000000..48d1b235
--- /dev/null
+++ b/src/wrapped/generated/wrappedgmodule2defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgmodule2DEFS_H_
+#define __wrappedgmodule2DEFS_H_
+
+
+#endif // __wrappedgmodule2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgmodule2types.h b/src/wrapped/generated/wrappedgmodule2types.h
new file mode 100644
index 00000000..829efcba
--- /dev/null
+++ b/src/wrapped/generated/wrappedgmodule2types.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgmodule2TYPES_H_
+#define __wrappedgmodule2TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedgmodule2TYPES_H_
diff --git a/src/wrapped/generated/wrappedgmodule2undefs.h b/src/wrapped/generated/wrappedgmodule2undefs.h
new file mode 100644
index 00000000..fc17a814
--- /dev/null
+++ b/src/wrapped/generated/wrappedgmodule2undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgmodule2UNDEFS_H_
+#define __wrappedgmodule2UNDEFS_H_
+
+
+#endif // __wrappedgmodule2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgobject2defs.h b/src/wrapped/generated/wrappedgobject2defs.h
new file mode 100644
index 00000000..03df51ab
--- /dev/null
+++ b/src/wrapped/generated/wrappedgobject2defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgobject2DEFS_H_
+#define __wrappedgobject2DEFS_H_
+
+
+#endif // __wrappedgobject2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgobject2types.h b/src/wrapped/generated/wrappedgobject2types.h
new file mode 100644
index 00000000..966bd36a
--- /dev/null
+++ b/src/wrapped/generated/wrappedgobject2types.h
@@ -0,0 +1,72 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgobject2TYPES_H_
+#define __wrappedgobject2TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef void* (*pFp_t)(void*);
+typedef int64_t (*iFpp_t)(void*, void*);
+typedef void* (*pFpp_t)(void*, void*);
+typedef void (*vFiip_t)(int64_t, int64_t, void*);
+typedef void (*vFppV_t)(void*, void*, ...);
+typedef void (*vFppA_t)(void*, void*, va_list);
+typedef int64_t (*iFppp_t)(void*, void*, void*);
+typedef void* (*pFipV_t)(int64_t, void*, ...);
+typedef void* (*pFipA_t)(int64_t, void*, va_list);
+typedef void* (*pFppp_t)(void*, void*, void*);
+typedef void* (*pFppV_t)(void*, void*, ...);
+typedef void (*vFpuuV_t)(void*, uint64_t, uint64_t, ...);
+typedef void (*vFpupp_t)(void*, uint64_t, void*, void*);
+typedef void (*vFpupA_t)(void*, uint64_t, void*, va_list);
+typedef void (*vFpppp_t)(void*, void*, void*, void*);
+typedef int64_t (*iFippi_t)(int64_t, void*, void*, int64_t);
+typedef int64_t (*iFipppi_t)(int64_t, void*, void*, void*, int64_t);
+typedef uintptr_t (*LFupppp_t)(uint64_t, void*, void*, void*, void*);
+typedef uintptr_t (*LFpppppu_t)(void*, void*, void*, void*, void*, uint64_t);
+typedef int64_t (*iFipupupi_t)(int64_t, void*, uint64_t, void*, uint64_t, void*, int64_t);
+typedef uint64_t (*uFpiupppp_t)(void*, int64_t, uint64_t, void*, void*, void*, void*);
+typedef uintptr_t (*LFpiupppp_t)(void*, int64_t, uint64_t, void*, void*, void*, void*);
+typedef uint64_t (*uFpiiupppiuV_t)(void*, int64_t, int64_t, uint64_t, void*, void*, void*, int64_t, uint64_t, ...);
+typedef uint64_t (*uFpiippppiup_t)(void*, int64_t, int64_t, void*, void*, void*, void*, int64_t, uint64_t, void*);
+typedef uint64_t (*uFpiippppiuA_t)(void*, int64_t, int64_t, void*, void*, void*, void*, int64_t, uint64_t, va_list);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(g_type_class_peek_parent, pFp_t) \
+	GO(g_param_type_register_static, iFpp_t) \
+	GO(g_value_array_sort, pFpp_t) \
+	GO(g_type_add_interface_static, vFiip_t) \
+	GO(g_value_register_transform_func, vFiip_t) \
+	GO(g_object_get, vFppV_t) \
+	GO(g_object_set, vFppV_t) \
+	GO(g_object_get_valist, vFppA_t) \
+	GO(g_object_set_valist, vFppA_t) \
+	GO(g_boxed_type_register_static, iFppp_t) \
+	GO(g_object_new, pFipV_t) \
+	GO(g_object_new_valist, pFipA_t) \
+	GO(g_value_array_sort_with_data, pFppp_t) \
+	GO(g_object_connect, pFppV_t) \
+	GO(g_signal_emit, vFpuuV_t) \
+	GO(g_param_spec_set_qdata_full, vFpupp_t) \
+	GO(g_signal_emit_valist, vFpupA_t) \
+	GO(g_object_set_data_full, vFpppp_t) \
+	GO(g_type_register_static, iFippi_t) \
+	GO(g_type_register_fundamental, iFipppi_t) \
+	GO(g_signal_add_emission_hook, LFupppp_t) \
+	GO(g_signal_connect_data, LFpppppu_t) \
+	GO(g_type_register_static_simple, iFipupupi_t) \
+	GO(g_signal_handlers_block_matched, uFpiupppp_t) \
+	GO(g_signal_handlers_disconnect_matched, uFpiupppp_t) \
+	GO(g_signal_handlers_unblock_matched, uFpiupppp_t) \
+	GO(g_signal_handler_find, LFpiupppp_t) \
+	GO(g_signal_new, uFpiiupppiuV_t) \
+	GO(g_signal_newv, uFpiippppiup_t) \
+	GO(g_signal_new_valist, uFpiippppiuA_t)
+
+#endif // __wrappedgobject2TYPES_H_
diff --git a/src/wrapped/generated/wrappedgobject2undefs.h b/src/wrapped/generated/wrappedgobject2undefs.h
new file mode 100644
index 00000000..d8a16b31
--- /dev/null
+++ b/src/wrapped/generated/wrappedgobject2undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgobject2UNDEFS_H_
+#define __wrappedgobject2UNDEFS_H_
+
+
+#endif // __wrappedgobject2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgthread2defs.h b/src/wrapped/generated/wrappedgthread2defs.h
new file mode 100644
index 00000000..464bd999
--- /dev/null
+++ b/src/wrapped/generated/wrappedgthread2defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgthread2DEFS_H_
+#define __wrappedgthread2DEFS_H_
+
+
+#endif // __wrappedgthread2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgthread2types.h b/src/wrapped/generated/wrappedgthread2types.h
new file mode 100644
index 00000000..64c2026f
--- /dev/null
+++ b/src/wrapped/generated/wrappedgthread2types.h
@@ -0,0 +1,20 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgthread2TYPES_H_
+#define __wrappedgthread2TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef void (*vFp_t)(void*);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(g_thread_init, vFp_t) \
+	GO(g_thread_init_with_errorcheck_mutexes, vFp_t)
+
+#endif // __wrappedgthread2TYPES_H_
diff --git a/src/wrapped/generated/wrappedgthread2undefs.h b/src/wrapped/generated/wrappedgthread2undefs.h
new file mode 100644
index 00000000..8e8db721
--- /dev/null
+++ b/src/wrapped/generated/wrappedgthread2undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgthread2UNDEFS_H_
+#define __wrappedgthread2UNDEFS_H_
+
+
+#endif // __wrappedgthread2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgtkx112defs.h b/src/wrapped/generated/wrappedgtkx112defs.h
new file mode 100644
index 00000000..08fd8815
--- /dev/null
+++ b/src/wrapped/generated/wrappedgtkx112defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgtkx112DEFS_H_
+#define __wrappedgtkx112DEFS_H_
+
+
+#endif // __wrappedgtkx112DEFS_H_
diff --git a/src/wrapped/generated/wrappedgtkx112types.h b/src/wrapped/generated/wrappedgtkx112types.h
new file mode 100644
index 00000000..854862aa
--- /dev/null
+++ b/src/wrapped/generated/wrappedgtkx112types.h
@@ -0,0 +1,86 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgtkx112TYPES_H_
+#define __wrappedgtkx112TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef float (*fFp_t)(void*);
+typedef void* (*pFi_t)(int64_t);
+typedef void (*vFpp_t)(void*, void*);
+typedef int64_t (*iFpp_t)(void*, void*);
+typedef void* (*pFpi_t)(void*, int64_t);
+typedef void (*vFppp_t)(void*, void*, void*);
+typedef void (*vFppV_t)(void*, void*, ...);
+typedef uint64_t (*uFupp_t)(uint64_t, void*, void*);
+typedef void (*vFppup_t)(void*, void*, uint64_t, void*);
+typedef void (*vFpppp_t)(void*, void*, void*, void*);
+typedef int64_t (*iFpppp_t)(void*, void*, void*, void*);
+typedef uintptr_t (*LFpppp_t)(void*, void*, void*, void*);
+typedef void (*vFpippp_t)(void*, int64_t, void*, void*, void*);
+typedef void (*vFppupp_t)(void*, void*, uint64_t, void*, void*);
+typedef void (*vFppppp_t)(void*, void*, void*, void*, void*);
+typedef void (*vFpuipuV_t)(void*, uint64_t, int64_t, void*, uint64_t, ...);
+typedef int64_t (*iFppuppp_t)(void*, void*, uint64_t, void*, void*, void*);
+typedef int64_t (*iFpppppp_t)(void*, void*, void*, void*, void*, void*);
+typedef uint64_t (*uFiipppp_t)(int64_t, int64_t, void*, void*, void*, void*);
+typedef void (*vFpppppuu_t)(void*, void*, void*, void*, void*, uint64_t, uint64_t);
+typedef void* (*pFppppppi_t)(void*, void*, void*, void*, void*, void*, int64_t);
+typedef void* (*pFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
+typedef uintptr_t (*LFppppppii_t)(void*, void*, void*, void*, void*, void*, int64_t, int64_t);
+typedef void* (*pFpppppppi_t)(void*, void*, void*, void*, void*, void*, void*, int64_t);
+typedef void* (*pFpippppppp_t)(void*, int64_t, void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFpipppppppi_t)(void*, int64_t, void*, void*, void*, void*, void*, void*, void*, int64_t);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(gtk_spin_button_get_value_as_float, fFp_t) \
+	GO(gtk_type_class, pFi_t) \
+	GO(gtk_builder_connect_signals, vFpp_t) \
+	GO(gtk_init, vFpp_t) \
+	GO(gtk_init_check, iFpp_t) \
+	GO(gtk_type_unique, iFpp_t) \
+	GO(gtk_type_check_object_cast, pFpi_t) \
+	GO(gtk_builder_connect_signals_full, vFppp_t) \
+	GO(gtk_clipboard_request_text, vFppp_t) \
+	GO(gtk_container_forall, vFppp_t) \
+	GO(gtk_container_foreach, vFppp_t) \
+	GO(gtk_menu_attach_to_widget, vFppp_t) \
+	GO(gtk_tree_model_foreach, vFppp_t) \
+	GO(gtk_dialog_add_buttons, vFppV_t) \
+	GO(gtk_message_dialog_format_secondary_markup, vFppV_t) \
+	GO(gtk_message_dialog_format_secondary_text, vFppV_t) \
+	GO(gtk_timeout_add, uFupp_t) \
+	GO(gtk_action_group_add_actions, vFppup_t) \
+	GO(gtk_clipboard_request_contents, vFpppp_t) \
+	GO(gtk_object_set_data_full, vFpppp_t) \
+	GO(gtk_stock_set_translate_func, vFpppp_t) \
+	GO(gtk_tree_sortable_set_default_sort_func, vFpppp_t) \
+	GO(gtk_tree_view_set_search_equal_func, vFpppp_t) \
+	GO(gtk_text_iter_backward_find_char, iFpppp_t) \
+	GO(gtk_text_iter_forward_find_char, iFpppp_t) \
+	GO(gtk_signal_connect, LFpppp_t) \
+	GO(gtk_tree_sortable_set_sort_func, vFpippp_t) \
+	GO(gtk_action_group_add_actions_full, vFppupp_t) \
+	GO(gtk_cell_layout_set_cell_data_func, vFppppp_t) \
+	GO(gtk_binding_entry_add_signal, vFpuipuV_t) \
+	GO(gtk_clipboard_set_with_data, iFppuppp_t) \
+	GO(gtk_clipboard_set_with_owner, iFppuppp_t) \
+	GO(gtk_init_with_args, iFpppppp_t) \
+	GO(gtk_input_add_full, uFiipppp_t) \
+	GO(gtk_menu_popup, vFpppppuu_t) \
+	GO(gtk_toolbar_insert_stock, pFppppppi_t) \
+	GO(gtk_toolbar_append_item, pFppppppp_t) \
+	GO(gtk_toolbar_prepend_item, pFppppppp_t) \
+	GO(gtk_signal_connect_full, LFppppppii_t) \
+	GO(gtk_toolbar_insert_item, pFpppppppi_t) \
+	GO(gtk_toolbar_append_element, pFpippppppp_t) \
+	GO(gtk_toolbar_prepend_element, pFpippppppp_t) \
+	GO(gtk_toolbar_insert_element, pFpipppppppi_t)
+
+#endif // __wrappedgtkx112TYPES_H_
diff --git a/src/wrapped/generated/wrappedgtkx112undefs.h b/src/wrapped/generated/wrappedgtkx112undefs.h
new file mode 100644
index 00000000..5ae58ea9
--- /dev/null
+++ b/src/wrapped/generated/wrappedgtkx112undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.1.0.16) *
+ *******************************************************************/
+#ifndef __wrappedgtkx112UNDEFS_H_
+#define __wrappedgtkx112UNDEFS_H_
+
+
+#endif // __wrappedgtkx112UNDEFS_H_
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 60359ed8..22a2c6bb 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -40,6 +40,7 @@ typedef void (*vFU_t)(uint64_t);
 typedef void (*vFf_t)(float);
 typedef void (*vFd_t)(double);
 typedef void (*vFl_t)(intptr_t);
+typedef void (*vFL_t)(uintptr_t);
 typedef void (*vFp_t)(void*);
 typedef void (*vFS_t)(void*);
 typedef int8_t (*cFv_t)(void);
@@ -53,6 +54,8 @@ typedef int64_t (*iFv_t)(void);
 typedef int64_t (*iFw_t)(int16_t);
 typedef int64_t (*iFi_t)(int64_t);
 typedef int64_t (*iFI_t)(int64_t);
+typedef int64_t (*iFC_t)(uint8_t);
+typedef int64_t (*iFW_t)(uint16_t);
 typedef int64_t (*iFu_t)(uint64_t);
 typedef int64_t (*iFU_t)(uint64_t);
 typedef int64_t (*iFf_t)(float);
@@ -63,10 +66,13 @@ typedef int64_t (*iFL_t)(uintptr_t);
 typedef int64_t (*iFp_t)(void*);
 typedef int64_t (*iFO_t)(int32_t);
 typedef int64_t (*iFS_t)(void*);
+typedef int64_t (*IFv_t)(void);
+typedef int64_t (*IFi_t)(int64_t);
 typedef int64_t (*IFI_t)(int64_t);
 typedef int64_t (*IFf_t)(float);
 typedef int64_t (*IFd_t)(double);
 typedef int64_t (*IFp_t)(void*);
+typedef uint8_t (*CFC_t)(uint8_t);
 typedef uint8_t (*CFp_t)(void*);
 typedef uint16_t (*WFi_t)(int64_t);
 typedef uint16_t (*WFW_t)(uint16_t);
@@ -96,13 +102,18 @@ typedef intptr_t (*lFi_t)(int64_t);
 typedef intptr_t (*lFl_t)(intptr_t);
 typedef intptr_t (*lFp_t)(void*);
 typedef uintptr_t (*LFv_t)(void);
+typedef uintptr_t (*LFu_t)(uint64_t);
 typedef uintptr_t (*LFL_t)(uintptr_t);
 typedef uintptr_t (*LFp_t)(void*);
 typedef void* (*pFE_t)(x64emu_t*);
 typedef void* (*pFv_t)(void);
+typedef void* (*pFw_t)(int16_t);
 typedef void* (*pFi_t)(int64_t);
+typedef void* (*pFI_t)(int64_t);
+typedef void* (*pFC_t)(uint8_t);
 typedef void* (*pFW_t)(uint16_t);
 typedef void* (*pFu_t)(uint64_t);
+typedef void* (*pFU_t)(uint64_t);
 typedef void* (*pFd_t)(double);
 typedef void* (*pFl_t)(intptr_t);
 typedef void* (*pFL_t)(uintptr_t);
@@ -135,8 +146,13 @@ typedef void (*vFdd_t)(double, double);
 typedef void (*vFlp_t)(intptr_t, void*);
 typedef void (*vFLL_t)(uintptr_t, uintptr_t);
 typedef void (*vFLp_t)(uintptr_t, void*);
+typedef void (*vFpc_t)(void*, int8_t);
 typedef void (*vFpi_t)(void*, int64_t);
+typedef void (*vFpI_t)(void*, int64_t);
+typedef void (*vFpC_t)(void*, uint8_t);
+typedef void (*vFpW_t)(void*, uint16_t);
 typedef void (*vFpu_t)(void*, uint64_t);
+typedef void (*vFpU_t)(void*, uint64_t);
 typedef void (*vFpf_t)(void*, float);
 typedef void (*vFpd_t)(void*, double);
 typedef void (*vFpl_t)(void*, intptr_t);
@@ -180,6 +196,7 @@ typedef int64_t (*IFEp_t)(x64emu_t*, void*);
 typedef int64_t (*IFpi_t)(void*, int64_t);
 typedef int64_t (*IFpu_t)(void*, uint64_t);
 typedef int64_t (*IFpd_t)(void*, double);
+typedef uint8_t (*CFip_t)(int64_t, void*);
 typedef uint8_t (*CFui_t)(uint64_t, int64_t);
 typedef uint8_t (*CFpi_t)(void*, int64_t);
 typedef uint8_t (*CFpu_t)(void*, uint64_t);
@@ -201,6 +218,7 @@ typedef uint64_t (*UFEp_t)(x64emu_t*, void*);
 typedef uint64_t (*UFuu_t)(uint64_t, uint64_t);
 typedef uint64_t (*UFUp_t)(uint64_t, void*);
 typedef uint64_t (*UFpp_t)(void*, void*);
+typedef float (*fFEp_t)(x64emu_t*, void*);
 typedef float (*fFif_t)(int64_t, float);
 typedef float (*fFfi_t)(float, int64_t);
 typedef float (*fFff_t)(float, float);
@@ -214,6 +232,7 @@ typedef double (*dFdD_t)(double, long double);
 typedef double (*dFdp_t)(double, void*);
 typedef double (*dFll_t)(intptr_t, intptr_t);
 typedef double (*dFpi_t)(void*, int64_t);
+typedef double (*dFpd_t)(void*, double);
 typedef double (*dFpp_t)(void*, void*);
 typedef long double (*DFDi_t)(long double, int64_t);
 typedef long double (*DFDD_t)(long double, long double);
@@ -230,20 +249,28 @@ typedef uintptr_t (*LFLi_t)(uintptr_t, int64_t);
 typedef uintptr_t (*LFpi_t)(void*, int64_t);
 typedef uintptr_t (*LFpL_t)(void*, uintptr_t);
 typedef uintptr_t (*LFpp_t)(void*, void*);
+typedef void* (*pFEi_t)(x64emu_t*, int64_t);
 typedef void* (*pFEp_t)(x64emu_t*, void*);
 typedef void* (*pFii_t)(int64_t, int64_t);
 typedef void* (*pFiu_t)(int64_t, uint64_t);
 typedef void* (*pFip_t)(int64_t, void*);
+typedef void* (*pFiV_t)(int64_t, void*);
 typedef void* (*pFui_t)(uint64_t, int64_t);
+typedef void* (*pFuC_t)(uint64_t, uint8_t);
 typedef void* (*pFuu_t)(uint64_t, uint64_t);
 typedef void* (*pFup_t)(uint64_t, void*);
+typedef void* (*pFuV_t)(uint64_t, void*);
+typedef void* (*pFUi_t)(uint64_t, int64_t);
 typedef void* (*pFdd_t)(double, double);
 typedef void* (*pFlp_t)(intptr_t, void*);
 typedef void* (*pFLL_t)(uintptr_t, uintptr_t);
+typedef void* (*pFLp_t)(uintptr_t, void*);
 typedef void* (*pFpi_t)(void*, int64_t);
 typedef void* (*pFpC_t)(void*, uint8_t);
 typedef void* (*pFpu_t)(void*, uint64_t);
 typedef void* (*pFpU_t)(void*, uint64_t);
+typedef void* (*pFpd_t)(void*, double);
+typedef void* (*pFpl_t)(void*, intptr_t);
 typedef void* (*pFpL_t)(void*, uintptr_t);
 typedef void* (*pFpp_t)(void*, void*);
 typedef void* (*pFpV_t)(void*, void*);
@@ -285,12 +312,15 @@ typedef void (*vFudd_t)(uint64_t, double, double);
 typedef void (*vFull_t)(uint64_t, intptr_t, intptr_t);
 typedef void (*vFulp_t)(uint64_t, intptr_t, void*);
 typedef void (*vFupu_t)(uint64_t, void*, uint64_t);
+typedef void (*vFupp_t)(uint64_t, void*, void*);
 typedef void (*vFfff_t)(float, float, float);
 typedef void (*vFfpp_t)(float, void*, void*);
 typedef void (*vFddd_t)(double, double, double);
 typedef void (*vFdpp_t)(double, void*, void*);
+typedef void (*vFLpL_t)(uintptr_t, void*, uintptr_t);
 typedef void (*vFLpp_t)(uintptr_t, void*, void*);
 typedef void (*vFpii_t)(void*, int64_t, int64_t);
+typedef void (*vFpiC_t)(void*, int64_t, uint8_t);
 typedef void (*vFpiu_t)(void*, int64_t, uint64_t);
 typedef void (*vFpif_t)(void*, int64_t, float);
 typedef void (*vFpid_t)(void*, int64_t, double);
@@ -299,6 +329,7 @@ typedef void (*vFpui_t)(void*, uint64_t, int64_t);
 typedef void (*vFpuI_t)(void*, uint64_t, int64_t);
 typedef void (*vFpuu_t)(void*, uint64_t, uint64_t);
 typedef void (*vFpup_t)(void*, uint64_t, void*);
+typedef void (*vFpff_t)(void*, float, float);
 typedef void (*vFpdd_t)(void*, double, double);
 typedef void (*vFpll_t)(void*, intptr_t, intptr_t);
 typedef void (*vFpLi_t)(void*, uintptr_t, int64_t);
@@ -310,6 +341,7 @@ typedef void (*vFppd_t)(void*, void*, double);
 typedef void (*vFppl_t)(void*, void*, intptr_t);
 typedef void (*vFppL_t)(void*, void*, uintptr_t);
 typedef void (*vFppp_t)(void*, void*, void*);
+typedef void (*vFppV_t)(void*, void*, void*);
 typedef int64_t (*iFEiw_t)(x64emu_t*, int64_t, int16_t);
 typedef int64_t (*iFEip_t)(x64emu_t*, int64_t, void*);
 typedef int64_t (*iFEWW_t)(x64emu_t*, uint16_t, uint16_t);
@@ -339,6 +371,7 @@ typedef int64_t (*iFipu_t)(int64_t, void*, uint64_t);
 typedef int64_t (*iFipL_t)(int64_t, void*, uintptr_t);
 typedef int64_t (*iFipp_t)(int64_t, void*, void*);
 typedef int64_t (*iFipO_t)(int64_t, void*, int32_t);
+typedef int64_t (*iFCiW_t)(uint8_t, int64_t, uint16_t);
 typedef int64_t (*iFuwp_t)(uint64_t, int16_t, void*);
 typedef int64_t (*iFuui_t)(uint64_t, uint64_t, int64_t);
 typedef int64_t (*iFuuu_t)(uint64_t, uint64_t, uint64_t);
@@ -358,6 +391,7 @@ typedef int64_t (*iFpii_t)(void*, int64_t, int64_t);
 typedef int64_t (*iFpiu_t)(void*, int64_t, uint64_t);
 typedef int64_t (*iFpiL_t)(void*, int64_t, uintptr_t);
 typedef int64_t (*iFpip_t)(void*, int64_t, void*);
+typedef int64_t (*iFpIi_t)(void*, int64_t, int64_t);
 typedef int64_t (*iFpui_t)(void*, uint64_t, int64_t);
 typedef int64_t (*iFpuu_t)(void*, uint64_t, uint64_t);
 typedef int64_t (*iFpuU_t)(void*, uint64_t, uint64_t);
@@ -388,6 +422,7 @@ typedef int64_t (*iFSpL_t)(void*, void*, uintptr_t);
 typedef int64_t (*IFiIi_t)(int64_t, int64_t, int64_t);
 typedef int64_t (*IFpIi_t)(void*, int64_t, int64_t);
 typedef int64_t (*IFppi_t)(void*, void*, int64_t);
+typedef int64_t (*IFppu_t)(void*, void*, uint64_t);
 typedef int64_t (*IFSIi_t)(void*, int64_t, int64_t);
 typedef uint64_t (*uFEpW_t)(x64emu_t*, void*, uint16_t);
 typedef uint64_t (*uFEpu_t)(x64emu_t*, void*, uint64_t);
@@ -410,6 +445,7 @@ typedef uint64_t (*uFppi_t)(void*, void*, int64_t);
 typedef uint64_t (*uFppu_t)(void*, void*, uint64_t);
 typedef uint64_t (*uFppp_t)(void*, void*, void*);
 typedef uint64_t (*UFppi_t)(void*, void*, int64_t);
+typedef uint64_t (*UFppu_t)(void*, void*, uint64_t);
 typedef float (*fFull_t)(uint64_t, intptr_t, intptr_t);
 typedef float (*fFfff_t)(float, float, float);
 typedef float (*fFffp_t)(float, float, void*);
@@ -417,6 +453,7 @@ typedef float (*fFppL_t)(void*, void*, uintptr_t);
 typedef float (*fFppp_t)(void*, void*, void*);
 typedef double (*dFddd_t)(double, double, double);
 typedef double (*dFddp_t)(double, double, void*);
+typedef double (*dFpdd_t)(void*, double, double);
 typedef double (*dFppi_t)(void*, void*, int64_t);
 typedef double (*dFppp_t)(void*, void*, void*);
 typedef long double (*DFppp_t)(void*, void*, void*);
@@ -428,6 +465,7 @@ typedef intptr_t (*lFlll_t)(intptr_t, intptr_t, intptr_t);
 typedef intptr_t (*lFlpi_t)(intptr_t, void*, int64_t);
 typedef intptr_t (*lFpli_t)(void*, intptr_t, int64_t);
 typedef intptr_t (*lFpLu_t)(void*, uintptr_t, uint64_t);
+typedef intptr_t (*lFpLp_t)(void*, uintptr_t, void*);
 typedef intptr_t (*lFppi_t)(void*, void*, int64_t);
 typedef intptr_t (*lFppL_t)(void*, void*, uintptr_t);
 typedef intptr_t (*lFppp_t)(void*, void*, void*);
@@ -444,16 +482,26 @@ typedef uintptr_t (*LFppi_t)(void*, void*, int64_t);
 typedef uintptr_t (*LFppL_t)(void*, void*, uintptr_t);
 typedef uintptr_t (*LFSpL_t)(void*, void*, uintptr_t);
 typedef void* (*pFEip_t)(x64emu_t*, int64_t, void*);
+typedef void* (*pFEup_t)(x64emu_t*, uint64_t, void*);
 typedef void* (*pFEpi_t)(x64emu_t*, void*, int64_t);
+typedef void* (*pFEpu_t)(x64emu_t*, void*, uint64_t);
 typedef void* (*pFEpp_t)(x64emu_t*, void*, void*);
+typedef void* (*pFEpV_t)(x64emu_t*, void*, void*);
+typedef void* (*pFEpA_t)(x64emu_t*, void*, void*);
 typedef void* (*pFiii_t)(int64_t, int64_t, int64_t);
+typedef void* (*pFiiu_t)(int64_t, int64_t, uint64_t);
 typedef void* (*pFiip_t)(int64_t, int64_t, void*);
+typedef void* (*pFiIp_t)(int64_t, int64_t, void*);
+typedef void* (*pFiup_t)(int64_t, uint64_t, void*);
 typedef void* (*pFipi_t)(int64_t, void*, int64_t);
 typedef void* (*pFipL_t)(int64_t, void*, uintptr_t);
 typedef void* (*pFipp_t)(int64_t, void*, void*);
 typedef void* (*pFIpi_t)(int64_t, void*, int64_t);
+typedef void* (*pFCiW_t)(uint8_t, int64_t, uint16_t);
 typedef void* (*pFWWW_t)(uint16_t, uint16_t, uint16_t);
 typedef void* (*pFuii_t)(uint64_t, int64_t, int64_t);
+typedef void* (*pFuui_t)(uint64_t, uint64_t, int64_t);
+typedef void* (*pFuuu_t)(uint64_t, uint64_t, uint64_t);
 typedef void* (*pFupi_t)(uint64_t, void*, int64_t);
 typedef void* (*pFupL_t)(uint64_t, void*, uintptr_t);
 typedef void* (*pFUpi_t)(uint64_t, void*, int64_t);
@@ -462,6 +510,7 @@ typedef void* (*pFddd_t)(double, double, double);
 typedef void* (*pFDip_t)(long double, int64_t, void*);
 typedef void* (*pFpii_t)(void*, int64_t, int64_t);
 typedef void* (*pFpiu_t)(void*, int64_t, uint64_t);
+typedef void* (*pFpid_t)(void*, int64_t, double);
 typedef void* (*pFpil_t)(void*, int64_t, intptr_t);
 typedef void* (*pFpiL_t)(void*, int64_t, uintptr_t);
 typedef void* (*pFpip_t)(void*, int64_t, void*);
@@ -472,11 +521,16 @@ typedef void* (*pFpuu_t)(void*, uint64_t, uint64_t);
 typedef void* (*pFpuL_t)(void*, uint64_t, uintptr_t);
 typedef void* (*pFpup_t)(void*, uint64_t, void*);
 typedef void* (*pFpUp_t)(void*, uint64_t, void*);
+typedef void* (*pFpdu_t)(void*, double, uint64_t);
+typedef void* (*pFplC_t)(void*, intptr_t, uint8_t);
+typedef void* (*pFplu_t)(void*, intptr_t, uint64_t);
+typedef void* (*pFpll_t)(void*, intptr_t, intptr_t);
 typedef void* (*pFplp_t)(void*, intptr_t, void*);
 typedef void* (*pFpLu_t)(void*, uintptr_t, uint64_t);
 typedef void* (*pFpLL_t)(void*, uintptr_t, uintptr_t);
 typedef void* (*pFpLp_t)(void*, uintptr_t, void*);
 typedef void* (*pFppi_t)(void*, void*, int64_t);
+typedef void* (*pFppC_t)(void*, void*, uint8_t);
 typedef void* (*pFppu_t)(void*, void*, uint64_t);
 typedef void* (*pFppf_t)(void*, void*, float);
 typedef void* (*pFppl_t)(void*, void*, intptr_t);
@@ -484,6 +538,7 @@ typedef void* (*pFppL_t)(void*, void*, uintptr_t);
 typedef void* (*pFppp_t)(void*, void*, void*);
 typedef void* (*pFpOM_t)(void*, int32_t, ...);
 typedef void* (*pFSpl_t)(void*, void*, intptr_t);
+typedef void (*vFEiip_t)(x64emu_t*, int64_t, int64_t, void*);
 typedef void (*vFEipp_t)(x64emu_t*, int64_t, void*, void*);
 typedef void (*vFEipV_t)(x64emu_t*, int64_t, void*, void*);
 typedef void (*vFEipA_t)(x64emu_t*, int64_t, void*, void*);
@@ -491,6 +546,8 @@ typedef void (*vFEpii_t)(x64emu_t*, void*, int64_t, int64_t);
 typedef void (*vFEpip_t)(x64emu_t*, void*, int64_t, void*);
 typedef void (*vFEpup_t)(x64emu_t*, void*, uint64_t, void*);
 typedef void (*vFEppp_t)(x64emu_t*, void*, void*, void*);
+typedef void (*vFEppV_t)(x64emu_t*, void*, void*, void*);
+typedef void (*vFEppA_t)(x64emu_t*, void*, void*, void*);
 typedef void (*vFiiii_t)(int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFiiip_t)(int64_t, int64_t, int64_t, void*);
 typedef void (*vFiIII_t)(int64_t, int64_t, int64_t, int64_t);
@@ -551,28 +608,46 @@ typedef void (*vFUUpi_t)(uint64_t, uint64_t, void*, int64_t);
 typedef void (*vFffff_t)(float, float, float, float);
 typedef void (*vFdddd_t)(double, double, double, double);
 typedef void (*vFpiii_t)(void*, int64_t, int64_t, int64_t);
+typedef void (*vFpiiu_t)(void*, int64_t, int64_t, uint64_t);
 typedef void (*vFpiip_t)(void*, int64_t, int64_t, void*);
+typedef void (*vFpiuu_t)(void*, int64_t, uint64_t, uint64_t);
 typedef void (*vFpiuL_t)(void*, int64_t, uint64_t, uintptr_t);
 typedef void (*vFpiup_t)(void*, int64_t, uint64_t, void*);
+typedef void (*vFpifi_t)(void*, int64_t, float, int64_t);
 typedef void (*vFpipi_t)(void*, int64_t, void*, int64_t);
 typedef void (*vFpipp_t)(void*, int64_t, void*, void*);
+typedef void (*vFpCiW_t)(void*, uint8_t, int64_t, uint16_t);
+typedef void (*vFpuip_t)(void*, uint64_t, int64_t, void*);
+typedef void (*vFpuui_t)(void*, uint64_t, uint64_t, int64_t);
 typedef void (*vFpuuu_t)(void*, uint64_t, uint64_t, uint64_t);
+typedef void (*vFpuup_t)(void*, uint64_t, uint64_t, void*);
 typedef void (*vFpudd_t)(void*, uint64_t, double, double);
 typedef void (*vFpupp_t)(void*, uint64_t, void*, void*);
 typedef void (*vFpdii_t)(void*, double, int64_t, int64_t);
+typedef void (*vFpddi_t)(void*, double, double, int64_t);
 typedef void (*vFpddd_t)(void*, double, double, double);
 typedef void (*vFpLLL_t)(void*, uintptr_t, uintptr_t, uintptr_t);
 typedef void (*vFppii_t)(void*, void*, int64_t, int64_t);
+typedef void (*vFppiu_t)(void*, void*, int64_t, uint64_t);
 typedef void (*vFppid_t)(void*, void*, int64_t, double);
+typedef void (*vFppiL_t)(void*, void*, int64_t, uintptr_t);
 typedef void (*vFppip_t)(void*, void*, int64_t, void*);
 typedef void (*vFppui_t)(void*, void*, uint64_t, int64_t);
 typedef void (*vFppuu_t)(void*, void*, uint64_t, uint64_t);
 typedef void (*vFppup_t)(void*, void*, uint64_t, void*);
+typedef void (*vFppfi_t)(void*, void*, float, int64_t);
+typedef void (*vFppdu_t)(void*, void*, double, uint64_t);
 typedef void (*vFppdd_t)(void*, void*, double, double);
+typedef void (*vFppdp_t)(void*, void*, double, void*);
+typedef void (*vFpplp_t)(void*, void*, intptr_t, void*);
 typedef void (*vFpppi_t)(void*, void*, void*, int64_t);
+typedef void (*vFpppI_t)(void*, void*, void*, int64_t);
 typedef void (*vFpppu_t)(void*, void*, void*, uint64_t);
+typedef void (*vFpppU_t)(void*, void*, void*, uint64_t);
+typedef void (*vFpppd_t)(void*, void*, void*, double);
 typedef void (*vFpppL_t)(void*, void*, void*, uintptr_t);
 typedef void (*vFpppp_t)(void*, void*, void*, void*);
+typedef void (*vFpppV_t)(void*, void*, void*, void*);
 typedef int8_t (*cFpiii_t)(void*, int64_t, int64_t, int64_t);
 typedef int64_t (*iFEiip_t)(x64emu_t*, int64_t, int64_t, void*);
 typedef int64_t (*iFEiiN_t)(x64emu_t*, int64_t, int64_t, ...);
@@ -614,6 +689,7 @@ typedef int64_t (*iFippi_t)(int64_t, void*, void*, int64_t);
 typedef int64_t (*iFippL_t)(int64_t, void*, void*, uintptr_t);
 typedef int64_t (*iFippp_t)(int64_t, void*, void*, void*);
 typedef int64_t (*iFipON_t)(int64_t, void*, int32_t, ...);
+typedef int64_t (*iFuipu_t)(uint64_t, int64_t, void*, uint64_t);
 typedef int64_t (*iFuipp_t)(uint64_t, int64_t, void*, void*);
 typedef int64_t (*iFuuff_t)(uint64_t, uint64_t, float, float);
 typedef int64_t (*iFuupi_t)(uint64_t, uint64_t, void*, int64_t);
@@ -636,6 +712,7 @@ typedef int64_t (*iFpipC_t)(void*, int64_t, void*, uint8_t);
 typedef int64_t (*iFpipu_t)(void*, int64_t, void*, uint64_t);
 typedef int64_t (*iFpipp_t)(void*, int64_t, void*, void*);
 typedef int64_t (*iFpipV_t)(void*, int64_t, void*, void*);
+typedef int64_t (*iFpIip_t)(void*, int64_t, int64_t, void*);
 typedef int64_t (*iFpCCC_t)(void*, uint8_t, uint8_t, uint8_t);
 typedef int64_t (*iFpWWu_t)(void*, uint16_t, uint16_t, uint64_t);
 typedef int64_t (*iFpuwp_t)(void*, uint64_t, int16_t, void*);
@@ -646,6 +723,7 @@ typedef int64_t (*iFpuuu_t)(void*, uint64_t, uint64_t, uint64_t);
 typedef int64_t (*iFpuup_t)(void*, uint64_t, uint64_t, void*);
 typedef int64_t (*iFpuLL_t)(void*, uint64_t, uintptr_t, uintptr_t);
 typedef int64_t (*iFpuLp_t)(void*, uint64_t, uintptr_t, void*);
+typedef int64_t (*iFpupi_t)(void*, uint64_t, void*, int64_t);
 typedef int64_t (*iFpupu_t)(void*, uint64_t, void*, uint64_t);
 typedef int64_t (*iFpupL_t)(void*, uint64_t, void*, uintptr_t);
 typedef int64_t (*iFpupp_t)(void*, uint64_t, void*, void*);
@@ -682,8 +760,12 @@ typedef int64_t (*iFpppp_t)(void*, void*, void*, void*);
 typedef int64_t (*IFEpIi_t)(x64emu_t*, void*, int64_t, int64_t);
 typedef int64_t (*IFpIip_t)(void*, int64_t, int64_t, void*);
 typedef int64_t (*IFppip_t)(void*, void*, int64_t, void*);
+typedef int64_t (*IFpppp_t)(void*, void*, void*, void*);
 typedef int64_t (*IFSIii_t)(void*, int64_t, int64_t, int64_t);
+typedef uint64_t (*uFEipp_t)(x64emu_t*, int64_t, void*, void*);
+typedef uint64_t (*uFEupp_t)(x64emu_t*, uint64_t, void*, void*);
 typedef uint64_t (*uFEpup_t)(x64emu_t*, void*, uint64_t, void*);
+typedef uint64_t (*uFEppp_t)(x64emu_t*, void*, void*, void*);
 typedef uint64_t (*uFifff_t)(int64_t, float, float, float);
 typedef uint64_t (*uFuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t);
 typedef uint64_t (*uFpipu_t)(void*, int64_t, void*, uint64_t);
@@ -692,10 +774,13 @@ typedef uint64_t (*uFpCCC_t)(void*, uint8_t, uint8_t, uint8_t);
 typedef uint64_t (*uFpuip_t)(void*, uint64_t, int64_t, void*);
 typedef uint64_t (*uFpuuu_t)(void*, uint64_t, uint64_t, uint64_t);
 typedef uint64_t (*uFppiu_t)(void*, void*, int64_t, uint64_t);
+typedef uint64_t (*uFppLp_t)(void*, void*, uintptr_t, void*);
 typedef uint64_t (*uFpppi_t)(void*, void*, void*, int64_t);
 typedef uint64_t (*uFpppp_t)(void*, void*, void*, void*);
 typedef uint64_t (*UFpipp_t)(void*, int64_t, void*, void*);
 typedef uint64_t (*UFppip_t)(void*, void*, int64_t, void*);
+typedef uint64_t (*UFpppp_t)(void*, void*, void*, void*);
+typedef double (*dFpppp_t)(void*, void*, void*, void*);
 typedef intptr_t (*lFEpip_t)(x64emu_t*, void*, int64_t, void*);
 typedef intptr_t (*lFEppL_t)(x64emu_t*, void*, void*, uintptr_t);
 typedef intptr_t (*lFEppp_t)(x64emu_t*, void*, void*, void*);
@@ -716,6 +801,7 @@ typedef intptr_t (*lFppii_t)(void*, void*, int64_t, int64_t);
 typedef intptr_t (*lFppip_t)(void*, void*, int64_t, void*);
 typedef intptr_t (*lFpppL_t)(void*, void*, void*, uintptr_t);
 typedef uintptr_t (*LFippL_t)(int64_t, void*, void*, uintptr_t);
+typedef uintptr_t (*LFippp_t)(int64_t, void*, void*, void*);
 typedef uintptr_t (*LFpuuu_t)(void*, uint64_t, uint64_t, uint64_t);
 typedef uintptr_t (*LFpLLp_t)(void*, uintptr_t, uintptr_t, void*);
 typedef uintptr_t (*LFpLpp_t)(void*, uintptr_t, void*, void*);
@@ -723,21 +809,29 @@ typedef uintptr_t (*LFppii_t)(void*, void*, int64_t, int64_t);
 typedef uintptr_t (*LFppip_t)(void*, void*, int64_t, void*);
 typedef uintptr_t (*LFppLL_t)(void*, void*, uintptr_t, uintptr_t);
 typedef uintptr_t (*LFppLp_t)(void*, void*, uintptr_t, void*);
+typedef uintptr_t (*LFpppi_t)(void*, void*, void*, int64_t);
 typedef uintptr_t (*LFpppp_t)(void*, void*, void*, void*);
 typedef void* (*pFEipp_t)(x64emu_t*, int64_t, void*, void*);
+typedef void* (*pFEipV_t)(x64emu_t*, int64_t, void*, void*);
+typedef void* (*pFEipA_t)(x64emu_t*, int64_t, void*, void*);
 typedef void* (*pFEupp_t)(x64emu_t*, uint64_t, void*, void*);
 typedef void* (*pFEpii_t)(x64emu_t*, void*, int64_t, int64_t);
 typedef void* (*pFEpip_t)(x64emu_t*, void*, int64_t, void*);
 typedef void* (*pFEppi_t)(x64emu_t*, void*, void*, int64_t);
 typedef void* (*pFEppp_t)(x64emu_t*, void*, void*, void*);
+typedef void* (*pFEppV_t)(x64emu_t*, void*, void*, void*);
 typedef void* (*pFiiii_t)(int64_t, int64_t, int64_t, int64_t);
 typedef void* (*pFiiiu_t)(int64_t, int64_t, int64_t, uint64_t);
+typedef void* (*pFiiuu_t)(int64_t, int64_t, uint64_t, uint64_t);
 typedef void* (*pFiiup_t)(int64_t, int64_t, uint64_t, void*);
+typedef void* (*pFipii_t)(int64_t, void*, int64_t, int64_t);
+typedef void* (*pFipip_t)(int64_t, void*, int64_t, void*);
 typedef void* (*pFippi_t)(int64_t, void*, void*, int64_t);
 typedef void* (*pFippu_t)(int64_t, void*, void*, uint64_t);
 typedef void* (*pFuiii_t)(uint64_t, int64_t, int64_t, int64_t);
 typedef void* (*pFulli_t)(uint64_t, intptr_t, intptr_t, int64_t);
 typedef void* (*pFullu_t)(uint64_t, intptr_t, intptr_t, uint64_t);
+typedef void* (*pFffff_t)(float, float, float, float);
 typedef void* (*pFdipp_t)(double, int64_t, void*, void*);
 typedef void* (*pFdddd_t)(double, double, double, double);
 typedef void* (*pFDipp_t)(long double, int64_t, void*, void*);
@@ -747,35 +841,49 @@ typedef void* (*pFpiip_t)(void*, int64_t, int64_t, void*);
 typedef void* (*pFpiuu_t)(void*, int64_t, uint64_t, uint64_t);
 typedef void* (*pFpiLL_t)(void*, int64_t, uintptr_t, uintptr_t);
 typedef void* (*pFpipi_t)(void*, int64_t, void*, int64_t);
+typedef void* (*pFpipd_t)(void*, int64_t, void*, double);
 typedef void* (*pFpipp_t)(void*, int64_t, void*, void*);
+typedef void* (*pFpipV_t)(void*, int64_t, void*, void*);
 typedef void* (*pFpCWp_t)(void*, uint8_t, uint16_t, void*);
 typedef void* (*pFpCuW_t)(void*, uint8_t, uint64_t, uint16_t);
 typedef void* (*pFpCuu_t)(void*, uint8_t, uint64_t, uint64_t);
 typedef void* (*pFpuii_t)(void*, uint64_t, int64_t, int64_t);
+typedef void* (*pFpuip_t)(void*, uint64_t, int64_t, void*);
 typedef void* (*pFpuWp_t)(void*, uint64_t, uint16_t, void*);
 typedef void* (*pFpuuC_t)(void*, uint64_t, uint64_t, uint8_t);
 typedef void* (*pFpuuu_t)(void*, uint64_t, uint64_t, uint64_t);
 typedef void* (*pFpuup_t)(void*, uint64_t, uint64_t, void*);
 typedef void* (*pFpupi_t)(void*, uint64_t, void*, int64_t);
+typedef void* (*pFpupu_t)(void*, uint64_t, void*, uint64_t);
+typedef void* (*pFplpl_t)(void*, intptr_t, void*, intptr_t);
 typedef void* (*pFplpp_t)(void*, intptr_t, void*, void*);
 typedef void* (*pFpLip_t)(void*, uintptr_t, int64_t, void*);
 typedef void* (*pFpLpL_t)(void*, uintptr_t, void*, uintptr_t);
 typedef void* (*pFppii_t)(void*, void*, int64_t, int64_t);
+typedef void* (*pFppiu_t)(void*, void*, int64_t, uint64_t);
 typedef void* (*pFppiL_t)(void*, void*, int64_t, uintptr_t);
 typedef void* (*pFppip_t)(void*, void*, int64_t, void*);
 typedef void* (*pFppuW_t)(void*, void*, uint64_t, uint16_t);
 typedef void* (*pFppuu_t)(void*, void*, uint64_t, uint64_t);
 typedef void* (*pFppuL_t)(void*, void*, uint64_t, uintptr_t);
 typedef void* (*pFppup_t)(void*, void*, uint64_t, void*);
+typedef void* (*pFppdd_t)(void*, void*, double, double);
 typedef void* (*pFppLL_t)(void*, void*, uintptr_t, uintptr_t);
+typedef void* (*pFppLp_t)(void*, void*, uintptr_t, void*);
 typedef void* (*pFpppi_t)(void*, void*, void*, int64_t);
 typedef void* (*pFpppu_t)(void*, void*, void*, uint64_t);
 typedef void* (*pFpppL_t)(void*, void*, void*, uintptr_t);
 typedef void* (*pFpppp_t)(void*, void*, void*, void*);
 typedef void* (*pFSppi_t)(void*, void*, void*, int64_t);
 typedef void (*vFEiipV_t)(x64emu_t*, int64_t, int64_t, void*, void*);
+typedef void (*vFEippp_t)(x64emu_t*, int64_t, void*, void*, void*);
 typedef void (*vFEpuup_t)(x64emu_t*, void*, uint64_t, uint64_t, void*);
+typedef void (*vFEpuuV_t)(x64emu_t*, void*, uint64_t, uint64_t, void*);
+typedef void (*vFEpupp_t)(x64emu_t*, void*, uint64_t, void*, void*);
+typedef void (*vFEpupA_t)(x64emu_t*, void*, uint64_t, void*, void*);
 typedef void (*vFEpLLp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*);
+typedef void (*vFEppip_t)(x64emu_t*, void*, void*, int64_t, void*);
+typedef void (*vFEppup_t)(x64emu_t*, void*, void*, uint64_t, void*);
 typedef void (*vFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
 typedef void (*vFiiiii_t)(int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFiiiiu_t)(int64_t, int64_t, int64_t, int64_t, uint64_t);
@@ -845,25 +953,42 @@ typedef void (*vFUUppp_t)(uint64_t, uint64_t, void*, void*, void*);
 typedef void (*vFfffff_t)(float, float, float, float, float);
 typedef void (*vFddddp_t)(double, double, double, double, void*);
 typedef void (*vFpiiii_t)(void*, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFpiiiu_t)(void*, int64_t, int64_t, int64_t, uint64_t);
+typedef void (*vFpiiff_t)(void*, int64_t, int64_t, float, float);
 typedef void (*vFpiipp_t)(void*, int64_t, int64_t, void*, void*);
 typedef void (*vFpipii_t)(void*, int64_t, void*, int64_t, int64_t);
+typedef void (*vFpipiu_t)(void*, int64_t, void*, int64_t, uint64_t);
+typedef void (*vFpuiip_t)(void*, uint64_t, int64_t, int64_t, void*);
 typedef void (*vFpuipp_t)(void*, uint64_t, int64_t, void*, void*);
+typedef void (*vFpuipV_t)(void*, uint64_t, int64_t, void*, void*);
+typedef void (*vFpuuuu_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef void (*vFpuddd_t)(void*, uint64_t, double, double, double);
+typedef void (*vFpffff_t)(void*, float, float, float, float);
 typedef void (*vFpddii_t)(void*, double, double, int64_t, int64_t);
 typedef void (*vFpdddd_t)(void*, double, double, double, double);
+typedef void (*vFpddpp_t)(void*, double, double, void*, void*);
 typedef void (*vFpliil_t)(void*, intptr_t, int64_t, int64_t, intptr_t);
 typedef void (*vFppiii_t)(void*, void*, int64_t, int64_t, int64_t);
+typedef void (*vFppiiu_t)(void*, void*, int64_t, int64_t, uint64_t);
 typedef void (*vFppiip_t)(void*, void*, int64_t, int64_t, void*);
 typedef void (*vFppiup_t)(void*, void*, int64_t, uint64_t, void*);
+typedef void (*vFppiff_t)(void*, void*, int64_t, float, float);
+typedef void (*vFppipi_t)(void*, void*, int64_t, void*, int64_t);
 typedef void (*vFppipp_t)(void*, void*, int64_t, void*, void*);
 typedef void (*vFppWui_t)(void*, void*, uint16_t, uint64_t, int64_t);
 typedef void (*vFppuui_t)(void*, void*, uint64_t, uint64_t, int64_t);
+typedef void (*vFppupi_t)(void*, void*, uint64_t, void*, int64_t);
+typedef void (*vFppupp_t)(void*, void*, uint64_t, void*, void*);
 typedef void (*vFpppii_t)(void*, void*, void*, int64_t, int64_t);
 typedef void (*vFpppip_t)(void*, void*, void*, int64_t, void*);
+typedef void (*vFpppuu_t)(void*, void*, void*, uint64_t, uint64_t);
 typedef void (*vFppppi_t)(void*, void*, void*, void*, int64_t);
 typedef void (*vFppppu_t)(void*, void*, void*, void*, uint64_t);
+typedef void (*vFppppL_t)(void*, void*, void*, void*, uintptr_t);
 typedef void (*vFppppp_t)(void*, void*, void*, void*, void*);
+typedef int64_t (*iFEiipp_t)(x64emu_t*, int64_t, int64_t, void*, void*);
 typedef int64_t (*iFEiipV_t)(x64emu_t*, int64_t, int64_t, void*, void*);
+typedef int64_t (*iFEippi_t)(x64emu_t*, int64_t, void*, void*, int64_t);
 typedef int64_t (*iFEippp_t)(x64emu_t*, int64_t, void*, void*, void*);
 typedef int64_t (*iFEpiii_t)(x64emu_t*, void*, int64_t, int64_t, int64_t);
 typedef int64_t (*iFEpipi_t)(x64emu_t*, void*, int64_t, void*, int64_t);
@@ -908,6 +1033,8 @@ typedef int64_t (*iFpiipp_t)(void*, int64_t, int64_t, void*, void*);
 typedef int64_t (*iFpiuwp_t)(void*, int64_t, uint64_t, int16_t, void*);
 typedef int64_t (*iFpipii_t)(void*, int64_t, void*, int64_t, int64_t);
 typedef int64_t (*iFpipiL_t)(void*, int64_t, void*, int64_t, uintptr_t);
+typedef int64_t (*iFpipip_t)(void*, int64_t, void*, int64_t, void*);
+typedef int64_t (*iFpippi_t)(void*, int64_t, void*, void*, int64_t);
 typedef int64_t (*iFpippW_t)(void*, int64_t, void*, void*, uint16_t);
 typedef int64_t (*iFpippp_t)(void*, int64_t, void*, void*, void*);
 typedef int64_t (*iFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
@@ -916,9 +1043,11 @@ typedef int64_t (*iFpuuui_t)(void*, uint64_t, uint64_t, uint64_t, int64_t);
 typedef int64_t (*iFpuuup_t)(void*, uint64_t, uint64_t, uint64_t, void*);
 typedef int64_t (*iFpuuLL_t)(void*, uint64_t, uint64_t, uintptr_t, uintptr_t);
 typedef int64_t (*iFpuupp_t)(void*, uint64_t, uint64_t, void*, void*);
+typedef int64_t (*iFpuppp_t)(void*, uint64_t, void*, void*, void*);
 typedef int64_t (*iFplluu_t)(void*, intptr_t, intptr_t, uint64_t, uint64_t);
 typedef int64_t (*iFpLiLi_t)(void*, uintptr_t, int64_t, uintptr_t, int64_t);
 typedef int64_t (*iFpLlpp_t)(void*, uintptr_t, intptr_t, void*, void*);
+typedef int64_t (*iFppiiu_t)(void*, void*, int64_t, int64_t, uint64_t);
 typedef int64_t (*iFppiip_t)(void*, void*, int64_t, int64_t, void*);
 typedef int64_t (*iFppiup_t)(void*, void*, int64_t, uint64_t, void*);
 typedef int64_t (*iFppiLi_t)(void*, void*, int64_t, uintptr_t, int64_t);
@@ -929,20 +1058,27 @@ typedef int64_t (*iFppuip_t)(void*, void*, uint64_t, int64_t, void*);
 typedef int64_t (*iFppupi_t)(void*, void*, uint64_t, void*, int64_t);
 typedef int64_t (*iFppupp_t)(void*, void*, uint64_t, void*, void*);
 typedef int64_t (*iFppllp_t)(void*, void*, intptr_t, intptr_t, void*);
+typedef int64_t (*iFpplpp_t)(void*, void*, intptr_t, void*, void*);
+typedef int64_t (*iFppLip_t)(void*, void*, uintptr_t, int64_t, void*);
 typedef int64_t (*iFppLpi_t)(void*, void*, uintptr_t, void*, int64_t);
 typedef int64_t (*iFppLpL_t)(void*, void*, uintptr_t, void*, uintptr_t);
 typedef int64_t (*iFppLpp_t)(void*, void*, uintptr_t, void*, void*);
 typedef int64_t (*iFpppii_t)(void*, void*, void*, int64_t, int64_t);
 typedef int64_t (*iFpppiL_t)(void*, void*, void*, int64_t, uintptr_t);
 typedef int64_t (*iFpppip_t)(void*, void*, void*, int64_t, void*);
+typedef int64_t (*iFpppui_t)(void*, void*, void*, uint64_t, int64_t);
 typedef int64_t (*iFpppLi_t)(void*, void*, void*, uintptr_t, int64_t);
 typedef int64_t (*iFpppLp_t)(void*, void*, void*, uintptr_t, void*);
 typedef int64_t (*iFppppi_t)(void*, void*, void*, void*, int64_t);
 typedef int64_t (*iFppppL_t)(void*, void*, void*, void*, uintptr_t);
 typedef int64_t (*iFppppp_t)(void*, void*, void*, void*, void*);
 typedef int64_t (*IFppIII_t)(void*, void*, int64_t, int64_t, int64_t);
+typedef uint64_t (*uFEippp_t)(x64emu_t*, int64_t, void*, void*, void*);
+typedef uint64_t (*uFEpipp_t)(x64emu_t*, void*, int64_t, void*, void*);
 typedef uint64_t (*uFEppuu_t)(x64emu_t*, void*, void*, uint64_t, uint64_t);
+typedef uint64_t (*uFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
 typedef uint64_t (*uFiuuuu_t)(int64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef uint64_t (*uFipipp_t)(int64_t, void*, int64_t, void*, void*);
 typedef uint64_t (*uFuiiiu_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t);
 typedef uint64_t (*uFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
 typedef uint64_t (*uFpuuuu_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t);
@@ -950,12 +1086,15 @@ typedef uint64_t (*uFppiip_t)(void*, void*, int64_t, int64_t, void*);
 typedef uint64_t (*uFppipp_t)(void*, void*, int64_t, void*, void*);
 typedef uint64_t (*uFppupp_t)(void*, void*, uint64_t, void*, void*);
 typedef uint64_t (*uFpplip_t)(void*, void*, intptr_t, int64_t, void*);
+typedef uint64_t (*uFppLpp_t)(void*, void*, uintptr_t, void*, void*);
 typedef uint64_t (*uFppppu_t)(void*, void*, void*, void*, uint64_t);
 typedef uint64_t (*uFppppp_t)(void*, void*, void*, void*, void*);
 typedef uint64_t (*UFuiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t);
 typedef intptr_t (*lFipili_t)(int64_t, void*, int64_t, intptr_t, int64_t);
 typedef intptr_t (*lFipLli_t)(int64_t, void*, uintptr_t, intptr_t, int64_t);
 typedef intptr_t (*lFipLLi_t)(int64_t, void*, uintptr_t, uintptr_t, int64_t);
+typedef uintptr_t (*LFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
+typedef uintptr_t (*LFpuppi_t)(void*, uint64_t, void*, void*, int64_t);
 typedef uintptr_t (*LFpLLLp_t)(void*, uintptr_t, uintptr_t, uintptr_t, void*);
 typedef uintptr_t (*LFpLppL_t)(void*, uintptr_t, void*, void*, uintptr_t);
 typedef uintptr_t (*LFpLppp_t)(void*, uintptr_t, void*, void*, void*);
@@ -972,13 +1111,17 @@ typedef void* (*pFEppLp_t)(x64emu_t*, void*, void*, uintptr_t, void*);
 typedef void* (*pFEpppi_t)(x64emu_t*, void*, void*, void*, int64_t);
 typedef void* (*pFEpppu_t)(x64emu_t*, void*, void*, void*, uint64_t);
 typedef void* (*pFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
+typedef void* (*pFiiiii_t)(int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void* (*pFipipL_t)(int64_t, void*, int64_t, void*, uintptr_t);
+typedef void* (*pFipppu_t)(int64_t, void*, void*, void*, uint64_t);
 typedef void* (*pFuiiiu_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t);
 typedef void* (*pFuiipp_t)(uint64_t, int64_t, int64_t, void*, void*);
 typedef void* (*pFpiiii_t)(void*, int64_t, int64_t, int64_t, int64_t);
+typedef void* (*pFpiiip_t)(void*, int64_t, int64_t, int64_t, void*);
 typedef void* (*pFpiiuu_t)(void*, int64_t, int64_t, uint64_t, uint64_t);
 typedef void* (*pFpiipi_t)(void*, int64_t, int64_t, void*, int64_t);
 typedef void* (*pFpiipp_t)(void*, int64_t, int64_t, void*, void*);
+typedef void* (*pFpiCCC_t)(void*, int64_t, uint8_t, uint8_t, uint8_t);
 typedef void* (*pFpiuuu_t)(void*, int64_t, uint64_t, uint64_t, uint64_t);
 typedef void* (*pFpippi_t)(void*, int64_t, void*, void*, int64_t);
 typedef void* (*pFpippp_t)(void*, int64_t, void*, void*, void*);
@@ -991,22 +1134,31 @@ typedef void* (*pFpuuip_t)(void*, uint64_t, uint64_t, int64_t, void*);
 typedef void* (*pFpuuWW_t)(void*, uint64_t, uint64_t, uint16_t, uint16_t);
 typedef void* (*pFpuuup_t)(void*, uint64_t, uint64_t, uint64_t, void*);
 typedef void* (*pFpdddd_t)(void*, double, double, double, double);
+typedef void* (*pFplppp_t)(void*, intptr_t, void*, void*, void*);
 typedef void* (*pFppiii_t)(void*, void*, int64_t, int64_t, int64_t);
 typedef void* (*pFppiip_t)(void*, void*, int64_t, int64_t, void*);
+typedef void* (*pFppiup_t)(void*, void*, int64_t, uint64_t, void*);
 typedef void* (*pFppipi_t)(void*, void*, int64_t, void*, int64_t);
 typedef void* (*pFppipp_t)(void*, void*, int64_t, void*, void*);
 typedef void* (*pFppuuu_t)(void*, void*, uint64_t, uint64_t, uint64_t);
 typedef void* (*pFppuup_t)(void*, void*, uint64_t, uint64_t, void*);
+typedef void* (*pFppddi_t)(void*, void*, double, double, int64_t);
 typedef void* (*pFppLLp_t)(void*, void*, uintptr_t, uintptr_t, void*);
+typedef void* (*pFpppii_t)(void*, void*, void*, int64_t, int64_t);
 typedef void* (*pFpppip_t)(void*, void*, void*, int64_t, void*);
+typedef void* (*pFpppui_t)(void*, void*, void*, uint64_t, int64_t);
 typedef void* (*pFpppuu_t)(void*, void*, void*, uint64_t, uint64_t);
 typedef void* (*pFpppup_t)(void*, void*, void*, uint64_t, void*);
 typedef void* (*pFpppLi_t)(void*, void*, void*, uintptr_t, int64_t);
 typedef void* (*pFppppi_t)(void*, void*, void*, void*, int64_t);
 typedef void* (*pFppppp_t)(void*, void*, void*, void*, void*);
 typedef void (*vFEiiipp_t)(x64emu_t*, int64_t, int64_t, int64_t, void*, void*);
+typedef void (*vFEpiLpp_t)(x64emu_t*, void*, int64_t, uintptr_t, void*, void*);
+typedef void (*vFEpippp_t)(x64emu_t*, void*, int64_t, void*, void*, void*);
 typedef void (*vFEpuipp_t)(x64emu_t*, void*, uint64_t, int64_t, void*, void*);
 typedef void (*vFEpLLpp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*, void*);
+typedef void (*vFEppipV_t)(x64emu_t*, void*, void*, int64_t, void*, void*);
+typedef void (*vFEppupp_t)(x64emu_t*, void*, void*, uint64_t, void*, void*);
 typedef void (*vFEppppp_t)(x64emu_t*, void*, void*, void*, void*, void*);
 typedef void (*vFiiiiii_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFiiiuil_t)(int64_t, int64_t, int64_t, uint64_t, int64_t, intptr_t);
@@ -1064,32 +1216,46 @@ typedef void (*vFuppppp_t)(uint64_t, void*, void*, void*, void*, void*);
 typedef void (*vFffffff_t)(float, float, float, float, float, float);
 typedef void (*vFdddddd_t)(double, double, double, double, double, double);
 typedef void (*vFpiiiii_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFpiiipp_t)(void*, int64_t, int64_t, int64_t, void*, void*);
 typedef void (*vFpiiuuu_t)(void*, int64_t, int64_t, uint64_t, uint64_t, uint64_t);
 typedef void (*vFpiippp_t)(void*, int64_t, int64_t, void*, void*, void*);
 typedef void (*vFpipipV_t)(void*, int64_t, void*, int64_t, void*, void*);
 typedef void (*vFpipppi_t)(void*, int64_t, void*, void*, void*, int64_t);
+typedef void (*vFpuiiiu_t)(void*, uint64_t, int64_t, int64_t, int64_t, uint64_t);
+typedef void (*vFpuiipp_t)(void*, uint64_t, int64_t, int64_t, void*, void*);
 typedef void (*vFpudddd_t)(void*, uint64_t, double, double, double, double);
 typedef void (*vFpdddii_t)(void*, double, double, double, int64_t, int64_t);
 typedef void (*vFpddddd_t)(void*, double, double, double, double, double);
 typedef void (*vFppiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFppiiip_t)(void*, void*, int64_t, int64_t, int64_t, void*);
+typedef void (*vFppiiui_t)(void*, void*, int64_t, int64_t, uint64_t, int64_t);
 typedef void (*vFppiipi_t)(void*, void*, int64_t, int64_t, void*, int64_t);
+typedef void (*vFppiipp_t)(void*, void*, int64_t, int64_t, void*, void*);
 typedef void (*vFppilpp_t)(void*, void*, int64_t, intptr_t, void*, void*);
 typedef void (*vFppippi_t)(void*, void*, int64_t, void*, void*, int64_t);
 typedef void (*vFppippp_t)(void*, void*, int64_t, void*, void*, void*);
+typedef void (*vFppuuuu_t)(void*, void*, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef void (*vFppupii_t)(void*, void*, uint64_t, void*, int64_t, int64_t);
+typedef void (*vFppuppp_t)(void*, void*, uint64_t, void*, void*, void*);
+typedef void (*vFppdidd_t)(void*, void*, double, int64_t, double, double);
 typedef void (*vFpplppi_t)(void*, void*, intptr_t, void*, void*, int64_t);
 typedef void (*vFpplppp_t)(void*, void*, intptr_t, void*, void*, void*);
 typedef void (*vFppLppi_t)(void*, void*, uintptr_t, void*, void*, int64_t);
 typedef void (*vFppLppp_t)(void*, void*, uintptr_t, void*, void*, void*);
 typedef void (*vFpppiii_t)(void*, void*, void*, int64_t, int64_t, int64_t);
 typedef void (*vFpppiip_t)(void*, void*, void*, int64_t, int64_t, void*);
+typedef void (*vFpppiff_t)(void*, void*, void*, int64_t, float, float);
 typedef void (*vFpppipu_t)(void*, void*, void*, int64_t, void*, uint64_t);
+typedef void (*vFpppuii_t)(void*, void*, void*, uint64_t, int64_t, int64_t);
 typedef void (*vFppppii_t)(void*, void*, void*, void*, int64_t, int64_t);
 typedef void (*vFpppppi_t)(void*, void*, void*, void*, void*, int64_t);
+typedef void (*vFpppppu_t)(void*, void*, void*, void*, void*, uint64_t);
+typedef void (*vFpppppL_t)(void*, void*, void*, void*, void*, uintptr_t);
 typedef void (*vFpppppp_t)(void*, void*, void*, void*, void*, void*);
 typedef int8_t (*cFppLppi_t)(void*, void*, uintptr_t, void*, void*, int64_t);
 typedef int64_t (*iFEiippi_t)(x64emu_t*, int64_t, int64_t, void*, void*, int64_t);
+typedef int64_t (*iFEiippp_t)(x64emu_t*, int64_t, int64_t, void*, void*, void*);
+typedef int64_t (*iFEipppi_t)(x64emu_t*, int64_t, void*, void*, void*, int64_t);
 typedef int64_t (*iFElpppp_t)(x64emu_t*, intptr_t, void*, void*, void*, void*);
 typedef int64_t (*iFEpiipp_t)(x64emu_t*, void*, int64_t, int64_t, void*, void*);
 typedef int64_t (*iFEpiipV_t)(x64emu_t*, void*, int64_t, int64_t, void*, void*);
@@ -1112,9 +1278,11 @@ typedef int64_t (*iFlpippp_t)(intptr_t, void*, int64_t, void*, void*, void*);
 typedef int64_t (*iFLppipp_t)(uintptr_t, void*, void*, int64_t, void*, void*);
 typedef int64_t (*iFpiiiii_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef int64_t (*iFpiiipp_t)(void*, int64_t, int64_t, int64_t, void*, void*);
+typedef int64_t (*iFpiippu_t)(void*, int64_t, int64_t, void*, void*, uint64_t);
 typedef int64_t (*iFpiippp_t)(void*, int64_t, int64_t, void*, void*, void*);
 typedef int64_t (*iFpiuuup_t)(void*, int64_t, uint64_t, uint64_t, uint64_t, void*);
 typedef int64_t (*iFpiuupp_t)(void*, int64_t, uint64_t, uint64_t, void*, void*);
+typedef int64_t (*iFpipipi_t)(void*, int64_t, void*, int64_t, void*, int64_t);
 typedef int64_t (*iFpippip_t)(void*, int64_t, void*, void*, int64_t, void*);
 typedef int64_t (*iFpipppL_t)(void*, int64_t, void*, void*, void*, uintptr_t);
 typedef int64_t (*iFpipppp_t)(void*, int64_t, void*, void*, void*, void*);
@@ -1122,16 +1290,24 @@ typedef int64_t (*iFpWpppp_t)(void*, uint16_t, void*, void*, void*, void*);
 typedef int64_t (*iFpuiCpp_t)(void*, uint64_t, int64_t, uint8_t, void*, void*);
 typedef int64_t (*iFpuippp_t)(void*, uint64_t, int64_t, void*, void*, void*);
 typedef int64_t (*iFpupuui_t)(void*, uint64_t, void*, uint64_t, uint64_t, int64_t);
+typedef int64_t (*iFppiiip_t)(void*, void*, int64_t, int64_t, int64_t, void*);
 typedef int64_t (*iFppiiuu_t)(void*, void*, int64_t, int64_t, uint64_t, uint64_t);
 typedef int64_t (*iFppiipi_t)(void*, void*, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFppiipp_t)(void*, void*, int64_t, int64_t, void*, void*);
 typedef int64_t (*iFppipii_t)(void*, void*, int64_t, void*, int64_t, int64_t);
 typedef int64_t (*iFppipiL_t)(void*, void*, int64_t, void*, int64_t, uintptr_t);
+typedef int64_t (*iFppipip_t)(void*, void*, int64_t, void*, int64_t, void*);
+typedef int64_t (*iFppIipp_t)(void*, void*, int64_t, int64_t, void*, void*);
 typedef int64_t (*iFppIppp_t)(void*, void*, int64_t, void*, void*, void*);
 typedef int64_t (*iFppuiii_t)(void*, void*, uint64_t, int64_t, int64_t, int64_t);
 typedef int64_t (*iFppuiiL_t)(void*, void*, uint64_t, int64_t, int64_t, uintptr_t);
+typedef int64_t (*iFppuipp_t)(void*, void*, uint64_t, int64_t, void*, void*);
 typedef int64_t (*iFppuIII_t)(void*, void*, uint64_t, int64_t, int64_t, int64_t);
 typedef int64_t (*iFppuupp_t)(void*, void*, uint64_t, uint64_t, void*, void*);
 typedef int64_t (*iFppupip_t)(void*, void*, uint64_t, void*, int64_t, void*);
+typedef int64_t (*iFppuppp_t)(void*, void*, uint64_t, void*, void*, void*);
+typedef int64_t (*iFppUipp_t)(void*, void*, uint64_t, int64_t, void*, void*);
+typedef int64_t (*iFppdidd_t)(void*, void*, double, int64_t, double, double);
 typedef int64_t (*iFpplppi_t)(void*, void*, intptr_t, void*, void*, int64_t);
 typedef int64_t (*iFppLupp_t)(void*, void*, uintptr_t, uint64_t, void*, void*);
 typedef int64_t (*iFppLpLp_t)(void*, void*, uintptr_t, void*, uintptr_t, void*);
@@ -1147,8 +1323,11 @@ typedef int64_t (*iFppppup_t)(void*, void*, void*, void*, uint64_t, void*);
 typedef int64_t (*iFpppppi_t)(void*, void*, void*, void*, void*, int64_t);
 typedef int64_t (*iFpppppL_t)(void*, void*, void*, void*, void*, uintptr_t);
 typedef int64_t (*iFpppppp_t)(void*, void*, void*, void*, void*, void*);
+typedef uint64_t (*uFEiippp_t)(x64emu_t*, int64_t, int64_t, void*, void*, void*);
+typedef uint64_t (*uFEiuppp_t)(x64emu_t*, int64_t, uint64_t, void*, void*, void*);
 typedef uint64_t (*uFpippup_t)(void*, int64_t, void*, void*, uint64_t, void*);
 typedef uint64_t (*uFpuippp_t)(void*, uint64_t, int64_t, void*, void*, void*);
+typedef uint64_t (*uFppippp_t)(void*, void*, int64_t, void*, void*, void*);
 typedef uint64_t (*uFpppppi_t)(void*, void*, void*, void*, void*, int64_t);
 typedef uint64_t (*uFpppppp_t)(void*, void*, void*, void*, void*, void*);
 typedef uint64_t (*UFpippup_t)(void*, int64_t, void*, void*, uint64_t, void*);
@@ -1157,7 +1336,9 @@ typedef intptr_t (*lFipipLu_t)(int64_t, void*, int64_t, void*, uintptr_t, uint64
 typedef intptr_t (*lFipLipu_t)(int64_t, void*, uintptr_t, int64_t, void*, uint64_t);
 typedef intptr_t (*lFipLipp_t)(int64_t, void*, uintptr_t, int64_t, void*, void*);
 typedef intptr_t (*lFipLpLL_t)(int64_t, void*, uintptr_t, void*, uintptr_t, uintptr_t);
+typedef uintptr_t (*LFEupppp_t)(x64emu_t*, uint64_t, void*, void*, void*, void*);
 typedef uintptr_t (*LFpipipi_t)(void*, int64_t, void*, int64_t, void*, int64_t);
+typedef uintptr_t (*LFpLippp_t)(void*, uintptr_t, int64_t, void*, void*, void*);
 typedef uintptr_t (*LFSpLiip_t)(void*, void*, uintptr_t, int64_t, int64_t, void*);
 typedef void* (*pFEpippp_t)(x64emu_t*, void*, int64_t, void*, void*, void*);
 typedef void* (*pFEpuipp_t)(x64emu_t*, void*, uint64_t, int64_t, void*, void*);
@@ -1180,13 +1361,21 @@ typedef void* (*pFpCuuWW_t)(void*, uint8_t, uint64_t, uint64_t, uint16_t, uint16
 typedef void* (*pFpCuuup_t)(void*, uint8_t, uint64_t, uint64_t, uint64_t, void*);
 typedef void* (*pFpuuwwu_t)(void*, uint64_t, uint64_t, int16_t, int16_t, uint64_t);
 typedef void* (*pFpuuuuu_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void* (*pFplpppp_t)(void*, intptr_t, void*, void*, void*, void*);
 typedef void* (*pFppiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void* (*pFppiipp_t)(void*, void*, int64_t, int64_t, void*, void*);
 typedef void* (*pFppiCCC_t)(void*, void*, int64_t, uint8_t, uint8_t, uint8_t);
 typedef void* (*pFppippi_t)(void*, void*, int64_t, void*, void*, int64_t);
 typedef void* (*pFppippp_t)(void*, void*, int64_t, void*, void*, void*);
+typedef void* (*pFpppiii_t)(void*, void*, void*, int64_t, int64_t, int64_t);
+typedef void* (*pFpppiui_t)(void*, void*, void*, int64_t, uint64_t, int64_t);
+typedef void* (*pFppppii_t)(void*, void*, void*, void*, int64_t, int64_t);
+typedef void* (*pFpppppi_t)(void*, void*, void*, void*, void*, int64_t);
 typedef void* (*pFpppppu_t)(void*, void*, void*, void*, void*, uint64_t);
 typedef void* (*pFpppppp_t)(void*, void*, void*, void*, void*, void*);
 typedef void* (*pFSpiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFEpipppp_t)(x64emu_t*, void*, int64_t, void*, void*, void*, void*);
+typedef void (*vFEpuipuV_t)(x64emu_t*, void*, uint64_t, int64_t, void*, uint64_t, void*);
 typedef void (*vFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*);
 typedef void (*vFiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
 typedef void (*vFiiiiuup_t)(int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
@@ -1233,10 +1422,17 @@ typedef void (*vFulpiill_t)(uint64_t, intptr_t, void*, int64_t, int64_t, intptr_
 typedef void (*vFlipuiip_t)(intptr_t, int64_t, void*, uint64_t, int64_t, int64_t, void*);
 typedef void (*vFpiiiipp_t)(void*, int64_t, int64_t, int64_t, int64_t, void*, void*);
 typedef void (*vFpiiliip_t)(void*, int64_t, int64_t, intptr_t, int64_t, int64_t, void*);
+typedef void (*vFpiipCpp_t)(void*, int64_t, int64_t, void*, uint8_t, void*, void*);
 typedef void (*vFpipipii_t)(void*, int64_t, void*, int64_t, void*, int64_t, int64_t);
+typedef void (*vFpipppii_t)(void*, int64_t, void*, void*, void*, int64_t, int64_t);
 typedef void (*vFpddiidd_t)(void*, double, double, int64_t, int64_t, double, double);
 typedef void (*vFpdddddd_t)(void*, double, double, double, double, double, double);
+typedef void (*vFppiiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppiiiip_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, void*);
 typedef void (*vFppiiipi_t)(void*, void*, int64_t, int64_t, int64_t, void*, int64_t);
+typedef void (*vFppiipii_t)(void*, void*, int64_t, int64_t, void*, int64_t, int64_t);
+typedef void (*vFppiipuu_t)(void*, void*, int64_t, int64_t, void*, uint64_t, uint64_t);
+typedef void (*vFppiippp_t)(void*, void*, int64_t, int64_t, void*, void*, void*);
 typedef void (*vFppilppi_t)(void*, void*, int64_t, intptr_t, void*, void*, int64_t);
 typedef void (*vFppipiip_t)(void*, void*, int64_t, void*, int64_t, int64_t, void*);
 typedef void (*vFppipipp_t)(void*, void*, int64_t, void*, int64_t, void*, void*);
@@ -1246,9 +1442,17 @@ typedef void (*vFppLpppp_t)(void*, void*, uintptr_t, void*, void*, void*, void*)
 typedef void (*vFpppiiii_t)(void*, void*, void*, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFpppiipi_t)(void*, void*, void*, int64_t, int64_t, void*, int64_t);
 typedef void (*vFpppiipp_t)(void*, void*, void*, int64_t, int64_t, void*, void*);
+typedef void (*vFpppippi_t)(void*, void*, void*, int64_t, void*, void*, int64_t);
 typedef void (*vFpppuuuu_t)(void*, void*, void*, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFppppiii_t)(void*, void*, void*, void*, int64_t, int64_t, int64_t);
+typedef void (*vFppppiip_t)(void*, void*, void*, void*, int64_t, int64_t, void*);
 typedef void (*vFppppipi_t)(void*, void*, void*, void*, int64_t, void*, int64_t);
+typedef void (*vFpppppip_t)(void*, void*, void*, void*, void*, int64_t, void*);
+typedef void (*vFppppppi_t)(void*, void*, void*, void*, void*, void*, int64_t);
+typedef void (*vFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
+typedef int64_t (*iFEpupppp_t)(x64emu_t*, void*, uint64_t, void*, void*, void*, void*);
 typedef int64_t (*iFEpLiLpV_t)(x64emu_t*, void*, uintptr_t, int64_t, uintptr_t, void*, void*);
+typedef int64_t (*iFEppuppp_t)(x64emu_t*, void*, void*, uint64_t, void*, void*, void*);
 typedef int64_t (*iFEppLpIi_t)(x64emu_t*, void*, void*, uintptr_t, void*, int64_t, int64_t);
 typedef int64_t (*iFEpppiiu_t)(x64emu_t*, void*, void*, void*, int64_t, int64_t, uint64_t);
 typedef int64_t (*iFEpppppL_t)(x64emu_t*, void*, void*, void*, void*, void*, uintptr_t);
@@ -1280,10 +1484,12 @@ typedef int64_t (*iFppiipiL_t)(void*, void*, int64_t, int64_t, void*, int64_t, u
 typedef int64_t (*iFppiuppi_t)(void*, void*, int64_t, uint64_t, void*, void*, int64_t);
 typedef int64_t (*iFppipiip_t)(void*, void*, int64_t, void*, int64_t, int64_t, void*);
 typedef int64_t (*iFppipipi_t)(void*, void*, int64_t, void*, int64_t, void*, int64_t);
+typedef int64_t (*iFppipipp_t)(void*, void*, int64_t, void*, int64_t, void*, void*);
 typedef int64_t (*iFppippip_t)(void*, void*, int64_t, void*, void*, int64_t, void*);
 typedef int64_t (*iFppipppi_t)(void*, void*, int64_t, void*, void*, void*, int64_t);
 typedef int64_t (*iFppipppp_t)(void*, void*, int64_t, void*, void*, void*, void*);
 typedef int64_t (*iFppuipiL_t)(void*, void*, uint64_t, int64_t, void*, int64_t, uintptr_t);
+typedef int64_t (*iFppLiipp_t)(void*, void*, uintptr_t, int64_t, int64_t, void*, void*);
 typedef int64_t (*iFpppiiii_t)(void*, void*, void*, int64_t, int64_t, int64_t, int64_t);
 typedef int64_t (*iFpppiiuu_t)(void*, void*, void*, int64_t, int64_t, uint64_t, uint64_t);
 typedef int64_t (*iFpppiiup_t)(void*, void*, void*, int64_t, int64_t, uint64_t, void*);
@@ -1295,12 +1501,18 @@ typedef int64_t (*iFpppuiii_t)(void*, void*, void*, uint64_t, int64_t, int64_t,
 typedef int64_t (*iFppppiii_t)(void*, void*, void*, void*, int64_t, int64_t, int64_t);
 typedef int64_t (*iFppppdpi_t)(void*, void*, void*, void*, double, void*, int64_t);
 typedef int64_t (*iFpppppip_t)(void*, void*, void*, void*, void*, int64_t, void*);
+typedef int64_t (*iFpppppup_t)(void*, void*, void*, void*, void*, uint64_t, void*);
+typedef int64_t (*iFppppppi_t)(void*, void*, void*, void*, void*, void*, int64_t);
 typedef int64_t (*iFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
+typedef uint64_t (*uFEiipppp_t)(x64emu_t*, int64_t, int64_t, void*, void*, void*, void*);
+typedef uint64_t (*uFEpiippp_t)(x64emu_t*, void*, int64_t, int64_t, void*, void*, void*);
 typedef uint64_t (*uFuippppp_t)(uint64_t, int64_t, void*, void*, void*, void*, void*);
 typedef uint64_t (*uFppiuppp_t)(void*, void*, int64_t, uint64_t, void*, void*, void*);
+typedef uintptr_t (*LFEpppppu_t)(x64emu_t*, void*, void*, void*, void*, void*, uint64_t);
 typedef void* (*pFEpLiiii_t)(x64emu_t*, void*, uintptr_t, int64_t, int64_t, int64_t, int64_t);
 typedef void* (*pFEpLiiiI_t)(x64emu_t*, void*, uintptr_t, int64_t, int64_t, int64_t, int64_t);
 typedef void* (*pFEpLiiil_t)(x64emu_t*, void*, uintptr_t, int64_t, int64_t, int64_t, intptr_t);
+typedef void* (*pFEppuipp_t)(x64emu_t*, void*, void*, uint64_t, int64_t, void*, void*);
 typedef void* (*pFEppppip_t)(x64emu_t*, void*, void*, void*, void*, int64_t, void*);
 typedef void* (*pFEpppppi_t)(x64emu_t*, void*, void*, void*, void*, void*, int64_t);
 typedef void* (*pFifffppp_t)(int64_t, float, float, float, void*, void*, void*);
@@ -1312,12 +1524,36 @@ typedef void* (*pFpCuuuuu_t)(void*, uint8_t, uint64_t, uint64_t, uint64_t, uint6
 typedef void* (*pFpCpWWup_t)(void*, uint8_t, void*, uint16_t, uint16_t, uint64_t, void*);
 typedef void* (*pFpuuuwwu_t)(void*, uint64_t, uint64_t, uint64_t, int16_t, int16_t, uint64_t);
 typedef void* (*pFpuupwwC_t)(void*, uint64_t, uint64_t, void*, int16_t, int16_t, uint8_t);
+typedef void* (*pFplppppp_t)(void*, intptr_t, void*, void*, void*, void*, void*);
+typedef void* (*pFppiiipp_t)(void*, void*, int64_t, int64_t, int64_t, void*, void*);
 typedef void* (*pFppiiCCC_t)(void*, void*, int64_t, int64_t, uint8_t, uint8_t, uint8_t);
+typedef void* (*pFppiippp_t)(void*, void*, int64_t, int64_t, void*, void*, void*);
+typedef void* (*pFppipipp_t)(void*, void*, int64_t, void*, int64_t, void*, void*);
 typedef void* (*pFppuuppp_t)(void*, void*, uint64_t, uint64_t, void*, void*, void*);
+typedef void* (*pFppLiiip_t)(void*, void*, uintptr_t, int64_t, int64_t, int64_t, void*);
+typedef void* (*pFppLipip_t)(void*, void*, uintptr_t, int64_t, void*, int64_t, void*);
+typedef void* (*pFpppccci_t)(void*, void*, void*, int8_t, int8_t, int8_t, int64_t);
+typedef void* (*pFpppiiii_t)(void*, void*, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void* (*pFpppiipp_t)(void*, void*, void*, int64_t, int64_t, void*, void*);
+typedef void* (*pFpppIIIi_t)(void*, void*, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void* (*pFpppCCCi_t)(void*, void*, void*, uint8_t, uint8_t, uint8_t, int64_t);
+typedef void* (*pFpppuuui_t)(void*, void*, void*, uint64_t, uint64_t, uint64_t, int64_t);
 typedef void* (*pFpppuupp_t)(void*, void*, void*, uint64_t, uint64_t, void*, void*);
+typedef void* (*pFpppUUUi_t)(void*, void*, void*, uint64_t, uint64_t, uint64_t, int64_t);
+typedef void* (*pFpppfffi_t)(void*, void*, void*, float, float, float, int64_t);
+typedef void* (*pFpppdddi_t)(void*, void*, void*, double, double, double, int64_t);
+typedef void* (*pFpppllli_t)(void*, void*, void*, intptr_t, intptr_t, intptr_t, int64_t);
+typedef void* (*pFpppLLLi_t)(void*, void*, void*, uintptr_t, uintptr_t, uintptr_t, int64_t);
 typedef void* (*pFppppuuu_t)(void*, void*, void*, void*, uint64_t, uint64_t, uint64_t);
 typedef void* (*pFpppppuu_t)(void*, void*, void*, void*, void*, uint64_t, uint64_t);
+typedef void* (*pFppppppi_t)(void*, void*, void*, void*, void*, void*, int64_t);
 typedef void* (*pFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFEiippppV_t)(x64emu_t*, int64_t, int64_t, void*, void*, void*, void*, void*);
+typedef void (*vFEiupippp_t)(x64emu_t*, int64_t, uint64_t, void*, int64_t, void*, void*, void*);
+typedef void (*vFEippippp_t)(x64emu_t*, int64_t, void*, void*, int64_t, void*, void*, void*);
+typedef void (*vFEppipppp_t)(x64emu_t*, void*, void*, int64_t, void*, void*, void*, void*);
+typedef void (*vFEpppuipV_t)(x64emu_t*, void*, void*, void*, uint64_t, int64_t, void*, void*);
+typedef void (*vFEpppppuu_t)(x64emu_t*, void*, void*, void*, void*, void*, uint64_t, uint64_t);
 typedef void (*vFiiiiuuip_t)(int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, int64_t, void*);
 typedef void (*vFilipufip_t)(int64_t, intptr_t, int64_t, void*, uint64_t, float, int64_t, void*);
 typedef void (*vFuiiiiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
@@ -1341,14 +1577,20 @@ typedef void (*vFuuuuufff_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, f
 typedef void (*vFulllplip_t)(uint64_t, intptr_t, intptr_t, intptr_t, void*, intptr_t, int64_t, void*);
 typedef void (*vFffffffff_t)(float, float, float, float, float, float, float, float);
 typedef void (*vFlipuiuip_t)(intptr_t, int64_t, void*, uint64_t, int64_t, uint64_t, int64_t, void*);
+typedef void (*vFpiiiiiii_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFpiiiipii_t)(void*, int64_t, int64_t, int64_t, int64_t, void*, int64_t, int64_t);
 typedef void (*vFpippiiuu_t)(void*, int64_t, void*, void*, int64_t, int64_t, uint64_t, uint64_t);
 typedef void (*vFpippiipi_t)(void*, int64_t, void*, void*, int64_t, int64_t, void*, int64_t);
+typedef void (*vFppiiiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFppiiipii_t)(void*, void*, int64_t, int64_t, int64_t, void*, int64_t, int64_t);
 typedef void (*vFppipipii_t)(void*, void*, int64_t, void*, int64_t, void*, int64_t, int64_t);
+typedef void (*vFppipppui_t)(void*, void*, int64_t, void*, void*, void*, uint64_t, int64_t);
 typedef void (*vFppippppi_t)(void*, void*, int64_t, void*, void*, void*, void*, int64_t);
+typedef void (*vFppippppp_t)(void*, void*, int64_t, void*, void*, void*, void*, void*);
 typedef void (*vFpplppppi_t)(void*, void*, intptr_t, void*, void*, void*, void*, int64_t);
 typedef void (*vFpplppppp_t)(void*, void*, intptr_t, void*, void*, void*, void*, void*);
 typedef void (*vFppppiipi_t)(void*, void*, void*, void*, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFEipupupi_t)(x64emu_t*, int64_t, void*, uint64_t, void*, uint64_t, void*, int64_t);
 typedef int64_t (*iFEpippppp_t)(x64emu_t*, void*, int64_t, void*, void*, void*, void*, void*);
 typedef int64_t (*iFEpuuLppp_t)(x64emu_t*, void*, uint64_t, uint64_t, uintptr_t, void*, void*, void*);
 typedef int64_t (*iFEppppipp_t)(x64emu_t*, void*, void*, void*, void*, int64_t, void*, void*);
@@ -1359,10 +1601,12 @@ typedef int64_t (*iFuuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t
 typedef int64_t (*iFullfpppp_t)(uint64_t, intptr_t, intptr_t, float, void*, void*, void*, void*);
 typedef int64_t (*iFpWCuWCuu_t)(void*, uint16_t, uint8_t, uint64_t, uint16_t, uint8_t, uint64_t, uint64_t);
 typedef int64_t (*iFpWWipppp_t)(void*, uint16_t, uint16_t, int64_t, void*, void*, void*, void*);
+typedef int64_t (*iFpuiipppp_t)(void*, uint64_t, int64_t, int64_t, void*, void*, void*, void*);
 typedef int64_t (*iFpuippLpp_t)(void*, uint64_t, int64_t, void*, void*, uintptr_t, void*, void*);
 typedef int64_t (*iFpuuiiiii_t)(void*, uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef int64_t (*iFpupppWWu_t)(void*, uint64_t, void*, void*, void*, uint16_t, uint16_t, uint64_t);
 typedef int64_t (*iFpupppppp_t)(void*, uint64_t, void*, void*, void*, void*, void*, void*);
+typedef int64_t (*iFppiiiiiu_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t);
 typedef int64_t (*iFppIIIppp_t)(void*, void*, int64_t, int64_t, int64_t, void*, void*, void*);
 typedef int64_t (*iFpppiiipi_t)(void*, void*, void*, int64_t, int64_t, int64_t, void*, int64_t);
 typedef int64_t (*iFpppiippp_t)(void*, void*, void*, int64_t, int64_t, void*, void*, void*);
@@ -1371,12 +1615,24 @@ typedef int64_t (*iFpppipppp_t)(void*, void*, void*, int64_t, void*, void*, void
 typedef int64_t (*iFppppiipi_t)(void*, void*, void*, void*, int64_t, int64_t, void*, int64_t);
 typedef int64_t (*iFppppppii_t)(void*, void*, void*, void*, void*, void*, int64_t, int64_t);
 typedef int64_t (*iFpppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*);
+typedef uint64_t (*uFEipipppp_t)(x64emu_t*, int64_t, void*, int64_t, void*, void*, void*, void*);
+typedef uint64_t (*uFEpiupppp_t)(x64emu_t*, void*, int64_t, uint64_t, void*, void*, void*, void*);
+typedef uint64_t (*uFEppipppp_t)(x64emu_t*, void*, void*, int64_t, void*, void*, void*, void*);
+typedef uint64_t (*uFEppppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*);
 typedef uint64_t (*uFuipppppp_t)(uint64_t, int64_t, void*, void*, void*, void*, void*, void*);
 typedef uint64_t (*uFppuppppp_t)(void*, void*, uint64_t, void*, void*, void*, void*, void*);
+typedef uintptr_t (*LFEpiupppp_t)(x64emu_t*, void*, int64_t, uint64_t, void*, void*, void*, void*);
+typedef void* (*pFEppLiiip_t)(x64emu_t*, void*, void*, uintptr_t, int64_t, int64_t, int64_t, void*);
+typedef void* (*pFEpppuipV_t)(x64emu_t*, void*, void*, void*, uint64_t, int64_t, void*, void*);
+typedef void* (*pFEpppppiV_t)(x64emu_t*, void*, void*, void*, void*, void*, int64_t, void*);
+typedef void* (*pFEppppppi_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, int64_t);
 typedef void* (*pFEppppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFiipppppp_t)(int64_t, int64_t, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFuiiiuuuu_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef void* (*pFuupupipp_t)(uint64_t, uint64_t, void*, uint64_t, void*, int64_t, void*, void*);
+typedef void* (*pFpiiiiiuu_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t);
 typedef void* (*pFpipiiiip_t)(void*, int64_t, void*, int64_t, int64_t, int64_t, int64_t, void*);
+typedef void* (*pFpipppppp_t)(void*, int64_t, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFpCCuuwwC_t)(void*, uint8_t, uint8_t, uint64_t, uint64_t, int16_t, int16_t, uint8_t);
 typedef void* (*pFpCuwwWWu_t)(void*, uint8_t, uint64_t, int16_t, int16_t, uint16_t, uint16_t, uint64_t);
 typedef void* (*pFpCuuuCup_t)(void*, uint8_t, uint64_t, uint64_t, uint64_t, uint8_t, uint64_t, void*);
@@ -1384,8 +1640,12 @@ typedef void* (*pFpWWiCpup_t)(void*, uint16_t, uint16_t, int64_t, uint8_t, void*
 typedef void* (*pFpuuWWCuu_t)(void*, uint64_t, uint64_t, uint16_t, uint16_t, uint8_t, uint64_t, uint64_t);
 typedef void* (*pFpuuuupup_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t, void*, uint64_t, void*);
 typedef void* (*pFpdwwWWui_t)(void*, double, int16_t, int16_t, uint16_t, uint16_t, uint64_t, int64_t);
+typedef void* (*pFplpppppp_t)(void*, intptr_t, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFppiiiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void* (*pFpppuuLLu_t)(void*, void*, void*, uint64_t, uint64_t, uintptr_t, uintptr_t, uint64_t);
 typedef void* (*pFpppppupp_t)(void*, void*, void*, void*, void*, uint64_t, void*, void*);
+typedef void (*vFEppiipppp_t)(x64emu_t*, void*, void*, int64_t, int64_t, void*, void*, void*, void*);
+typedef void (*vFEpppiippp_t)(x64emu_t*, void*, void*, void*, int64_t, int64_t, void*, void*, void*);
 typedef void (*vFiiiiiiiii_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFiiiiillli_t)(int64_t, int64_t, int64_t, int64_t, int64_t, intptr_t, intptr_t, intptr_t, int64_t);
 typedef void (*vFuiiiiiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
@@ -1407,12 +1667,19 @@ typedef void (*vFddddddddd_t)(double, double, double, double, double, double, do
 typedef void (*vFlipuiuiip_t)(intptr_t, int64_t, void*, uint64_t, int64_t, uint64_t, int64_t, int64_t, void*);
 typedef void (*vFpipiuiipp_t)(void*, int64_t, void*, int64_t, uint64_t, int64_t, int64_t, void*, void*);
 typedef void (*vFpipppiipi_t)(void*, int64_t, void*, void*, void*, int64_t, int64_t, void*, int64_t);
+typedef void (*vFppiiiiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppiiiiipi_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, void*, int64_t);
 typedef void (*vFppiiipiii_t)(void*, void*, int64_t, int64_t, int64_t, void*, int64_t, int64_t, int64_t);
+typedef void (*vFppiipiiii_t)(void*, void*, int64_t, int64_t, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppipppiii_t)(void*, void*, int64_t, void*, void*, void*, int64_t, int64_t, int64_t);
+typedef void (*vFppipppiip_t)(void*, void*, int64_t, void*, void*, void*, int64_t, int64_t, void*);
 typedef void (*vFppuuiiiii_t)(void*, void*, uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFpplpppppi_t)(void*, void*, intptr_t, void*, void*, void*, void*, void*, int64_t);
+typedef void (*vFpppiiiiii_t)(void*, void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFppppipiip_t)(void*, void*, void*, void*, int64_t, void*, int64_t, int64_t, void*);
 typedef void (*vFpppppippp_t)(void*, void*, void*, void*, void*, int64_t, void*, void*, void*);
 typedef int64_t (*iFEpiiiiipi_t)(x64emu_t*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFEpppipppp_t)(x64emu_t*, void*, void*, void*, int64_t, void*, void*, void*, void*);
 typedef int64_t (*iFEppplPPPP_t)(x64emu_t*, void*, void*, void*, intptr_t, void*, void*, void*, void*);
 typedef int64_t (*iFEppPPPPPP_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef int64_t (*iFiiiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
@@ -1424,14 +1691,19 @@ typedef int64_t (*iFpipLpiiip_t)(void*, int64_t, void*, uintptr_t, void*, int64_
 typedef int64_t (*iFpuuuuuuuu_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef int64_t (*iFppiiiiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef int64_t (*iFppiuiippL_t)(void*, void*, int64_t, uint64_t, int64_t, int64_t, void*, void*, uintptr_t);
+typedef int64_t (*iFppLpiippp_t)(void*, void*, uintptr_t, void*, int64_t, int64_t, void*, void*, void*);
 typedef int64_t (*iFpppiiipip_t)(void*, void*, void*, int64_t, int64_t, int64_t, void*, int64_t, void*);
 typedef int64_t (*iFpppiiuuii_t)(void*, void*, void*, int64_t, int64_t, uint64_t, uint64_t, int64_t, int64_t);
 typedef int64_t (*iFpppiipiiu_t)(void*, void*, void*, int64_t, int64_t, void*, int64_t, int64_t, uint64_t);
 typedef int64_t (*iFppppppppu_t)(void*, void*, void*, void*, void*, void*, void*, void*, uint64_t);
 typedef int64_t (*iFppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef uint64_t (*uFEipippppp_t)(x64emu_t*, int64_t, void*, int64_t, void*, void*, void*, void*, void*);
 typedef uint64_t (*uFppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef uintptr_t (*LFEppppppii_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, int64_t, int64_t);
 typedef void* (*pFEppiiuuLi_t)(x64emu_t*, void*, void*, int64_t, int64_t, uint64_t, uint64_t, uintptr_t, int64_t);
 typedef void* (*pFEppuippuu_t)(x64emu_t*, void*, void*, uint64_t, int64_t, void*, void*, uint64_t, uint64_t);
+typedef void* (*pFEpppppiiV_t)(x64emu_t*, void*, void*, void*, void*, void*, int64_t, int64_t, void*);
+typedef void* (*pFEpppppppi_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*, int64_t);
 typedef void* (*pFpiiiiuuuu_t)(void*, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef void* (*pFpCuWCCuuu_t)(void*, uint8_t, uint64_t, uint16_t, uint8_t, uint8_t, uint64_t, uint64_t, uint64_t);
 typedef void* (*pFpuuwwWWww_t)(void*, uint64_t, uint64_t, int16_t, int16_t, uint16_t, uint16_t, int16_t, int16_t);
@@ -1439,7 +1711,12 @@ typedef void* (*pFpupuuuuup_t)(void*, uint64_t, void*, uint64_t, uint64_t, uint6
 typedef void* (*pFppiiiiiip_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
 typedef void* (*pFppiiuuuLL_t)(void*, void*, int64_t, int64_t, uint64_t, uint64_t, uint64_t, uintptr_t, uintptr_t);
 typedef void* (*pFppipppppp_t)(void*, void*, int64_t, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFpppiiiiii_t)(void*, void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void* (*pFpppiipppp_t)(void*, void*, void*, int64_t, int64_t, void*, void*, void*, void*);
 typedef void* (*pFpppppiipp_t)(void*, void*, void*, void*, void*, int64_t, int64_t, void*, void*);
+typedef void (*vFEiippppppp_t)(x64emu_t*, int64_t, int64_t, void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFEpippppppp_t)(x64emu_t*, void*, int64_t, void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFEpppiipppp_t)(x64emu_t*, void*, void*, void*, int64_t, int64_t, void*, void*, void*, void*);
 typedef void (*vFiiiiiiiiiu_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t);
 typedef void (*vFuiiiiiiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFuiiiiiiill_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, intptr_t, intptr_t);
@@ -1457,6 +1734,12 @@ typedef void (*vFuuuuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t,
 typedef void (*vFuffiiffiip_t)(uint64_t, float, float, int64_t, int64_t, float, float, int64_t, int64_t, void*);
 typedef void (*vFuddiiddiip_t)(uint64_t, double, double, int64_t, int64_t, double, double, int64_t, int64_t, void*);
 typedef void (*vFffffffffff_t)(float, float, float, float, float, float, float, float, float, float);
+typedef void (*vFppiiiiiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppiiiiipip_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, void*, int64_t, void*);
+typedef void (*vFppiipppiip_t)(void*, void*, int64_t, int64_t, void*, void*, void*, int64_t, int64_t, void*);
+typedef void (*vFppiippppii_t)(void*, void*, int64_t, int64_t, void*, void*, void*, void*, int64_t, int64_t);
+typedef void (*vFppipppiiii_t)(void*, void*, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppuuuuiiuu_t)(void*, void*, uint64_t, uint64_t, uint64_t, uint64_t, int64_t, int64_t, uint64_t, uint64_t);
 typedef void (*vFppdddddddd_t)(void*, void*, double, double, double, double, double, double, double, double);
 typedef void (*vFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef int64_t (*iFEpupppLppL_t)(x64emu_t*, void*, uint64_t, void*, void*, void*, uintptr_t, void*, void*, uintptr_t);
@@ -1468,8 +1751,12 @@ typedef int64_t (*iFpddpippppp_t)(void*, double, double, void*, int64_t, void*,
 typedef int64_t (*iFppuuiiiiii_t)(void*, void*, uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef int64_t (*iFppuuiiuupi_t)(void*, void*, uint64_t, uint64_t, int64_t, int64_t, uint64_t, uint64_t, void*, int64_t);
 typedef int64_t (*iFpppiiipipi_t)(void*, void*, void*, int64_t, int64_t, int64_t, void*, int64_t, void*, int64_t);
+typedef int64_t (*iFpppLLipppp_t)(void*, void*, void*, uintptr_t, uintptr_t, int64_t, void*, void*, void*, void*);
 typedef int64_t (*iFppppiiuuii_t)(void*, void*, void*, void*, int64_t, int64_t, uint64_t, uint64_t, int64_t, int64_t);
 typedef uint64_t (*uFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFEiippppppp_t)(x64emu_t*, int64_t, int64_t, void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFEpiiiiiipp_t)(x64emu_t*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*, void*);
+typedef void* (*pFEpippppppp_t)(x64emu_t*, void*, int64_t, void*, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFpCuWCCuuCW_t)(void*, uint8_t, uint64_t, uint16_t, uint8_t, uint8_t, uint64_t, uint64_t, uint8_t, uint16_t);
 typedef void* (*pFpuwwWWuCuu_t)(void*, uint64_t, int16_t, int16_t, uint16_t, uint16_t, uint64_t, uint8_t, uint64_t, uint64_t);
 typedef void* (*pFpuuuwwwwWW_t)(void*, uint64_t, uint64_t, uint64_t, int16_t, int16_t, int16_t, int16_t, uint16_t, uint16_t);
@@ -1491,12 +1778,27 @@ typedef void (*vFuuddiiddiip_t)(uint64_t, uint64_t, double, double, int64_t, int
 typedef void (*vFuffffffffff_t)(uint64_t, float, float, float, float, float, float, float, float, float, float);
 typedef void (*vFpipipiipiii_t)(void*, int64_t, void*, int64_t, void*, int64_t, int64_t, void*, int64_t, int64_t, int64_t);
 typedef void (*vFpipppiiiipi_t)(void*, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, void*, int64_t);
+typedef void (*vFppiiiiiiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppiiiiipiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, void*, int64_t, int64_t, int64_t);
+typedef void (*vFppiiiiddddi_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, double, double, double, double, int64_t);
+typedef void (*vFppiipppiiii_t)(void*, void*, int64_t, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppipppiiiii_t)(void*, void*, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppipppuiiii_t)(void*, void*, int64_t, void*, void*, void*, uint64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef int64_t (*iFEpppipppppp_t)(x64emu_t*, void*, void*, void*, int64_t, void*, void*, void*, void*, void*, void*);
 typedef int64_t (*iFEppppiiiiuu_t)(x64emu_t*, void*, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t);
 typedef int64_t (*iFiiiiiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
 typedef int64_t (*iFppppiiuuiiL_t)(void*, void*, void*, void*, int64_t, int64_t, uint64_t, uint64_t, int64_t, int64_t, uintptr_t);
+typedef uint64_t (*uFEpiiupppiuV_t)(x64emu_t*, void*, int64_t, int64_t, uint64_t, void*, void*, void*, int64_t, uint64_t, void*);
+typedef uint64_t (*uFEpiippppiup_t)(x64emu_t*, void*, int64_t, int64_t, void*, void*, void*, void*, int64_t, uint64_t, void*);
+typedef uint64_t (*uFEpiippppiuA_t)(x64emu_t*, void*, int64_t, int64_t, void*, void*, void*, void*, int64_t, uint64_t, void*);
+typedef uint64_t (*uFEppppppippp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, int64_t, void*, void*, void*);
 typedef uint64_t (*uFppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFEpipppppppi_t)(x64emu_t*, void*, int64_t, void*, void*, void*, void*, void*, void*, void*, int64_t);
 typedef void* (*pFEppiiLpppip_t)(x64emu_t*, void*, void*, int64_t, int64_t, uintptr_t, void*, void*, void*, int64_t, void*);
 typedef void* (*pFEppuiipuuii_t)(x64emu_t*, void*, void*, uint64_t, int64_t, int64_t, void*, uint64_t, uint64_t, int64_t, int64_t);
+typedef void* (*pFpppppppiipp_t)(void*, void*, void*, void*, void*, void*, void*, int64_t, int64_t, void*, void*);
+typedef void* (*pFppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void (*vFuiiiillliilp_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, intptr_t, intptr_t, intptr_t, int64_t, int64_t, intptr_t, void*);
 typedef void (*vFuuiiiiiiiiui_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, int64_t);
 typedef void (*vFuuiiiiiiiuip_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, int64_t, void*);
@@ -1505,7 +1807,12 @@ typedef void (*vFuuuuuuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_
 typedef void (*vFffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float);
 typedef void (*vFpipppiiiipii_t)(void*, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, void*, int64_t, int64_t);
 typedef void (*vFpippppiiiipi_t)(void*, int64_t, void*, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, void*, int64_t);
+typedef void (*vFppiiiiddddii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, double, double, double, double, int64_t, int64_t);
 typedef void (*vFppiiuuuiupup_t)(void*, void*, int64_t, int64_t, uint64_t, uint64_t, uint64_t, int64_t, uint64_t, void*, uint64_t, void*);
+typedef void (*vFppiipppiiiii_t)(void*, void*, int64_t, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFpppiiiiiiiii_t)(void*, void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFpppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef int64_t (*iFEpppippppppp_t)(x64emu_t*, void*, void*, void*, int64_t, void*, void*, void*, void*, void*, void*, void*);
 typedef int64_t (*iFEppppiiiiuui_t)(x64emu_t*, void*, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, int64_t);
 typedef int64_t (*iFpipllipppppp_t)(void*, int64_t, void*, intptr_t, intptr_t, int64_t, void*, void*, void*, void*, void*, void*);
 typedef int64_t (*iFpipppppppppp_t)(void*, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
@@ -1517,9 +1824,14 @@ typedef void* (*pFpCuuWWwwCCup_t)(void*, uint8_t, uint64_t, uint64_t, uint16_t,
 typedef void* (*pFpuuuWWWWWWWW_t)(void*, uint64_t, uint64_t, uint64_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t);
 typedef void* (*pFppiiuuuiupLp_t)(void*, void*, int64_t, int64_t, uint64_t, uint64_t, uint64_t, int64_t, uint64_t, void*, uintptr_t, void*);
 typedef void* (*pFpppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFEpppppppiippp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*, int64_t, int64_t, void*, void*, void*);
 typedef void (*vFuiiiiiiiiiuup_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
 typedef void (*vFuuuuuuuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef void (*vFuffffffffffff_t)(uint64_t, float, float, float, float, float, float, float, float, float, float, float, float);
+typedef void (*vFpippppppppppp_t)(void*, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFppiiiiiiiiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppiipppiiiiii_t)(void*, void*, int64_t, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef int64_t (*iFddddpppddpppp_t)(double, double, double, double, void*, void*, void*, double, double, void*, void*, void*, void*);
 typedef int64_t (*iFpippuuuiipppp_t)(void*, int64_t, void*, void*, uint64_t, uint64_t, uint64_t, int64_t, int64_t, void*, void*, void*, void*);
 typedef int64_t (*iFpupiiiipppppp_t)(void*, uint64_t, void*, int64_t, int64_t, int64_t, int64_t, void*, void*, void*, void*, void*, void*);
@@ -1529,25 +1841,40 @@ typedef void* (*pFpuupppwwwwWWC_t)(void*, uint64_t, uint64_t, void*, void*, void
 typedef void* (*pFppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void (*vFuffiiffiiffiip_t)(uint64_t, float, float, int64_t, int64_t, float, float, int64_t, int64_t, float, float, int64_t, int64_t, void*);
 typedef void (*vFuddiiddiiddiip_t)(uint64_t, double, double, int64_t, int64_t, double, double, int64_t, int64_t, double, double, int64_t, int64_t, void*);
+typedef void (*vFppiipppiiiiiii_t)(void*, void*, int64_t, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef int64_t (*iFpipppppppppppp_t)(void*, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void (*vFuuiiiiuuiiiiiii_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFfffffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float);
+typedef void (*vFpppippppppppppp_t)(void*, void*, void*, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFpuiippppppppppp_t)(void*, uint64_t, int64_t, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFppipppppppppppp_t)(void*, void*, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFpppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef int64_t (*iFpppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFpuuWWWWWWwwCCCuu_t)(void*, uint64_t, uint64_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, int16_t, int16_t, uint8_t, uint8_t, uint8_t, uint64_t, uint64_t);
+typedef void* (*pFppipipipipipipip_t)(void*, void*, int64_t, void*, int64_t, void*, int64_t, void*, int64_t, void*, int64_t, void*, int64_t, void*, int64_t, void*);
 typedef void* (*pFpppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFppiiiiddddiiiiiuu_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, double, double, double, double, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t);
+typedef void* (*pFppippipipipipipip_t)(void*, void*, int64_t, void*, void*, int64_t, void*, int64_t, void*, int64_t, void*, int64_t, void*, int64_t, void*, int64_t, void*);
 typedef void (*vFppuiiiiipuiiiiiiii_t)(void*, void*, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFpppipppppppppppppp_t)(void*, void*, void*, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFippppppppppppppppp_t)(int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFpiiiiiiiiiiiiiiiiii_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void* (*pFiiiippppppppppppppp_t)(int64_t, int64_t, int64_t, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFpippppppppppppppppp_t)(void*, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFipppppppppppppppppppppp_t)(int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 
 #if defined(HAVE_LD80BITS)
 typedef long double (*DFD_t)(long double);
+typedef void (*vFppippDDC_t)(void*, void*, int64_t, void*, void*, long double, long double, uint8_t);
 #endif
 
 #if !defined(HAVE_LD80BITS)
 typedef double (*KFK_t)(double);
 typedef double (*KFKK_t)(double, double);
 typedef double (*KFKp_t)(double, void*);
+typedef void (*vFppippKKC_t)(void*, void*, int64_t, void*, void*, double, double, uint8_t);
 #endif
 
 #if defined(NOALIGN)
@@ -1569,6 +1896,7 @@ void vFU(x64emu_t *emu, uintptr_t fcn) { vFU_t fn = (vFU_t)fcn; fn((uint64_t)R_R
 void vFf(x64emu_t *emu, uintptr_t fcn) { vFf_t fn = (vFf_t)fcn; fn(emu->xmm[0].f[0]); }
 void vFd(x64emu_t *emu, uintptr_t fcn) { vFd_t fn = (vFd_t)fcn; fn(emu->xmm[0].d[0]); }
 void vFl(x64emu_t *emu, uintptr_t fcn) { vFl_t fn = (vFl_t)fcn; fn((intptr_t)R_RDI); }
+void vFL(x64emu_t *emu, uintptr_t fcn) { vFL_t fn = (vFL_t)fcn; fn((uintptr_t)R_RDI); }
 void vFp(x64emu_t *emu, uintptr_t fcn) { vFp_t fn = (vFp_t)fcn; fn((void*)R_RDI); }
 void vFS(x64emu_t *emu, uintptr_t fcn) { vFS_t fn = (vFS_t)fcn; fn(io_convert((void*)R_RDI)); }
 void cFv(x64emu_t *emu, uintptr_t fcn) { cFv_t fn = (cFv_t)fcn; R_RAX=fn(); }
@@ -1582,6 +1910,8 @@ void iFv(x64emu_t *emu, uintptr_t fcn) { iFv_t fn = (iFv_t)fcn; R_RAX=(int64_t)f
 void iFw(x64emu_t *emu, uintptr_t fcn) { iFw_t fn = (iFw_t)fcn; R_RAX=(int64_t)fn((int16_t)R_RDI); }
 void iFi(x64emu_t *emu, uintptr_t fcn) { iFi_t fn = (iFi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI); }
 void iFI(x64emu_t *emu, uintptr_t fcn) { iFI_t fn = (iFI_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI); }
+void iFC(x64emu_t *emu, uintptr_t fcn) { iFC_t fn = (iFC_t)fcn; R_RAX=(int64_t)fn((uint8_t)R_RDI); }
+void iFW(x64emu_t *emu, uintptr_t fcn) { iFW_t fn = (iFW_t)fcn; R_RAX=(int64_t)fn((uint16_t)R_RDI); }
 void iFu(x64emu_t *emu, uintptr_t fcn) { iFu_t fn = (iFu_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI); }
 void iFU(x64emu_t *emu, uintptr_t fcn) { iFU_t fn = (iFU_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI); }
 void iFf(x64emu_t *emu, uintptr_t fcn) { iFf_t fn = (iFf_t)fcn; R_RAX=(int64_t)fn(emu->xmm[0].f[0]); }
@@ -1592,10 +1922,13 @@ void iFL(x64emu_t *emu, uintptr_t fcn) { iFL_t fn = (iFL_t)fcn; R_RAX=(int64_t)f
 void iFp(x64emu_t *emu, uintptr_t fcn) { iFp_t fn = (iFp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI); }
 void iFO(x64emu_t *emu, uintptr_t fcn) { iFO_t fn = (iFO_t)fcn; R_RAX=(int64_t)fn(of_convert((int32_t)R_RDI)); }
 void iFS(x64emu_t *emu, uintptr_t fcn) { iFS_t fn = (iFS_t)fcn; R_RAX=(int64_t)fn(io_convert((void*)R_RDI)); }
+void IFv(x64emu_t *emu, uintptr_t fcn) { IFv_t fn = (IFv_t)fcn; R_RAX=(int64_t)fn(); }
+void IFi(x64emu_t *emu, uintptr_t fcn) { IFi_t fn = (IFi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI); }
 void IFI(x64emu_t *emu, uintptr_t fcn) { IFI_t fn = (IFI_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI); }
 void IFf(x64emu_t *emu, uintptr_t fcn) { IFf_t fn = (IFf_t)fcn; R_RAX=(int64_t)fn(emu->xmm[0].f[0]); }
 void IFd(x64emu_t *emu, uintptr_t fcn) { IFd_t fn = (IFd_t)fcn; R_RAX=(int64_t)fn(emu->xmm[0].d[0]); }
 void IFp(x64emu_t *emu, uintptr_t fcn) { IFp_t fn = (IFp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI); }
+void CFC(x64emu_t *emu, uintptr_t fcn) { CFC_t fn = (CFC_t)fcn; R_RAX=(unsigned char)fn((uint8_t)R_RDI); }
 void CFp(x64emu_t *emu, uintptr_t fcn) { CFp_t fn = (CFp_t)fcn; R_RAX=(unsigned char)fn((void*)R_RDI); }
 void WFi(x64emu_t *emu, uintptr_t fcn) { WFi_t fn = (WFi_t)fcn; R_RAX=(unsigned short)fn((int64_t)R_RDI); }
 void WFW(x64emu_t *emu, uintptr_t fcn) { WFW_t fn = (WFW_t)fcn; R_RAX=(unsigned short)fn((uint16_t)R_RDI); }
@@ -1625,13 +1958,18 @@ void lFi(x64emu_t *emu, uintptr_t fcn) { lFi_t fn = (lFi_t)fcn; R_RAX=(intptr_t)
 void lFl(x64emu_t *emu, uintptr_t fcn) { lFl_t fn = (lFl_t)fcn; R_RAX=(intptr_t)fn((intptr_t)R_RDI); }
 void lFp(x64emu_t *emu, uintptr_t fcn) { lFp_t fn = (lFp_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI); }
 void LFv(x64emu_t *emu, uintptr_t fcn) { LFv_t fn = (LFv_t)fcn; R_RAX=(uintptr_t)fn(); }
+void LFu(x64emu_t *emu, uintptr_t fcn) { LFu_t fn = (LFu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI); }
 void LFL(x64emu_t *emu, uintptr_t fcn) { LFL_t fn = (LFL_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI); }
 void LFp(x64emu_t *emu, uintptr_t fcn) { LFp_t fn = (LFp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI); }
 void pFE(x64emu_t *emu, uintptr_t fcn) { pFE_t fn = (pFE_t)fcn; R_RAX=(uintptr_t)fn(emu); }
 void pFv(x64emu_t *emu, uintptr_t fcn) { pFv_t fn = (pFv_t)fcn; R_RAX=(uintptr_t)fn(); }
+void pFw(x64emu_t *emu, uintptr_t fcn) { pFw_t fn = (pFw_t)fcn; R_RAX=(uintptr_t)fn((int16_t)R_RDI); }
 void pFi(x64emu_t *emu, uintptr_t fcn) { pFi_t fn = (pFi_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI); }
+void pFI(x64emu_t *emu, uintptr_t fcn) { pFI_t fn = (pFI_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI); }
+void pFC(x64emu_t *emu, uintptr_t fcn) { pFC_t fn = (pFC_t)fcn; R_RAX=(uintptr_t)fn((uint8_t)R_RDI); }
 void pFW(x64emu_t *emu, uintptr_t fcn) { pFW_t fn = (pFW_t)fcn; R_RAX=(uintptr_t)fn((uint16_t)R_RDI); }
 void pFu(x64emu_t *emu, uintptr_t fcn) { pFu_t fn = (pFu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI); }
+void pFU(x64emu_t *emu, uintptr_t fcn) { pFU_t fn = (pFU_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI); }
 void pFd(x64emu_t *emu, uintptr_t fcn) { pFd_t fn = (pFd_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0]); }
 void pFl(x64emu_t *emu, uintptr_t fcn) { pFl_t fn = (pFl_t)fcn; R_RAX=(uintptr_t)fn((intptr_t)R_RDI); }
 void pFL(x64emu_t *emu, uintptr_t fcn) { pFL_t fn = (pFL_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI); }
@@ -1664,8 +2002,13 @@ void vFdd(x64emu_t *emu, uintptr_t fcn) { vFdd_t fn = (vFdd_t)fcn; fn(emu->xmm[0
 void vFlp(x64emu_t *emu, uintptr_t fcn) { vFlp_t fn = (vFlp_t)fcn; fn((intptr_t)R_RDI, (void*)R_RSI); }
 void vFLL(x64emu_t *emu, uintptr_t fcn) { vFLL_t fn = (vFLL_t)fcn; fn((uintptr_t)R_RDI, (uintptr_t)R_RSI); }
 void vFLp(x64emu_t *emu, uintptr_t fcn) { vFLp_t fn = (vFLp_t)fcn; fn((uintptr_t)R_RDI, (void*)R_RSI); }
+void vFpc(x64emu_t *emu, uintptr_t fcn) { vFpc_t fn = (vFpc_t)fcn; fn((void*)R_RDI, (int8_t)R_RSI); }
 void vFpi(x64emu_t *emu, uintptr_t fcn) { vFpi_t fn = (vFpi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI); }
+void vFpI(x64emu_t *emu, uintptr_t fcn) { vFpI_t fn = (vFpI_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI); }
+void vFpC(x64emu_t *emu, uintptr_t fcn) { vFpC_t fn = (vFpC_t)fcn; fn((void*)R_RDI, (uint8_t)R_RSI); }
+void vFpW(x64emu_t *emu, uintptr_t fcn) { vFpW_t fn = (vFpW_t)fcn; fn((void*)R_RDI, (uint16_t)R_RSI); }
 void vFpu(x64emu_t *emu, uintptr_t fcn) { vFpu_t fn = (vFpu_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI); }
+void vFpU(x64emu_t *emu, uintptr_t fcn) { vFpU_t fn = (vFpU_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI); }
 void vFpf(x64emu_t *emu, uintptr_t fcn) { vFpf_t fn = (vFpf_t)fcn; fn((void*)R_RDI, emu->xmm[0].f[0]); }
 void vFpd(x64emu_t *emu, uintptr_t fcn) { vFpd_t fn = (vFpd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0]); }
 void vFpl(x64emu_t *emu, uintptr_t fcn) { vFpl_t fn = (vFpl_t)fcn; fn((void*)R_RDI, (intptr_t)R_RSI); }
@@ -1709,6 +2052,7 @@ void IFEp(x64emu_t *emu, uintptr_t fcn) { IFEp_t fn = (IFEp_t)fcn; R_RAX=(int64_
 void IFpi(x64emu_t *emu, uintptr_t fcn) { IFpi_t fn = (IFpi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI); }
 void IFpu(x64emu_t *emu, uintptr_t fcn) { IFpu_t fn = (IFpu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI); }
 void IFpd(x64emu_t *emu, uintptr_t fcn) { IFpd_t fn = (IFpd_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, emu->xmm[0].d[0]); }
+void CFip(x64emu_t *emu, uintptr_t fcn) { CFip_t fn = (CFip_t)fcn; R_RAX=(unsigned char)fn((int64_t)R_RDI, (void*)R_RSI); }
 void CFui(x64emu_t *emu, uintptr_t fcn) { CFui_t fn = (CFui_t)fcn; R_RAX=(unsigned char)fn((uint64_t)R_RDI, (int64_t)R_RSI); }
 void CFpi(x64emu_t *emu, uintptr_t fcn) { CFpi_t fn = (CFpi_t)fcn; R_RAX=(unsigned char)fn((void*)R_RDI, (int64_t)R_RSI); }
 void CFpu(x64emu_t *emu, uintptr_t fcn) { CFpu_t fn = (CFpu_t)fcn; R_RAX=(unsigned char)fn((void*)R_RDI, (uint64_t)R_RSI); }
@@ -1730,6 +2074,7 @@ void UFEp(x64emu_t *emu, uintptr_t fcn) { UFEp_t fn = (UFEp_t)fcn; R_RAX=fn(emu,
 void UFuu(x64emu_t *emu, uintptr_t fcn) { UFuu_t fn = (UFuu_t)fcn; R_RAX=fn((uint64_t)R_RDI, (uint64_t)R_RSI); }
 void UFUp(x64emu_t *emu, uintptr_t fcn) { UFUp_t fn = (UFUp_t)fcn; R_RAX=fn((uint64_t)R_RDI, (void*)R_RSI); }
 void UFpp(x64emu_t *emu, uintptr_t fcn) { UFpp_t fn = (UFpp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI); }
+void fFEp(x64emu_t *emu, uintptr_t fcn) { fFEp_t fn = (fFEp_t)fcn; emu->xmm[0].f[0]=fn(emu, (void*)R_RDI); }
 void fFif(x64emu_t *emu, uintptr_t fcn) { fFif_t fn = (fFif_t)fcn; emu->xmm[0].f[0]=fn((int64_t)R_RDI, emu->xmm[0].f[0]); }
 void fFfi(x64emu_t *emu, uintptr_t fcn) { fFfi_t fn = (fFfi_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], (int64_t)R_RDI); }
 void fFff(x64emu_t *emu, uintptr_t fcn) { fFff_t fn = (fFff_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0]); }
@@ -1743,6 +2088,7 @@ void dFdD(x64emu_t *emu, uintptr_t fcn) { dFdD_t fn = (dFdD_t)fcn; emu->xmm[0].d
 void dFdp(x64emu_t *emu, uintptr_t fcn) { dFdp_t fn = (dFdp_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], (void*)R_RDI); }
 void dFll(x64emu_t *emu, uintptr_t fcn) { dFll_t fn = (dFll_t)fcn; emu->xmm[0].d[0]=fn((intptr_t)R_RDI, (intptr_t)R_RSI); }
 void dFpi(x64emu_t *emu, uintptr_t fcn) { dFpi_t fn = (dFpi_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (int64_t)R_RSI); }
+void dFpd(x64emu_t *emu, uintptr_t fcn) { dFpd_t fn = (dFpd_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, emu->xmm[0].d[0]); }
 void dFpp(x64emu_t *emu, uintptr_t fcn) { dFpp_t fn = (dFpp_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (void*)R_RSI); }
 void DFDi(x64emu_t *emu, uintptr_t fcn) { DFDi_t fn = (DFDi_t)fcn; long double ld=fn(LD2localLD((void*)(R_RSP + 8)), (int64_t)R_RDI); fpu_do_push(emu); ST0val = ld; }
 void DFDD(x64emu_t *emu, uintptr_t fcn) { DFDD_t fn = (DFDD_t)fcn; long double ld=fn(LD2localLD((void*)(R_RSP + 8)), LD2localLD((void*)(R_RSP + 24))); fpu_do_push(emu); ST0val = ld; }
@@ -1759,20 +2105,28 @@ void LFLi(x64emu_t *emu, uintptr_t fcn) { LFLi_t fn = (LFLi_t)fcn; R_RAX=(uintpt
 void LFpi(x64emu_t *emu, uintptr_t fcn) { LFpi_t fn = (LFpi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI); }
 void LFpL(x64emu_t *emu, uintptr_t fcn) { LFpL_t fn = (LFpL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI); }
 void LFpp(x64emu_t *emu, uintptr_t fcn) { LFpp_t fn = (LFpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI); }
+void pFEi(x64emu_t *emu, uintptr_t fcn) { pFEi_t fn = (pFEi_t)fcn; R_RAX=(uintptr_t)fn(emu, (int64_t)R_RDI); }
 void pFEp(x64emu_t *emu, uintptr_t fcn) { pFEp_t fn = (pFEp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI); }
 void pFii(x64emu_t *emu, uintptr_t fcn) { pFii_t fn = (pFii_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI); }
 void pFiu(x64emu_t *emu, uintptr_t fcn) { pFiu_t fn = (pFiu_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (uint64_t)R_RSI); }
 void pFip(x64emu_t *emu, uintptr_t fcn) { pFip_t fn = (pFip_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI); }
+void pFiV(x64emu_t *emu, uintptr_t fcn) { pFiV_t fn = (pFiV_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)(R_RSP + 8)); }
 void pFui(x64emu_t *emu, uintptr_t fcn) { pFui_t fn = (pFui_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI); }
+void pFuC(x64emu_t *emu, uintptr_t fcn) { pFuC_t fn = (pFuC_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (uint8_t)R_RSI); }
 void pFuu(x64emu_t *emu, uintptr_t fcn) { pFuu_t fn = (pFuu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI); }
 void pFup(x64emu_t *emu, uintptr_t fcn) { pFup_t fn = (pFup_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (void*)R_RSI); }
+void pFuV(x64emu_t *emu, uintptr_t fcn) { pFuV_t fn = (pFuV_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (void*)(R_RSP + 8)); }
+void pFUi(x64emu_t *emu, uintptr_t fcn) { pFUi_t fn = (pFUi_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI); }
 void pFdd(x64emu_t *emu, uintptr_t fcn) { pFdd_t fn = (pFdd_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0], emu->xmm[1].d[0]); }
 void pFlp(x64emu_t *emu, uintptr_t fcn) { pFlp_t fn = (pFlp_t)fcn; R_RAX=(uintptr_t)fn((intptr_t)R_RDI, (void*)R_RSI); }
 void pFLL(x64emu_t *emu, uintptr_t fcn) { pFLL_t fn = (pFLL_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (uintptr_t)R_RSI); }
+void pFLp(x64emu_t *emu, uintptr_t fcn) { pFLp_t fn = (pFLp_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (void*)R_RSI); }
 void pFpi(x64emu_t *emu, uintptr_t fcn) { pFpi_t fn = (pFpi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI); }
 void pFpC(x64emu_t *emu, uintptr_t fcn) { pFpC_t fn = (pFpC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI); }
 void pFpu(x64emu_t *emu, uintptr_t fcn) { pFpu_t fn = (pFpu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI); }
 void pFpU(x64emu_t *emu, uintptr_t fcn) { pFpU_t fn = (pFpU_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI); }
+void pFpd(x64emu_t *emu, uintptr_t fcn) { pFpd_t fn = (pFpd_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, emu->xmm[0].d[0]); }
+void pFpl(x64emu_t *emu, uintptr_t fcn) { pFpl_t fn = (pFpl_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI); }
 void pFpL(x64emu_t *emu, uintptr_t fcn) { pFpL_t fn = (pFpL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI); }
 void pFpp(x64emu_t *emu, uintptr_t fcn) { pFpp_t fn = (pFpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI); }
 void pFpV(x64emu_t *emu, uintptr_t fcn) { pFpV_t fn = (pFpV_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)(R_RSP + 8)); }
@@ -1814,12 +2168,15 @@ void vFudd(x64emu_t *emu, uintptr_t fcn) { vFudd_t fn = (vFudd_t)fcn; fn((uint64
 void vFull(x64emu_t *emu, uintptr_t fcn) { vFull_t fn = (vFull_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX); }
 void vFulp(x64emu_t *emu, uintptr_t fcn) { vFulp_t fn = (vFulp_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX); }
 void vFupu(x64emu_t *emu, uintptr_t fcn) { vFupu_t fn = (vFupu_t)fcn; fn((uint64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX); }
+void vFupp(x64emu_t *emu, uintptr_t fcn) { vFupp_t fn = (vFupp_t)fcn; fn((uint64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void vFfff(x64emu_t *emu, uintptr_t fcn) { vFfff_t fn = (vFfff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); }
 void vFfpp(x64emu_t *emu, uintptr_t fcn) { vFfpp_t fn = (vFfpp_t)fcn; fn(emu->xmm[0].f[0], (void*)R_RDI, (void*)R_RSI); }
 void vFddd(x64emu_t *emu, uintptr_t fcn) { vFddd_t fn = (vFddd_t)fcn; fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); }
 void vFdpp(x64emu_t *emu, uintptr_t fcn) { vFdpp_t fn = (vFdpp_t)fcn; fn(emu->xmm[0].d[0], (void*)R_RDI, (void*)R_RSI); }
+void vFLpL(x64emu_t *emu, uintptr_t fcn) { vFLpL_t fn = (vFLpL_t)fcn; fn((uintptr_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void vFLpp(x64emu_t *emu, uintptr_t fcn) { vFLpp_t fn = (vFLpp_t)fcn; fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void vFpii(x64emu_t *emu, uintptr_t fcn) { vFpii_t fn = (vFpii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); }
+void vFpiC(x64emu_t *emu, uintptr_t fcn) { vFpiC_t fn = (vFpiC_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (uint8_t)R_RDX); }
 void vFpiu(x64emu_t *emu, uintptr_t fcn) { vFpiu_t fn = (vFpiu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX); }
 void vFpif(x64emu_t *emu, uintptr_t fcn) { vFpif_t fn = (vFpif_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, emu->xmm[0].f[0]); }
 void vFpid(x64emu_t *emu, uintptr_t fcn) { vFpid_t fn = (vFpid_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, emu->xmm[0].d[0]); }
@@ -1828,6 +2185,7 @@ void vFpui(x64emu_t *emu, uintptr_t fcn) { vFpui_t fn = (vFpui_t)fcn; fn((void*)
 void vFpuI(x64emu_t *emu, uintptr_t fcn) { vFpuI_t fn = (vFpuI_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX); }
 void vFpuu(x64emu_t *emu, uintptr_t fcn) { vFpuu_t fn = (vFpuu_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX); }
 void vFpup(x64emu_t *emu, uintptr_t fcn) { vFpup_t fn = (vFpup_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX); }
+void vFpff(x64emu_t *emu, uintptr_t fcn) { vFpff_t fn = (vFpff_t)fcn; fn((void*)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void vFpdd(x64emu_t *emu, uintptr_t fcn) { vFpdd_t fn = (vFpdd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
 void vFpll(x64emu_t *emu, uintptr_t fcn) { vFpll_t fn = (vFpll_t)fcn; fn((void*)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX); }
 void vFpLi(x64emu_t *emu, uintptr_t fcn) { vFpLi_t fn = (vFpLi_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX); }
@@ -1839,6 +2197,7 @@ void vFppd(x64emu_t *emu, uintptr_t fcn) { vFppd_t fn = (vFppd_t)fcn; fn((void*)
 void vFppl(x64emu_t *emu, uintptr_t fcn) { vFppl_t fn = (vFppl_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX); }
 void vFppL(x64emu_t *emu, uintptr_t fcn) { vFppL_t fn = (vFppL_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void vFppp(x64emu_t *emu, uintptr_t fcn) { vFppp_t fn = (vFppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
+void vFppV(x64emu_t *emu, uintptr_t fcn) { vFppV_t fn = (vFppV_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)(R_RSP + 8)); }
 void iFEiw(x64emu_t *emu, uintptr_t fcn) { iFEiw_t fn = (iFEiw_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (int16_t)R_RSI); }
 void iFEip(x64emu_t *emu, uintptr_t fcn) { iFEip_t fn = (iFEip_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI); }
 void iFEWW(x64emu_t *emu, uintptr_t fcn) { iFEWW_t fn = (iFEWW_t)fcn; R_RAX=(int64_t)fn(emu, (uint16_t)R_RDI, (uint16_t)R_RSI); }
@@ -1868,6 +2227,7 @@ void iFipu(x64emu_t *emu, uintptr_t fcn) { iFipu_t fn = (iFipu_t)fcn; R_RAX=(int
 void iFipL(x64emu_t *emu, uintptr_t fcn) { iFipL_t fn = (iFipL_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void iFipp(x64emu_t *emu, uintptr_t fcn) { iFipp_t fn = (iFipp_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void iFipO(x64emu_t *emu, uintptr_t fcn) { iFipO_t fn = (iFipO_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, of_convert((int32_t)R_RDX)); }
+void iFCiW(x64emu_t *emu, uintptr_t fcn) { iFCiW_t fn = (iFCiW_t)fcn; R_RAX=(int64_t)fn((uint8_t)R_RDI, (int64_t)R_RSI, (uint16_t)R_RDX); }
 void iFuwp(x64emu_t *emu, uintptr_t fcn) { iFuwp_t fn = (iFuwp_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (int16_t)R_RSI, (void*)R_RDX); }
 void iFuui(x64emu_t *emu, uintptr_t fcn) { iFuui_t fn = (iFuui_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX); }
 void iFuuu(x64emu_t *emu, uintptr_t fcn) { iFuuu_t fn = (iFuuu_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX); }
@@ -1887,6 +2247,7 @@ void iFpii(x64emu_t *emu, uintptr_t fcn) { iFpii_t fn = (iFpii_t)fcn; R_RAX=(int
 void iFpiu(x64emu_t *emu, uintptr_t fcn) { iFpiu_t fn = (iFpiu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX); }
 void iFpiL(x64emu_t *emu, uintptr_t fcn) { iFpiL_t fn = (iFpiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uintptr_t)R_RDX); }
 void iFpip(x64emu_t *emu, uintptr_t fcn) { iFpip_t fn = (iFpip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX); }
+void iFpIi(x64emu_t *emu, uintptr_t fcn) { iFpIi_t fn = (iFpIi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); }
 void iFpui(x64emu_t *emu, uintptr_t fcn) { iFpui_t fn = (iFpui_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX); }
 void iFpuu(x64emu_t *emu, uintptr_t fcn) { iFpuu_t fn = (iFpuu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX); }
 void iFpuU(x64emu_t *emu, uintptr_t fcn) { iFpuU_t fn = (iFpuU_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX); }
@@ -1917,6 +2278,7 @@ void iFSpL(x64emu_t *emu, uintptr_t fcn) { iFSpL_t fn = (iFSpL_t)fcn; R_RAX=(int
 void IFiIi(x64emu_t *emu, uintptr_t fcn) { IFiIi_t fn = (IFiIi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); }
 void IFpIi(x64emu_t *emu, uintptr_t fcn) { IFpIi_t fn = (IFpIi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); }
 void IFppi(x64emu_t *emu, uintptr_t fcn) { IFppi_t fn = (IFppi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
+void IFppu(x64emu_t *emu, uintptr_t fcn) { IFppu_t fn = (IFppu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX); }
 void IFSIi(x64emu_t *emu, uintptr_t fcn) { IFSIi_t fn = (IFSIi_t)fcn; R_RAX=(int64_t)fn(io_convert((void*)R_RDI), (int64_t)R_RSI, (int64_t)R_RDX); }
 void uFEpW(x64emu_t *emu, uintptr_t fcn) { uFEpW_t fn = (uFEpW_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (uint16_t)R_RSI); }
 void uFEpu(x64emu_t *emu, uintptr_t fcn) { uFEpu_t fn = (uFEpu_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI); }
@@ -1939,6 +2301,7 @@ void uFppi(x64emu_t *emu, uintptr_t fcn) { uFppi_t fn = (uFppi_t)fcn; R_RAX=(uin
 void uFppu(x64emu_t *emu, uintptr_t fcn) { uFppu_t fn = (uFppu_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX); }
 void uFppp(x64emu_t *emu, uintptr_t fcn) { uFppp_t fn = (uFppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void UFppi(x64emu_t *emu, uintptr_t fcn) { UFppi_t fn = (UFppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
+void UFppu(x64emu_t *emu, uintptr_t fcn) { UFppu_t fn = (UFppu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX); }
 void fFull(x64emu_t *emu, uintptr_t fcn) { fFull_t fn = (fFull_t)fcn; emu->xmm[0].f[0]=fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX); }
 void fFfff(x64emu_t *emu, uintptr_t fcn) { fFfff_t fn = (fFfff_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); }
 void fFffp(x64emu_t *emu, uintptr_t fcn) { fFffp_t fn = (fFffp_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], (void*)R_RDI); }
@@ -1946,6 +2309,7 @@ void fFppL(x64emu_t *emu, uintptr_t fcn) { fFppL_t fn = (fFppL_t)fcn; emu->xmm[0
 void fFppp(x64emu_t *emu, uintptr_t fcn) { fFppp_t fn = (fFppp_t)fcn; emu->xmm[0].f[0]=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void dFddd(x64emu_t *emu, uintptr_t fcn) { dFddd_t fn = (dFddd_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); }
 void dFddp(x64emu_t *emu, uintptr_t fcn) { dFddp_t fn = (dFddp_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], emu->xmm[1].d[0], (void*)R_RDI); }
+void dFpdd(x64emu_t *emu, uintptr_t fcn) { dFpdd_t fn = (dFpdd_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
 void dFppi(x64emu_t *emu, uintptr_t fcn) { dFppi_t fn = (dFppi_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
 void dFppp(x64emu_t *emu, uintptr_t fcn) { dFppp_t fn = (dFppp_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void DFppp(x64emu_t *emu, uintptr_t fcn) { DFppp_t fn = (DFppp_t)fcn; long double ld=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); fpu_do_push(emu); ST0val = ld; }
@@ -1957,6 +2321,7 @@ void lFlll(x64emu_t *emu, uintptr_t fcn) { lFlll_t fn = (lFlll_t)fcn; R_RAX=(int
 void lFlpi(x64emu_t *emu, uintptr_t fcn) { lFlpi_t fn = (lFlpi_t)fcn; R_RAX=(intptr_t)fn((intptr_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
 void lFpli(x64emu_t *emu, uintptr_t fcn) { lFpli_t fn = (lFpli_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX); }
 void lFpLu(x64emu_t *emu, uintptr_t fcn) { lFpLu_t fn = (lFpLu_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint64_t)R_RDX); }
+void lFpLp(x64emu_t *emu, uintptr_t fcn) { lFpLp_t fn = (lFpLp_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); }
 void lFppi(x64emu_t *emu, uintptr_t fcn) { lFppi_t fn = (lFppi_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
 void lFppL(x64emu_t *emu, uintptr_t fcn) { lFppL_t fn = (lFppL_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void lFppp(x64emu_t *emu, uintptr_t fcn) { lFppp_t fn = (lFppp_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
@@ -1973,16 +2338,26 @@ void LFppi(x64emu_t *emu, uintptr_t fcn) { LFppi_t fn = (LFppi_t)fcn; R_RAX=(uin
 void LFppL(x64emu_t *emu, uintptr_t fcn) { LFppL_t fn = (LFppL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void LFSpL(x64emu_t *emu, uintptr_t fcn) { LFSpL_t fn = (LFSpL_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI, (uintptr_t)R_RDX); }
 void pFEip(x64emu_t *emu, uintptr_t fcn) { pFEip_t fn = (pFEip_t)fcn; R_RAX=(uintptr_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI); }
+void pFEup(x64emu_t *emu, uintptr_t fcn) { pFEup_t fn = (pFEup_t)fcn; R_RAX=(uintptr_t)fn(emu, (uint64_t)R_RDI, (void*)R_RSI); }
 void pFEpi(x64emu_t *emu, uintptr_t fcn) { pFEpi_t fn = (pFEpi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI); }
+void pFEpu(x64emu_t *emu, uintptr_t fcn) { pFEpu_t fn = (pFEpu_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI); }
 void pFEpp(x64emu_t *emu, uintptr_t fcn) { pFEpp_t fn = (pFEpp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI); }
+void pFEpV(x64emu_t *emu, uintptr_t fcn) { pFEpV_t fn = (pFEpV_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)(R_RSP + 8)); }
+void pFEpA(x64emu_t *emu, uintptr_t fcn) { pFEpA_t fn = (pFEpA_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI); }
 void pFiii(x64emu_t *emu, uintptr_t fcn) { pFiii_t fn = (pFiii_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); }
+void pFiiu(x64emu_t *emu, uintptr_t fcn) { pFiiu_t fn = (pFiiu_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX); }
 void pFiip(x64emu_t *emu, uintptr_t fcn) { pFiip_t fn = (pFiip_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX); }
+void pFiIp(x64emu_t *emu, uintptr_t fcn) { pFiIp_t fn = (pFiIp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX); }
+void pFiup(x64emu_t *emu, uintptr_t fcn) { pFiup_t fn = (pFiup_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX); }
 void pFipi(x64emu_t *emu, uintptr_t fcn) { pFipi_t fn = (pFipi_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
 void pFipL(x64emu_t *emu, uintptr_t fcn) { pFipL_t fn = (pFipL_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void pFipp(x64emu_t *emu, uintptr_t fcn) { pFipp_t fn = (pFipp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void pFIpi(x64emu_t *emu, uintptr_t fcn) { pFIpi_t fn = (pFIpi_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
+void pFCiW(x64emu_t *emu, uintptr_t fcn) { pFCiW_t fn = (pFCiW_t)fcn; R_RAX=(uintptr_t)fn((uint8_t)R_RDI, (int64_t)R_RSI, (uint16_t)R_RDX); }
 void pFWWW(x64emu_t *emu, uintptr_t fcn) { pFWWW_t fn = (pFWWW_t)fcn; R_RAX=(uintptr_t)fn((uint16_t)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX); }
 void pFuii(x64emu_t *emu, uintptr_t fcn) { pFuii_t fn = (pFuii_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); }
+void pFuui(x64emu_t *emu, uintptr_t fcn) { pFuui_t fn = (pFuui_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX); }
+void pFuuu(x64emu_t *emu, uintptr_t fcn) { pFuuu_t fn = (pFuuu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX); }
 void pFupi(x64emu_t *emu, uintptr_t fcn) { pFupi_t fn = (pFupi_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
 void pFupL(x64emu_t *emu, uintptr_t fcn) { pFupL_t fn = (pFupL_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void pFUpi(x64emu_t *emu, uintptr_t fcn) { pFUpi_t fn = (pFUpi_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
@@ -1991,6 +2366,7 @@ void pFddd(x64emu_t *emu, uintptr_t fcn) { pFddd_t fn = (pFddd_t)fcn; R_RAX=(uin
 void pFDip(x64emu_t *emu, uintptr_t fcn) { pFDip_t fn = (pFDip_t)fcn; R_RAX=(uintptr_t)fn(LD2localLD((void*)(R_RSP + 8)), (int64_t)R_RDI, (void*)R_RSI); }
 void pFpii(x64emu_t *emu, uintptr_t fcn) { pFpii_t fn = (pFpii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); }
 void pFpiu(x64emu_t *emu, uintptr_t fcn) { pFpiu_t fn = (pFpiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX); }
+void pFpid(x64emu_t *emu, uintptr_t fcn) { pFpid_t fn = (pFpid_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, emu->xmm[0].d[0]); }
 void pFpil(x64emu_t *emu, uintptr_t fcn) { pFpil_t fn = (pFpil_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (intptr_t)R_RDX); }
 void pFpiL(x64emu_t *emu, uintptr_t fcn) { pFpiL_t fn = (pFpiL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (uintptr_t)R_RDX); }
 void pFpip(x64emu_t *emu, uintptr_t fcn) { pFpip_t fn = (pFpip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX); }
@@ -2001,11 +2377,16 @@ void pFpuu(x64emu_t *emu, uintptr_t fcn) { pFpuu_t fn = (pFpuu_t)fcn; R_RAX=(uin
 void pFpuL(x64emu_t *emu, uintptr_t fcn) { pFpuL_t fn = (pFpuL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX); }
 void pFpup(x64emu_t *emu, uintptr_t fcn) { pFpup_t fn = (pFpup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX); }
 void pFpUp(x64emu_t *emu, uintptr_t fcn) { pFpUp_t fn = (pFpUp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX); }
+void pFpdu(x64emu_t *emu, uintptr_t fcn) { pFpdu_t fn = (pFpdu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, emu->xmm[0].d[0], (uint64_t)R_RSI); }
+void pFplC(x64emu_t *emu, uintptr_t fcn) { pFplC_t fn = (pFplC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (uint8_t)R_RDX); }
+void pFplu(x64emu_t *emu, uintptr_t fcn) { pFplu_t fn = (pFplu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (uint64_t)R_RDX); }
+void pFpll(x64emu_t *emu, uintptr_t fcn) { pFpll_t fn = (pFpll_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX); }
 void pFplp(x64emu_t *emu, uintptr_t fcn) { pFplp_t fn = (pFplp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX); }
 void pFpLu(x64emu_t *emu, uintptr_t fcn) { pFpLu_t fn = (pFpLu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint64_t)R_RDX); }
 void pFpLL(x64emu_t *emu, uintptr_t fcn) { pFpLL_t fn = (pFpLL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX); }
 void pFpLp(x64emu_t *emu, uintptr_t fcn) { pFpLp_t fn = (pFpLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); }
 void pFppi(x64emu_t *emu, uintptr_t fcn) { pFppi_t fn = (pFppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
+void pFppC(x64emu_t *emu, uintptr_t fcn) { pFppC_t fn = (pFppC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint8_t)R_RDX); }
 void pFppu(x64emu_t *emu, uintptr_t fcn) { pFppu_t fn = (pFppu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX); }
 void pFppf(x64emu_t *emu, uintptr_t fcn) { pFppf_t fn = (pFppf_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].f[0]); }
 void pFppl(x64emu_t *emu, uintptr_t fcn) { pFppl_t fn = (pFppl_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX); }
@@ -2013,6 +2394,7 @@ void pFppL(x64emu_t *emu, uintptr_t fcn) { pFppL_t fn = (pFppL_t)fcn; R_RAX=(uin
 void pFppp(x64emu_t *emu, uintptr_t fcn) { pFppp_t fn = (pFppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void pFpOM(x64emu_t *emu, uintptr_t fcn) { pFpOM_t fn = (pFpOM_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, of_convert((int32_t)R_RSI), (void*)R_RDX, (void*)R_RCX); }
 void pFSpl(x64emu_t *emu, uintptr_t fcn) { pFSpl_t fn = (pFSpl_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI, (intptr_t)R_RDX); }
+void vFEiip(x64emu_t *emu, uintptr_t fcn) { vFEiip_t fn = (vFEiip_t)fcn; fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX); }
 void vFEipp(x64emu_t *emu, uintptr_t fcn) { vFEipp_t fn = (vFEipp_t)fcn; fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void vFEipV(x64emu_t *emu, uintptr_t fcn) { vFEipV_t fn = (vFEipV_t)fcn; fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)(R_RSP + 8)); }
 void vFEipA(x64emu_t *emu, uintptr_t fcn) { vFEipA_t fn = (vFEipA_t)fcn; fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
@@ -2020,6 +2402,8 @@ void vFEpii(x64emu_t *emu, uintptr_t fcn) { vFEpii_t fn = (vFEpii_t)fcn; fn(emu,
 void vFEpip(x64emu_t *emu, uintptr_t fcn) { vFEpip_t fn = (vFEpip_t)fcn; fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX); }
 void vFEpup(x64emu_t *emu, uintptr_t fcn) { vFEpup_t fn = (vFEpup_t)fcn; fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX); }
 void vFEppp(x64emu_t *emu, uintptr_t fcn) { vFEppp_t fn = (vFEppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
+void vFEppV(x64emu_t *emu, uintptr_t fcn) { vFEppV_t fn = (vFEppV_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)(R_RSP + 8)); }
+void vFEppA(x64emu_t *emu, uintptr_t fcn) { vFEppA_t fn = (vFEppA_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void vFiiii(x64emu_t *emu, uintptr_t fcn) { vFiiii_t fn = (vFiiii_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
 void vFiiip(x64emu_t *emu, uintptr_t fcn) { vFiiip_t fn = (vFiiip_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void vFiIII(x64emu_t *emu, uintptr_t fcn) { vFiIII_t fn = (vFiIII_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
@@ -2080,28 +2464,46 @@ void vFUUpi(x64emu_t *emu, uintptr_t fcn) { vFUUpi_t fn = (vFUUpi_t)fcn; fn((uin
 void vFffff(x64emu_t *emu, uintptr_t fcn) { vFffff_t fn = (vFffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0]); }
 void vFdddd(x64emu_t *emu, uintptr_t fcn) { vFdddd_t fn = (vFdddd_t)fcn; fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); }
 void vFpiii(x64emu_t *emu, uintptr_t fcn) { vFpiii_t fn = (vFpiii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
+void vFpiiu(x64emu_t *emu, uintptr_t fcn) { vFpiiu_t fn = (vFpiiu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX); }
 void vFpiip(x64emu_t *emu, uintptr_t fcn) { vFpiip_t fn = (vFpiip_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
+void vFpiuu(x64emu_t *emu, uintptr_t fcn) { vFpiuu_t fn = (vFpiuu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
 void vFpiuL(x64emu_t *emu, uintptr_t fcn) { vFpiuL_t fn = (vFpiuL_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX); }
 void vFpiup(x64emu_t *emu, uintptr_t fcn) { vFpiup_t fn = (vFpiup_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); }
+void vFpifi(x64emu_t *emu, uintptr_t fcn) { vFpifi_t fn = (vFpifi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, emu->xmm[0].f[0], (int64_t)R_RDX); }
 void vFpipi(x64emu_t *emu, uintptr_t fcn) { vFpipi_t fn = (vFpipi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
 void vFpipp(x64emu_t *emu, uintptr_t fcn) { vFpipp_t fn = (vFpipp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void vFpCiW(x64emu_t *emu, uintptr_t fcn) { vFpCiW_t fn = (vFpCiW_t)fcn; fn((void*)R_RDI, (uint8_t)R_RSI, (int64_t)R_RDX, (uint16_t)R_RCX); }
+void vFpuip(x64emu_t *emu, uintptr_t fcn) { vFpuip_t fn = (vFpuip_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
+void vFpuui(x64emu_t *emu, uintptr_t fcn) { vFpuui_t fn = (vFpuui_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX); }
 void vFpuuu(x64emu_t *emu, uintptr_t fcn) { vFpuuu_t fn = (vFpuuu_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
+void vFpuup(x64emu_t *emu, uintptr_t fcn) { vFpuup_t fn = (vFpuup_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); }
 void vFpudd(x64emu_t *emu, uintptr_t fcn) { vFpudd_t fn = (vFpudd_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
 void vFpupp(x64emu_t *emu, uintptr_t fcn) { vFpupp_t fn = (vFpupp_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void vFpdii(x64emu_t *emu, uintptr_t fcn) { vFpdii_t fn = (vFpdii_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], (int64_t)R_RSI, (int64_t)R_RDX); }
+void vFpddi(x64emu_t *emu, uintptr_t fcn) { vFpddi_t fn = (vFpddi_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RSI); }
 void vFpddd(x64emu_t *emu, uintptr_t fcn) { vFpddd_t fn = (vFpddd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); }
 void vFpLLL(x64emu_t *emu, uintptr_t fcn) { vFpLLL_t fn = (vFpLLL_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); }
 void vFppii(x64emu_t *emu, uintptr_t fcn) { vFppii_t fn = (vFppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
+void vFppiu(x64emu_t *emu, uintptr_t fcn) { vFppiu_t fn = (vFppiu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX); }
 void vFppid(x64emu_t *emu, uintptr_t fcn) { vFppid_t fn = (vFppid_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, emu->xmm[0].d[0]); }
+void vFppiL(x64emu_t *emu, uintptr_t fcn) { vFppiL_t fn = (vFppiL_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uintptr_t)R_RCX); }
 void vFppip(x64emu_t *emu, uintptr_t fcn) { vFppip_t fn = (vFppip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void vFppui(x64emu_t *emu, uintptr_t fcn) { vFppui_t fn = (vFppui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX); }
 void vFppuu(x64emu_t *emu, uintptr_t fcn) { vFppuu_t fn = (vFppuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
 void vFppup(x64emu_t *emu, uintptr_t fcn) { vFppup_t fn = (vFppup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); }
+void vFppfi(x64emu_t *emu, uintptr_t fcn) { vFppfi_t fn = (vFppfi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].f[0], (int64_t)R_RDX); }
+void vFppdu(x64emu_t *emu, uintptr_t fcn) { vFppdu_t fn = (vFppdu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], (uint64_t)R_RDX); }
 void vFppdd(x64emu_t *emu, uintptr_t fcn) { vFppdd_t fn = (vFppdd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
+void vFppdp(x64emu_t *emu, uintptr_t fcn) { vFppdp_t fn = (vFppdp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], (void*)R_RDX); }
+void vFpplp(x64emu_t *emu, uintptr_t fcn) { vFpplp_t fn = (vFpplp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); }
 void vFpppi(x64emu_t *emu, uintptr_t fcn) { vFpppi_t fn = (vFpppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
+void vFpppI(x64emu_t *emu, uintptr_t fcn) { vFpppI_t fn = (vFpppI_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
 void vFpppu(x64emu_t *emu, uintptr_t fcn) { vFpppu_t fn = (vFpppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
+void vFpppU(x64emu_t *emu, uintptr_t fcn) { vFpppU_t fn = (vFpppU_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
+void vFpppd(x64emu_t *emu, uintptr_t fcn) { vFpppd_t fn = (vFpppd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].d[0]); }
 void vFpppL(x64emu_t *emu, uintptr_t fcn) { vFpppL_t fn = (vFpppL_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void vFpppp(x64emu_t *emu, uintptr_t fcn) { vFpppp_t fn = (vFpppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void vFpppV(x64emu_t *emu, uintptr_t fcn) { vFpppV_t fn = (vFpppV_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); }
 void cFpiii(x64emu_t *emu, uintptr_t fcn) { cFpiii_t fn = (cFpiii_t)fcn; R_RAX=fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
 void iFEiip(x64emu_t *emu, uintptr_t fcn) { iFEiip_t fn = (iFEiip_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX); }
 void iFEiiN(x64emu_t *emu, uintptr_t fcn) { iFEiiN_t fn = (iFEiiN_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX); }
@@ -2143,6 +2545,7 @@ void iFippi(x64emu_t *emu, uintptr_t fcn) { iFippi_t fn = (iFippi_t)fcn; R_RAX=(
 void iFippL(x64emu_t *emu, uintptr_t fcn) { iFippL_t fn = (iFippL_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void iFippp(x64emu_t *emu, uintptr_t fcn) { iFippp_t fn = (iFippp_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFipON(x64emu_t *emu, uintptr_t fcn) { iFipON_t fn = (iFipON_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, of_convert((int32_t)R_RDX), (void*)R_RCX); }
+void iFuipu(x64emu_t *emu, uintptr_t fcn) { iFuipu_t fn = (iFuipu_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
 void iFuipp(x64emu_t *emu, uintptr_t fcn) { iFuipp_t fn = (iFuipp_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFuuff(x64emu_t *emu, uintptr_t fcn) { iFuuff_t fn = (iFuuff_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void iFuupi(x64emu_t *emu, uintptr_t fcn) { iFuupi_t fn = (iFuupi_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
@@ -2165,6 +2568,7 @@ void iFpipC(x64emu_t *emu, uintptr_t fcn) { iFpipC_t fn = (iFpipC_t)fcn; R_RAX=(
 void iFpipu(x64emu_t *emu, uintptr_t fcn) { iFpipu_t fn = (iFpipu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
 void iFpipp(x64emu_t *emu, uintptr_t fcn) { iFpipp_t fn = (iFpipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFpipV(x64emu_t *emu, uintptr_t fcn) { iFpipV_t fn = (iFpipV_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); }
+void iFpIip(x64emu_t *emu, uintptr_t fcn) { iFpIip_t fn = (iFpIip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void iFpCCC(x64emu_t *emu, uintptr_t fcn) { iFpCCC_t fn = (iFpCCC_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX); }
 void iFpWWu(x64emu_t *emu, uintptr_t fcn) { iFpWWu_t fn = (iFpWWu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX, (uint64_t)R_RCX); }
 void iFpuwp(x64emu_t *emu, uintptr_t fcn) { iFpuwp_t fn = (iFpuwp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int16_t)R_RDX, (void*)R_RCX); }
@@ -2175,6 +2579,7 @@ void iFpuuu(x64emu_t *emu, uintptr_t fcn) { iFpuuu_t fn = (iFpuuu_t)fcn; R_RAX=(
 void iFpuup(x64emu_t *emu, uintptr_t fcn) { iFpuup_t fn = (iFpuup_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); }
 void iFpuLL(x64emu_t *emu, uintptr_t fcn) { iFpuLL_t fn = (iFpuLL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); }
 void iFpuLp(x64emu_t *emu, uintptr_t fcn) { iFpuLp_t fn = (iFpuLp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
+void iFpupi(x64emu_t *emu, uintptr_t fcn) { iFpupi_t fn = (iFpupi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
 void iFpupu(x64emu_t *emu, uintptr_t fcn) { iFpupu_t fn = (iFpupu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
 void iFpupL(x64emu_t *emu, uintptr_t fcn) { iFpupL_t fn = (iFpupL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void iFpupp(x64emu_t *emu, uintptr_t fcn) { iFpupp_t fn = (iFpupp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
@@ -2211,8 +2616,12 @@ void iFpppp(x64emu_t *emu, uintptr_t fcn) { iFpppp_t fn = (iFpppp_t)fcn; R_RAX=(
 void IFEpIi(x64emu_t *emu, uintptr_t fcn) { IFEpIi_t fn = (IFEpIi_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); }
 void IFpIip(x64emu_t *emu, uintptr_t fcn) { IFpIip_t fn = (IFpIip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void IFppip(x64emu_t *emu, uintptr_t fcn) { IFppip_t fn = (IFppip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
+void IFpppp(x64emu_t *emu, uintptr_t fcn) { IFpppp_t fn = (IFpppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void IFSIii(x64emu_t *emu, uintptr_t fcn) { IFSIii_t fn = (IFSIii_t)fcn; R_RAX=(int64_t)fn(io_convert((void*)R_RDI), (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
+void uFEipp(x64emu_t *emu, uintptr_t fcn) { uFEipp_t fn = (uFEipp_t)fcn; R_RAX=(uint64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
+void uFEupp(x64emu_t *emu, uintptr_t fcn) { uFEupp_t fn = (uFEupp_t)fcn; R_RAX=(uint64_t)fn(emu, (uint64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void uFEpup(x64emu_t *emu, uintptr_t fcn) { uFEpup_t fn = (uFEpup_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX); }
+void uFEppp(x64emu_t *emu, uintptr_t fcn) { uFEppp_t fn = (uFEppp_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void uFifff(x64emu_t *emu, uintptr_t fcn) { uFifff_t fn = (uFifff_t)fcn; R_RAX=(uint64_t)fn((int64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); }
 void uFuuuu(x64emu_t *emu, uintptr_t fcn) { uFuuuu_t fn = (uFuuuu_t)fcn; R_RAX=(uint64_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
 void uFpipu(x64emu_t *emu, uintptr_t fcn) { uFpipu_t fn = (uFpipu_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
@@ -2221,10 +2630,13 @@ void uFpCCC(x64emu_t *emu, uintptr_t fcn) { uFpCCC_t fn = (uFpCCC_t)fcn; R_RAX=(
 void uFpuip(x64emu_t *emu, uintptr_t fcn) { uFpuip_t fn = (uFpuip_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void uFpuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuu_t fn = (uFpuuu_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
 void uFppiu(x64emu_t *emu, uintptr_t fcn) { uFppiu_t fn = (uFppiu_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX); }
+void uFppLp(x64emu_t *emu, uintptr_t fcn) { uFppLp_t fn = (uFppLp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void uFpppi(x64emu_t *emu, uintptr_t fcn) { uFpppi_t fn = (uFpppi_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
 void uFpppp(x64emu_t *emu, uintptr_t fcn) { uFpppp_t fn = (uFpppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void UFpipp(x64emu_t *emu, uintptr_t fcn) { UFpipp_t fn = (UFpipp_t)fcn; R_RAX=fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void UFppip(x64emu_t *emu, uintptr_t fcn) { UFppip_t fn = (UFppip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
+void UFpppp(x64emu_t *emu, uintptr_t fcn) { UFpppp_t fn = (UFpppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void dFpppp(x64emu_t *emu, uintptr_t fcn) { dFpppp_t fn = (dFpppp_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void lFEpip(x64emu_t *emu, uintptr_t fcn) { lFEpip_t fn = (lFEpip_t)fcn; R_RAX=(intptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX); }
 void lFEppL(x64emu_t *emu, uintptr_t fcn) { lFEppL_t fn = (lFEppL_t)fcn; R_RAX=(intptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void lFEppp(x64emu_t *emu, uintptr_t fcn) { lFEppp_t fn = (lFEppp_t)fcn; R_RAX=(intptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
@@ -2245,6 +2657,7 @@ void lFppii(x64emu_t *emu, uintptr_t fcn) { lFppii_t fn = (lFppii_t)fcn; R_RAX=(
 void lFppip(x64emu_t *emu, uintptr_t fcn) { lFppip_t fn = (lFppip_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void lFpppL(x64emu_t *emu, uintptr_t fcn) { lFpppL_t fn = (lFpppL_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void LFippL(x64emu_t *emu, uintptr_t fcn) { LFippL_t fn = (LFippL_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
+void LFippp(x64emu_t *emu, uintptr_t fcn) { LFippp_t fn = (LFippp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void LFpuuu(x64emu_t *emu, uintptr_t fcn) { LFpuuu_t fn = (LFpuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
 void LFpLLp(x64emu_t *emu, uintptr_t fcn) { LFpLLp_t fn = (LFpLLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void LFpLpp(x64emu_t *emu, uintptr_t fcn) { LFpLpp_t fn = (LFpLpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
@@ -2252,21 +2665,29 @@ void LFppii(x64emu_t *emu, uintptr_t fcn) { LFppii_t fn = (LFppii_t)fcn; R_RAX=(
 void LFppip(x64emu_t *emu, uintptr_t fcn) { LFppip_t fn = (LFppip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void LFppLL(x64emu_t *emu, uintptr_t fcn) { LFppLL_t fn = (LFppLL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); }
 void LFppLp(x64emu_t *emu, uintptr_t fcn) { LFppLp_t fn = (LFppLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
+void LFpppi(x64emu_t *emu, uintptr_t fcn) { LFpppi_t fn = (LFpppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
 void LFpppp(x64emu_t *emu, uintptr_t fcn) { LFpppp_t fn = (LFpppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void pFEipp(x64emu_t *emu, uintptr_t fcn) { pFEipp_t fn = (pFEipp_t)fcn; R_RAX=(uintptr_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
+void pFEipV(x64emu_t *emu, uintptr_t fcn) { pFEipV_t fn = (pFEipV_t)fcn; R_RAX=(uintptr_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)(R_RSP + 8)); }
+void pFEipA(x64emu_t *emu, uintptr_t fcn) { pFEipA_t fn = (pFEipA_t)fcn; R_RAX=(uintptr_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void pFEupp(x64emu_t *emu, uintptr_t fcn) { pFEupp_t fn = (pFEupp_t)fcn; R_RAX=(uintptr_t)fn(emu, (uint64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void pFEpii(x64emu_t *emu, uintptr_t fcn) { pFEpii_t fn = (pFEpii_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); }
 void pFEpip(x64emu_t *emu, uintptr_t fcn) { pFEpip_t fn = (pFEpip_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX); }
 void pFEppi(x64emu_t *emu, uintptr_t fcn) { pFEppi_t fn = (pFEppi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
 void pFEppp(x64emu_t *emu, uintptr_t fcn) { pFEppp_t fn = (pFEppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
+void pFEppV(x64emu_t *emu, uintptr_t fcn) { pFEppV_t fn = (pFEppV_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)(R_RSP + 8)); }
 void pFiiii(x64emu_t *emu, uintptr_t fcn) { pFiiii_t fn = (pFiiii_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
 void pFiiiu(x64emu_t *emu, uintptr_t fcn) { pFiiiu_t fn = (pFiiiu_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX); }
+void pFiiuu(x64emu_t *emu, uintptr_t fcn) { pFiiuu_t fn = (pFiiuu_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
 void pFiiup(x64emu_t *emu, uintptr_t fcn) { pFiiup_t fn = (pFiiup_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); }
+void pFipii(x64emu_t *emu, uintptr_t fcn) { pFipii_t fn = (pFipii_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
+void pFipip(x64emu_t *emu, uintptr_t fcn) { pFipip_t fn = (pFipip_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void pFippi(x64emu_t *emu, uintptr_t fcn) { pFippi_t fn = (pFippi_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
 void pFippu(x64emu_t *emu, uintptr_t fcn) { pFippu_t fn = (pFippu_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
 void pFuiii(x64emu_t *emu, uintptr_t fcn) { pFuiii_t fn = (pFuiii_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
 void pFulli(x64emu_t *emu, uintptr_t fcn) { pFulli_t fn = (pFulli_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (int64_t)R_RCX); }
 void pFullu(x64emu_t *emu, uintptr_t fcn) { pFullu_t fn = (pFullu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (uint64_t)R_RCX); }
+void pFffff(x64emu_t *emu, uintptr_t fcn) { pFffff_t fn = (pFffff_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0]); }
 void pFdipp(x64emu_t *emu, uintptr_t fcn) { pFdipp_t fn = (pFdipp_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0], (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void pFdddd(x64emu_t *emu, uintptr_t fcn) { pFdddd_t fn = (pFdddd_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); }
 void pFDipp(x64emu_t *emu, uintptr_t fcn) { pFDipp_t fn = (pFDipp_t)fcn; R_RAX=(uintptr_t)fn(LD2localLD((void*)(R_RSP + 8)), (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
@@ -2276,35 +2697,49 @@ void pFpiip(x64emu_t *emu, uintptr_t fcn) { pFpiip_t fn = (pFpiip_t)fcn; R_RAX=(
 void pFpiuu(x64emu_t *emu, uintptr_t fcn) { pFpiuu_t fn = (pFpiuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
 void pFpiLL(x64emu_t *emu, uintptr_t fcn) { pFpiLL_t fn = (pFpiLL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); }
 void pFpipi(x64emu_t *emu, uintptr_t fcn) { pFpipi_t fn = (pFpipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
+void pFpipd(x64emu_t *emu, uintptr_t fcn) { pFpipd_t fn = (pFpipd_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, emu->xmm[0].d[0]); }
 void pFpipp(x64emu_t *emu, uintptr_t fcn) { pFpipp_t fn = (pFpipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void pFpipV(x64emu_t *emu, uintptr_t fcn) { pFpipV_t fn = (pFpipV_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); }
 void pFpCWp(x64emu_t *emu, uintptr_t fcn) { pFpCWp_t fn = (pFpCWp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint16_t)R_RDX, (void*)R_RCX); }
 void pFpCuW(x64emu_t *emu, uintptr_t fcn) { pFpCuW_t fn = (pFpCuW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint16_t)R_RCX); }
 void pFpCuu(x64emu_t *emu, uintptr_t fcn) { pFpCuu_t fn = (pFpCuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
 void pFpuii(x64emu_t *emu, uintptr_t fcn) { pFpuii_t fn = (pFpuii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
+void pFpuip(x64emu_t *emu, uintptr_t fcn) { pFpuip_t fn = (pFpuip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void pFpuWp(x64emu_t *emu, uintptr_t fcn) { pFpuWp_t fn = (pFpuWp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint16_t)R_RDX, (void*)R_RCX); }
 void pFpuuC(x64emu_t *emu, uintptr_t fcn) { pFpuuC_t fn = (pFpuuC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint8_t)R_RCX); }
 void pFpuuu(x64emu_t *emu, uintptr_t fcn) { pFpuuu_t fn = (pFpuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
 void pFpuup(x64emu_t *emu, uintptr_t fcn) { pFpuup_t fn = (pFpuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); }
 void pFpupi(x64emu_t *emu, uintptr_t fcn) { pFpupi_t fn = (pFpupi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
+void pFpupu(x64emu_t *emu, uintptr_t fcn) { pFpupu_t fn = (pFpupu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
+void pFplpl(x64emu_t *emu, uintptr_t fcn) { pFplpl_t fn = (pFplpl_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (intptr_t)R_RCX); }
 void pFplpp(x64emu_t *emu, uintptr_t fcn) { pFplpp_t fn = (pFplpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void pFpLip(x64emu_t *emu, uintptr_t fcn) { pFpLip_t fn = (pFpLip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void pFpLpL(x64emu_t *emu, uintptr_t fcn) { pFpLpL_t fn = (pFpLpL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void pFppii(x64emu_t *emu, uintptr_t fcn) { pFppii_t fn = (pFppii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
+void pFppiu(x64emu_t *emu, uintptr_t fcn) { pFppiu_t fn = (pFppiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX); }
 void pFppiL(x64emu_t *emu, uintptr_t fcn) { pFppiL_t fn = (pFppiL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uintptr_t)R_RCX); }
 void pFppip(x64emu_t *emu, uintptr_t fcn) { pFppip_t fn = (pFppip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
 void pFppuW(x64emu_t *emu, uintptr_t fcn) { pFppuW_t fn = (pFppuW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint16_t)R_RCX); }
 void pFppuu(x64emu_t *emu, uintptr_t fcn) { pFppuu_t fn = (pFppuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
 void pFppuL(x64emu_t *emu, uintptr_t fcn) { pFppuL_t fn = (pFppuL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX); }
 void pFppup(x64emu_t *emu, uintptr_t fcn) { pFppup_t fn = (pFppup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); }
+void pFppdd(x64emu_t *emu, uintptr_t fcn) { pFppdd_t fn = (pFppdd_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
 void pFppLL(x64emu_t *emu, uintptr_t fcn) { pFppLL_t fn = (pFppLL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); }
+void pFppLp(x64emu_t *emu, uintptr_t fcn) { pFppLp_t fn = (pFppLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void pFpppi(x64emu_t *emu, uintptr_t fcn) { pFpppi_t fn = (pFpppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
 void pFpppu(x64emu_t *emu, uintptr_t fcn) { pFpppu_t fn = (pFpppu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
 void pFpppL(x64emu_t *emu, uintptr_t fcn) { pFpppL_t fn = (pFpppL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void pFpppp(x64emu_t *emu, uintptr_t fcn) { pFpppp_t fn = (pFpppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void pFSppi(x64emu_t *emu, uintptr_t fcn) { pFSppi_t fn = (pFSppi_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
 void vFEiipV(x64emu_t *emu, uintptr_t fcn) { vFEiipV_t fn = (vFEiipV_t)fcn; fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); }
+void vFEippp(x64emu_t *emu, uintptr_t fcn) { vFEippp_t fn = (vFEippp_t)fcn; fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void vFEpuup(x64emu_t *emu, uintptr_t fcn) { vFEpuup_t fn = (vFEpuup_t)fcn; fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); }
+void vFEpuuV(x64emu_t *emu, uintptr_t fcn) { vFEpuuV_t fn = (vFEpuuV_t)fcn; fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)(R_RSP + 8)); }
+void vFEpupp(x64emu_t *emu, uintptr_t fcn) { vFEpupp_t fn = (vFEpupp_t)fcn; fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void vFEpupA(x64emu_t *emu, uintptr_t fcn) { vFEpupA_t fn = (vFEpupA_t)fcn; fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void vFEpLLp(x64emu_t *emu, uintptr_t fcn) { vFEpLLp_t fn = (vFEpLLp_t)fcn; fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
+void vFEppip(x64emu_t *emu, uintptr_t fcn) { vFEppip_t fn = (vFEppip_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX); }
+void vFEppup(x64emu_t *emu, uintptr_t fcn) { vFEppup_t fn = (vFEppup_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); }
 void vFEpppp(x64emu_t *emu, uintptr_t fcn) { vFEpppp_t fn = (vFEpppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void vFiiiii(x64emu_t *emu, uintptr_t fcn) { vFiiiii_t fn = (vFiiiii_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
 void vFiiiiu(x64emu_t *emu, uintptr_t fcn) { vFiiiiu_t fn = (vFiiiiu_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8); }
@@ -2374,25 +2809,42 @@ void vFUUppp(x64emu_t *emu, uintptr_t fcn) { vFUUppp_t fn = (vFUUppp_t)fcn; fn((
 void vFfffff(x64emu_t *emu, uintptr_t fcn) { vFfffff_t fn = (vFfffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0]); }
 void vFddddp(x64emu_t *emu, uintptr_t fcn) { vFddddp_t fn = (vFddddp_t)fcn; fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], (void*)R_RDI); }
 void vFpiiii(x64emu_t *emu, uintptr_t fcn) { vFpiiii_t fn = (vFpiiii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
+void vFpiiiu(x64emu_t *emu, uintptr_t fcn) { vFpiiiu_t fn = (vFpiiiu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8); }
+void vFpiiff(x64emu_t *emu, uintptr_t fcn) { vFpiiff_t fn = (vFpiiff_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void vFpiipp(x64emu_t *emu, uintptr_t fcn) { vFpiipp_t fn = (vFpiipp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFpipii(x64emu_t *emu, uintptr_t fcn) { vFpipii_t fn = (vFpipii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
+void vFpipiu(x64emu_t *emu, uintptr_t fcn) { vFpipiu_t fn = (vFpipiu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8); }
+void vFpuiip(x64emu_t *emu, uintptr_t fcn) { vFpuiip_t fn = (vFpuiip_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
 void vFpuipp(x64emu_t *emu, uintptr_t fcn) { vFpuipp_t fn = (vFpuipp_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void vFpuipV(x64emu_t *emu, uintptr_t fcn) { vFpuipV_t fn = (vFpuipV_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)(R_RSP + 8)); }
+void vFpuuuu(x64emu_t *emu, uintptr_t fcn) { vFpuuuu_t fn = (vFpuuuu_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
 void vFpuddd(x64emu_t *emu, uintptr_t fcn) { vFpuddd_t fn = (vFpuddd_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); }
+void vFpffff(x64emu_t *emu, uintptr_t fcn) { vFpffff_t fn = (vFpffff_t)fcn; fn((void*)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0]); }
 void vFpddii(x64emu_t *emu, uintptr_t fcn) { vFpddii_t fn = (vFpddii_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RSI, (int64_t)R_RDX); }
 void vFpdddd(x64emu_t *emu, uintptr_t fcn) { vFpdddd_t fn = (vFpdddd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); }
+void vFpddpp(x64emu_t *emu, uintptr_t fcn) { vFpddpp_t fn = (vFpddpp_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (void*)R_RSI, (void*)R_RDX); }
 void vFpliil(x64emu_t *emu, uintptr_t fcn) { vFpliil_t fn = (vFpliil_t)fcn; fn((void*)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (intptr_t)R_R8); }
 void vFppiii(x64emu_t *emu, uintptr_t fcn) { vFppiii_t fn = (vFppiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
+void vFppiiu(x64emu_t *emu, uintptr_t fcn) { vFppiiu_t fn = (vFppiiu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8); }
 void vFppiip(x64emu_t *emu, uintptr_t fcn) { vFppiip_t fn = (vFppiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
 void vFppiup(x64emu_t *emu, uintptr_t fcn) { vFppiup_t fn = (vFppiup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); }
+void vFppiff(x64emu_t *emu, uintptr_t fcn) { vFppiff_t fn = (vFppiff_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
+void vFppipi(x64emu_t *emu, uintptr_t fcn) { vFppipi_t fn = (vFppipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void vFppipp(x64emu_t *emu, uintptr_t fcn) { vFppipp_t fn = (vFppipp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFppWui(x64emu_t *emu, uintptr_t fcn) { vFppWui_t fn = (vFppWui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint16_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8); }
 void vFppuui(x64emu_t *emu, uintptr_t fcn) { vFppuui_t fn = (vFppuui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8); }
+void vFppupi(x64emu_t *emu, uintptr_t fcn) { vFppupi_t fn = (vFppupi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
+void vFppupp(x64emu_t *emu, uintptr_t fcn) { vFppupp_t fn = (vFppupp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFpppii(x64emu_t *emu, uintptr_t fcn) { vFpppii_t fn = (vFpppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
 void vFpppip(x64emu_t *emu, uintptr_t fcn) { vFpppip_t fn = (vFpppip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
+void vFpppuu(x64emu_t *emu, uintptr_t fcn) { vFpppuu_t fn = (vFpppuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
 void vFppppi(x64emu_t *emu, uintptr_t fcn) { vFppppi_t fn = (vFppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void vFppppu(x64emu_t *emu, uintptr_t fcn) { vFppppu_t fn = (vFppppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8); }
+void vFppppL(x64emu_t *emu, uintptr_t fcn) { vFppppL_t fn = (vFppppL_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
 void vFppppp(x64emu_t *emu, uintptr_t fcn) { vFppppp_t fn = (vFppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void iFEiipp(x64emu_t *emu, uintptr_t fcn) { iFEiipp_t fn = (iFEiipp_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFEiipV(x64emu_t *emu, uintptr_t fcn) { iFEiipV_t fn = (iFEiipV_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); }
+void iFEippi(x64emu_t *emu, uintptr_t fcn) { iFEippi_t fn = (iFEippi_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
 void iFEippp(x64emu_t *emu, uintptr_t fcn) { iFEippp_t fn = (iFEippp_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFEpiii(x64emu_t *emu, uintptr_t fcn) { iFEpiii_t fn = (iFEpiii_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); }
 void iFEpipi(x64emu_t *emu, uintptr_t fcn) { iFEpipi_t fn = (iFEpipi_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
@@ -2437,6 +2889,8 @@ void iFpiipp(x64emu_t *emu, uintptr_t fcn) { iFpiipp_t fn = (iFpiipp_t)fcn; R_RA
 void iFpiuwp(x64emu_t *emu, uintptr_t fcn) { iFpiuwp_t fn = (iFpiuwp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (int16_t)R_RCX, (void*)R_R8); }
 void iFpipii(x64emu_t *emu, uintptr_t fcn) { iFpipii_t fn = (iFpipii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
 void iFpipiL(x64emu_t *emu, uintptr_t fcn) { iFpipiL_t fn = (iFpipiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (uintptr_t)R_R8); }
+void iFpipip(x64emu_t *emu, uintptr_t fcn) { iFpipip_t fn = (iFpipip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
+void iFpippi(x64emu_t *emu, uintptr_t fcn) { iFpippi_t fn = (iFpippi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void iFpippW(x64emu_t *emu, uintptr_t fcn) { iFpippW_t fn = (iFpippW_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint16_t)R_R8); }
 void iFpippp(x64emu_t *emu, uintptr_t fcn) { iFpippp_t fn = (iFpippp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpCCCC(x64emu_t *emu, uintptr_t fcn) { iFpCCCC_t fn = (iFpCCCC_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8); }
@@ -2445,9 +2899,11 @@ void iFpuuui(x64emu_t *emu, uintptr_t fcn) { iFpuuui_t fn = (iFpuuui_t)fcn; R_RA
 void iFpuuup(x64emu_t *emu, uintptr_t fcn) { iFpuuup_t fn = (iFpuuup_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); }
 void iFpuuLL(x64emu_t *emu, uintptr_t fcn) { iFpuuLL_t fn = (iFpuuLL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); }
 void iFpuupp(x64emu_t *emu, uintptr_t fcn) { iFpuupp_t fn = (iFpuupp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void iFpuppp(x64emu_t *emu, uintptr_t fcn) { iFpuppp_t fn = (iFpuppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFplluu(x64emu_t *emu, uintptr_t fcn) { iFplluu_t fn = (iFplluu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
 void iFpLiLi(x64emu_t *emu, uintptr_t fcn) { iFpLiLi_t fn = (iFpLiLi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (uintptr_t)R_RCX, (int64_t)R_R8); }
 void iFpLlpp(x64emu_t *emu, uintptr_t fcn) { iFpLlpp_t fn = (iFpLlpp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void iFppiiu(x64emu_t *emu, uintptr_t fcn) { iFppiiu_t fn = (iFppiiu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8); }
 void iFppiip(x64emu_t *emu, uintptr_t fcn) { iFppiip_t fn = (iFppiip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
 void iFppiup(x64emu_t *emu, uintptr_t fcn) { iFppiup_t fn = (iFppiup_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); }
 void iFppiLi(x64emu_t *emu, uintptr_t fcn) { iFppiLi_t fn = (iFppiLi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uintptr_t)R_RCX, (int64_t)R_R8); }
@@ -2458,20 +2914,27 @@ void iFppuip(x64emu_t *emu, uintptr_t fcn) { iFppuip_t fn = (iFppuip_t)fcn; R_RA
 void iFppupi(x64emu_t *emu, uintptr_t fcn) { iFppupi_t fn = (iFppupi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void iFppupp(x64emu_t *emu, uintptr_t fcn) { iFppupp_t fn = (iFppupp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFppllp(x64emu_t *emu, uintptr_t fcn) { iFppllp_t fn = (iFppllp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8); }
+void iFpplpp(x64emu_t *emu, uintptr_t fcn) { iFpplpp_t fn = (iFpplpp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void iFppLip(x64emu_t *emu, uintptr_t fcn) { iFppLip_t fn = (iFppLip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
 void iFppLpi(x64emu_t *emu, uintptr_t fcn) { iFppLpi_t fn = (iFppLpi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void iFppLpL(x64emu_t *emu, uintptr_t fcn) { iFppLpL_t fn = (iFppLpL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
 void iFppLpp(x64emu_t *emu, uintptr_t fcn) { iFppLpp_t fn = (iFppLpp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpppii(x64emu_t *emu, uintptr_t fcn) { iFpppii_t fn = (iFpppii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
 void iFpppiL(x64emu_t *emu, uintptr_t fcn) { iFpppiL_t fn = (iFpppiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (uintptr_t)R_R8); }
 void iFpppip(x64emu_t *emu, uintptr_t fcn) { iFpppip_t fn = (iFpppip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
+void iFpppui(x64emu_t *emu, uintptr_t fcn) { iFpppui_t fn = (iFpppui_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8); }
 void iFpppLi(x64emu_t *emu, uintptr_t fcn) { iFpppLi_t fn = (iFpppLi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (int64_t)R_R8); }
 void iFpppLp(x64emu_t *emu, uintptr_t fcn) { iFpppLp_t fn = (iFpppLp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
 void iFppppi(x64emu_t *emu, uintptr_t fcn) { iFppppi_t fn = (iFppppi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void iFppppL(x64emu_t *emu, uintptr_t fcn) { iFppppL_t fn = (iFppppL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
 void iFppppp(x64emu_t *emu, uintptr_t fcn) { iFppppp_t fn = (iFppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void IFppIII(x64emu_t *emu, uintptr_t fcn) { IFppIII_t fn = (IFppIII_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
+void uFEippp(x64emu_t *emu, uintptr_t fcn) { uFEippp_t fn = (uFEippp_t)fcn; R_RAX=(uint64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void uFEpipp(x64emu_t *emu, uintptr_t fcn) { uFEpipp_t fn = (uFEpipp_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void uFEppuu(x64emu_t *emu, uintptr_t fcn) { uFEppuu_t fn = (uFEppuu_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
+void uFEpppp(x64emu_t *emu, uintptr_t fcn) { uFEpppp_t fn = (uFEpppp_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void uFiuuuu(x64emu_t *emu, uintptr_t fcn) { uFiuuuu_t fn = (uFiuuuu_t)fcn; R_RAX=(uint64_t)fn((int64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
+void uFipipp(x64emu_t *emu, uintptr_t fcn) { uFipipp_t fn = (uFipipp_t)fcn; R_RAX=(uint64_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFuiiiu(x64emu_t *emu, uintptr_t fcn) { uFuiiiu_t fn = (uFuiiiu_t)fcn; R_RAX=(uint64_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8); }
 void uFpCCCC(x64emu_t *emu, uintptr_t fcn) { uFpCCCC_t fn = (uFpCCCC_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8); }
 void uFpuuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuuu_t fn = (uFpuuuu_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
@@ -2479,12 +2942,15 @@ void uFppiip(x64emu_t *emu, uintptr_t fcn) { uFppiip_t fn = (uFppiip_t)fcn; R_RA
 void uFppipp(x64emu_t *emu, uintptr_t fcn) { uFppipp_t fn = (uFppipp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFppupp(x64emu_t *emu, uintptr_t fcn) { uFppupp_t fn = (uFppupp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFpplip(x64emu_t *emu, uintptr_t fcn) { uFpplip_t fn = (uFpplip_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
+void uFppLpp(x64emu_t *emu, uintptr_t fcn) { uFppLpp_t fn = (uFppLpp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFppppu(x64emu_t *emu, uintptr_t fcn) { uFppppu_t fn = (uFppppu_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8); }
 void uFppppp(x64emu_t *emu, uintptr_t fcn) { uFppppp_t fn = (uFppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void UFuiiii(x64emu_t *emu, uintptr_t fcn) { UFuiiii_t fn = (UFuiiii_t)fcn; R_RAX=fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
 void lFipili(x64emu_t *emu, uintptr_t fcn) { lFipili_t fn = (lFipili_t)fcn; R_RAX=(intptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX, (int64_t)R_R8); }
 void lFipLli(x64emu_t *emu, uintptr_t fcn) { lFipLli_t fn = (lFipLli_t)fcn; R_RAX=(intptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (intptr_t)R_RCX, (int64_t)R_R8); }
 void lFipLLi(x64emu_t *emu, uintptr_t fcn) { lFipLLi_t fn = (lFipLLi_t)fcn; R_RAX=(intptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (int64_t)R_R8); }
+void LFEpppp(x64emu_t *emu, uintptr_t fcn) { LFEpppp_t fn = (LFEpppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void LFpuppi(x64emu_t *emu, uintptr_t fcn) { LFpuppi_t fn = (LFpuppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void LFpLLLp(x64emu_t *emu, uintptr_t fcn) { LFpLLLp_t fn = (LFpLLLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
 void LFpLppL(x64emu_t *emu, uintptr_t fcn) { LFpLppL_t fn = (LFpLppL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
 void LFpLppp(x64emu_t *emu, uintptr_t fcn) { LFpLppp_t fn = (LFpLppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -2501,13 +2967,17 @@ void pFEppLp(x64emu_t *emu, uintptr_t fcn) { pFEppLp_t fn = (pFEppLp_t)fcn; R_RA
 void pFEpppi(x64emu_t *emu, uintptr_t fcn) { pFEpppi_t fn = (pFEpppi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); }
 void pFEpppu(x64emu_t *emu, uintptr_t fcn) { pFEpppu_t fn = (pFEpppu_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
 void pFEpppp(x64emu_t *emu, uintptr_t fcn) { pFEpppp_t fn = (pFEpppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void pFiiiii(x64emu_t *emu, uintptr_t fcn) { pFiiiii_t fn = (pFiiiii_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
 void pFipipL(x64emu_t *emu, uintptr_t fcn) { pFipipL_t fn = (pFipipL_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
+void pFipppu(x64emu_t *emu, uintptr_t fcn) { pFipppu_t fn = (pFipppu_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8); }
 void pFuiiiu(x64emu_t *emu, uintptr_t fcn) { pFuiiiu_t fn = (pFuiiiu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8); }
 void pFuiipp(x64emu_t *emu, uintptr_t fcn) { pFuiipp_t fn = (pFuiipp_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFpiiii(x64emu_t *emu, uintptr_t fcn) { pFpiiii_t fn = (pFpiiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
+void pFpiiip(x64emu_t *emu, uintptr_t fcn) { pFpiiip_t fn = (pFpiiip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
 void pFpiiuu(x64emu_t *emu, uintptr_t fcn) { pFpiiuu_t fn = (pFpiiuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
 void pFpiipi(x64emu_t *emu, uintptr_t fcn) { pFpiipi_t fn = (pFpiipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void pFpiipp(x64emu_t *emu, uintptr_t fcn) { pFpiipp_t fn = (pFpiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void pFpiCCC(x64emu_t *emu, uintptr_t fcn) { pFpiCCC_t fn = (pFpiCCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8); }
 void pFpiuuu(x64emu_t *emu, uintptr_t fcn) { pFpiuuu_t fn = (pFpiuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
 void pFpippi(x64emu_t *emu, uintptr_t fcn) { pFpippi_t fn = (pFpippi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void pFpippp(x64emu_t *emu, uintptr_t fcn) { pFpippp_t fn = (pFpippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -2520,22 +2990,31 @@ void pFpuuip(x64emu_t *emu, uintptr_t fcn) { pFpuuip_t fn = (pFpuuip_t)fcn; R_RA
 void pFpuuWW(x64emu_t *emu, uintptr_t fcn) { pFpuuWW_t fn = (pFpuuWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8); }
 void pFpuuup(x64emu_t *emu, uintptr_t fcn) { pFpuuup_t fn = (pFpuuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); }
 void pFpdddd(x64emu_t *emu, uintptr_t fcn) { pFpdddd_t fn = (pFpdddd_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); }
+void pFplppp(x64emu_t *emu, uintptr_t fcn) { pFplppp_t fn = (pFplppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFppiii(x64emu_t *emu, uintptr_t fcn) { pFppiii_t fn = (pFppiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
 void pFppiip(x64emu_t *emu, uintptr_t fcn) { pFppiip_t fn = (pFppiip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
+void pFppiup(x64emu_t *emu, uintptr_t fcn) { pFppiup_t fn = (pFppiup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); }
 void pFppipi(x64emu_t *emu, uintptr_t fcn) { pFppipi_t fn = (pFppipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void pFppipp(x64emu_t *emu, uintptr_t fcn) { pFppipp_t fn = (pFppipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFppuuu(x64emu_t *emu, uintptr_t fcn) { pFppuuu_t fn = (pFppuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
 void pFppuup(x64emu_t *emu, uintptr_t fcn) { pFppuup_t fn = (pFppuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); }
+void pFppddi(x64emu_t *emu, uintptr_t fcn) { pFppddi_t fn = (pFppddi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RDX); }
 void pFppLLp(x64emu_t *emu, uintptr_t fcn) { pFppLLp_t fn = (pFppLLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
+void pFpppii(x64emu_t *emu, uintptr_t fcn) { pFpppii_t fn = (pFpppii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); }
 void pFpppip(x64emu_t *emu, uintptr_t fcn) { pFpppip_t fn = (pFpppip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
+void pFpppui(x64emu_t *emu, uintptr_t fcn) { pFpppui_t fn = (pFpppui_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8); }
 void pFpppuu(x64emu_t *emu, uintptr_t fcn) { pFpppuu_t fn = (pFpppuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
 void pFpppup(x64emu_t *emu, uintptr_t fcn) { pFpppup_t fn = (pFpppup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (void*)R_R8); }
 void pFpppLi(x64emu_t *emu, uintptr_t fcn) { pFpppLi_t fn = (pFpppLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (int64_t)R_R8); }
 void pFppppi(x64emu_t *emu, uintptr_t fcn) { pFppppi_t fn = (pFppppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void pFppppp(x64emu_t *emu, uintptr_t fcn) { pFppppp_t fn = (pFppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFEiiipp(x64emu_t *emu, uintptr_t fcn) { vFEiiipp_t fn = (vFEiiipp_t)fcn; fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void vFEpiLpp(x64emu_t *emu, uintptr_t fcn) { vFEpiLpp_t fn = (vFEpiLpp_t)fcn; fn(emu, (void*)R_RDI, (int64_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void vFEpippp(x64emu_t *emu, uintptr_t fcn) { vFEpippp_t fn = (vFEpippp_t)fcn; fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFEpuipp(x64emu_t *emu, uintptr_t fcn) { vFEpuipp_t fn = (vFEpuipp_t)fcn; fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFEpLLpp(x64emu_t *emu, uintptr_t fcn) { vFEpLLpp_t fn = (vFEpLLpp_t)fcn; fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void vFEppipV(x64emu_t *emu, uintptr_t fcn) { vFEppipV_t fn = (vFEppipV_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)(R_RSP + 8)); }
+void vFEppupp(x64emu_t *emu, uintptr_t fcn) { vFEppupp_t fn = (vFEppupp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFEppppp(x64emu_t *emu, uintptr_t fcn) { vFEppppp_t fn = (vFEppppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFiiiiii(x64emu_t *emu, uintptr_t fcn) { vFiiiiii_t fn = (vFiiiiii_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void vFiiiuil(x64emu_t *emu, uintptr_t fcn) { vFiiiuil_t fn = (vFiiiuil_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9); }
@@ -2593,32 +3072,46 @@ void vFuppppp(x64emu_t *emu, uintptr_t fcn) { vFuppppp_t fn = (vFuppppp_t)fcn; f
 void vFffffff(x64emu_t *emu, uintptr_t fcn) { vFffffff_t fn = (vFffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0]); }
 void vFdddddd(x64emu_t *emu, uintptr_t fcn) { vFdddddd_t fn = (vFdddddd_t)fcn; fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0]); }
 void vFpiiiii(x64emu_t *emu, uintptr_t fcn) { vFpiiiii_t fn = (vFpiiiii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
+void vFpiiipp(x64emu_t *emu, uintptr_t fcn) { vFpiiipp_t fn = (vFpiiipp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpiiuuu(x64emu_t *emu, uintptr_t fcn) { vFpiiuuu_t fn = (vFpiiuuu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9); }
 void vFpiippp(x64emu_t *emu, uintptr_t fcn) { vFpiippp_t fn = (vFpiippp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpipipV(x64emu_t *emu, uintptr_t fcn) { vFpipipV_t fn = (vFpipipV_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)(R_RSP + 8)); }
 void vFpipppi(x64emu_t *emu, uintptr_t fcn) { vFpipppi_t fn = (vFpipppi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
+void vFpuiiiu(x64emu_t *emu, uintptr_t fcn) { vFpuiiiu_t fn = (vFpuiiiu_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9); }
+void vFpuiipp(x64emu_t *emu, uintptr_t fcn) { vFpuiipp_t fn = (vFpuiipp_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpudddd(x64emu_t *emu, uintptr_t fcn) { vFpudddd_t fn = (vFpudddd_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); }
 void vFpdddii(x64emu_t *emu, uintptr_t fcn) { vFpdddii_t fn = (vFpdddii_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], (int64_t)R_RSI, (int64_t)R_RDX); }
 void vFpddddd(x64emu_t *emu, uintptr_t fcn) { vFpddddd_t fn = (vFpddddd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0]); }
 void vFppiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiii_t fn = (vFppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void vFppiiip(x64emu_t *emu, uintptr_t fcn) { vFppiiip_t fn = (vFppiiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9); }
+void vFppiiui(x64emu_t *emu, uintptr_t fcn) { vFppiiui_t fn = (vFppiiui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (int64_t)R_R9); }
 void vFppiipi(x64emu_t *emu, uintptr_t fcn) { vFppiipi_t fn = (vFppiipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9); }
+void vFppiipp(x64emu_t *emu, uintptr_t fcn) { vFppiipp_t fn = (vFppiipp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFppilpp(x64emu_t *emu, uintptr_t fcn) { vFppilpp_t fn = (vFppilpp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFppippi(x64emu_t *emu, uintptr_t fcn) { vFppippi_t fn = (vFppippi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void vFppippp(x64emu_t *emu, uintptr_t fcn) { vFppippp_t fn = (vFppippp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void vFppuuuu(x64emu_t *emu, uintptr_t fcn) { vFppuuuu_t fn = (vFppuuuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9); }
 void vFppupii(x64emu_t *emu, uintptr_t fcn) { vFppupii_t fn = (vFppupii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
+void vFppuppp(x64emu_t *emu, uintptr_t fcn) { vFppuppp_t fn = (vFppuppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void vFppdidd(x64emu_t *emu, uintptr_t fcn) { vFppdidd_t fn = (vFppdidd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], (int64_t)R_RDX, emu->xmm[1].d[0], emu->xmm[2].d[0]); }
 void vFpplppi(x64emu_t *emu, uintptr_t fcn) { vFpplppi_t fn = (vFpplppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void vFpplppp(x64emu_t *emu, uintptr_t fcn) { vFpplppp_t fn = (vFpplppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFppLppi(x64emu_t *emu, uintptr_t fcn) { vFppLppi_t fn = (vFppLppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void vFppLppp(x64emu_t *emu, uintptr_t fcn) { vFppLppp_t fn = (vFppLppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpppiii(x64emu_t *emu, uintptr_t fcn) { vFpppiii_t fn = (vFpppiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void vFpppiip(x64emu_t *emu, uintptr_t fcn) { vFpppiip_t fn = (vFpppiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9); }
+void vFpppiff(x64emu_t *emu, uintptr_t fcn) { vFpppiff_t fn = (vFpppiff_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void vFpppipu(x64emu_t *emu, uintptr_t fcn) { vFpppipu_t fn = (vFpppipu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (uint64_t)R_R9); }
+void vFpppuii(x64emu_t *emu, uintptr_t fcn) { vFpppuii_t fn = (vFpppuii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void vFppppii(x64emu_t *emu, uintptr_t fcn) { vFppppii_t fn = (vFppppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void vFpppppi(x64emu_t *emu, uintptr_t fcn) { vFpppppi_t fn = (vFpppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
+void vFpppppu(x64emu_t *emu, uintptr_t fcn) { vFpppppu_t fn = (vFpppppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9); }
+void vFpppppL(x64emu_t *emu, uintptr_t fcn) { vFpppppL_t fn = (vFpppppL_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9); }
 void vFpppppp(x64emu_t *emu, uintptr_t fcn) { vFpppppp_t fn = (vFpppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void cFppLppi(x64emu_t *emu, uintptr_t fcn) { cFppLppi_t fn = (cFppLppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void iFEiippi(x64emu_t *emu, uintptr_t fcn) { iFEiippi_t fn = (iFEiippi_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
+void iFEiippp(x64emu_t *emu, uintptr_t fcn) { iFEiippp_t fn = (iFEiippp_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void iFEipppi(x64emu_t *emu, uintptr_t fcn) { iFEipppi_t fn = (iFEipppi_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void iFElpppp(x64emu_t *emu, uintptr_t fcn) { iFElpppp_t fn = (iFElpppp_t)fcn; R_RAX=(int64_t)fn(emu, (intptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFEpiipp(x64emu_t *emu, uintptr_t fcn) { iFEpiipp_t fn = (iFEpiipp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFEpiipV(x64emu_t *emu, uintptr_t fcn) { iFEpiipV_t fn = (iFEpiipV_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)(R_RSP + 8)); }
@@ -2641,9 +3134,11 @@ void iFlpippp(x64emu_t *emu, uintptr_t fcn) { iFlpippp_t fn = (iFlpippp_t)fcn; R
 void iFLppipp(x64emu_t *emu, uintptr_t fcn) { iFLppipp_t fn = (iFLppipp_t)fcn; R_RAX=(int64_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpiiiii(x64emu_t *emu, uintptr_t fcn) { iFpiiiii_t fn = (iFpiiiii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void iFpiiipp(x64emu_t *emu, uintptr_t fcn) { iFpiiipp_t fn = (iFpiiipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void iFpiippu(x64emu_t *emu, uintptr_t fcn) { iFpiippu_t fn = (iFpiippu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9); }
 void iFpiippp(x64emu_t *emu, uintptr_t fcn) { iFpiippp_t fn = (iFpiippp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpiuuup(x64emu_t *emu, uintptr_t fcn) { iFpiuuup_t fn = (iFpiuuup_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (void*)R_R9); }
 void iFpiuupp(x64emu_t *emu, uintptr_t fcn) { iFpiuupp_t fn = (iFpiuupp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void iFpipipi(x64emu_t *emu, uintptr_t fcn) { iFpipipi_t fn = (iFpipipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void iFpippip(x64emu_t *emu, uintptr_t fcn) { iFpippip_t fn = (iFpippip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9); }
 void iFpipppL(x64emu_t *emu, uintptr_t fcn) { iFpipppL_t fn = (iFpipppL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9); }
 void iFpipppp(x64emu_t *emu, uintptr_t fcn) { iFpipppp_t fn = (iFpipppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
@@ -2651,16 +3146,24 @@ void iFpWpppp(x64emu_t *emu, uintptr_t fcn) { iFpWpppp_t fn = (iFpWpppp_t)fcn; R
 void iFpuiCpp(x64emu_t *emu, uintptr_t fcn) { iFpuiCpp_t fn = (iFpuiCpp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (uint8_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpuippp(x64emu_t *emu, uintptr_t fcn) { iFpuippp_t fn = (iFpuippp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpupuui(x64emu_t *emu, uintptr_t fcn) { iFpupuui_t fn = (iFpupuui_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (int64_t)R_R9); }
+void iFppiiip(x64emu_t *emu, uintptr_t fcn) { iFppiiip_t fn = (iFppiiip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9); }
 void iFppiiuu(x64emu_t *emu, uintptr_t fcn) { iFppiiuu_t fn = (iFppiiuu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9); }
 void iFppiipi(x64emu_t *emu, uintptr_t fcn) { iFppiipi_t fn = (iFppiipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9); }
+void iFppiipp(x64emu_t *emu, uintptr_t fcn) { iFppiipp_t fn = (iFppiipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFppipii(x64emu_t *emu, uintptr_t fcn) { iFppipii_t fn = (iFppipii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void iFppipiL(x64emu_t *emu, uintptr_t fcn) { iFppipiL_t fn = (iFppipiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (uintptr_t)R_R9); }
+void iFppipip(x64emu_t *emu, uintptr_t fcn) { iFppipip_t fn = (iFppipip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9); }
+void iFppIipp(x64emu_t *emu, uintptr_t fcn) { iFppIipp_t fn = (iFppIipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFppIppp(x64emu_t *emu, uintptr_t fcn) { iFppIppp_t fn = (iFppIppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFppuiii(x64emu_t *emu, uintptr_t fcn) { iFppuiii_t fn = (iFppuiii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void iFppuiiL(x64emu_t *emu, uintptr_t fcn) { iFppuiiL_t fn = (iFppuiiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (uintptr_t)R_R9); }
+void iFppuipp(x64emu_t *emu, uintptr_t fcn) { iFppuipp_t fn = (iFppuipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFppuIII(x64emu_t *emu, uintptr_t fcn) { iFppuIII_t fn = (iFppuIII_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void iFppuupp(x64emu_t *emu, uintptr_t fcn) { iFppuupp_t fn = (iFppuupp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFppupip(x64emu_t *emu, uintptr_t fcn) { iFppupip_t fn = (iFppupip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9); }
+void iFppuppp(x64emu_t *emu, uintptr_t fcn) { iFppuppp_t fn = (iFppuppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void iFppUipp(x64emu_t *emu, uintptr_t fcn) { iFppUipp_t fn = (iFppUipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void iFppdidd(x64emu_t *emu, uintptr_t fcn) { iFppdidd_t fn = (iFppdidd_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], (int64_t)R_RDX, emu->xmm[1].d[0], emu->xmm[2].d[0]); }
 void iFpplppi(x64emu_t *emu, uintptr_t fcn) { iFpplppi_t fn = (iFpplppi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void iFppLupp(x64emu_t *emu, uintptr_t fcn) { iFppLupp_t fn = (iFppLupp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFppLpLp(x64emu_t *emu, uintptr_t fcn) { iFppLpLp_t fn = (iFppLpLp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9); }
@@ -2676,8 +3179,11 @@ void iFppppup(x64emu_t *emu, uintptr_t fcn) { iFppppup_t fn = (iFppppup_t)fcn; R
 void iFpppppi(x64emu_t *emu, uintptr_t fcn) { iFpppppi_t fn = (iFpppppi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void iFpppppL(x64emu_t *emu, uintptr_t fcn) { iFpppppL_t fn = (iFpppppL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9); }
 void iFpppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppp_t fn = (iFpppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void uFEiippp(x64emu_t *emu, uintptr_t fcn) { uFEiippp_t fn = (uFEiippp_t)fcn; R_RAX=(uint64_t)fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void uFEiuppp(x64emu_t *emu, uintptr_t fcn) { uFEiuppp_t fn = (uFEiuppp_t)fcn; R_RAX=(uint64_t)fn(emu, (int64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFpippup(x64emu_t *emu, uintptr_t fcn) { uFpippup_t fn = (uFpippup_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (void*)R_R9); }
 void uFpuippp(x64emu_t *emu, uintptr_t fcn) { uFpuippp_t fn = (uFpuippp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void uFppippp(x64emu_t *emu, uintptr_t fcn) { uFppippp_t fn = (uFppippp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFpppppi(x64emu_t *emu, uintptr_t fcn) { uFpppppi_t fn = (uFpppppi_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void uFpppppp(x64emu_t *emu, uintptr_t fcn) { uFpppppp_t fn = (uFpppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void UFpippup(x64emu_t *emu, uintptr_t fcn) { UFpippup_t fn = (UFpippup_t)fcn; R_RAX=fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (void*)R_R9); }
@@ -2686,7 +3192,9 @@ void lFipipLu(x64emu_t *emu, uintptr_t fcn) { lFipipLu_t fn = (lFipipLu_t)fcn; R
 void lFipLipu(x64emu_t *emu, uintptr_t fcn) { lFipLipu_t fn = (lFipLipu_t)fcn; R_RAX=(intptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (uint64_t)R_R9); }
 void lFipLipp(x64emu_t *emu, uintptr_t fcn) { lFipLipp_t fn = (lFipLipp_t)fcn; R_RAX=(intptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void lFipLpLL(x64emu_t *emu, uintptr_t fcn) { lFipLpLL_t fn = (lFipLpLL_t)fcn; R_RAX=(intptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9); }
+void LFEupppp(x64emu_t *emu, uintptr_t fcn) { LFEupppp_t fn = (LFEupppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (uint64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void LFpipipi(x64emu_t *emu, uintptr_t fcn) { LFpipipi_t fn = (LFpipipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9); }
+void LFpLippp(x64emu_t *emu, uintptr_t fcn) { LFpLippp_t fn = (LFpLippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void LFSpLiip(x64emu_t *emu, uintptr_t fcn) { LFSpLiip_t fn = (LFSpLiip_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9); }
 void pFEpippp(x64emu_t *emu, uintptr_t fcn) { pFEpippp_t fn = (pFEpippp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFEpuipp(x64emu_t *emu, uintptr_t fcn) { pFEpuipp_t fn = (pFEpuipp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -2709,13 +3217,21 @@ void pFpCuuWW(x64emu_t *emu, uintptr_t fcn) { pFpCuuWW_t fn = (pFpCuuWW_t)fcn; R
 void pFpCuuup(x64emu_t *emu, uintptr_t fcn) { pFpCuuup_t fn = (pFpCuuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (void*)R_R9); }
 void pFpuuwwu(x64emu_t *emu, uintptr_t fcn) { pFpuuwwu_t fn = (pFpuuwwu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (int16_t)R_RCX, (int16_t)R_R8, (uint64_t)R_R9); }
 void pFpuuuuu(x64emu_t *emu, uintptr_t fcn) { pFpuuuuu_t fn = (pFpuuuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9); }
+void pFplpppp(x64emu_t *emu, uintptr_t fcn) { pFplpppp_t fn = (pFplpppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFppiiii(x64emu_t *emu, uintptr_t fcn) { pFppiiii_t fn = (pFppiiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
+void pFppiipp(x64emu_t *emu, uintptr_t fcn) { pFppiipp_t fn = (pFppiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFppiCCC(x64emu_t *emu, uintptr_t fcn) { pFppiCCC_t fn = (pFppiCCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9); }
 void pFppippi(x64emu_t *emu, uintptr_t fcn) { pFppippi_t fn = (pFppippi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void pFppippp(x64emu_t *emu, uintptr_t fcn) { pFppippp_t fn = (pFppippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void pFpppiii(x64emu_t *emu, uintptr_t fcn) { pFpppiii_t fn = (pFpppiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
+void pFpppiui(x64emu_t *emu, uintptr_t fcn) { pFpppiui_t fn = (pFpppiui_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (int64_t)R_R9); }
+void pFppppii(x64emu_t *emu, uintptr_t fcn) { pFppppii_t fn = (pFppppii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
+void pFpppppi(x64emu_t *emu, uintptr_t fcn) { pFpppppi_t fn = (pFpppppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void pFpppppu(x64emu_t *emu, uintptr_t fcn) { pFpppppu_t fn = (pFpppppu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9); }
 void pFpppppp(x64emu_t *emu, uintptr_t fcn) { pFpppppp_t fn = (pFpppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFSpiiii(x64emu_t *emu, uintptr_t fcn) { pFSpiiii_t fn = (pFSpiiii_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
+void vFEpipppp(x64emu_t *emu, uintptr_t fcn) { vFEpipppp_t fn = (vFEpipppp_t)fcn; fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void vFEpuipuV(x64emu_t *emu, uintptr_t fcn) { vFEpuipuV_t fn = (vFEpuipuV_t)fcn; fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (void*)(R_RSP + 8)); }
 void vFEpppppp(x64emu_t *emu, uintptr_t fcn) { vFEpppppp_t fn = (vFEpppppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFiiiiiip(x64emu_t *emu, uintptr_t fcn) { vFiiiiiip_t fn = (vFiiiiiip_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFiiiiuup_t fn = (vFiiiiuup_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(void**)(R_RSP + 8)); }
@@ -2762,10 +3278,17 @@ void vFulpiill(x64emu_t *emu, uintptr_t fcn) { vFulpiill_t fn = (vFulpiill_t)fcn
 void vFlipuiip(x64emu_t *emu, uintptr_t fcn) { vFlipuiip_t fn = (vFlipuiip_t)fcn; fn((intptr_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFpiiiipp(x64emu_t *emu, uintptr_t fcn) { vFpiiiipp_t fn = (vFpiiiipp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFpiiliip(x64emu_t *emu, uintptr_t fcn) { vFpiiliip_t fn = (vFpiiliip_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
+void vFpiipCpp(x64emu_t *emu, uintptr_t fcn) { vFpiipCpp_t fn = (vFpiipCpp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (uint8_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFpipipii(x64emu_t *emu, uintptr_t fcn) { vFpipipii_t fn = (vFpipipii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
+void vFpipppii(x64emu_t *emu, uintptr_t fcn) { vFpipppii_t fn = (vFpipppii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
 void vFpddiidd(x64emu_t *emu, uintptr_t fcn) { vFpddiidd_t fn = (vFpddiidd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RSI, (int64_t)R_RDX, emu->xmm[2].d[0], emu->xmm[3].d[0]); }
 void vFpdddddd(x64emu_t *emu, uintptr_t fcn) { vFpdddddd_t fn = (vFpdddddd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0]); }
+void vFppiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiiii_t fn = (vFppiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
+void vFppiiiip(x64emu_t *emu, uintptr_t fcn) { vFppiiiip_t fn = (vFppiiiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFppiiipi(x64emu_t *emu, uintptr_t fcn) { vFppiiipi_t fn = (vFppiiipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
+void vFppiipii(x64emu_t *emu, uintptr_t fcn) { vFppiipii_t fn = (vFppiipii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
+void vFppiipuu(x64emu_t *emu, uintptr_t fcn) { vFppiipuu_t fn = (vFppiipuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8)); }
+void vFppiippp(x64emu_t *emu, uintptr_t fcn) { vFppiippp_t fn = (vFppiippp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFppilppi(x64emu_t *emu, uintptr_t fcn) { vFppilppi_t fn = (vFppilppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
 void vFppipiip(x64emu_t *emu, uintptr_t fcn) { vFppipiip_t fn = (vFppipiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFppipipp(x64emu_t *emu, uintptr_t fcn) { vFppipipp_t fn = (vFppipipp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
@@ -2775,9 +3298,17 @@ void vFppLpppp(x64emu_t *emu, uintptr_t fcn) { vFppLpppp_t fn = (vFppLpppp_t)fcn
 void vFpppiiii(x64emu_t *emu, uintptr_t fcn) { vFpppiiii_t fn = (vFpppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
 void vFpppiipi(x64emu_t *emu, uintptr_t fcn) { vFpppiipi_t fn = (vFpppiipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
 void vFpppiipp(x64emu_t *emu, uintptr_t fcn) { vFpppiipp_t fn = (vFpppiipp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void vFpppippi(x64emu_t *emu, uintptr_t fcn) { vFpppippi_t fn = (vFpppippi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
 void vFpppuuuu(x64emu_t *emu, uintptr_t fcn) { vFpppuuuu_t fn = (vFpppuuuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8)); }
+void vFppppiii(x64emu_t *emu, uintptr_t fcn) { vFppppiii_t fn = (vFppppiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
+void vFppppiip(x64emu_t *emu, uintptr_t fcn) { vFppppiip_t fn = (vFppppiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFppppipi(x64emu_t *emu, uintptr_t fcn) { vFppppipi_t fn = (vFppppipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
+void vFpppppip(x64emu_t *emu, uintptr_t fcn) { vFpppppip_t fn = (vFpppppip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
+void vFppppppi(x64emu_t *emu, uintptr_t fcn) { vFppppppi_t fn = (vFppppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
+void vFppppppp(x64emu_t *emu, uintptr_t fcn) { vFppppppp_t fn = (vFppppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void iFEpupppp(x64emu_t *emu, uintptr_t fcn) { iFEpupppp_t fn = (iFEpupppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFEpLiLpV(x64emu_t *emu, uintptr_t fcn) { iFEpLiLpV_t fn = (iFEpLiLpV_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)(R_RSP + 8)); }
+void iFEppuppp(x64emu_t *emu, uintptr_t fcn) { iFEppuppp_t fn = (iFEppuppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFEppLpIi(x64emu_t *emu, uintptr_t fcn) { iFEppLpIi_t fn = (iFEppLpIi_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void iFEpppiiu(x64emu_t *emu, uintptr_t fcn) { iFEpppiiu_t fn = (iFEpppiiu_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9); }
 void iFEpppppL(x64emu_t *emu, uintptr_t fcn) { iFEpppppL_t fn = (iFEpppppL_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9); }
@@ -2809,10 +3340,12 @@ void iFppiipiL(x64emu_t *emu, uintptr_t fcn) { iFppiipiL_t fn = (iFppiipiL_t)fcn
 void iFppiuppi(x64emu_t *emu, uintptr_t fcn) { iFppiuppi_t fn = (iFppiuppi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
 void iFppipiip(x64emu_t *emu, uintptr_t fcn) { iFppipiip_t fn = (iFppipiip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
 void iFppipipi(x64emu_t *emu, uintptr_t fcn) { iFppipipi_t fn = (iFppipipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
+void iFppipipp(x64emu_t *emu, uintptr_t fcn) { iFppipipp_t fn = (iFppipipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFppippip(x64emu_t *emu, uintptr_t fcn) { iFppippip_t fn = (iFppippip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
 void iFppipppi(x64emu_t *emu, uintptr_t fcn) { iFppipppi_t fn = (iFppipppi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
 void iFppipppp(x64emu_t *emu, uintptr_t fcn) { iFppipppp_t fn = (iFppipppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFppuipiL(x64emu_t *emu, uintptr_t fcn) { iFppuipiL_t fn = (iFppuipiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(uintptr_t*)(R_RSP + 8)); }
+void iFppLiipp(x64emu_t *emu, uintptr_t fcn) { iFppLiipp_t fn = (iFppLiipp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFpppiiii(x64emu_t *emu, uintptr_t fcn) { iFpppiiii_t fn = (iFpppiiii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
 void iFpppiiuu(x64emu_t *emu, uintptr_t fcn) { iFpppiiuu_t fn = (iFpppiiuu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8)); }
 void iFpppiiup(x64emu_t *emu, uintptr_t fcn) { iFpppiiup_t fn = (iFpppiiup_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(void**)(R_RSP + 8)); }
@@ -2824,12 +3357,18 @@ void iFpppuiii(x64emu_t *emu, uintptr_t fcn) { iFpppuiii_t fn = (iFpppuiii_t)fcn
 void iFppppiii(x64emu_t *emu, uintptr_t fcn) { iFppppiii_t fn = (iFppppiii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
 void iFppppdpi(x64emu_t *emu, uintptr_t fcn) { iFppppdpi_t fn = (iFppppdpi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, emu->xmm[0].d[0], (void*)R_R8, (int64_t)R_R9); }
 void iFpppppip(x64emu_t *emu, uintptr_t fcn) { iFpppppip_t fn = (iFpppppip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
+void iFpppppup(x64emu_t *emu, uintptr_t fcn) { iFpppppup_t fn = (iFpppppup_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9, *(void**)(R_RSP + 8)); }
+void iFppppppi(x64emu_t *emu, uintptr_t fcn) { iFppppppi_t fn = (iFppppppi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
 void iFppppppp(x64emu_t *emu, uintptr_t fcn) { iFppppppp_t fn = (iFppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void uFEiipppp(x64emu_t *emu, uintptr_t fcn) { uFEiipppp_t fn = (uFEiipppp_t)fcn; R_RAX=(uint64_t)fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void uFEpiippp(x64emu_t *emu, uintptr_t fcn) { uFEpiippp_t fn = (uFEpiippp_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFuippppp(x64emu_t *emu, uintptr_t fcn) { uFuippppp_t fn = (uFuippppp_t)fcn; R_RAX=(uint64_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFppiuppp(x64emu_t *emu, uintptr_t fcn) { uFppiuppp_t fn = (uFppiuppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void LFEpppppu(x64emu_t *emu, uintptr_t fcn) { LFEpppppu_t fn = (LFEpppppu_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9); }
 void pFEpLiiii(x64emu_t *emu, uintptr_t fcn) { pFEpLiiii_t fn = (pFEpLiiii_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void pFEpLiiiI(x64emu_t *emu, uintptr_t fcn) { pFEpLiiiI_t fn = (pFEpLiiiI_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void pFEpLiiil(x64emu_t *emu, uintptr_t fcn) { pFEpLiiil_t fn = (pFEpLiiil_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9); }
+void pFEppuipp(x64emu_t *emu, uintptr_t fcn) { pFEppuipp_t fn = (pFEppuipp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFEppppip(x64emu_t *emu, uintptr_t fcn) { pFEppppip_t fn = (pFEppppip_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9); }
 void pFEpppppi(x64emu_t *emu, uintptr_t fcn) { pFEpppppi_t fn = (pFEpppppi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9); }
 void pFifffppp(x64emu_t *emu, uintptr_t fcn) { pFifffppp_t fn = (pFifffppp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
@@ -2841,12 +3380,36 @@ void pFpCuuuuu(x64emu_t *emu, uintptr_t fcn) { pFpCuuuuu_t fn = (pFpCuuuuu_t)fcn
 void pFpCpWWup(x64emu_t *emu, uintptr_t fcn) { pFpCpWWup_t fn = (pFpCpWWup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (void*)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8, (uint64_t)R_R9, *(void**)(R_RSP + 8)); }
 void pFpuuuwwu(x64emu_t *emu, uintptr_t fcn) { pFpuuuwwu_t fn = (pFpuuuwwu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(uint64_t*)(R_RSP + 8)); }
 void pFpuupwwC(x64emu_t *emu, uintptr_t fcn) { pFpuupwwC_t fn = (pFpuupwwC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(uint8_t*)(R_RSP + 8)); }
+void pFplppppp(x64emu_t *emu, uintptr_t fcn) { pFplppppp_t fn = (pFplppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void pFppiiipp(x64emu_t *emu, uintptr_t fcn) { pFppiiipp_t fn = (pFppiiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void pFppiiCCC(x64emu_t *emu, uintptr_t fcn) { pFppiiCCC_t fn = (pFppiiCCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9, *(uint8_t*)(R_RSP + 8)); }
+void pFppiippp(x64emu_t *emu, uintptr_t fcn) { pFppiippp_t fn = (pFppiippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void pFppipipp(x64emu_t *emu, uintptr_t fcn) { pFppipipp_t fn = (pFppipipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void pFppuuppp(x64emu_t *emu, uintptr_t fcn) { pFppuuppp_t fn = (pFppuuppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void pFppLiiip(x64emu_t *emu, uintptr_t fcn) { pFppLiiip_t fn = (pFppLiiip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
+void pFppLipip(x64emu_t *emu, uintptr_t fcn) { pFppLipip_t fn = (pFppLipip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
+void pFpppccci(x64emu_t *emu, uintptr_t fcn) { pFpppccci_t fn = (pFpppccci_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int8_t)R_RCX, (int8_t)R_R8, (int8_t)R_R9, *(int64_t*)(R_RSP + 8)); }
+void pFpppiiii(x64emu_t *emu, uintptr_t fcn) { pFpppiiii_t fn = (pFpppiiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
+void pFpppiipp(x64emu_t *emu, uintptr_t fcn) { pFpppiipp_t fn = (pFpppiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void pFpppIIIi(x64emu_t *emu, uintptr_t fcn) { pFpppIIIi_t fn = (pFpppIIIi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
+void pFpppCCCi(x64emu_t *emu, uintptr_t fcn) { pFpppCCCi_t fn = (pFpppCCCi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9, *(int64_t*)(R_RSP + 8)); }
+void pFpppuuui(x64emu_t *emu, uintptr_t fcn) { pFpppuuui_t fn = (pFpppuuui_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
 void pFpppuupp(x64emu_t *emu, uintptr_t fcn) { pFpppuupp_t fn = (pFpppuupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void pFpppUUUi(x64emu_t *emu, uintptr_t fcn) { pFpppUUUi_t fn = (pFpppUUUi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
+void pFpppfffi(x64emu_t *emu, uintptr_t fcn) { pFpppfffi_t fn = (pFpppfffi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], (int64_t)R_RCX); }
+void pFpppdddi(x64emu_t *emu, uintptr_t fcn) { pFpppdddi_t fn = (pFpppdddi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], (int64_t)R_RCX); }
+void pFpppllli(x64emu_t *emu, uintptr_t fcn) { pFpppllli_t fn = (pFpppllli_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9, *(int64_t*)(R_RSP + 8)); }
+void pFpppLLLi(x64emu_t *emu, uintptr_t fcn) { pFpppLLLi_t fn = (pFpppLLLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9, *(int64_t*)(R_RSP + 8)); }
 void pFppppuuu(x64emu_t *emu, uintptr_t fcn) { pFppppuuu_t fn = (pFppppuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8)); }
 void pFpppppuu(x64emu_t *emu, uintptr_t fcn) { pFpppppuu_t fn = (pFpppppuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8)); }
+void pFppppppi(x64emu_t *emu, uintptr_t fcn) { pFppppppi_t fn = (pFppppppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
 void pFppppppp(x64emu_t *emu, uintptr_t fcn) { pFppppppp_t fn = (pFppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void vFEiippppV(x64emu_t *emu, uintptr_t fcn) { vFEiippppV_t fn = (vFEiippppV_t)fcn; fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, (void*)(R_RSP + 8)); }
+void vFEiupippp(x64emu_t *emu, uintptr_t fcn) { vFEiupippp_t fn = (vFEiupippp_t)fcn; fn(emu, (int64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void vFEippippp(x64emu_t *emu, uintptr_t fcn) { vFEippippp_t fn = (vFEippippp_t)fcn; fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void vFEppipppp(x64emu_t *emu, uintptr_t fcn) { vFEppipppp_t fn = (vFEppipppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void vFEpppuipV(x64emu_t *emu, uintptr_t fcn) { vFEpppuipV_t fn = (vFEpppuipV_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, (void*)(R_RSP + 8)); }
+void vFEpppppuu(x64emu_t *emu, uintptr_t fcn) { vFEpppppuu_t fn = (vFEpppppuu_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8)); }
 void vFiiiiuuip(x64emu_t *emu, uintptr_t fcn) { vFiiiiuuip_t fn = (vFiiiiuuip_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFilipufip(x64emu_t *emu, uintptr_t fcn) { vFilipufip_t fn = (vFilipufip_t)fcn; fn((int64_t)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (uint64_t)R_R8, emu->xmm[0].f[0], (int64_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFuiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiii_t fn = (vFuiiiiiii_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
@@ -2870,14 +3433,20 @@ void vFuuuuufff(x64emu_t *emu, uintptr_t fcn) { vFuuuuufff_t fn = (vFuuuuufff_t)
 void vFulllplip(x64emu_t *emu, uintptr_t fcn) { vFulllplip_t fn = (vFulllplip_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8, (intptr_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFffffffff(x64emu_t *emu, uintptr_t fcn) { vFffffffff_t fn = (vFffffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0]); }
 void vFlipuiuip(x64emu_t *emu, uintptr_t fcn) { vFlipuiuip_t fn = (vFlipuiuip_t)fcn; fn((intptr_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void vFpiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFpiiiiiii_t fn = (vFpiiiiiii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
+void vFpiiiipii(x64emu_t *emu, uintptr_t fcn) { vFpiiiipii_t fn = (vFpiiiipii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void vFpippiiuu(x64emu_t *emu, uintptr_t fcn) { vFpippiiuu_t fn = (vFpippiiuu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
 void vFpippiipi(x64emu_t *emu, uintptr_t fcn) { vFpippiipi_t fn = (vFpippiipi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
+void vFppiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiiiii_t fn = (vFppiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void vFppiiipii(x64emu_t *emu, uintptr_t fcn) { vFppiiipii_t fn = (vFppiiipii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void vFppipipii(x64emu_t *emu, uintptr_t fcn) { vFppipipii_t fn = (vFppipipii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
+void vFppipppui(x64emu_t *emu, uintptr_t fcn) { vFppipppui_t fn = (vFppipppui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void vFppippppi(x64emu_t *emu, uintptr_t fcn) { vFppippppi_t fn = (vFppippppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
+void vFppippppp(x64emu_t *emu, uintptr_t fcn) { vFppippppp_t fn = (vFppippppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFpplppppi(x64emu_t *emu, uintptr_t fcn) { vFpplppppi_t fn = (vFpplppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void vFpplppppp(x64emu_t *emu, uintptr_t fcn) { vFpplppppp_t fn = (vFpplppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFppppiipi(x64emu_t *emu, uintptr_t fcn) { vFppppiipi_t fn = (vFppppiipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
+void iFEipupupi(x64emu_t *emu, uintptr_t fcn) { iFEipupupi_t fn = (iFEipupupi_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
 void iFEpippppp(x64emu_t *emu, uintptr_t fcn) { iFEpippppp_t fn = (iFEpippppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFEpuuLppp(x64emu_t *emu, uintptr_t fcn) { iFEpuuLppp_t fn = (iFEpuuLppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFEppppipp(x64emu_t *emu, uintptr_t fcn) { iFEppppipp_t fn = (iFEppppipp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
@@ -2888,10 +3457,12 @@ void iFuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { iFuuuuuuuu_t fn = (iFuuuuuuuu_t)
 void iFullfpppp(x64emu_t *emu, uintptr_t fcn) { iFullfpppp_t fn = (iFullfpppp_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, emu->xmm[0].f[0], (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFpWCuWCuu(x64emu_t *emu, uintptr_t fcn) { iFpWCuWCuu_t fn = (iFpWCuWCuu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint8_t)R_RDX, (uint64_t)R_RCX, (uint16_t)R_R8, (uint8_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
 void iFpWWipppp(x64emu_t *emu, uintptr_t fcn) { iFpWWipppp_t fn = (iFpWWipppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void iFpuiipppp(x64emu_t *emu, uintptr_t fcn) { iFpuiipppp_t fn = (iFpuiipppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpuippLpp(x64emu_t *emu, uintptr_t fcn) { iFpuippLpp_t fn = (iFpuippLpp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpuuiiiii(x64emu_t *emu, uintptr_t fcn) { iFpuuiiiii_t fn = (iFpuuiiiii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void iFpupppWWu(x64emu_t *emu, uintptr_t fcn) { iFpupppWWu_t fn = (iFpupppWWu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
 void iFpupppppp(x64emu_t *emu, uintptr_t fcn) { iFpupppppp_t fn = (iFpupppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void iFppiiiiiu(x64emu_t *emu, uintptr_t fcn) { iFppiiiiiu_t fn = (iFppiiiiiu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
 void iFppIIIppp(x64emu_t *emu, uintptr_t fcn) { iFppIIIppp_t fn = (iFppIIIppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpppiiipi(x64emu_t *emu, uintptr_t fcn) { iFpppiiipi_t fn = (iFpppiiipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void iFpppiippp(x64emu_t *emu, uintptr_t fcn) { iFpppiippp_t fn = (iFpppiippp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
@@ -2900,12 +3471,24 @@ void iFpppipppp(x64emu_t *emu, uintptr_t fcn) { iFpppipppp_t fn = (iFpppipppp_t)
 void iFppppiipi(x64emu_t *emu, uintptr_t fcn) { iFppppiipi_t fn = (iFppppiipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void iFppppppii(x64emu_t *emu, uintptr_t fcn) { iFppppppii_t fn = (iFppppppii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void iFpppppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppppp_t fn = (iFpppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void uFEipipppp(x64emu_t *emu, uintptr_t fcn) { uFEipipppp_t fn = (uFEipipppp_t)fcn; R_RAX=(uint64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void uFEpiupppp(x64emu_t *emu, uintptr_t fcn) { uFEpiupppp_t fn = (uFEpiupppp_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void uFEppipppp(x64emu_t *emu, uintptr_t fcn) { uFEppipppp_t fn = (uFEppipppp_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void uFEppppppp(x64emu_t *emu, uintptr_t fcn) { uFEppppppp_t fn = (uFEppppppp_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFuipppppp(x64emu_t *emu, uintptr_t fcn) { uFuipppppp_t fn = (uFuipppppp_t)fcn; R_RAX=(uint64_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFppuppppp(x64emu_t *emu, uintptr_t fcn) { uFppuppppp_t fn = (uFppuppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void LFEpiupppp(x64emu_t *emu, uintptr_t fcn) { LFEpiupppp_t fn = (LFEpiupppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void pFEppLiiip(x64emu_t *emu, uintptr_t fcn) { pFEppLiiip_t fn = (pFEppLiiip_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); }
+void pFEpppuipV(x64emu_t *emu, uintptr_t fcn) { pFEpppuipV_t fn = (pFEpppuipV_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, (void*)(R_RSP + 8)); }
+void pFEpppppiV(x64emu_t *emu, uintptr_t fcn) { pFEpppppiV_t fn = (pFEpppppiV_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, (void*)(R_RSP + 8)); }
+void pFEppppppi(x64emu_t *emu, uintptr_t fcn) { pFEppppppi_t fn = (pFEppppppi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8)); }
 void pFEppppppp(x64emu_t *emu, uintptr_t fcn) { pFEppppppp_t fn = (pFEppppppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void pFiipppppp(x64emu_t *emu, uintptr_t fcn) { pFiipppppp_t fn = (pFiipppppp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void pFuiiiuuuu(x64emu_t *emu, uintptr_t fcn) { pFuiiiuuuu_t fn = (pFuiiiuuuu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
 void pFuupupipp(x64emu_t *emu, uintptr_t fcn) { pFuupupipp_t fn = (pFuupupipp_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void pFpiiiiiuu(x64emu_t *emu, uintptr_t fcn) { pFpiiiiiuu_t fn = (pFpiiiiiuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
 void pFpipiiiip(x64emu_t *emu, uintptr_t fcn) { pFpipiiiip_t fn = (pFpipiiiip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void pFpipppppp(x64emu_t *emu, uintptr_t fcn) { pFpipppppp_t fn = (pFpipppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void pFpCCuuwwC(x64emu_t *emu, uintptr_t fcn) { pFpCCuuwwC_t fn = (pFpCCuuwwC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (int16_t)R_R9, *(int16_t*)(R_RSP + 8), *(uint8_t*)(R_RSP + 16)); }
 void pFpCuwwWWu(x64emu_t *emu, uintptr_t fcn) { pFpCuwwWWu_t fn = (pFpCuwwWWu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (int16_t)R_RCX, (int16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
 void pFpCuuuCup(x64emu_t *emu, uintptr_t fcn) { pFpCuuuCup_t fn = (pFpCuuuCup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint8_t)R_R9, *(uint64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
@@ -2913,8 +3496,12 @@ void pFpWWiCpup(x64emu_t *emu, uintptr_t fcn) { pFpWWiCpup_t fn = (pFpWWiCpup_t)
 void pFpuuWWCuu(x64emu_t *emu, uintptr_t fcn) { pFpuuWWCuu_t fn = (pFpuuWWCuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8, (uint8_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
 void pFpuuuupup(x64emu_t *emu, uintptr_t fcn) { pFpuuuupup_t fn = (pFpuuuupup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (void*)R_R9, *(uint64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void pFpdwwWWui(x64emu_t *emu, uintptr_t fcn) { pFpdwwWWui_t fn = (pFpdwwWWui_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, emu->xmm[0].d[0], (int16_t)R_RSI, (int16_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8)); }
+void pFplpppppp(x64emu_t *emu, uintptr_t fcn) { pFplpppppp_t fn = (pFplpppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void pFppiiiiii(x64emu_t *emu, uintptr_t fcn) { pFppiiiiii_t fn = (pFppiiiiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void pFpppuuLLu(x64emu_t *emu, uintptr_t fcn) { pFpppuuLLu_t fn = (pFpppuuLLu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uintptr_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
 void pFpppppupp(x64emu_t *emu, uintptr_t fcn) { pFpppppupp_t fn = (pFpppppupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void vFEppiipppp(x64emu_t *emu, uintptr_t fcn) { vFEppiipppp_t fn = (vFEppiipppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void vFEpppiippp(x64emu_t *emu, uintptr_t fcn) { vFEpppiippp_t fn = (vFEpppiippp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiii_t fn = (vFiiiiiiiii_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
 void vFiiiiillli(x64emu_t *emu, uintptr_t fcn) { vFiiiiillli_t fn = (vFiiiiillli_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9, *(intptr_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
 void vFuiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiii_t fn = (vFuiiiiiiii_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
@@ -2936,12 +3523,19 @@ void vFddddddddd(x64emu_t *emu, uintptr_t fcn) { vFddddddddd_t fn = (vFddddddddd
 void vFlipuiuiip(x64emu_t *emu, uintptr_t fcn) { vFlipuiuiip_t fn = (vFlipuiuiip_t)fcn; fn((intptr_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void vFpipiuiipp(x64emu_t *emu, uintptr_t fcn) { vFpipiuiipp_t fn = (vFpipiuiipp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void vFpipppiipi(x64emu_t *emu, uintptr_t fcn) { vFpipppiipi_t fn = (vFpipppiipi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
+void vFppiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiiiiii_t fn = (vFppiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
+void vFppiiiiipi(x64emu_t *emu, uintptr_t fcn) { vFppiiiiipi_t fn = (vFppiiiiipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
 void vFppiiipiii(x64emu_t *emu, uintptr_t fcn) { vFppiiipiii_t fn = (vFppiiipiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
+void vFppiipiiii(x64emu_t *emu, uintptr_t fcn) { vFppiipiiii_t fn = (vFppiipiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
+void vFppipppiii(x64emu_t *emu, uintptr_t fcn) { vFppipppiii_t fn = (vFppipppiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
+void vFppipppiip(x64emu_t *emu, uintptr_t fcn) { vFppipppiip_t fn = (vFppipppiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void vFppuuiiiii(x64emu_t *emu, uintptr_t fcn) { vFppuuiiiii_t fn = (vFppuuiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
 void vFpplpppppi(x64emu_t *emu, uintptr_t fcn) { vFpplpppppi_t fn = (vFpplpppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
+void vFpppiiiiii(x64emu_t *emu, uintptr_t fcn) { vFpppiiiiii_t fn = (vFpppiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
 void vFppppipiip(x64emu_t *emu, uintptr_t fcn) { vFppppipiip_t fn = (vFppppipiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void vFpppppippp(x64emu_t *emu, uintptr_t fcn) { vFpppppippp_t fn = (vFpppppippp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void iFEpiiiiipi(x64emu_t *emu, uintptr_t fcn) { iFEpiiiiipi_t fn = (iFEpiiiiipi_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
+void iFEpppipppp(x64emu_t *emu, uintptr_t fcn) { iFEpppipppp_t fn = (iFEpppipppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFEppplPPPP(x64emu_t *emu, uintptr_t fcn) { iFEppplPPPP_t fn = (iFEppplPPPP_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (intptr_t)R_RCX, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFEppPPPPPP(x64emu_t *emu, uintptr_t fcn) { iFEppPPPPPP_t fn = (iFEppPPPPPP_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); }
 void iFiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiip_t fn = (iFiiiiiiiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
@@ -2953,14 +3547,19 @@ void iFpipLpiiip(x64emu_t *emu, uintptr_t fcn) { iFpipLpiiip_t fn = (iFpipLpiiip
 void iFpuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { iFpuuuuuuuu_t fn = (iFpuuuuuuuu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24)); }
 void iFppiiiiiii(x64emu_t *emu, uintptr_t fcn) { iFppiiiiiii_t fn = (iFppiiiiiii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
 void iFppiuiippL(x64emu_t *emu, uintptr_t fcn) { iFppiuiippL_t fn = (iFppiuiippL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(uintptr_t*)(R_RSP + 24)); }
+void iFppLpiippp(x64emu_t *emu, uintptr_t fcn) { iFppLpiippp_t fn = (iFppLpiippp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void iFpppiiipip(x64emu_t *emu, uintptr_t fcn) { iFpppiiipip_t fn = (iFpppiiipip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void iFpppiiuuii(x64emu_t *emu, uintptr_t fcn) { iFpppiiuuii_t fn = (iFpppiiuuii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
 void iFpppiipiiu(x64emu_t *emu, uintptr_t fcn) { iFpppiipiiu_t fn = (iFpppiipiiu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24)); }
 void iFppppppppu(x64emu_t *emu, uintptr_t fcn) { iFppppppppu_t fn = (iFppppppppu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(uint64_t*)(R_RSP + 24)); }
 void iFppppppppp(x64emu_t *emu, uintptr_t fcn) { iFppppppppp_t fn = (iFppppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
+void uFEipippppp(x64emu_t *emu, uintptr_t fcn) { uFEipippppp_t fn = (uFEipippppp_t)fcn; R_RAX=(uint64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFppppppppp(x64emu_t *emu, uintptr_t fcn) { uFppppppppp_t fn = (uFppppppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
+void LFEppppppii(x64emu_t *emu, uintptr_t fcn) { LFEppppppii_t fn = (LFEppppppii_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void pFEppiiuuLi(x64emu_t *emu, uintptr_t fcn) { pFEppiiuuLi_t fn = (pFEppiiuuLi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void pFEppuippuu(x64emu_t *emu, uintptr_t fcn) { pFEppuippuu_t fn = (pFEppuippuu_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); }
+void pFEpppppiiV(x64emu_t *emu, uintptr_t fcn) { pFEpppppiiV_t fn = (pFEpppppiiV_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), (void*)(R_RSP + 16)); }
+void pFEpppppppi(x64emu_t *emu, uintptr_t fcn) { pFEpppppppi_t fn = (pFEpppppppi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void pFpiiiiuuuu(x64emu_t *emu, uintptr_t fcn) { pFpiiiiuuuu_t fn = (pFpiiiiuuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24)); }
 void pFpCuWCCuuu(x64emu_t *emu, uintptr_t fcn) { pFpCuWCCuuu_t fn = (pFpCuWCCuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint16_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24)); }
 void pFpuuwwWWww(x64emu_t *emu, uintptr_t fcn) { pFpuuwwWWww_t fn = (pFpuuwwWWww_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (int16_t)R_RCX, (int16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(int16_t*)(R_RSP + 16), *(int16_t*)(R_RSP + 24)); }
@@ -2968,7 +3567,12 @@ void pFpupuuuuup(x64emu_t *emu, uintptr_t fcn) { pFpupuuuuup_t fn = (pFpupuuuuup
 void pFppiiiiiip(x64emu_t *emu, uintptr_t fcn) { pFppiiiiiip_t fn = (pFppiiiiiip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void pFppiiuuuLL(x64emu_t *emu, uintptr_t fcn) { pFppiiuuuLL_t fn = (pFppiiuuuLL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uintptr_t*)(R_RSP + 24)); }
 void pFppipppppp(x64emu_t *emu, uintptr_t fcn) { pFppipppppp_t fn = (pFppipppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
+void pFpppiiiiii(x64emu_t *emu, uintptr_t fcn) { pFpppiiiiii_t fn = (pFpppiiiiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); }
+void pFpppiipppp(x64emu_t *emu, uintptr_t fcn) { pFpppiipppp_t fn = (pFpppiipppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void pFpppppiipp(x64emu_t *emu, uintptr_t fcn) { pFpppppiipp_t fn = (pFpppppiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
+void vFEiippppppp(x64emu_t *emu, uintptr_t fcn) { vFEiippppppp_t fn = (vFEiippppppp_t)fcn; fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
+void vFEpippppppp(x64emu_t *emu, uintptr_t fcn) { vFEpippppppp_t fn = (vFEpippppppp_t)fcn; fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
+void vFEpppiipppp(x64emu_t *emu, uintptr_t fcn) { vFEpppiipppp_t fn = (vFEpppiipppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void vFiiiiiiiiiu(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiiu_t fn = (vFiiiiiiiiiu_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32)); }
 void vFuiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiii_t fn = (vFuiiiiiiiii_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
 void vFuiiiiiiill(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiill_t fn = (vFuiiiiiiill_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(intptr_t*)(R_RSP + 24), *(intptr_t*)(R_RSP + 32)); }
@@ -2986,6 +3590,12 @@ void vFuuuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuu_t fn = (vFuuuuuuu
 void vFuffiiffiip(x64emu_t *emu, uintptr_t fcn) { vFuffiiffiip_t fn = (vFuffiiffiip_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], (int64_t)R_RSI, (int64_t)R_RDX, emu->xmm[2].f[0], emu->xmm[3].f[0], (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9); }
 void vFuddiiddiip(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiip_t fn = (vFuddiiddiip_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RSI, (int64_t)R_RDX, emu->xmm[2].d[0], emu->xmm[3].d[0], (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9); }
 void vFffffffffff(x64emu_t *emu, uintptr_t fcn) { vFffffffffff_t fn = (vFffffffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16)); }
+void vFppiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiiiiiii_t fn = (vFppiiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
+void vFppiiiiipip(x64emu_t *emu, uintptr_t fcn) { vFppiiiiipip_t fn = (vFppiiiiipip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
+void vFppiipppiip(x64emu_t *emu, uintptr_t fcn) { vFppiipppiip_t fn = (vFppiipppiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
+void vFppiippppii(x64emu_t *emu, uintptr_t fcn) { vFppiippppii_t fn = (vFppiippppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
+void vFppipppiiii(x64emu_t *emu, uintptr_t fcn) { vFppipppiiii_t fn = (vFppipppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
+void vFppuuuuiiuu(x64emu_t *emu, uintptr_t fcn) { vFppuuuuiiuu_t fn = (vFppuuuuiiuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32)); }
 void vFppdddddddd(x64emu_t *emu, uintptr_t fcn) { vFppdddddddd_t fn = (vFppdddddddd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0], emu->xmm[6].d[0], emu->xmm[7].d[0]); }
 void vFpppppppppp(x64emu_t *emu, uintptr_t fcn) { vFpppppppppp_t fn = (vFpppppppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFEpupppLppL(x64emu_t *emu, uintptr_t fcn) { iFEpupppLppL_t fn = (iFEpupppLppL_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(uintptr_t*)(R_RSP + 24)); }
@@ -2997,8 +3607,12 @@ void iFpddpippppp(x64emu_t *emu, uintptr_t fcn) { iFpddpippppp_t fn = (iFpddpipp
 void iFppuuiiiiii(x64emu_t *emu, uintptr_t fcn) { iFppuuiiiiii_t fn = (iFppuuiiiiii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
 void iFppuuiiuupi(x64emu_t *emu, uintptr_t fcn) { iFppuuiiuupi_t fn = (iFppuuiiuupi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
 void iFpppiiipipi(x64emu_t *emu, uintptr_t fcn) { iFpppiiipipi_t fn = (iFpppiiipipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
+void iFpppLLipppp(x64emu_t *emu, uintptr_t fcn) { iFpppLLipppp_t fn = (iFpppLLipppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFppppiiuuii(x64emu_t *emu, uintptr_t fcn) { iFppppiiuuii_t fn = (iFppppiiuuii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
 void uFpppppppppp(x64emu_t *emu, uintptr_t fcn) { uFpppppppppp_t fn = (uFpppppppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
+void pFEiippppppp(x64emu_t *emu, uintptr_t fcn) { pFEiippppppp_t fn = (pFEiippppppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
+void pFEpiiiiiipp(x64emu_t *emu, uintptr_t fcn) { pFEpiiiiiipp_t fn = (pFEpiiiiiipp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
+void pFEpippppppp(x64emu_t *emu, uintptr_t fcn) { pFEpippppppp_t fn = (pFEpippppppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void pFpCuWCCuuCW(x64emu_t *emu, uintptr_t fcn) { pFpCuWCCuuCW_t fn = (pFpCuWCCuuCW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint64_t)R_RDX, (uint16_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint8_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32)); }
 void pFpuwwWWuCuu(x64emu_t *emu, uintptr_t fcn) { pFpuwwWWuCuu_t fn = (pFpuwwWWuCuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int16_t)R_RDX, (int16_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint8_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32)); }
 void pFpuuuwwwwWW(x64emu_t *emu, uintptr_t fcn) { pFpuuuwwwwWW_t fn = (pFpuuuwwwwWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(int16_t*)(R_RSP + 8), *(int16_t*)(R_RSP + 16), *(uint16_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32)); }
@@ -3020,12 +3634,27 @@ void vFuuddiiddiip(x64emu_t *emu, uintptr_t fcn) { vFuuddiiddiip_t fn = (vFuuddi
 void vFuffffffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffffffff_t fn = (vFuffffffffff_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16)); }
 void vFpipipiipiii(x64emu_t *emu, uintptr_t fcn) { vFpipipiipiii_t fn = (vFpipipiipiii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40)); }
 void vFpipppiiiipi(x64emu_t *emu, uintptr_t fcn) { vFpipppiiiipi_t fn = (vFpipppiiiipi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(int64_t*)(R_RSP + 40)); }
+void vFppiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiiiiiiii_t fn = (vFppiiiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40)); }
+void vFppiiiiipiii(x64emu_t *emu, uintptr_t fcn) { vFppiiiiipiii_t fn = (vFppiiiiipiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40)); }
+void vFppiiiiddddi(x64emu_t *emu, uintptr_t fcn) { vFppiiiiddddi_t fn = (vFppiiiiddddi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], *(int64_t*)(R_RSP + 8)); }
+void vFppiipppiiii(x64emu_t *emu, uintptr_t fcn) { vFppiipppiiii_t fn = (vFppiipppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40)); }
+void vFppipppiiiii(x64emu_t *emu, uintptr_t fcn) { vFppipppiiiii_t fn = (vFppipppiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40)); }
+void vFppipppuiiii(x64emu_t *emu, uintptr_t fcn) { vFppipppuiiii_t fn = (vFppipppuiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40)); }
+void vFppppppppppp(x64emu_t *emu, uintptr_t fcn) { vFppppppppppp_t fn = (vFppppppppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40)); }
+void iFEpppipppppp(x64emu_t *emu, uintptr_t fcn) { iFEpppipppppp_t fn = (iFEpppipppppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFEppppiiiiuu(x64emu_t *emu, uintptr_t fcn) { iFEppppiiiiuu_t fn = (iFEppppiiiiuu_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32)); }
 void iFiiiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiiiip_t fn = (iFiiiiiiiiiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); }
 void iFppppiiuuiiL(x64emu_t *emu, uintptr_t fcn) { iFppppiiuuiiL_t fn = (iFppppiiuuiiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(uintptr_t*)(R_RSP + 40)); }
+void uFEpiiupppiuV(x64emu_t *emu, uintptr_t fcn) { uFEpiiupppiuV_t fn = (uFEpiiupppiuV_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), (void*)(R_RSP + 32)); }
+void uFEpiippppiup(x64emu_t *emu, uintptr_t fcn) { uFEpiippppiup_t fn = (uFEpiippppiup_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
+void uFEpiippppiuA(x64emu_t *emu, uintptr_t fcn) { uFEpiippppiuA_t fn = (uFEpiippppiuA_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
+void uFEppppppippp(x64emu_t *emu, uintptr_t fcn) { uFEppppppippp_t fn = (uFEppppppippp_t)fcn; R_RAX=(uint64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void uFppppppppppp(x64emu_t *emu, uintptr_t fcn) { uFppppppppppp_t fn = (uFppppppppppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40)); }
+void pFEpipppppppi(x64emu_t *emu, uintptr_t fcn) { pFEpipppppppi_t fn = (pFEpipppppppi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
 void pFEppiiLpppip(x64emu_t *emu, uintptr_t fcn) { pFEppiiLpppip_t fn = (pFEppiiLpppip_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void pFEppuiipuuii(x64emu_t *emu, uintptr_t fcn) { pFEppuiipuuii_t fn = (pFEppuiipuuii_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); }
+void pFpppppppiipp(x64emu_t *emu, uintptr_t fcn) { pFpppppppiipp_t fn = (pFpppppppiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40)); }
+void pFppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFppppppppppp_t fn = (pFppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40)); }
 void vFuiiiillliilp(x64emu_t *emu, uintptr_t fcn) { vFuiiiillliilp_t fn = (vFuiiiillliilp_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9, *(intptr_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(intptr_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); }
 void vFuuiiiiiiiiui(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiiui_t fn = (vFuuiiiiiiiiui_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(uint64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48)); }
 void vFuuiiiiiiiuip(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuip_t fn = (vFuuiiiiiiiuip_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); }
@@ -3034,7 +3663,12 @@ void vFuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuu_t fn = (vFuuu
 void vFffffffffffff(x64emu_t *emu, uintptr_t fcn) { vFffffffffffff_t fn = (vFffffffffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16), *(float*)(R_RSP + 24), *(float*)(R_RSP + 32)); }
 void vFpipppiiiipii(x64emu_t *emu, uintptr_t fcn) { vFpipppiiiipii_t fn = (vFpipppiiiipii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48)); }
 void vFpippppiiiipi(x64emu_t *emu, uintptr_t fcn) { vFpippppiiiipi_t fn = (vFpippppiiiipi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(void**)(R_RSP + 40), *(int64_t*)(R_RSP + 48)); }
+void vFppiiiiddddii(x64emu_t *emu, uintptr_t fcn) { vFppiiiiddddii_t fn = (vFppiiiiddddii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); }
 void vFppiiuuuiupup(x64emu_t *emu, uintptr_t fcn) { vFppiiuuuiupup_t fn = (vFppiiuuuiupup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(uint64_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); }
+void vFppiipppiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiipppiiiii_t fn = (vFppiipppiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48)); }
+void vFpppiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFpppiiiiiiiii_t fn = (vFpppiiiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48)); }
+void vFpppppppppppp(x64emu_t *emu, uintptr_t fcn) { vFpppppppppppp_t fn = (vFpppppppppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); }
+void iFEpppippppppp(x64emu_t *emu, uintptr_t fcn) { iFEpppippppppp_t fn = (iFEpppippppppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40)); }
 void iFEppppiiiiuui(x64emu_t *emu, uintptr_t fcn) { iFEppppiiiiuui_t fn = (iFEppppiiiiuui_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40)); }
 void iFpipllipppppp(x64emu_t *emu, uintptr_t fcn) { iFpipllipppppp_t fn = (iFpipllipppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); }
 void iFpipppppppppp(x64emu_t *emu, uintptr_t fcn) { iFpipppppppppp_t fn = (iFpipppppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); }
@@ -3046,9 +3680,14 @@ void pFpCuuWWwwCCup(x64emu_t *emu, uintptr_t fcn) { pFpCuuWWwwCCup_t fn = (pFpCu
 void pFpuuuWWWWWWWW(x64emu_t *emu, uintptr_t fcn) { pFpuuuWWWWWWWW_t fn = (pFpuuuWWWWWWWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint16_t*)(R_RSP + 16), *(uint16_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32), *(uint16_t*)(R_RSP + 40), *(uint16_t*)(R_RSP + 48)); }
 void pFppiiuuuiupLp(x64emu_t *emu, uintptr_t fcn) { pFppiiuuuiupLp_t fn = (pFppiiuuuiupLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(uintptr_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); }
 void pFpppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFpppppppppppp_t fn = (pFpppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); }
+void vFEpppppppiippp(x64emu_t *emu, uintptr_t fcn) { vFEpppppppiippp_t fn = (vFEpppppppiippp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); }
 void vFuiiiiiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiiuup_t fn = (vFuiiiiiiiiiuup_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(uint64_t*)(R_RSP + 40), *(uint64_t*)(R_RSP + 48), *(void**)(R_RSP + 56)); }
 void vFuuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuuu_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32), *(uint64_t*)(R_RSP + 40), *(uint64_t*)(R_RSP + 48), *(uint64_t*)(R_RSP + 56)); }
 void vFuffffffffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffffffffff_t fn = (vFuffffffffffff_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16), *(float*)(R_RSP + 24), *(float*)(R_RSP + 32)); }
+void vFpippppppppppp(x64emu_t *emu, uintptr_t fcn) { vFpippppppppppp_t fn = (vFpippppppppppp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
+void vFppiiiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiiiiiiiiii_t fn = (vFppiiiiiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(int64_t*)(R_RSP + 56)); }
+void vFppiipppiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiipppiiiiii_t fn = (vFppiipppiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(int64_t*)(R_RSP + 56)); }
+void vFppppppppppppp(x64emu_t *emu, uintptr_t fcn) { vFppppppppppppp_t fn = (vFppppppppppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
 void iFddddpppddpppp(x64emu_t *emu, uintptr_t fcn) { iFddddpppddpppp_t fn = (iFddddpppddpppp_t)fcn; R_RAX=(int64_t)fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[4].d[0], emu->xmm[5].d[0], (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFpippuuuiipppp(x64emu_t *emu, uintptr_t fcn) { iFpippuuuiipppp_t fn = (iFpippuuuiipppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
 void iFpupiiiipppppp(x64emu_t *emu, uintptr_t fcn) { iFpupiiiipppppp_t fn = (iFpupiiiipppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
@@ -3058,25 +3697,40 @@ void pFpuupppwwwwWWC(x64emu_t *emu, uintptr_t fcn) { pFpuupppwwwwWWC_t fn = (pFp
 void pFppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFppppppppppppp_t fn = (pFppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
 void vFuffiiffiiffiip(x64emu_t *emu, uintptr_t fcn) { vFuffiiffiiffiip_t fn = (vFuffiiffiiffiip_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], (int64_t)R_RSI, (int64_t)R_RDX, emu->xmm[2].f[0], emu->xmm[3].f[0], (int64_t)R_RCX, (int64_t)R_R8, emu->xmm[4].f[0], emu->xmm[5].f[0], (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFuddiiddiiddiip(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiiddiip_t fn = (vFuddiiddiiddiip_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RSI, (int64_t)R_RDX, emu->xmm[2].d[0], emu->xmm[3].d[0], (int64_t)R_RCX, (int64_t)R_R8, emu->xmm[4].d[0], emu->xmm[5].d[0], (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void vFppiipppiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiipppiiiiiii_t fn = (vFppiipppiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(int64_t*)(R_RSP + 56), *(int64_t*)(R_RSP + 64)); }
+void iFpipppppppppppp(x64emu_t *emu, uintptr_t fcn) { iFpipppppppppppp_t fn = (iFpipppppppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64)); }
 void vFuuiiiiuuiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiuuiiiiiii_t fn = (vFuuiiiiuuiiiiiii_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(int64_t*)(R_RSP + 56), *(int64_t*)(R_RSP + 64), *(int64_t*)(R_RSP + 72)); }
 void vFfffffffffffffff(x64emu_t *emu, uintptr_t fcn) { vFfffffffffffffff_t fn = (vFfffffffffffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8), *(float*)(R_RSP + 16), *(float*)(R_RSP + 24), *(float*)(R_RSP + 32), *(float*)(R_RSP + 40), *(float*)(R_RSP + 48), *(float*)(R_RSP + 56)); }
+void vFpppippppppppppp(x64emu_t *emu, uintptr_t fcn) { vFpppippppppppppp_t fn = (vFpppippppppppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
+void vFppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { vFppppppppppppppp_t fn = (vFppppppppppppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
+void pFpuiippppppppppp(x64emu_t *emu, uintptr_t fcn) { pFpuiippppppppppp_t fn = (pFpuiippppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
+void pFppipppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFppipppppppppppp_t fn = (pFppipppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
 void pFppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFppppppppppppppp_t fn = (pFppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
+void vFpppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { vFpppppppppppppppp_t fn = (vFpppppppppppppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80)); }
 void iFpppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppppppppppppp_t fn = (iFpppppppppppppppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80)); }
 void pFpuuWWWWWWwwCCCuu(x64emu_t *emu, uintptr_t fcn) { pFpuuWWWWWWwwCCCuu_t fn = (pFpuuWWWWWWwwCCCuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint16_t*)(R_RSP + 16), *(uint16_t*)(R_RSP + 24), *(int16_t*)(R_RSP + 32), *(int16_t*)(R_RSP + 40), *(uint8_t*)(R_RSP + 48), *(uint8_t*)(R_RSP + 56), *(uint8_t*)(R_RSP + 64), *(uint64_t*)(R_RSP + 72), *(uint64_t*)(R_RSP + 80)); }
+void pFppipipipipipipip(x64emu_t *emu, uintptr_t fcn) { pFppipipipipipipip_t fn = (pFppipipipipipipip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(void**)(R_RSP + 48), *(int64_t*)(R_RSP + 56), *(void**)(R_RSP + 64), *(int64_t*)(R_RSP + 72), *(void**)(R_RSP + 80)); }
 void pFpppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFpppppppppppppppp_t fn = (pFpppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80)); }
+void vFppiiiiddddiiiiiuu(x64emu_t *emu, uintptr_t fcn) { vFppiiiiddddiiiiiuu_t fn = (vFppiiiiddddiiiiiuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(uint64_t*)(R_RSP + 48), *(uint64_t*)(R_RSP + 56)); }
+void pFppippipipipipipip(x64emu_t *emu, uintptr_t fcn) { pFppippipipipipipip_t fn = (pFppippipipipipipip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(void**)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(void**)(R_RSP + 56), *(int64_t*)(R_RSP + 64), *(void**)(R_RSP + 72), *(int64_t*)(R_RSP + 80), *(void**)(R_RSP + 88)); }
 void vFppuiiiiipuiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppuiiiiipuiiiiiiii_t fn = (vFppuiiiiipuiiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(uint64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(int64_t*)(R_RSP + 56), *(int64_t*)(R_RSP + 64), *(int64_t*)(R_RSP + 72), *(int64_t*)(R_RSP + 80), *(int64_t*)(R_RSP + 88), *(int64_t*)(R_RSP + 96)); }
+void vFpppipppppppppppppp(x64emu_t *emu, uintptr_t fcn) { vFpppipppppppppppppp_t fn = (vFpppipppppppppppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96)); }
+void pFippppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFippppppppppppppppp_t fn = (pFippppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96)); }
+void vFpiiiiiiiiiiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFpiiiiiiiiiiiiiiiiii_t fn = (vFpiiiiiiiiiiiiiiiiii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32), *(int64_t*)(R_RSP + 40), *(int64_t*)(R_RSP + 48), *(int64_t*)(R_RSP + 56), *(int64_t*)(R_RSP + 64), *(int64_t*)(R_RSP + 72), *(int64_t*)(R_RSP + 80), *(int64_t*)(R_RSP + 88), *(int64_t*)(R_RSP + 96), *(int64_t*)(R_RSP + 104)); }
 void pFiiiippppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFiiiippppppppppppppp_t fn = (pFiiiippppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96), *(void**)(R_RSP + 104)); }
 void pFpippppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFpippppppppppppppppp_t fn = (pFpippppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96), *(void**)(R_RSP + 104)); }
 void pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFipppppppppppppppppppppp_t fn = (pFipppppppppppppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72), *(void**)(R_RSP + 80), *(void**)(R_RSP + 88), *(void**)(R_RSP + 96), *(void**)(R_RSP + 104), *(void**)(R_RSP + 112), *(void**)(R_RSP + 120), *(void**)(R_RSP + 128), *(void**)(R_RSP + 136)); }
 
 #if defined(HAVE_LD80BITS)
 void DFD(x64emu_t *emu, uintptr_t fcn) { DFD_t fn = (DFD_t)fcn; long double ld=fn(LD2localLD((void*)(R_RSP + 8))); fpu_do_push(emu); ST0val = ld; }
+void vFppippDDC(x64emu_t *emu, uintptr_t fcn) { vFppippDDC_t fn = (vFppippDDC_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, LD2localLD((void*)(R_RSP + 8)), LD2localLD((void*)(R_RSP + 24)), (uint8_t)R_R9); }
 #endif
 
 #if !defined(HAVE_LD80BITS)
 void KFK(x64emu_t *emu, uintptr_t fcn) { KFK_t fn = (KFK_t)fcn; double db=fn(FromLD((void*)(R_RSP + 8))); fpu_do_push(emu); ST0val = db; }
 void KFKK(x64emu_t *emu, uintptr_t fcn) { KFKK_t fn = (KFKK_t)fcn; double db=fn(FromLD((void*)(R_RSP + 8)), FromLD((void*)(R_RSP + 24))); fpu_do_push(emu); ST0val = db; }
 void KFKp(x64emu_t *emu, uintptr_t fcn) { KFKp_t fn = (KFKp_t)fcn; double db=fn(FromLD((void*)(R_RSP + 8)), (void*)R_RDI); fpu_do_push(emu); ST0val = db; }
+void vFppippKKC(x64emu_t *emu, uintptr_t fcn) { vFppippKKC_t fn = (vFppippKKC_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, FromLD((void*)(R_RSP + 8)), FromLD((void*)(R_RSP + 24)), (uint8_t)R_R9); }
 #endif
 
 #if defined(NOALIGN)
@@ -3109,6 +3763,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFf) return 2;
 	if (fun == &vFd) return 2;
 	if (fun == &vFl) return 1;
+	if (fun == &vFL) return 1;
 	if (fun == &vFp) return 1;
 	if (fun == &cFv) return 1;
 	if (fun == &cFi) return 1;
@@ -3120,6 +3775,8 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFw) return 1;
 	if (fun == &iFi) return 1;
 	if (fun == &iFI) return 1;
+	if (fun == &iFC) return 1;
+	if (fun == &iFW) return 1;
 	if (fun == &iFu) return 1;
 	if (fun == &iFU) return 1;
 	if (fun == &iFf) return 2;
@@ -3127,10 +3784,13 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFl) return 1;
 	if (fun == &iFL) return 1;
 	if (fun == &iFp) return 1;
+	if (fun == &IFv) return 1;
+	if (fun == &IFi) return 1;
 	if (fun == &IFI) return 1;
 	if (fun == &IFf) return 2;
 	if (fun == &IFd) return 2;
 	if (fun == &IFp) return 1;
+	if (fun == &CFC) return 1;
 	if (fun == &CFp) return 1;
 	if (fun == &WFi) return 1;
 	if (fun == &WFW) return 1;
@@ -3158,12 +3818,17 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &lFl) return 1;
 	if (fun == &lFp) return 1;
 	if (fun == &LFv) return 1;
+	if (fun == &LFu) return 1;
 	if (fun == &LFL) return 1;
 	if (fun == &LFp) return 1;
 	if (fun == &pFv) return 1;
+	if (fun == &pFw) return 1;
 	if (fun == &pFi) return 1;
+	if (fun == &pFI) return 1;
+	if (fun == &pFC) return 1;
 	if (fun == &pFW) return 1;
 	if (fun == &pFu) return 1;
+	if (fun == &pFU) return 1;
 	if (fun == &pFd) return 2;
 	if (fun == &pFl) return 1;
 	if (fun == &pFL) return 1;
@@ -3192,8 +3857,13 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFlp) return 1;
 	if (fun == &vFLL) return 1;
 	if (fun == &vFLp) return 1;
+	if (fun == &vFpc) return 1;
 	if (fun == &vFpi) return 1;
+	if (fun == &vFpI) return 1;
+	if (fun == &vFpC) return 1;
+	if (fun == &vFpW) return 1;
 	if (fun == &vFpu) return 1;
+	if (fun == &vFpU) return 1;
 	if (fun == &vFpf) return 2;
 	if (fun == &vFpd) return 2;
 	if (fun == &vFpl) return 1;
@@ -3229,6 +3899,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &IFpi) return 1;
 	if (fun == &IFpu) return 1;
 	if (fun == &IFpd) return 2;
+	if (fun == &CFip) return 1;
 	if (fun == &CFui) return 1;
 	if (fun == &CFpi) return 1;
 	if (fun == &CFpu) return 1;
@@ -3259,6 +3930,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &dFdp) return -2;
 	if (fun == &dFll) return -1;
 	if (fun == &dFpi) return -1;
+	if (fun == &dFpd) return -2;
 	if (fun == &dFpp) return -1;
 	if (fun == &lFii) return 1;
 	if (fun == &lFll) return 1;
@@ -3274,15 +3946,20 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFiu) return 1;
 	if (fun == &pFip) return 1;
 	if (fun == &pFui) return 1;
+	if (fun == &pFuC) return 1;
 	if (fun == &pFuu) return 1;
 	if (fun == &pFup) return 1;
+	if (fun == &pFUi) return 1;
 	if (fun == &pFdd) return 3;
 	if (fun == &pFlp) return 1;
 	if (fun == &pFLL) return 1;
+	if (fun == &pFLp) return 1;
 	if (fun == &pFpi) return 1;
 	if (fun == &pFpC) return 1;
 	if (fun == &pFpu) return 1;
 	if (fun == &pFpU) return 1;
+	if (fun == &pFpd) return 2;
+	if (fun == &pFpl) return 1;
 	if (fun == &pFpL) return 1;
 	if (fun == &pFpp) return 1;
 	if (fun == &vFiii) return 1;
@@ -3316,12 +3993,15 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFull) return 1;
 	if (fun == &vFulp) return 1;
 	if (fun == &vFupu) return 1;
+	if (fun == &vFupp) return 1;
 	if (fun == &vFfff) return 4;
 	if (fun == &vFfpp) return 2;
 	if (fun == &vFddd) return 4;
 	if (fun == &vFdpp) return 2;
+	if (fun == &vFLpL) return 1;
 	if (fun == &vFLpp) return 1;
 	if (fun == &vFpii) return 1;
+	if (fun == &vFpiC) return 1;
 	if (fun == &vFpiu) return 1;
 	if (fun == &vFpif) return 2;
 	if (fun == &vFpid) return 2;
@@ -3330,6 +4010,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpuI) return 1;
 	if (fun == &vFpuu) return 1;
 	if (fun == &vFpup) return 1;
+	if (fun == &vFpff) return 3;
 	if (fun == &vFpdd) return 3;
 	if (fun == &vFpll) return 1;
 	if (fun == &vFpLi) return 1;
@@ -3356,6 +4037,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFipu) return 1;
 	if (fun == &iFipL) return 1;
 	if (fun == &iFipp) return 1;
+	if (fun == &iFCiW) return 1;
 	if (fun == &iFuwp) return 1;
 	if (fun == &iFuui) return 1;
 	if (fun == &iFuuu) return 1;
@@ -3375,6 +4057,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpiu) return 1;
 	if (fun == &iFpiL) return 1;
 	if (fun == &iFpip) return 1;
+	if (fun == &iFpIi) return 1;
 	if (fun == &iFpui) return 1;
 	if (fun == &iFpuu) return 1;
 	if (fun == &iFpuU) return 1;
@@ -3404,6 +4087,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &IFiIi) return 1;
 	if (fun == &IFpIi) return 1;
 	if (fun == &IFppi) return 1;
+	if (fun == &IFppu) return 1;
 	if (fun == &uFipu) return 1;
 	if (fun == &uFuip) return 1;
 	if (fun == &uFuuu) return 1;
@@ -3421,6 +4105,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFppu) return 1;
 	if (fun == &uFppp) return 1;
 	if (fun == &UFppi) return 1;
+	if (fun == &UFppu) return 1;
 	if (fun == &fFull) return -1;
 	if (fun == &fFfff) return -4;
 	if (fun == &fFffp) return -3;
@@ -3428,6 +4113,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &fFppp) return -1;
 	if (fun == &dFddd) return -4;
 	if (fun == &dFddp) return -3;
+	if (fun == &dFpdd) return -3;
 	if (fun == &dFppi) return -1;
 	if (fun == &dFppp) return -1;
 	if (fun == &lFili) return 1;
@@ -3438,6 +4124,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &lFlpi) return 1;
 	if (fun == &lFpli) return 1;
 	if (fun == &lFpLu) return 1;
+	if (fun == &lFpLp) return 1;
 	if (fun == &lFppi) return 1;
 	if (fun == &lFppL) return 1;
 	if (fun == &lFppp) return 1;
@@ -3452,13 +4139,19 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &LFppi) return 1;
 	if (fun == &LFppL) return 1;
 	if (fun == &pFiii) return 1;
+	if (fun == &pFiiu) return 1;
 	if (fun == &pFiip) return 1;
+	if (fun == &pFiIp) return 1;
+	if (fun == &pFiup) return 1;
 	if (fun == &pFipi) return 1;
 	if (fun == &pFipL) return 1;
 	if (fun == &pFipp) return 1;
 	if (fun == &pFIpi) return 1;
+	if (fun == &pFCiW) return 1;
 	if (fun == &pFWWW) return 1;
 	if (fun == &pFuii) return 1;
+	if (fun == &pFuui) return 1;
+	if (fun == &pFuuu) return 1;
 	if (fun == &pFupi) return 1;
 	if (fun == &pFupL) return 1;
 	if (fun == &pFUpi) return 1;
@@ -3466,6 +4159,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFddd) return 4;
 	if (fun == &pFpii) return 1;
 	if (fun == &pFpiu) return 1;
+	if (fun == &pFpid) return 2;
 	if (fun == &pFpil) return 1;
 	if (fun == &pFpiL) return 1;
 	if (fun == &pFpip) return 1;
@@ -3476,11 +4170,16 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFpuL) return 1;
 	if (fun == &pFpup) return 1;
 	if (fun == &pFpUp) return 1;
+	if (fun == &pFpdu) return 2;
+	if (fun == &pFplC) return 1;
+	if (fun == &pFplu) return 1;
+	if (fun == &pFpll) return 1;
 	if (fun == &pFplp) return 1;
 	if (fun == &pFpLu) return 1;
 	if (fun == &pFpLL) return 1;
 	if (fun == &pFpLp) return 1;
 	if (fun == &pFppi) return 1;
+	if (fun == &pFppC) return 1;
 	if (fun == &pFppu) return 1;
 	if (fun == &pFppf) return 2;
 	if (fun == &pFppl) return 1;
@@ -3545,26 +4244,43 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFffff) return 5;
 	if (fun == &vFdddd) return 5;
 	if (fun == &vFpiii) return 1;
+	if (fun == &vFpiiu) return 1;
 	if (fun == &vFpiip) return 1;
+	if (fun == &vFpiuu) return 1;
 	if (fun == &vFpiuL) return 1;
 	if (fun == &vFpiup) return 1;
+	if (fun == &vFpifi) return 2;
 	if (fun == &vFpipi) return 1;
 	if (fun == &vFpipp) return 1;
+	if (fun == &vFpCiW) return 1;
+	if (fun == &vFpuip) return 1;
+	if (fun == &vFpuui) return 1;
 	if (fun == &vFpuuu) return 1;
+	if (fun == &vFpuup) return 1;
 	if (fun == &vFpudd) return 3;
 	if (fun == &vFpupp) return 1;
 	if (fun == &vFpdii) return 2;
+	if (fun == &vFpddi) return 3;
 	if (fun == &vFpddd) return 4;
 	if (fun == &vFpLLL) return 1;
 	if (fun == &vFppii) return 1;
+	if (fun == &vFppiu) return 1;
 	if (fun == &vFppid) return 2;
+	if (fun == &vFppiL) return 1;
 	if (fun == &vFppip) return 1;
 	if (fun == &vFppui) return 1;
 	if (fun == &vFppuu) return 1;
 	if (fun == &vFppup) return 1;
+	if (fun == &vFppfi) return 2;
+	if (fun == &vFppdu) return 2;
 	if (fun == &vFppdd) return 3;
+	if (fun == &vFppdp) return 2;
+	if (fun == &vFpplp) return 1;
 	if (fun == &vFpppi) return 1;
+	if (fun == &vFpppI) return 1;
 	if (fun == &vFpppu) return 1;
+	if (fun == &vFpppU) return 1;
+	if (fun == &vFpppd) return 2;
 	if (fun == &vFpppL) return 1;
 	if (fun == &vFpppp) return 1;
 	if (fun == &cFpiii) return 1;
@@ -3591,6 +4307,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFippi) return 1;
 	if (fun == &iFippL) return 1;
 	if (fun == &iFippp) return 1;
+	if (fun == &iFuipu) return 1;
 	if (fun == &iFuipp) return 1;
 	if (fun == &iFuuff) return 3;
 	if (fun == &iFuupi) return 1;
@@ -3612,6 +4329,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpipC) return 1;
 	if (fun == &iFpipu) return 1;
 	if (fun == &iFpipp) return 1;
+	if (fun == &iFpIip) return 1;
 	if (fun == &iFpCCC) return 1;
 	if (fun == &iFpWWu) return 1;
 	if (fun == &iFpuwp) return 1;
@@ -3622,6 +4340,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpuup) return 1;
 	if (fun == &iFpuLL) return 1;
 	if (fun == &iFpuLp) return 1;
+	if (fun == &iFpupi) return 1;
 	if (fun == &iFpupu) return 1;
 	if (fun == &iFpupL) return 1;
 	if (fun == &iFpupp) return 1;
@@ -3655,6 +4374,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpppp) return 1;
 	if (fun == &IFpIip) return 1;
 	if (fun == &IFppip) return 1;
+	if (fun == &IFpppp) return 1;
 	if (fun == &uFifff) return 4;
 	if (fun == &uFuuuu) return 1;
 	if (fun == &uFpipu) return 1;
@@ -3663,10 +4383,13 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpuip) return 1;
 	if (fun == &uFpuuu) return 1;
 	if (fun == &uFppiu) return 1;
+	if (fun == &uFppLp) return 1;
 	if (fun == &uFpppi) return 1;
 	if (fun == &uFpppp) return 1;
 	if (fun == &UFpipp) return 1;
 	if (fun == &UFppip) return 1;
+	if (fun == &UFpppp) return 1;
+	if (fun == &dFpppp) return -1;
 	if (fun == &lFiiLu) return 1;
 	if (fun == &lFiipL) return 1;
 	if (fun == &lFipil) return 1;
@@ -3684,6 +4407,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &lFppip) return 1;
 	if (fun == &lFpppL) return 1;
 	if (fun == &LFippL) return 1;
+	if (fun == &LFippp) return 1;
 	if (fun == &LFpuuu) return 1;
 	if (fun == &LFpLLp) return 1;
 	if (fun == &LFpLpp) return 1;
@@ -3691,15 +4415,20 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &LFppip) return 1;
 	if (fun == &LFppLL) return 1;
 	if (fun == &LFppLp) return 1;
+	if (fun == &LFpppi) return 1;
 	if (fun == &LFpppp) return 1;
 	if (fun == &pFiiii) return 1;
 	if (fun == &pFiiiu) return 1;
+	if (fun == &pFiiuu) return 1;
 	if (fun == &pFiiup) return 1;
+	if (fun == &pFipii) return 1;
+	if (fun == &pFipip) return 1;
 	if (fun == &pFippi) return 1;
 	if (fun == &pFippu) return 1;
 	if (fun == &pFuiii) return 1;
 	if (fun == &pFulli) return 1;
 	if (fun == &pFullu) return 1;
+	if (fun == &pFffff) return 5;
 	if (fun == &pFdipp) return 2;
 	if (fun == &pFdddd) return 5;
 	if (fun == &pFlfff) return 4;
@@ -3708,27 +4437,34 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFpiuu) return 1;
 	if (fun == &pFpiLL) return 1;
 	if (fun == &pFpipi) return 1;
+	if (fun == &pFpipd) return 2;
 	if (fun == &pFpipp) return 1;
 	if (fun == &pFpCWp) return 1;
 	if (fun == &pFpCuW) return 1;
 	if (fun == &pFpCuu) return 1;
 	if (fun == &pFpuii) return 1;
+	if (fun == &pFpuip) return 1;
 	if (fun == &pFpuWp) return 1;
 	if (fun == &pFpuuC) return 1;
 	if (fun == &pFpuuu) return 1;
 	if (fun == &pFpuup) return 1;
 	if (fun == &pFpupi) return 1;
+	if (fun == &pFpupu) return 1;
+	if (fun == &pFplpl) return 1;
 	if (fun == &pFplpp) return 1;
 	if (fun == &pFpLip) return 1;
 	if (fun == &pFpLpL) return 1;
 	if (fun == &pFppii) return 1;
+	if (fun == &pFppiu) return 1;
 	if (fun == &pFppiL) return 1;
 	if (fun == &pFppip) return 1;
 	if (fun == &pFppuW) return 1;
 	if (fun == &pFppuu) return 1;
 	if (fun == &pFppuL) return 1;
 	if (fun == &pFppup) return 1;
+	if (fun == &pFppdd) return 3;
 	if (fun == &pFppLL) return 1;
+	if (fun == &pFppLp) return 1;
 	if (fun == &pFpppi) return 1;
 	if (fun == &pFpppu) return 1;
 	if (fun == &pFpppL) return 1;
@@ -3801,23 +4537,37 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFfffff) return 6;
 	if (fun == &vFddddp) return 5;
 	if (fun == &vFpiiii) return 1;
+	if (fun == &vFpiiiu) return 1;
+	if (fun == &vFpiiff) return 3;
 	if (fun == &vFpiipp) return 1;
 	if (fun == &vFpipii) return 1;
+	if (fun == &vFpipiu) return 1;
+	if (fun == &vFpuiip) return 1;
 	if (fun == &vFpuipp) return 1;
+	if (fun == &vFpuuuu) return 1;
 	if (fun == &vFpuddd) return 4;
+	if (fun == &vFpffff) return 5;
 	if (fun == &vFpddii) return 3;
 	if (fun == &vFpdddd) return 5;
+	if (fun == &vFpddpp) return 3;
 	if (fun == &vFpliil) return 1;
 	if (fun == &vFppiii) return 1;
+	if (fun == &vFppiiu) return 1;
 	if (fun == &vFppiip) return 1;
 	if (fun == &vFppiup) return 1;
+	if (fun == &vFppiff) return 3;
+	if (fun == &vFppipi) return 1;
 	if (fun == &vFppipp) return 1;
 	if (fun == &vFppWui) return 1;
 	if (fun == &vFppuui) return 1;
+	if (fun == &vFppupi) return 1;
+	if (fun == &vFppupp) return 1;
 	if (fun == &vFpppii) return 1;
 	if (fun == &vFpppip) return 1;
+	if (fun == &vFpppuu) return 1;
 	if (fun == &vFppppi) return 1;
 	if (fun == &vFppppu) return 1;
+	if (fun == &vFppppL) return 1;
 	if (fun == &vFppppp) return 1;
 	if (fun == &iFiiipu) return 1;
 	if (fun == &iFiiipp) return 1;
@@ -3848,6 +4598,8 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpiuwp) return 1;
 	if (fun == &iFpipii) return 1;
 	if (fun == &iFpipiL) return 1;
+	if (fun == &iFpipip) return 1;
+	if (fun == &iFpippi) return 1;
 	if (fun == &iFpippW) return 1;
 	if (fun == &iFpippp) return 1;
 	if (fun == &iFpCCCC) return 1;
@@ -3856,9 +4608,11 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpuuup) return 1;
 	if (fun == &iFpuuLL) return 1;
 	if (fun == &iFpuupp) return 1;
+	if (fun == &iFpuppp) return 1;
 	if (fun == &iFplluu) return 1;
 	if (fun == &iFpLiLi) return 1;
 	if (fun == &iFpLlpp) return 1;
+	if (fun == &iFppiiu) return 1;
 	if (fun == &iFppiip) return 1;
 	if (fun == &iFppiup) return 1;
 	if (fun == &iFppiLi) return 1;
@@ -3869,12 +4623,15 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFppupi) return 1;
 	if (fun == &iFppupp) return 1;
 	if (fun == &iFppllp) return 1;
+	if (fun == &iFpplpp) return 1;
+	if (fun == &iFppLip) return 1;
 	if (fun == &iFppLpi) return 1;
 	if (fun == &iFppLpL) return 1;
 	if (fun == &iFppLpp) return 1;
 	if (fun == &iFpppii) return 1;
 	if (fun == &iFpppiL) return 1;
 	if (fun == &iFpppip) return 1;
+	if (fun == &iFpppui) return 1;
 	if (fun == &iFpppLi) return 1;
 	if (fun == &iFpppLp) return 1;
 	if (fun == &iFppppi) return 1;
@@ -3882,6 +4639,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFppppp) return 1;
 	if (fun == &IFppIII) return 1;
 	if (fun == &uFiuuuu) return 1;
+	if (fun == &uFipipp) return 1;
 	if (fun == &uFuiiiu) return 1;
 	if (fun == &uFpCCCC) return 1;
 	if (fun == &uFpuuuu) return 1;
@@ -3889,25 +4647,31 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFppipp) return 1;
 	if (fun == &uFppupp) return 1;
 	if (fun == &uFpplip) return 1;
+	if (fun == &uFppLpp) return 1;
 	if (fun == &uFppppu) return 1;
 	if (fun == &uFppppp) return 1;
 	if (fun == &UFuiiii) return 1;
 	if (fun == &lFipili) return 1;
 	if (fun == &lFipLli) return 1;
 	if (fun == &lFipLLi) return 1;
+	if (fun == &LFpuppi) return 1;
 	if (fun == &LFpLLLp) return 1;
 	if (fun == &LFpLppL) return 1;
 	if (fun == &LFpLppp) return 1;
 	if (fun == &LFppLLp) return 1;
 	if (fun == &LFpppii) return 1;
 	if (fun == &LFppppp) return 1;
+	if (fun == &pFiiiii) return 1;
 	if (fun == &pFipipL) return 1;
+	if (fun == &pFipppu) return 1;
 	if (fun == &pFuiiiu) return 1;
 	if (fun == &pFuiipp) return 1;
 	if (fun == &pFpiiii) return 1;
+	if (fun == &pFpiiip) return 1;
 	if (fun == &pFpiiuu) return 1;
 	if (fun == &pFpiipi) return 1;
 	if (fun == &pFpiipp) return 1;
+	if (fun == &pFpiCCC) return 1;
 	if (fun == &pFpiuuu) return 1;
 	if (fun == &pFpippi) return 1;
 	if (fun == &pFpippp) return 1;
@@ -3920,14 +4684,19 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFpuuWW) return 1;
 	if (fun == &pFpuuup) return 1;
 	if (fun == &pFpdddd) return 5;
+	if (fun == &pFplppp) return 1;
 	if (fun == &pFppiii) return 1;
 	if (fun == &pFppiip) return 1;
+	if (fun == &pFppiup) return 1;
 	if (fun == &pFppipi) return 1;
 	if (fun == &pFppipp) return 1;
 	if (fun == &pFppuuu) return 1;
 	if (fun == &pFppuup) return 1;
+	if (fun == &pFppddi) return 3;
 	if (fun == &pFppLLp) return 1;
+	if (fun == &pFpppii) return 1;
 	if (fun == &pFpppip) return 1;
+	if (fun == &pFpppui) return 1;
 	if (fun == &pFpppuu) return 1;
 	if (fun == &pFpppup) return 1;
 	if (fun == &pFpppLi) return 1;
@@ -3989,28 +4758,40 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFffffff) return 7;
 	if (fun == &vFdddddd) return 7;
 	if (fun == &vFpiiiii) return 1;
+	if (fun == &vFpiiipp) return 1;
 	if (fun == &vFpiiuuu) return 1;
 	if (fun == &vFpiippp) return 1;
 	if (fun == &vFpipppi) return 1;
+	if (fun == &vFpuiiiu) return 1;
+	if (fun == &vFpuiipp) return 1;
 	if (fun == &vFpudddd) return 5;
 	if (fun == &vFpdddii) return 4;
 	if (fun == &vFpddddd) return 6;
 	if (fun == &vFppiiii) return 1;
 	if (fun == &vFppiiip) return 1;
+	if (fun == &vFppiiui) return 1;
 	if (fun == &vFppiipi) return 1;
+	if (fun == &vFppiipp) return 1;
 	if (fun == &vFppilpp) return 1;
 	if (fun == &vFppippi) return 1;
 	if (fun == &vFppippp) return 1;
+	if (fun == &vFppuuuu) return 1;
 	if (fun == &vFppupii) return 1;
+	if (fun == &vFppuppp) return 1;
+	if (fun == &vFppdidd) return 4;
 	if (fun == &vFpplppi) return 1;
 	if (fun == &vFpplppp) return 1;
 	if (fun == &vFppLppi) return 1;
 	if (fun == &vFppLppp) return 1;
 	if (fun == &vFpppiii) return 1;
 	if (fun == &vFpppiip) return 1;
+	if (fun == &vFpppiff) return 3;
 	if (fun == &vFpppipu) return 1;
+	if (fun == &vFpppuii) return 1;
 	if (fun == &vFppppii) return 1;
 	if (fun == &vFpppppi) return 1;
+	if (fun == &vFpppppu) return 1;
+	if (fun == &vFpppppL) return 1;
 	if (fun == &vFpppppp) return 1;
 	if (fun == &cFppLppi) return 1;
 	if (fun == &iFiiiiii) return 1;
@@ -4027,9 +4808,11 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFLppipp) return 1;
 	if (fun == &iFpiiiii) return 1;
 	if (fun == &iFpiiipp) return 1;
+	if (fun == &iFpiippu) return 1;
 	if (fun == &iFpiippp) return 1;
 	if (fun == &iFpiuuup) return 1;
 	if (fun == &iFpiuupp) return 1;
+	if (fun == &iFpipipi) return 1;
 	if (fun == &iFpippip) return 1;
 	if (fun == &iFpipppL) return 1;
 	if (fun == &iFpipppp) return 1;
@@ -4037,16 +4820,24 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpuiCpp) return 1;
 	if (fun == &iFpuippp) return 1;
 	if (fun == &iFpupuui) return 1;
+	if (fun == &iFppiiip) return 1;
 	if (fun == &iFppiiuu) return 1;
 	if (fun == &iFppiipi) return 1;
+	if (fun == &iFppiipp) return 1;
 	if (fun == &iFppipii) return 1;
 	if (fun == &iFppipiL) return 1;
+	if (fun == &iFppipip) return 1;
+	if (fun == &iFppIipp) return 1;
 	if (fun == &iFppIppp) return 1;
 	if (fun == &iFppuiii) return 1;
 	if (fun == &iFppuiiL) return 1;
+	if (fun == &iFppuipp) return 1;
 	if (fun == &iFppuIII) return 1;
 	if (fun == &iFppuupp) return 1;
 	if (fun == &iFppupip) return 1;
+	if (fun == &iFppuppp) return 1;
+	if (fun == &iFppUipp) return 1;
+	if (fun == &iFppdidd) return 4;
 	if (fun == &iFpplppi) return 1;
 	if (fun == &iFppLupp) return 1;
 	if (fun == &iFppLpLp) return 1;
@@ -4064,6 +4855,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpppppp) return 1;
 	if (fun == &uFpippup) return 1;
 	if (fun == &uFpuippp) return 1;
+	if (fun == &uFppippp) return 1;
 	if (fun == &uFpppppi) return 1;
 	if (fun == &uFpppppp) return 1;
 	if (fun == &UFpippup) return 1;
@@ -4072,6 +4864,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &lFipLipp) return 1;
 	if (fun == &lFipLpLL) return 1;
 	if (fun == &LFpipipi) return 1;
+	if (fun == &LFpLippp) return 1;
 	if (fun == &pFiiiiii) return 1;
 	if (fun == &pFiCiiCi) return 1;
 	if (fun == &pFdddddd) return 7;
@@ -4084,10 +4877,16 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFpCuuup) return 1;
 	if (fun == &pFpuuwwu) return 1;
 	if (fun == &pFpuuuuu) return 1;
+	if (fun == &pFplpppp) return 1;
 	if (fun == &pFppiiii) return 1;
+	if (fun == &pFppiipp) return 1;
 	if (fun == &pFppiCCC) return 1;
 	if (fun == &pFppippi) return 1;
 	if (fun == &pFppippp) return 1;
+	if (fun == &pFpppiii) return 1;
+	if (fun == &pFpppiui) return 1;
+	if (fun == &pFppppii) return 1;
+	if (fun == &pFpppppi) return 1;
 	if (fun == &pFpppppu) return 1;
 	if (fun == &pFpppppp) return 1;
 	if (fun == &vFiiffffp) return 5;
@@ -4104,6 +4903,8 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpdddddd) return 7;
 	if (fun == &iFppppdpi) return 2;
 	if (fun == &pFifffppp) return 4;
+	if (fun == &pFpppfffi) return 4;
+	if (fun == &pFpppdddi) return 4;
 	if (fun == &vFuuuuufff) return 4;
 	if (fun == &vFffffffff) return 9;
 	if (fun == &vFuffffffff) return 9;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 30f0638e..2ef7b0e4 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -39,6 +39,7 @@ void vFU(x64emu_t *emu, uintptr_t fnc);
 void vFf(x64emu_t *emu, uintptr_t fnc);
 void vFd(x64emu_t *emu, uintptr_t fnc);
 void vFl(x64emu_t *emu, uintptr_t fnc);
+void vFL(x64emu_t *emu, uintptr_t fnc);
 void vFp(x64emu_t *emu, uintptr_t fnc);
 void vFS(x64emu_t *emu, uintptr_t fnc);
 void cFv(x64emu_t *emu, uintptr_t fnc);
@@ -52,6 +53,8 @@ void iFv(x64emu_t *emu, uintptr_t fnc);
 void iFw(x64emu_t *emu, uintptr_t fnc);
 void iFi(x64emu_t *emu, uintptr_t fnc);
 void iFI(x64emu_t *emu, uintptr_t fnc);
+void iFC(x64emu_t *emu, uintptr_t fnc);
+void iFW(x64emu_t *emu, uintptr_t fnc);
 void iFu(x64emu_t *emu, uintptr_t fnc);
 void iFU(x64emu_t *emu, uintptr_t fnc);
 void iFf(x64emu_t *emu, uintptr_t fnc);
@@ -62,10 +65,13 @@ void iFL(x64emu_t *emu, uintptr_t fnc);
 void iFp(x64emu_t *emu, uintptr_t fnc);
 void iFO(x64emu_t *emu, uintptr_t fnc);
 void iFS(x64emu_t *emu, uintptr_t fnc);
+void IFv(x64emu_t *emu, uintptr_t fnc);
+void IFi(x64emu_t *emu, uintptr_t fnc);
 void IFI(x64emu_t *emu, uintptr_t fnc);
 void IFf(x64emu_t *emu, uintptr_t fnc);
 void IFd(x64emu_t *emu, uintptr_t fnc);
 void IFp(x64emu_t *emu, uintptr_t fnc);
+void CFC(x64emu_t *emu, uintptr_t fnc);
 void CFp(x64emu_t *emu, uintptr_t fnc);
 void WFi(x64emu_t *emu, uintptr_t fnc);
 void WFW(x64emu_t *emu, uintptr_t fnc);
@@ -95,13 +101,18 @@ void lFi(x64emu_t *emu, uintptr_t fnc);
 void lFl(x64emu_t *emu, uintptr_t fnc);
 void lFp(x64emu_t *emu, uintptr_t fnc);
 void LFv(x64emu_t *emu, uintptr_t fnc);
+void LFu(x64emu_t *emu, uintptr_t fnc);
 void LFL(x64emu_t *emu, uintptr_t fnc);
 void LFp(x64emu_t *emu, uintptr_t fnc);
 void pFE(x64emu_t *emu, uintptr_t fnc);
 void pFv(x64emu_t *emu, uintptr_t fnc);
+void pFw(x64emu_t *emu, uintptr_t fnc);
 void pFi(x64emu_t *emu, uintptr_t fnc);
+void pFI(x64emu_t *emu, uintptr_t fnc);
+void pFC(x64emu_t *emu, uintptr_t fnc);
 void pFW(x64emu_t *emu, uintptr_t fnc);
 void pFu(x64emu_t *emu, uintptr_t fnc);
+void pFU(x64emu_t *emu, uintptr_t fnc);
 void pFd(x64emu_t *emu, uintptr_t fnc);
 void pFl(x64emu_t *emu, uintptr_t fnc);
 void pFL(x64emu_t *emu, uintptr_t fnc);
@@ -134,8 +145,13 @@ void vFdd(x64emu_t *emu, uintptr_t fnc);
 void vFlp(x64emu_t *emu, uintptr_t fnc);
 void vFLL(x64emu_t *emu, uintptr_t fnc);
 void vFLp(x64emu_t *emu, uintptr_t fnc);
+void vFpc(x64emu_t *emu, uintptr_t fnc);
 void vFpi(x64emu_t *emu, uintptr_t fnc);
+void vFpI(x64emu_t *emu, uintptr_t fnc);
+void vFpC(x64emu_t *emu, uintptr_t fnc);
+void vFpW(x64emu_t *emu, uintptr_t fnc);
 void vFpu(x64emu_t *emu, uintptr_t fnc);
+void vFpU(x64emu_t *emu, uintptr_t fnc);
 void vFpf(x64emu_t *emu, uintptr_t fnc);
 void vFpd(x64emu_t *emu, uintptr_t fnc);
 void vFpl(x64emu_t *emu, uintptr_t fnc);
@@ -179,6 +195,7 @@ void IFEp(x64emu_t *emu, uintptr_t fnc);
 void IFpi(x64emu_t *emu, uintptr_t fnc);
 void IFpu(x64emu_t *emu, uintptr_t fnc);
 void IFpd(x64emu_t *emu, uintptr_t fnc);
+void CFip(x64emu_t *emu, uintptr_t fnc);
 void CFui(x64emu_t *emu, uintptr_t fnc);
 void CFpi(x64emu_t *emu, uintptr_t fnc);
 void CFpu(x64emu_t *emu, uintptr_t fnc);
@@ -200,6 +217,7 @@ void UFEp(x64emu_t *emu, uintptr_t fnc);
 void UFuu(x64emu_t *emu, uintptr_t fnc);
 void UFUp(x64emu_t *emu, uintptr_t fnc);
 void UFpp(x64emu_t *emu, uintptr_t fnc);
+void fFEp(x64emu_t *emu, uintptr_t fnc);
 void fFif(x64emu_t *emu, uintptr_t fnc);
 void fFfi(x64emu_t *emu, uintptr_t fnc);
 void fFff(x64emu_t *emu, uintptr_t fnc);
@@ -213,6 +231,7 @@ void dFdD(x64emu_t *emu, uintptr_t fnc);
 void dFdp(x64emu_t *emu, uintptr_t fnc);
 void dFll(x64emu_t *emu, uintptr_t fnc);
 void dFpi(x64emu_t *emu, uintptr_t fnc);
+void dFpd(x64emu_t *emu, uintptr_t fnc);
 void dFpp(x64emu_t *emu, uintptr_t fnc);
 void DFDi(x64emu_t *emu, uintptr_t fnc);
 void DFDD(x64emu_t *emu, uintptr_t fnc);
@@ -229,20 +248,28 @@ void LFLi(x64emu_t *emu, uintptr_t fnc);
 void LFpi(x64emu_t *emu, uintptr_t fnc);
 void LFpL(x64emu_t *emu, uintptr_t fnc);
 void LFpp(x64emu_t *emu, uintptr_t fnc);
+void pFEi(x64emu_t *emu, uintptr_t fnc);
 void pFEp(x64emu_t *emu, uintptr_t fnc);
 void pFii(x64emu_t *emu, uintptr_t fnc);
 void pFiu(x64emu_t *emu, uintptr_t fnc);
 void pFip(x64emu_t *emu, uintptr_t fnc);
+void pFiV(x64emu_t *emu, uintptr_t fnc);
 void pFui(x64emu_t *emu, uintptr_t fnc);
+void pFuC(x64emu_t *emu, uintptr_t fnc);
 void pFuu(x64emu_t *emu, uintptr_t fnc);
 void pFup(x64emu_t *emu, uintptr_t fnc);
+void pFuV(x64emu_t *emu, uintptr_t fnc);
+void pFUi(x64emu_t *emu, uintptr_t fnc);
 void pFdd(x64emu_t *emu, uintptr_t fnc);
 void pFlp(x64emu_t *emu, uintptr_t fnc);
 void pFLL(x64emu_t *emu, uintptr_t fnc);
+void pFLp(x64emu_t *emu, uintptr_t fnc);
 void pFpi(x64emu_t *emu, uintptr_t fnc);
 void pFpC(x64emu_t *emu, uintptr_t fnc);
 void pFpu(x64emu_t *emu, uintptr_t fnc);
 void pFpU(x64emu_t *emu, uintptr_t fnc);
+void pFpd(x64emu_t *emu, uintptr_t fnc);
+void pFpl(x64emu_t *emu, uintptr_t fnc);
 void pFpL(x64emu_t *emu, uintptr_t fnc);
 void pFpp(x64emu_t *emu, uintptr_t fnc);
 void pFpV(x64emu_t *emu, uintptr_t fnc);
@@ -284,12 +311,15 @@ void vFudd(x64emu_t *emu, uintptr_t fnc);
 void vFull(x64emu_t *emu, uintptr_t fnc);
 void vFulp(x64emu_t *emu, uintptr_t fnc);
 void vFupu(x64emu_t *emu, uintptr_t fnc);
+void vFupp(x64emu_t *emu, uintptr_t fnc);
 void vFfff(x64emu_t *emu, uintptr_t fnc);
 void vFfpp(x64emu_t *emu, uintptr_t fnc);
 void vFddd(x64emu_t *emu, uintptr_t fnc);
 void vFdpp(x64emu_t *emu, uintptr_t fnc);
+void vFLpL(x64emu_t *emu, uintptr_t fnc);
 void vFLpp(x64emu_t *emu, uintptr_t fnc);
 void vFpii(x64emu_t *emu, uintptr_t fnc);
+void vFpiC(x64emu_t *emu, uintptr_t fnc);
 void vFpiu(x64emu_t *emu, uintptr_t fnc);
 void vFpif(x64emu_t *emu, uintptr_t fnc);
 void vFpid(x64emu_t *emu, uintptr_t fnc);
@@ -298,6 +328,7 @@ void vFpui(x64emu_t *emu, uintptr_t fnc);
 void vFpuI(x64emu_t *emu, uintptr_t fnc);
 void vFpuu(x64emu_t *emu, uintptr_t fnc);
 void vFpup(x64emu_t *emu, uintptr_t fnc);
+void vFpff(x64emu_t *emu, uintptr_t fnc);
 void vFpdd(x64emu_t *emu, uintptr_t fnc);
 void vFpll(x64emu_t *emu, uintptr_t fnc);
 void vFpLi(x64emu_t *emu, uintptr_t fnc);
@@ -309,6 +340,7 @@ void vFppd(x64emu_t *emu, uintptr_t fnc);
 void vFppl(x64emu_t *emu, uintptr_t fnc);
 void vFppL(x64emu_t *emu, uintptr_t fnc);
 void vFppp(x64emu_t *emu, uintptr_t fnc);
+void vFppV(x64emu_t *emu, uintptr_t fnc);
 void iFEiw(x64emu_t *emu, uintptr_t fnc);
 void iFEip(x64emu_t *emu, uintptr_t fnc);
 void iFEWW(x64emu_t *emu, uintptr_t fnc);
@@ -338,6 +370,7 @@ void iFipu(x64emu_t *emu, uintptr_t fnc);
 void iFipL(x64emu_t *emu, uintptr_t fnc);
 void iFipp(x64emu_t *emu, uintptr_t fnc);
 void iFipO(x64emu_t *emu, uintptr_t fnc);
+void iFCiW(x64emu_t *emu, uintptr_t fnc);
 void iFuwp(x64emu_t *emu, uintptr_t fnc);
 void iFuui(x64emu_t *emu, uintptr_t fnc);
 void iFuuu(x64emu_t *emu, uintptr_t fnc);
@@ -357,6 +390,7 @@ void iFpii(x64emu_t *emu, uintptr_t fnc);
 void iFpiu(x64emu_t *emu, uintptr_t fnc);
 void iFpiL(x64emu_t *emu, uintptr_t fnc);
 void iFpip(x64emu_t *emu, uintptr_t fnc);
+void iFpIi(x64emu_t *emu, uintptr_t fnc);
 void iFpui(x64emu_t *emu, uintptr_t fnc);
 void iFpuu(x64emu_t *emu, uintptr_t fnc);
 void iFpuU(x64emu_t *emu, uintptr_t fnc);
@@ -387,6 +421,7 @@ void iFSpL(x64emu_t *emu, uintptr_t fnc);
 void IFiIi(x64emu_t *emu, uintptr_t fnc);
 void IFpIi(x64emu_t *emu, uintptr_t fnc);
 void IFppi(x64emu_t *emu, uintptr_t fnc);
+void IFppu(x64emu_t *emu, uintptr_t fnc);
 void IFSIi(x64emu_t *emu, uintptr_t fnc);
 void uFEpW(x64emu_t *emu, uintptr_t fnc);
 void uFEpu(x64emu_t *emu, uintptr_t fnc);
@@ -409,6 +444,7 @@ void uFppi(x64emu_t *emu, uintptr_t fnc);
 void uFppu(x64emu_t *emu, uintptr_t fnc);
 void uFppp(x64emu_t *emu, uintptr_t fnc);
 void UFppi(x64emu_t *emu, uintptr_t fnc);
+void UFppu(x64emu_t *emu, uintptr_t fnc);
 void fFull(x64emu_t *emu, uintptr_t fnc);
 void fFfff(x64emu_t *emu, uintptr_t fnc);
 void fFffp(x64emu_t *emu, uintptr_t fnc);
@@ -416,6 +452,7 @@ void fFppL(x64emu_t *emu, uintptr_t fnc);
 void fFppp(x64emu_t *emu, uintptr_t fnc);
 void dFddd(x64emu_t *emu, uintptr_t fnc);
 void dFddp(x64emu_t *emu, uintptr_t fnc);
+void dFpdd(x64emu_t *emu, uintptr_t fnc);
 void dFppi(x64emu_t *emu, uintptr_t fnc);
 void dFppp(x64emu_t *emu, uintptr_t fnc);
 void DFppp(x64emu_t *emu, uintptr_t fnc);
@@ -427,6 +464,7 @@ void lFlll(x64emu_t *emu, uintptr_t fnc);
 void lFlpi(x64emu_t *emu, uintptr_t fnc);
 void lFpli(x64emu_t *emu, uintptr_t fnc);
 void lFpLu(x64emu_t *emu, uintptr_t fnc);
+void lFpLp(x64emu_t *emu, uintptr_t fnc);
 void lFppi(x64emu_t *emu, uintptr_t fnc);
 void lFppL(x64emu_t *emu, uintptr_t fnc);
 void lFppp(x64emu_t *emu, uintptr_t fnc);
@@ -443,16 +481,26 @@ void LFppi(x64emu_t *emu, uintptr_t fnc);
 void LFppL(x64emu_t *emu, uintptr_t fnc);
 void LFSpL(x64emu_t *emu, uintptr_t fnc);
 void pFEip(x64emu_t *emu, uintptr_t fnc);
+void pFEup(x64emu_t *emu, uintptr_t fnc);
 void pFEpi(x64emu_t *emu, uintptr_t fnc);
+void pFEpu(x64emu_t *emu, uintptr_t fnc);
 void pFEpp(x64emu_t *emu, uintptr_t fnc);
+void pFEpV(x64emu_t *emu, uintptr_t fnc);
+void pFEpA(x64emu_t *emu, uintptr_t fnc);
 void pFiii(x64emu_t *emu, uintptr_t fnc);
+void pFiiu(x64emu_t *emu, uintptr_t fnc);
 void pFiip(x64emu_t *emu, uintptr_t fnc);
+void pFiIp(x64emu_t *emu, uintptr_t fnc);
+void pFiup(x64emu_t *emu, uintptr_t fnc);
 void pFipi(x64emu_t *emu, uintptr_t fnc);
 void pFipL(x64emu_t *emu, uintptr_t fnc);
 void pFipp(x64emu_t *emu, uintptr_t fnc);
 void pFIpi(x64emu_t *emu, uintptr_t fnc);
+void pFCiW(x64emu_t *emu, uintptr_t fnc);
 void pFWWW(x64emu_t *emu, uintptr_t fnc);
 void pFuii(x64emu_t *emu, uintptr_t fnc);
+void pFuui(x64emu_t *emu, uintptr_t fnc);
+void pFuuu(x64emu_t *emu, uintptr_t fnc);
 void pFupi(x64emu_t *emu, uintptr_t fnc);
 void pFupL(x64emu_t *emu, uintptr_t fnc);
 void pFUpi(x64emu_t *emu, uintptr_t fnc);
@@ -461,6 +509,7 @@ void pFddd(x64emu_t *emu, uintptr_t fnc);
 void pFDip(x64emu_t *emu, uintptr_t fnc);
 void pFpii(x64emu_t *emu, uintptr_t fnc);
 void pFpiu(x64emu_t *emu, uintptr_t fnc);
+void pFpid(x64emu_t *emu, uintptr_t fnc);
 void pFpil(x64emu_t *emu, uintptr_t fnc);
 void pFpiL(x64emu_t *emu, uintptr_t fnc);
 void pFpip(x64emu_t *emu, uintptr_t fnc);
@@ -471,11 +520,16 @@ void pFpuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuL(x64emu_t *emu, uintptr_t fnc);
 void pFpup(x64emu_t *emu, uintptr_t fnc);
 void pFpUp(x64emu_t *emu, uintptr_t fnc);
+void pFpdu(x64emu_t *emu, uintptr_t fnc);
+void pFplC(x64emu_t *emu, uintptr_t fnc);
+void pFplu(x64emu_t *emu, uintptr_t fnc);
+void pFpll(x64emu_t *emu, uintptr_t fnc);
 void pFplp(x64emu_t *emu, uintptr_t fnc);
 void pFpLu(x64emu_t *emu, uintptr_t fnc);
 void pFpLL(x64emu_t *emu, uintptr_t fnc);
 void pFpLp(x64emu_t *emu, uintptr_t fnc);
 void pFppi(x64emu_t *emu, uintptr_t fnc);
+void pFppC(x64emu_t *emu, uintptr_t fnc);
 void pFppu(x64emu_t *emu, uintptr_t fnc);
 void pFppf(x64emu_t *emu, uintptr_t fnc);
 void pFppl(x64emu_t *emu, uintptr_t fnc);
@@ -483,6 +537,7 @@ void pFppL(x64emu_t *emu, uintptr_t fnc);
 void pFppp(x64emu_t *emu, uintptr_t fnc);
 void pFpOM(x64emu_t *emu, uintptr_t fnc);
 void pFSpl(x64emu_t *emu, uintptr_t fnc);
+void vFEiip(x64emu_t *emu, uintptr_t fnc);
 void vFEipp(x64emu_t *emu, uintptr_t fnc);
 void vFEipV(x64emu_t *emu, uintptr_t fnc);
 void vFEipA(x64emu_t *emu, uintptr_t fnc);
@@ -490,6 +545,8 @@ void vFEpii(x64emu_t *emu, uintptr_t fnc);
 void vFEpip(x64emu_t *emu, uintptr_t fnc);
 void vFEpup(x64emu_t *emu, uintptr_t fnc);
 void vFEppp(x64emu_t *emu, uintptr_t fnc);
+void vFEppV(x64emu_t *emu, uintptr_t fnc);
+void vFEppA(x64emu_t *emu, uintptr_t fnc);
 void vFiiii(x64emu_t *emu, uintptr_t fnc);
 void vFiiip(x64emu_t *emu, uintptr_t fnc);
 void vFiIII(x64emu_t *emu, uintptr_t fnc);
@@ -550,28 +607,46 @@ void vFUUpi(x64emu_t *emu, uintptr_t fnc);
 void vFffff(x64emu_t *emu, uintptr_t fnc);
 void vFdddd(x64emu_t *emu, uintptr_t fnc);
 void vFpiii(x64emu_t *emu, uintptr_t fnc);
+void vFpiiu(x64emu_t *emu, uintptr_t fnc);
 void vFpiip(x64emu_t *emu, uintptr_t fnc);
+void vFpiuu(x64emu_t *emu, uintptr_t fnc);
 void vFpiuL(x64emu_t *emu, uintptr_t fnc);
 void vFpiup(x64emu_t *emu, uintptr_t fnc);
+void vFpifi(x64emu_t *emu, uintptr_t fnc);
 void vFpipi(x64emu_t *emu, uintptr_t fnc);
 void vFpipp(x64emu_t *emu, uintptr_t fnc);
+void vFpCiW(x64emu_t *emu, uintptr_t fnc);
+void vFpuip(x64emu_t *emu, uintptr_t fnc);
+void vFpuui(x64emu_t *emu, uintptr_t fnc);
 void vFpuuu(x64emu_t *emu, uintptr_t fnc);
+void vFpuup(x64emu_t *emu, uintptr_t fnc);
 void vFpudd(x64emu_t *emu, uintptr_t fnc);
 void vFpupp(x64emu_t *emu, uintptr_t fnc);
 void vFpdii(x64emu_t *emu, uintptr_t fnc);
+void vFpddi(x64emu_t *emu, uintptr_t fnc);
 void vFpddd(x64emu_t *emu, uintptr_t fnc);
 void vFpLLL(x64emu_t *emu, uintptr_t fnc);
 void vFppii(x64emu_t *emu, uintptr_t fnc);
+void vFppiu(x64emu_t *emu, uintptr_t fnc);
 void vFppid(x64emu_t *emu, uintptr_t fnc);
+void vFppiL(x64emu_t *emu, uintptr_t fnc);
 void vFppip(x64emu_t *emu, uintptr_t fnc);
 void vFppui(x64emu_t *emu, uintptr_t fnc);
 void vFppuu(x64emu_t *emu, uintptr_t fnc);
 void vFppup(x64emu_t *emu, uintptr_t fnc);
+void vFppfi(x64emu_t *emu, uintptr_t fnc);
+void vFppdu(x64emu_t *emu, uintptr_t fnc);
 void vFppdd(x64emu_t *emu, uintptr_t fnc);
+void vFppdp(x64emu_t *emu, uintptr_t fnc);
+void vFpplp(x64emu_t *emu, uintptr_t fnc);
 void vFpppi(x64emu_t *emu, uintptr_t fnc);
+void vFpppI(x64emu_t *emu, uintptr_t fnc);
 void vFpppu(x64emu_t *emu, uintptr_t fnc);
+void vFpppU(x64emu_t *emu, uintptr_t fnc);
+void vFpppd(x64emu_t *emu, uintptr_t fnc);
 void vFpppL(x64emu_t *emu, uintptr_t fnc);
 void vFpppp(x64emu_t *emu, uintptr_t fnc);
+void vFpppV(x64emu_t *emu, uintptr_t fnc);
 void cFpiii(x64emu_t *emu, uintptr_t fnc);
 void iFEiip(x64emu_t *emu, uintptr_t fnc);
 void iFEiiN(x64emu_t *emu, uintptr_t fnc);
@@ -613,6 +688,7 @@ void iFippi(x64emu_t *emu, uintptr_t fnc);
 void iFippL(x64emu_t *emu, uintptr_t fnc);
 void iFippp(x64emu_t *emu, uintptr_t fnc);
 void iFipON(x64emu_t *emu, uintptr_t fnc);
+void iFuipu(x64emu_t *emu, uintptr_t fnc);
 void iFuipp(x64emu_t *emu, uintptr_t fnc);
 void iFuuff(x64emu_t *emu, uintptr_t fnc);
 void iFuupi(x64emu_t *emu, uintptr_t fnc);
@@ -635,6 +711,7 @@ void iFpipC(x64emu_t *emu, uintptr_t fnc);
 void iFpipu(x64emu_t *emu, uintptr_t fnc);
 void iFpipp(x64emu_t *emu, uintptr_t fnc);
 void iFpipV(x64emu_t *emu, uintptr_t fnc);
+void iFpIip(x64emu_t *emu, uintptr_t fnc);
 void iFpCCC(x64emu_t *emu, uintptr_t fnc);
 void iFpWWu(x64emu_t *emu, uintptr_t fnc);
 void iFpuwp(x64emu_t *emu, uintptr_t fnc);
@@ -645,6 +722,7 @@ void iFpuuu(x64emu_t *emu, uintptr_t fnc);
 void iFpuup(x64emu_t *emu, uintptr_t fnc);
 void iFpuLL(x64emu_t *emu, uintptr_t fnc);
 void iFpuLp(x64emu_t *emu, uintptr_t fnc);
+void iFpupi(x64emu_t *emu, uintptr_t fnc);
 void iFpupu(x64emu_t *emu, uintptr_t fnc);
 void iFpupL(x64emu_t *emu, uintptr_t fnc);
 void iFpupp(x64emu_t *emu, uintptr_t fnc);
@@ -681,8 +759,12 @@ void iFpppp(x64emu_t *emu, uintptr_t fnc);
 void IFEpIi(x64emu_t *emu, uintptr_t fnc);
 void IFpIip(x64emu_t *emu, uintptr_t fnc);
 void IFppip(x64emu_t *emu, uintptr_t fnc);
+void IFpppp(x64emu_t *emu, uintptr_t fnc);
 void IFSIii(x64emu_t *emu, uintptr_t fnc);
+void uFEipp(x64emu_t *emu, uintptr_t fnc);
+void uFEupp(x64emu_t *emu, uintptr_t fnc);
 void uFEpup(x64emu_t *emu, uintptr_t fnc);
+void uFEppp(x64emu_t *emu, uintptr_t fnc);
 void uFifff(x64emu_t *emu, uintptr_t fnc);
 void uFuuuu(x64emu_t *emu, uintptr_t fnc);
 void uFpipu(x64emu_t *emu, uintptr_t fnc);
@@ -691,10 +773,13 @@ void uFpCCC(x64emu_t *emu, uintptr_t fnc);
 void uFpuip(x64emu_t *emu, uintptr_t fnc);
 void uFpuuu(x64emu_t *emu, uintptr_t fnc);
 void uFppiu(x64emu_t *emu, uintptr_t fnc);
+void uFppLp(x64emu_t *emu, uintptr_t fnc);
 void uFpppi(x64emu_t *emu, uintptr_t fnc);
 void uFpppp(x64emu_t *emu, uintptr_t fnc);
 void UFpipp(x64emu_t *emu, uintptr_t fnc);
 void UFppip(x64emu_t *emu, uintptr_t fnc);
+void UFpppp(x64emu_t *emu, uintptr_t fnc);
+void dFpppp(x64emu_t *emu, uintptr_t fnc);
 void lFEpip(x64emu_t *emu, uintptr_t fnc);
 void lFEppL(x64emu_t *emu, uintptr_t fnc);
 void lFEppp(x64emu_t *emu, uintptr_t fnc);
@@ -715,6 +800,7 @@ void lFppii(x64emu_t *emu, uintptr_t fnc);
 void lFppip(x64emu_t *emu, uintptr_t fnc);
 void lFpppL(x64emu_t *emu, uintptr_t fnc);
 void LFippL(x64emu_t *emu, uintptr_t fnc);
+void LFippp(x64emu_t *emu, uintptr_t fnc);
 void LFpuuu(x64emu_t *emu, uintptr_t fnc);
 void LFpLLp(x64emu_t *emu, uintptr_t fnc);
 void LFpLpp(x64emu_t *emu, uintptr_t fnc);
@@ -722,21 +808,29 @@ void LFppii(x64emu_t *emu, uintptr_t fnc);
 void LFppip(x64emu_t *emu, uintptr_t fnc);
 void LFppLL(x64emu_t *emu, uintptr_t fnc);
 void LFppLp(x64emu_t *emu, uintptr_t fnc);
+void LFpppi(x64emu_t *emu, uintptr_t fnc);
 void LFpppp(x64emu_t *emu, uintptr_t fnc);
 void pFEipp(x64emu_t *emu, uintptr_t fnc);
+void pFEipV(x64emu_t *emu, uintptr_t fnc);
+void pFEipA(x64emu_t *emu, uintptr_t fnc);
 void pFEupp(x64emu_t *emu, uintptr_t fnc);
 void pFEpii(x64emu_t *emu, uintptr_t fnc);
 void pFEpip(x64emu_t *emu, uintptr_t fnc);
 void pFEppi(x64emu_t *emu, uintptr_t fnc);
 void pFEppp(x64emu_t *emu, uintptr_t fnc);
+void pFEppV(x64emu_t *emu, uintptr_t fnc);
 void pFiiii(x64emu_t *emu, uintptr_t fnc);
 void pFiiiu(x64emu_t *emu, uintptr_t fnc);
+void pFiiuu(x64emu_t *emu, uintptr_t fnc);
 void pFiiup(x64emu_t *emu, uintptr_t fnc);
+void pFipii(x64emu_t *emu, uintptr_t fnc);
+void pFipip(x64emu_t *emu, uintptr_t fnc);
 void pFippi(x64emu_t *emu, uintptr_t fnc);
 void pFippu(x64emu_t *emu, uintptr_t fnc);
 void pFuiii(x64emu_t *emu, uintptr_t fnc);
 void pFulli(x64emu_t *emu, uintptr_t fnc);
 void pFullu(x64emu_t *emu, uintptr_t fnc);
+void pFffff(x64emu_t *emu, uintptr_t fnc);
 void pFdipp(x64emu_t *emu, uintptr_t fnc);
 void pFdddd(x64emu_t *emu, uintptr_t fnc);
 void pFDipp(x64emu_t *emu, uintptr_t fnc);
@@ -746,35 +840,49 @@ void pFpiip(x64emu_t *emu, uintptr_t fnc);
 void pFpiuu(x64emu_t *emu, uintptr_t fnc);
 void pFpiLL(x64emu_t *emu, uintptr_t fnc);
 void pFpipi(x64emu_t *emu, uintptr_t fnc);
+void pFpipd(x64emu_t *emu, uintptr_t fnc);
 void pFpipp(x64emu_t *emu, uintptr_t fnc);
+void pFpipV(x64emu_t *emu, uintptr_t fnc);
 void pFpCWp(x64emu_t *emu, uintptr_t fnc);
 void pFpCuW(x64emu_t *emu, uintptr_t fnc);
 void pFpCuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuii(x64emu_t *emu, uintptr_t fnc);
+void pFpuip(x64emu_t *emu, uintptr_t fnc);
 void pFpuWp(x64emu_t *emu, uintptr_t fnc);
 void pFpuuC(x64emu_t *emu, uintptr_t fnc);
 void pFpuuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuup(x64emu_t *emu, uintptr_t fnc);
 void pFpupi(x64emu_t *emu, uintptr_t fnc);
+void pFpupu(x64emu_t *emu, uintptr_t fnc);
+void pFplpl(x64emu_t *emu, uintptr_t fnc);
 void pFplpp(x64emu_t *emu, uintptr_t fnc);
 void pFpLip(x64emu_t *emu, uintptr_t fnc);
 void pFpLpL(x64emu_t *emu, uintptr_t fnc);
 void pFppii(x64emu_t *emu, uintptr_t fnc);
+void pFppiu(x64emu_t *emu, uintptr_t fnc);
 void pFppiL(x64emu_t *emu, uintptr_t fnc);
 void pFppip(x64emu_t *emu, uintptr_t fnc);
 void pFppuW(x64emu_t *emu, uintptr_t fnc);
 void pFppuu(x64emu_t *emu, uintptr_t fnc);
 void pFppuL(x64emu_t *emu, uintptr_t fnc);
 void pFppup(x64emu_t *emu, uintptr_t fnc);
+void pFppdd(x64emu_t *emu, uintptr_t fnc);
 void pFppLL(x64emu_t *emu, uintptr_t fnc);
+void pFppLp(x64emu_t *emu, uintptr_t fnc);
 void pFpppi(x64emu_t *emu, uintptr_t fnc);
 void pFpppu(x64emu_t *emu, uintptr_t fnc);
 void pFpppL(x64emu_t *emu, uintptr_t fnc);
 void pFpppp(x64emu_t *emu, uintptr_t fnc);
 void pFSppi(x64emu_t *emu, uintptr_t fnc);
 void vFEiipV(x64emu_t *emu, uintptr_t fnc);
+void vFEippp(x64emu_t *emu, uintptr_t fnc);
 void vFEpuup(x64emu_t *emu, uintptr_t fnc);
+void vFEpuuV(x64emu_t *emu, uintptr_t fnc);
+void vFEpupp(x64emu_t *emu, uintptr_t fnc);
+void vFEpupA(x64emu_t *emu, uintptr_t fnc);
 void vFEpLLp(x64emu_t *emu, uintptr_t fnc);
+void vFEppip(x64emu_t *emu, uintptr_t fnc);
+void vFEppup(x64emu_t *emu, uintptr_t fnc);
 void vFEpppp(x64emu_t *emu, uintptr_t fnc);
 void vFiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiu(x64emu_t *emu, uintptr_t fnc);
@@ -844,25 +952,42 @@ void vFUUppp(x64emu_t *emu, uintptr_t fnc);
 void vFfffff(x64emu_t *emu, uintptr_t fnc);
 void vFddddp(x64emu_t *emu, uintptr_t fnc);
 void vFpiiii(x64emu_t *emu, uintptr_t fnc);
+void vFpiiiu(x64emu_t *emu, uintptr_t fnc);
+void vFpiiff(x64emu_t *emu, uintptr_t fnc);
 void vFpiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpipii(x64emu_t *emu, uintptr_t fnc);
+void vFpipiu(x64emu_t *emu, uintptr_t fnc);
+void vFpuiip(x64emu_t *emu, uintptr_t fnc);
 void vFpuipp(x64emu_t *emu, uintptr_t fnc);
+void vFpuipV(x64emu_t *emu, uintptr_t fnc);
+void vFpuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFpuddd(x64emu_t *emu, uintptr_t fnc);
+void vFpffff(x64emu_t *emu, uintptr_t fnc);
 void vFpddii(x64emu_t *emu, uintptr_t fnc);
 void vFpdddd(x64emu_t *emu, uintptr_t fnc);
+void vFpddpp(x64emu_t *emu, uintptr_t fnc);
 void vFpliil(x64emu_t *emu, uintptr_t fnc);
 void vFppiii(x64emu_t *emu, uintptr_t fnc);
+void vFppiiu(x64emu_t *emu, uintptr_t fnc);
 void vFppiip(x64emu_t *emu, uintptr_t fnc);
 void vFppiup(x64emu_t *emu, uintptr_t fnc);
+void vFppiff(x64emu_t *emu, uintptr_t fnc);
+void vFppipi(x64emu_t *emu, uintptr_t fnc);
 void vFppipp(x64emu_t *emu, uintptr_t fnc);
 void vFppWui(x64emu_t *emu, uintptr_t fnc);
 void vFppuui(x64emu_t *emu, uintptr_t fnc);
+void vFppupi(x64emu_t *emu, uintptr_t fnc);
+void vFppupp(x64emu_t *emu, uintptr_t fnc);
 void vFpppii(x64emu_t *emu, uintptr_t fnc);
 void vFpppip(x64emu_t *emu, uintptr_t fnc);
+void vFpppuu(x64emu_t *emu, uintptr_t fnc);
 void vFppppi(x64emu_t *emu, uintptr_t fnc);
 void vFppppu(x64emu_t *emu, uintptr_t fnc);
+void vFppppL(x64emu_t *emu, uintptr_t fnc);
 void vFppppp(x64emu_t *emu, uintptr_t fnc);
+void iFEiipp(x64emu_t *emu, uintptr_t fnc);
 void iFEiipV(x64emu_t *emu, uintptr_t fnc);
+void iFEippi(x64emu_t *emu, uintptr_t fnc);
 void iFEippp(x64emu_t *emu, uintptr_t fnc);
 void iFEpiii(x64emu_t *emu, uintptr_t fnc);
 void iFEpipi(x64emu_t *emu, uintptr_t fnc);
@@ -907,6 +1032,8 @@ void iFpiipp(x64emu_t *emu, uintptr_t fnc);
 void iFpiuwp(x64emu_t *emu, uintptr_t fnc);
 void iFpipii(x64emu_t *emu, uintptr_t fnc);
 void iFpipiL(x64emu_t *emu, uintptr_t fnc);
+void iFpipip(x64emu_t *emu, uintptr_t fnc);
+void iFpippi(x64emu_t *emu, uintptr_t fnc);
 void iFpippW(x64emu_t *emu, uintptr_t fnc);
 void iFpippp(x64emu_t *emu, uintptr_t fnc);
 void iFpCCCC(x64emu_t *emu, uintptr_t fnc);
@@ -915,9 +1042,11 @@ void iFpuuui(x64emu_t *emu, uintptr_t fnc);
 void iFpuuup(x64emu_t *emu, uintptr_t fnc);
 void iFpuuLL(x64emu_t *emu, uintptr_t fnc);
 void iFpuupp(x64emu_t *emu, uintptr_t fnc);
+void iFpuppp(x64emu_t *emu, uintptr_t fnc);
 void iFplluu(x64emu_t *emu, uintptr_t fnc);
 void iFpLiLi(x64emu_t *emu, uintptr_t fnc);
 void iFpLlpp(x64emu_t *emu, uintptr_t fnc);
+void iFppiiu(x64emu_t *emu, uintptr_t fnc);
 void iFppiip(x64emu_t *emu, uintptr_t fnc);
 void iFppiup(x64emu_t *emu, uintptr_t fnc);
 void iFppiLi(x64emu_t *emu, uintptr_t fnc);
@@ -928,20 +1057,27 @@ void iFppuip(x64emu_t *emu, uintptr_t fnc);
 void iFppupi(x64emu_t *emu, uintptr_t fnc);
 void iFppupp(x64emu_t *emu, uintptr_t fnc);
 void iFppllp(x64emu_t *emu, uintptr_t fnc);
+void iFpplpp(x64emu_t *emu, uintptr_t fnc);
+void iFppLip(x64emu_t *emu, uintptr_t fnc);
 void iFppLpi(x64emu_t *emu, uintptr_t fnc);
 void iFppLpL(x64emu_t *emu, uintptr_t fnc);
 void iFppLpp(x64emu_t *emu, uintptr_t fnc);
 void iFpppii(x64emu_t *emu, uintptr_t fnc);
 void iFpppiL(x64emu_t *emu, uintptr_t fnc);
 void iFpppip(x64emu_t *emu, uintptr_t fnc);
+void iFpppui(x64emu_t *emu, uintptr_t fnc);
 void iFpppLi(x64emu_t *emu, uintptr_t fnc);
 void iFpppLp(x64emu_t *emu, uintptr_t fnc);
 void iFppppi(x64emu_t *emu, uintptr_t fnc);
 void iFppppL(x64emu_t *emu, uintptr_t fnc);
 void iFppppp(x64emu_t *emu, uintptr_t fnc);
 void IFppIII(x64emu_t *emu, uintptr_t fnc);
+void uFEippp(x64emu_t *emu, uintptr_t fnc);
+void uFEpipp(x64emu_t *emu, uintptr_t fnc);
 void uFEppuu(x64emu_t *emu, uintptr_t fnc);
+void uFEpppp(x64emu_t *emu, uintptr_t fnc);
 void uFiuuuu(x64emu_t *emu, uintptr_t fnc);
+void uFipipp(x64emu_t *emu, uintptr_t fnc);
 void uFuiiiu(x64emu_t *emu, uintptr_t fnc);
 void uFpCCCC(x64emu_t *emu, uintptr_t fnc);
 void uFpuuuu(x64emu_t *emu, uintptr_t fnc);
@@ -949,12 +1085,15 @@ void uFppiip(x64emu_t *emu, uintptr_t fnc);
 void uFppipp(x64emu_t *emu, uintptr_t fnc);
 void uFppupp(x64emu_t *emu, uintptr_t fnc);
 void uFpplip(x64emu_t *emu, uintptr_t fnc);
+void uFppLpp(x64emu_t *emu, uintptr_t fnc);
 void uFppppu(x64emu_t *emu, uintptr_t fnc);
 void uFppppp(x64emu_t *emu, uintptr_t fnc);
 void UFuiiii(x64emu_t *emu, uintptr_t fnc);
 void lFipili(x64emu_t *emu, uintptr_t fnc);
 void lFipLli(x64emu_t *emu, uintptr_t fnc);
 void lFipLLi(x64emu_t *emu, uintptr_t fnc);
+void LFEpppp(x64emu_t *emu, uintptr_t fnc);
+void LFpuppi(x64emu_t *emu, uintptr_t fnc);
 void LFpLLLp(x64emu_t *emu, uintptr_t fnc);
 void LFpLppL(x64emu_t *emu, uintptr_t fnc);
 void LFpLppp(x64emu_t *emu, uintptr_t fnc);
@@ -971,13 +1110,17 @@ void pFEppLp(x64emu_t *emu, uintptr_t fnc);
 void pFEpppi(x64emu_t *emu, uintptr_t fnc);
 void pFEpppu(x64emu_t *emu, uintptr_t fnc);
 void pFEpppp(x64emu_t *emu, uintptr_t fnc);
+void pFiiiii(x64emu_t *emu, uintptr_t fnc);
 void pFipipL(x64emu_t *emu, uintptr_t fnc);
+void pFipppu(x64emu_t *emu, uintptr_t fnc);
 void pFuiiiu(x64emu_t *emu, uintptr_t fnc);
 void pFuiipp(x64emu_t *emu, uintptr_t fnc);
 void pFpiiii(x64emu_t *emu, uintptr_t fnc);
+void pFpiiip(x64emu_t *emu, uintptr_t fnc);
 void pFpiiuu(x64emu_t *emu, uintptr_t fnc);
 void pFpiipi(x64emu_t *emu, uintptr_t fnc);
 void pFpiipp(x64emu_t *emu, uintptr_t fnc);
+void pFpiCCC(x64emu_t *emu, uintptr_t fnc);
 void pFpiuuu(x64emu_t *emu, uintptr_t fnc);
 void pFpippi(x64emu_t *emu, uintptr_t fnc);
 void pFpippp(x64emu_t *emu, uintptr_t fnc);
@@ -990,22 +1133,31 @@ void pFpuuip(x64emu_t *emu, uintptr_t fnc);
 void pFpuuWW(x64emu_t *emu, uintptr_t fnc);
 void pFpuuup(x64emu_t *emu, uintptr_t fnc);
 void pFpdddd(x64emu_t *emu, uintptr_t fnc);
+void pFplppp(x64emu_t *emu, uintptr_t fnc);
 void pFppiii(x64emu_t *emu, uintptr_t fnc);
 void pFppiip(x64emu_t *emu, uintptr_t fnc);
+void pFppiup(x64emu_t *emu, uintptr_t fnc);
 void pFppipi(x64emu_t *emu, uintptr_t fnc);
 void pFppipp(x64emu_t *emu, uintptr_t fnc);
 void pFppuuu(x64emu_t *emu, uintptr_t fnc);
 void pFppuup(x64emu_t *emu, uintptr_t fnc);
+void pFppddi(x64emu_t *emu, uintptr_t fnc);
 void pFppLLp(x64emu_t *emu, uintptr_t fnc);
+void pFpppii(x64emu_t *emu, uintptr_t fnc);
 void pFpppip(x64emu_t *emu, uintptr_t fnc);
+void pFpppui(x64emu_t *emu, uintptr_t fnc);
 void pFpppuu(x64emu_t *emu, uintptr_t fnc);
 void pFpppup(x64emu_t *emu, uintptr_t fnc);
 void pFpppLi(x64emu_t *emu, uintptr_t fnc);
 void pFppppi(x64emu_t *emu, uintptr_t fnc);
 void pFppppp(x64emu_t *emu, uintptr_t fnc);
 void vFEiiipp(x64emu_t *emu, uintptr_t fnc);
+void vFEpiLpp(x64emu_t *emu, uintptr_t fnc);
+void vFEpippp(x64emu_t *emu, uintptr_t fnc);
 void vFEpuipp(x64emu_t *emu, uintptr_t fnc);
 void vFEpLLpp(x64emu_t *emu, uintptr_t fnc);
+void vFEppipV(x64emu_t *emu, uintptr_t fnc);
+void vFEppupp(x64emu_t *emu, uintptr_t fnc);
 void vFEppppp(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFiiiuil(x64emu_t *emu, uintptr_t fnc);
@@ -1063,32 +1215,46 @@ void vFuppppp(x64emu_t *emu, uintptr_t fnc);
 void vFffffff(x64emu_t *emu, uintptr_t fnc);
 void vFdddddd(x64emu_t *emu, uintptr_t fnc);
 void vFpiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFpiiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpiiuuu(x64emu_t *emu, uintptr_t fnc);
 void vFpiippp(x64emu_t *emu, uintptr_t fnc);
 void vFpipipV(x64emu_t *emu, uintptr_t fnc);
 void vFpipppi(x64emu_t *emu, uintptr_t fnc);
+void vFpuiiiu(x64emu_t *emu, uintptr_t fnc);
+void vFpuiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpudddd(x64emu_t *emu, uintptr_t fnc);
 void vFpdddii(x64emu_t *emu, uintptr_t fnc);
 void vFpddddd(x64emu_t *emu, uintptr_t fnc);
 void vFppiiii(x64emu_t *emu, uintptr_t fnc);
 void vFppiiip(x64emu_t *emu, uintptr_t fnc);
+void vFppiiui(x64emu_t *emu, uintptr_t fnc);
 void vFppiipi(x64emu_t *emu, uintptr_t fnc);
+void vFppiipp(x64emu_t *emu, uintptr_t fnc);
 void vFppilpp(x64emu_t *emu, uintptr_t fnc);
 void vFppippi(x64emu_t *emu, uintptr_t fnc);
 void vFppippp(x64emu_t *emu, uintptr_t fnc);
+void vFppuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFppupii(x64emu_t *emu, uintptr_t fnc);
+void vFppuppp(x64emu_t *emu, uintptr_t fnc);
+void vFppdidd(x64emu_t *emu, uintptr_t fnc);
 void vFpplppi(x64emu_t *emu, uintptr_t fnc);
 void vFpplppp(x64emu_t *emu, uintptr_t fnc);
 void vFppLppi(x64emu_t *emu, uintptr_t fnc);
 void vFppLppp(x64emu_t *emu, uintptr_t fnc);
 void vFpppiii(x64emu_t *emu, uintptr_t fnc);
 void vFpppiip(x64emu_t *emu, uintptr_t fnc);
+void vFpppiff(x64emu_t *emu, uintptr_t fnc);
 void vFpppipu(x64emu_t *emu, uintptr_t fnc);
+void vFpppuii(x64emu_t *emu, uintptr_t fnc);
 void vFppppii(x64emu_t *emu, uintptr_t fnc);
 void vFpppppi(x64emu_t *emu, uintptr_t fnc);
+void vFpppppu(x64emu_t *emu, uintptr_t fnc);
+void vFpppppL(x64emu_t *emu, uintptr_t fnc);
 void vFpppppp(x64emu_t *emu, uintptr_t fnc);
 void cFppLppi(x64emu_t *emu, uintptr_t fnc);
 void iFEiippi(x64emu_t *emu, uintptr_t fnc);
+void iFEiippp(x64emu_t *emu, uintptr_t fnc);
+void iFEipppi(x64emu_t *emu, uintptr_t fnc);
 void iFElpppp(x64emu_t *emu, uintptr_t fnc);
 void iFEpiipp(x64emu_t *emu, uintptr_t fnc);
 void iFEpiipV(x64emu_t *emu, uintptr_t fnc);
@@ -1111,9 +1277,11 @@ void iFlpippp(x64emu_t *emu, uintptr_t fnc);
 void iFLppipp(x64emu_t *emu, uintptr_t fnc);
 void iFpiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFpiiipp(x64emu_t *emu, uintptr_t fnc);
+void iFpiippu(x64emu_t *emu, uintptr_t fnc);
 void iFpiippp(x64emu_t *emu, uintptr_t fnc);
 void iFpiuuup(x64emu_t *emu, uintptr_t fnc);
 void iFpiuupp(x64emu_t *emu, uintptr_t fnc);
+void iFpipipi(x64emu_t *emu, uintptr_t fnc);
 void iFpippip(x64emu_t *emu, uintptr_t fnc);
 void iFpipppL(x64emu_t *emu, uintptr_t fnc);
 void iFpipppp(x64emu_t *emu, uintptr_t fnc);
@@ -1121,16 +1289,24 @@ void iFpWpppp(x64emu_t *emu, uintptr_t fnc);
 void iFpuiCpp(x64emu_t *emu, uintptr_t fnc);
 void iFpuippp(x64emu_t *emu, uintptr_t fnc);
 void iFpupuui(x64emu_t *emu, uintptr_t fnc);
+void iFppiiip(x64emu_t *emu, uintptr_t fnc);
 void iFppiiuu(x64emu_t *emu, uintptr_t fnc);
 void iFppiipi(x64emu_t *emu, uintptr_t fnc);
+void iFppiipp(x64emu_t *emu, uintptr_t fnc);
 void iFppipii(x64emu_t *emu, uintptr_t fnc);
 void iFppipiL(x64emu_t *emu, uintptr_t fnc);
+void iFppipip(x64emu_t *emu, uintptr_t fnc);
+void iFppIipp(x64emu_t *emu, uintptr_t fnc);
 void iFppIppp(x64emu_t *emu, uintptr_t fnc);
 void iFppuiii(x64emu_t *emu, uintptr_t fnc);
 void iFppuiiL(x64emu_t *emu, uintptr_t fnc);
+void iFppuipp(x64emu_t *emu, uintptr_t fnc);
 void iFppuIII(x64emu_t *emu, uintptr_t fnc);
 void iFppuupp(x64emu_t *emu, uintptr_t fnc);
 void iFppupip(x64emu_t *emu, uintptr_t fnc);
+void iFppuppp(x64emu_t *emu, uintptr_t fnc);
+void iFppUipp(x64emu_t *emu, uintptr_t fnc);
+void iFppdidd(x64emu_t *emu, uintptr_t fnc);
 void iFpplppi(x64emu_t *emu, uintptr_t fnc);
 void iFppLupp(x64emu_t *emu, uintptr_t fnc);
 void iFppLpLp(x64emu_t *emu, uintptr_t fnc);
@@ -1146,8 +1322,11 @@ void iFppppup(x64emu_t *emu, uintptr_t fnc);
 void iFpppppi(x64emu_t *emu, uintptr_t fnc);
 void iFpppppL(x64emu_t *emu, uintptr_t fnc);
 void iFpppppp(x64emu_t *emu, uintptr_t fnc);
+void uFEiippp(x64emu_t *emu, uintptr_t fnc);
+void uFEiuppp(x64emu_t *emu, uintptr_t fnc);
 void uFpippup(x64emu_t *emu, uintptr_t fnc);
 void uFpuippp(x64emu_t *emu, uintptr_t fnc);
+void uFppippp(x64emu_t *emu, uintptr_t fnc);
 void uFpppppi(x64emu_t *emu, uintptr_t fnc);
 void uFpppppp(x64emu_t *emu, uintptr_t fnc);
 void UFpippup(x64emu_t *emu, uintptr_t fnc);
@@ -1156,7 +1335,9 @@ void lFipipLu(x64emu_t *emu, uintptr_t fnc);
 void lFipLipu(x64emu_t *emu, uintptr_t fnc);
 void lFipLipp(x64emu_t *emu, uintptr_t fnc);
 void lFipLpLL(x64emu_t *emu, uintptr_t fnc);
+void LFEupppp(x64emu_t *emu, uintptr_t fnc);
 void LFpipipi(x64emu_t *emu, uintptr_t fnc);
+void LFpLippp(x64emu_t *emu, uintptr_t fnc);
 void LFSpLiip(x64emu_t *emu, uintptr_t fnc);
 void pFEpippp(x64emu_t *emu, uintptr_t fnc);
 void pFEpuipp(x64emu_t *emu, uintptr_t fnc);
@@ -1179,13 +1360,21 @@ void pFpCuuWW(x64emu_t *emu, uintptr_t fnc);
 void pFpCuuup(x64emu_t *emu, uintptr_t fnc);
 void pFpuuwwu(x64emu_t *emu, uintptr_t fnc);
 void pFpuuuuu(x64emu_t *emu, uintptr_t fnc);
+void pFplpppp(x64emu_t *emu, uintptr_t fnc);
 void pFppiiii(x64emu_t *emu, uintptr_t fnc);
+void pFppiipp(x64emu_t *emu, uintptr_t fnc);
 void pFppiCCC(x64emu_t *emu, uintptr_t fnc);
 void pFppippi(x64emu_t *emu, uintptr_t fnc);
 void pFppippp(x64emu_t *emu, uintptr_t fnc);
+void pFpppiii(x64emu_t *emu, uintptr_t fnc);
+void pFpppiui(x64emu_t *emu, uintptr_t fnc);
+void pFppppii(x64emu_t *emu, uintptr_t fnc);
+void pFpppppi(x64emu_t *emu, uintptr_t fnc);
 void pFpppppu(x64emu_t *emu, uintptr_t fnc);
 void pFpppppp(x64emu_t *emu, uintptr_t fnc);
 void pFSpiiii(x64emu_t *emu, uintptr_t fnc);
+void vFEpipppp(x64emu_t *emu, uintptr_t fnc);
+void vFEpuipuV(x64emu_t *emu, uintptr_t fnc);
 void vFEpppppp(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiuup(x64emu_t *emu, uintptr_t fnc);
@@ -1232,10 +1421,17 @@ void vFulpiill(x64emu_t *emu, uintptr_t fnc);
 void vFlipuiip(x64emu_t *emu, uintptr_t fnc);
 void vFpiiiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpiiliip(x64emu_t *emu, uintptr_t fnc);
+void vFpiipCpp(x64emu_t *emu, uintptr_t fnc);
 void vFpipipii(x64emu_t *emu, uintptr_t fnc);
+void vFpipppii(x64emu_t *emu, uintptr_t fnc);
 void vFpddiidd(x64emu_t *emu, uintptr_t fnc);
 void vFpdddddd(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiip(x64emu_t *emu, uintptr_t fnc);
 void vFppiiipi(x64emu_t *emu, uintptr_t fnc);
+void vFppiipii(x64emu_t *emu, uintptr_t fnc);
+void vFppiipuu(x64emu_t *emu, uintptr_t fnc);
+void vFppiippp(x64emu_t *emu, uintptr_t fnc);
 void vFppilppi(x64emu_t *emu, uintptr_t fnc);
 void vFppipiip(x64emu_t *emu, uintptr_t fnc);
 void vFppipipp(x64emu_t *emu, uintptr_t fnc);
@@ -1245,9 +1441,17 @@ void vFppLpppp(x64emu_t *emu, uintptr_t fnc);
 void vFpppiiii(x64emu_t *emu, uintptr_t fnc);
 void vFpppiipi(x64emu_t *emu, uintptr_t fnc);
 void vFpppiipp(x64emu_t *emu, uintptr_t fnc);
+void vFpppippi(x64emu_t *emu, uintptr_t fnc);
 void vFpppuuuu(x64emu_t *emu, uintptr_t fnc);
+void vFppppiii(x64emu_t *emu, uintptr_t fnc);
+void vFppppiip(x64emu_t *emu, uintptr_t fnc);
 void vFppppipi(x64emu_t *emu, uintptr_t fnc);
+void vFpppppip(x64emu_t *emu, uintptr_t fnc);
+void vFppppppi(x64emu_t *emu, uintptr_t fnc);
+void vFppppppp(x64emu_t *emu, uintptr_t fnc);
+void iFEpupppp(x64emu_t *emu, uintptr_t fnc);
 void iFEpLiLpV(x64emu_t *emu, uintptr_t fnc);
+void iFEppuppp(x64emu_t *emu, uintptr_t fnc);
 void iFEppLpIi(x64emu_t *emu, uintptr_t fnc);
 void iFEpppiiu(x64emu_t *emu, uintptr_t fnc);
 void iFEpppppL(x64emu_t *emu, uintptr_t fnc);
@@ -1279,10 +1483,12 @@ void iFppiipiL(x64emu_t *emu, uintptr_t fnc);
 void iFppiuppi(x64emu_t *emu, uintptr_t fnc);
 void iFppipiip(x64emu_t *emu, uintptr_t fnc);
 void iFppipipi(x64emu_t *emu, uintptr_t fnc);
+void iFppipipp(x64emu_t *emu, uintptr_t fnc);
 void iFppippip(x64emu_t *emu, uintptr_t fnc);
 void iFppipppi(x64emu_t *emu, uintptr_t fnc);
 void iFppipppp(x64emu_t *emu, uintptr_t fnc);
 void iFppuipiL(x64emu_t *emu, uintptr_t fnc);
+void iFppLiipp(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiii(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiuu(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiup(x64emu_t *emu, uintptr_t fnc);
@@ -1294,12 +1500,18 @@ void iFpppuiii(x64emu_t *emu, uintptr_t fnc);
 void iFppppiii(x64emu_t *emu, uintptr_t fnc);
 void iFppppdpi(x64emu_t *emu, uintptr_t fnc);
 void iFpppppip(x64emu_t *emu, uintptr_t fnc);
+void iFpppppup(x64emu_t *emu, uintptr_t fnc);
+void iFppppppi(x64emu_t *emu, uintptr_t fnc);
 void iFppppppp(x64emu_t *emu, uintptr_t fnc);
+void uFEiipppp(x64emu_t *emu, uintptr_t fnc);
+void uFEpiippp(x64emu_t *emu, uintptr_t fnc);
 void uFuippppp(x64emu_t *emu, uintptr_t fnc);
 void uFppiuppp(x64emu_t *emu, uintptr_t fnc);
+void LFEpppppu(x64emu_t *emu, uintptr_t fnc);
 void pFEpLiiii(x64emu_t *emu, uintptr_t fnc);
 void pFEpLiiiI(x64emu_t *emu, uintptr_t fnc);
 void pFEpLiiil(x64emu_t *emu, uintptr_t fnc);
+void pFEppuipp(x64emu_t *emu, uintptr_t fnc);
 void pFEppppip(x64emu_t *emu, uintptr_t fnc);
 void pFEpppppi(x64emu_t *emu, uintptr_t fnc);
 void pFifffppp(x64emu_t *emu, uintptr_t fnc);
@@ -1311,12 +1523,36 @@ void pFpCuuuuu(x64emu_t *emu, uintptr_t fnc);
 void pFpCpWWup(x64emu_t *emu, uintptr_t fnc);
 void pFpuuuwwu(x64emu_t *emu, uintptr_t fnc);
 void pFpuupwwC(x64emu_t *emu, uintptr_t fnc);
+void pFplppppp(x64emu_t *emu, uintptr_t fnc);
+void pFppiiipp(x64emu_t *emu, uintptr_t fnc);
 void pFppiiCCC(x64emu_t *emu, uintptr_t fnc);
+void pFppiippp(x64emu_t *emu, uintptr_t fnc);
+void pFppipipp(x64emu_t *emu, uintptr_t fnc);
 void pFppuuppp(x64emu_t *emu, uintptr_t fnc);
+void pFppLiiip(x64emu_t *emu, uintptr_t fnc);
+void pFppLipip(x64emu_t *emu, uintptr_t fnc);
+void pFpppccci(x64emu_t *emu, uintptr_t fnc);
+void pFpppiiii(x64emu_t *emu, uintptr_t fnc);
+void pFpppiipp(x64emu_t *emu, uintptr_t fnc);
+void pFpppIIIi(x64emu_t *emu, uintptr_t fnc);
+void pFpppCCCi(x64emu_t *emu, uintptr_t fnc);
+void pFpppuuui(x64emu_t *emu, uintptr_t fnc);
 void pFpppuupp(x64emu_t *emu, uintptr_t fnc);
+void pFpppUUUi(x64emu_t *emu, uintptr_t fnc);
+void pFpppfffi(x64emu_t *emu, uintptr_t fnc);
+void pFpppdddi(x64emu_t *emu, uintptr_t fnc);
+void pFpppllli(x64emu_t *emu, uintptr_t fnc);
+void pFpppLLLi(x64emu_t *emu, uintptr_t fnc);
 void pFppppuuu(x64emu_t *emu, uintptr_t fnc);
 void pFpppppuu(x64emu_t *emu, uintptr_t fnc);
+void pFppppppi(x64emu_t *emu, uintptr_t fnc);
 void pFppppppp(x64emu_t *emu, uintptr_t fnc);
+void vFEiippppV(x64emu_t *emu, uintptr_t fnc);
+void vFEiupippp(x64emu_t *emu, uintptr_t fnc);
+void vFEippippp(x64emu_t *emu, uintptr_t fnc);
+void vFEppipppp(x64emu_t *emu, uintptr_t fnc);
+void vFEpppuipV(x64emu_t *emu, uintptr_t fnc);
+void vFEpppppuu(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiuuip(x64emu_t *emu, uintptr_t fnc);
 void vFilipufip(x64emu_t *emu, uintptr_t fnc);
 void vFuiiiiiii(x64emu_t *emu, uintptr_t fnc);
@@ -1340,14 +1576,20 @@ void vFuuuuufff(x64emu_t *emu, uintptr_t fnc);
 void vFulllplip(x64emu_t *emu, uintptr_t fnc);
 void vFffffffff(x64emu_t *emu, uintptr_t fnc);
 void vFlipuiuip(x64emu_t *emu, uintptr_t fnc);
+void vFpiiiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFpiiiipii(x64emu_t *emu, uintptr_t fnc);
 void vFpippiiuu(x64emu_t *emu, uintptr_t fnc);
 void vFpippiipi(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFppiiipii(x64emu_t *emu, uintptr_t fnc);
 void vFppipipii(x64emu_t *emu, uintptr_t fnc);
+void vFppipppui(x64emu_t *emu, uintptr_t fnc);
 void vFppippppi(x64emu_t *emu, uintptr_t fnc);
+void vFppippppp(x64emu_t *emu, uintptr_t fnc);
 void vFpplppppi(x64emu_t *emu, uintptr_t fnc);
 void vFpplppppp(x64emu_t *emu, uintptr_t fnc);
 void vFppppiipi(x64emu_t *emu, uintptr_t fnc);
+void iFEipupupi(x64emu_t *emu, uintptr_t fnc);
 void iFEpippppp(x64emu_t *emu, uintptr_t fnc);
 void iFEpuuLppp(x64emu_t *emu, uintptr_t fnc);
 void iFEppppipp(x64emu_t *emu, uintptr_t fnc);
@@ -1358,10 +1600,12 @@ void iFuuuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void iFullfpppp(x64emu_t *emu, uintptr_t fnc);
 void iFpWCuWCuu(x64emu_t *emu, uintptr_t fnc);
 void iFpWWipppp(x64emu_t *emu, uintptr_t fnc);
+void iFpuiipppp(x64emu_t *emu, uintptr_t fnc);
 void iFpuippLpp(x64emu_t *emu, uintptr_t fnc);
 void iFpuuiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFpupppWWu(x64emu_t *emu, uintptr_t fnc);
 void iFpupppppp(x64emu_t *emu, uintptr_t fnc);
+void iFppiiiiiu(x64emu_t *emu, uintptr_t fnc);
 void iFppIIIppp(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiipi(x64emu_t *emu, uintptr_t fnc);
 void iFpppiippp(x64emu_t *emu, uintptr_t fnc);
@@ -1370,12 +1614,24 @@ void iFpppipppp(x64emu_t *emu, uintptr_t fnc);
 void iFppppiipi(x64emu_t *emu, uintptr_t fnc);
 void iFppppppii(x64emu_t *emu, uintptr_t fnc);
 void iFpppppppp(x64emu_t *emu, uintptr_t fnc);
+void uFEipipppp(x64emu_t *emu, uintptr_t fnc);
+void uFEpiupppp(x64emu_t *emu, uintptr_t fnc);
+void uFEppipppp(x64emu_t *emu, uintptr_t fnc);
+void uFEppppppp(x64emu_t *emu, uintptr_t fnc);
 void uFuipppppp(x64emu_t *emu, uintptr_t fnc);
 void uFppuppppp(x64emu_t *emu, uintptr_t fnc);
+void LFEpiupppp(x64emu_t *emu, uintptr_t fnc);
+void pFEppLiiip(x64emu_t *emu, uintptr_t fnc);
+void pFEpppuipV(x64emu_t *emu, uintptr_t fnc);
+void pFEpppppiV(x64emu_t *emu, uintptr_t fnc);
+void pFEppppppi(x64emu_t *emu, uintptr_t fnc);
 void pFEppppppp(x64emu_t *emu, uintptr_t fnc);
+void pFiipppppp(x64emu_t *emu, uintptr_t fnc);
 void pFuiiiuuuu(x64emu_t *emu, uintptr_t fnc);
 void pFuupupipp(x64emu_t *emu, uintptr_t fnc);
+void pFpiiiiiuu(x64emu_t *emu, uintptr_t fnc);
 void pFpipiiiip(x64emu_t *emu, uintptr_t fnc);
+void pFpipppppp(x64emu_t *emu, uintptr_t fnc);
 void pFpCCuuwwC(x64emu_t *emu, uintptr_t fnc);
 void pFpCuwwWWu(x64emu_t *emu, uintptr_t fnc);
 void pFpCuuuCup(x64emu_t *emu, uintptr_t fnc);
@@ -1383,8 +1639,12 @@ void pFpWWiCpup(x64emu_t *emu, uintptr_t fnc);
 void pFpuuWWCuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuuuupup(x64emu_t *emu, uintptr_t fnc);
 void pFpdwwWWui(x64emu_t *emu, uintptr_t fnc);
+void pFplpppppp(x64emu_t *emu, uintptr_t fnc);
+void pFppiiiiii(x64emu_t *emu, uintptr_t fnc);
 void pFpppuuLLu(x64emu_t *emu, uintptr_t fnc);
 void pFpppppupp(x64emu_t *emu, uintptr_t fnc);
+void vFEppiipppp(x64emu_t *emu, uintptr_t fnc);
+void vFEpppiippp(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiillli(x64emu_t *emu, uintptr_t fnc);
 void vFuiiiiiiii(x64emu_t *emu, uintptr_t fnc);
@@ -1406,12 +1666,19 @@ void vFddddddddd(x64emu_t *emu, uintptr_t fnc);
 void vFlipuiuiip(x64emu_t *emu, uintptr_t fnc);
 void vFpipiuiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpipppiipi(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiiipi(x64emu_t *emu, uintptr_t fnc);
 void vFppiiipiii(x64emu_t *emu, uintptr_t fnc);
+void vFppiipiiii(x64emu_t *emu, uintptr_t fnc);
+void vFppipppiii(x64emu_t *emu, uintptr_t fnc);
+void vFppipppiip(x64emu_t *emu, uintptr_t fnc);
 void vFppuuiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFpplpppppi(x64emu_t *emu, uintptr_t fnc);
+void vFpppiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFppppipiip(x64emu_t *emu, uintptr_t fnc);
 void vFpppppippp(x64emu_t *emu, uintptr_t fnc);
 void iFEpiiiiipi(x64emu_t *emu, uintptr_t fnc);
+void iFEpppipppp(x64emu_t *emu, uintptr_t fnc);
 void iFEppplPPPP(x64emu_t *emu, uintptr_t fnc);
 void iFEppPPPPPP(x64emu_t *emu, uintptr_t fnc);
 void iFiiiiiiiip(x64emu_t *emu, uintptr_t fnc);
@@ -1423,14 +1690,19 @@ void iFpipLpiiip(x64emu_t *emu, uintptr_t fnc);
 void iFpuuuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void iFppiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFppiuiippL(x64emu_t *emu, uintptr_t fnc);
+void iFppLpiippp(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiipip(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiuuii(x64emu_t *emu, uintptr_t fnc);
 void iFpppiipiiu(x64emu_t *emu, uintptr_t fnc);
 void iFppppppppu(x64emu_t *emu, uintptr_t fnc);
 void iFppppppppp(x64emu_t *emu, uintptr_t fnc);
+void uFEipippppp(x64emu_t *emu, uintptr_t fnc);
 void uFppppppppp(x64emu_t *emu, uintptr_t fnc);
+void LFEppppppii(x64emu_t *emu, uintptr_t fnc);
 void pFEppiiuuLi(x64emu_t *emu, uintptr_t fnc);
 void pFEppuippuu(x64emu_t *emu, uintptr_t fnc);
+void pFEpppppiiV(x64emu_t *emu, uintptr_t fnc);
+void pFEpppppppi(x64emu_t *emu, uintptr_t fnc);
 void pFpiiiiuuuu(x64emu_t *emu, uintptr_t fnc);
 void pFpCuWCCuuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuuwwWWww(x64emu_t *emu, uintptr_t fnc);
@@ -1438,7 +1710,12 @@ void pFpupuuuuup(x64emu_t *emu, uintptr_t fnc);
 void pFppiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void pFppiiuuuLL(x64emu_t *emu, uintptr_t fnc);
 void pFppipppppp(x64emu_t *emu, uintptr_t fnc);
+void pFpppiiiiii(x64emu_t *emu, uintptr_t fnc);
+void pFpppiipppp(x64emu_t *emu, uintptr_t fnc);
 void pFpppppiipp(x64emu_t *emu, uintptr_t fnc);
+void vFEiippppppp(x64emu_t *emu, uintptr_t fnc);
+void vFEpippppppp(x64emu_t *emu, uintptr_t fnc);
+void vFEpppiipppp(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiiiiiu(x64emu_t *emu, uintptr_t fnc);
 void vFuiiiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFuiiiiiiill(x64emu_t *emu, uintptr_t fnc);
@@ -1456,6 +1733,12 @@ void vFuuuuuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFuffiiffiip(x64emu_t *emu, uintptr_t fnc);
 void vFuddiiddiip(x64emu_t *emu, uintptr_t fnc);
 void vFffffffffff(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiiipip(x64emu_t *emu, uintptr_t fnc);
+void vFppiipppiip(x64emu_t *emu, uintptr_t fnc);
+void vFppiippppii(x64emu_t *emu, uintptr_t fnc);
+void vFppipppiiii(x64emu_t *emu, uintptr_t fnc);
+void vFppuuuuiiuu(x64emu_t *emu, uintptr_t fnc);
 void vFppdddddddd(x64emu_t *emu, uintptr_t fnc);
 void vFpppppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFEpupppLppL(x64emu_t *emu, uintptr_t fnc);
@@ -1467,8 +1750,12 @@ void iFpddpippppp(x64emu_t *emu, uintptr_t fnc);
 void iFppuuiiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFppuuiiuupi(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiipipi(x64emu_t *emu, uintptr_t fnc);
+void iFpppLLipppp(x64emu_t *emu, uintptr_t fnc);
 void iFppppiiuuii(x64emu_t *emu, uintptr_t fnc);
 void uFpppppppppp(x64emu_t *emu, uintptr_t fnc);
+void pFEiippppppp(x64emu_t *emu, uintptr_t fnc);
+void pFEpiiiiiipp(x64emu_t *emu, uintptr_t fnc);
+void pFEpippppppp(x64emu_t *emu, uintptr_t fnc);
 void pFpCuWCCuuCW(x64emu_t *emu, uintptr_t fnc);
 void pFpuwwWWuCuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuuuwwwwWW(x64emu_t *emu, uintptr_t fnc);
@@ -1490,12 +1777,27 @@ void vFuuddiiddiip(x64emu_t *emu, uintptr_t fnc);
 void vFuffffffffff(x64emu_t *emu, uintptr_t fnc);
 void vFpipipiipiii(x64emu_t *emu, uintptr_t fnc);
 void vFpipppiiiipi(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiiiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiiipiii(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiiddddi(x64emu_t *emu, uintptr_t fnc);
+void vFppiipppiiii(x64emu_t *emu, uintptr_t fnc);
+void vFppipppiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFppipppuiiii(x64emu_t *emu, uintptr_t fnc);
+void vFppppppppppp(x64emu_t *emu, uintptr_t fnc);
+void iFEpppipppppp(x64emu_t *emu, uintptr_t fnc);
 void iFEppppiiiiuu(x64emu_t *emu, uintptr_t fnc);
 void iFiiiiiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void iFppppiiuuiiL(x64emu_t *emu, uintptr_t fnc);
+void uFEpiiupppiuV(x64emu_t *emu, uintptr_t fnc);
+void uFEpiippppiup(x64emu_t *emu, uintptr_t fnc);
+void uFEpiippppiuA(x64emu_t *emu, uintptr_t fnc);
+void uFEppppppippp(x64emu_t *emu, uintptr_t fnc);
 void uFppppppppppp(x64emu_t *emu, uintptr_t fnc);
+void pFEpipppppppi(x64emu_t *emu, uintptr_t fnc);
 void pFEppiiLpppip(x64emu_t *emu, uintptr_t fnc);
 void pFEppuiipuuii(x64emu_t *emu, uintptr_t fnc);
+void pFpppppppiipp(x64emu_t *emu, uintptr_t fnc);
+void pFppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void vFuiiiillliilp(x64emu_t *emu, uintptr_t fnc);
 void vFuuiiiiiiiiui(x64emu_t *emu, uintptr_t fnc);
 void vFuuiiiiiiiuip(x64emu_t *emu, uintptr_t fnc);
@@ -1504,7 +1806,12 @@ void vFuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFffffffffffff(x64emu_t *emu, uintptr_t fnc);
 void vFpipppiiiipii(x64emu_t *emu, uintptr_t fnc);
 void vFpippppiiiipi(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiiddddii(x64emu_t *emu, uintptr_t fnc);
 void vFppiiuuuiupup(x64emu_t *emu, uintptr_t fnc);
+void vFppiipppiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFpppiiiiiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFpppppppppppp(x64emu_t *emu, uintptr_t fnc);
+void iFEpppippppppp(x64emu_t *emu, uintptr_t fnc);
 void iFEppppiiiiuui(x64emu_t *emu, uintptr_t fnc);
 void iFpipllipppppp(x64emu_t *emu, uintptr_t fnc);
 void iFpipppppppppp(x64emu_t *emu, uintptr_t fnc);
@@ -1516,9 +1823,14 @@ void pFpCuuWWwwCCup(x64emu_t *emu, uintptr_t fnc);
 void pFpuuuWWWWWWWW(x64emu_t *emu, uintptr_t fnc);
 void pFppiiuuuiupLp(x64emu_t *emu, uintptr_t fnc);
 void pFpppppppppppp(x64emu_t *emu, uintptr_t fnc);
+void vFEpppppppiippp(x64emu_t *emu, uintptr_t fnc);
 void vFuiiiiiiiiiuup(x64emu_t *emu, uintptr_t fnc);
 void vFuuuuuuuuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFuffffffffffff(x64emu_t *emu, uintptr_t fnc);
+void vFpippppppppppp(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiiiiiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFppiipppiiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFppppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFddddpppddpppp(x64emu_t *emu, uintptr_t fnc);
 void iFpippuuuiipppp(x64emu_t *emu, uintptr_t fnc);
 void iFpupiiiipppppp(x64emu_t *emu, uintptr_t fnc);
@@ -1528,25 +1840,40 @@ void pFpuupppwwwwWWC(x64emu_t *emu, uintptr_t fnc);
 void pFppppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void vFuffiiffiiffiip(x64emu_t *emu, uintptr_t fnc);
 void vFuddiiddiiddiip(x64emu_t *emu, uintptr_t fnc);
+void vFppiipppiiiiiii(x64emu_t *emu, uintptr_t fnc);
+void iFpipppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void vFuuiiiiuuiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFfffffffffffffff(x64emu_t *emu, uintptr_t fnc);
+void vFpppippppppppppp(x64emu_t *emu, uintptr_t fnc);
+void vFppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
+void pFpuiippppppppppp(x64emu_t *emu, uintptr_t fnc);
+void pFppipppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void pFppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
+void vFpppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFpppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void pFpuuWWWWWWwwCCCuu(x64emu_t *emu, uintptr_t fnc);
+void pFppipipipipipipip(x64emu_t *emu, uintptr_t fnc);
 void pFpppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
+void vFppiiiiddddiiiiiuu(x64emu_t *emu, uintptr_t fnc);
+void pFppippipipipipipip(x64emu_t *emu, uintptr_t fnc);
 void vFppuiiiiipuiiiiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFpppipppppppppppppp(x64emu_t *emu, uintptr_t fnc);
+void pFippppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
+void vFpiiiiiiiiiiiiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void pFiiiippppppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void pFpippppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void pFipppppppppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
 
 #if defined(HAVE_LD80BITS)
 void DFD(x64emu_t *emu, uintptr_t fnc);
+void vFppippDDC(x64emu_t *emu, uintptr_t fnc);
 #endif
 
 #if !defined(HAVE_LD80BITS)
 void KFK(x64emu_t *emu, uintptr_t fnc);
 void KFKK(x64emu_t *emu, uintptr_t fnc);
 void KFKp(x64emu_t *emu, uintptr_t fnc);
+void vFppippKKC(x64emu_t *emu, uintptr_t fnc);
 #endif
 
 #if defined(NOALIGN)
diff --git a/src/wrapped/wrappeddbusglib1.c b/src/wrapped/wrappeddbusglib1.c
new file mode 100755
index 00000000..840a4469
--- /dev/null
+++ b/src/wrapped/wrappeddbusglib1.c
@@ -0,0 +1,287 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+
+const char* dbusglib1Name = "libdbus-glib-1.so.2";
+#define LIBNAME dbusglib1
+
+typedef void (*vFppp_t)(void*, void*, void*);
+typedef void (*vFpppp_t)(void*, void*, void*, void*);
+typedef void (*vFppppp_t)(void*, void*, void*, void*, void*);
+typedef void*(*pFpppppiV_t)(void*, void*, void*, void*, void*, int, ...);
+typedef void*(*pFpppppiiV_t)(void*, void*, void*, void*, void*, int, int, ...);
+
+#define SUPER() \
+    GO(dbus_g_type_collection_value_iterate, vFppp_t)   \
+    GO(dbus_g_type_map_value_iterate, vFppp_t)          \
+    GO(dbus_g_proxy_begin_call, pFpppppiV_t)            \
+    GO(dbus_g_proxy_begin_call_with_timeout, pFpppppiiV_t)  \
+    GO(dbus_g_proxy_connect_signal, vFppppp_t)          \
+    GO(dbus_g_proxy_disconnect_signal, vFpppp_t)
+
+typedef struct dbusglib1_my_s {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+} dbusglib1_my_t;
+
+static void* getDBusGLib1My(library_t* lib)
+{
+    dbusglib1_my_t* my = (dbusglib1_my_t*)calloc(1, sizeof(dbusglib1_my_t));
+    #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
+    SUPER()
+    #undef GO
+    return my;
+}
+#undef SUPER
+
+static void freeDBusGLib1My(void* lib)
+{
+    //dbusglib1_my_t *my = (dbusglib1_my_t *)lib;
+}
+
+#define SUPER() \
+    GO(0)   \
+    GO(1)   \
+    GO(2)   \
+    GO(3)
+
+// GDestroyNotify
+#define GO(A)   \
+static uintptr_t my_GDestroyNotify_fct_##A = 0;   \
+static void my_GDestroyNotify_##A(void* data)     \
+{                                       \
+    RunFunction(my_context, my_GDestroyNotify_fct_##A, 1, data);\
+}
+SUPER()
+#undef GO
+static void* findGDestroyNotifyFct(void* fct)
+{
+    if(!fct) return NULL;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GDestroyNotify_fct_##A == (uintptr_t)fct) return my_GDestroyNotify_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GDestroyNotify_fct_##A == 0) {my_GDestroyNotify_fct_##A = (uintptr_t)fct; return my_GDestroyNotify_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for dbus-glib1 GDestroyNotify callback\n");
+    return NULL;
+}
+
+// GClosureNotify
+#define GO(A)   \
+static uintptr_t my_GClosureNotify_fct_##A = 0;   \
+static void my_GClosureNotify_##A(void* data, void* closure)     \
+{                                       \
+    RunFunction(my_context, my_GClosureNotify_fct_##A, 2, data, closure);\
+}
+SUPER()
+#undef GO
+static void* findGClosureNotifyFct(void* fct)
+{
+    if(!fct) return NULL;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GClosureNotify_fct_##A == (uintptr_t)fct) return my_GClosureNotify_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GClosureNotify_fct_##A == 0) {my_GClosureNotify_fct_##A = (uintptr_t)fct; return my_GClosureNotify_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for dbus-glib1 GClosureNotify callback\n");
+    return NULL;
+}
+
+// DBusGProxyCallNotify
+#define GO(A)   \
+static uintptr_t my_DBusGProxyCallNotify_fct_##A = 0;   \
+static void my_DBusGProxyCallNotify_##A(void* proxy, void* call_id, void* data)     \
+{                                       \
+    RunFunction(my_context, my_DBusGProxyCallNotify_fct_##A, 3, proxy, call_id, data);\
+}
+SUPER()
+#undef GO
+static void* findDBusGProxyCallNotifyFct(void* fct)
+{
+    if(!fct) return NULL;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_DBusGProxyCallNotify_fct_##A == (uintptr_t)fct) return my_DBusGProxyCallNotify_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_DBusGProxyCallNotify_fct_##A == 0) {my_DBusGProxyCallNotify_fct_##A = (uintptr_t)fct; return my_DBusGProxyCallNotify_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for dbus-glib1 DBusGProxyCallNotify callback\n");
+    return NULL;
+}
+
+// GCallback
+#define GO(A)   \
+static uintptr_t my_GCallback_fct_##A = 0;   \
+static void my_GCallback_##A(void* a, void* b, void* c, void* d)     \
+{                                       \
+    RunFunction(my_context, my_GCallback_fct_##A, 4, a, b, c, d);\
+}
+SUPER()
+#undef GO
+static void* findGCallbackFct(void* fct)
+{
+    if(!fct) return NULL;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GCallback_fct_##A == (uintptr_t)fct) return my_GCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GCallback_fct_##A == 0) {my_GCallback_fct_##A = (uintptr_t)fct; return my_GCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for dbus-glib1 GCallback callback\n");
+    return NULL;
+}
+
+// DBusGTypeSpecializedCollectionIterator
+#define GO(A)   \
+static uintptr_t my_DBusGTypeSpecializedCollectionIterator_fct_##A = 0;                     \
+static void my_DBusGTypeSpecializedCollectionIterator_##A(void* a, void* b)                 \
+{                                                                                           \
+    RunFunction(my_context, my_DBusGTypeSpecializedCollectionIterator_fct_##A, 2, a, b);    \
+}
+SUPER()
+#undef GO
+static void* findDBusGTypeSpecializedCollectionIteratorFct(void* fct)
+{
+    if(!fct) return NULL;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_DBusGTypeSpecializedCollectionIterator_fct_##A == (uintptr_t)fct) return my_DBusGTypeSpecializedCollectionIterator_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_DBusGTypeSpecializedCollectionIterator_fct_##A == 0) {my_DBusGTypeSpecializedCollectionIterator_fct_##A = (uintptr_t)fct; return my_DBusGTypeSpecializedCollectionIterator_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for dbus-glib1 DBusGTypeSpecializedCollectionIterator callback\n");
+    return NULL;
+}
+// DBusGTypeSpecializedMapIterator
+#define GO(A)   \
+static uintptr_t my_DBusGTypeSpecializedMapIterator_fct_##A = 0;                        \
+static void my_DBusGTypeSpecializedMapIterator_##A(void* a, void* b, void* c)           \
+{                                                                                       \
+    RunFunction(my_context, my_DBusGTypeSpecializedMapIterator_fct_##A, 3, a, b, c);    \
+}
+SUPER()
+#undef GO
+static void* findDBusGTypeSpecializedMapIteratorFct(void* fct)
+{
+    if(!fct) return NULL;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_DBusGTypeSpecializedMapIterator_fct_##A == (uintptr_t)fct) return my_DBusGTypeSpecializedMapIterator_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_DBusGTypeSpecializedMapIterator_fct_##A == 0) {my_DBusGTypeSpecializedMapIterator_fct_##A = (uintptr_t)fct; return my_DBusGTypeSpecializedMapIterator_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for dbus-glib1 DBusGTypeSpecializedCollectionIterator callback\n");
+    return NULL;
+}
+#undef SUPER
+
+EXPORT void my_dbus_g_type_collection_value_iterate(x64emu_t* emu, void* value, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(dbusglib1Name);
+    dbusglib1_my_t *my = (dbusglib1_my_t*)lib->priv.w.p2;
+
+    my->dbus_g_type_collection_value_iterate(value, findDBusGTypeSpecializedCollectionIteratorFct(cb), data);
+}
+
+EXPORT void my_dbus_g_type_map_value_iterate(x64emu_t* emu, void* value, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(dbusglib1Name);
+    dbusglib1_my_t *my = (dbusglib1_my_t*)lib->priv.w.p2;
+
+    my->dbus_g_type_map_value_iterate(value, findDBusGTypeSpecializedMapIteratorFct(cb), data);
+}
+
+EXPORT void* my_dbus_g_proxy_begin_call(x64emu_t* emu, void* proxy, void* method, void* notify, void* data, void* destroy, int first, int64_t* next)
+{
+    library_t * lib = GetLibInternal(dbusglib1Name);
+    dbusglib1_my_t *my = (dbusglib1_my_t*)lib->priv.w.p2;
+
+    int narg = 0;
+    if(first)
+        while(next[narg]) ++narg;
+    void* n = findDBusGProxyCallNotifyFct(notify);
+    void* d = findGDestroyNotifyFct(destroy);
+    switch (narg) {
+        case 0: return my->dbus_g_proxy_begin_call(proxy, method, n, data, d, first, 0);    // just in case
+        case 1: return my->dbus_g_proxy_begin_call(proxy, method, n, data, d, first, next[0], 0);
+        case 2: return my->dbus_g_proxy_begin_call(proxy, method, n, data, d, first, next[0], next[1], 0);
+        default: printf_log(LOG_NONE, "Warning, no dbus-glib1 dbus_g_proxy_begin_call wrapper for %d args\n", narg);
+    }
+    return NULL;    // faillure
+}
+
+EXPORT void* my_dbus_g_proxy_begin_call_with_timeout(x64emu_t* emu, void* proxy, void* method, void* notify, void* data, void* destroy, int timeout, int first, int64_t* next)
+{
+    library_t * lib = GetLibInternal(dbusglib1Name);
+    dbusglib1_my_t *my = (dbusglib1_my_t*)lib->priv.w.p2;
+
+    int narg = 0;
+    if(first)
+        while(next[narg]) ++narg;
+    void* n = findDBusGProxyCallNotifyFct(notify);
+    void* d = findGDestroyNotifyFct(destroy);
+    switch (narg) {
+        case 0: return my->dbus_g_proxy_begin_call_with_timeout(proxy, method, n, data, d, timeout, first, 0);    // just in case
+        case 1: return my->dbus_g_proxy_begin_call_with_timeout(proxy, method, n, data, d, timeout, first, next[0], 0);
+        case 2: return my->dbus_g_proxy_begin_call_with_timeout(proxy, method, n, data, d, timeout, first, next[0], next[1], 0);
+        default: printf_log(LOG_NONE, "Warning, no dbus-glib1 dbus_g_proxy_begin_call_with_timeout wrapper for %d args\n", narg);
+    }
+    return NULL;    // faillure
+}
+
+EXPORT void my_dbus_g_proxy_connect_signal(x64emu_t* emu, void* proxy, void* name, void* handler, void* data, void* free_fnc)
+{
+    library_t * lib = GetLibInternal(dbusglib1Name);
+    dbusglib1_my_t *my = (dbusglib1_my_t*)lib->priv.w.p2;
+
+    my->dbus_g_proxy_connect_signal(proxy, name, findGCallbackFct(handler), data, findGClosureNotifyFct(free_fnc));
+}
+
+EXPORT void my_dbus_g_proxy_disconnect_signal(x64emu_t* emu, void* proxy, void* name, void* handler, void* data)
+{
+    library_t * lib = GetLibInternal(dbusglib1Name);
+    dbusglib1_my_t *my = (dbusglib1_my_t*)lib->priv.w.p2;
+
+    my->dbus_g_proxy_disconnect_signal(proxy, name, findGCallbackFct(handler), data);
+}
+
+#define PRE_INIT    \
+    if(box64_nogtk) \
+        return -1;
+
+#define CUSTOM_INIT \
+    lib->priv.w.p2 = getDBusGLib1My(lib);
+
+#define CUSTOM_FINI \
+    freeDBusGLib1My(lib->priv.w.p2);\
+    free(lib->priv.w.p2);
+
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappeddbusglib1_private.h b/src/wrapped/wrappeddbusglib1_private.h
new file mode 100755
index 00000000..9485f428
--- /dev/null
+++ b/src/wrapped/wrappeddbusglib1_private.h
@@ -0,0 +1,94 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh....
+#endif
+
+GO(dbus_connection_get_g_connection, pFp)
+GO(dbus_connection_get_g_type, iFv)
+GO(dbus_connection_setup_with_g_main, vFpp)
+GO(dbus_g_bus_get, pFip)
+GO(dbus_g_bus_get_private, pFipp)
+GO(dbus_g_connection_flush, vFp)
+GO(dbus_g_connection_get_connection, pFp)
+GO(dbus_g_connection_get_g_type, iFv)
+GO(dbus_g_connection_lookup_g_object, pFpp)
+GO(dbus_g_connection_open, pFpp)
+GO(dbus_g_connection_ref, pFp)
+GO(dbus_g_connection_register_g_object, vFppp)
+GO(dbus_g_connection_unref, vFp)
+GO(dbus_g_connection_unregister_g_object, vFpp)
+GO(dbus_g_error_domain_register, vFppi)
+GO(dbus_g_error_get_name, pFp)
+GO(dbus_g_error_has_name, iFpp)
+GO(dbus_g_error_quark, pFv)
+//GO(dbus_glib_internal_do_not_use_run_tests, 
+GO(dbus_g_message_get_g_type, iFv)
+//GO(dbus_g_message_get_message, 
+//GO(dbus_g_message_ref, 
+//GO(dbus_g_message_unref, 
+GO(dbus_g_method_get_reply, pFp)
+GO(dbus_g_method_get_sender, pFp)
+//GO(dbus_g_method_return, vFppppppppppp) //vaarg
+GO(dbus_g_method_return_error, vFpp)
+GO(dbus_g_method_send_reply, vFpp)
+GO(dbus_g_object_path_get_g_type, iFv)
+//GO(dbus_g_object_register_marshaller, vFpipppppppp)   //vaarg, should remap with dbus_g_object_register_marshaller_array
+GO(dbus_g_object_register_marshaller_array, vFpiup)
+GO(dbus_g_object_type_install_info, vFip)   // p is DBusGObjectInfo *, that struct contains a GCallback... should wrap?
+GO(dbus_g_object_type_register_shadow_property, vFipp)
+//GO(dbus_g_proxy_add_signal, vFppipppppppp)  //vaarg
+GOM(dbus_g_proxy_begin_call, pFEpppppiV)
+GOM(dbus_g_proxy_begin_call_with_timeout, pFEpppppiiV)
+//GO(dbus_g_proxy_call, iFpppippppppppppppp)  //vaarg
+//GO(dbus_g_proxy_call_no_reply, vFppipppppppppppp)   //vaarg
+//GO(dbus_g_proxy_call_with_timeout, iFppipipppppppppppp)   //vaarg
+GO(dbus_g_proxy_cancel_call, vFpp)
+GOM(dbus_g_proxy_connect_signal, vFEppppp)
+GOM(dbus_g_proxy_disconnect_signal, vFEpppp)
+//GO(dbus_g_proxy_end_call, iFpppippppppppppppppp)  //vaarg
+GO(dbus_g_proxy_get_bus_name, pFp)
+GO(dbus_g_proxy_get_interface, pFp)
+GO(dbus_g_proxy_get_path, pFp)
+GO(dbus_g_proxy_get_type, iFv)
+GO(dbus_g_proxy_new_for_name, pFpppp)
+GO(dbus_g_proxy_new_for_name_owner, pFppppp)
+GO(dbus_g_proxy_new_for_peer, pFppp)
+GO(dbus_g_proxy_new_from_proxy, pFppp)
+GO(dbus_g_proxy_send, vFppp)
+GO(dbus_g_proxy_set_default_timeout, vFpi)
+GO(dbus_g_proxy_set_interface, vFpp)
+GO(dbus_g_signature_get_g_type, iFv)
+GO(dbus_g_thread_init, vFv)
+GO(dbus_g_type_collection_get_fixed, iFppp)
+//GO(dbus_g_type_collection_peek_vtable, 
+GOM(dbus_g_type_collection_value_iterate, vFEppp)
+GO(dbus_g_type_get_collection, iFpi)
+GO(dbus_g_type_get_collection_specialization, iFi)
+GO(dbus_g_type_get_map, iFpii)
+GO(dbus_g_type_get_map_key_specialization, iFi)
+GO(dbus_g_type_get_map_value_specialization, iFi)
+//GO(dbus_g_type_get_struct, iFpippppppppppp) //vaarg, should wrap and use dbus_g_type_get_structv
+GO(dbus_g_type_get_struct_member_type, iFiu)
+GO(dbus_g_type_get_struct_size, uFi)
+GO(dbus_g_type_get_structv, iFpup)
+GO(dbus_g_type_is_collection, iFi)
+GO(dbus_g_type_is_map, iFi)
+GO(dbus_g_type_is_struct, iFi)
+//GO(dbus_g_type_map_peek_vtable, 
+GOM(dbus_g_type_map_value_iterate, vFEppp)
+//GO(dbus_g_type_register_collection, 
+//GO(dbus_g_type_register_map, 
+//GO(dbus_g_type_register_struct, 
+GO(dbus_g_type_specialized_collection_append, vFpp)
+GO(dbus_g_type_specialized_collection_end_append, vFp)
+GO(dbus_g_type_specialized_construct, pFi)
+GO(dbus_g_type_specialized_init, vFv)
+GO(dbus_g_type_specialized_init_append, vFpp)
+GO(dbus_g_type_specialized_map_append, vFppp)
+//GO(dbus_g_type_struct_get, iFpuppppppppppp) //vaarg
+GO(dbus_g_type_struct_get_member, iFpup)
+//GO(dbus_g_type_struct_peek_vtable, 
+//GO(dbus_g_type_struct_set, iFpupppppppppppp)  //vaarg
+GO(dbus_g_type_struct_set_member, iFpup)
+GO(dbus_message_get_g_type, iFv)
+GO(dbus_server_setup_with_g_main, vFpp)
+GO(dbus_set_g_error, vFpp)
diff --git a/src/wrapped/wrappedgconf2.c b/src/wrapped/wrappedgconf2.c
new file mode 100644
index 00000000..59f47d98
--- /dev/null
+++ b/src/wrapped/wrappedgconf2.c
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
+#include "gtkclass.h"
+
+const char* gconf2Name = "libgconf-2.so.4";
+#define LIBNAME gconf2
+
+
+#define PRE_INIT    \
+    if(box64_nogtk) \
+        return -1;
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedgconf2_private.h b/src/wrapped/wrappedgconf2_private.h
new file mode 100644
index 00000000..7b2cbac0
--- /dev/null
+++ b/src/wrapped/wrappedgconf2_private.h
@@ -0,0 +1,321 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(gconf_address_backend, 
+//GO(gconf_address_flags, 
+//GO(gconf_address_list_free, 
+//GO(gconf_address_list_get_persistent_name, 
+//GO(gconf_address_resource, 
+//GO(gconf_backend_file, 
+//GO(gconf_backend_ref, 
+//GO(gconf_backend_resolve_address, 
+//GO(gconf_backend_unref, 
+//GO(gconf_blow_away_locks, 
+//GO(gconf_change_set_check_value, 
+//GO(gconf_change_set_clear, 
+//GO(gconf_change_set_foreach, 
+//GO(gconf_change_set_get_type, 
+//GO(gconf_change_set_get_user_data, 
+//GO(gconf_change_set_new, 
+//GO(gconf_change_set_ref, 
+//GO(gconf_change_set_remove, 
+//GO(gconf_change_set_set, 
+//GO(gconf_change_set_set_bool, 
+//GO(gconf_change_set_set_float, 
+//GO(gconf_change_set_set_int, 
+//GO(gconf_change_set_set_list, 
+//GO(gconf_change_set_set_nocopy, 
+//GO(gconf_change_set_set_pair, 
+//GO(gconf_change_set_set_schema, 
+//GO(gconf_change_set_set_string, 
+//GO(gconf_change_set_set_user_data, 
+//GO(gconf_change_set_size, 
+//GO(gconf_change_set_unref, 
+//GO(gconf_change_set_unset, 
+//GO(gconf_clear_cache, 
+//GO(gconf_client_add_dir, 
+//GO(gconf_client_all_dirs, 
+//GO(gconf_client_all_entries, 
+//GO(gconf_client_change_set_from_current, 
+//GO(gconf_client_change_set_from_currentv, 
+//GO(gconf_client_clear_cache, 
+//GO(gconf_client_commit_change_set, 
+//GO(gconf_client_dir_exists, 
+//GO(gconf_client_error, 
+//GO(gconf_client_error_handling_mode_get_type, 
+//GO(gconf_client_get, 
+//GO(gconf_client_get_bool, 
+//GO(gconf_client_get_default, 
+//GO(gconf_client_get_default_from_schema, 
+//GO(gconf_client_get_entry, 
+//GO(gconf_client_get_float, 
+//GO(gconf_client_get_for_engine, 
+//GO(gconf_client_get_int, 
+//GO(gconf_client_get_list, 
+//GO(gconf_client_get_pair, 
+//GO(gconf_client_get_schema, 
+//GO(gconf_client_get_string, 
+//GO(gconf_client_get_type, 
+//GO(gconf_client_get_without_default, 
+//GO(gconf_client_key_is_writable, 
+//GO(gconf_client_notify, 
+//GO(gconf_client_notify_add, 
+//GO(gconf_client_notify_remove, 
+//GO(gconf_client_preload, 
+//GO(gconf_client_preload_type_get_type, 
+//GO(gconf_client_recursive_unset, 
+//GO(gconf_client_remove_dir, 
+//GO(gconf_client_reverse_change_set, 
+//GO(gconf_client_set, 
+//GO(gconf_client_set_bool, 
+//GO(gconf_client_set_error_handling, 
+//GO(gconf_client_set_float, 
+//GO(gconf_client_set_global_default_error_handler, 
+//GO(gconf_client_set_int, 
+//GO(gconf_client_set_list, 
+//GO(gconf_client_set_pair, 
+//GO(gconf_client_set_schema, 
+//GO(gconf_client_set_string, 
+//GO(gconf_client_suggest_sync, 
+//GO(gconf_client_unreturned_error, 
+//GO(gconf_client_unset, 
+//GO(gconf_client_value_changed, 
+//GO(gconf_compose_errors, 
+//GO(gconf_concat_dir_and_key, 
+//GO(gconf_current_locale, 
+//GO(gconf_dbus_utils_append_entries, 
+//GO(gconf_dbus_utils_append_entry_values, 
+//GO(gconf_dbus_utils_append_value, 
+//GO(gconf_dbus_utils_get_entries, 
+//GO(gconf_dbus_utils_get_entry_values, 
+//GO(gconf_dbus_utils_get_value, 
+//GO(gconf_debug_shutdown, 
+//GO(gconf_double_to_string, 
+//GO(gconf_engine_all_dirs, 
+//GO(gconf_engine_all_entries, 
+//GO(gconf_engine_associate_schema, 
+//GO(gconf_engine_change_set_from_current, 
+//GO(gconf_engine_change_set_from_currentv, 
+//GO(gconf_engine_commit_change_set, 
+//GO(gconf_engine_dir_exists, 
+//GO(gconf_engine_get, 
+//GO(gconf_engine_get_bool, 
+//GO(gconf_engine_get_default, 
+//GO(gconf_engine_get_default_from_schema, 
+//GO(gconf_engine_get_entry, 
+//GO(gconf_engine_get_float, 
+//GO(gconf_engine_get_for_address, 
+//GO(gconf_engine_get_for_addresses, 
+//GO(gconf_engine_get_full, 
+//GO(gconf_engine_get_fuller, 
+//GO(gconf_engine_get_int, 
+//GO(gconf_engine_get_list, 
+//GO(gconf_engine_get_local, 
+//GO(gconf_engine_get_local_for_addresses, 
+//GO(gconf_engine_get_pair, 
+//GO(gconf_engine_get_schema, 
+//GO(gconf_engine_get_string, 
+//GO(gconf_engine_get_user_data, 
+//GO(gconf_engine_get_with_locale, 
+//GO(gconf_engine_get_without_default, 
+//GO(gconf_engine_key_is_writable, 
+//GO(gconf_engine_notify_add, 
+//GO(gconf_engine_notify_remove, 
+//GO(gconf_engine_pop_owner_usage, 
+//GO(gconf_engine_push_owner_usage, 
+//GO(gconf_engine_recursive_unset, 
+//GO(gconf_engine_ref, 
+//GO(gconf_engine_remove_dir, 
+//GO(gconf_engine_reverse_change_set, 
+//GO(gconf_engine_set, 
+//GO(gconf_engine_set_bool, 
+//GO(gconf_engine_set_float, 
+//GO(gconf_engine_set_int, 
+//GO(gconf_engine_set_list, 
+//GO(gconf_engine_set_owner, 
+//GO(gconf_engine_set_pair, 
+//GO(gconf_engine_set_schema, 
+//GO(gconf_engine_set_string, 
+//GO(gconf_engine_set_user_data, 
+//GO(gconf_engine_suggest_sync, 
+//GO(gconf_engine_unref, 
+//GO(gconf_engine_unset, 
+//GO(gconf_entry_copy, 
+//GO(gconf_entry_equal, 
+//GO(gconf_entry_free, 
+//GO(gconf_entry_get_is_default, 
+//GO(gconf_entry_get_is_writable, 
+//GO(gconf_entry_get_key, 
+//GO(gconf_entry_get_schema_name, 
+//GO(gconf_entry_get_type, 
+//GO(gconf_entry_get_value, 
+//GO(gconf_entry_new, 
+//GO(gconf_entry_new_nocopy, 
+//GO(gconf_entry_ref, 
+//GO(gconf_entry_set_is_default, 
+//GO(gconf_entry_set_is_writable, 
+//GO(gconf_entry_set_schema_name, 
+//GO(gconf_entry_set_value, 
+//GO(gconf_entry_set_value_nocopy, 
+//GO(gconf_entry_steal_value, 
+//GO(gconf_entry_unref, 
+//GO(gconf_enum_to_string, 
+//GO(gconf_error_get_type, 
+//GO(gconf_error_new, 
+//GO(gconf_error_quark, 
+//GO(gconf_escape_key, 
+//GO(gconf_get_backend, 
+//GO(gconf_get_daemon_ior, 
+//GO(gconf_in_daemon_mode, 
+//GO(gconf_init, 
+//GO(_gconf_init_i18n, 
+//GO(gconf_is_initialized, 
+//GO(gconf_key_check, 
+//GO(gconf_key_directory, 
+//GO(gconf_key_is_below, 
+//GO(gconf_key_key, 
+//GO(gconf_listeners_add, 
+//GO(gconf_listeners_count, 
+//GO(gconf_listeners_foreach, 
+//GO(gconf_listeners_free, 
+//GO(gconf_listeners_get_data, 
+//GO(gconf_listeners_new, 
+//GO(gconf_listeners_notify, 
+//GO(gconf_listeners_remove, 
+//GO(gconf_listeners_remove_if, 
+//GO(gconf_load_source_path, 
+//GO(gconf_locale_cache_expire, 
+//GO(gconf_locale_cache_free, 
+//GO(gconf_locale_cache_get_list, 
+//GO(gconf_locale_cache_new, 
+//GO(gconf_locale_list_ref, 
+//GO(gconf_locale_list_unref, 
+//GO(gconf_log, 
+//DATAB(gconf_log_debug_messages, 
+//GO(gconf_marshal_VOID__STRING_POINTER, 
+//GO(gconf_meta_info_free, 
+//GO(gconf_meta_info_get_mod_user, 
+//GO(gconf_meta_info_get_schema, 
+//GO(gconf_meta_info_mod_time, 
+//GO(gconf_meta_info_new, 
+//GO(gconf_meta_info_set_mod_time, 
+//GO(gconf_meta_info_set_mod_user, 
+//GO(gconf_meta_info_set_schema, 
+//DATAB(gconf_options, 
+//GO(gconf_persistent_name_get_address_list, 
+//GO(gconf_ping_daemon, 
+//GO(gconf_postinit, 
+//GO(gconf_preinit, 
+//GO(gconf_quote_string, 
+//GO(gconf_resolve_address, 
+//GO(gconf_schema_copy, 
+//GO(gconf_schema_free, 
+//GO(gconf_schema_get_car_type, 
+//GO(gconf_schema_get_cdr_type, 
+//GO(gconf_schema_get_default_value, 
+//GO(gconf_schema_get_gettext_domain, 
+//GO(gconf_schema_get_list_type, 
+//GO(gconf_schema_get_locale, 
+//GO(gconf_schema_get_long_desc, 
+//GO(gconf_schema_get_owner, 
+//GO(gconf_schema_get_short_desc, 
+//GO(gconf_schema_get_type, 
+//GO(gconf_schema_new, 
+//GO(gconf_schema_set_car_type, 
+//GO(gconf_schema_set_cdr_type, 
+//GO(gconf_schema_set_default_value, 
+//GO(gconf_schema_set_default_value_nocopy, 
+//GO(gconf_schema_set_gettext_domain, 
+//GO(gconf_schema_set_list_type, 
+//GO(gconf_schema_set_locale, 
+//GO(gconf_schema_set_long_desc, 
+//GO(gconf_schema_set_owner, 
+//GO(gconf_schema_set_short_desc, 
+//GO(gconf_schema_set_type, 
+//GO(gconf_schema_steal_default_value, 
+//GO(gconf_schema_validate, 
+//GO(gconf_set_daemon_ior, 
+//GO(gconf_set_daemon_mode, 
+//GO(gconf_set_error, 
+//GO(gconf_shutdown_daemon, 
+//GO(gconf_source_free, 
+//GO(gconf_sources_add_listener, 
+//GO(gconf_sources_all_dirs, 
+//GO(gconf_sources_all_entries, 
+//GO(gconf_sources_clear_cache, 
+//GO(gconf_sources_clear_cache_for_sources, 
+//GO(gconf_sources_dir_exists, 
+//GO(gconf_sources_free, 
+//GO(gconf_sources_is_affected, 
+//GO(gconf_sources_new_from_addresses, 
+//GO(gconf_sources_new_from_source, 
+//GO(gconf_sources_query_default_value, 
+//GO(gconf_sources_query_metainfo, 
+//GO(gconf_sources_query_value, 
+//GO(gconf_sources_recursive_unset, 
+//GO(gconf_sources_remove_dir, 
+//GO(gconf_sources_remove_listener, 
+//GO(gconf_sources_set_notify_func, 
+//GO(gconf_sources_set_schema, 
+//GO(gconf_sources_set_value, 
+//GO(gconf_sources_sync_all, 
+//GO(gconf_sources_unset_value, 
+//GO(gconf_spawn_daemon, 
+//GO(gconf_split_locale, 
+//GO(gconf_string_to_double, 
+//GO(gconf_string_to_enum, 
+//GO(gconf_string_to_gulong, 
+//GO(gconf_synchronous_sync, 
+//GO(gconf_unescape_key, 
+//GO(gconf_unique_key, 
+//GO(gconf_unquote_string, 
+//GO(gconf_unquote_string_inplace, 
+//GO(gconf_unset_flags_get_type, 
+//GO(gconf_use_local_locks, 
+//GO(gconf_valid_key, 
+//GO(gconf_value_compare, 
+//GO(gconf_value_copy, 
+//GO(gconf_value_decode, 
+//GO(gconf_value_encode, 
+//GO(gconf_value_free, 
+//GO(gconf_value_get_bool, 
+//GO(gconf_value_get_car, 
+//GO(gconf_value_get_cdr, 
+//GO(gconf_value_get_float, 
+//GO(gconf_value_get_int, 
+//GO(gconf_value_get_list, 
+//GO(gconf_value_get_list_type, 
+//GO(gconf_value_get_schema, 
+//GO(gconf_value_get_string, 
+//GO(gconf_value_get_type, 
+//GO(gconf_value_list_from_primitive_list, 
+//GO(gconf_value_list_to_primitive_list_destructive, 
+//GO(gconf_value_new, 
+//GO(gconf_value_new_from_string, 
+//GO(gconf_value_new_list_from_string, 
+//GO(gconf_value_new_pair_from_string, 
+//GO(gconf_value_pair_from_primitive_pair, 
+//GO(gconf_value_pair_to_primitive_pair_destructive, 
+//GO(gconf_value_set_bool, 
+//GO(gconf_value_set_car, 
+//GO(gconf_value_set_car_nocopy, 
+//GO(gconf_value_set_cdr, 
+//GO(gconf_value_set_cdr_nocopy, 
+//GO(gconf_value_set_float, 
+//GO(gconf_value_set_int, 
+//GO(gconf_value_set_list, 
+//GO(gconf_value_set_list_nocopy, 
+//GO(gconf_value_set_list_type, 
+//GO(gconf_value_set_schema, 
+//GO(gconf_value_set_schema_nocopy, 
+//GO(gconf_value_set_string, 
+//GO(gconf_value_set_string_nocopy, 
+//GO(gconf_value_steal_list, 
+//GO(gconf_value_steal_schema, 
+//GO(gconf_value_steal_string, 
+//GO(gconf_value_to_string, 
+//GO(gconf_value_type_from_string, 
+//GO(gconf_value_type_get_type, 
+//GO(gconf_value_type_to_string, 
+//GO(gconf_value_validate, 
diff --git a/src/wrapped/wrappedgdkpixbuf2.c b/src/wrapped/wrappedgdkpixbuf2.c
new file mode 100755
index 00000000..fec5adcd
--- /dev/null
+++ b/src/wrapped/wrappedgdkpixbuf2.c
@@ -0,0 +1,101 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+
+const char* gdkpixbuf2Name = "libgdk_pixbuf-2.0.so.0";
+#define LIBNAME gdkpixbuf2
+
+typedef void* (*pFpiiiiiipp_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*, void*);
+
+#define SUPER() \
+    GO(gdk_pixbuf_new_from_data, pFpiiiiiipp_t)
+
+typedef struct gdkpixbuf2_my_s {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+} gdkpixbuf2_my_t;
+
+void* getGdkpixbuf2My(library_t* lib)
+{
+    gdkpixbuf2_my_t* my = (gdkpixbuf2_my_t*)calloc(1, sizeof(gdkpixbuf2_my_t));
+    #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
+    SUPER()
+    #undef GO
+    return my;
+}
+#undef SUPER
+
+void freeGdkpixbuf2My(void* lib)
+{
+    //gdkpixbuf2_my_t *my = (gdkpixbuf2_my_t *)lib;
+}
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)
+
+// destroy_pixbuf
+#define GO(A)   \
+static uintptr_t my_destroy_pixbuf_fct_##A = 0;                             \
+static void my_destroy_pixbuf_##A(void* pixels, void* data)                 \
+{                                                                           \
+    RunFunction(my_context, my_destroy_pixbuf_fct_##A, 2, pixels, data);    \
+}
+SUPER()
+#undef GO
+static void* finddestroy_pixbufFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_destroy_pixbuf_fct_##A == (uintptr_t)fct) return my_destroy_pixbuf_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_destroy_pixbuf_fct_##A == 0) {my_destroy_pixbuf_fct_##A = (uintptr_t)fct; return my_destroy_pixbuf_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gdk-pixbuf2 destroy_pixbuf callback\n");
+    return NULL;
+}
+
+#undef SUPER
+
+EXPORT void* my_gdk_pixbuf_new_from_data(x64emu_t* emu, void* data, int32_t colorspace, int32_t has_alpha, int32_t bpp, int32_t w, int32_t h, int32_t stride, void* destroy_func, void* destroy_data)
+{
+    library_t * lib = GetLibInternal(gdkpixbuf2Name);
+    gdkpixbuf2_my_t *my = (gdkpixbuf2_my_t*)lib->priv.w.p2;
+
+    return my->gdk_pixbuf_new_from_data(data, colorspace, has_alpha, bpp, w, h, stride, finddestroy_pixbufFct(destroy_func), destroy_data);
+}
+
+
+#define PRE_INIT    \
+    if(box64_nogtk) \
+        return -1;
+
+#define CUSTOM_INIT \
+    lib->priv.w.p2 = getGdkpixbuf2My(lib);
+
+#define CUSTOM_FINI \
+    freeGdkpixbuf2My(lib->priv.w.p2); \
+    free(lib->priv.w.p2);
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedgdkpixbuf2_private.h b/src/wrapped/wrappedgdkpixbuf2_private.h
new file mode 100755
index 00000000..3429a16e
--- /dev/null
+++ b/src/wrapped/wrappedgdkpixbuf2_private.h
@@ -0,0 +1,121 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+GO(gdk_colorspace_get_type, iFv)
+GO(gdk_interp_type_get_type, iFv)
+GO(gdk_pixbuf_add_alpha, pFpiCCC)
+GO(gdk_pixbuf_alpha_mode_get_type, iFv)
+//GO(gdk_pixbuf_animation_get_height, 
+//GO(gdk_pixbuf_animation_get_iter, 
+//GO(gdk_pixbuf_animation_get_static_image, 
+//GO(gdk_pixbuf_animation_get_type, 
+//GO(gdk_pixbuf_animation_get_width, 
+//GO(gdk_pixbuf_animation_is_static_image, 
+//GO(gdk_pixbuf_animation_iter_advance, 
+//GO(gdk_pixbuf_animation_iter_get_delay_time, 
+//GO(gdk_pixbuf_animation_iter_get_pixbuf, 
+//GO(gdk_pixbuf_animation_iter_get_type, 
+//GO(gdk_pixbuf_animation_iter_on_currently_loading_frame, 
+//GO(gdk_pixbuf_animation_new_from_file, 
+//GO(gdk_pixbuf_animation_new_from_resource, 
+//GO(gdk_pixbuf_animation_new_from_stream, 
+//GO(gdk_pixbuf_animation_new_from_stream_async, 
+//GO(gdk_pixbuf_animation_new_from_stream_finish, 
+//GO(gdk_pixbuf_animation_ref, 
+//GO(gdk_pixbuf_animation_unref, 
+GO(gdk_pixbuf_apply_embedded_orientation, pFp)
+GO(gdk_pixbuf_composite, vFppiiiiddddii)
+GO(gdk_pixbuf_composite_color, vFppiiiiddddiiiiiuu)
+GO(gdk_pixbuf_composite_color_simple, pFpiiiiiuu)
+GO(gdk_pixbuf_copy, pFp)
+GO(gdk_pixbuf_copy_area, vFpiiiipii)
+GO(gdk_pixbuf_error_get_type, iFv)
+GO(gdk_pixbuf_error_quark, pFv)
+GO(gdk_pixbuf_fill, vFpu)
+GO(gdk_pixbuf_flip, pFpi)
+GO(gdk_pixbuf_format_copy, pFp)
+GO(gdk_pixbuf_format_free, vFp)
+GO(gdk_pixbuf_format_get_description, pFp)
+GO(gdk_pixbuf_format_get_extensions, pFp)
+GO(gdk_pixbuf_format_get_license, pFp)
+GO(gdk_pixbuf_format_get_mime_types, pFp)
+GO(gdk_pixbuf_format_get_name, pFp)
+GO(gdk_pixbuf_format_get_type, iFv)
+GO(gdk_pixbuf_format_is_disabled, iFp)
+GO(gdk_pixbuf_format_is_scalable, iFp)
+GO(gdk_pixbuf_format_is_writable, iFp)
+GO(gdk_pixbuf_format_set_disabled, vFpi)
+GO(gdk_pixbuf_from_pixdata, pFpip)
+GO(gdk_pixbuf_get_bits_per_sample, iFp)
+GO(gdk_pixbuf_get_byte_length, uFp)
+GO(gdk_pixbuf_get_colorspace, uFp)
+GO(gdk_pixbuf_get_file_info, pFppp)
+GO(gdk_pixbuf_get_formats, pFv)
+GO(gdk_pixbuf_get_has_alpha, iFp)
+GO(gdk_pixbuf_get_height, iFp)
+GO(gdk_pixbuf_get_n_channels, iFp)
+GO(gdk_pixbuf_get_option, pFpp)
+GO(gdk_pixbuf_get_pixels, pFp)
+GO(gdk_pixbuf_get_pixels_with_length, pFpp)
+GO(gdk_pixbuf_get_rowstride, iFp)
+GO(gdk_pixbuf_gettext, pFp)
+GO(gdk_pixbuf_get_type, iFv)
+GO(gdk_pixbuf_get_width, iFp)
+GO(gdk_pixbuf_loader_close, iFpp)
+GO(gdk_pixbuf_loader_get_animation, pFp)
+GO(gdk_pixbuf_loader_get_format, pFp)
+GO(gdk_pixbuf_loader_get_pixbuf, pFp)
+GO(gdk_pixbuf_loader_get_type, iFv)
+GO(gdk_pixbuf_loader_new, pFv)
+GO(gdk_pixbuf_loader_new_with_mime_type, pFpp)
+GO(gdk_pixbuf_loader_new_with_type, pFpp)
+GO(gdk_pixbuf_loader_set_size, vFpii)
+GO(gdk_pixbuf_loader_write, iFppLp)
+GO(gdk_pixbuf_loader_write_bytes, iFppp)
+GO(gdk_pixbuf_new, pFiiiii)
+GOM(gdk_pixbuf_new_from_data, pFEpiiiiiipp)
+GO(gdk_pixbuf_new_from_file, pFpp)
+GO(gdk_pixbuf_new_from_file_at_scale, pFpiiip)
+GO(gdk_pixbuf_new_from_file_at_size, pFpiip)
+GO(gdk_pixbuf_new_from_inline, pFipip)
+GO(gdk_pixbuf_new_from_resource, pFpp)
+GO(gdk_pixbuf_new_from_resource_at_scale, pFpiiip)
+GO(gdk_pixbuf_new_from_stream, pFppp)
+//GO(gdk_pixbuf_new_from_stream_async, 
+//GO(gdk_pixbuf_new_from_stream_at_scale, 
+//GO(gdk_pixbuf_new_from_stream_at_scale_async, 
+//GO(gdk_pixbuf_new_from_stream_finish, 
+GO(gdk_pixbuf_new_from_xpm_data, pFp)
+GO(gdk_pixbuf_new_subpixbuf, pFpiiii)
+//GO(gdk_pixbuf_non_anim_get_type, 
+//GO(gdk_pixbuf_non_anim_new, 
+GO(gdk_pixbuf_ref, pFp)
+GO(gdk_pixbuf_rotate_simple, pFpi)
+//GO(gdk_pixbuf_rotation_get_type, 
+GO(gdk_pixbuf_saturate_and_pixelate, vFppfi)
+//GO(gdk_pixbuf_save, iFpppppppppppppp)   //vaarg, wrap with gdk_pixbuf_save?
+//GO(gdk_pixbuf_save_to_buffer, iFpppppppppppppp)   //vaarg, wrap with gdk_pixbuf_save_to_bufferv ?
+GO(gdk_pixbuf_save_to_bufferv, iFppppppp)
+//GOM(gdk_pixbuf_save_to_callback, iFEpppppV)   //wrap with gdk_pixbuf_save_to_callbackv
+//GOM(gdk_pixbuf_save_to_callbackv, iFEppppppp)
+//GO(gdk_pixbuf_save_to_stream, iFpppppppppppppp) //vaarg, but gdk_pixbuf_save_to_streamv is fairly recent
+//GOM(gdk_pixbuf_save_to_stream_async, vFEppppppppppppppp)   //vaarg, and gdk_pixbuf_save_to_streamv_async is fairly recent
+GO(gdk_pixbuf_save_to_stream_finish, iFpp)
+GO(gdk_pixbuf_savev, iFpppppp)
+GO(gdk_pixbuf_scale, vFppiiiiddddi)
+GO(gdk_pixbuf_scaled_anim_get_type, iFv)
+GO(gdk_pixbuf_scaled_anim_iter_get_type, iFv)
+GO(gdk_pixbuf_scale_simple, pFpiii)
+GO(gdk_pixbuf_set_option, pFppp)
+//GO(gdk_pixbuf_simple_anim_add_frame, 
+//GO(gdk_pixbuf_simple_anim_get_loop, 
+//GO(gdk_pixbuf_simple_anim_get_type, 
+//GO(gdk_pixbuf_simple_anim_iter_get_type, 
+//GO(gdk_pixbuf_simple_anim_new, 
+//GO(gdk_pixbuf_simple_anim_set_loop, 
+GO(gdk_pixbuf_unref, vFp)
+GO(gdk_pixdata_deserialize, iFpupp)
+GO(gdk_pixdata_from_pixbuf, pFppi)
+GO(gdk_pixdata_serialize, pFpp)
+GO(gdk_pixdata_to_csource, pFppi)
diff --git a/src/wrapped/wrappedgdkx112.c b/src/wrapped/wrappedgdkx112.c
new file mode 100755
index 00000000..abb87ca3
--- /dev/null
+++ b/src/wrapped/wrappedgdkx112.c
@@ -0,0 +1,193 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "gtkclass.h"
+
+const char* gdkx112Name = "libgdk-x11-2.0.so.0";
+#define LIBNAME gdkx112
+
+static char* libname = NULL;
+
+char* getGDKX11LibName() {return libname;}
+
+typedef int     (*iFpp_t)       (void*, void*);
+typedef void    (*vFpp_t)       (void*, void*);
+typedef void    (*vFppp_t)      (void*, void*, void*);
+typedef int     (*iFiippp_t)    (int, int, void*, void*, void*);
+
+#define SUPER() \
+    GO(gdk_event_handler_set, vFppp_t)          \
+    GO(gdk_input_add_full, iFiippp_t)           \
+    GO(gdk_init, vFpp_t)                        \
+    GO(gdk_init_check, iFpp_t)                  \
+    GO(gdk_window_add_filter, vFppp_t)          \
+    GO(gdk_window_remove_filter, vFppp_t)
+
+typedef struct gdkx112_my_s {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+} gdkx112_my_t;
+
+void* getGdkX112My(library_t* lib)
+{
+    gdkx112_my_t* my = (gdkx112_my_t*)calloc(1, sizeof(gdkx112_my_t));
+    #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
+    SUPER()
+    #undef GO
+    return my;
+}
+#undef SUPER
+
+void freeGdkX112My(void* lib)
+{
+    //gdkx112_my_t *my = (gdkx112_my_t *)lib;
+}
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)
+
+// GdkFilterFunc
+#define GO(A)   \
+static uintptr_t my_filter_fct_##A = 0;   \
+static int my_filter_##A(void* xevent, void* event, void* data)     \
+{                                       \
+    return (int)RunFunction(my_context, my_filter_fct_##A, 3, xevent, event, data);\
+}
+SUPER()
+#undef GO
+static void* findFilterFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_filter_fct_##A == (uintptr_t)fct) return my_filter_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_filter_fct_##A == 0) {my_filter_fct_##A = (uintptr_t)fct; return my_filter_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GdkFilterFunc callback\n");
+    return NULL;
+}
+
+
+static void my_event_handler(void* event, my_signal_t* sig)
+{
+    RunFunction(my_context, sig->c_handler, 2, event, sig->data);
+}
+
+EXPORT void my_gdk_event_handler_set(x64emu_t* emu, void* func, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gdkx112_my_t *my = (gdkx112_my_t*)lib->priv.w.p2;
+
+    if(!func)
+        return my->gdk_event_handler_set(func, data, notify);
+
+    my_signal_t* sig = new_mysignal(func, data, notify);
+    my->gdk_event_handler_set(my_event_handler, sig, my_signal_delete);
+}
+
+
+static void my_input_function(my_signal_t* sig, int source, int condition)
+{
+    RunFunction(my_context, sig->c_handler, 3, sig->data, source, condition);
+}
+
+EXPORT int my_gdk_input_add(x64emu_t* emu, int source, int condition, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gdkx112_my_t *my = (gdkx112_my_t*)lib->priv.w.p2;
+
+    if(!f)
+        return my->gdk_input_add_full(source, condition, f, data, NULL);
+
+    my_signal_t* sig = new_mysignal(f, data, NULL);
+    return my->gdk_input_add_full(source, condition, my_input_function, sig, my_signal_delete);
+}
+
+EXPORT int my_gdk_input_add_full(x64emu_t* emu, int source, int condition, void* f, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gdkx112_my_t *my = (gdkx112_my_t*)lib->priv.w.p2;
+
+    if(!f)
+        return my->gdk_input_add_full(source, condition, f, data, notify);
+    
+    my_signal_t* sig = new_mysignal(f, data, notify);
+    return my->gdk_input_add_full(source, condition, my_input_function, sig, my_signal_delete);
+}
+
+EXPORT void my_gdk_init(x64emu_t* emu, void* argc, void* argv)
+{
+    library_t * lib = GetLibInternal(libname);
+    gdkx112_my_t *my = (gdkx112_my_t*)lib->priv.w.p2;
+
+    my->gdk_init(argc, argv);
+    my_checkGlobalGdkDisplay();
+}
+
+EXPORT int my_gdk_init_check(x64emu_t* emu, void* argc, void* argv)
+{
+    library_t * lib = GetLibInternal(libname);
+    gdkx112_my_t *my = (gdkx112_my_t*)lib->priv.w.p2;
+
+    int ret = my->gdk_init_check(argc, argv);
+    my_checkGlobalGdkDisplay();
+    return ret;
+}
+
+EXPORT void my_gdk_window_add_filter(x64emu_t* emu, void* window, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gdkx112_my_t *my = (gdkx112_my_t*)lib->priv.w.p2;
+
+    my->gdk_window_add_filter(window, findFilterFct(f), data);
+}
+
+EXPORT void my_gdk_window_remove_filter(x64emu_t* emu, void* window, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gdkx112_my_t *my = (gdkx112_my_t*)lib->priv.w.p2;
+
+    my->gdk_window_remove_filter(window, findFilterFct(f), data);
+}
+
+#define PRE_INIT    \
+    if(box64_nogtk) \
+        return -1;
+
+#define CUSTOM_INIT \
+    libname = lib->name;                        \
+    lib->priv.w.p2 = getGdkX112My(lib);         \
+    lib->priv.w.needed = 3;                     \
+    lib->priv.w.neededlibs = (char**)calloc(lib->priv.w.needed, sizeof(char*)); \
+    lib->priv.w.neededlibs[0] = strdup("libgobject-2.0.so.0"); \
+    lib->priv.w.neededlibs[1] = strdup("libgio-2.0.so.0");  \
+    lib->priv.w.neededlibs[2] = strdup("libgdk_pixbuf-2.0.so.0");
+
+#define CUSTOM_FINI \
+    freeGdkX112My(lib->priv.w.p2); \
+    free(lib->priv.w.p2);
+
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedgdkx112_private.h b/src/wrapped/wrappedgdkx112_private.h
new file mode 100755
index 00000000..3b2a4660
--- /dev/null
+++ b/src/wrapped/wrappedgdkx112_private.h
@@ -0,0 +1,792 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GOM(gdk_add_client_message_filter, vFpBp)
+//GO(gdk_add_option_entries_libgtk_only, 
+//GO(gdk_app_launch_context_get_type, 
+//GO(gdk_app_launch_context_new, 
+//GO(gdk_app_launch_context_set_desktop, 
+//GO(gdk_app_launch_context_set_display, 
+//GO(gdk_app_launch_context_set_icon, 
+//GO(gdk_app_launch_context_set_icon_name, 
+//GO(gdk_app_launch_context_set_screen, 
+//GO(gdk_app_launch_context_set_timestamp, 
+GO(gdk_atom_intern, pFpi)
+GO(gdk_atom_intern_static_string, pFp)
+GO(gdk_atom_name, pFp)
+GO(gdk_axis_use_get_type, iFv)
+GO(gdk_beep, vFv)
+GO(gdk_bitmap_create_from_data, pFppii)
+GO(gdk_byte_order_get_type, iFv)
+GO(gdk_cairo_create, pFp)
+GO(gdk_cairo_rectangle, vFpp)
+GO(gdk_cairo_region, vFpp)
+GO(gdk_cairo_reset_clip, vFpp)
+GO(gdk_cairo_set_source_color, vFpp)
+GO(gdk_cairo_set_source_pixbuf, vFppdd)
+GO(gdk_cairo_set_source_pixmap, vFppdd)
+GO(gdk_cairo_set_source_window, vFppdd)
+//GO(gdk_cap_style_get_type, 
+//GO(gdk_char_height, 
+//GO(gdk_char_measure, 
+//GO(gdk_char_width, 
+//GO(gdk_char_width_wc, 
+GO(gdk_color_alloc, iFpp)
+GO(gdk_color_black, iFpp)
+GO(gdk_color_change, iFpp)
+GO(gdk_color_copy, pFp)
+GO(gdk_color_equal, iFpp)
+GO(gdk_color_free, vFp)
+GO(gdk_color_get_type, iFv)
+GO(gdk_color_hash, uFp)
+GO(gdk_colormap_alloc_color, iFppii)
+GO(gdk_colormap_alloc_colors, iFppiiip)
+GO(gdk_colormap_change, vFpi)
+GO(gdk_colormap_free_colors, vFppi)
+GO(gdk_colormap_get_screen, pFp)
+GO(gdk_colormap_get_system, pFv)
+GO(gdk_colormap_get_system_size, iFv)
+GO(gdk_colormap_get_type, iFv)
+GO(gdk_colormap_get_visual, pFp)
+GO(gdk_colormap_new, pFpi)
+GO(gdk_colormap_query_color, vFpLp)
+GO(gdk_colormap_ref, pFp)
+GO(gdk_colormap_unref, vFp)
+GO(gdk_color_parse, iFpp)
+GO(gdk_colors_alloc, iFpipipi)
+GO(gdk_colors_free, vFppiL)
+GO(gdk_colors_store, vFppi)
+GO(gdk_color_to_string, pFp)
+GO(gdk_color_white, iFpp)
+GO(gdk_crossing_mode_get_type, iFv)
+GO(gdk_cursor_get_cursor_type, iFp)
+GO(gdk_cursor_get_display, pFp)
+GO(gdk_cursor_get_image, pFp)
+GO(gdk_cursor_get_type, iFv)
+GO(gdk_cursor_new, pFi)
+GO(gdk_cursor_new_for_display, pFpi)
+GO(gdk_cursor_new_from_name, pFpp)
+GO(gdk_cursor_new_from_pixbuf, pFppii)
+GO(gdk_cursor_new_from_pixmap, pFppppii)
+GO(gdk_cursor_ref, pFp)
+GO(gdk_cursor_type_get_type, iFv)
+GO(gdk_cursor_unref, vFp)
+GO(gdk_device_free_history, vFpi)
+GO(gdk_device_get_axis, iFppip)
+GO(gdk_device_get_axis_use, iFpu)
+GO(gdk_device_get_core_pointer, pFv)
+GO(gdk_device_get_has_cursor, iFp)
+GO(gdk_device_get_history, iFppuupp)
+GO(gdk_device_get_key, vFpupp)
+GO(gdk_device_get_mode, iFp)
+GO(gdk_device_get_name, pFp)
+GO(gdk_device_get_n_axes, iFp)
+GO(gdk_device_get_n_keys, iFp)
+GO(gdk_device_get_source, iFp)
+GO(gdk_device_get_state, vFpppp)
+GO(gdk_device_get_type, iFv)
+GO(gdk_device_set_axis_use, vFpui)
+GO(gdk_device_set_key, vFpuui)
+GO(gdk_device_set_mode, iFpi)
+GO(gdk_device_set_source, vFpi)
+GO(gdk_devices_list, pFv)
+//GOM(gdk_display_add_client_message_filter, vFEpppp)
+GO(gdk_display_beep, vFp)
+GO(gdk_display_close, vFp)
+GO(gdk_display_flush, vFp)
+GO(gdk_display_get_core_pointer, pFp)
+GO(gdk_display_get_default, pFv)
+GO(gdk_display_get_default_cursor_size, uFp)
+GO(gdk_display_get_default_group, pFp)
+GO(gdk_display_get_default_screen, pFp)
+GO(gdk_display_get_event, pFp)
+GO(gdk_display_get_maximal_cursor_size, vFppp)
+GO(gdk_display_get_name, pFp)
+GO(gdk_display_get_n_screens, iFp)
+GO(gdk_display_get_pointer, vFppppp)
+GO(gdk_display_get_screen, pFpi)
+GO(gdk_display_get_type, iFv)
+GO(gdk_display_get_window_at_pointer, pFppp)
+GO(gdk_display_is_closed, iFp)
+GO(gdk_display_keyboard_ungrab, vFpu)
+GO(gdk_display_list_devices, pFp)
+GO(gdk_display_manager_get, pFv)
+GO(gdk_display_manager_get_default_display, pFp)
+GO(gdk_display_manager_get_type, iFv)
+GO(gdk_display_manager_list_displays, pFp)
+GO(gdk_display_manager_set_default_display, vFpp)
+GO(gdk_display_open, pFp)
+//GO(gdk_display_open_default_libgtk_only, 
+GO(gdk_display_peek_event, pFp)
+GO(gdk_display_pointer_is_grabbed, iFp)
+GO(gdk_display_pointer_ungrab, vFpu)
+GO(gdk_display_put_event, vFpp)
+GO(gdk_display_request_selection_notification, iFpp)
+GO(gdk_display_set_double_click_distance, vFpu)
+GO(gdk_display_set_double_click_time, vFpu)
+//GOM(gdk_display_set_pointer_hooks, pFEpp)     // GdkDisplayPointerHooks needs wrapping
+GO(gdk_display_store_clipboard, vFppupi)
+GO(gdk_display_supports_clipboard_persistence, iFp)
+GO(gdk_display_supports_composite, iFp)
+GO(gdk_display_supports_cursor_alpha, iFp)
+GO(gdk_display_supports_cursor_color, iFp)
+GO(gdk_display_supports_input_shapes, iFp)
+GO(gdk_display_supports_selection_notification, iFp)
+GO(gdk_display_supports_shapes, iFp)
+GO(gdk_display_sync, vFp)
+GO(gdk_display_warp_pointer, vFppii)
+GO(gdk_drag_abort, vFpu)
+GO(gdk_drag_action_get_type, iFv)
+GO(gdk_drag_begin, pFpp)
+GO(gdk_drag_context_get_actions, iFp)
+GO(gdk_drag_context_get_dest_window, pFp)
+GO(gdk_drag_context_get_protocol, iFp)
+GO(gdk_drag_context_get_selected_action, iFp)
+GO(gdk_drag_context_get_source_window, pFp)
+GO(gdk_drag_context_get_suggested_action, iFp)
+GO(gdk_drag_context_get_type, iFv)
+GO(gdk_drag_context_list_targets, pFp)
+GO(gdk_drag_context_new, pFv)
+GO(gdk_drag_context_ref, vFp)
+GO(gdk_drag_context_unref, vFp)
+GO(gdk_drag_drop, vFpu)
+GO(gdk_drag_drop_succeeded, iFp)
+GO(gdk_drag_find_window, vFppiipp)
+GO(gdk_drag_find_window_for_screen, vFpppiipp)
+GO(gdk_drag_get_protocol, pFpp)
+GO(gdk_drag_get_protocol_for_display, pFppp)
+GO(gdk_drag_get_selection, pFp)
+GO(gdk_drag_motion, iFppiiiiiu)
+GO(gdk_drag_protocol_get_type, iFv)
+GO(gdk_drag_status, vFpiu)
+GO(gdk_drawable_copy_to_image, pFppiiiiii)
+GO(gdk_drawable_get_clip_region, pFp)
+GO(gdk_drawable_get_colormap, pFp)
+GO(gdk_drawable_get_data, pFpp)
+GO(gdk_drawable_get_depth, iFp)
+GO(gdk_drawable_get_display, pFp)
+GO(gdk_drawable_get_image, pFpiiii)
+GO(gdk_drawable_get_screen, pFp)
+GO(gdk_drawable_get_size, vFppp)
+GO(gdk_drawable_get_type, iFv)
+GO(gdk_drawable_get_visible_region, pFp)
+GO(gdk_drawable_get_visual, pFp)
+GO(gdk_drawable_ref, pFp)
+GO(gdk_drawable_set_colormap, vFpp)
+//GOM(gdk_drawable_set_data, vFEpppB)
+GO(gdk_drawable_unref, vFp)
+GO(gdk_draw_arc, vFppiiiiiii)
+GO(gdk_draw_drawable, vFpppiiiiii)
+GO(gdk_draw_glyphs, vFpppiip)
+GO(gdk_draw_glyphs_transformed, vFppppiip)
+GO(gdk_draw_gray_image, vFppiiiiipi)
+GO(gdk_draw_image, vFpppiiiiii)
+GO(gdk_draw_indexed_image, vFppiiiiipip)
+GO(gdk_draw_layout, vFppiip)
+GO(gdk_draw_layout_line, vFppiip)
+GO(gdk_draw_layout_line_with_colors, vFppiippp)
+GO(gdk_draw_layout_with_colors, vFppiippp)
+GO(gdk_draw_line, vFppiiii)
+GO(gdk_draw_lines, vFpppi)
+GO(gdk_draw_pixbuf, vFpppiiiiiiiii)
+GO(gdk_draw_point, vFppii)
+GO(gdk_draw_points, vFpppi)
+GO(gdk_draw_polygon, vFppipi)
+GO(gdk_draw_rectangle, vFppiiiii)
+GO(gdk_draw_rgb_32_image, vFppiiiiipi)
+GO(gdk_draw_rgb_32_image_dithalign, vFppiiiiipiii)
+GO(gdk_draw_rgb_image, vFppiiiiipi)
+GO(gdk_draw_rgb_image_dithalign, vFppiiiiipiii)
+GO(gdk_draw_segments, vFpppi)
+GO(gdk_draw_string, vFpppiip)
+GO(gdk_draw_text, vFpppiipi)
+GO(gdk_draw_text_wc, vFpppiipi)
+GO(gdk_draw_trapezoids, vFpppi)
+GO(gdk_drop_finish, vFpiu)
+GO(gdk_drop_reply, vFpiu)
+GO(gdk_error_trap_pop, iFv)
+GO(gdk_error_trap_push, vFv)
+GO(gdk_event_copy, pFp)
+GO(gdk_event_free, vFp)
+GO(gdk_event_get, pFv)
+GO(gdk_event_get_axis, iFpip)
+GO(gdk_event_get_coords, iFppp)
+GO(gdk_event_get_graphics_expose, pFp)
+GO(gdk_event_get_root_coords, iFppp)
+GO(gdk_event_get_screen, pFp)
+GO(gdk_event_get_state, iFpp)
+GO(gdk_event_get_time, uFp)
+GO(gdk_event_get_type, iFv)
+GOM(gdk_event_handler_set, vFEppp)
+GO(gdk_event_mask_get_type, iFv)
+GO(gdk_event_new, pFi)
+GO(gdk_event_peek, pFv)
+GO(gdk_event_put, vFp)
+GO(gdk_event_request_motions, vFp)
+GO(gdk_event_send_client_message, iFpp)
+GO(gdk_event_send_client_message_for_display, iFppp)
+GO(gdk_event_send_clientmessage_toall, vFp)
+GO(gdk_event_set_screen, vFpp)
+GO(gdk_events_pending, iFv)
+//GO(gdk_event_type_get_type, 
+GO(gdk_exit, vFi)
+//GO(gdk_extension_mode_get_type, 
+//GO(gdk_fill_get_type, 
+//GO(gdk_fill_rule_get_type, 
+//GO(gdk_filter_return_get_type, 
+GO(gdk_flush, vFv)
+//GO(gdk_font_equal, 
+//GO(gdk_font_from_description, 
+//GO(gdk_font_from_description_for_display, 
+//GO(gdk_font_get_display, 
+GO(gdk_font_get_type, iFv)
+//GO(gdk_font_id, 
+//GO(gdk_font_load, 
+//GO(gdk_font_load_for_display, 
+//GO(gdk_font_ref, 
+//GO(gdk_fontset_load, 
+//GO(gdk_fontset_load_for_display, 
+//GO(gdk_font_type_get_type, 
+//GO(gdk_font_unref, 
+GO(gdk_free_compound_text, vFp)
+GO(gdk_free_text_list, vFp)
+GO(gdk_function_get_type, iFv)
+GO(gdk_gc_copy, vFpp)
+GO(gdk_gc_get_colormap, pFp)
+GO(gdk_gc_get_screen, pFp)
+GO(gdk_gc_get_type, iFv)
+GO(gdk_gc_get_values, vFpp)
+GO(gdk_gc_new, pFp)
+GO(gdk_gc_new_with_values, pFppu)
+GO(gdk_gc_offset, vFpii)
+GO(gdk_gc_ref, pFp)
+GO(gdk_gc_set_background, vFpp)
+GO(gdk_gc_set_clip_mask, vFpp)
+GO(gdk_gc_set_clip_origin, vFpii)
+GO(gdk_gc_set_clip_rectangle, vFpp)
+GO(gdk_gc_set_clip_region, vFpp)
+GO(gdk_gc_set_colormap, vFpp)
+GO(gdk_gc_set_dashes, vFpipi)
+GO(gdk_gc_set_exposures, vFpi)
+GO(gdk_gc_set_fill, vFpi)
+GO(gdk_gc_set_font, vFpp)
+GO(gdk_gc_set_foreground, vFpp)
+GO(gdk_gc_set_function,vFpi) 
+GO(gdk_gc_set_line_attributes, vFpiiii)
+GO(gdk_gc_set_rgb_bg_color, vFpp)
+GO(gdk_gc_set_rgb_fg_color, vFpp)
+GO(gdk_gc_set_stipple, vFpp)
+GO(gdk_gc_set_subwindow, vFpi)
+GO(gdk_gc_set_tile, vFpp)
+GO(gdk_gc_set_ts_origin, vFpii)
+GO(gdk_gc_set_values, vFppu)
+GO(gdk_gc_unref, vFp)
+GO(gdk_gc_values_mask_get_type, iFv)
+GO(gdk_get_default_root_window, pFv)
+GO(gdk_get_display, pFv)
+GO(gdk_get_display_arg_name, pFv)
+GO(gdk_get_program_class, pFv)
+GO(gdk_get_show_events, iFv)
+GO(gdk_get_use_xshm, iFv)
+GO(gdk_grab_status_get_type, iFv)
+GO(gdk_gravity_get_type, iFv)
+GO(gdk_image_get, pFpiiii)
+GO(gdk_image_get_bits_per_pixel, WFp)
+GO(gdk_image_get_byte_order, iFp)
+GO(gdk_image_get_bytes_per_line, WFp)
+GO(gdk_image_get_bytes_per_pixel, WFp)
+GO(gdk_image_get_colormap, pFp)
+GO(gdk_image_get_depth, WFp)
+GO(gdk_image_get_height, iFp)
+GO(gdk_image_get_image_type, iFp)
+GO(gdk_image_get_pixel, uFpii)
+GO(gdk_image_get_pixels, pFp)
+GO(gdk_image_get_type, iFv)
+GO(gdk_image_get_visual, pFp)
+GO(gdk_image_get_width, iFp)
+GO(gdk_image_new, pFipii)
+GO(gdk_image_new_bitmap, pFppii)
+GO(gdk_image_put_pixel, vFpiiu)
+GO(gdk_image_ref, pFp)
+GO(gdk_image_set_colormap, vFpp)
+GO(gdk_image_type_get_type, iFv)
+GO(gdk_image_unref, vFp)
+GOM(gdk_init, vFEpp)
+GOM(gdk_init_check, iFEpp)
+GOM(gdk_input_add, iFEiipp)
+GOM(gdk_input_add_full, iFEiippp)
+GO(gdk_input_condition_get_type, iFv)
+GO(gdk_input_mode_get_type, iFv)
+GO(gdk_input_remove, vFi)
+GO(gdk_input_set_extension_events, vFpii)
+GO(gdk_input_source_get_type, iFv)
+GO(gdk_join_style_get_type, iFv)
+GO(gdk_keyboard_grab, iFpiu)
+//GO(gdk_keyboard_grab_info_libgtk_only, 
+GO(gdk_keyboard_ungrab, vFu)
+GO(gdk_keymap_add_virtual_modifiers, vFpp)
+GO(gdk_keymap_get_caps_lock_state, iFp)
+GO(gdk_keymap_get_default, pFv)
+GO(gdk_keymap_get_direction, iFp)
+GO(gdk_keymap_get_entries_for_keycode, iFpuppp)
+GO(gdk_keymap_get_entries_for_keyval, iFpupp)
+GO(gdk_keymap_get_for_display, pFp)
+GO(gdk_keymap_get_type, iFv)
+GO(gdk_keymap_have_bidi_layouts, iFp)
+GO(gdk_keymap_lookup_key, uFpp)
+GO(gdk_keymap_map_virtual_modifiers, iFpp)
+GO(gdk_keymap_translate_keyboard_state, iFpuiipppp)
+GO(gdk_keyval_convert_case, vFupp)
+GO(gdk_keyval_from_name, uFp)
+GO(gdk_keyval_is_lower, iFu)
+GO(gdk_keyval_is_upper, iFu)
+GO(gdk_keyval_name, pFu)
+GO(gdk_keyval_to_lower, uFu)
+GO(gdk_keyval_to_unicode, uFu)
+GO(gdk_keyval_to_upper, uFu)
+GO(gdk_line_style_get_type, iFv)
+GO(gdk_list_visuals, pFv)
+//GO(gdk_mbstowcs, 
+GO(gdk_modifier_type_get_type, iFv)
+GO(gdk_net_wm_supports, iFp)
+GO(gdk_notify_startup_complete, vFv)
+GO(gdk_notify_startup_complete_with_id, vFp)
+GO(gdk_notify_type_get_type, iFv)
+GO(gdk_offscreen_window_get_embedder, pFp)
+GO(gdk_offscreen_window_get_pixmap, pFp)
+GO(gdk_offscreen_window_get_type, iFv)
+GO(gdk_offscreen_window_set_embedder, vFpp)
+GO(gdk_overlap_type_get_type, iFv)
+GO(gdk_owner_change_get_type, iFv)
+GO(gdk_pango_attr_emboss_color_new, pFp)
+GO(gdk_pango_attr_embossed_new, pFi)
+GO(gdk_pango_attr_stipple_new, pFp)
+GO(gdk_pango_context_get, pFv)
+GO(gdk_pango_context_get_for_screen, pFp)
+GO(gdk_pango_context_set_colormap, vFpp)
+GO(gdk_pango_layout_get_clip_region, pFpiipi)
+GO(gdk_pango_layout_line_get_clip_region, pFpiipi)
+GO(gdk_pango_renderer_get_default, pFp)
+GO(gdk_pango_renderer_get_type, iFv)
+GO(gdk_pango_renderer_new, pFp)
+GO(gdk_pango_renderer_set_drawable, vFpp)
+GO(gdk_pango_renderer_set_gc, vFpp)
+GO(gdk_pango_renderer_set_override_color, vFpip)
+GO(gdk_pango_renderer_set_stipple, vFpip)
+GO(gdk_parse_args, vFpp)
+GO(gdk_pixbuf_get_from_drawable, pFpppiiiiii)
+GO(gdk_pixbuf_get_from_image, pFpppiiiiii)
+GO(gdk_pixbuf_render_pixmap_and_mask, vFpppi)
+GO(gdk_pixbuf_render_pixmap_and_mask_for_colormap, vFppppi)
+GO(gdk_pixbuf_render_threshold_alpha, vFppiiiiiii)
+GO(gdk_pixbuf_render_to_drawable, vFpppiiiiiiiii)
+GO(gdk_pixbuf_render_to_drawable_alpha, vFppiiiiiiiiiii)
+GO(gdk_pixmap_colormap_create_from_xpm, pFppppp)
+GO(gdk_pixmap_colormap_create_from_xpm_d, pFppppp)
+GO(gdk_pixmap_create_from_data, pFppiiipp)
+GO(gdk_pixmap_create_from_xpm, pFpppp)
+GO(gdk_pixmap_create_from_xpm_d, pFpppp)
+GO(gdk_pixmap_foreign_new, pFp)
+GO(gdk_pixmap_foreign_new_for_display, pFpp)
+GO(gdk_pixmap_foreign_new_for_screen, pFppiii)
+GO(gdk_pixmap_get_size, vFppp)
+GO(gdk_pixmap_get_type, iFv)
+GO(gdk_pixmap_impl_x11_get_type, iFv)
+GO(gdk_pixmap_lookup, pFp)
+GO(gdk_pixmap_lookup_for_display, pFpp)
+GO(gdk_pixmap_new, pFpiii)
+GO(gdk_pointer_grab, iFpiippu)
+//GO(gdk_pointer_grab_info_libgtk_only, 
+GO(gdk_pointer_is_grabbed, iFv)
+GO(gdk_pointer_ungrab, vFu)
+//GO(gdk_pre_parse_libgtk_only, 
+GO(gdk_property_change, vFpppiipi)
+GO(gdk_property_delete, vFpp)
+GO(gdk_property_get, iFpppLLipppp)
+GO(gdk_property_state_get_type, iFv)
+GO(gdk_prop_mode_get_type, iFv)
+GO(gdk_query_depths, vFpp)
+GO(gdk_query_visual_types, vFpp)
+GO(gdk_rectangle_get_type, iFv)
+GO(gdk_rectangle_intersect, iFppp)
+GO(gdk_rectangle_union, vFppp)
+GO(gdk_region_copy, pFp)
+GO(gdk_region_destroy, vFpp)
+GO(gdk_region_empty, iFp)
+GO(gdk_region_equal, iFpp)
+GO(gdk_region_get_clipbox, vFpp)
+GO(gdk_region_get_rectangles, vFppp)
+GO(gdk_region_intersect, vFpp)
+GO(gdk_region_new, pFv)
+GO(gdk_region_offset, vFpii)
+GO(gdk_region_point_in, iFpii)
+GO(gdk_region_polygon, pFpii)
+GO(gdk_region_rectangle, pFp)
+GO(gdk_region_rect_equal, iFpp)
+GO(gdk_region_rect_in, iFpp)
+GO(gdk_region_shrink, vFpii)
+//GOM(gdk_region_spans_intersect_foreach, vFppiiBp)
+GO(gdk_region_subtract, vFpp)
+GO(gdk_region_union, vFpp)
+GO(gdk_region_union_with_rect, vFpp)
+GO(gdk_region_xor, vFpp)
+GO(gdk_rgb_cmap_free, vFp)
+GO(gdk_rgb_cmap_new, pFpi)
+GO(gdk_rgb_colormap_ditherable, iFp)
+GO(gdk_rgb_ditherable, iFv)
+GO(gdk_rgb_dither_get_type, iFv)
+GO(gdk_rgb_find_color, vFpp)
+GO(gdk_rgb_gc_set_background, vFpu)
+GO(gdk_rgb_gc_set_foreground, vFpu)
+GO(gdk_rgb_get_colormap, pFv)
+GO(gdk_rgb_get_visual, pFv)
+GO(gdk_rgb_init, vFv)
+GO(gdk_rgb_set_install, vFi)
+GO(gdk_rgb_set_min_colors, vFi)
+GO(gdk_rgb_set_verbose, vFi)
+GO(gdk_rgb_xpixel_from_rgb, LFu)
+GO(gdk_screen_broadcast_client_message, vFpp)
+GO(gdk_screen_get_active_window, pFp)
+GO(gdk_screen_get_default, pFv)
+GO(gdk_screen_get_default_colormap, pFp)
+GO(gdk_screen_get_display, pFp)
+GO(gdk_screen_get_font_options, pFp)
+GO(gdk_screen_get_height, iFp)
+GO(gdk_screen_get_height_mm, iFp)
+GO(gdk_screen_get_monitor_at_point, iFpii)
+GO(gdk_screen_get_monitor_at_window, iFpp)
+GO(gdk_screen_get_monitor_geometry, vFpip)
+GO(gdk_screen_get_monitor_height_mm, iFpi)
+GO(gdk_screen_get_monitor_plug_name, pFpi)
+GO(gdk_screen_get_monitor_width_mm, iFpi)
+GO(gdk_screen_get_n_monitors, iFp)
+GO(gdk_screen_get_number, iFp)
+GO(gdk_screen_get_primary_monitor, iFp)
+GO(gdk_screen_get_resolution, dFp)
+GO(gdk_screen_get_rgba_colormap, pFp)
+GO(gdk_screen_get_rgba_visual, pFp)
+GO(gdk_screen_get_rgb_colormap, pFp)
+GO(gdk_screen_get_rgb_visual, pFp)
+GO(gdk_screen_get_root_window, pFp)
+GO(gdk_screen_get_setting, iFppp)
+GO(gdk_screen_get_system_colormap, pFp)
+GO(gdk_screen_get_system_visual, pFp)
+GO(gdk_screen_get_toplevel_windows, pFp)
+GO(gdk_screen_get_type, iFv)
+GO(gdk_screen_get_width, iFp)
+GO(gdk_screen_get_width_mm, iFp)
+GO(gdk_screen_get_window_stack, pFp)
+GO(gdk_screen_height, iFv)
+GO(gdk_screen_height_mm, iFv)
+GO(gdk_screen_is_composited, iFp)
+GO(gdk_screen_list_visuals, pFp)
+GO(gdk_screen_make_display_name, pFp)
+GO(gdk_screen_set_default_colormap, vFpp)
+GO(gdk_screen_set_font_options, vFpp)
+GO(gdk_screen_set_resolution, vFpd)
+GO(gdk_screen_width, iFv)
+GO(gdk_screen_width_mm, iFv)
+GO(gdk_scroll_direction_get_type, iFv)
+GO(gdk_selection_convert, vFpppu)
+GO(gdk_selection_owner_get, pFp)
+GO(gdk_selection_owner_get_for_display, pFpp)
+GO(gdk_selection_owner_set, iFppui)
+GO(gdk_selection_owner_set_for_display, iFpppui)
+GO(gdk_selection_property_get, iFpppp)
+GO(gdk_selection_send_notify, vFppppu)
+GO(gdk_selection_send_notify_for_display, vFpppppu)
+GO(gdk_set_double_click_time, vFu)
+GO(gdk_set_locale, pFv)
+//GOM(gdk_set_pointer_hooks, BFEB)
+GO(gdk_set_program_class, vFp)
+GO(gdk_set_show_events, vFi)
+GO(gdk_set_sm_client_id, vFp)
+GO(gdk_setting_action_get_type, iFv)
+GO(gdk_setting_get, iFpp)
+GO(gdk_set_use_xshm, vFi)
+GO(gdk_spawn_command_line_on_screen, iFppp)
+//GOM(gdk_spawn_on_screen, iFEppppipppp)
+//GOM(gdk_spawn_on_screen_with_pipes, iFEppppippppppp)
+GO(gdk_status_get_type, iFv)
+//GO(gdk_string_extents, 
+//GO(gdk_string_height, 
+//GO(gdk_string_measure, 
+GO(gdk_string_to_compound_text, iFppppp)
+GO(gdk_string_to_compound_text_for_display, iFpppppp)
+//GO(gdk_string_width, 
+//GO(gdk_subwindow_mode_get_type, 
+//GO(gdk_synthesize_window_state, 
+//GO(gdk_test_render_sync, 
+//GO(gdk_test_simulate_button, 
+//GO(gdk_test_simulate_key, 
+//GO(gdk_text_extents, 
+//GO(gdk_text_extents_wc, 
+//GO(gdk_text_height, 
+//GO(gdk_text_measure, 
+GO(gdk_text_property_to_text_list, iFpipip)
+GO(gdk_text_property_to_text_list_for_display, iFppipip)
+GO(gdk_text_property_to_utf8_list, iFpipip)
+//GO(gdk_text_property_to_utf8_list_for_display, 
+//GO(gdk_text_width, 
+//GO(gdk_text_width_wc, 
+//GOM(gdk_threads_add_idle, uFEpp)
+//GOM(gdk_threads_add_idle_full, uFEippp)
+//GOM(gdk_threads_add_timeout, uFEupp)
+//GOM(gdk_threads_add_timeout_full, uFEiuppp)
+//GOM(gdk_threads_add_timeout_seconds, uFEupp)
+//GOM(gdk_threads_add_timeout_seconds_full, uFEiuppp)
+GO(gdk_threads_enter, vFv)
+GO(gdk_threads_init, vFv)
+GO(gdk_threads_leave, vFv)
+//GOM(gdk_threads_set_lock_functions, vFEpp)
+GO(gdk_unicode_to_keyval, uFu)
+GO(gdk_utf8_to_compound_text, iFppppp)
+GO(gdk_utf8_to_compound_text_for_display, iFpppppp)
+GO(gdk_utf8_to_string_target, pFp)
+GO(gdk_visibility_state_get_type, iFv)
+GO(gdk_visual_get_best, pFv)
+GO(gdk_visual_get_best_depth, iFv)
+GO(gdk_visual_get_best_type, iFv)
+GO(gdk_visual_get_best_with_both, pFii)
+GO(gdk_visual_get_best_with_depth, pFi)
+GO(gdk_visual_get_best_with_type, pFi)
+GO(gdk_visual_get_bits_per_rgb, iFp)
+GO(gdk_visual_get_blue_pixel_details, vFpppp)
+GO(gdk_visual_get_byte_order, iFp)
+GO(gdk_visual_get_colormap_size, iFp)
+GO(gdk_visual_get_depth, iFp)
+GO(gdk_visual_get_green_pixel_details, vFpppp)
+GO(gdk_visual_get_red_pixel_details, vFpppp)
+GO(gdk_visual_get_screen, pFp)
+GO(gdk_visual_get_system, pFv)
+GO(gdk_visual_get_type, iFv)
+GO(gdk_visual_get_visual_type, iFp)
+GO(gdk_visual_type_get_type, iFv)
+//GO(gdk_wcstombs, 
+GOM(gdk_window_add_filter, vFEppp)
+GO(gdk_window_at_pointer, pFpp)
+//GO(gdk_window_attributes_type_get_type, 
+GO(gdk_window_beep, vFp)
+GO(gdk_window_begin_move_drag, vFpiiiu)
+GO(gdk_window_begin_paint_rect, vFpp)
+GO(gdk_window_begin_paint_region, vFpp)
+GO(gdk_window_begin_resize_drag, vFpuiiiu)
+GO(gdk_window_class_get_type, iFv)
+GO(gdk_window_clear, vFp)
+GO(gdk_window_clear_area, vFpiiii)
+GO(gdk_window_clear_area_e, vFpiiii)
+GO(gdk_window_configure_finished, vFp)
+GO(gdk_window_constrain_size, vFpuiipp)
+GO(gdk_window_coords_from_parent, vFpddpp)
+GO(gdk_window_coords_to_parent, vFpddpp)
+GO(gdk_window_create_similar_surface, pFpiii)
+GO(gdk_window_deiconify, vFp)
+GO(gdk_window_destroy, vFp)
+//GO(gdk_window_destroy_notify, 
+//GO(gdk_window_edge_get_type, 
+GO(gdk_window_enable_synchronized_configure, vFp)
+GO(gdk_window_end_paint, vFp)
+GO(gdk_window_ensure_native, iFp)
+GO(gdk_window_flush, vFp)
+GO(gdk_window_focus, vFpu)
+GO(gdk_window_foreign_new, pFp)
+GO(gdk_window_foreign_new_for_display, pFpp)
+//GO(gdk_window_freeze_toplevel_updates_libgtk_only, 
+GO(gdk_window_freeze_updates, vFp)
+GO(gdk_window_fullscreen, vFp)
+GO(gdk_window_geometry_changed, vFp)
+GO(gdk_window_get_accept_focus, iFp)
+GO(gdk_window_get_background_pattern, pFp)
+GO(gdk_window_get_children, pFp)
+GO(gdk_window_get_composited, iFp)
+GO(gdk_window_get_cursor, pFp)
+GO(gdk_window_get_decorations, iFpp)
+GO(gdk_window_get_deskrelative_origin, iFppp)
+GO(gdk_window_get_display, pFp)
+GO(gdk_window_get_effective_parent, pFp)
+GO(gdk_window_get_effective_toplevel, pFp)
+GO(gdk_window_get_events, vFpi)
+GO(gdk_window_get_focus_on_map, iFp)
+GO(gdk_window_get_frame_extents, vFpp)
+GO(gdk_window_get_geometry, vFpppppp)
+GO(gdk_window_get_group, pFp)
+GO(gdk_window_get_height, iFp)
+GO(gdk_window_get_internal_paint_info, vFpppp)
+GO(gdk_window_get_modal_hint, iFp)
+GO(gdk_window_get_origin, iFppp)
+GO(gdk_window_get_parent, pFp)
+GO(gdk_window_get_pointer, pFpppp)
+GO(gdk_window_get_position, vFppp)
+GO(gdk_window_get_root_coords, vFpiipp)
+GO(gdk_window_get_root_origin, vFppp)
+GO(gdk_window_get_screen, pFp)
+GO(gdk_window_get_state, iFp)
+GO(gdk_window_get_toplevel, pFp)
+GO(gdk_window_get_toplevels, pFp)
+GO(gdk_window_get_type_hint, iFp)
+GO(gdk_window_get_update_area, pFp)
+GO(gdk_window_get_user_data, vFpp)
+GO(gdk_window_get_visual, pFp)
+GO(gdk_window_get_width, iFp)
+GO(gdk_window_get_window_type, iFp)
+GO(gdk_window_has_native, iFp)
+GO(gdk_window_hide, vFp)
+GO(gdk_window_hints_get_type, iFv)
+GO(gdk_window_iconify, vFp)
+GO(gdk_window_impl_get_type, iFv)
+GO(gdk_window_impl_x11_get_type, iFv)
+GO(gdk_window_input_shape_combine_mask, vFppii)
+GO(gdk_window_input_shape_combine_region, vFppii)
+//GOM(gdk_window_invalidate_maybe_recurse, vFEppBp)
+GO(gdk_window_invalidate_rect, vFppi)
+GO(gdk_window_invalidate_region, vFppi)
+GO(gdk_window_is_destroyed, iFp)
+GO(gdk_window_is_input_only, iFp)
+GO(gdk_window_is_shaped, iFp)
+GO(gdk_window_is_viewable, iFp)
+GO(gdk_window_is_visible, iFp)
+GO(gdk_window_lookup, pFp)
+GO(gdk_window_lookup_for_display, pFpp)
+GO(gdk_window_lower, vFp)
+GO(gdk_window_maximize, vFp)
+GO(gdk_window_merge_child_input_shapes, vFp)
+GO(gdk_window_merge_child_shapes, vFp)
+GO(gdk_window_move, vFpii)
+GO(gdk_window_move_region, vFppii)
+GO(gdk_window_move_resize, vFpiiii)
+GO(gdk_window_new, pFppi)
+GO(gdk_window_object_get_type, iFv)
+GO(gdk_window_peek_children, pFp)
+GO(gdk_window_process_all_updates, vFv)
+GO(gdk_window_process_updates, vFpi)
+GO(gdk_window_raise, vFp)
+GO(gdk_window_redirect_to_drawable, vFppiiiiii)
+GO(gdk_window_register_dnd, vFp)
+GOM(gdk_window_remove_filter, vFEppp)
+GO(gdk_window_remove_redirection, vFp)
+GO(gdk_window_reparent, vFppii)
+GO(gdk_window_resize, vFpii)
+GO(gdk_window_restack, vFppi)
+GO(gdk_window_scroll, vFpii)
+GO(gdk_window_set_accept_focus, vFpi)
+GO(gdk_window_set_background, vFpp)
+GO(gdk_window_set_back_pixmap, vFppi)
+GO(gdk_window_set_child_input_shapes, vFp)
+GO(gdk_window_set_child_shapes, vFp)
+GO(gdk_window_set_composited, vFpi)
+GO(gdk_window_set_cursor, vFpp)
+GO(gdk_window_set_debug_updates, vFi)
+GO(gdk_window_set_decorations, vFpp)
+GO(gdk_window_set_events, vFpp)
+GO(gdk_window_set_focus_on_map, vFpi)
+GO(gdk_window_set_functions, vFpu)
+GO(gdk_window_set_geometry_hints, vFppi)
+GO(gdk_window_set_group, vFpp)
+GO(gdk_window_set_hints, vFpiiiiiii)
+GO(gdk_window_set_icon, vFpppp)
+GO(gdk_window_set_icon_list, vFpp)
+GO(gdk_window_set_icon_name, vFpp)
+GO(gdk_window_set_keep_above, vFpi)
+GO(gdk_window_set_keep_below, vFpi)
+GO(gdk_window_set_modal_hint, iFp)
+GO(gdk_window_set_opacity, vFpi)
+GO(gdk_window_set_override_redirect, vFpi)
+GO(gdk_window_set_role, vFpp)
+GO(gdk_window_set_skip_pager_hint, vFpi)
+GO(gdk_window_set_skip_taskbar_hint, vFpi)
+GO(gdk_window_set_startup_id, vFpp)
+GO(gdk_window_set_static_gravities, iFpi)
+GO(gdk_window_set_title, vFpp)
+GO(gdk_window_set_transient_for, vFpp)
+GO(gdk_window_set_type_hint, vFpi)
+GO(gdk_window_set_urgency_hint, vFpi)
+GO(gdk_window_set_user_data, vFpp)
+GO(gdk_window_shape_combine_mask, vFppii)
+GO(gdk_window_shape_combine_region, vFppii)
+GO(gdk_window_show, vFp)
+GO(gdk_window_show_unraised, vFp)
+GO(gdk_window_state_get_type, iFv)
+GO(gdk_window_stick, vFp)
+//GO(gdk_window_thaw_toplevel_updates_libgtk_only, 
+GO(gdk_window_thaw_updates, vFp)
+GO(gdk_window_type_get_type, iFv)
+GO(gdk_window_type_hint_get_type, iFv)
+GO(gdk_window_unfullscreen, vFp)
+GO(gdk_window_unmaximize, vFp)
+GO(gdk_window_unstick, vFp)
+GO(gdk_window_withdraw, vFp)
+GO(gdk_wm_decoration_get_type, iFv)
+GO(gdk_wm_function_get_type, iFv)
+GO(gdk_x11_atom_to_xatom, pFp)
+GO(gdk_x11_atom_to_xatom_for_display, pFpp)
+GO(gdk_x11_colormap_foreign_new, pFpp)
+GO(gdk_x11_colormap_get_xcolormap, pFp)
+GO(gdk_x11_colormap_get_xdisplay, pFp)
+GO(gdk_x11_cursor_get_xcursor, pFp)
+GO(gdk_x11_cursor_get_xdisplay, pFp)
+GO(gdk_x11_display_broadcast_startup_message, vFppppppppppppp)  //vaarg after 2 p
+GO(gdk_x11_display_get_startup_notification_id, pFp)
+GO(gdk_x11_display_get_user_time, uFp)
+GO(gdk_x11_display_get_xdisplay, pFp)
+GO(gdk_x11_display_grab, vFp)
+GO(gdk_x11_display_set_cursor_theme, vFppi)
+//GO(gdk_x11_display_string_to_compound_text, 
+//GO(gdk_x11_display_text_property_to_text_list, 
+GO(gdk_x11_display_ungrab, vFp)
+//GO(gdk_x11_display_utf8_to_compound_text, 
+GO(gdk_x11_drawable_get_xdisplay, pFp)
+GO(gdk_x11_drawable_get_xid, pFp)
+GO(gdk_x11_font_get_name, pFp)
+GO(gdk_x11_font_get_xdisplay, pFp)
+GO(gdk_x11_font_get_xfont, pFp)
+//GO(gdk_x11_free_compound_text, 
+//GO(gdk_x11_free_text_list, 
+GO(gdk_x11_gc_get_xdisplay, pFp)
+GO(gdk_x11_gc_get_xgc, pFp)
+GO(gdk_x11_get_default_root_xwindow, pFv)
+GO(gdk_x11_get_default_screen, iFv)
+GO(gdk_x11_get_default_xdisplay, pFv)
+GO(gdk_x11_get_server_time, uFp)
+GO(gdk_x11_get_xatom_by_name, pFp)
+GO(gdk_x11_get_xatom_by_name_for_display, pFpp)
+GO(gdk_x11_get_xatom_name, pFp)
+GO(gdk_x11_get_xatom_name_for_display, pFpp)
+GO(gdk_x11_grab_server, vFv)
+GO(gdk_x11_image_get_xdisplay, pFp)
+GO(gdk_x11_image_get_ximage, pFp)
+GO(gdk_x11_lookup_xdisplay, pFp)
+GO(gdk_x11_pixmap_get_drawable_impl, pFp)
+GO(gdk_x11_register_standard_event_type, vFpii)
+GO(gdk_x11_screen_get_monitor_output, pFpi)
+GO(gdk_x11_screen_get_screen_number, iFp)
+GO(gdk_x11_screen_get_window_manager_name, pFp)
+GO(gdk_x11_screen_get_xscreen, pFp)
+GO(gdk_x11_screen_lookup_visual, pFpp)
+GO(gdk_x11_screen_supports_net_wm_hint, iFpp)
+GO(gdk_x11_set_sm_client_id, vFp)
+GO(gdk_x11_ungrab_server, vFv)
+GO(gdk_x11_visual_get_xvisual, pFp)
+GO(gdk_x11_window_foreign_new_for_display, pFpp)
+GO(gdk_x11_window_get_drawable_impl, pFp)
+GO(gdk_x11_window_lookup_for_display, pFpp)
+GO(gdk_x11_window_move_to_current_desktop, vFp)
+GO(gdk_x11_window_set_user_time, vFpu)
+GO(gdk_x11_xatom_to_atom, pFp)
+GO(gdk_x11_xatom_to_atom_for_display, pFpp)
+GO(gdkx_colormap_get, pFu)
+GO(gdk_xid_table_lookup, pFp)
+GO(gdk_xid_table_lookup_for_display, pFpp)
+GO(gdkx_visual_get, pFp)
+
+//GLOB(gdk_display, sizeof(void*))
+DATA(gdk_threads_lock, sizeof(void*))
+DATA(gdk_threads_unlock, sizeof(void*))
+
+GO(dummy_set_child_property, vFppupp)       // to get vFppupp for gtkclass.c
+
+// from gdk-1.2
+GO2(gdk_pixmap_ref, pFp, g_object_ref)
+GO2(gdk_pixmap_unref, vFp, g_object_unref)
+GO2(gdk_bitmap_ref, pFp, g_object_ref)
+GO2(gdk_bitmap_unref, vFp, g_object_unref)
\ No newline at end of file
diff --git a/src/wrapped/wrappedgio2.c b/src/wrapped/wrappedgio2.c
new file mode 100755
index 00000000..52697769
--- /dev/null
+++ b/src/wrapped/wrappedgio2.c
@@ -0,0 +1,739 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+#include <stdarg.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
+
+const char* gio2Name = "libgio-2.0.so.0";
+#define LIBNAME gio2
+
+static char* libname = NULL;
+
+typedef void    (*vFppp_t)          (void*, void*, void*);
+typedef void    (*vFppip_t)         (void*, void*, int, void*);
+typedef void    (*vFippp_t)         (int, void*, void*, void*);
+typedef void*   (*pFpppp_t)         (void*, void*, void*, void*);
+typedef void    (*vFpppp_t)         (void*, void*, void*, void*);
+typedef uint32_t(*uFpppp_t)         (void*, void*, void*, void*);
+typedef unsigned long (*LFpppp_t)   (void*, void*, void*, void*);
+typedef void    (*vFpippp_t)        (void*, int, void*, void*, void*);
+typedef void    (*vFpipppp_t)       (void*, int, void*, void*, void*, void*);
+typedef void*   (*vFippippp_t)      (int, void*, void*, int, void*, void*, void*);
+typedef void*   (*vFipAippp_t)      (int, void*, va_list, int, void*, void*, void*);
+typedef uint32_t(*uFipipppp_t)      (int, void*, int, void*, void*, void*, void*);
+typedef uint32_t(*uFppipppp_t)      (void*, void*, int, void*, void*, void*, void*);
+typedef void    (*vFppipppp_t)      (void*, void*, int, void*, void*, void*, void*);
+typedef void    (*vFiupippp_t)      (int, uint32_t, void*, int, void*, void*, void*);
+typedef void    (*vFpppuipV_t)      (void*, void*, void*, uint32_t, int, void*, ...);
+typedef void*   (*pFpppuipV_t)      (void*, void*, void*, uint32_t, int, void*, ...);
+typedef uint32_t(*uFppppppp_t)      (void*, void*, void*, void*, void*, void*, void*);
+typedef void    (*vFppiipppp_t)     (void*, void*, int, int, void*, void*, void*, void*);
+typedef void    (*vFpppiippp_t)     (void*, void*, void*, int, int, void*, void*, void*);
+typedef uint32_t(*uFipippppp_t)     (int, void*, int, void*, void*, void*, void*, void*);
+typedef void    (*vFpppiipppp_t)    (void*, void*, void*, int, int, void*, void*, void*, void*);
+typedef void    (*vFiippppppp_t)    (int, int, void*, void*, void*, void*, void*, void*, void*);
+typedef void*   (*pFiippppppp_t)    (int, int, void*, void*, void*, void*, void*, void*, void*);
+typedef void    (*vFpippppppp_t)    (void*, int, void*, void*, void*, void*, void*, void*, void*);
+typedef uint32_t(*uFppppppippp_t)   (void*, void*, void*, void*, void*, void*, int, void*, void*, void*);
+typedef void    (*vFpppppppiippp_t) (void*, void*, void*, void*, void*, void*, void*, int, int, void*, void*, void*);
+
+#define SUPER() \
+    GO(g_dbus_proxy_new, vFpippppppp_t)             \
+    GO(g_dbus_proxy_new_for_bus, vFiippppppp_t)     \
+    GO(g_dbus_proxy_call, vFpppiippp_t)             \
+    GO(g_dbus_proxy_call_with_unix_fd_list, vFpppiipppp_t)              \
+    GO(g_dbus_object_manager_client_new_for_bus_sync, pFiippppppp_t)    \
+    GO(g_simple_async_result_new, pFpppp_t)         \
+    GO(g_simple_async_result_new_error, pFpppuipV_t)\
+    GO(g_simple_async_result_new_from_error, pFpppp_t)                  \
+    GO(g_simple_async_result_new_take_error, pFpppp_t)                  \
+    GO(g_simple_async_result_set_op_res_gpointer, vFppp_t)              \
+    GO(g_simple_async_result_run_in_thread, vFppip_t)                   \
+    GO(g_simple_async_report_error_in_idle, vFpppuipV_t)                \
+    GO(g_simple_async_report_gerror_in_idle, vFpppp_t)                  \
+    GO(g_simple_async_report_take_gerror_in_idle, vFpppp_t)             \
+    GO(g_cancellable_connect, LFpppp_t)             \
+    GO(g_async_initable_init_async, vFpippp_t)      \
+    GO(g_async_initable_new_valist_async, vFipAippp_t)                  \
+    GO(g_async_initable_newv_async, vFiupippp_t)    \
+    GO(g_bus_get, vFippp_t)                         \
+    GO(g_dbus_connection_new, vFppipppp_t)          \
+    GO(g_dbus_connection_new_for_address, vFpipppp_t)                   \
+    GO(g_dbus_connection_close, vFpppp_t)           \
+    GO(g_dbus_connection_flush, vFpppp_t)           \
+    GO(g_dbus_connection_call, vFpppppppiippp_t)    \
+    GO(g_dbus_connection_signal_subscribe, uFppppppippp_t)              \
+    GO(g_dbus_connection_send_message_with_reply, vFppiipppp_t)         \
+    GO(g_dbus_connection_add_filter, uFpppp_t)      \
+    GO(g_dbus_connection_register_object, uFppppppp_t)                  \
+    GO(g_bus_watch_name, uFipipppp_t)               \
+    GO(g_bus_watch_name_on_connection, uFppipppp_t) \
+    GO(g_bus_own_name, uFipippppp_t)                \
+    GO(g_bus_own_name_on_connection, uFppipppp_t)
+
+
+typedef struct gio2_my_s {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+} gio2_my_t;
+
+void* getGio2My(library_t* lib)
+{
+    gio2_my_t* my = (gio2_my_t*)calloc(1, sizeof(gio2_my_t));
+    #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
+    SUPER()
+    #undef GO
+    return my;
+}
+#undef SUPER
+
+void freeGio2My(void* lib)
+{
+    //gio2_my_t *my = (gio2_my_t *)lib;
+}
+
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)
+
+// GAsyncReadyCallback
+#define GO(A)   \
+static uintptr_t my_GAsyncReadyCallback_fct_##A = 0;   \
+static void my_GAsyncReadyCallback_##A(void* source, void* res, void* data)     \
+{                                       \
+    RunFunction(my_context, my_GAsyncReadyCallback_fct_##A, 3, source, res, data);\
+}
+SUPER()
+#undef GO
+static void* findGAsyncReadyCallbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GAsyncReadyCallback_fct_##A == (uintptr_t)fct) return my_GAsyncReadyCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GAsyncReadyCallback_fct_##A == 0) {my_GAsyncReadyCallback_fct_##A = (uintptr_t)fct; return my_GAsyncReadyCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GAsyncReadyCallback callback\n");
+    return NULL;
+}
+
+// GDestroyNotify
+#define GO(A)   \
+static uintptr_t my_GDestroyNotify_fct_##A = 0;   \
+static void my_GDestroyNotify_##A(void* data)     \
+{                                       \
+    RunFunction(my_context, my_GDestroyNotify_fct_##A, 1, data);\
+}
+SUPER()
+#undef GO
+static void* findGDestroyNotifyFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GDestroyNotify_fct_##A == (uintptr_t)fct) return my_GDestroyNotify_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GDestroyNotify_fct_##A == 0) {my_GDestroyNotify_fct_##A = (uintptr_t)fct; return my_GDestroyNotify_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GDestroyNotify callback\n");
+    return NULL;
+}
+
+// GDBusProxyTypeFunc
+#define GO(A)   \
+static uintptr_t my_GDBusProxyTypeFunc_fct_##A = 0;   \
+static int my_GDBusProxyTypeFunc_##A(void* manager, void* path, void* name, void* data)     \
+{                                       \
+    return (int)RunFunction(my_context, my_GDBusProxyTypeFunc_fct_##A, 4, manager, path, name, data);\
+}
+SUPER()
+#undef GO
+static void* findGDBusProxyTypeFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GDBusProxyTypeFunc_fct_##A == (uintptr_t)fct) return my_GDBusProxyTypeFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GDBusProxyTypeFunc_fct_##A == 0) {my_GDBusProxyTypeFunc_fct_##A = (uintptr_t)fct; return my_GDBusProxyTypeFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GDBusProxyTypeFunc callback\n");
+    return NULL;
+}
+
+// GSimpleAsyncThreadFunc
+#define GO(A)   \
+static uintptr_t my_GSimpleAsyncThreadFunc_fct_##A = 0;   \
+static void my_GSimpleAsyncThreadFunc_##A(void* res, void* object, void* cancellable)     \
+{                                       \
+    RunFunction(my_context, my_GSimpleAsyncThreadFunc_fct_##A, 3, res, object, cancellable);\
+}
+SUPER()
+#undef GO
+static void* findGSimpleAsyncThreadFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GSimpleAsyncThreadFunc_fct_##A == (uintptr_t)fct) return my_GSimpleAsyncThreadFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GSimpleAsyncThreadFunc_fct_##A == 0) {my_GSimpleAsyncThreadFunc_fct_##A = (uintptr_t)fct; return my_GSimpleAsyncThreadFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GSimpleAsyncThreadFunc callback\n");
+    return NULL;
+}
+
+// GCallback
+#define GO(A)   \
+static uintptr_t my_GCallback_fct_##A = 0;   \
+static void my_GCallback_##A(void* a, void* b, void* c, void* d)     \
+{                                       \
+    RunFunction(my_context, my_GCallback_fct_##A, 4, a, b, c, d);\
+}
+SUPER()
+#undef GO
+static void* findGCallbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GCallback_fct_##A == (uintptr_t)fct) return my_GCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GCallback_fct_##A == 0) {my_GCallback_fct_##A = (uintptr_t)fct; return my_GCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GCallback callback\n");
+    return NULL;
+}
+
+// GDBusSignalCallback
+#define GO(A)   \
+static uintptr_t my_GDBusSignalCallback_fct_##A = 0;   \
+static void my_GDBusSignalCallback_##A(void* connection, void* sender, void* object, void* interface, void* signal, void* param, void* data)     \
+{                                       \
+    RunFunction(my_context, my_GDBusSignalCallback_fct_##A, 7, connection, sender, object, interface, signal, param, data);\
+}
+SUPER()
+#undef GO
+static void* findGDBusSignalCallbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GDBusSignalCallback_fct_##A == (uintptr_t)fct) return my_GDBusSignalCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GDBusSignalCallback_fct_##A == 0) {my_GDBusSignalCallback_fct_##A = (uintptr_t)fct; return my_GDBusSignalCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GDBusSignalCallback callback\n");
+    return NULL;
+}
+
+// GDBusMessageFilterFunction
+#define GO(A)   \
+static uintptr_t my_GDBusMessageFilterFunction_fct_##A = 0;   \
+static void my_GDBusMessageFilterFunction_##A(void* connection, void* message, int incoming, void* data)     \
+{                                       \
+    RunFunction(my_context, my_GDBusMessageFilterFunction_fct_##A, 4, connection, message, incoming, data);\
+}
+SUPER()
+#undef GO
+static void* findGDBusMessageFilterFunctionFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GDBusMessageFilterFunction_fct_##A == (uintptr_t)fct) return my_GDBusMessageFilterFunction_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GDBusMessageFilterFunction_fct_##A == 0) {my_GDBusMessageFilterFunction_fct_##A = (uintptr_t)fct; return my_GDBusMessageFilterFunction_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GDBusMessageFilterFunction callback\n");
+    return NULL;
+}
+
+// GBusNameAppearedCallback
+#define GO(A)   \
+static uintptr_t my_GBusNameAppearedCallback_fct_##A = 0;   \
+static void my_GBusNameAppearedCallback_##A(void* connection, void* name, void* owner, void* data)  \
+{                                       \
+    RunFunction(my_context, my_GBusNameAppearedCallback_fct_##A, 4, connection, name, owner, data); \
+}
+SUPER()
+#undef GO
+static void* findGBusNameAppearedCallbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GBusNameAppearedCallback_fct_##A == (uintptr_t)fct) return my_GBusNameAppearedCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GBusNameAppearedCallback_fct_##A == 0) {my_GBusNameAppearedCallback_fct_##A = (uintptr_t)fct; return my_GBusNameAppearedCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GBusNameAppearedCallback callback\n");
+    return NULL;
+}
+
+// GBusNameVanishedCallback
+#define GO(A)   \
+static uintptr_t my_GBusNameVanishedCallback_fct_##A = 0;   \
+static void my_GBusNameVanishedCallback_##A(void* connection, void* name, void* data)       \
+{                                       \
+    RunFunction(my_context, my_GBusNameVanishedCallback_fct_##A, 3, connection, name, data);\
+}
+SUPER()
+#undef GO
+static void* findGBusNameVanishedCallbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GBusNameVanishedCallback_fct_##A == (uintptr_t)fct) return my_GBusNameVanishedCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GBusNameVanishedCallback_fct_##A == 0) {my_GBusNameVanishedCallback_fct_##A = (uintptr_t)fct; return my_GBusNameVanishedCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GBusNameVanishedCallback callback\n");
+    return NULL;
+}
+
+// GBusAcquiredCallback
+#define GO(A)   \
+static uintptr_t my_GBusAcquiredCallback_fct_##A = 0;   \
+static void my_GBusAcquiredCallback_##A(void* connection, void* name, void* data)       \
+{                                       \
+    RunFunction(my_context, my_GBusAcquiredCallback_fct_##A, 3, connection, name, data);\
+}
+SUPER()
+#undef GO
+static void* findGBusAcquiredCallbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GBusAcquiredCallback_fct_##A == (uintptr_t)fct) return my_GBusAcquiredCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GBusAcquiredCallback_fct_##A == 0) {my_GBusAcquiredCallback_fct_##A = (uintptr_t)fct; return my_GBusAcquiredCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GBusAcquiredCallback callback\n");
+    return NULL;
+}
+
+// GBusNameAcquiredCallback
+#define GO(A)   \
+static uintptr_t my_GBusNameAcquiredCallback_fct_##A = 0;   \
+static void my_GBusNameAcquiredCallback_##A(void* connection, void* name, void* data)       \
+{                                       \
+    RunFunction(my_context, my_GBusNameAcquiredCallback_fct_##A, 3, connection, name, data);\
+}
+SUPER()
+#undef GO
+static void* findGBusNameAcquiredCallbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GBusNameAcquiredCallback_fct_##A == (uintptr_t)fct) return my_GBusNameAcquiredCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GBusNameAcquiredCallback_fct_##A == 0) {my_GBusNameAcquiredCallback_fct_##A = (uintptr_t)fct; return my_GBusNameAcquiredCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GBusNameAcquiredCallback callback\n");
+    return NULL;
+}
+
+// GBusNameLostCallback
+#define GO(A)   \
+static uintptr_t my_GBusNameLostCallback_fct_##A = 0;   \
+static void my_GBusNameLostCallback_##A(void* connection, void* name, void* data)       \
+{                                       \
+    RunFunction(my_context, my_GBusNameLostCallback_fct_##A, 3, connection, name, data);\
+}
+SUPER()
+#undef GO
+static void* findGBusNameLostCallbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GBusNameLostCallback_fct_##A == (uintptr_t)fct) return my_GBusNameLostCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GBusNameLostCallback_fct_##A == 0) {my_GBusNameLostCallback_fct_##A = (uintptr_t)fct; return my_GBusNameLostCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GBusNameLostCallback callback\n");
+    return NULL;
+}
+
+// GDBusInterfaceVTable....
+// First the structure GDBusInterfaceVTable statics, with paired x64 source pointer
+typedef struct my_GDBusInterfaceVTable_s {
+  void      (*method_call)    (void* connection, void* sender, void* object_path, void* interface_name, void* method_name, void* invocation, void* user_data);
+  void*     (*get_property)   (void* connection, void* sender, void* object_path, void* interface_name, void* error, void* user_data);
+  int       (*set_property)   (void* connection, void* sender, void* object_path, void* interface_name, void* value, void* error, void* user_data);
+} my_GDBusInterfaceVTable_t;
+
+#define GO(A) \
+static my_GDBusInterfaceVTable_t     my_GDBusInterfaceVTable_##A = {0};   \
+static my_GDBusInterfaceVTable_t   *ref_GDBusInterfaceVTable_##A = NULL;
+SUPER()
+#undef GO
+// then the static functions callback that may be used with the structure, but dispatch also have a callback...
+#define GO(A)   \
+static uintptr_t fct_funcs_method_call_##A = 0;                   \
+static void my_funcs_method_call_##A(void* connection, void* sender, void* object_path, void* interface_name, void* method_name, void* invocation, void* user_data) {               \
+    RunFunction(my_context, fct_funcs_method_call_##A, 8, connection, sender, object_path, interface_name, method_name, invocation, user_data);                \
+}   \
+static uintptr_t fct_funcs_get_property_##A = 0;                        \
+static void* my_funcs_get_property_##A(void* connection, void* sender, void* object_path, void* interface_name, void* error, void* user_data) {                     \
+    return (void*)RunFunction(my_context, fct_funcs_get_property_##A, 7, connection, sender, object_path, interface_name, error, user_data);                        \
+}   \
+static uintptr_t fct_funcs_set_property_##A = 0;                        \
+static int my_funcs_set_property_##A(void* connection, void* sender, void* object_path, void* interface_name, void* value, void* error, void* user_data) {          \
+    return (int)RunFunction(my_context, fct_funcs_set_property_##A, 8, connection, sender, object_path, interface_name, value, error, user_data);                   \
+}
+
+SUPER()
+#undef GO
+// and now the get slot / assign... Taking into account that the desired callback may already be a wrapped one (so unwrapping it)
+static my_GDBusInterfaceVTable_t* findFreeGDBusInterfaceVTable(my_GDBusInterfaceVTable_t* fcts)
+{
+    if(!fcts) return fcts;
+    #define GO(A) if(ref_GDBusInterfaceVTable_##A == fcts) return &my_GDBusInterfaceVTable_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(ref_GDBusInterfaceVTable_##A == 0) {   \
+        ref_GDBusInterfaceVTable_##A = fcts;                 \
+        my_GDBusInterfaceVTable_##A.method_call = (fcts->method_call)?((GetNativeFnc((uintptr_t)fcts->method_call))?GetNativeFnc((uintptr_t)fcts->method_call):my_funcs_method_call_##A):NULL;    \
+        fct_funcs_method_call_##A = (uintptr_t)fcts->method_call;                            \
+        my_GDBusInterfaceVTable_##A.get_property = (fcts->get_property)?((GetNativeFnc((uintptr_t)fcts->get_property))?GetNativeFnc((uintptr_t)fcts->get_property):my_funcs_get_property_##A):NULL;    \
+        fct_funcs_get_property_##A = (uintptr_t)fcts->get_property;                            \
+        my_GDBusInterfaceVTable_##A.set_property = (fcts->set_property)?((GetNativeFnc((uintptr_t)fcts->set_property))?GetNativeFnc((uintptr_t)fcts->set_property):my_funcs_set_property_##A):NULL;    \
+        fct_funcs_set_property_##A = (uintptr_t)fcts->set_property;                            \
+        return &my_GDBusInterfaceVTable_##A;                \
+    }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gio2 GDBusInterfaceVTable callback\n");
+    return NULL;
+}
+#undef SUPER
+
+EXPORT void my_g_dbus_proxy_new(x64emu_t* emu, void* connection, int flags, void* info, void* name, void* path, void* interface, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_dbus_proxy_new(connection, flags, info, name, path, interface, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_dbus_proxy_new_for_bus(x64emu_t* emu, int bus_type, int flags, void* info, void* name, void* path, void* interface, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_dbus_proxy_new_for_bus(bus_type, flags, info, name, path, interface, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_dbus_proxy_call(x64emu_t* emu, void* proxy, void* name, void* param, int flags, int timeout, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_dbus_proxy_call(proxy, name, param, flags, timeout, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_dbus_proxy_call_with_unix_fd_list(x64emu_t* emu, void* proxy, void* name, void* param, int flags, int timeout, void* fd_list, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_dbus_proxy_call_with_unix_fd_list(proxy, name, param, flags, timeout, fd_list, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void* my_g_dbus_object_manager_client_new_for_bus_sync(x64emu_t* emu, int bus, int flags, void* name, void* path, void* cb, void* data, void* destroy, void* cancellable, void* error)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    return my->g_dbus_object_manager_client_new_for_bus_sync(bus, flags, name, path, findGDBusProxyTypeFuncFct(cb), data, findGDestroyNotifyFct(destroy), cancellable, error);
+}
+
+EXPORT void* my_g_simple_async_result_new(x64emu_t* emu, void* source, void* cb, void* data, void* tag)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    return my->g_simple_async_result_new(source, findGAsyncReadyCallbackFct(cb), data, tag);
+}
+
+EXPORT void* my_g_simple_async_result_new_error(x64emu_t* emu, void* source, void* cb, void* data, uint32_t domain, int code, void* fmt, va_list b)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    char* tmp;
+    int dummy = vasprintf(&tmp, fmt, b);
+    (void)dummy;
+    void* ret = my->g_simple_async_result_new_error(source, findGAsyncReadyCallbackFct(cb), data, domain, code, tmp);
+    free(tmp);
+    return ret;
+}
+
+EXPORT void* my_g_simple_async_result_new_from_error(x64emu_t* emu, void* source, void* cb, void* data, void* error)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    return my->g_simple_async_result_new_from_error(source, findGAsyncReadyCallbackFct(cb), data, error);
+}
+
+EXPORT void* my_g_simple_async_result_new_take_error(x64emu_t* emu, void* source, void* cb, void* data, void* error)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    return my->g_simple_async_result_new_take_error(source, findGAsyncReadyCallbackFct(cb), data, error);
+}
+
+EXPORT void my_g_simple_async_result_set_op_res_gpointer(x64emu_t* emu, void* simple, void* op, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_simple_async_result_set_op_res_gpointer(simple, op, findGDestroyNotifyFct(notify));
+}
+
+EXPORT void my_g_simple_async_result_run_in_thread(x64emu_t* emu, void* simple, void* fnc, int priority, void* cancellable)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    return my->g_simple_async_result_run_in_thread(simple, findGSimpleAsyncThreadFuncFct(fnc), priority, cancellable);
+}
+
+EXPORT void my_g_simple_async_report_error_in_idle(x64emu_t* emu, void* object, void* cb, void* data, uint32_t domain, int code, void* fmt, va_list b)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    char* tmp;
+    int dummy = vasprintf(&tmp, fmt, b);
+    (void)dummy;
+    my->g_simple_async_report_error_in_idle(object, findGAsyncReadyCallbackFct(cb), data, domain, code, tmp);
+    free(tmp);
+}
+
+EXPORT void my_g_simple_async_report_gerror_in_idle(x64emu_t* emu, void* object, void* cb, void* data, void* error)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_simple_async_report_gerror_in_idle(object, findGAsyncReadyCallbackFct(cb), data, error);
+}
+
+EXPORT void my_g_simple_async_report_take_gerror_in_idle(x64emu_t* emu, void* object, void* cb, void* data, void* error)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_simple_async_report_take_gerror_in_idle(object, findGAsyncReadyCallbackFct(cb), data, error);
+}
+
+EXPORT unsigned long my_g_cancellable_connect(x64emu_t* emu, void* cancellable, void* cb, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    return my->g_cancellable_connect(cancellable, findGCallbackFct(cb), data, findGDestroyNotifyFct(notify));
+}
+
+EXPORT void my_g_async_initable_init_async(x64emu_t* emu, void* initable, int priority, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_async_initable_init_async(initable, priority, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_async_initable_new_valist_async(x64emu_t* emu, int type, void* first, x64_va_list_t var_args, int priority, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    CONVERT_VALIST(var_args);
+    my->g_async_initable_new_valist_async(type, first, VARARGS, priority, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_async_initable_new_async(x64emu_t* emu, int type, int priority, void* cancellable, void* cb, void* data, void* first, uintptr_t* V)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    CREATE_VALIST_FROM_VAARG(V, emu->scratch, 6);
+    my->g_async_initable_new_valist_async(type, first, VARARGS, priority, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_async_initable_newv_async(x64emu_t* emu, int type, uint32_t n, void* params, int priority, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_async_initable_newv_async(type, n, params, priority, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_bus_get(x64emu_t* emu, int type, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_bus_get(type, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_dbus_connection_new(x64emu_t* emu, void* stream, void* guid, int flags, void* observer, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_dbus_connection_new(stream, guid, flags, observer, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_dbus_connection_new_for_address(x64emu_t* emu, void* address, int flags, void* observer, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_dbus_connection_new_for_address(address, flags, observer, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_dbus_connection_close(x64emu_t* emu, void* connection, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_dbus_connection_close(connection, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_dbus_connection_flush(x64emu_t* emu, void* connection, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_dbus_connection_flush(connection, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_dbus_connection_call(x64emu_t* emu, void* connection, void* bus, void* object, void* interface, void* method, void* param, void* reply, int flags, int timeout, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_dbus_connection_call(connection, bus, object, interface, method, param, reply, flags, timeout, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT uint32_t my_g_dbus_connection_signal_subscribe(x64emu_t* emu, void* connection, void* sender, void* interface, void* member, void* object, void* arg0, int flags, void* cb, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    return my->g_dbus_connection_signal_subscribe(connection, sender, interface, member, object, arg0, flags, findGDBusSignalCallbackFct(cb), data, findGDestroyNotifyFct(notify));
+}
+
+EXPORT void my_g_dbus_connection_send_message_with_reply(x64emu_t* emu, void* connection, void* message, int flags, int timeout, void* serial, void* cancellable, void* cb, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    my->g_dbus_connection_send_message_with_reply(connection, message, flags, timeout, serial, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT uint32_t my_g_dbus_connection_add_filter(x64emu_t* emu, void* connection, void* cb, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    return my->g_dbus_connection_add_filter(connection, findGDBusMessageFilterFunctionFct(cb), data, findGDestroyNotifyFct(notify));
+}
+
+EXPORT uint32_t my_g_dbus_connection_register_object(x64emu_t* emu, void* connection, void* object, void* info, my_GDBusInterfaceVTable_t* vtable, void* data, void* notify, void* error)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    return my->g_dbus_connection_register_object(connection, object, info, findFreeGDBusInterfaceVTable(vtable), data, findGDestroyNotifyFct(notify), error);
+}
+
+EXPORT uint32_t my_g_bus_watch_name(x64emu_t* emu, int type, void* name, int flags, void* appeared, void* vanished, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+    // note that a mecanism with a new callback, cleaned with notify, is also possible here
+    return my->g_bus_watch_name(type, name, flags, findGBusNameAppearedCallbackFct(appeared), findGBusNameVanishedCallbackFct(vanished), data, findGDestroyNotifyFct(notify));
+}
+
+EXPORT uint32_t my_g_bus_watch_name_on_connection(x64emu_t* emu, void* connection, void* name, int flags, void* appeared, void* vanished, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+    // note that a mecanism with a new callback, cleaned with notify, is also possible here
+    return my->g_bus_watch_name_on_connection(connection, name, flags, findGBusNameAppearedCallbackFct(appeared), findGBusNameVanishedCallbackFct(vanished), data, findGDestroyNotifyFct(notify));
+}
+
+EXPORT uint32_t my_g_bus_own_name(x64emu_t* emu, int type, void* name, int flags, void* bus_acquired, void* name_acquired, void* name_lost, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+    // note that a mecanism with a new callback, cleaned with notify, is also possible here
+    return my->g_bus_own_name(type, name, flags, findGBusAcquiredCallbackFct(bus_acquired), findGBusNameAcquiredCallbackFct(name_acquired), findGBusNameLostCallbackFct(name_lost), data, findGDestroyNotifyFct(notify));
+}
+
+EXPORT uint32_t my_g_bus_own_name_on_connection(x64emu_t* emu, void* connection, void* name, int flags, void* name_acquired, void* name_lost, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+    // note that a mecanism with a new callback, cleaned with notify, is also possible here
+    return my->g_bus_own_name_on_connection(connection, name, flags, findGBusNameAcquiredCallbackFct(name_acquired), findGBusNameLostCallbackFct(name_lost), data, findGDestroyNotifyFct(notify));
+}
+
+#define PRE_INIT    \
+    if(box64_nogtk) \
+        return -1;
+
+#define CUSTOM_INIT \
+    libname = lib->name;                \
+    lib->priv.w.p2 = getGio2My(lib);   \
+    lib->priv.w.needed = 1;             \
+    lib->priv.w.neededlibs = (char**)calloc(lib->priv.w.needed, sizeof(char*)); \
+    lib->priv.w.neededlibs[0] = strdup("libgmodule-2.0.so.0");
+
+#define CUSTOM_FINI \
+    freeGio2My(lib->priv.w.p2); \
+    free(lib->priv.w.p2);
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedgio2_private.h b/src/wrapped/wrappedgio2_private.h
new file mode 100755
index 00000000..957b95e7
--- /dev/null
+++ b/src/wrapped/wrappedgio2_private.h
@@ -0,0 +1,1889 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(_fini, 
+//GO(g_action_activate, 
+//GO(g_action_change_state, 
+//GO(g_action_get_enabled, 
+//GO(g_action_get_name, 
+//GO(g_action_get_parameter_type, 
+//GO(g_action_get_state, 
+//GO(g_action_get_state_hint, 
+//GO(g_action_get_state_type, 
+//GO(g_action_get_type, 
+//GO(g_action_group_action_added, 
+//GO(g_action_group_action_enabled_changed, 
+//GO(g_action_group_action_removed, 
+//GO(g_action_group_action_state_changed, 
+//GO(g_action_group_activate_action, 
+//GO(g_action_group_change_action_state, 
+//GO(g_action_group_get_action_enabled, 
+//GO(g_action_group_get_action_parameter_type, 
+//GO(g_action_group_get_action_state, 
+//GO(g_action_group_get_action_state_hint, 
+//GO(g_action_group_get_action_state_type, 
+//GO(g_action_group_get_type, 
+//GO(g_action_group_has_action, 
+//GO(g_action_group_list_actions, 
+//GO(g_action_group_query_action, 
+//GO(g_action_map_add_action, 
+//GO(g_action_map_add_action_entries, 
+//GO(g_action_map_get_type, 
+//GO(g_action_map_lookup_action, 
+//GO(g_action_map_remove_action, 
+//GO(g_action_name_is_valid, 
+//GO(g_action_parse_detailed_name, 
+//GO(g_action_print_detailed_name, 
+GO(g_app_info_add_supports_type, iFppp)
+GO(g_app_info_can_delete, iFp)
+GO(g_app_info_can_remove_supports_type, iFp)
+GO(g_app_info_create_flags_get_type, iFv)
+GO(g_app_info_create_from_commandline, pFppup)
+GO(g_app_info_delete, iFp)
+GO(g_app_info_dup, pFp)
+GO(g_app_info_equal, iFpp)
+GO(g_app_info_get_all, pFv)
+GO(g_app_info_get_all_for_type, pFp)
+GO(g_app_info_get_commandline, pFp)
+GO(g_app_info_get_default_for_type, pFpp)
+GO(g_app_info_get_default_for_uri_scheme, pFp)
+GO(g_app_info_get_description, pFp)
+GO(g_app_info_get_display_name, pFp)
+GO(g_app_info_get_executable, pFp)
+GO(g_app_info_get_fallback_for_type, pFp)
+GO(g_app_info_get_icon, pFp)
+GO(g_app_info_get_id, pFp)
+GO(g_app_info_get_name, pFp)
+GO(g_app_info_get_recommended_for_type, pFp)
+GO(g_app_info_get_supported_types, pFp)
+GO(g_app_info_get_type, iFv)
+GO(g_app_info_launch, iFpppp)
+GO(g_app_info_launch_default_for_uri, iFppp)
+GO(g_app_info_launch_uris, iFpppp)
+//GO(g_app_info_monitor_get, 
+GO(g_app_info_monitor_get_type, iFv)
+GO(g_app_info_remove_supports_type, iFppp)
+GO(g_app_info_reset_type_associations, vFp)
+GO(g_app_info_set_as_default_for_extension, iFppp)
+GO(g_app_info_set_as_default_for_type, iFppp)
+GO(g_app_info_set_as_last_used_for_type, iFppp)
+GO(g_app_info_should_show, iFp)
+GO(g_app_info_supports_files, iFp)
+GO(g_app_info_supports_uris, iFp)
+//GO(g_app_launch_context_get_display, 
+//GO(g_app_launch_context_get_environment, 
+//GO(g_app_launch_context_get_startup_notify_id, 
+GO(g_app_launch_context_get_type, iFv)
+//GO(g_app_launch_context_launch_failed, 
+//GO(g_app_launch_context_new, 
+//GO(g_app_launch_context_setenv, 
+//GO(g_app_launch_context_unsetenv, 
+//GO(g_application_activate, 
+//GO(g_application_add_main_option, 
+//GO(g_application_add_main_option_entries, 
+//GO(g_application_add_option_group, 
+//GO(g_application_command_line_create_file_for_arg, 
+//GO(g_application_command_line_get_arguments, 
+//GO(g_application_command_line_get_cwd, 
+//GO(g_application_command_line_getenv, 
+//GO(g_application_command_line_get_environ, 
+//GO(g_application_command_line_get_exit_status, 
+//GO(g_application_command_line_get_is_remote, 
+//GO(g_application_command_line_get_options_dict, 
+//GO(g_application_command_line_get_platform_data, 
+//GO(g_application_command_line_get_stdin, 
+//GO(g_application_command_line_get_type, 
+//GO(g_application_command_line_print, 
+//GO(g_application_command_line_printerr, 
+//GO(g_application_command_line_set_exit_status, 
+//GO(g_application_flags_get_type, 
+//GO(g_application_get_application_id, 
+//GO(g_application_get_dbus_connection, 
+//GO(g_application_get_dbus_object_path, 
+//GO(g_application_get_default, 
+//GO(g_application_get_flags, 
+//GO(g_application_get_inactivity_timeout, 
+//GO(g_application_get_is_registered, 
+//GO(g_application_get_is_remote, 
+//GO(g_application_get_resource_base_path, 
+//GO(g_application_get_type, 
+//GO(g_application_hold, 
+//GO(g_application_id_is_valid, 
+//GO(g_application_mark_busy, 
+//GO(g_application_new, 
+//GO(g_application_open, 
+//GO(g_application_quit, 
+//GO(g_application_register, 
+//GO(g_application_release, 
+//GO(g_application_run, 
+//GO(g_application_send_notification, 
+//GO(g_application_set_action_group, 
+//GO(g_application_set_application_id, 
+//GO(g_application_set_default, 
+//GO(g_application_set_flags, 
+//GO(g_application_set_inactivity_timeout, 
+//GO(g_application_set_resource_base_path, 
+//GO(g_application_unmark_busy, 
+//GO(g_application_withdraw_notification, 
+//GO(g_ask_password_flags_get_type, 
+GO(g_async_initable_get_type, iFv)
+GOM(g_async_initable_init_async, vFEpippp)
+GO(g_async_initable_init_finish, iFppp)
+GOM(g_async_initable_new_async, vFEiippppV)
+GO(g_async_initable_new_finish, pFppp)
+GOM(g_async_initable_new_valist_async, vFEippippp)
+GOM(g_async_initable_newv_async, vFEiupippp)
+//GO(g_async_result_get_source_object, 
+//GO(g_async_result_get_type, 
+//GO(g_async_result_get_user_data, 
+//GO(g_async_result_is_tagged, 
+//GO(g_async_result_legacy_propagate_error, 
+//GO(g_buffered_input_stream_fill, 
+//GO(g_buffered_input_stream_fill_async, 
+//GO(g_buffered_input_stream_fill_finish, 
+//GO(g_buffered_input_stream_get_available, 
+//GO(g_buffered_input_stream_get_buffer_size, 
+//GO(g_buffered_input_stream_get_type, 
+//GO(g_buffered_input_stream_new, 
+//GO(g_buffered_input_stream_new_sized, 
+//GO(g_buffered_input_stream_peek, 
+//GO(g_buffered_input_stream_peek_buffer, 
+//GO(g_buffered_input_stream_read_byte, 
+//GO(g_buffered_input_stream_set_buffer_size, 
+//GO(g_buffered_output_stream_get_auto_grow, 
+//GO(g_buffered_output_stream_get_buffer_size, 
+//GO(g_buffered_output_stream_get_type, 
+//GO(g_buffered_output_stream_new, 
+//GO(g_buffered_output_stream_new_sized, 
+//GO(g_buffered_output_stream_set_auto_grow, 
+//GO(g_buffered_output_stream_set_buffer_size, 
+GOM(g_bus_get, vFEippp)
+GO(g_bus_get_finish, pFpp)
+GO(g_bus_get_sync, pFipp)
+GO(g_bus_name_owner_flags_get_type, iFv)
+GO(g_bus_name_watcher_flags_get_type, iFv)
+GOM(g_bus_own_name, uFEipippppp)
+GOM(g_bus_own_name_on_connection, uFEppipppp)
+GO(g_bus_own_name_on_connection_with_closures, uFppipp)
+GO(g_bus_own_name_with_closures, uFppippp)
+GO(g_bus_type_get_type, iFv)
+GO(g_bus_unown_name, vFu)
+GO(g_bus_unwatch_name, vFu)
+GOM(g_bus_watch_name, uFEipipppp)
+GOM(g_bus_watch_name_on_connection, uFEppipppp)
+GO(g_bus_watch_name_on_connection_with_closures, uFppipp)   // mmm closure, wrapped or unwrapped?
+GO(g_bus_watch_name_with_closures, uFipipp)
+//GO(g_bytes_icon_get_bytes, 
+//GO(g_bytes_icon_get_type, 
+//GO(g_bytes_icon_new, 
+GO(g_cancellable_cancel, vFp)
+GOM(g_cancellable_connect, LFEpppp)
+GO(g_cancellable_disconnect, vFpL)
+GO(g_cancellable_get_current, pFv)
+GO(g_cancellable_get_fd, iFp)
+GO(g_cancellable_get_type, iFv)
+GO(g_cancellable_is_cancelled, iFp)
+GO(g_cancellable_make_pollfd, iFpp)
+GO(g_cancellable_new, pFv)
+GO(g_cancellable_pop_current, vFp)
+GO(g_cancellable_push_current, vFp)
+GO(g_cancellable_release_fd, vFp)
+GO(g_cancellable_reset, vFp)
+GO(g_cancellable_set_error_if_cancelled, iFpp)
+GO(g_cancellable_source_new, pFp)
+//GO(g_charset_converter_get_num_fallbacks, 
+GO(g_charset_converter_get_type, iFv)
+//GO(g_charset_converter_get_use_fallback, 
+//GO(g_charset_converter_new, 
+//GO(g_charset_converter_set_use_fallback, 
+GO(g_content_type_can_be_executable, iFp)
+GO(g_content_type_equals, iFpp)
+GO(g_content_type_from_mime_type, pFp)
+GO(g_content_type_get_description, pFp)
+GO(g_content_type_get_generic_icon_name, pFp)
+GO(g_content_type_get_icon, pFp)
+GO(g_content_type_get_mime_type, pFp)
+GO(g_content_type_get_symbolic_icon, pFp)
+GO(g_content_type_guess, pFppLp)
+GO(g_content_type_guess_for_tree, pFp)
+GO(g_content_type_is_a, iFpp)
+GO(g_content_type_is_unknown, iFp)
+GO(g_content_types_get_registered, pFv)
+//GO(g_converter_convert, 
+//GO(g_converter_flags_get_type, 
+//GO(g_converter_get_type, 
+//GO(g_converter_input_stream_get_converter, 
+//GO(g_converter_input_stream_get_type, 
+//GO(g_converter_input_stream_new, 
+//GO(g_converter_output_stream_get_converter, 
+//GO(g_converter_output_stream_get_type, 
+//GO(g_converter_output_stream_new, 
+//GO(g_converter_reset, 
+//GO(g_converter_result_get_type, 
+//GO(g_credentials_get_native, 
+//GO(g_credentials_get_type, 
+//GO(g_credentials_get_unix_pid, 
+//GO(g_credentials_get_unix_user, 
+//GO(g_credentials_is_same_user, 
+//GO(g_credentials_new, 
+//GO(g_credentials_set_native, 
+//GO(g_credentials_set_unix_user, 
+//GO(g_credentials_to_string, 
+//GO(g_credentials_type_get_type, 
+//GO(g_data_input_stream_get_byte_order, 
+//GO(g_data_input_stream_get_newline_type, 
+//GO(g_data_input_stream_get_type, 
+//GO(g_data_input_stream_new, 
+//GO(g_data_input_stream_read_byte, 
+//GO(g_data_input_stream_read_int16, 
+//GO(g_data_input_stream_read_int32, 
+//GO(g_data_input_stream_read_int64, 
+//GO(g_data_input_stream_read_line, 
+//GO(g_data_input_stream_read_line_async, 
+//GO(g_data_input_stream_read_line_finish, 
+//GO(g_data_input_stream_read_line_finish_utf8, 
+//GO(g_data_input_stream_read_line_utf8, 
+//GO(g_data_input_stream_read_uint16, 
+//GO(g_data_input_stream_read_uint32, 
+//GO(g_data_input_stream_read_uint64, 
+//GO(g_data_input_stream_read_until, 
+//GO(g_data_input_stream_read_until_async, 
+//GO(g_data_input_stream_read_until_finish, 
+//GO(g_data_input_stream_read_upto, 
+//GO(g_data_input_stream_read_upto_async, 
+//GO(g_data_input_stream_read_upto_finish, 
+//GO(g_data_input_stream_set_byte_order, 
+//GO(g_data_input_stream_set_newline_type, 
+//GO(g_data_output_stream_get_byte_order, 
+//GO(g_data_output_stream_get_type, 
+//GO(g_data_output_stream_new, 
+//GO(g_data_output_stream_put_byte, 
+//GO(g_data_output_stream_put_int16, 
+//GO(g_data_output_stream_put_int32, 
+//GO(g_data_output_stream_put_int64, 
+//GO(g_data_output_stream_put_string, 
+//GO(g_data_output_stream_put_uint16, 
+//GO(g_data_output_stream_put_uint32, 
+//GO(g_data_output_stream_put_uint64, 
+//GO(g_data_output_stream_set_byte_order, 
+//GO(g_data_stream_byte_order_get_type, 
+//GO(g_data_stream_newline_type_get_type, 
+//GO(g_dbus_action_group_get, 
+//GO(g_dbus_action_group_get_type, 
+//GO(g_dbus_address_escape_value, 
+//GO(g_dbus_address_get_for_bus_sync, 
+//GO(g_dbus_address_get_stream, 
+//GO(g_dbus_address_get_stream_finish, 
+//GO(g_dbus_address_get_stream_sync, 
+GO(g_dbus_annotation_info_get_type, iFv)
+GO(g_dbus_annotation_info_lookup, pFpp)
+GO(g_dbus_annotation_info_ref, pFp)
+GO(g_dbus_annotation_info_unref, vFp)
+GO(g_dbus_arg_info_get_type, iFv)
+GO(g_dbus_arg_info_ref, pFp)
+GO(g_dbus_arg_info_unref, vFp)
+//GO(g_dbus_auth_observer_allow_mechanism, 
+//GO(g_dbus_auth_observer_authorize_authenticated_peer, 
+//GO(g_dbus_auth_observer_get_type, 
+//GO(g_dbus_auth_observer_new, 
+GO(g_dbus_call_flags_get_type, iFv)
+GO(g_dbus_capability_flags_get_type, iFv)
+GOM(g_dbus_connection_add_filter, uFEpppp)
+GOM(g_dbus_connection_call, vFEpppppppiippp)
+GO(g_dbus_connection_call_finish, pFppp)
+GO(g_dbus_connection_call_sync, pFpppppppiipp)
+//GO(g_dbus_connection_call_with_unix_fd_list, 
+//GO(g_dbus_connection_call_with_unix_fd_list_finish, 
+//GO(g_dbus_connection_call_with_unix_fd_list_sync, 
+GOM(g_dbus_connection_close, vFEpppp)
+GO(g_dbus_connection_close_finish, iFppp)
+GO(g_dbus_connection_close_sync, iFppp)
+GO(g_dbus_connection_emit_signal, iFppppppp)
+//GO(g_dbus_connection_export_action_group, 
+//GO(g_dbus_connection_export_menu_model, 
+GO(g_dbus_connection_flags_get_type, iFv)
+GOM(g_dbus_connection_flush, vFEpppp)
+GO(g_dbus_connection_flush_finish, iFppp)
+GO(g_dbus_connection_flush_sync, iFppp)
+GO(g_dbus_connection_get_capabilities, iFp)
+GO(g_dbus_connection_get_exit_on_close, iFp)
+GO(g_dbus_connection_get_guid, pFp)
+GO(g_dbus_connection_get_last_serial, uFp)
+GO(g_dbus_connection_get_peer_credentials, pFp)
+GO(g_dbus_connection_get_stream, pFp)
+GO(g_dbus_connection_get_type, iFv)
+GO(g_dbus_connection_get_unique_name, pFp)
+GO(g_dbus_connection_is_closed, iFp)
+GOM(g_dbus_connection_new, vFEppipppp)
+GO(g_dbus_connection_new_finish, pFpp)
+GOM(g_dbus_connection_new_for_address, vFEpipppp)
+GO(g_dbus_connection_new_for_address_finish, pFpp)
+GO(g_dbus_connection_new_for_address_sync, pFpippp)
+GO(g_dbus_connection_new_sync, pFppippp)
+GOM(g_dbus_connection_register_object, uFEppppppp)
+//GOM(g_dbus_connection_register_subtree, uFEppppppp)   // vtable need wrapping
+GO(g_dbus_connection_remove_filter, vFpu)
+GO(g_dbus_connection_send_message, iFppipp)     //TODO: there is an argument as "volatile".. does that change anything???
+GOM(g_dbus_connection_send_message_with_reply, vFEppiipppp) //TODO: same volatile argument...
+GO(g_dbus_connection_send_message_with_reply_finish, pFppp)
+GO(g_dbus_connection_send_message_with_reply_sync, pFppiippp)   //TODO: same volatile
+GO(g_dbus_connection_set_exit_on_close, vFpi)
+GOM(g_dbus_connection_signal_subscribe, uFEppppppippp)
+GO(g_dbus_connection_signal_unsubscribe, vFpu)
+GO(g_dbus_connection_start_message_processing, vFp)
+//GO(g_dbus_connection_unexport_action_group, 
+//GO(g_dbus_connection_unexport_menu_model, 
+GO(g_dbus_connection_unregister_object, iFpu)
+GO(g_dbus_connection_unregister_subtree, iFpu)
+//GO(g_dbus_error_encode_gerror, 
+//GO(g_dbus_error_get_remote_error, 
+//GO(g_dbus_error_get_type, 
+//GO(g_dbus_error_is_remote_error, 
+//GO(g_dbus_error_new_for_dbus_error, 
+//GO(g_dbus_error_quark, 
+//GO(g_dbus_error_register_error, 
+//GO(g_dbus_error_register_error_domain, 
+//GO(g_dbus_error_set_dbus_error, 
+//GO(g_dbus_error_set_dbus_error_valist, 
+//GO(g_dbus_error_strip_remote_error, 
+//GO(g_dbus_error_unregister_error, 
+GO(g_dbus_generate_guid, pFv)
+GO(g_dbus_gvalue_to_gvariant, pFpp)
+GO(g_dbus_gvariant_to_gvalue, vFpp)
+//GO(g_dbus_interface_dup_object, 
+//GO(g_dbus_interface_get_info, 
+//GO(g_dbus_interface_get_object, 
+//GO(g_dbus_interface_get_type, 
+GO(g_dbus_interface_info_cache_build, vFp)
+GO(g_dbus_interface_info_cache_release, vFp)
+GO(g_dbus_interface_info_generate_xml, vFpup)
+GO(g_dbus_interface_info_get_type, iFv)
+GO(g_dbus_interface_info_lookup_method, pFpp)
+GO(g_dbus_interface_info_lookup_property, pFpp)
+GO(g_dbus_interface_info_lookup_signal, pFpp)
+GO(g_dbus_interface_info_ref, pFp)
+GO(g_dbus_interface_info_unref, vFp)
+//GO(g_dbus_interface_set_object, 
+//GO(g_dbus_interface_skeleton_export, 
+//GO(g_dbus_interface_skeleton_flags_get_type, 
+//GO(g_dbus_interface_skeleton_flush, 
+//GO(g_dbus_interface_skeleton_get_connection, 
+//GO(g_dbus_interface_skeleton_get_connections, 
+//GO(g_dbus_interface_skeleton_get_flags, 
+//GO(g_dbus_interface_skeleton_get_info, 
+//GO(g_dbus_interface_skeleton_get_object_path, 
+//GO(g_dbus_interface_skeleton_get_properties, 
+//GO(g_dbus_interface_skeleton_get_type, 
+//GO(g_dbus_interface_skeleton_get_vtable, 
+//GO(g_dbus_interface_skeleton_has_connection, 
+//GO(g_dbus_interface_skeleton_set_flags, 
+//GO(g_dbus_interface_skeleton_unexport, 
+//GO(g_dbus_interface_skeleton_unexport_from_connection, 
+GO(g_dbus_is_address, iFp)
+GO(g_dbus_is_guid, iFp)
+GO(g_dbus_is_interface_name, iFp)
+GO(g_dbus_is_member_name, iFp)
+GO(g_dbus_is_name, iFp)
+GO(g_dbus_is_supported_address, iFpp)
+GO(g_dbus_is_unique_name, iFp)
+GO(g_dbus_menu_model_get, pFppp)
+GO(g_dbus_menu_model_get_type, iFv)
+GO(g_dbus_message_byte_order_get_type, iFv)
+GO(g_dbus_message_bytes_needed, lFpLp)
+GO(g_dbus_message_copy, pFpp)
+GO(g_dbus_message_flags_get_type, iFv)
+GO(g_dbus_message_get_arg0, pFp)
+GO(g_dbus_message_get_body, pFp)
+GO(g_dbus_message_get_byte_order, iFp)
+GO(g_dbus_message_get_destination, pFp)
+GO(g_dbus_message_get_error_name, pFp)
+GO(g_dbus_message_get_flags, iFp)
+GO(g_dbus_message_get_header, pFpi)
+GO(g_dbus_message_get_header_fields, pFp)
+GO(g_dbus_message_get_interface, pFp)
+GO(g_dbus_message_get_locked, iFp)
+GO(g_dbus_message_get_member, pFp)
+GO(g_dbus_message_get_message_type, iFp)
+GO(g_dbus_message_get_num_unix_fds, uFp)
+GO(g_dbus_message_get_path, pFp)
+GO(g_dbus_message_get_reply_serial, uFp)
+GO(g_dbus_message_get_sender, pFp)
+GO(g_dbus_message_get_serial, uFp)
+GO(g_dbus_message_get_signature, pFp)
+GO(g_dbus_message_get_type, iFv)
+GO(g_dbus_message_get_unix_fd_list, pFp)
+GO(g_dbus_message_header_field_get_type, iFv)
+GO(g_dbus_message_lock, vFp)
+GO(g_dbus_message_new, pFv)
+GO(g_dbus_message_new_from_blob, pFpLip)
+GO(g_dbus_message_new_method_call, pFpppp)
+//GO2(g_dbus_message_new_method_error, pFpppV, g_dbus_message_new_method_error_valist)
+GO(g_dbus_message_new_method_error_literal, pFppp)
+//GO(g_dbus_message_new_method_error_valist, pFpppp)
+GO(g_dbus_message_new_method_reply, pFp)
+GO(g_dbus_message_new_signal, pFppp)
+GO(g_dbus_message_print, pFpu)
+GO(g_dbus_message_set_body, vFpp)
+GO(g_dbus_message_set_byte_order, iFp)
+GO(g_dbus_message_set_destination, vFpp)
+GO(g_dbus_message_set_error_name, vFpp)
+GO(g_dbus_message_set_flags, vFpi)
+GO(g_dbus_message_set_header, vFpip)
+GO(g_dbus_message_set_interface, vFpp)
+GO(g_dbus_message_set_member, vFpp)
+GO(g_dbus_message_set_message_type, vFpi)
+GO(g_dbus_message_set_num_unix_fds, vFpu)
+GO(g_dbus_message_set_path, vFpp)
+GO(g_dbus_message_set_reply_serial, vFpu)
+GO(g_dbus_message_set_sender, vFpp)
+GO(g_dbus_message_set_serial, vFpu)
+GO(g_dbus_message_set_signature, vFpp)
+GO(g_dbus_message_set_unix_fd_list, vFpp)
+GO(g_dbus_message_to_blob, pFppip)
+GO(g_dbus_message_to_gerror, iFpp)
+GO(g_dbus_message_type_get_type, iFv)
+GO(g_dbus_method_info_get_type, iFv)
+GO(g_dbus_method_info_ref, pFp)
+GO(g_dbus_method_info_unref, vFp)
+GO(g_dbus_method_invocation_get_connection, pFp)
+GO(g_dbus_method_invocation_get_interface_name, pFp)
+GO(g_dbus_method_invocation_get_message, pFp)
+GO(g_dbus_method_invocation_get_method_info, pFp)
+GO(g_dbus_method_invocation_get_method_name, pFp)
+GO(g_dbus_method_invocation_get_object_path, pFp)
+GO(g_dbus_method_invocation_get_parameters, pFp)
+GO(g_dbus_method_invocation_get_property_info, pFp)
+GO(g_dbus_method_invocation_get_sender, pFp)
+GO(g_dbus_method_invocation_get_type, iFv)
+GO(g_dbus_method_invocation_get_user_data, pFp)
+GO(g_dbus_method_invocation_return_dbus_error, vFppp)
+//GO2(g_dbus_method_invocation_return_error, vFpuipV, g_dbus_method_invocation_return_error_valist)
+GO(g_dbus_method_invocation_return_error_literal, vFpuip)
+//GO(g_dbus_method_invocation_return_error_valist, vFpuipp)
+GO(g_dbus_method_invocation_return_gerror, vFpp)
+GO(g_dbus_method_invocation_return_value, vFpp)
+GO(g_dbus_method_invocation_return_value_with_unix_fd_list, vFppp)
+GO(g_dbus_method_invocation_take_error, vFpp)
+GO(g_dbus_node_info_generate_xml, vFpup)
+GO(g_dbus_node_info_get_type, iFv)
+GO(g_dbus_node_info_lookup_interface, pFpp)
+GO(g_dbus_node_info_new_for_xml, pFpp)
+GO(g_dbus_node_info_ref, pFp)
+GO(g_dbus_node_info_unref, vFp)
+GO(g_dbus_object_get_interface, pFpp)
+GO(g_dbus_object_get_interfaces, pFp)
+GO(g_dbus_object_get_object_path, pFp)
+GO(g_dbus_object_get_type, iFv)
+GO(g_dbus_object_manager_client_flags_get_type, iFv)
+GO(g_dbus_object_manager_client_get_connection, pFp)
+GO(g_dbus_object_manager_client_get_flags, iFp)
+GO(g_dbus_object_manager_client_get_name, pFp)
+GO(g_dbus_object_manager_client_get_name_owner, pFp)
+GO(g_dbus_object_manager_client_get_type, iFv)
+//GOM(g_dbus_object_manager_client_new, 
+GO(g_dbus_object_manager_client_new_finish, pFpp)
+//GOM(g_dbus_object_manager_client_new_for_bus, 
+GO(g_dbus_object_manager_client_new_for_bus_finish, pFpp)
+GOM(g_dbus_object_manager_client_new_for_bus_sync, pFEiippppppp)
+//GOM(g_dbus_object_manager_client_new_sync, 
+//GOM(g_dbus_object_manager_get_interface, pFEppp)  //struct GDBusObjectManagerIface is full of callbacks
+GO(g_dbus_object_manager_get_object, pFpp)
+GO(g_dbus_object_manager_get_object_path, pFp)
+GO(g_dbus_object_manager_get_objects, pFp)
+//GO(g_dbus_object_manager_get_type, 
+//GO(g_dbus_object_manager_server_export, 
+//GO(g_dbus_object_manager_server_export_uniquely, 
+//GO(g_dbus_object_manager_server_get_connection, 
+//GO(g_dbus_object_manager_server_get_type, 
+//GO(g_dbus_object_manager_server_is_exported, 
+//GO(g_dbus_object_manager_server_new, 
+//GO(g_dbus_object_manager_server_set_connection, 
+//GO(g_dbus_object_manager_server_unexport, 
+//GO(g_dbus_object_proxy_get_connection, 
+//GO(g_dbus_object_proxy_get_type, 
+//GO(g_dbus_object_proxy_new, 
+//GO(g_dbus_object_skeleton_add_interface, 
+//GO(g_dbus_object_skeleton_flush, 
+//GO(g_dbus_object_skeleton_get_type, 
+//GO(g_dbus_object_skeleton_new, 
+//GO(g_dbus_object_skeleton_remove_interface, 
+//GO(g_dbus_object_skeleton_remove_interface_by_name, 
+//GO(g_dbus_object_skeleton_set_object_path, 
+//GO(g_dbus_property_info_flags_get_type, 
+GO(g_dbus_property_info_get_type, iFv)
+GO(g_dbus_property_info_ref, pFp)
+GO(g_dbus_property_info_unref, vFp)
+GOM(g_dbus_proxy_call, vFEpppiippp)
+GO(g_dbus_proxy_call_finish, pFppp)
+GO(g_dbus_proxy_call_sync, pFpppiipp)
+GOM(g_dbus_proxy_call_with_unix_fd_list, vFEpppiipppp)
+GO(g_dbus_proxy_call_with_unix_fd_list_finish, pFpppp)
+GO(g_dbus_proxy_call_with_unix_fd_list_sync, pFpppiipppp)
+GO(g_dbus_proxy_flags_get_type, iFv)
+GO(g_dbus_proxy_get_cached_property, pFpp)
+GO(g_dbus_proxy_get_cached_property_names, pFp)
+GO(g_dbus_proxy_get_connection, pFp)
+GO(g_dbus_proxy_get_default_timeout, iFp)
+GO(g_dbus_proxy_get_flags, iFp)
+GO(g_dbus_proxy_get_interface_info, pFp)
+GO(g_dbus_proxy_get_interface_name, pFp)
+GO(g_dbus_proxy_get_name, pFp)
+GO(g_dbus_proxy_get_name_owner, pFp)
+GO(g_dbus_proxy_get_object_path, pFp)
+GO(g_dbus_proxy_get_type, iFv)
+GOM(g_dbus_proxy_new, vFEpippppppp)
+GO(g_dbus_proxy_new_finish, pFpp)
+GOM(g_dbus_proxy_new_for_bus, vFEiippppppp)
+GO(g_dbus_proxy_new_for_bus_finish, pFpp)
+GO(g_dbus_proxy_new_for_bus_sync, pFiipppppp)
+GO(g_dbus_proxy_new_sync, pFpipppppp)
+GO(g_dbus_proxy_set_cached_property, vFppp)
+GO(g_dbus_proxy_set_default_timeout, vFpi)
+GO(g_dbus_proxy_set_interface_info, vFpp)
+//GO(g_dbus_send_message_flags_get_type, 
+//GO(g_dbus_server_flags_get_type, 
+//GO(g_dbus_server_get_client_address, 
+//GO(g_dbus_server_get_flags, 
+//GO(g_dbus_server_get_guid, 
+//GO(g_dbus_server_get_type, 
+//GO(g_dbus_server_is_active, 
+//GO(g_dbus_server_new_sync, 
+//GO(g_dbus_server_start, 
+//GO(g_dbus_server_stop, 
+//GO(g_dbus_signal_flags_get_type, 
+GO(g_dbus_signal_info_get_type, iFv)
+GO(g_dbus_signal_info_ref, pFp)
+GO(g_dbus_signal_info_unref, vFp)
+GO(g_dbus_subtree_flags_get_type, iFv)
+//GO(g_desktop_app_info_get_action_name, 
+//GO(g_desktop_app_info_get_boolean, 
+GO(g_desktop_app_info_get_categories, pFp)
+GO(g_desktop_app_info_get_filename, pFp)
+GO(g_desktop_app_info_get_generic_name, pFp)
+//GO(g_desktop_app_info_get_implementations, 
+GO(g_desktop_app_info_get_is_hidden, iFp)
+GO(g_desktop_app_info_get_keywords, pFp)
+GO(g_desktop_app_info_get_nodisplay, iFp)
+GO(g_desktop_app_info_get_show_in, iFpp)
+//GO(g_desktop_app_info_get_startup_wm_class, 
+//GO(g_desktop_app_info_get_string, 
+GO(g_desktop_app_info_get_type, iFv)
+//GO(g_desktop_app_info_has_key, 
+//GO(g_desktop_app_info_launch_action, 
+//GO(g_desktop_app_info_launch_uris_as_manager, 
+//GO(g_desktop_app_info_list_actions, 
+//GO(g_desktop_app_info_lookup_get_default_for_uri_scheme, 
+GO(g_desktop_app_info_lookup_get_type, iFv)
+GO(g_desktop_app_info_new, pFp)
+GO(g_desktop_app_info_new_from_filename, pFp)
+GO(g_desktop_app_info_new_from_keyfile, pFp)
+//GO(g_desktop_app_info_search, 
+GO(g_desktop_app_info_set_desktop_env, vFp)
+//GO(g_drive_can_eject, 
+//GO(g_drive_can_poll_for_media, 
+//GO(g_drive_can_start, 
+//GO(g_drive_can_start_degraded, 
+//GO(g_drive_can_stop, 
+//GO(g_drive_eject, 
+//GO(g_drive_eject_finish, 
+//GO(g_drive_eject_with_operation, 
+//GO(g_drive_eject_with_operation_finish, 
+//GO(g_drive_enumerate_identifiers, 
+//GO(g_drive_get_icon, 
+//GO(g_drive_get_identifier, 
+//GO(g_drive_get_name, 
+//GO(g_drive_get_sort_key, 
+//GO(g_drive_get_start_stop_type, 
+//GO(g_drive_get_symbolic_icon, 
+//GO(g_drive_get_type, 
+//GO(g_drive_get_volumes, 
+//GO(g_drive_has_media, 
+//GO(g_drive_has_volumes, 
+//GO(g_drive_is_media_check_automatic, 
+//GO(g_drive_is_media_removable, 
+//GO(g_drive_poll_for_media, 
+//GO(g_drive_poll_for_media_finish, 
+//GO(g_drive_start, 
+//GO(g_drive_start_finish, 
+//GO(g_drive_start_flags_get_type, 
+//GO(g_drive_start_stop_type_get_type, 
+//GO(g_drive_stop, 
+//GO(g_drive_stop_finish, 
+//GO(g_emblemed_icon_add_emblem, 
+//GO(g_emblemed_icon_clear_emblems, 
+//GO(g_emblemed_icon_get_emblems, 
+//GO(g_emblemed_icon_get_icon, 
+//GO(g_emblemed_icon_get_type, 
+//GO(g_emblemed_icon_new, 
+//GO(g_emblem_get_icon, 
+//GO(g_emblem_get_origin, 
+//GO(g_emblem_get_type, 
+//GO(g_emblem_new, 
+//GO(g_emblem_new_with_origin, 
+//GO(g_emblem_origin_get_type, 
+GO(g_file_append_to, pFpipp)
+//GOM(g_file_append_to_async, vFEpiipBp)
+GO(g_file_append_to_finish, pFppp)
+//GO(g_file_attribute_info_flags_get_type, 
+//GO(g_file_attribute_info_list_add, 
+//GO(g_file_attribute_info_list_dup, 
+//GO(g_file_attribute_info_list_get_type, 
+//GO(g_file_attribute_info_list_lookup, 
+//GO(g_file_attribute_info_list_new, 
+//GO(g_file_attribute_info_list_ref, 
+//GO(g_file_attribute_info_list_unref, 
+//GO(g_file_attribute_matcher_enumerate_namespace, 
+//GO(g_file_attribute_matcher_enumerate_next, 
+//GO(g_file_attribute_matcher_get_type, 
+//GO(g_file_attribute_matcher_matches, 
+//GO(g_file_attribute_matcher_matches_only, 
+//GO(g_file_attribute_matcher_new, 
+//GO(g_file_attribute_matcher_ref, 
+//GO(g_file_attribute_matcher_subtract, 
+//GO(g_file_attribute_matcher_to_string, 
+//GO(g_file_attribute_matcher_unref, 
+//GO(g_file_attribute_status_get_type, 
+//GO(g_file_attribute_type_get_type, 
+//GOM(g_file_copy, iFEppipBpp)
+//GOM(g_file_copy_async, vFEppiipBpBp)
+GO(g_file_copy_attributes, iFppipp)
+GO(g_file_copy_finish, iFppp)
+GO(g_file_copy_flags_get_type, iFv)
+GO(g_file_create, pFpipp)
+//GOM(g_file_create_async, vFEpiipBp)
+GO(g_file_create_finish, pFppp)
+GO(g_file_create_flags_get_type, iFv)
+GO(g_file_create_readwrite, pFpipp)
+//GOM(g_file_create_readwrite_async, vFEpiipBp)
+GO(g_file_create_readwrite_finish, pFppp)
+GO(g_file_delete, iFppp)
+//GOM(g_file_delete_async, vFEpipBp)
+GO(g_file_delete_finish, pFppp)
+//GO(g_file_descriptor_based_get_fd, 
+//GO(g_file_descriptor_based_get_type, 
+GO(g_file_dup, pFp)
+//GOM(g_file_eject_mountable, vFEpipBp)
+GO(g_file_eject_mountable_finish, iFppp)
+//GOM(g_file_eject_mountable_with_operation, vFpippBp)
+GO(g_file_eject_mountable_with_operation_finish, iFppp)
+GO(g_file_enumerate_children, pFppipp)
+//GOM(g_file_enumerate_children_async, vFppiipBp)
+GO(g_file_enumerate_children_finish, pFppp)
+//GO(g_file_enumerator_close, 
+//GO(g_file_enumerator_close_async, 
+//GO(g_file_enumerator_close_finish, 
+//GO(g_file_enumerator_get_child, 
+//GO(g_file_enumerator_get_container, 
+//GO(g_file_enumerator_get_type, 
+//GO(g_file_enumerator_has_pending, 
+//GO(g_file_enumerator_is_closed, 
+//GO(g_file_enumerator_next_file, 
+//GO(g_file_enumerator_next_files_async, 
+//GO(g_file_enumerator_next_files_finish, 
+//GO(g_file_enumerator_set_pending, 
+GO(g_file_equal, iFpp)
+GO(g_file_find_enclosing_mount, pFppp)
+//GOM(g_file_find_enclosing_mount_async, vFEpipBp)
+GO(g_file_find_enclosing_mount_finish, pFppp)
+GO(g_file_get_basename, pFp)
+GO(g_file_get_child, pFpp)
+GO(g_file_get_child_for_display_name, pFppp)
+GO(g_file_get_parent, pFp)
+GO(g_file_get_parse_name, pFp)
+GO(g_file_get_path, pFp)
+GO(g_file_get_relative_path, pFpp)
+GO(g_file_get_type, iFv)
+GO(g_file_get_uri, pFp)
+GO(g_file_get_uri_scheme, pFp)
+GO(g_file_hash, uFp)
+GO(g_file_has_parent, iFpp)
+GO(g_file_has_prefix, iFpp)
+GO(g_file_has_uri_scheme, iFpp)
+GO(g_file_icon_get_file, pFp)
+GO(g_file_icon_get_type, iFv)
+GO(g_file_icon_new, pFp)
+//GO(g_file_info_clear_status, 
+//GO(g_file_info_copy_into, 
+//GO(g_file_info_dup, 
+//GO(g_file_info_get_attribute_as_string, 
+//GO(g_file_info_get_attribute_boolean, 
+//GO(g_file_info_get_attribute_byte_string, 
+//GO(g_file_info_get_attribute_data, 
+//GO(g_file_info_get_attribute_int32, 
+//GO(g_file_info_get_attribute_int64, 
+//GO(g_file_info_get_attribute_object, 
+//GO(g_file_info_get_attribute_status, 
+//GO(g_file_info_get_attribute_string, 
+//GO(g_file_info_get_attribute_stringv, 
+//GO(g_file_info_get_attribute_type, 
+//GO(g_file_info_get_attribute_uint32, 
+//GO(g_file_info_get_attribute_uint64, 
+//GO(g_file_info_get_content_type, 
+//GO(g_file_info_get_deletion_date, 
+//GO(g_file_info_get_display_name, 
+//GO(g_file_info_get_edit_name, 
+//GO(g_file_info_get_etag, 
+//GO(g_file_info_get_file_type, 
+//GO(g_file_info_get_icon, 
+//GO(g_file_info_get_is_backup, 
+//GO(g_file_info_get_is_hidden, 
+//GO(g_file_info_get_is_symlink, 
+//GO(g_file_info_get_modification_time, 
+//GO(g_file_info_get_name, 
+//GO(g_file_info_get_size, 
+//GO(g_file_info_get_sort_order, 
+//GO(g_file_info_get_symbolic_icon, 
+//GO(g_file_info_get_symlink_target, 
+//GO(g_file_info_get_type, 
+//GO(g_file_info_has_attribute, 
+//GO(g_file_info_has_namespace, 
+//GO(g_file_info_list_attributes, 
+//GO(g_file_info_new, 
+//GO(g_file_info_remove_attribute, 
+//GO(g_file_info_set_attribute, 
+//GO(g_file_info_set_attribute_boolean, 
+//GO(g_file_info_set_attribute_byte_string, 
+//GO(g_file_info_set_attribute_int32, 
+//GO(g_file_info_set_attribute_int64, 
+//GO(g_file_info_set_attribute_mask, 
+//GO(g_file_info_set_attribute_object, 
+//GO(g_file_info_set_attribute_status, 
+//GO(g_file_info_set_attribute_string, 
+//GO(g_file_info_set_attribute_stringv, 
+//GO(g_file_info_set_attribute_uint32, 
+//GO(g_file_info_set_attribute_uint64, 
+//GO(g_file_info_set_content_type, 
+//GO(g_file_info_set_display_name, 
+//GO(g_file_info_set_edit_name, 
+//GO(g_file_info_set_file_type, 
+//GO(g_file_info_set_icon, 
+//GO(g_file_info_set_is_hidden, 
+//GO(g_file_info_set_is_symlink, 
+//GO(g_file_info_set_modification_time, 
+//GO(g_file_info_set_name, 
+//GO(g_file_info_set_size, 
+//GO(g_file_info_set_sort_order, 
+//GO(g_file_info_set_symbolic_icon, 
+//GO(g_file_info_set_symlink_target, 
+//GO(g_file_info_unset_attribute_mask, 
+//GO(g_file_input_stream_get_type, 
+//GO(g_file_input_stream_query_info, 
+//GO(g_file_input_stream_query_info_async, 
+//GO(g_file_input_stream_query_info_finish, 
+//GO(g_file_io_stream_get_etag, 
+//GO(g_file_io_stream_get_type, 
+//GO(g_file_io_stream_query_info, 
+//GO(g_file_io_stream_query_info_async, 
+//GO(g_file_io_stream_query_info_finish, 
+GO(g_file_is_native, iFpp)
+GO(g_file_load_bytes, pFpppp)   //sice 2.56+
+//GOM(g_file_load_bytes_async, vFEppBp) //since 2.56+
+GO(g_file_load_bytes_finish, pFpppp)    //since 2.56+
+GO(g_file_load_contents, iFpppppp)
+//GOM(g_file_load_contents_async, vFEppBp)
+GO(g_file_load_contents_finish, iFpppppp)
+//GOM(g_file_load_partial_contents_async, vFppBBp)
+GO(g_file_load_partial_contents_finish, iFpppppp)
+GO(g_file_make_directory, iFppp)
+//GOM(g_file_make_directory_async, vFEpipBp)
+GO(g_file_make_directory_finish, iFppp)
+GO(g_file_make_directory_with_parents, iFppp)
+GO(g_file_make_symbolic_link, iFpppp)
+//GOM(g_file_measure_disk_usage, iFEpipBppppp)
+//GOM(g_file_measure_disk_usage_async, vFEpiipBpBp)
+GO(g_file_measure_disk_usage_finish, iFpppppp)
+//GO(g_file_measure_flags_get_type, 
+GO(g_file_monitor, pFpipp)
+//GO(g_file_monitor_cancel, 
+GO(g_file_monitor_directory, pFpipp)
+//GO(g_file_monitor_emit_event, 
+//GO(g_file_monitor_event_get_type, 
+GO(g_file_monitor_file, pFpipp)
+//GO(g_file_monitor_flags_get_type, 
+//GO(g_file_monitor_get_type, 
+//GO(g_file_monitor_is_cancelled, 
+//GO(g_file_monitor_set_rate_limit, 
+//GOM(g_file_mount_enclosing_volume, vFEpippBp)
+GO(g_file_mount_enclosing_volume_finish, iFppp)
+//GOM(g_file_mount_mountable, vFEpippBp)
+GO(g_file_mount_mountable_finish, pFppp)
+//GOM(g_file_move, iFEppipBpp)
+//GO(g_filename_completer_get_completions, 
+//GO(g_filename_completer_get_completion_suffix, 
+//GO(g_filename_completer_get_type, 
+//GO(g_filename_completer_new, 
+//GO(g_filename_completer_set_dirs_only, 
+GO(g_file_new_build_filename, pFppppppppppp)    // vaarg, since v2.56+
+GO(g_file_new_for_commandline_arg, pFp)
+GO(g_file_new_for_commandline_arg_and_cwd, pFpp)
+GO(g_file_new_for_path, pFp)
+GO(g_file_new_for_uri, pFp)
+GO(g_file_new_tmp, pFppp)
+GO(g_file_open_readwrite, pFppp)
+//GOM(g_file_open_readwrite_async, vFEpipBp)
+GO(g_file_open_readwrite_finish, pFppp)
+//GO(g_file_output_stream_get_etag, 
+//GO(g_file_output_stream_get_type, 
+//GO(g_file_output_stream_query_info, 
+//GO(g_file_output_stream_query_info_async, 
+//GO(g_file_output_stream_query_info_finish, 
+GO(g_file_parse_name, pFp)
+GO(g_file_peek_path , pFp)  // sice 2.56+
+//GOM(g_file_poll_mountable, vFEppBp)
+GO(g_file_poll_mountable_finish, iFppp)
+GO(g_file_query_default_handler, pFppp)
+//GOMg_file_query_default_handler_async, vFEpipBp)  //since 2.60+
+GO(g_file_query_default_handler_finish, pFppp)      //since 2.60+
+GO(g_file_query_exists, iFpp)
+GO(g_file_query_filesystem_info, pFpppp)
+//GOM(g_file_query_filesystem_info_async, vFEppipBp)
+GO(g_file_query_filesystem_info_finish, pFppp)
+GO(g_file_query_file_type, iFpip)
+GO(g_file_query_info, pFppipp)
+//GOM(g_file_query_info_async, vFEppiipBp)
+GO(g_file_query_info_finish, pFppp)
+//GO(g_file_query_info_flags_get_type, 
+GO(g_file_query_settable_attributes, pFppp)
+GO(g_file_query_writable_namespaces, pFppp)
+GO(g_file_read, pFppp)
+//GOM(g_file_read_async, vFEpipBp)
+GO(g_file_read_finish, pFppp)
+GO(g_file_replace, pFppiipp)
+//GOM(g_file_replace_async, vFEppiiipBp)
+GO(g_file_replace_contents, iFppLpiippp)
+//GOM(g_file_replace_contents_async, vFEppLpuupBp)
+//GOM(g_file_replace_contents_bytes_async, vFEpppiipBp)
+GO(g_file_replace_contents_finish, iFpppp)
+//GO(g_file_replace_finish, 
+GO(g_file_replace_readwrite, pFppiipp)
+//GOM(g_file_replace_readwrite_async, vFEppiiipBp)
+GO(g_file_replace_readwrite_finish, pFppp)
+GO(g_file_resolve_relative_path, pFpp)
+GO(g_file_set_attribute, iFppipipp)
+GO(g_file_set_attribute_byte_string, iFpppipp)
+GO(g_file_set_attribute_int32, iFppiipp)
+GO(g_file_set_attribute_int64, iFppIipp)
+//GOM(g_file_set_attributes_async, vFEppiipBp)
+GO(g_file_set_attributes_finish, iFpppp)
+GO(g_file_set_attributes_from_info, iFppipp)
+GO(g_file_set_attribute_string, iFpppipp)
+GO(g_file_set_attribute_uint32, iFppuipp)
+GO(g_file_set_attribute_uint64, iFppUipp)
+GO(g_file_set_display_name, pFpppp)
+//GOM(g_file_set_display_name_async, vFEppipBp)
+GO(g_file_set_display_name_finish, pFppp)
+//GOM(g_file_start_mountable, vFEpippBp)
+GO(g_file_start_mountable_finish, iFppp)
+//GOM(g_file_stop_mountable, vFpippBp)
+GO(g_file_stop_mountable_finish, iFppp)
+GO(g_file_supports_thread_contexts, iFp)
+//GO(g_filesystem_preview_type_get_type, 
+GO(g_file_trash, iFppp)
+//GOM(g_file_trash_async, vFEpipBp)
+GO(g_file_trash_finish, pFppp)
+GO(g_file_type_get_type, iFv)
+//GOM(g_file_unmount_mountable, vFEpipBp)
+GO(g_file_unmount_mountable_finish, iFppp)
+//GOM(g_file_unmount_mountable_with_operation, vFEpippBp)
+GO(g_file_unmount_mountable_with_operation_finish, iFppp)
+//GO(g_filter_input_stream_get_base_stream, 
+//GO(g_filter_input_stream_get_close_base_stream, 
+//GO(g_filter_input_stream_get_type, 
+//GO(g_filter_input_stream_set_close_base_stream, 
+//GO(g_filter_output_stream_get_base_stream, 
+//GO(g_filter_output_stream_get_close_base_stream, 
+//GO(g_filter_output_stream_get_type, 
+//GO(g_filter_output_stream_set_close_base_stream, 
+GO(g_icon_deserialize, pFp)
+GO(g_icon_equal, iFpp)
+//GO(g_icon_get_type, 
+GO(g_icon_hash, uFp)
+GO(g_icon_new_for_string, pFpp)
+GO(g_icon_serialize, pFp)
+GO(g_icon_to_string, pFp)
+//GO(g_inet_address_equal, 
+//GO(g_inet_address_get_family, 
+//GO(g_inet_address_get_is_any, 
+//GO(g_inet_address_get_is_link_local, 
+//GO(g_inet_address_get_is_loopback, 
+//GO(g_inet_address_get_is_mc_global, 
+//GO(g_inet_address_get_is_mc_link_local, 
+//GO(g_inet_address_get_is_mc_node_local, 
+//GO(g_inet_address_get_is_mc_org_local, 
+//GO(g_inet_address_get_is_mc_site_local, 
+//GO(g_inet_address_get_is_multicast, 
+//GO(g_inet_address_get_is_site_local, 
+//GO(g_inet_address_get_native_size, 
+//GO(g_inet_address_get_type, 
+//GO(g_inet_address_mask_equal, 
+//GO(g_inet_address_mask_get_address, 
+//GO(g_inet_address_mask_get_family, 
+//GO(g_inet_address_mask_get_length, 
+//GO(g_inet_address_mask_get_type, 
+//GO(g_inet_address_mask_matches, 
+//GO(g_inet_address_mask_new, 
+//GO(g_inet_address_mask_new_from_string, 
+//GO(g_inet_address_mask_to_string, 
+//GO(g_inet_address_new_any, 
+//GO(g_inet_address_new_from_bytes, 
+//GO(g_inet_address_new_from_string, 
+//GO(g_inet_address_new_loopback, 
+//GO(g_inet_address_to_bytes, 
+//GO(g_inet_address_to_string, 
+//GO(g_inet_socket_address_get_address, 
+//GO(g_inet_socket_address_get_flowinfo, 
+//GO(g_inet_socket_address_get_port, 
+//GO(g_inet_socket_address_get_scope_id, 
+//GO(g_inet_socket_address_get_type, 
+//GO(g_inet_socket_address_new, 
+//GO(g_inet_socket_address_new_from_string, 
+GO(g_initable_get_type, iFv)
+GO(g_initable_init, iFppp)
+//GO(g_initable_new, pFippppppppppppppp)    // vaarg, should vrap with g_initable_new_valist
+GO(g_initable_newv, pFpippp)
+//GO(g_initable_new_valist, pFipppp)
+//GO(g_input_stream_clear_pending, 
+//GO(g_input_stream_close, 
+//GO(g_input_stream_close_async, 
+//GO(g_input_stream_close_finish, 
+//GO(g_input_stream_get_type, 
+//GO(g_input_stream_has_pending, 
+//GO(g_input_stream_is_closed, 
+//GO(g_input_stream_read, 
+//GO(g_input_stream_read_all, 
+//GO(g_input_stream_read_async, 
+//GO(g_input_stream_read_bytes, 
+//GO(g_input_stream_read_bytes_async, 
+//GO(g_input_stream_read_bytes_finish, 
+//GO(g_input_stream_read_finish, 
+//GO(g_input_stream_set_pending, 
+//GO(g_input_stream_skip, 
+//GO(g_input_stream_skip_async, 
+//GO(g_input_stream_skip_finish, 
+//GO(g_io_error_enum_get_type, 
+//GO(g_io_error_from_errno, 
+//GO(g_io_error_quark, 
+//GO(g_io_extension_get_name, 
+//GO(g_io_extension_get_priority, 
+//GO(g_io_extension_get_type, 
+//GO(g_io_extension_point_get_extension_by_name, 
+//GO(g_io_extension_point_get_extensions, 
+//GO(g_io_extension_point_get_required_type, 
+//GO(g_io_extension_point_implement, 
+//GO(g_io_extension_point_lookup, 
+//GO(g_io_extension_point_register, 
+//GO(g_io_extension_point_set_required_type, 
+//GO(g_io_extension_ref_class, 
+//GO(g_io_module_get_type, 
+//GO(g_io_module_new, 
+//GO(g_io_module_scope_block, 
+//GO(g_io_module_scope_flags_get_type, 
+//GO(g_io_module_scope_free, 
+//GO(g_io_module_scope_new, 
+//GO(g_io_modules_load_all_in_directory, 
+//GO(g_io_modules_load_all_in_directory_with_scope, 
+//GO(g_io_modules_scan_all_in_directory, 
+//GO(g_io_modules_scan_all_in_directory_with_scope, 
+//GO(g_io_scheduler_cancel_all_jobs, 
+//GO(g_io_scheduler_job_send_to_mainloop, 
+//GO(g_io_scheduler_job_send_to_mainloop_async, 
+//GO(g_io_scheduler_push_job, 
+//GO(g_io_stream_clear_pending, 
+//GO(g_io_stream_close, 
+//GO(g_io_stream_close_async, 
+//GO(g_io_stream_close_finish, 
+//GO(g_io_stream_get_input_stream, 
+//GO(g_io_stream_get_output_stream, 
+//GO(g_io_stream_get_type, 
+//GO(g_io_stream_has_pending, 
+//GO(g_io_stream_is_closed, 
+//GO(g_io_stream_set_pending, 
+//GO(g_io_stream_splice_async, 
+//GO(g_io_stream_splice_finish, 
+//GO(g_io_stream_splice_flags_get_type, 
+//GO(g_keyfile_settings_backend_new, 
+//GO(g_loadable_icon_get_type, 
+//GO(g_loadable_icon_load, 
+//GO(g_loadable_icon_load_async, 
+//GO(g_loadable_icon_load_finish, 
+//GO(g_local_directory_monitor_get_type, 
+//GO(g_local_file_monitor_get_type, 
+//GO(g_memory_input_stream_add_bytes, 
+//GO(g_memory_input_stream_add_data, 
+//GO(g_memory_input_stream_get_type, 
+//GO(g_memory_input_stream_new, 
+//GO(g_memory_input_stream_new_from_bytes, 
+//GO(g_memory_input_stream_new_from_data, 
+//GO(g_memory_output_stream_get_data, 
+//GO(g_memory_output_stream_get_data_size, 
+//GO(g_memory_output_stream_get_size, 
+//GO(g_memory_output_stream_get_type, 
+//GO(g_memory_output_stream_new, 
+//GO(g_memory_output_stream_new_resizable, 
+//GO(g_memory_output_stream_steal_as_bytes, 
+//GO(g_memory_output_stream_steal_data, 
+//GO(g_memory_settings_backend_new, 
+//GO(g_menu_append, 
+//GO(g_menu_append_item, 
+//GO(g_menu_append_section, 
+//GO(g_menu_append_submenu, 
+//GO(g_menu_attribute_iter_get_name, 
+//GO(g_menu_attribute_iter_get_next, 
+//GO(g_menu_attribute_iter_get_type, 
+//GO(g_menu_attribute_iter_get_value, 
+//GO(g_menu_attribute_iter_next, 
+//GO(g_menu_freeze, 
+//GO(g_menu_get_type, 
+//GO(g_menu_insert, 
+//GO(g_menu_insert_item, 
+//GO(g_menu_insert_section, 
+//GO(g_menu_insert_submenu, 
+//GO(g_menu_item_get_attribute, 
+//GO(g_menu_item_get_attribute_value, 
+//GO(g_menu_item_get_link, 
+//GO(g_menu_item_get_type, 
+//GO(g_menu_item_new, 
+//GO(g_menu_item_new_from_model, 
+//GO(g_menu_item_new_section, 
+//GO(g_menu_item_new_submenu, 
+//GO(g_menu_item_set_action_and_target, 
+//GO(g_menu_item_set_action_and_target_value, 
+//GO(g_menu_item_set_attribute, 
+//GO(g_menu_item_set_attribute_value, 
+//GO(g_menu_item_set_detailed_action, 
+//GO(g_menu_item_set_icon, 
+//GO(g_menu_item_set_label, 
+//GO(g_menu_item_set_link, 
+//GO(g_menu_item_set_section, 
+//GO(g_menu_item_set_submenu, 
+//GO(g_menu_link_iter_get_name, 
+//GO(g_menu_link_iter_get_next, 
+//GO(g_menu_link_iter_get_type, 
+//GO(g_menu_link_iter_get_value, 
+//GO(g_menu_link_iter_next, 
+//GO(g_menu_model_get_item_attribute, 
+//GO(g_menu_model_get_item_attribute_value, 
+//GO(g_menu_model_get_item_link, 
+//GO(g_menu_model_get_n_items, 
+//GO(g_menu_model_get_type, 
+//GO(g_menu_model_is_mutable, 
+//GO(g_menu_model_items_changed, 
+//GO(g_menu_model_iterate_item_attributes, 
+//GO(g_menu_model_iterate_item_links, 
+//GO(g_menu_new, 
+//GO(g_menu_prepend, 
+//GO(g_menu_prepend_item, 
+//GO(g_menu_prepend_section, 
+//GO(g_menu_prepend_submenu, 
+//GO(g_menu_remove, 
+//GO(g_menu_remove_all, 
+//GO(g_mount_can_eject, 
+//GO(g_mount_can_unmount, 
+//GO(g_mount_eject, 
+//GO(g_mount_eject_finish, 
+//GO(g_mount_eject_with_operation, 
+//GO(g_mount_eject_with_operation_finish, 
+//GO(g_mount_get_default_location, 
+//GO(g_mount_get_drive, 
+//GO(g_mount_get_icon, 
+//GO(g_mount_get_name, 
+//GO(g_mount_get_root, 
+//GO(g_mount_get_sort_key, 
+//GO(g_mount_get_symbolic_icon, 
+//GO(g_mount_get_type, 
+//GO(g_mount_get_uuid, 
+//GO(g_mount_get_volume, 
+//GO(g_mount_guess_content_type, 
+//GO(g_mount_guess_content_type_finish, 
+//GO(g_mount_guess_content_type_sync, 
+//GO(g_mount_is_shadowed, 
+//GO(g_mount_mount_flags_get_type, 
+//GO(g_mount_operation_get_anonymous, 
+//GO(g_mount_operation_get_choice, 
+//GO(g_mount_operation_get_domain, 
+//GO(g_mount_operation_get_password, 
+//GO(g_mount_operation_get_password_save, 
+//GO(g_mount_operation_get_type, 
+//GO(g_mount_operation_get_username, 
+//GO(g_mount_operation_new, 
+//GO(g_mount_operation_reply, 
+//GO(g_mount_operation_result_get_type, 
+//GO(g_mount_operation_set_anonymous, 
+//GO(g_mount_operation_set_choice, 
+//GO(g_mount_operation_set_domain, 
+//GO(g_mount_operation_set_password, 
+//GO(g_mount_operation_set_password_save, 
+//GO(g_mount_operation_set_username, 
+//GO(g_mount_remount, 
+//GO(g_mount_remount_finish, 
+//GO(g_mount_shadow, 
+//GO(g_mount_unmount, 
+//GO(g_mount_unmount_finish, 
+//GO(g_mount_unmount_flags_get_type, 
+//GO(g_mount_unmount_with_operation, 
+//GO(g_mount_unmount_with_operation_finish, 
+//GO(g_mount_unshadow, 
+//GO(g_native_volume_monitor_get_type, 
+//GO(g_network_address_get_hostname, 
+//GO(g_network_address_get_port, 
+//GO(g_network_address_get_scheme, 
+//GO(g_network_address_get_type, 
+//GO(g_network_address_new, 
+//GO(g_network_address_parse, 
+//GO(g_network_address_parse_uri, 
+//GO(g_networking_init, 
+//GO(g_network_monitor_base_add_network, 
+//GO(g_network_monitor_base_get_type, 
+//GO(g_network_monitor_base_remove_network, 
+//GO(g_network_monitor_base_set_networks, 
+//GO(g_network_monitor_can_reach, 
+//GO(g_network_monitor_can_reach_async, 
+//GO(g_network_monitor_can_reach_finish, 
+//GO(g_network_monitor_get_default, 
+//GO(g_network_monitor_get_network_available, 
+//GO(g_network_monitor_get_type, 
+//GO(g_network_service_get_domain, 
+//GO(g_network_service_get_protocol, 
+//GO(g_network_service_get_scheme, 
+//GO(g_network_service_get_service, 
+//GO(g_network_service_get_type, 
+//GO(g_network_service_new, 
+//GO(g_network_service_set_scheme, 
+//GO(g_notification_add_button, 
+//GO(g_notification_add_button_with_target, 
+//GO(g_notification_add_button_with_target_value, 
+//GO(g_notification_get_type, 
+//GO(g_notification_new, 
+//GO(g_notification_priority_get_type, 
+//GO(g_notification_set_body, 
+//GO(g_notification_set_default_action, 
+//GO(g_notification_set_default_action_and_target, 
+//GO(g_notification_set_default_action_and_target_value, 
+//GO(g_notification_set_icon, 
+//GO(g_notification_set_priority, 
+//GO(g_notification_set_title, 
+//GO(g_notification_set_urgent, 
+//GO(g_null_settings_backend_new, 
+//GO(g_output_stream_clear_pending, 
+//GO(g_output_stream_close, 
+//GO(g_output_stream_close_async, 
+//GO(g_output_stream_close_finish, 
+//GO(g_output_stream_flush, 
+//GO(g_output_stream_flush_async, 
+//GO(g_output_stream_flush_finish, 
+//GO(g_output_stream_get_type, 
+//GO(g_output_stream_has_pending, 
+//GO(g_output_stream_is_closed, 
+//GO(g_output_stream_is_closing, 
+//GO(g_output_stream_printf, 
+//GO(g_output_stream_set_pending, 
+//GO(g_output_stream_splice, 
+//GO(g_output_stream_splice_async, 
+//GO(g_output_stream_splice_finish, 
+//GO(g_output_stream_splice_flags_get_type, 
+//GO(g_output_stream_vprintf, 
+//GO(g_output_stream_write, 
+//GO(g_output_stream_write_all, 
+//GO(g_output_stream_write_async, 
+//GO(g_output_stream_write_bytes, 
+//GO(g_output_stream_write_bytes_async, 
+//GO(g_output_stream_write_bytes_finish, 
+//GO(g_output_stream_write_finish, 
+//GO(g_password_save_get_type, 
+//GO(g_permission_acquire, 
+//GO(g_permission_acquire_async, 
+//GO(g_permission_acquire_finish, 
+//GO(g_permission_get_allowed, 
+//GO(g_permission_get_can_acquire, 
+//GO(g_permission_get_can_release, 
+//GO(g_permission_get_type, 
+//GO(g_permission_impl_update, 
+//GO(g_permission_release, 
+//GO(g_permission_release_async, 
+//GO(g_permission_release_finish, 
+//GO(g_pollable_input_stream_can_poll, 
+//GO(g_pollable_input_stream_create_source, 
+//GO(g_pollable_input_stream_get_type, 
+//GO(g_pollable_input_stream_is_readable, 
+//GO(g_pollable_input_stream_read_nonblocking, 
+//GO(g_pollable_output_stream_can_poll, 
+//GO(g_pollable_output_stream_create_source, 
+//GO(g_pollable_output_stream_get_type, 
+//GO(g_pollable_output_stream_is_writable, 
+//GO(g_pollable_output_stream_write_nonblocking, 
+//GO(g_pollable_source_new, 
+//GO(g_pollable_source_new_full, 
+//GO(g_pollable_stream_read, 
+//GO(g_pollable_stream_write, 
+//GO(g_pollable_stream_write_all, 
+//GO(g_property_action_get_type, 
+//GO(g_property_action_new, 
+//GO(g_proxy_address_enumerator_get_type, 
+//GO(g_proxy_address_get_destination_hostname, 
+//GO(g_proxy_address_get_destination_port, 
+//GO(g_proxy_address_get_destination_protocol, 
+//GO(g_proxy_address_get_password, 
+//GO(g_proxy_address_get_protocol, 
+//GO(g_proxy_address_get_type, 
+//GO(g_proxy_address_get_uri, 
+//GO(g_proxy_address_get_username, 
+//GO(g_proxy_address_new, 
+//GO(g_proxy_connect, 
+//GO(g_proxy_connect_async, 
+//GO(g_proxy_connect_finish, 
+//GO(g_proxy_get_default_for_protocol, 
+//GO(g_proxy_get_type, 
+//GO(g_proxy_resolver_get_default, 
+//GO(g_proxy_resolver_get_type, 
+//GO(g_proxy_resolver_is_supported, 
+//GO(g_proxy_resolver_lookup, 
+//GO(g_proxy_resolver_lookup_async, 
+//GO(g_proxy_resolver_lookup_finish, 
+//GO(g_proxy_supports_hostname, 
+//GO(g_remote_action_group_activate_action_full, 
+//GO(g_remote_action_group_change_action_state_full, 
+//GO(g_remote_action_group_get_type, 
+//GO(g_resolver_error_get_type, 
+//GO(g_resolver_error_quark, 
+//GO(g_resolver_free_addresses, 
+//GO(g_resolver_free_targets, 
+//GO(g_resolver_get_default, 
+//GO(g_resolver_get_type, 
+//GO(g_resolver_lookup_by_address, 
+//GO(g_resolver_lookup_by_address_async, 
+//GO(g_resolver_lookup_by_address_finish, 
+//GO(g_resolver_lookup_by_name, 
+//GO(g_resolver_lookup_by_name_async, 
+//GO(g_resolver_lookup_by_name_finish, 
+//GO(g_resolver_lookup_records, 
+//GO(g_resolver_lookup_records_async, 
+//GO(g_resolver_lookup_records_finish, 
+//GO(g_resolver_lookup_service, 
+//GO(g_resolver_lookup_service_async, 
+//GO(g_resolver_lookup_service_finish, 
+//GO(g_resolver_record_type_get_type, 
+//GO(g_resolver_set_default, 
+//GO(g_resource_enumerate_children, 
+//GO(g_resource_error_get_type, 
+//GO(g_resource_error_quark, 
+//GO(g_resource_flags_get_type, 
+//GO(g_resource_get_info, 
+//GO(g_resource_get_type, 
+//GO(g_resource_load, 
+//GO(g_resource_lookup_data, 
+//GO(g_resource_lookup_flags_get_type, 
+//GO(g_resource_new_from_data, 
+//GO(g_resource_open_stream, 
+//GO(g_resource_ref, 
+//GO(g_resources_enumerate_children, 
+//GO(g_resources_get_info, 
+//GO(g_resources_lookup_data, 
+//GO(g_resources_open_stream, 
+//GO(g_resources_register, 
+//GO(g_resources_unregister, 
+//GO(g_resource_unref, 
+//GO(g_seekable_can_seek, 
+//GO(g_seekable_can_truncate, 
+//GO(g_seekable_get_type, 
+//GO(g_seekable_seek, 
+//GO(g_seekable_tell, 
+//GO(g_seekable_truncate, 
+//GO(g_settings_apply, 
+//GO(g_settings_backend_changed, 
+//GO(g_settings_backend_changed_tree, 
+//GO(g_settings_backend_flatten_tree, 
+//GO(g_settings_backend_get_default, 
+//GO(g_settings_backend_get_type, 
+//GO(g_settings_backend_keys_changed, 
+//GO(g_settings_backend_path_changed, 
+//GO(g_settings_backend_path_writable_changed, 
+//GO(g_settings_backend_writable_changed, 
+//GO(g_settings_bind, 
+//GO(g_settings_bind_flags_get_type, 
+//GO(g_settings_bind_with_mapping, 
+//GO(g_settings_bind_writable, 
+//GO(g_settings_create_action, 
+//GO(g_settings_delay, 
+//GO(g_settings_get, 
+//GO(g_settings_get_boolean, 
+//GO(g_settings_get_child, 
+//GO(g_settings_get_default_value, 
+//GO(g_settings_get_double, 
+//GO(g_settings_get_enum, 
+//GO(g_settings_get_flags, 
+//GO(g_settings_get_has_unapplied, 
+//GO(g_settings_get_int, 
+//GO(g_settings_get_mapped, 
+//GO(g_settings_get_range, 
+//GO(g_settings_get_string, 
+//GO(g_settings_get_strv, 
+//GO(g_settings_get_type, 
+//GO(g_settings_get_uint, 
+//GO(g_settings_get_user_value, 
+//GO(g_settings_get_value, 
+//GO(g_settings_is_writable, 
+//GO(g_settings_list_children, 
+//GO(g_settings_list_keys, 
+//GO(g_settings_list_relocatable_schemas, 
+//GO(g_settings_list_schemas, 
+//GO(g_settings_new, 
+//GO(g_settings_new_full, 
+//GO(g_settings_new_with_backend, 
+//GO(g_settings_new_with_backend_and_path, 
+//GO(g_settings_new_with_path, 
+//GO(g_settings_range_check, 
+//GO(g_settings_reset, 
+//GO(g_settings_revert, 
+//GO(g_settings_schema_get_id, 
+//GO(g_settings_schema_get_key, 
+//GO(g_settings_schema_get_path, 
+//GO(g_settings_schema_get_type, 
+//GO(g_settings_schema_has_key, 
+//GO(g_settings_schema_key_get_default_value, 
+//GO(g_settings_schema_key_get_description, 
+//GO(g_settings_schema_key_get_range, 
+//GO(g_settings_schema_key_get_summary, 
+//GO(g_settings_schema_key_get_type, 
+//GO(g_settings_schema_key_get_value_type, 
+//GO(g_settings_schema_key_range_check, 
+//GO(g_settings_schema_key_ref, 
+//GO(g_settings_schema_key_unref, 
+//GO(g_settings_schema_ref, 
+//GO(g_settings_schema_source_get_default, 
+//GO(g_settings_schema_source_get_type, 
+//GO(g_settings_schema_source_list_schemas, 
+//GO(g_settings_schema_source_lookup, 
+//GO(g_settings_schema_source_new_from_directory, 
+//GO(g_settings_schema_source_ref, 
+//GO(g_settings_schema_source_unref, 
+//GO(g_settings_schema_unref, 
+//GO(g_settings_set, 
+//GO(g_settings_set_boolean, 
+//GO(g_settings_set_double, 
+//GO(g_settings_set_enum, 
+//GO(g_settings_set_flags, 
+//GO(g_settings_set_int, 
+//GO(g_settings_set_string, 
+//GO(g_settings_set_strv, 
+//GO(g_settings_set_uint, 
+//GO(g_settings_set_value, 
+//GO(g_settings_sync, 
+//GO(g_settings_unbind, 
+//GO(g_simple_action_get_type, 
+//GO(g_simple_action_group_add_entries, 
+//GO(g_simple_action_group_get_type, 
+//GO(g_simple_action_group_insert, 
+//GO(g_simple_action_group_lookup, 
+//GO(g_simple_action_group_new, 
+//GO(g_simple_action_group_remove, 
+//GO(g_simple_action_new, 
+//GO(g_simple_action_new_stateful, 
+//GO(g_simple_action_set_enabled, 
+//GO(g_simple_action_set_state, 
+GOM(g_simple_async_report_error_in_idle, vFEpppuipV)
+GOM(g_simple_async_report_gerror_in_idle, vFEpppp)
+GOM(g_simple_async_report_take_gerror_in_idle, vFEpppp)
+GO(g_simple_async_result_complete, vFp)
+GO(g_simple_async_result_complete_in_idle, vFp)
+GO(g_simple_async_result_get_op_res_gboolean, iFp)
+GO(g_simple_async_result_get_op_res_gpointer, pFp)
+GO(g_simple_async_result_get_op_res_gssize, lFp)
+GO(g_simple_async_result_get_source_tag, pFp)
+GO(g_simple_async_result_get_type, iFv)
+GO(g_simple_async_result_is_valid, iFppp)
+GOM(g_simple_async_result_new, pFEpppp)
+GOM(g_simple_async_result_new_error, pFEpppuipV)
+GOM(g_simple_async_result_new_from_error, pFEpppp)
+GOM(g_simple_async_result_new_take_error, pFEpppp)
+GO(g_simple_async_result_propagate_error, iFpp)
+GOM(g_simple_async_result_run_in_thread, vFEppip)
+GO(g_simple_async_result_set_check_cancellable, vFpp)
+GO2(g_simple_async_result_set_error, vFpuipV, g_simple_async_result_set_error_va)   // should align?
+GO(g_simple_async_result_set_error_va, vFpuipp)
+GO(g_simple_async_result_set_from_error, vFpp)
+GO(g_simple_async_result_set_handle_cancellation, vFpi)
+GO(g_simple_async_result_set_op_res_gboolean, vFpi)
+GOM(g_simple_async_result_set_op_res_gpointer, vFEppp)
+GO(g_simple_async_result_set_op_res_gssize, vFpl)
+GO(g_simple_async_result_take_error, vFpp)
+GO(g_simple_permission_get_type, iFv)
+//GO(g_simple_permission_new, 
+GO(g_simple_proxy_resolver_get_type, iFv)
+//GO(g_simple_proxy_resolver_new, 
+//GO(g_simple_proxy_resolver_set_default_proxy, 
+//GO(g_simple_proxy_resolver_set_ignore_hosts, 
+//GO(g_simple_proxy_resolver_set_uri_proxy, 
+//GO(g_socket_accept, 
+//GO(g_socket_address_enumerator_get_type, 
+//GO(g_socket_address_enumerator_next, 
+//GO(g_socket_address_enumerator_next_async, 
+//GO(g_socket_address_enumerator_next_finish, 
+//GO(g_socket_address_get_family, 
+//GO(g_socket_address_get_native_size, 
+//GO(g_socket_address_get_type, 
+//GO(g_socket_address_new_from_native, 
+//GO(g_socket_address_to_native, 
+//GO(g_socket_bind, 
+//GO(g_socket_check_connect_result, 
+//GO(g_socket_client_add_application_proxy, 
+//GO(g_socket_client_connect, 
+//GO(g_socket_client_connect_async, 
+//GO(g_socket_client_connect_finish, 
+//GO(g_socket_client_connect_to_host, 
+//GO(g_socket_client_connect_to_host_async, 
+//GO(g_socket_client_connect_to_host_finish, 
+//GO(g_socket_client_connect_to_service, 
+//GO(g_socket_client_connect_to_service_async, 
+//GO(g_socket_client_connect_to_service_finish, 
+//GO(g_socket_client_connect_to_uri, 
+//GO(g_socket_client_connect_to_uri_async, 
+//GO(g_socket_client_connect_to_uri_finish, 
+//GO(g_socket_client_event_get_type, 
+//GO(g_socket_client_get_enable_proxy, 
+//GO(g_socket_client_get_family, 
+//GO(g_socket_client_get_local_address, 
+//GO(g_socket_client_get_protocol, 
+//GO(g_socket_client_get_proxy_resolver, 
+//GO(g_socket_client_get_socket_type, 
+//GO(g_socket_client_get_timeout, 
+//GO(g_socket_client_get_tls, 
+//GO(g_socket_client_get_tls_validation_flags, 
+//GO(g_socket_client_get_type, 
+//GO(g_socket_client_new, 
+//GO(g_socket_client_set_enable_proxy, 
+//GO(g_socket_client_set_family, 
+//GO(g_socket_client_set_local_address, 
+//GO(g_socket_client_set_protocol, 
+//GO(g_socket_client_set_proxy_resolver, 
+//GO(g_socket_client_set_socket_type, 
+//GO(g_socket_client_set_timeout, 
+//GO(g_socket_client_set_tls, 
+//GO(g_socket_client_set_tls_validation_flags, 
+//GO(g_socket_close, 
+//GO(g_socket_condition_check, 
+//GO(g_socket_condition_timed_wait, 
+//GO(g_socket_condition_wait, 
+//GO(g_socket_connect, 
+//GO(g_socket_connectable_enumerate, 
+//GO(g_socket_connectable_get_type, 
+//GO(g_socket_connectable_proxy_enumerate, 
+//GO(g_socket_connection_connect, 
+//GO(g_socket_connection_connect_async, 
+//GO(g_socket_connection_connect_finish, 
+//GO(g_socket_connection_factory_create_connection, 
+//GO(g_socket_connection_factory_lookup_type, 
+//GO(g_socket_connection_factory_register_type, 
+//GO(g_socket_connection_get_local_address, 
+//GO(g_socket_connection_get_remote_address, 
+//GO(g_socket_connection_get_socket, 
+//GO(g_socket_connection_get_type, 
+//GO(g_socket_connection_is_connected, 
+//GO(g_socket_control_message_deserialize, 
+//GO(g_socket_control_message_get_level, 
+//GO(g_socket_control_message_get_msg_type, 
+//GO(g_socket_control_message_get_size, 
+//GO(g_socket_control_message_get_type, 
+//GO(g_socket_control_message_serialize, 
+//GO(g_socket_create_source, 
+//GO(g_socket_family_get_type, 
+//GO(g_socket_get_available_bytes, 
+//GO(g_socket_get_blocking, 
+//GO(g_socket_get_broadcast, 
+//GO(g_socket_get_credentials, 
+//GO(g_socket_get_family, 
+//GO(g_socket_get_fd, 
+//GO(g_socket_get_keepalive, 
+//GO(g_socket_get_listen_backlog, 
+//GO(g_socket_get_local_address, 
+//GO(g_socket_get_multicast_loopback, 
+//GO(g_socket_get_multicast_ttl, 
+//GO(g_socket_get_option, 
+//GO(g_socket_get_protocol, 
+//GO(g_socket_get_remote_address, 
+//GO(g_socket_get_socket_type, 
+//GO(g_socket_get_timeout, 
+//GO(g_socket_get_ttl, 
+//GO(g_socket_get_type, 
+//GO(g_socket_is_closed, 
+//GO(g_socket_is_connected, 
+//GO(g_socket_join_multicast_group, 
+//GO(g_socket_leave_multicast_group, 
+//GO(g_socket_listen, 
+//GO(g_socket_listener_accept, 
+//GO(g_socket_listener_accept_async, 
+//GO(g_socket_listener_accept_finish, 
+//GO(g_socket_listener_accept_socket, 
+//GO(g_socket_listener_accept_socket_async, 
+//GO(g_socket_listener_accept_socket_finish, 
+//GO(g_socket_listener_add_address, 
+//GO(g_socket_listener_add_any_inet_port, 
+//GO(g_socket_listener_add_inet_port, 
+//GO(g_socket_listener_add_socket, 
+//GO(g_socket_listener_close, 
+//GO(g_socket_listener_get_type, 
+//GO(g_socket_listener_new, 
+//GO(g_socket_listener_set_backlog, 
+//GO(g_socket_msg_flags_get_type, 
+//GO(g_socket_new, 
+//GO(g_socket_new_from_fd, 
+//GO(g_socket_protocol_get_type, 
+//GO(g_socket_receive, 
+//GO(g_socket_receive_from, 
+//GO(g_socket_receive_message, 
+//GO(g_socket_receive_with_blocking, 
+//GO(g_socket_send, 
+//GO(g_socket_send_message, 
+//GO(g_socket_send_to, 
+//GO(g_socket_send_with_blocking, 
+//GO(g_socket_service_get_type, 
+//GO(g_socket_service_is_active, 
+//GO(g_socket_service_new, 
+//GO(g_socket_service_start, 
+//GO(g_socket_service_stop, 
+//GO(g_socket_set_blocking, 
+//GO(g_socket_set_broadcast, 
+//GO(g_socket_set_keepalive, 
+//GO(g_socket_set_listen_backlog, 
+//GO(g_socket_set_multicast_loopback, 
+//GO(g_socket_set_multicast_ttl, 
+//GO(g_socket_set_option, 
+//GO(g_socket_set_timeout, 
+//GO(g_socket_set_ttl, 
+//GO(g_socket_shutdown, 
+//GO(g_socket_speaks_ipv4, 
+//GO(g_socket_type_get_type, 
+//GO(g_srv_target_copy, 
+//GO(g_srv_target_free, 
+//GO(g_srv_target_get_hostname, 
+//GO(g_srv_target_get_port, 
+//GO(g_srv_target_get_priority, 
+//GO(g_srv_target_get_type, 
+//GO(g_srv_target_get_weight, 
+//GO(g_srv_target_list_sort, 
+//GO(g_srv_target_new, 
+//GO(g_static_resource_fini, 
+//GO(g_static_resource_get_resource, 
+//GO(g_static_resource_init, 
+//GO(g_subprocess_communicate, 
+//GO(g_subprocess_communicate_async, 
+//GO(g_subprocess_communicate_finish, 
+//GO(g_subprocess_communicate_utf8, 
+//GO(g_subprocess_communicate_utf8_async, 
+//GO(g_subprocess_communicate_utf8_finish, 
+//GO(g_subprocess_flags_get_type, 
+//GO(g_subprocess_force_exit, 
+//GO(g_subprocess_get_exit_status, 
+//GO(g_subprocess_get_identifier, 
+//GO(g_subprocess_get_if_exited, 
+//GO(g_subprocess_get_if_signaled, 
+//GO(g_subprocess_get_status, 
+//GO(g_subprocess_get_stderr_pipe, 
+//GO(g_subprocess_get_stdin_pipe, 
+//GO(g_subprocess_get_stdout_pipe, 
+//GO(g_subprocess_get_successful, 
+//GO(g_subprocess_get_term_sig, 
+//GO(g_subprocess_get_type, 
+//GO(g_subprocess_launcher_getenv, 
+//GO(g_subprocess_launcher_get_type, 
+//GO(g_subprocess_launcher_new, 
+//GO(g_subprocess_launcher_set_child_setup, 
+//GO(g_subprocess_launcher_set_cwd, 
+//GO(g_subprocess_launcher_setenv, 
+//GO(g_subprocess_launcher_set_environ, 
+//GO(g_subprocess_launcher_set_flags, 
+//GO(g_subprocess_launcher_set_stderr_file_path, 
+//GO(g_subprocess_launcher_set_stdin_file_path, 
+//GO(g_subprocess_launcher_set_stdout_file_path, 
+//GO(g_subprocess_launcher_spawn, 
+//GO(g_subprocess_launcher_spawnv, 
+//GO(g_subprocess_launcher_take_fd, 
+//GO(g_subprocess_launcher_take_stderr_fd, 
+//GO(g_subprocess_launcher_take_stdin_fd, 
+//GO(g_subprocess_launcher_take_stdout_fd, 
+//GO(g_subprocess_launcher_unsetenv, 
+//GO(g_subprocess_new, 
+//GO(g_subprocess_newv, 
+//GO(g_subprocess_send_signal, 
+//GO(g_subprocess_wait, 
+//GO(g_subprocess_wait_async, 
+//GO(g_subprocess_wait_check, 
+//GO(g_subprocess_wait_check_async, 
+//GO(g_subprocess_wait_check_finish, 
+//GO(g_subprocess_wait_finish, 
+//GO(g_task_attach_source, 
+//GO(g_task_get_cancellable, 
+//GO(g_task_get_check_cancellable, 
+//GO(g_task_get_context, 
+//GO(g_task_get_priority, 
+//GO(g_task_get_return_on_cancel, 
+//GO(g_task_get_source_object, 
+//GO(g_task_get_source_tag, 
+//GO(g_task_get_task_data, 
+//GO(g_task_get_type, 
+//GO(g_task_had_error, 
+//GO(g_task_is_valid, 
+//GO(g_task_new, 
+//GO(g_task_propagate_boolean, 
+//GO(g_task_propagate_int, 
+//GO(g_task_propagate_pointer, 
+//GO(g_task_report_error, 
+//GO(g_task_report_new_error, 
+//GO(g_task_return_boolean, 
+//GO(g_task_return_error, 
+//GO(g_task_return_error_if_cancelled, 
+//GO(g_task_return_int, 
+//GO(g_task_return_new_error, 
+//GO(g_task_return_pointer, 
+//GO(g_task_run_in_thread, 
+//GO(g_task_run_in_thread_sync, 
+//GO(g_task_set_check_cancellable, 
+//GO(g_task_set_priority, 
+//GO(g_task_set_return_on_cancel, 
+//GO(g_task_set_source_tag, 
+//GO(g_task_set_task_data, 
+//GO(g_tcp_connection_get_graceful_disconnect, 
+//GO(g_tcp_connection_get_type, 
+//GO(g_tcp_connection_set_graceful_disconnect, 
+//GO(g_tcp_wrapper_connection_get_base_io_stream, 
+//GO(g_tcp_wrapper_connection_get_type, 
+//GO(g_tcp_wrapper_connection_new, 
+//GO(g_test_dbus_add_service_dir, 
+//GO(g_test_dbus_down, 
+//GO(g_test_dbus_flags_get_type, 
+//GO(g_test_dbus_get_bus_address, 
+//GO(g_test_dbus_get_flags, 
+//GO(g_test_dbus_get_type, 
+//GO(g_test_dbus_new, 
+//GO(g_test_dbus_stop, 
+//GO(g_test_dbus_unset, 
+//GO(g_test_dbus_up, 
+GO(g_themed_icon_append_name, vFpp)
+GO(g_themed_icon_get_names, pFp)
+GO(g_themed_icon_get_type, iFv)
+GO(g_themed_icon_new, pFp)
+GO(g_themed_icon_new_from_names, pFpi)
+GO(g_themed_icon_new_with_default_fallbacks, pFp)
+GO(g_themed_icon_prepend_name, vFpp)
+//GO(g_threaded_resolver_get_type, 
+//GO(g_threaded_socket_service_get_type, 
+//GO(g_threaded_socket_service_new, 
+//GO(g_tls_authentication_mode_get_type, 
+//GO(g_tls_backend_get_certificate_type, 
+//GO(g_tls_backend_get_client_connection_type, 
+//GO(g_tls_backend_get_default, 
+//GO(g_tls_backend_get_default_database, 
+//GO(g_tls_backend_get_file_database_type, 
+//GO(g_tls_backend_get_server_connection_type, 
+//GO(g_tls_backend_get_type, 
+//GO(g_tls_backend_supports_tls, 
+//GO(g_tls_certificate_flags_get_type, 
+//GO(g_tls_certificate_get_issuer, 
+//GO(g_tls_certificate_get_type, 
+//GO(g_tls_certificate_is_same, 
+//GO(g_tls_certificate_list_new_from_file, 
+//GO(g_tls_certificate_new_from_file, 
+//GO(g_tls_certificate_new_from_files, 
+//GO(g_tls_certificate_new_from_pem, 
+//GO(g_tls_certificate_request_flags_get_type, 
+//GO(g_tls_certificate_verify, 
+//GO(g_tls_client_connection_get_accepted_cas, 
+//GO(g_tls_client_connection_get_server_identity, 
+//GO(g_tls_client_connection_get_type, 
+//GO(g_tls_client_connection_get_use_ssl3, 
+//GO(g_tls_client_connection_get_validation_flags, 
+//GO(g_tls_client_connection_new, 
+//GO(g_tls_client_connection_set_server_identity, 
+//GO(g_tls_client_connection_set_use_ssl3, 
+//GO(g_tls_client_connection_set_validation_flags, 
+//GO(g_tls_connection_emit_accept_certificate, 
+//GO(g_tls_connection_get_certificate, 
+//GO(g_tls_connection_get_database, 
+//GO(g_tls_connection_get_interaction, 
+//GO(g_tls_connection_get_peer_certificate, 
+//GO(g_tls_connection_get_peer_certificate_errors, 
+//GO(g_tls_connection_get_rehandshake_mode, 
+//GO(g_tls_connection_get_require_close_notify, 
+//GO(g_tls_connection_get_type, 
+//GO(g_tls_connection_get_use_system_certdb, 
+//GO(g_tls_connection_handshake, 
+//GO(g_tls_connection_handshake_async, 
+//GO(g_tls_connection_handshake_finish, 
+//GO(g_tls_connection_set_certificate, 
+//GO(g_tls_connection_set_database, 
+//GO(g_tls_connection_set_interaction, 
+//GO(g_tls_connection_set_rehandshake_mode, 
+//GO(g_tls_connection_set_require_close_notify, 
+//GO(g_tls_connection_set_use_system_certdb, 
+//GO(g_tls_database_create_certificate_handle, 
+//GO(g_tls_database_get_type, 
+//GO(g_tls_database_lookup_certificate_for_handle, 
+//GO(g_tls_database_lookup_certificate_for_handle_async, 
+//GO(g_tls_database_lookup_certificate_for_handle_finish, 
+//GO(g_tls_database_lookup_certificate_issuer, 
+//GO(g_tls_database_lookup_certificate_issuer_async, 
+//GO(g_tls_database_lookup_certificate_issuer_finish, 
+//GO(g_tls_database_lookup_certificates_issued_by, 
+//GO(g_tls_database_lookup_certificates_issued_by_async, 
+//GO(g_tls_database_lookup_certificates_issued_by_finish, 
+//GO(g_tls_database_lookup_flags_get_type, 
+//GO(g_tls_database_verify_chain, 
+//GO(g_tls_database_verify_chain_async, 
+//GO(g_tls_database_verify_chain_finish, 
+//GO(g_tls_database_verify_flags_get_type, 
+//GO(g_tls_error_get_type, 
+//GO(g_tls_error_quark, 
+//GO(g_tls_file_database_get_type, 
+//GO(g_tls_file_database_new, 
+//GO(g_tls_interaction_ask_password, 
+//GO(g_tls_interaction_ask_password_async, 
+//GO(g_tls_interaction_ask_password_finish, 
+//GO(g_tls_interaction_get_type, 
+//GO(g_tls_interaction_invoke_ask_password, 
+//GO(g_tls_interaction_invoke_request_certificate, 
+//GO(g_tls_interaction_request_certificate, 
+//GO(g_tls_interaction_request_certificate_async, 
+//GO(g_tls_interaction_request_certificate_finish, 
+//GO(g_tls_interaction_result_get_type, 
+//GO(g_tls_password_flags_get_type, 
+//GO(g_tls_password_get_description, 
+//GO(g_tls_password_get_flags, 
+//GO(g_tls_password_get_type, 
+//GO(g_tls_password_get_value, 
+//GO(g_tls_password_get_warning, 
+//GO(g_tls_password_new, 
+//GO(g_tls_password_set_description, 
+//GO(g_tls_password_set_flags, 
+//GO(g_tls_password_set_value, 
+//GO(g_tls_password_set_value_full, 
+//GO(g_tls_password_set_warning, 
+//GO(g_tls_rehandshake_mode_get_type, 
+//GO(g_tls_server_connection_get_type, 
+//GO(g_tls_server_connection_new, 
+//GO(g_unix_connection_get_type, 
+//GO(g_unix_connection_receive_credentials, 
+//GO(g_unix_connection_receive_credentials_async, 
+//GO(g_unix_connection_receive_credentials_finish, 
+//GO(g_unix_connection_receive_fd, 
+//GO(g_unix_connection_send_credentials, 
+//GO(g_unix_connection_send_credentials_async, 
+//GO(g_unix_connection_send_credentials_finish, 
+//GO(g_unix_connection_send_fd, 
+//GO(g_unix_credentials_message_get_credentials, 
+//GO(g_unix_credentials_message_get_type, 
+//GO(g_unix_credentials_message_is_supported, 
+//GO(g_unix_credentials_message_new, 
+//GO(g_unix_credentials_message_new_with_credentials, 
+//GO(g_unix_fd_list_append, 
+//GO(g_unix_fd_list_get, 
+//GO(g_unix_fd_list_get_length, 
+GO(g_unix_fd_list_get_type, iFv)
+//GO(g_unix_fd_list_new, 
+//GO(g_unix_fd_list_new_from_array, 
+//GO(g_unix_fd_list_peek_fds, 
+//GO(g_unix_fd_list_steal_fds, 
+//GO(g_unix_fd_message_append_fd, 
+//GO(g_unix_fd_message_get_fd_list, 
+//GO(g_unix_fd_message_get_type, 
+//GO(g_unix_fd_message_new, 
+//GO(g_unix_fd_message_new_with_fd_list, 
+//GO(g_unix_fd_message_steal_fds, 
+//GO(g_unix_input_stream_get_close_fd, 
+//GO(g_unix_input_stream_get_fd, 
+//GO(g_unix_input_stream_get_type, 
+//GO(g_unix_input_stream_new, 
+//GO(g_unix_input_stream_set_close_fd, 
+//GO(g_unix_is_mount_path_system_internal, 
+//GO(g_unix_mount_at, 
+//GO(g_unix_mount_compare, 
+//GO(g_unix_mount_free, 
+//GO(g_unix_mount_get_device_path, 
+//GO(g_unix_mount_get_fs_type, 
+//GO(g_unix_mount_get_mount_path, 
+//GO(g_unix_mount_guess_can_eject, 
+//GO(g_unix_mount_guess_icon, 
+//GO(g_unix_mount_guess_name, 
+//GO(g_unix_mount_guess_should_display, 
+//GO(g_unix_mount_guess_symbolic_icon, 
+//GO(g_unix_mount_is_readonly, 
+//GO(g_unix_mount_is_system_internal, 
+//GO(g_unix_mount_monitor_get_type, 
+//GO(g_unix_mount_monitor_new, 
+//GO(g_unix_mount_monitor_set_rate_limit, 
+//GO(g_unix_mount_point_compare, 
+//GO(g_unix_mount_point_free, 
+//GO(g_unix_mount_point_get_device_path, 
+//GO(g_unix_mount_point_get_fs_type, 
+//GO(g_unix_mount_point_get_mount_path, 
+//GO(g_unix_mount_point_get_options, 
+//GO(g_unix_mount_point_guess_can_eject, 
+//GO(g_unix_mount_point_guess_icon, 
+//GO(g_unix_mount_point_guess_name, 
+//GO(g_unix_mount_point_guess_symbolic_icon, 
+//GO(g_unix_mount_point_is_loopback, 
+//GO(g_unix_mount_point_is_readonly, 
+//GO(g_unix_mount_point_is_user_mountable, 
+//GO(g_unix_mount_points_changed_since, 
+//GO(g_unix_mount_points_get, 
+//GO(g_unix_mounts_changed_since, 
+//GO(g_unix_mounts_get, 
+//GO(g_unix_output_stream_get_close_fd, 
+//GO(g_unix_output_stream_get_fd, 
+//GO(g_unix_output_stream_get_type, 
+//GO(g_unix_output_stream_new, 
+//GO(g_unix_output_stream_set_close_fd, 
+//GO(g_unix_socket_address_abstract_names_supported, 
+//GO(g_unix_socket_address_get_address_type, 
+//GO(g_unix_socket_address_get_is_abstract, 
+//GO(g_unix_socket_address_get_path, 
+//GO(g_unix_socket_address_get_path_len, 
+//GO(g_unix_socket_address_get_type, 
+//GO(g_unix_socket_address_new, 
+//GO(g_unix_socket_address_new_abstract, 
+//GO(g_unix_socket_address_new_with_type, 
+//GO(g_unix_socket_address_type_get_type, 
+//GO(g_vfs_get_default, 
+//GO(g_vfs_get_file_for_path, 
+//GO(g_vfs_get_file_for_uri, 
+//GO(g_vfs_get_local, 
+//GO(g_vfs_get_supported_uri_schemes, 
+//GO(g_vfs_get_type, 
+//GO(g_vfs_is_active, 
+//GO(g_vfs_parse_name, 
+//GO(g_volume_can_eject, 
+//GO(g_volume_can_mount, 
+//GO(g_volume_eject, 
+//GO(g_volume_eject_finish, 
+//GO(g_volume_eject_with_operation, 
+//GO(g_volume_eject_with_operation_finish, 
+//GO(g_volume_enumerate_identifiers, 
+//GO(g_volume_get_activation_root, 
+//GO(g_volume_get_drive, 
+//GO(g_volume_get_icon, 
+//GO(g_volume_get_identifier, 
+//GO(g_volume_get_mount, 
+//GO(g_volume_get_name, 
+//GO(g_volume_get_sort_key, 
+//GO(g_volume_get_symbolic_icon, 
+//GO(g_volume_get_type, 
+//GO(g_volume_get_uuid, 
+//GO(g_volume_monitor_adopt_orphan_mount, 
+//GO(g_volume_monitor_get, 
+//GO(g_volume_monitor_get_connected_drives, 
+//GO(g_volume_monitor_get_mount_for_uuid, 
+//GO(g_volume_monitor_get_mounts, 
+//GO(g_volume_monitor_get_type, 
+//GO(g_volume_monitor_get_volume_for_uuid, 
+//GO(g_volume_monitor_get_volumes, 
+//GO(g_volume_mount, 
+//GO(g_volume_mount_finish, 
+//GO(g_volume_should_automount, 
+//GO(g_zlib_compressor_format_get_type, 
+//GO(g_zlib_compressor_get_file_info, 
+//GO(g_zlib_compressor_get_type, 
+//GO(g_zlib_compressor_new, 
+//GO(g_zlib_compressor_set_file_info, 
+//GO(g_zlib_decompressor_get_file_info, 
+//GO(g_zlib_decompressor_get_type, 
+//GO(g_zlib_decompressor_new, 
+//GO(_init, 
diff --git a/src/wrapped/wrappedglib2.c b/src/wrapped/wrappedglib2.c
new file mode 100755
index 00000000..e288c8f7
--- /dev/null
+++ b/src/wrapped/wrappedglib2.c
@@ -0,0 +1,1367 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
+#include "gtkclass.h"
+#include "threads.h"
+
+const char* glib2Name = "libglib-2.0.so.0";
+#define LIBNAME glib2
+static library_t* my_lib = NULL;
+
+static char* libname = NULL;
+
+typedef void (*vFp_t)(void*);
+typedef void* (*pFp_t)(void*);
+typedef void  (*vFpp_t)(void*, void*);
+typedef void* (*pFup_t)(uint32_t, void*);
+typedef int  (*iFpp_t)(void*, void*);
+typedef int  (*iFpA_t)(void*, va_list);
+typedef size_t(*LFpA_t)(void*, va_list);
+typedef void* (*pFpp_t)(void*, void*);
+typedef void* (*pFpA_t)(void*, va_list);
+typedef void* (*pFpu_t)(void*, uint32_t);
+typedef uint32_t  (*uFpp_t)(void*, void*);
+typedef int  (*iFppp_t)(void*, void*, void*);
+typedef int  (*iFppA_t)(void*, void*, va_list);
+typedef uint32_t (*uFipp_t)(int, void*, void*);
+typedef uint32_t  (*uFppp_t)(void*, void*, void*);
+typedef void  (*vFppp_t)(void*, void*, void*);
+typedef uint32_t (*uFupp_t)(uint32_t, void*, void*);
+typedef void* (*pFppp_t)(void*, void*, void*);
+typedef void  (*vFppip_t)(void*, void*, int, void*);
+typedef void* (*pFppip_t)(void*, void*, int, void*);
+typedef uint32_t (*uFpipp_t)(void*, int, void*, void*);
+typedef uint32_t (*uFuppp_t)(uint32_t, void*, void*, void*);
+typedef uint32_t (*uFippp_t)(int, void*, void*, void*);
+typedef uint32_t (*uFiuppp_t)(int, uint32_t, void*, void*, void*);
+typedef void (*vFpiLpp_t)(void*, int, unsigned long, void*, void*);
+typedef void* (*pFpppp_t)(void*, void*, void*, void*);
+typedef void (*vFpppp_t)(void*, void*, void*, void*);
+typedef void (*vFpupp_t)(void*, uint32_t, void*, void*);
+typedef int (*iFpLpp_t)(void*, unsigned long, void*, void*);
+typedef int (*iFpLpA_t)(void*, unsigned long, void*, va_list);
+typedef void* (*pFpupp_t)(void*, uint32_t, void*, void*);
+typedef uint32_t (*uFiippp_t)(int, int, void*, void*, void*);
+typedef uint32_t (*uFpiippp_t)(void*, int, int, void*, void*, void*);
+typedef int (*iFpupppp_t)(void*, uint32_t, void*, void*, void*, void*);
+typedef void* (*pFppuipp_t)(void*, void*, uint32_t, int32_t, void*, void*);
+typedef void* (*pFppLiiip_t)(void*, void*, unsigned long, int, int, int, void*);
+typedef int (*iFpppipppp_t)(void*, void*, void*, int, void*, void*, void*, void*);
+typedef int (*iFpppipppppp_t)(void*, void*, void*, int, void*, void*, void*, void*, void*, void*);
+typedef int (*iFpppippppppp_t)(void*, void*, void*, int, void*, void*, void*, void*, void*, void*, void*);
+
+#define SUPER() \
+    GO(g_list_free_full, vFpp_t)                \
+    GO(g_markup_vprintf_escaped, pFpA_t)        \
+    GO(g_build_filenamev, pFp_t)                \
+    GO(g_timeout_add_full, uFiuppp_t)            \
+    GO(g_datalist_id_set_data_full, vFpupp_t)   \
+    GO(g_datalist_id_dup_data, pFpupp_t)        \
+    GO(g_datalist_id_replace_data, iFpupppp_t)  \
+    GO(g_variant_new_from_data, pFppuipp_t)     \
+    GO(g_variant_new_parsed_va, pFpp_t)         \
+    GO(g_variant_get_va, vFpppp_t)              \
+    GO(g_strdup_vprintf, pFpA_t)                \
+    GO(g_vprintf, iFpA_t)                       \
+    GO(g_vfprintf, iFppA_t)                     \
+    GO(g_vsprintf, iFppA_t)                     \
+    GO(g_vsnprintf, iFpLpA_t)                   \
+    GO(g_vasprintf, iFppA_t)                    \
+    GO(g_printf_string_upper_bound, LFpA_t)     \
+    GO(g_source_new, pFpu_t)                    \
+    GO(g_source_set_funcs, vFpp_t)              \
+    GO(g_source_remove_by_funcs_user_data, iFpp_t) \
+    GO(g_main_context_get_poll_func, pFp_t)     \
+    GO(g_main_context_set_poll_func, vFpp_t)    \
+    GO(g_print, vFp_t)                          \
+    GO(g_printerr, vFp_t)                       \
+    GO(g_idle_add_full, uFippp_t)               \
+    GO(g_hash_table_new, pFpp_t)                \
+    GO(g_hash_table_new_full, pFpppp_t)         \
+    GO(g_hash_table_foreach, vFppp_t)           \
+    GO(g_hash_table_foreach_remove, uFppp_t)    \
+    GO(g_hash_table_foreach_steal, uFppp_t)     \
+    GO(g_hash_table_find, pFppp_t)              \
+    GO(g_spawn_async_with_pipes, iFpppippppppp_t)\
+    GO(g_spawn_async, iFpppipppp_t)             \
+    GO(g_spawn_sync, iFpppipppppp_t)            \
+    GO(g_child_watch_add, uFipp_t)              \
+    GO(g_child_watch_add_full, uFiippp_t)       \
+    GO(g_private_new, pFp_t)                    \
+    GO(g_static_private_set, vFppp_t)           \
+    GO(g_ptr_array_new_with_free_func, pFp_t)   \
+    GO(g_ptr_array_new_full, pFup_t)            \
+    GO(g_ptr_array_set_free_func, vFpp_t)       \
+    GO(g_ptr_array_sort, vFpp_t)                \
+    GO(g_ptr_array_sort_with_data, vFppp_t)     \
+    GO(g_ptr_array_foreach, vFppp_t)            \
+    GO(g_qsort_with_data, vFpiLpp_t)            \
+    GO(g_thread_create, pFppip_t)               \
+    GO(g_thread_create_full, pFppLiiip_t)       \
+    GO(g_thread_foreach, vFpp_t)                \
+    GO(g_array_sort, vFpp_t)                    \
+    GO(g_array_sort_with_data, vFppp_t)         \
+    GO(g_array_set_clear_func, vFpp_t)          \
+    GO(g_source_set_callback, vFpppp_t)         \
+    GO(g_slist_insert_sorted, pFppp_t)          \
+    GO(g_slist_insert_sorted_with_data, pFpppp_t)   \
+    GO(g_slist_foreach, pFppp_t)                \
+    GO(g_slist_find_custom, pFppp_t)            \
+    GO(g_idle_add, uFpp_t)                      \
+    GO(g_variant_new_va, pFppp_t)               \
+    GO(g_completion_new, pFp_t)                 \
+    GO(g_completion_set_compare, vFpp_t)        \
+    GO(g_log_set_default_handler, pFpp_t)       \
+    GO(g_io_add_watch, uFpipp_t)                \
+    GO(g_io_add_watch_full, uFpiippp_t)         \
+    GO(g_set_print_handler, pFp_t)              \
+    GO(g_set_printerr_handler, pFp_t)           \
+    GO(g_slist_sort, pFpp_t)                    \
+    GO(g_slist_sort_with_data, pFppp_t)         \
+    GO(g_build_pathv, pFpp_t)                   \
+    GO(g_list_sort, pFpp_t)                     \
+    GO(g_list_sort_with_data, pFppp_t)          \
+    GO(g_queue_find_custom, pFppp_t)            \
+    GO(g_list_find_custom, pFppp_t)             \
+    GO(g_timeout_add_seconds, uFupp_t)          \
+    GO(g_timeout_add_seconds_full, uFiuppp_t)   \
+    GO(g_log_set_handler, uFpipp_t)             \
+    GO(g_set_error_literal, vFppip_t)           \
+
+
+typedef struct glib2_my_s {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+} glib2_my_t;
+
+void* getGlib2My(library_t* lib)
+{
+    glib2_my_t* my = (glib2_my_t*)calloc(1, sizeof(glib2_my_t));
+    #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
+    SUPER()
+    #undef GO
+    return my;
+}
+#undef SUPER
+
+void freeGlib2My(void* lib)
+{
+    //glib2_my_t *my = (glib2_my_t *)lib;
+}
+
+EXPORT void* my_g_markup_vprintf_escaped(x64emu_t *emu, void* fmt, void* b) {
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    // need to align on arm
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 1);
+    PREPARE_VALIST;
+    return my->g_markup_vprintf_escaped(fmt, VARARGS);
+}
+
+EXPORT void* my_g_build_filename(x64emu_t* emu, void* first, void** b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    int i = 0;
+    while (b[i++]);
+    void* array[i+1];   // +1 for 1st (NULL terminal already included)
+    array[0] = first;
+    memcpy(array+1, b, sizeof(void*)*i);
+    void* ret = my->g_build_filenamev(array);
+    return ret;
+}
+
+static int my_timeout_cb(my_signal_t* sig)
+{
+    return (int)RunFunction(my_context, sig->c_handler, 1, sig->data);
+}
+EXPORT uint32_t my_g_timeout_add(x64emu_t* emu, uint32_t interval, void* func, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my_signal_t *sig = new_mysignal(func, data, NULL);
+    return my->g_timeout_add_full(0, interval, my_timeout_cb, sig, my_signal_delete);
+}
+typedef int (*GSourceFunc) (void* user_data);
+
+typedef struct my_GSourceFuncs_s {
+  int  (*prepare)  (void* source, int* timeout_);
+  int  (*check)    (void* source);
+  int  (*dispatch) (void* source, GSourceFunc callback,void* user_data);
+  void (*finalize) (void* source);
+} my_GSourceFuncs_t;
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)   \
+GO(4)   \
+GO(5)   \
+GO(6)   \
+GO(7)
+
+// GCopyFct
+/*#define GO(A)   \
+static uintptr_t my_copy_fct_##A = 0;   \
+static void* my_copy_##A(void* data)     \
+{                                       \
+    return (void*)RunFunction(my_context, my_copy_fct_##A, 1, data);\
+}
+SUPER()
+#undef GO
+static void* findCopyFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_copy_fct_##A == (uintptr_t)fct) return my_copy_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_copy_fct_##A == 0) {my_copy_fct_##A = (uintptr_t)fct; return my_copy_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 Copy callback\n");
+    return NULL;
+}*/
+// GFreeFct
+#define GO(A)   \
+static uintptr_t my_free_fct_##A = 0;   \
+static void my_free_##A(void* data)     \
+{                                       \
+    RunFunction(my_context, my_free_fct_##A, 1, data);\
+}
+SUPER()
+#undef GO
+static void* findFreeFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_free_fct_##A == (uintptr_t)fct) return my_free_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_free_fct_##A == 0) {my_free_fct_##A = (uintptr_t)fct; return my_free_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 Free callback\n");
+    return NULL;
+}
+// GDuplicateFct
+#define GO(A)   \
+static uintptr_t my_duplicate_fct_##A = 0;   \
+static void* my_duplicate_##A(void* data)     \
+{                                       \
+    return (void*)RunFunction(my_context, my_duplicate_fct_##A, 1, data);\
+}
+SUPER()
+#undef GO
+static void* findDuplicateFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_duplicate_fct_##A == (uintptr_t)fct) return my_duplicate_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_duplicate_fct_##A == 0) {my_duplicate_fct_##A = (uintptr_t)fct; return my_duplicate_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 Duplicate callback\n");
+    return NULL;
+}
+// GSourceFuncs....
+// g_source_new callback. First the structure GSourceFuncs statics, with paired x64 source pointer
+#define GO(A) \
+static my_GSourceFuncs_t     my_gsourcefuncs_##A = {0};   \
+static my_GSourceFuncs_t   *ref_gsourcefuncs_##A = NULL;
+SUPER()
+#undef GO
+// then the static functions callback that may be used with the structure, but dispatch also have a callback...
+#define GO(A)   \
+static uintptr_t fct_funcs_prepare_##A = 0;  \
+static int my_funcs_prepare_##A(void* source, int timeout_) {   \
+    return (int)RunFunction(my_context, fct_funcs_prepare_##A, 2, source, timeout_);    \
+}   \
+static uintptr_t fct_funcs_check_##A = 0;  \
+static int my_funcs_check_##A(void* source) {   \
+    return (int)RunFunction(my_context, fct_funcs_check_##A, 1, source);    \
+}   \
+static uintptr_t fct_funcs_dispatch_cb_##A = 0; \
+static int my_funcs_dispatch_cb_##A(void* a, void* b, void* c, void* d) {   \
+    return (int)RunFunction(my_context, fct_funcs_dispatch_cb_##A, 4, a, b, c, d);    \
+}   \
+static uintptr_t fct_funcs_dispatch_##A = 0;  \
+static int my_funcs_dispatch_##A(void* source, void* cb, void* data) {   \
+    uintptr_t old = fct_funcs_dispatch_cb_##A;  \
+    fct_funcs_dispatch_cb_##A = (uintptr_t)cb;  \
+    return (int)RunFunction(my_context, fct_funcs_dispatch_##A, 3, source, cb?my_funcs_dispatch_cb_##A:NULL, data);    \
+    fct_funcs_dispatch_cb_##A = old;    \
+}   \
+static uintptr_t fct_funcs_finalize_##A = 0;  \
+static int my_funcs_finalize_##A(void* source) {   \
+    return (int)RunFunction(my_context, fct_funcs_finalize_##A, 1, source);    \
+}
+SUPER()
+#undef GO
+// and now the get slot / assign... Taking into account that the desired callback may already be a wrapped one (so unwrapping it)
+static my_GSourceFuncs_t* findFreeGSourceFuncs(my_GSourceFuncs_t* fcts)
+{
+    if(!fcts) return fcts;
+    #define GO(A) if(ref_gsourcefuncs_##A == fcts) return &my_gsourcefuncs_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(ref_gsourcefuncs_##A == 0) {   \
+        ref_gsourcefuncs_##A = fcts;                 \
+        my_gsourcefuncs_##A.prepare = (fcts->prepare)?((GetNativeFnc((uintptr_t)fcts->prepare))?GetNativeFnc((uintptr_t)fcts->prepare):my_funcs_prepare_##A):NULL;    \
+        fct_funcs_prepare_##A = (uintptr_t)fcts->prepare;                            \
+        my_gsourcefuncs_##A.check = (fcts->check)?((GetNativeFnc((uintptr_t)fcts->check))?GetNativeFnc((uintptr_t)fcts->check):my_funcs_check_##A):NULL;    \
+        fct_funcs_check_##A = (uintptr_t)fcts->check;                            \
+        my_gsourcefuncs_##A.dispatch = (fcts->dispatch)?((GetNativeFnc((uintptr_t)fcts->dispatch))?GetNativeFnc((uintptr_t)fcts->dispatch):my_funcs_dispatch_##A):NULL;    \
+        fct_funcs_dispatch_##A = (uintptr_t)fcts->dispatch;                            \
+        my_gsourcefuncs_##A.finalize = (fcts->finalize)?((GetNativeFnc((uintptr_t)fcts->finalize))?GetNativeFnc((uintptr_t)fcts->finalize):my_funcs_finalize_##A):NULL;    \
+        fct_funcs_finalize_##A = (uintptr_t)fcts->finalize;                            \
+        return &my_gsourcefuncs_##A;                \
+    }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GSourceFuncs callback\n");
+    return NULL;
+}
+
+// PollFunc ...
+#define GO(A)   \
+static uintptr_t my_poll_fct_##A = 0;   \
+static int my_poll_##A(void* ufds, uint32_t nfsd, int32_t timeout_)     \
+{                                       \
+    return RunFunction(my_context, my_poll_fct_##A, 3, ufds, nfsd, timeout_);\
+}
+SUPER()
+#undef GO
+static void* findPollFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_poll_fct_##A == (uintptr_t)fct) return my_poll_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_poll_fct_##A == 0) {my_poll_fct_##A = (uintptr_t)fct; return my_poll_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 Poll callback\n");
+    return NULL;
+}
+
+static void* reversePollFct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if((uintptr_t)fct == my_poll_fct_##A) return (void*)my_poll_fct_##A;
+    SUPER()
+    #undef GO
+    return NULL;
+}
+
+// GHashFunc ...
+#define GO(A)   \
+static uintptr_t my_hashfunc_fct_##A = 0;   \
+static uint32_t my_hashfunc_##A(void* key)     \
+{                                       \
+    return (uint32_t)RunFunction(my_context, my_hashfunc_fct_##A, 1, key);\
+}
+SUPER()
+#undef GO
+static void* findHashFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_hashfunc_fct_##A == (uintptr_t)fct) return my_hashfunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_hashfunc_fct_##A == 0) {my_hashfunc_fct_##A = (uintptr_t)fct; return my_hashfunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GHashFunc callback\n");
+    return NULL;
+}
+// GEqualFunc ...
+#define GO(A)   \
+static uintptr_t my_equalfunc_fct_##A = 0;   \
+static int my_equalfunc_##A(void* a, void* b)     \
+{                                       \
+    return RunFunction(my_context, my_equalfunc_fct_##A, 2, a, b);\
+}
+SUPER()
+#undef GO
+static void* findEqualFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_equalfunc_fct_##A == (uintptr_t)fct) return my_equalfunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_equalfunc_fct_##A == 0) {my_equalfunc_fct_##A = (uintptr_t)fct; return my_equalfunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GEqualFunc callback\n");
+    return NULL;
+}
+// GDestroyFunc ...
+#define GO(A)   \
+static uintptr_t my_destroyfunc_fct_##A = 0;   \
+static int my_destroyfunc_##A(void* a, void* b)     \
+{                                       \
+    return RunFunction(my_context, my_destroyfunc_fct_##A, 2, a, b);\
+}
+SUPER()
+#undef GO
+static void* findDestroyFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_destroyfunc_fct_##A == (uintptr_t)fct) return my_destroyfunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_destroyfunc_fct_##A == 0) {my_destroyfunc_fct_##A = (uintptr_t)fct; return my_destroyfunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GDestroyNotify callback\n");
+    return NULL;
+}
+// GSpawnChildSetupFunc ...
+#define GO(A)   \
+static uintptr_t my_spwnchildsetup_fct_##A = 0;   \
+static void my_spwnchildsetup_##A(void* data)     \
+{                                       \
+    RunFunction(my_context, my_spwnchildsetup_fct_##A, 1, data);\
+}
+SUPER()
+#undef GO
+static void* findSpawnChildSetupFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_spwnchildsetup_fct_##A == (uintptr_t)fct) return my_spwnchildsetup_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_spwnchildsetup_fct_##A == 0) {my_spwnchildsetup_fct_##A = (uintptr_t)fct; return my_spwnchildsetup_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GSpawnChildSetup callback\n");
+    return NULL;
+}
+// GSourceFunc ...
+#define GO(A)   \
+static uintptr_t my_GSourceFunc_fct_##A = 0;   \
+static void my_GSourceFunc_##A(void* a, void* b, void* c, void* d)     \
+{                                       \
+    RunFunction(my_context, my_GSourceFunc_fct_##A, 4, a, b, c, d);\
+}
+SUPER()
+#undef GO
+static void* findGSourceFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GSourceFunc_fct_##A == (uintptr_t)fct) return my_GSourceFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GSourceFunc_fct_##A == 0) {my_GSourceFunc_fct_##A = (uintptr_t)fct; return my_GSourceFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GSourceFunc callback\n");
+    return NULL;
+}
+// GCompareFunc ...
+#define GO(A)   \
+static uintptr_t my_GCompareFunc_fct_##A = 0;   \
+static int my_GCompareFunc_##A(void* a, void* b)     \
+{                                       \
+    return (int)RunFunction(my_context, my_GCompareFunc_fct_##A, 2, a, b);\
+}
+SUPER()
+#undef GO
+static void* findGCompareFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GCompareFunc_fct_##A == (uintptr_t)fct) return my_GCompareFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GCompareFunc_fct_##A == 0) {my_GCompareFunc_fct_##A = (uintptr_t)fct; return my_GCompareFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GCompareFunc callback\n");
+    return NULL;
+}
+// GCompareDataFunc ...
+#define GO(A)   \
+static uintptr_t my_GCompareDataFunc_fct_##A = 0;                   \
+static int my_GCompareDataFunc_##A(void* a, void* b, void* data)    \
+{                                       \
+    return (int)RunFunction(my_context, my_GCompareDataFunc_fct_##A, 3, a, b, data);\
+}
+SUPER()
+#undef GO
+static void* findGCompareDataFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GCompareDataFunc_fct_##A == (uintptr_t)fct) return my_GCompareDataFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GCompareDataFunc_fct_##A == 0) {my_GCompareDataFunc_fct_##A = (uintptr_t)fct; return my_GCompareDataFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GCompareDataFunc callback\n");
+    return NULL;
+}
+// GCompletionFunc ...
+#define GO(A)   \
+static uintptr_t my_GCompletionFunc_fct_##A = 0;                            \
+static void* my_GCompletionFunc_##A(void* a)                                \
+{                                                                           \
+    return (void*)RunFunction(my_context, my_GCompletionFunc_fct_##A, 1, a);\
+}
+SUPER()
+#undef GO
+static void* findGCompletionFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GCompletionFunc_fct_##A == (uintptr_t)fct) return my_GCompletionFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GCompletionFunc_fct_##A == 0) {my_GCompletionFunc_fct_##A = (uintptr_t)fct; return my_GCompletionFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GCompletionFunc callback\n");
+    return NULL;
+}
+// GCompletionStrncmpFunc ...
+#define GO(A)   \
+static uintptr_t my_GCompletionStrncmpFunc_fct_##A = 0;                                 \
+static int my_GCompletionStrncmpFunc_##A(void* a, void* b, unsigned long n)             \
+{                                                                                       \
+    return (int)RunFunction(my_context, my_GCompletionStrncmpFunc_fct_##A, 3, a, b, n); \
+}
+SUPER()
+#undef GO
+static void* findGCompletionStrncmpFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GCompletionStrncmpFunc_fct_##A == (uintptr_t)fct) return my_GCompletionStrncmpFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GCompletionStrncmpFunc_fct_##A == 0) {my_GCompletionStrncmpFunc_fct_##A = (uintptr_t)fct; return my_GCompletionStrncmpFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GCompletionStrncmpFunc callback\n");
+    return NULL;
+}
+// GIOFunc ...
+#define GO(A)   \
+static uintptr_t my_GIOFunc_fct_##A = 0;                                 \
+static int my_GIOFunc_##A(void* a, int b, void* c)             \
+{                                                                                       \
+    return (int)RunFunction(my_context, my_GIOFunc_fct_##A, 3, a, b, c); \
+}
+SUPER()
+#undef GO
+static void* findGIOFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GIOFunc_fct_##A == (uintptr_t)fct) return my_GIOFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GIOFunc_fct_##A == 0) {my_GIOFunc_fct_##A = (uintptr_t)fct; return my_GIOFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GIOFunc callback\n");
+    return NULL;
+}
+// GDestroyNotify ...
+#define GO(A)   \
+static uintptr_t my_GDestroyNotify_fct_##A = 0;                 \
+static void my_GDestroyNotify_##A(void* a)                      \
+{                                                               \
+    RunFunction(my_context, my_GDestroyNotify_fct_##A, 1, a);   \
+}
+SUPER()
+#undef GO
+static void* findGDestroyNotifyFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GDestroyNotify_fct_##A == (uintptr_t)fct) return my_GDestroyNotify_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GDestroyNotify_fct_##A == 0) {my_GDestroyNotify_fct_##A = (uintptr_t)fct; return my_GDestroyNotify_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GDestroyNotify callback\n");
+    return NULL;
+}
+// GFunc ...
+#define GO(A)   \
+static uintptr_t my_GFunc_fct_##A = 0;                  \
+static void my_GFunc_##A(void* a, void* b)              \
+{                                                       \
+    RunFunction(my_context, my_GFunc_fct_##A, 2, a, b); \
+}
+SUPER()
+#undef GO
+static void* findGFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GFunc_fct_##A == (uintptr_t)fct) return my_GFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GFunc_fct_##A == 0) {my_GFunc_fct_##A = (uintptr_t)fct; return my_GFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GFunc callback\n");
+    return NULL;
+}
+// GHFunc ...
+#define GO(A)   \
+static uintptr_t my_GHFunc_fct_##A = 0;                     \
+static void my_GHFunc_##A(void* a, void* b, void* c)        \
+{                                                           \
+    RunFunction(my_context, my_GHFunc_fct_##A, 3, a, b, c); \
+}
+SUPER()
+#undef GO
+static void* findGHFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GHFunc_fct_##A == (uintptr_t)fct) return my_GHFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GHFunc_fct_##A == 0) {my_GHFunc_fct_##A = (uintptr_t)fct; return my_GHFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GHFunc callback\n");
+    return NULL;
+}
+// GHRFunc ...
+#define GO(A)   \
+static uintptr_t my_GHRFunc_fct_##A = 0;                            \
+static int my_GHRFunc_##A(void* a, void* b, void* c)                \
+{                                                                   \
+    return RunFunction(my_context, my_GHRFunc_fct_##A, 3, a, b, c); \
+}
+SUPER()
+#undef GO
+static void* findGHRFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GHRFunc_fct_##A == (uintptr_t)fct) return my_GHRFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GHRFunc_fct_##A == 0) {my_GHRFunc_fct_##A = (uintptr_t)fct; return my_GHRFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GHRFunc callback\n");
+    return NULL;
+}
+// GChildWatchFunc ...
+#define GO(A)   \
+static uintptr_t my_GChildWatchFunc_fct_##A = 0;                        \
+static void my_GChildWatchFunc_##A(int a, int b, void* c)               \
+{                                                                       \
+    RunFunction(my_context, my_GChildWatchFunc_fct_##A, 3, a, b, c);    \
+}
+SUPER()
+#undef GO
+static void* findGChildWatchFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GChildWatchFunc_fct_##A == (uintptr_t)fct) return my_GChildWatchFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GChildWatchFunc_fct_##A == 0) {my_GChildWatchFunc_fct_##A = (uintptr_t)fct; return my_GChildWatchFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GChildWatchFunc callback\n");
+    return NULL;
+}
+// GLogFunc ...
+#define GO(A)   \
+static uintptr_t my_GLogFunc_fct_##A = 0;                           \
+static void my_GLogFunc_##A(void* a, int b, void* c, void* d)       \
+{                                                                   \
+    RunFunction(my_context, my_GLogFunc_fct_##A, 4, a, b, c, d);    \
+}
+SUPER()
+#undef GO
+static void* findGLogFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GLogFunc_fct_##A == (uintptr_t)fct) return my_GLogFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GLogFunc_fct_##A == 0) {my_GLogFunc_fct_##A = (uintptr_t)fct; return my_GLogFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GLogFunc callback\n");
+    return NULL;
+}
+static void* reverseGLogFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if((uintptr_t)fct == my_GLogFunc_fct_##A) return (void*)my_GLogFunc_fct_##A;
+    SUPER()
+    #undef GO
+    return NULL;
+}
+// GPrintFunc ...
+#define GO(A)   \
+static uintptr_t my_GPrintFunc_fct_##A = 0;                     \
+static void my_GPrintFunc_##A(void* a)                          \
+{                                                               \
+    RunFunction(my_context, my_GPrintFunc_fct_##A, 1, a);       \
+}
+SUPER()
+#undef GO
+static void* findGPrintFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GPrintFunc_fct_##A == (uintptr_t)fct) return my_GPrintFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GPrintFunc_fct_##A == 0) {my_GPrintFunc_fct_##A = (uintptr_t)fct; return my_GPrintFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for glib2 GPrintFunc callback\n");
+    return NULL;
+}
+static void* reverseGPrintFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if((uintptr_t)fct == my_GPrintFunc_fct_##A) return (void*)my_GPrintFunc_fct_##A;
+    SUPER()
+    #undef GO
+    return NULL;
+}
+
+#undef SUPER
+
+EXPORT void my_g_list_free_full(x64emu_t* emu, void* list, void* free_func)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    my->g_list_free_full(list, findFreeFct(free_func));
+}
+
+EXPORT void* my_g_markup_printf_escaped(x64emu_t *emu, void* fmt, void* b) {
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    // need to align on arm
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 1);
+    PREPARE_VALIST;
+    return my->g_markup_vprintf_escaped(fmt, VARARGS);
+}
+
+
+EXPORT void my_g_datalist_id_set_data_full(x64emu_t* emu, void* datalist, uint32_t key, void* data, void* freecb)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    void* fc = findFreeFct(freecb);
+    my->g_datalist_id_set_data_full(datalist, key, data, fc);
+}
+
+EXPORT void* my_g_datalist_id_dup_data(x64emu_t* emu, void* datalist, uint32_t key, void* dupcb, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    void* cc = findDuplicateFct(dupcb);
+    return my->g_datalist_id_dup_data(datalist, key, cc, data);
+}
+
+EXPORT int my_g_datalist_id_replace_data(x64emu_t* emu, void* datalist, uint32_t key, void* oldval, void* newval, void* oldfree, void* newfree)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    void* oldfc = findFreeFct(oldfree);
+    void* newfc = findFreeFct(newfree);
+    return my->g_datalist_id_replace_data(datalist, key, oldval, newval, oldfc, newfc);
+}
+
+EXPORT void* my_g_variant_new_from_data(x64emu_t* emu, void* type, void* data, uint32_t size, int trusted, void* freecb, void* datacb)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    void* fc = findFreeFct(freecb);
+    return my->g_variant_new_from_data(type, data, size, trusted, fc, datacb);
+}
+
+EXPORT void* my_g_variant_new_parsed_va(x64emu_t* emu, void* fmt, x64_va_list_t b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    CONVERT_VALIST(b);
+    return my->g_variant_new_parsed_va(fmt, &VARARGS);
+}
+
+EXPORT void my_g_variant_get(x64emu_t* emu, void* value, void* fmt, uint64_t* V)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    CREATE_VALIST_FROM_VAARG(V, emu->scratch, 2);
+    my->g_variant_get_va(value, fmt, NULL, &VARARGS);
+}
+
+EXPORT void* my_g_strdup_vprintf(x64emu_t* emu, void* fmt, void* b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 1);
+    PREPARE_VALIST;
+    return my->g_strdup_vprintf(fmt, VARARGS);
+}
+
+EXPORT int my_g_vprintf(x64emu_t* emu, void* fmt, void* b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 1);
+    PREPARE_VALIST;
+    return my->g_vprintf(fmt, VARARGS);
+}
+
+EXPORT int my_g_vfprintf(x64emu_t* emu, void* F, void* fmt, void* b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 2);
+    PREPARE_VALIST;
+    return my->g_vfprintf(F, fmt, VARARGS);
+}
+
+EXPORT int my_g_vsprintf(x64emu_t* emu, void* s, void* fmt, void* b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 2);
+    PREPARE_VALIST;
+    return my->g_vsprintf(s, fmt, VARARGS);
+}
+
+EXPORT int my_g_vsnprintf(x64emu_t* emu, void* s, unsigned long n, void* fmt, void* b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 3);
+    PREPARE_VALIST;
+    return my->g_vsnprintf(s, n, fmt, VARARGS);
+}
+
+EXPORT int my_g_vasprintf(x64emu_t* emu, void* s, void* fmt, void* b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 2);
+    PREPARE_VALIST;
+    return my->g_vasprintf(s, fmt, VARARGS);
+}
+
+EXPORT uint32_t my_g_printf_string_upper_bound(x64emu_t* emu, void* fmt, void* b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 1);
+    PREPARE_VALIST;
+    return my->g_printf_string_upper_bound(fmt, VARARGS);
+}
+
+EXPORT void my_g_print(x64emu_t* emu, void* fmt, void* b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    char* buf = NULL;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 1);
+    PREPARE_VALIST;
+    int ret = vasprintf(&buf, fmt, VARARGS);
+    (void)ret;
+    my->g_print(buf);
+    free(buf);
+}
+
+EXPORT void my_g_printerr(x64emu_t* emu, void* fmt, void* b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    char* buf = NULL;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 1);
+    PREPARE_VALIST;
+    int ret = vasprintf(&buf, fmt, VARARGS);
+    (void)ret;
+    my->g_printerr(buf);
+    free(buf);
+}
+
+EXPORT void* my_g_source_new(x64emu_t* emu, my_GSourceFuncs_t* source_funcs, uint32_t struct_size)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_source_new(findFreeGSourceFuncs(source_funcs), struct_size);
+}
+
+EXPORT void my_g_source_set_funcs(x64emu_t* emu, void* source, my_GSourceFuncs_t* source_funcs)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_source_set_funcs(source, findFreeGSourceFuncs(source_funcs));
+}
+
+
+EXPORT int my_g_source_remove_by_funcs_user_data(x64emu_t* emu, my_GSourceFuncs_t* source_funcs, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_source_remove_by_funcs_user_data(findFreeGSourceFuncs(source_funcs), data);
+}
+
+EXPORT void* my_g_main_context_get_poll_func(x64emu_t* emu, void* context)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    void* ret = my->g_main_context_get_poll_func(context);
+    if(!ret) return ret;
+    void* r = reversePollFct(ret);
+    if(r) return r;
+    // needs to bridge....
+    return (void*)AddCheckBridge(my_lib->priv.w.bridge, iFpui, ret, 0, NULL);
+}
+    
+EXPORT void my_g_main_context_set_poll_func(x64emu_t* emu, void* context, void* func)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_main_context_set_poll_func(context, findPollFct(func));
+}
+
+EXPORT uint32_t my_g_idle_add_full(x64emu_t* emu, int priority, void* f, void* data, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    if(!f)
+        return my->g_idle_add_full(priority, f, data, notify);
+
+    my_signal_t *sig = new_mysignal(f, data, notify);
+    printf_log(LOG_DEBUG, "glib2 Idle CB with priority %d created for %p, sig=%p\n", priority, f, sig);
+    return my->g_idle_add_full(priority, my_timeout_cb, sig, my_signal_delete);
+}
+
+EXPORT void* my_g_hash_table_new(x64emu_t* emu, void* hash, void* equal)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_hash_table_new(findHashFct(hash), findEqualFct(equal));
+}
+
+EXPORT void* my_g_hash_table_new_full(x64emu_t* emu, void* hash, void* equal, void* destroy_key, void* destroy_val)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_hash_table_new_full(findHashFct(hash), findEqualFct(equal), findDestroyFct(destroy_key), findDestroyFct(destroy_val));
+}
+
+EXPORT void my_g_hash_table_foreach(x64emu_t* emu, void* table, void* f, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_hash_table_foreach(table, findGHFuncFct(f), data);
+}
+
+EXPORT uint32_t my_g_hash_table_foreach_remove(x64emu_t* emu, void* table, void* f, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    
+    return my->g_hash_table_foreach_remove(table, findGHRFuncFct(f), data);
+}
+EXPORT uint32_t my_g_hash_table_foreach_steal(x64emu_t* emu, void* table, void* f, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    
+    return my->g_hash_table_foreach_steal(table, findGHRFuncFct(f), data);
+}
+EXPORT void* my_g_hash_table_find(x64emu_t* emu, void* table, void* f, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    
+    return my->g_hash_table_find(table, findGHRFuncFct(f), data);
+}
+
+EXPORT int my_g_spawn_async_with_pipes(x64emu_t* emu, void* dir, void* argv, void* envp, int flags, void* f, void* data, void* child, void* input, void* output, void* err, void* error)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_spawn_async_with_pipes(dir, argv, envp, flags, findSpawnChildSetupFct(f), data, child, input, output, err, error);
+}
+
+EXPORT int my_g_spawn_async(x64emu_t* emu, void* dir, void* argv, void* envp, int flags, void* f, void* data, void* child, void* error)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_spawn_async(dir, argv, envp, flags, findSpawnChildSetupFct(f), data, child, error);
+}
+
+EXPORT int my_g_spawn_sync(x64emu_t* emu, void* dir, void* argv, void* envp, int flags, void* f, void* data, void* input, void* output, void* status, void* error)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_spawn_sync(dir, argv, envp, flags, findSpawnChildSetupFct(f), data, input, output, status, error);
+}
+
+EXPORT uint32_t my_g_child_watch_add(x64emu_t* emu, int pid, void* f, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_child_watch_add(pid, findGChildWatchFuncFct(f), data);
+}
+
+EXPORT uint32_t my_g_child_watch_add_full(x64emu_t* emu, int priority, int pid, void* f, void* data, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_idle_add_full(priority, findGChildWatchFuncFct(f), data, findGDestroyNotifyFct(notify));
+}
+
+EXPORT void* my_g_private_new(x64emu_t* emu, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_private_new(findFreeFct(notify));
+}
+
+EXPORT void my_g_static_private_set(x64emu_t* emu, void* private, void* data, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_static_private_set(private, data, findFreeFct(notify));
+}
+
+EXPORT void* my_g_ptr_array_new_with_free_func(x64emu_t* emu, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_ptr_array_new_with_free_func(findFreeFct(notify));
+}
+
+EXPORT void* my_g_ptr_array_new_full(x64emu_t* emu, uint32_t size, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_ptr_array_new_full(size, findFreeFct(notify));
+}
+
+EXPORT void my_g_ptr_array_set_free_func(x64emu_t* emu, void* array, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_ptr_array_set_free_func(array, findFreeFct(notify));
+}
+
+EXPORT void my_g_ptr_array_sort(x64emu_t* emu, void* array, void* comp)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_ptr_array_sort(array, findGCompareFuncFct(comp));
+}
+
+EXPORT void my_g_ptr_array_sort_with_data(x64emu_t* emu, void* array, void* comp, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_ptr_array_sort_with_data(array, findGCompareDataFuncFct(comp), data);
+}
+
+EXPORT void my_g_qsort_with_data(x64emu_t* emu, void* pbase, int total, unsigned long size, void* comp, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_qsort_with_data(pbase, total, size, findGCompareDataFuncFct(comp), data);
+}
+
+EXPORT void my_g_ptr_array_foreach(x64emu_t* emu, void* array, void* func, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_ptr_array_foreach(array, findGFuncFct(func), data);
+}
+
+EXPORT void* my_g_thread_create(x64emu_t* emu, void* func, void* data, int joinable, void* error)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    void* et = NULL;
+    return my->g_thread_create(my_prepare_thread(emu, func, data, 0, &et), et, joinable, error);
+}
+
+EXPORT void* my_g_thread_create_full(x64emu_t* emu, void* func, void* data, unsigned long stack, int joinable, int bound, int priority, void* error)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    void* et = NULL;
+    return my->g_thread_create_full(my_prepare_thread(emu, func, data, stack, &et), et, stack, joinable, bound, priority, error);
+}
+
+EXPORT void my_g_thread_foreach(x64emu_t* emu, void* func, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_thread_foreach(findGFuncFct(func), data);
+}
+
+EXPORT void my_g_array_sort(x64emu_t* emu, void* array, void* comp)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_array_sort(array, findGCompareFuncFct(comp));
+}
+
+EXPORT void my_g_array_sort_with_data(x64emu_t* emu, void* array, void* comp, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_array_sort_with_data(array, findGCompareDataFuncFct(comp), data);
+}
+
+EXPORT void my_g_array_set_clear_func(x64emu_t* emu, void* array, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_array_set_clear_func(array, findFreeFct(notify));
+}
+
+EXPORT void my_g_source_set_callback(x64emu_t* emu, void* source, void* func, void* data, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_source_set_callback(source, findGSourceFuncFct(func), data, findFreeFct(notify));
+}
+
+EXPORT void* my_g_slist_insert_sorted(x64emu_t* emu, void* list, void* d, void* comp)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_slist_insert_sorted(list, d, findGCompareFuncFct(comp));
+}
+EXPORT void* my_g_slist_insert_sorted_with_data(x64emu_t* emu, void* list, void* d, void* comp, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_slist_insert_sorted_with_data(list, d, findGCompareDataFuncFct(comp), data);
+}
+
+EXPORT void my_g_slist_foreach(x64emu_t* emu, void* list, void* func, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_slist_foreach(list, findGFuncFct(func), data);
+}
+
+EXPORT void* my_g_slist_find_custom(x64emu_t* emu, void* list, void* data, void* comp)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_slist_find_custom(list, data, findGCompareFuncFct(comp));
+}
+
+EXPORT uint32_t my_g_idle_add(x64emu_t* emu, void* func, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_idle_add(findGSourceFuncFct(func), data);
+}
+
+EXPORT void* my_g_variant_new_va(x64emu_t* emu, char* fmt, void* endptr, x64_va_list_t* b)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    CONVERT_VALIST(*b);
+    va_list* aligned = &VARARGS;
+    return my->g_variant_new_va(fmt, endptr, &aligned);
+}
+
+EXPORT void* my_g_variant_new(x64emu_t* emu, char* fmt, uint64_t* V)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    CREATE_VALIST_FROM_VAARG(V, emu->scratch, 1);
+    return my->g_variant_new_va(fmt, NULL, &VARARGS);
+}
+
+EXPORT void* my_g_completion_new(x64emu_t* emu, void* f)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_completion_new(findGCompletionFct(f));
+}
+
+EXPORT void my_g_completion_set_compare(x64emu_t *emu, void* cmp, void* f)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    my->g_completion_set_compare(cmp, findGCompletionStrncmpFuncFct(f));
+}
+
+EXPORT void* my_g_log_set_default_handler(x64emu_t *emu, void* f, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return reverseGLogFuncFct(my->g_log_set_default_handler(findGLogFuncFct(f), data));
+}
+
+EXPORT uint32_t my_g_io_add_watch_full(x64emu_t* emu, void* channel, int priority, int cond, void* f, void* data, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_io_add_watch_full(channel, priority, cond, findGIOFuncFct(f), data, findDestroyFct(notify));
+}
+
+EXPORT uint32_t my_g_io_add_watch(x64emu_t* emu, void* channel, int cond, void* f, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_io_add_watch(channel, cond, findGIOFuncFct(f), data);
+}
+
+EXPORT void* my_g_set_print_handler(x64emu_t *emu, void* f)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return reverseGPrintFuncFct(my->g_set_print_handler(findGPrintFuncFct(f)));
+}
+
+EXPORT void* my_g_set_printerr_handler(x64emu_t *emu, void* f)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return reverseGPrintFuncFct(my->g_set_printerr_handler(findGPrintFuncFct(f)));
+}
+
+EXPORT void* my_g_slist_sort(x64emu_t *emu, void* list, void* f)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_slist_sort(list, findGCompareFuncFct(f));
+}
+
+EXPORT void* my_g_slist_sort_with_data(x64emu_t *emu, void* list, void* f, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_slist_sort_with_data(list, findGCompareDataFuncFct(f), data);
+}
+
+EXPORT void* my_g_build_path(x64emu_t *emu, void* sep, void* first, void** data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    int n = (first)?1:0;
+    void* p = n?data[0]:NULL;
+    while(p) {
+        p = data[n++];
+    }
+    ++n;    // final NULL
+    void** args = (void**)malloc(n *sizeof(void*));
+    args[0] = first;
+    for(int i=1; i<n; ++i)
+        args[i] = data[i-1];
+    p = my->g_build_pathv(sep, args);
+    free(args);
+    return p;
+}
+
+EXPORT void* my_g_list_sort(x64emu_t *emu, void* list, void* f)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_list_sort(list, findGCompareFuncFct(f));
+}
+
+EXPORT void* my_g_list_sort_with_data(x64emu_t *emu, void* list, void* f, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_list_sort_with_data(list, findGCompareDataFuncFct(f), data);
+}
+
+EXPORT void* my_g_queue_find_custom(x64emu_t *emu, void* queue, void* data, void* f)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_queue_find_custom(queue, data, findGCompareFuncFct(f));
+}
+
+EXPORT void* my_g_list_find_custom(x64emu_t *emu, void* list, void* data, void* f)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_list_find_custom(list, data, findGCompareFuncFct(f));
+}
+
+EXPORT uint32_t my_g_timeout_add_full(x64emu_t *emu, int priority, uint32_t interval, void* f, void* data, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_timeout_add_full(priority, interval, findGSourceFuncFct(f), data, findDestroyFct(notify));
+}
+
+EXPORT uint32_t my_g_timeout_add_seconds(x64emu_t *emu, uint32_t interval, void* f, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_timeout_add_seconds(interval, findGSourceFuncFct(f), data);
+}
+
+EXPORT uint32_t my_g_timeout_add_seconds_full(x64emu_t *emu, int priority, uint32_t interval, void* f, void* data, void* notify)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_timeout_add_seconds_full(priority, interval, findGSourceFuncFct(f), data, findDestroyFct(notify));
+}
+
+EXPORT uint32_t my_g_log_set_handler(x64emu_t *emu, void* domain, int level, void* f, void* data)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_log_set_handler(domain, level, findGLogFuncFct(f), data);
+}
+
+EXPORT void my_g_set_error(x64emu_t *emu, void* err, void* domain, int code, void* fmt, uintptr_t* stack)
+{
+    glib2_my_t *my = (glib2_my_t*)my_lib->priv.w.p2;
+    char buf[1000];
+    myStackAlign(emu, fmt, stack, emu->scratch, R_EAX, 4);
+    PREPARE_VALIST;
+    vsnprintf(buf, sizeof(buf), fmt, VARARGS);
+    my->g_set_error_literal(err, domain, code, buf);
+}
+
+
+#define PRE_INIT    \
+    if(box64_nogtk) \
+        return -1;
+
+#define CUSTOM_INIT \
+    libname = lib->name;\
+    my_lib = lib;       \
+    lib->priv.w.p2 = getGlib2My(lib);
+
+#define CUSTOM_FINI \
+    freeGlib2My(lib->priv.w.p2);\
+    free(lib->priv.w.p2);       \
+    my_lib = NULL;
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedglib2_private.h b/src/wrapped/wrappedglib2_private.h
new file mode 100755
index 00000000..f2ddf805
--- /dev/null
+++ b/src/wrapped/wrappedglib2_private.h
@@ -0,0 +1,1619 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(__aeabi_d2lz, 
+//GO(__aeabi_d2ulz, 
+//GO(_fini, 
+GO(g_access, iFpi)
+GO(g_allocator_free, vFp)
+GO(g_allocator_new, pFpu)
+GO(g_array_append_vals, pFppu)
+GO(g_array_free, pFpi)
+GO(g_array_get_element_size, uFp)
+GO(g_array_insert_vals, pFpupu)
+GO(g_array_new, pFiiu)
+GO(g_array_prepend_vals, pFppu)
+GO(g_array_ref, pFp)
+GO(g_array_remove_index, pFpu)
+GO(g_array_remove_index_fast, pFpu)
+GO(g_array_remove_range, pFpuu)
+GOM(g_array_set_clear_func, vFEpp)
+GO(g_array_set_size, pFpu)
+GO(g_array_sized_new, pFiiuu)
+GOM(g_array_sort, vFEpp)
+GOM(g_array_sort_with_data, vFEppp)
+GO(g_array_unref, vFp)
+GO(g_ascii_digit_value, iFC)
+GO(g_ascii_dtostr, pFpid)
+GO(g_ascii_formatd, pFpipd)
+GO(g_ascii_strcasecmp, iFpp)
+GO(g_ascii_strdown, pFpi)
+GO(g_ascii_strncasecmp, iFppu)
+GO(g_ascii_strtod, dFpp)
+GO(g_ascii_strtoll, IFppu)
+GO(g_ascii_strtoull, UFppu)
+GO(g_ascii_strup, pFpi)
+GO(g_ascii_tolower, CFC)
+GO(g_ascii_toupper, CFC)
+GO(g_ascii_xdigit_value, iFC)
+GO(g_assertion_message, vFppipp)
+#ifdef HAVE_LD80BITS
+GO(g_assertion_message_cmpnum, vFppippDDC)
+#else
+GO(g_assertion_message_cmpnum, vFppippKKC)
+#endif
+GO(g_assertion_message_cmpstr, vFppippppp)
+GO(g_assertion_message_error, vFppipppui)
+GO(g_assertion_message_expr, vFppipp)
+GO(g_assert_warning, vFppipp)
+GO(g_async_queue_length, iFp)
+//GO(g_async_queue_length_unlocked, 
+GO(g_async_queue_lock, vFp)
+GO(g_async_queue_new, pFv)
+//GO(g_async_queue_new_full, 
+GO(g_async_queue_pop, pFp)
+//GO(g_async_queue_pop_unlocked, 
+GO(g_async_queue_push, vFpp)
+//GO(g_async_queue_push_sorted, 
+//GO(g_async_queue_push_sorted_unlocked, 
+GO(g_async_queue_push_unlocked, vFpp)
+GO(g_async_queue_ref, vFp)
+//GO(g_async_queue_ref_unlocked, 
+//GO(g_async_queue_sort, 
+//GO(g_async_queue_sort_unlocked, 
+//GO(g_async_queue_timed_pop, 
+//GO(g_async_queue_timed_pop_unlocked, 
+GO(g_async_queue_timeout_pop, pFpU)
+GO(g_async_queue_timeout_pop_unlocked, pFpU)
+GO(g_async_queue_try_pop, pFp)
+GO(g_async_queue_try_pop_unlocked, pFp)
+GO(g_async_queue_unlock, vFp)
+GO(g_async_queue_unref, vFp)
+GO(g_async_queue_unref_and_unlock, vFp)
+GO2(g_atexit, vFEp, my_atexit)
+//GO(g_atomic_int_add, 
+//GO(g_atomic_int_and, 
+//GO(g_atomic_int_compare_and_exchange, 
+//GO(g_atomic_int_dec_and_test, 
+//GO(g_atomic_int_exchange_and_add, 
+//GO(g_atomic_int_get, 
+//GO(g_atomic_int_inc, 
+//GO(g_atomic_int_or, 
+//GO(g_atomic_int_set, 
+//GO(g_atomic_int_xor, 
+//GO(g_atomic_pointer_add, 
+//GO(g_atomic_pointer_and, 
+//GO(g_atomic_pointer_compare_and_exchange, 
+//GO(g_atomic_pointer_get, 
+//GO(g_atomic_pointer_or, 
+//GO(g_atomic_pointer_set, 
+//GO(g_atomic_pointer_xor, 
+GO(g_base64_decode, pFpp)
+GO(g_base64_decode_inplace, pFpp)
+GO(g_base64_decode_step, LFpLppp)
+GO(g_base64_encode, pFpL)
+GO(g_base64_encode_close, LFippp)
+GO(g_base64_encode_step, LFpLippp)
+GO(g_basename, pFp)
+//GO(g_bit_lock, 
+GO(g_bit_nth_lsf, iFii)
+GO(g_bit_nth_msf, iFii)
+GO(g_bit_storage, iFi)
+//GO(g_bit_trylock, 
+//GO(g_bit_unlock, 
+//GO(g_blow_chunks, 
+//GO(g_bookmark_file_add_application, 
+//GO(g_bookmark_file_add_group, 
+//GO(g_bookmark_file_error_quark, 
+//GO(g_bookmark_file_free, 
+//GO(g_bookmark_file_get_added, 
+//GO(g_bookmark_file_get_app_info, 
+//GO(g_bookmark_file_get_applications, 
+//GO(g_bookmark_file_get_description, 
+//GO(g_bookmark_file_get_groups, 
+//GO(g_bookmark_file_get_icon, 
+//GO(g_bookmark_file_get_is_private, 
+//GO(g_bookmark_file_get_mime_type, 
+//GO(g_bookmark_file_get_modified, 
+//GO(g_bookmark_file_get_size, 
+//GO(g_bookmark_file_get_title, 
+//GO(g_bookmark_file_get_uris, 
+//GO(g_bookmark_file_get_visited, 
+//GO(g_bookmark_file_has_application, 
+//GO(g_bookmark_file_has_group, 
+//GO(g_bookmark_file_has_item, 
+//GO(g_bookmark_file_load_from_data, 
+//GO(g_bookmark_file_load_from_data_dirs, 
+//GO(g_bookmark_file_load_from_file, 
+//GO(g_bookmark_file_move_item, 
+//GO(g_bookmark_file_new, 
+//GO(g_bookmark_file_remove_application, 
+//GO(g_bookmark_file_remove_group, 
+//GO(g_bookmark_file_remove_item, 
+//GO(g_bookmark_file_set_added, 
+//GO(g_bookmark_file_set_app_info, 
+//GO(g_bookmark_file_set_description, 
+//GO(g_bookmark_file_set_groups, 
+//GO(g_bookmark_file_set_icon, 
+//GO(g_bookmark_file_set_is_private, 
+//GO(g_bookmark_file_set_mime_type, 
+//GO(g_bookmark_file_set_modified, 
+//GO(g_bookmark_file_set_title, 
+//GO(g_bookmark_file_set_visited, 
+//GO(g_bookmark_file_to_data, 
+//GO(g_bookmark_file_to_file, 
+GOM(g_build_filename, pFEpV)
+GO(g_build_filenamev, pFp)
+GOM(g_build_path, pFEppV) // wrap using g_build_pathv
+GO(g_build_pathv, pFpp)
+GO(g_byte_array_append, pFppu)
+GO(g_byte_array_free, pFpi)
+GO(g_byte_array_free_to_bytes, pFp)
+GO(g_byte_array_new, pFv)
+GO(g_byte_array_new_take, pFpL)
+GO(g_byte_array_prepend, pFppu)
+GO(g_byte_array_ref, pFp)
+GO(g_byte_array_remove_index, pFpu)
+GO(g_byte_array_remove_index_fast, pFpu)
+GO(g_byte_array_remove_range, pFpuu)
+GO(g_byte_array_set_size, pFpu)
+GO(g_byte_array_sized_new, pFu)
+//GOM(g_byte_array_sort, vFpB)
+//GOM(g_byte_array_sort_with_data, vFpBp)
+GO(g_byte_array_unref, vFp)
+GO(g_bytes_compare, iFpp)
+GO(g_bytes_equal, iFpp)
+GO(g_bytes_get_data, pFpL)
+GO(g_bytes_get_size, LFp)
+GO(g_bytes_hash, uFp)
+GO(g_bytes_new, pFpL)
+GO(g_bytes_new_from_bytes, pFpLL)
+GO(g_bytes_new_static, pFpL)
+GO(g_bytes_new_take, pFpL)
+//GOM(g_bytes_new_with_free_func, pFppLBp)
+GO(g_bytes_ref, pFp)
+GO(g_bytes_unref, vFp)
+GO(g_bytes_unref_to_array, pFp)
+GO(g_bytes_unref_to_data, pFpp)
+//GO(g_cache_destroy, 
+//GO(g_cache_insert, 
+//GO(g_cache_key_foreach, 
+//GO(g_cache_new, 
+//GO(g_cache_remove, 
+//GO(g_cache_value_foreach, 
+GO(g_chdir, iFp)
+//GO(g_checksum_copy, 
+//GO(g_checksum_free, 
+//GO(g_checksum_get_digest, 
+//GO(g_checksum_get_string, 
+//GO(g_checksum_new, 
+//GO(g_checksum_reset, 
+//GO(g_checksum_type_get_length, 
+//GO(g_checksum_update, 
+GOM(g_child_watch_add, uFEipp)
+GOM(g_child_watch_add_full, uFEiippp)
+GO(g_child_watch_source_new, pFi)
+GO(g_chmod, iFpi)
+GO(g_clear_error, vFp)
+//GOM(g_clear_pointer, vFEpp)
+GO(g_close, iFip)
+GO(g_completion_add_items, vFpp)
+GO(g_completion_clear_items, vFp)
+GO(g_completion_complete, pFppp)
+GO(g_completion_complete_utf8, pFppp)
+GO(g_completion_free, vFp)
+GOM(g_completion_new, pFEp)
+GO(g_completion_remove_items, vFpp)
+GOM(g_completion_set_compare, vFEpp)
+//GO(g_compute_checksum_for_bytes, 
+//GO(g_compute_checksum_for_data, 
+//GO(g_compute_checksum_for_string, 
+//GO(g_compute_hmac_for_data, 
+//GO(g_compute_hmac_for_string, 
+//GO(g_cond_broadcast, 
+GO(g_cond_clear, vFp)
+GO(g_cond_free, vFp)
+GO(g_cond_init, vFp)
+GO(g_cond_new, pFv)
+//GO(g_cond_signal, 
+//GO(g_cond_timed_wait, 
+GO(g_cond_wait, vFpp)
+//GO(g_cond_wait_until, 
+GO(g_convert, pFplppppp)
+//GO(g_convert_error_quark, 
+GO(g_convert_with_fallback, pFplpppppp)
+GO(g_convert_with_iconv, pFplpppp)
+GO(g_creat, iFpi)
+GO(g_datalist_clear, vFp)
+//GOM(g_datalist_foreach, vFEppp)
+GO(g_datalist_get_data, pFpp)
+GO(g_datalist_get_flags, uFp)
+GOM(g_datalist_id_dup_data, pFEpupp)
+GO(g_datalist_id_get_data, pFpu)
+GO(g_datalist_id_remove_no_notify, pFpu)
+GOM(g_datalist_id_replace_data, iFEpupppp)
+GOM(g_datalist_id_set_data_full, vFEpupp)
+GO(g_datalist_init, vFp)
+GO(g_datalist_set_flags, vFpu)
+GO(g_datalist_unset_flags, vFpu)
+//GO(g_dataset_destroy, 
+//GO(g_dataset_foreach, 
+//GO(g_dataset_id_get_data, 
+//GO(g_dataset_id_remove_no_notify, 
+//GO(g_dataset_id_set_data_full, 
+GO(g_date_add_days, vFpu)
+GO(g_date_add_months, vFpu)
+GO(g_date_add_years, vFpu)
+GO(g_date_clamp, vFppp)
+GO(g_date_clear, vFpu)
+GO(g_date_compare, iFpp)
+GO(g_date_days_between, iFpp)
+GO(g_date_free, vFp)
+GO(g_date_get_day, CFp)
+GO(g_date_get_day_of_year, uFp)
+GO(g_date_get_days_in_month, CFip)
+GO(g_date_get_iso8601_week_of_year, uFp)
+GO(g_date_get_julian, uFp)
+GO(g_date_get_monday_week_of_year, uFp)
+GO(g_date_get_monday_weeks_in_year, CFp)
+GO(g_date_get_month, iFp)
+GO(g_date_get_sunday_week_of_year, uFp)
+GO(g_date_get_sunday_weeks_in_year, CFp)
+GO(g_date_get_weekday, iFp)
+GO(g_date_get_year, WFp)
+GO(g_date_is_first_of_month, iFp)
+GO(g_date_is_last_of_month, iFp)
+GO(g_date_is_leap_year, iFp)
+GO(g_date_new, pFv)
+GO(g_date_new_dmy, pFCiW)
+GO(g_date_new_julian, pFu)
+GO(g_date_order, vFpp)
+GO(g_date_set_day, vFpC)
+GO(g_date_set_dmy, vFpCiW)
+GO(g_date_set_julian, vFpu)
+GO(g_date_set_month, vFpi)
+GO(g_date_set_parse, vFpp)
+GO(g_date_set_time, vFpi)
+//GO(g_date_set_time_t, 
+GO(g_date_set_time_val, vFpp)
+GO(g_date_set_year, vFpW)
+GO(g_date_strftime, LFpLpp)
+GO(g_date_subtract_days, vFpu)
+GO(g_date_subtract_months, vFpu)
+GO(g_date_subtract_years, vFpu)
+//GO(g_date_time_add, 
+//GO(g_date_time_add_days, 
+//GO(g_date_time_add_full, 
+//GO(g_date_time_add_hours, 
+//GO(g_date_time_add_minutes, 
+//GO(g_date_time_add_months, 
+//GO(g_date_time_add_seconds, 
+//GO(g_date_time_add_weeks, 
+//GO(g_date_time_add_years, 
+//GO(g_date_time_compare, 
+//GO(g_date_time_difference, 
+//GO(g_date_time_equal, 
+//GO(g_date_time_format, 
+//GO(g_date_time_get_day_of_month, 
+//GO(g_date_time_get_day_of_week, 
+//GO(g_date_time_get_day_of_year, 
+//GO(g_date_time_get_hour, 
+//GO(g_date_time_get_microsecond, 
+//GO(g_date_time_get_minute, 
+//GO(g_date_time_get_month, 
+//GO(g_date_time_get_second, 
+//GO(g_date_time_get_seconds, 
+//GO(g_date_time_get_timezone_abbreviation, 
+//GO(g_date_time_get_utc_offset, 
+//GO(g_date_time_get_week_numbering_year, 
+//GO(g_date_time_get_week_of_year, 
+//GO(g_date_time_get_year, 
+//GO(g_date_time_get_ymd, 
+//GO(g_date_time_hash, 
+//GO(g_date_time_is_daylight_savings, 
+//GO(g_date_time_new, 
+//GO(g_date_time_new_from_timeval_local, 
+//GO(g_date_time_new_from_timeval_utc, 
+//GO(g_date_time_new_from_unix_local, 
+//GO(g_date_time_new_from_unix_utc, 
+//GO(g_date_time_new_local, 
+//GO(g_date_time_new_now, 
+//GO(g_date_time_new_now_local, 
+//GO(g_date_time_new_now_utc, 
+//GO(g_date_time_new_utc, 
+//GO(g_date_time_ref, 
+//GO(g_date_time_to_local, 
+//GO(g_date_time_to_timeval, 
+//GO(g_date_time_to_timezone, 
+//GO(g_date_time_to_unix, 
+//GO(g_date_time_to_utc, 
+//GO(g_date_time_unref, 
+GO(g_date_to_struct_tm, vFpp)
+GO(g_date_valid, iFp)
+GO(g_date_valid_day, iFC)
+GO(g_date_valid_dmy, iFCiW)
+GO(g_date_valid_julian, iFu)
+GO(g_date_valid_month, iFi)
+GO(g_date_valid_weekday, iFi)
+GO(g_date_valid_year, iFW)
+GO(g_dcgettext, pFppi)
+GO(g_dgettext, pFpp)
+GO(g_dir_close, vFp)
+GO(g_direct_equal, iFpp)
+GO(g_direct_hash, uFp)
+GO(g_dir_make_tmp, pFpp)
+GO(g_dir_open, pFp)
+GO(g_dir_read_name, pFp)
+GO(g_dir_rewind, vFp)
+GO(g_dngettext, pFpppL)
+GO(g_double_equal, iFpp)
+GO(g_double_hash, uFp)
+GO(g_dpgettext, pFppL)
+GO(g_dpgettext2, pFppp)
+GO(g_environ_getenv, pFpp)      // should wrap?
+GO(g_environ_setenv, pFpppi)
+GO(g_environ_unsetenv, pFpp)
+GO(g_error_copy, pFp)
+GO(g_error_free, vFp)
+GO(g_error_matches, iFppi)
+GO2(g_error_new, pFpipV, g_error_new_valist)
+GO(g_error_new_literal, pFpip)
+GO(g_error_new_valist, pFpipp)
+GO(g_file_error_from_errno, iFi)
+GO(g_file_error_quark, pFv)
+GO(g_file_get_contents, iFpppp)
+GO(g_filename_display_basename, pFp)
+GO(g_filename_display_name, pFp)
+GO(g_filename_from_uri, pFppp)
+GO(g_filename_from_utf8, pFpippp)
+GO(g_filename_to_uri, pFppp)
+GO(g_filename_to_utf8, pFpippp)
+GO(g_file_open_tmp, iFppp)
+GO(g_file_read_link, pFpp)
+GO(g_file_set_contents, iFppip)
+GO(g_file_test, iFpi)
+GO(g_find_program_in_path, pFp) // need wrap?
+GO(g_fopen, pFpp)
+GO(g_format_size, pFU)
+GO(g_format_size_for_display, pFI)
+GO(g_format_size_full, pFUi)
+GO2(g_fprintf, iFEppV, my_g_vfprintf)
+GO(g_free, vFp)
+GO(g_freopen, pFppp)
+GO(g_get_application_name, pFv)
+GO(g_get_charset, iFp)
+GO(g_get_codeset, pFv)
+GO(g_get_current_dir, pFv)
+GO(g_get_current_time, vFp)
+GO(g_getenv, pFp)       // should wrap?
+GO(g_get_environ, pFv)
+GO(g_get_filename_charsets, iFp)
+GO(g_get_home_dir, pFv)
+GO(g_get_host_name, pFv)
+GO(g_get_language_names, pFv)
+GO(g_get_locale_variants, pFp)
+GO(g_get_monotonic_time, IFv)
+//GO(g_get_num_processors, 
+GO(g_get_prgname, pFv)
+GO(g_get_real_name, pFv)
+GO(g_get_real_time, IFv)
+GO(g_get_system_config_dirs, pFv)
+GO(g_get_system_data_dirs, pFv)
+GO(g_get_tmp_dir, pFv)
+GO(g_get_user_cache_dir, pFv)
+GO(g_get_user_config_dir, pFv)
+GO(g_get_user_data_dir, pFv)
+GO(g_get_user_name, pFv)
+GO(g_get_user_runtime_dir, pFv)
+GO(g_get_user_special_dir, pFi)
+GO(g_hash_table_add, iFpp)
+GO(g_hash_table_contains, iFpp)
+GO(g_hash_table_destroy, vFp)
+GOM(g_hash_table_find, pFEppp)
+GOM(g_hash_table_foreach, vFEppp)
+GOM(g_hash_table_foreach_remove, uFEppp)
+GOM(g_hash_table_foreach_steal, uFEppp)
+GO(g_hash_table_get_keys, pFp)
+GO(g_hash_table_get_keys_as_array, pFpp)
+GO(g_hash_table_get_values, pFp)
+GO(g_hash_table_insert, iFppp)
+GO(g_hash_table_iter_get_hash_table, pFp)
+GO(g_hash_table_iter_init, vFpp)
+GO(g_hash_table_iter_next, iFppp)
+GO(g_hash_table_iter_remove, vFp)
+GO(g_hash_table_iter_replace, vFpp)
+GO(g_hash_table_iter_steal, vFp)
+GO(g_hash_table_lookup, pFpp)
+GO(g_hash_table_lookup_extended, iFpppp)
+GOM(g_hash_table_new, pFEpp)
+GOM(g_hash_table_new_full, pFEpppp)
+GO(g_hash_table_ref, pFp)
+GO(g_hash_table_remove, iFpp)
+GO(g_hash_table_remove_all, vFp)
+GO(g_hash_table_replace, iFppp)
+GO(g_hash_table_size, uFp)
+GO(g_hash_table_steal, iFpp)
+GO(g_hash_table_steal_all, vFp)
+GO(g_hash_table_unref, vFp)
+//GO(g_hmac_copy, 
+//GO(g_hmac_get_digest, 
+//GO(g_hmac_get_string, 
+//GO(g_hmac_new, 
+//GO(g_hmac_ref, 
+//GO(g_hmac_unref, 
+//GO(g_hmac_update, 
+//GO(g_hook_alloc, 
+//GO(g_hook_compare_ids, 
+//GO(g_hook_destroy, 
+//GO(g_hook_destroy_link, 
+//GO(g_hook_find, 
+//GO(g_hook_find_data, 
+//GO(g_hook_find_func, 
+//GO(g_hook_find_func_data, 
+//GO(g_hook_first_valid, 
+//GO(g_hook_free, 
+//GO(g_hook_get, 
+//GO(g_hook_insert_before, 
+//GO(g_hook_insert_sorted, 
+//GO(g_hook_list_clear, 
+//GO(g_hook_list_init, 
+//GO(g_hook_list_invoke, 
+//GO(g_hook_list_invoke_check, 
+//GO(g_hook_list_marshal, 
+//GO(g_hook_list_marshal_check, 
+//GO(g_hook_next_valid, 
+//GO(g_hook_prepend, 
+//GO(g_hook_ref, 
+//GO(g_hook_unref, 
+//GO(g_hostname_is_ascii_encoded, 
+//GO(g_hostname_is_ip_address, 
+//GO(g_hostname_is_non_ascii, 
+//GO(g_hostname_to_ascii, 
+//GO(g_hostname_to_unicode, 
+GO(g_iconv, LFppppp)
+GO(g_iconv_close, iFp)
+GO(g_iconv_open, pFpp)
+GOM(g_idle_add, uFEpp)
+GOM(g_idle_add_full, uFEippp)
+GO(g_idle_remove_by_data, iFp)
+GO(g_idle_source_new, pFv)
+GO(g_int64_equal, iFpp)
+GO(g_int64_hash, uFp)
+GO(g_int_equal, iFpp)
+GO(g_intern_static_string, pFp)
+GO(g_intern_string, pFp)
+GO(g_int_hash, uFp)
+GOM(g_io_add_watch, uFEpipp)
+GOM(g_io_add_watch_full, uFEpiippp)
+GO(g_io_channel_close, vFp)
+GO(g_io_channel_error_from_errno, iFi)
+GO(g_io_channel_error_quark, pFv)
+GO(g_io_channel_flush, iFpp)
+GO(g_io_channel_get_buffer_condition, iFp)
+GO(g_io_channel_get_buffered, iFp)
+GO(g_io_channel_get_buffer_size, iFp)
+GO(g_io_channel_get_close_on_unref, iFp)
+GO(g_io_channel_get_encoding, pFp)
+GO(g_io_channel_get_flags, iFp)
+GO(g_io_channel_get_line_term, pFpp)
+GO(g_io_channel_init, vFp)
+GO(g_io_channel_new_file, pFppp)
+GO(g_io_channel_read, iFppLp)
+GO(g_io_channel_read_chars, iFpplpp)
+GO(g_io_channel_read_line, iFppppp)
+GO(g_io_channel_read_line_string, iFpppp)
+GO(g_io_channel_read_to_end, iFpppp)
+GO(g_io_channel_read_unichar, iFppp)
+GO(g_io_channel_ref, pFp)
+GO(g_io_channel_seek, iFpIi)
+GO(g_io_channel_seek_position, iFpIip)
+GO(g_io_channel_set_buffered, vFpi)
+GO(g_io_channel_set_buffer_size, vFpL)
+GO(g_io_channel_set_close_on_unref, vFpi)
+GO(g_io_channel_set_encoding, iFppp)
+GO(g_io_channel_set_flags, iFpip)
+GO(g_io_channel_set_line_term, vFppi)
+GO(g_io_channel_shutdown, iFpip)
+GO(g_io_channel_unix_get_fd, iFp)
+GO(g_io_channel_unix_new, pFi)
+GO(g_io_channel_unref, vFp)
+GO(g_io_channel_write, iFppLp)
+GO(g_io_channel_write_chars, iFpplpp)
+GO(g_io_channel_write_unichar, iFpup)
+GO(g_io_create_watch, pFpp)
+GO(g_key_file_error_quark, pFv)
+GO(g_key_file_free, vFp)
+GO(g_key_file_get_boolean, iFpppp)
+GO(g_key_file_get_boolean_list, pFppppp)
+GO(g_key_file_get_comment, pFpppp)
+GO(g_key_file_get_double, dFpppp)
+GO(g_key_file_get_double_list, pFppppp)
+GO(g_key_file_get_groups, pFpp)
+GO(g_key_file_get_int64, IFpppp)
+GO(g_key_file_get_integer, iFpppp)
+GO(g_key_file_get_integer_list, pFppppp)
+GO(g_key_file_get_keys, pFpppp)
+GO(g_key_file_get_locale_string, pFppppp)
+GO(g_key_file_get_locale_string_list, pFpppppp)
+GO(g_key_file_get_start_group, pFp)
+GO(g_key_file_get_string, pFpppp)
+GO(g_key_file_get_string_list, pFppppp)
+GO(g_key_file_get_uint64, UFpppp)
+GO(g_key_file_get_value, pFpppp)
+GO(g_key_file_has_group, iFpp)
+GO(g_key_file_has_key, iFpppp)
+GO(g_key_file_load_from_data, iFppLip)
+GO(g_key_file_load_from_data_dirs, iFpppip)
+GO(g_key_file_load_from_dirs, iFppppip)
+GO(g_key_file_load_from_file, iFppip)
+GO(g_key_file_new, pFv)
+GO(g_key_file_ref, pFp)
+GO(g_key_file_remove_comment, iFpppp)
+GO(g_key_file_remove_group, iFppp)
+GO(g_key_file_remove_key, iFpppp)
+GO(g_key_file_save_to_file, iFppp)
+GO(g_key_file_set_boolean, vFpppi)
+GO(g_key_file_set_boolean_list, vFppppL)
+GO(g_key_file_set_comment, iFppppp)
+GO(g_key_file_set_double, vFpppd)
+GO(g_key_file_set_double_list, vFppppL)
+GO(g_key_file_set_int64, vFpppI)
+GO(g_key_file_set_integer, vFpppi)
+GO(g_key_file_set_integer_list, vFppppL)
+GO(g_key_file_set_list_separator, vFpC)
+GO(g_key_file_set_locale_string, vFppppp)
+GO(g_key_file_set_locale_string_list, vFpppppL)
+GO(g_key_file_set_string, vFpppp)
+GO(g_key_file_set_string_list, vFppppL)
+GO(g_key_file_set_uint64, vFpppU)
+GO(g_key_file_set_value, vFpppp)
+GO(g_key_file_to_data, pFppp)
+GO(g_key_file_unref, vFp)
+GO(glib_check_version, pFuuu)
+//GO(glib_gettext, 
+//GO(glib_pgettext, 
+//GO(glib__private__, 
+GO(g_list_alloc, pFv)
+GO(g_list_append, pFpp)
+GO(g_list_concat, pFpp)
+GO(g_list_copy, pFp)
+//GOM(g_list_copy_deep, pFEpBp)
+GO(g_list_delete_link, pFpp)
+GO(g_listenv, pFv)
+GO(g_list_find, pFpp)
+GOM(g_list_find_custom, pFEppp)
+GO(g_list_first, pFp)
+//GOM(g_list_foreach, vFEpBp)
+GO(g_list_free, vFp)
+GO(g_list_free_1, vFp)
+GOM(g_list_free_full, vFEpp)
+GO(g_list_index, iFpp)
+GO(g_list_insert, pFppi)
+GO(g_list_insert_before, pFppp)
+//GOM(g_list_insert_sorted, pFEppB)
+//GO(g_list_insert_sorted_with_data, pFEppBp)
+GO(g_list_last, pFp)
+GO(g_list_length, uFp)
+GO(g_list_nth, pFpu)
+GO(g_list_nth_data, pFpu)
+GO(g_list_nth_prev, pFpu)
+//GO(g_list_pop_allocator, 
+GO(g_list_position, iFpp)
+GO(g_list_prepend, pFpp)
+//GO(g_list_push_allocator, 
+GO(g_list_remove, pFpp)
+GO(g_list_remove_all, pFpp)
+GO(g_list_remove_link, pFpp)
+GO(g_list_reverse, pFp)
+GOM(g_list_sort, pFEpp)
+GOM(g_list_sort_with_data, pFEppp)
+GO(g_locale_from_utf8, pFplppp)
+GO(g_locale_to_utf8, pFplppp)
+GO2(g_log, vFpppV, g_logv)
+GO(g_log_default_handler, vFpipp)
+GO(g_log_remove_handler, vFpu)
+GO(g_log_set_always_fatal, iFi)
+GOM(g_log_set_default_handler, pFEpp)
+GO(g_log_set_fatal_mask, iFpi)
+GOM(g_log_set_handler, uFEpipp)
+GO(g_logv, vFpppp)      // need align?
+GO(g_lstat, iFpp)
+GO(g_main_context_acquire, iFp)
+GO(g_main_context_add_poll, vFppi)
+GO(g_main_context_check, iFpipi)
+GO(g_main_context_default, pFv)
+GO(g_main_context_dispatch, vFp)
+//GOM(g_main_context_find_source_by_funcs_user_data, pFEppp)   // 2nd is a GSourceFuncs structures with callbacks..
+GO(g_main_context_find_source_by_id, pFpu)
+GO(g_main_context_find_source_by_user_data, pFpp)
+GOM(g_main_context_get_poll_func, pFEp)
+GO(g_main_context_get_thread_default, pFv)
+//GOM(g_main_context_invoke, vFppp)  // 2nd is GSourceFuncs
+//GOM(g_main_context_invoke_full, vFpippB)  // 3rd is GSourceFuncs
+GO(g_main_context_is_owner, iFp)
+GO(g_main_context_iteration, iFpi)
+GO(g_main_context_new, pFv)
+GO(g_main_context_pending, iFp)
+GO(g_main_context_pop_thread_default, vFp)
+GO(g_main_context_prepare, iFpp)
+GO(g_main_context_push_thread_default, vFp)
+GO(g_main_context_query, iFpippi)
+GO(g_main_context_ref, pFp)
+GO(g_main_context_ref_thread_default, pFv)
+GO(g_main_context_release, vFp)
+GO(g_main_context_remove_poll, vFpp)
+GOM(g_main_context_set_poll_func, vFEpp)
+GO(g_main_context_unref, vFp)
+GO(g_main_context_wait, iFppp)
+GO(g_main_context_wakeup, vFp)
+GO(g_main_current_source, pFv)
+GO(g_main_depth, iFv)
+GO(g_main_loop_get_context, pFp)
+GO(g_main_loop_is_running, iFp)
+GO(g_main_loop_new, pFpi)
+GO(g_main_loop_quit, vFp)
+GO(g_main_loop_ref, pFp)
+GO(g_main_loop_run, vFp)
+GO(g_main_loop_unref, vFp)
+GO(g_malloc, pFL)
+GO(g_malloc0, pFL)
+GO(g_malloc0_n, pFLL)
+GO(g_malloc_n, pFLL)
+GO(g_mapped_file_free, vFp)
+GO(g_mapped_file_get_bytes, pFp)
+GO(g_mapped_file_get_contents, pFp)
+GO(g_mapped_file_get_length, uFp)
+GO(g_mapped_file_new, pFppp)
+GO(g_mapped_file_new_from_fd, pFiip)
+GO(g_mapped_file_ref, pFp)
+GO(g_mapped_file_unref, vFp)
+//GO(g_markup_collect_attributes, 
+//GO(g_markup_error_quark, 
+GO(g_markup_escape_text, pFpl)
+//GO(g_markup_parse_context_end_parse, 
+//GO(g_markup_parse_context_free, 
+//GO(g_markup_parse_context_get_element, 
+//GO(g_markup_parse_context_get_element_stack, 
+//GO(g_markup_parse_context_get_position, 
+//GO(g_markup_parse_context_get_user_data, 
+//GO(g_markup_parse_context_new, 
+//GO(g_markup_parse_context_parse, 
+//GO(g_markup_parse_context_pop, 
+//GO(g_markup_parse_context_push, 
+//GO(g_markup_parse_context_ref, 
+//GO(g_markup_parse_context_unref, 
+GOM(g_markup_printf_escaped, pFEpV)
+GOM(g_markup_vprintf_escaped, pFEpA)
+GO(g_match_info_expand_references, pFppp)
+GO(g_match_info_fetch, pFpi)
+GO(g_match_info_fetch_all, pFp)
+GO(g_match_info_fetch_named, pFpp)
+GO(g_match_info_fetch_named_pos, iFpppp)
+GO(g_match_info_fetch_pos, iFpipp)
+GO(g_match_info_free, vFp)
+GO(g_match_info_get_match_count, iFp)
+GO(g_match_info_get_regex, pFp)
+GO(g_match_info_get_string, pFp)
+GO(g_match_info_is_partial_match, iFp)
+GO(g_match_info_matches, iFp)
+GO(g_match_info_next, iFpp)
+GO(g_match_info_ref, pFp)
+GO(g_match_info_unref, vFp)
+//GO(g_mem_chunk_alloc, 
+//GO(g_mem_chunk_alloc0, 
+//GO(g_mem_chunk_clean, 
+//GO(g_mem_chunk_destroy, 
+//GO(g_mem_chunk_free, 
+//GO(g_mem_chunk_info, 
+//GO(g_mem_chunk_new, 
+//GO(g_mem_chunk_print, 
+//GO(g_mem_chunk_reset, 
+GO(g_memdup, pFpu)
+GO(g_mem_is_system_malloc, iFv)
+GO(g_mem_profile, vFv)
+//GOM(g_mem_set_vtable, vFEp)   // VMemTable needs wrapping
+GO(g_mkdir, iFpi)
+GO(g_mkdir_with_parents, iFpi)
+GO(g_mkdtemp, pFp)
+GO(g_mkdtemp_full, pFpi)
+GO(g_mkstemp, iFp)
+GO(g_mkstemp_full, iFpii)
+GO(g_mutex_clear, vFp)
+GO(g_mutex_free, vFp)
+GO(g_mutex_init, vFp)
+GO(g_mutex_lock, vFp)
+GO(g_mutex_new, pFv)
+GO(g_mutex_trylock, iFp)
+GO(g_mutex_unlock, vFp)
+//GO(g_node_child_index, 
+//GO(g_node_child_position, 
+//GO(g_node_children_foreach, 
+//GO(g_node_copy, 
+//GO(g_node_copy_deep, 
+//GO(g_node_depth, 
+//GO(g_node_destroy, 
+//GO(g_node_find, 
+//GO(g_node_find_child, 
+//GO(g_node_first_sibling, 
+//GO(g_node_get_root, 
+//GO(g_node_insert, 
+//GO(g_node_insert_after, 
+//GO(g_node_insert_before, 
+//GO(g_node_is_ancestor, 
+//GO(g_node_last_child, 
+//GO(g_node_last_sibling, 
+//GO(g_node_max_height, 
+//GO(g_node_n_children, 
+//GO(g_node_new, 
+//GO(g_node_n_nodes, 
+//GO(g_node_nth_child, 
+//GO(g_node_pop_allocator, 
+//GO(g_node_prepend, 
+//GO(g_node_push_allocator, 
+//GO(g_node_reverse_children, 
+//GO(g_node_traverse, 
+//GO(g_node_unlink, 
+GO(g_nullify_pointer, vFp)
+//GO(g_once_impl, 
+GO(g_once_init_enter, iFp)
+//GO(g_once_init_enter_impl, 
+GO(g_once_init_leave, vFpL)
+GO(g_on_error_query, vFp)
+GO(g_on_error_stack_trace, vFp)
+GO(g_open, iFpii)
+GO(g_option_context_add_group, vFpp)
+GO(g_option_context_add_main_entries, vFppp)
+GO(g_option_context_free, vFp)
+GO(g_option_context_get_description, pFp)
+GO(g_option_context_get_help, pFpip)
+GO(g_option_context_get_help_enabled, iFp)
+GO(g_option_context_get_ignore_unknown_options, iFp)
+GO(g_option_context_get_main_group, pFp)
+GO(g_option_context_get_strict_posix, iFp)  // 2.44+
+GO(g_option_context_get_summary, pFp)
+GO(g_option_context_new, pFp)
+GO(g_option_context_parse, iFpppp)
+GO(g_option_context_parse_strv, iFppp)
+GO(g_option_context_set_description, vFpp)
+GO(g_option_context_set_help_enabled, vFpi)
+GO(g_option_context_set_ignore_unknown_options, vFpi)
+GO(g_option_context_set_main_group, vFpp)
+GO(g_option_context_set_strict_posix, vFpi) // 2.44+
+GO(g_option_context_set_summary, vFpp)
+//GOM(g_option_context_set_translate_func, vFEpBpB)
+GO(g_option_context_set_translation_domain, vFpp)
+//GO(g_option_error_quark, 
+GO(g_option_group_add_entries, vFpp)
+GO(g_option_group_free, vFp)
+//GOM(g_option_group_new, pFEppppB)
+GO(g_option_group_ref, pFp) // 2.44+
+//GOM(g_option_group_set_error_hook, vFEpB)
+//GOM(g_option_group_set_parse_hooks, vFEpBB)
+//GOM(g_option_group_set_translate_func, vFEpBpB)
+GO(g_option_group_set_translation_domain, vFpp)
+GO(g_option_group_unref, vFp)   // 2.44+
+GO(g_parse_debug_string, uFppi)
+GO(g_path_get_basename, pFp)
+GO(g_path_get_dirname, pFp)
+GO(g_path_is_absolute, iFp)
+GO(g_path_skip_root, pFp)
+GO(g_pattern_match, iFpupp)
+GO(g_pattern_match_simple, iFpp)
+GO(g_pattern_match_string, iFpp)
+GO(g_pattern_spec_equal, iFpp)
+GO(g_pattern_spec_free, vFp)
+GO(g_pattern_spec_new, pFp)
+//GO(g_pointer_bit_lock, 
+//GO(g_pointer_bit_trylock, 
+//GO(g_pointer_bit_unlock, 
+GO(g_poll, iFpui)
+//GO(g_prefix_error, vFpppppppppp)    //vaarg, should align?
+GOM(g_print, vFEpV)
+GOM(g_printerr, vFEpV)
+GO2(g_printf, iFEpV, my_g_vprintf)
+GOM(g_printf_string_upper_bound, uFEpp)
+GO(g_private_get, pFp)
+GOM(g_private_new, pFEp)
+GO(g_private_replace, vFpp)
+GO(g_private_set, vFpp)
+GO(g_propagate_error, vFpp)
+//GO(g_propagate_prefixed_error, vFpppppppppppp)  //vaarg, should align?
+GO(g_ptr_array_add, vFpp)
+GOM(g_ptr_array_foreach, vFEppp)
+GO(g_ptr_array_free, pFpi)
+GO(g_ptr_array_insert, vFpip)
+GO(g_ptr_array_new, pFv)
+GOM(g_ptr_array_new_full, pFEup)
+GOM(g_ptr_array_new_with_free_func, pFEp)
+GO(g_ptr_array_ref, pFp)
+GO(g_ptr_array_remove, vFpp)
+GO(g_ptr_array_remove_fast, iFpp)
+GO(g_ptr_array_remove_index, pFpu)
+GO(g_ptr_array_remove_index_fast, pFpu)
+GO(g_ptr_array_remove_range, pFpuu)
+GOM(g_ptr_array_set_free_func, vFEpp)
+GO(g_ptr_array_set_size, vFpi)
+GO(g_ptr_array_sized_new, pFu)
+GOM(g_ptr_array_sort, vFEpp)
+GOM(g_ptr_array_sort_with_data, vFEppp)
+GO(g_ptr_array_unref, vFp)
+GOM(g_qsort_with_data, vFEpiLpp)
+GO(g_quark_from_static_string, uFp)
+GO(g_quark_from_string, uFp)
+GO(g_quark_to_string, pFu)
+GO(g_quark_try_string, uFp)
+GO(g_queue_clear, vFp)
+//GOM(g_queue_clear_full, vFEpB)    // 2.60+
+GO(g_queue_copy, pFp)
+GO(g_queue_delete_link, vFpp)
+GO(g_queue_find, pFpp)
+GOM(g_queue_find_custom, pFEppp)
+//GOM(g_queue_foreach, vFEpBp)
+GO(g_queue_free, vFp)
+//GOM(g_queue_free_full, vFEpB)
+GO(g_queue_get_length, uFp)
+GO(g_queue_index, iFpp)
+GO(g_queue_init, vFp)
+GO(g_queue_insert_after, vFppp)
+GO(g_queue_insert_after_link, vFppp)    // 2.62+
+GO(g_queue_insert_before, vFppp)
+GO(g_queue_insert_before_link, vFppp)   // 2.62+
+//GOM(g_queue_insert_sorted, vFEppBp)
+GO(g_queue_is_empty, iFp)
+GO(g_queue_link_index, iFpp)
+GO(g_queue_new, pFv)
+GO(g_queue_peek_head, pFp)
+GO(g_queue_peek_head_link, pFp)
+GO(g_queue_peek_nth, pFpu)
+GO(g_queue_peek_nth_link, pFpu)
+GO(g_queue_peek_tail, pFp)
+GO(g_queue_peek_tail_link, pFp)
+GO(g_queue_pop_head, pFp)
+GO(g_queue_pop_head_link, pFp)
+GO(g_queue_pop_nth, pFpu)
+GO(g_queue_pop_nth_link, pFpu)
+GO(g_queue_pop_tail, pFp)
+GO(g_queue_pop_tail_link, pFp)
+GO(g_queue_push_head, vFpp)
+GO(g_queue_push_head_link, vFpp)
+GO(g_queue_push_nth, vFppi)
+GO(g_queue_push_nth_link, vFpip)
+GO(g_queue_push_tail, vFpp)
+GO(g_queue_push_tail_link, vFpp)
+GO(g_queue_remove, iFpp)
+GO(g_queue_remove_all, iFpp)
+GO(g_queue_reverse, pFp)
+//GOM(g_queue_sort, vFEpBp)
+GO(g_queue_unlink, vFpp)
+GO(g_rand_copy, pFp)
+GO(g_rand_double, dFv)
+GO(g_rand_double_range, dFdd)
+GO(g_rand_free, vFp)
+GO(g_rand_int, uFp)
+GO(g_rand_int_range, uFpuu)
+GO(g_rand_new, pFv)
+GO(g_rand_new_with_seed, pFu)
+GO(g_rand_new_with_seed_array, pFpu)
+GO(g_random_double, dFp)
+GO(g_random_double_range, dFpdd)
+GO(g_random_int, iFii)
+GO(g_random_int_range, iFii)
+GO(g_random_set_seed, vFu)
+GO(g_rand_set_seed, vFpu)
+GO(g_rand_set_seed_array, vFppu)
+GO(g_realloc, pFpL)
+GO(g_realloc_n, pFpLL)
+//GO(g_rec_mutex_clear, 
+//GO(g_rec_mutex_init, 
+//GO(g_rec_mutex_lock, 
+//GO(g_rec_mutex_trylock, 
+//GO(g_rec_mutex_unlock, 
+GO(g_regex_check_replacement, iFppp)
+//GO(g_regex_error_quark, 
+GO(g_regex_escape_nul, pFpi)
+GO(g_regex_escape_string, pFpi)
+GO(g_regex_get_capture_count, iFp)
+GO(g_regex_get_compile_flags, iFp)
+GO(g_regex_get_has_cr_or_lf, iFp)
+GO(g_regex_get_match_flags, iFp)
+GO(g_regex_get_max_backref, iFp)
+GO(g_regex_get_max_lookbehind, iFp)
+GO(g_regex_get_pattern, pFp)
+GO(g_regex_get_string_number, iFpp)
+GO(g_regex_match, iFppip)
+GO(g_regex_match_all, iFppip)
+GO(g_regex_match_all_full, iFppLiipp)
+GO(g_regex_match_full, iFppLiipp)
+GO(g_regex_match_simple, iFppii)
+GO(g_regex_new, pFpiip)
+GO(g_regex_ref, pFp)
+GO(g_regex_replace, pFppLipip)
+//GOM(g_regex_replace_eval, pFEppLiiBpp)
+GO(g_regex_replace_literal, pFppLipip)
+GO(g_regex_split, pFppi)
+GO(g_regex_split_full, pFppLiiip)
+GO(g_regex_split_simple, pFppii)
+GO(g_regex_unref, vFp)
+//GO(g_relation_count, 
+//GO(g_relation_delete, 
+//GO(g_relation_destroy, 
+//GO(g_relation_exists, 
+//GO(g_relation_index, 
+//GO(g_relation_insert, 
+//GO(g_relation_new, 
+//GO(g_relation_print, 
+//GO(g_relation_select, 
+//GO(g_reload_user_special_dirs_cache, 
+GO(g_remove, iFp)
+GO(g_rename, iFpp)
+GO(g_return_if_fail_warning, vFppp)
+GO(g_rmdir, iFp)
+//GO(g_rw_lock_clear, 
+//GO(g_rw_lock_init, 
+//GO(g_rw_lock_reader_lock, 
+//GO(g_rw_lock_reader_trylock, 
+//GO(g_rw_lock_reader_unlock, 
+//GO(g_rw_lock_writer_lock, 
+//GO(g_rw_lock_writer_trylock, 
+//GO(g_rw_lock_writer_unlock, 
+//GO(g_scanner_cur_line, 
+//GO(g_scanner_cur_position, 
+//GO(g_scanner_cur_token, 
+//GO(g_scanner_cur_value, 
+//GO(g_scanner_destroy, 
+//GO(g_scanner_eof, 
+//GO(g_scanner_error, 
+//GO(g_scanner_get_next_token, 
+//GO(g_scanner_input_file, 
+//GO(g_scanner_input_text, 
+//GO(g_scanner_lookup_symbol, 
+//GO(g_scanner_new, 
+//GO(g_scanner_peek_next_token, 
+//GO(g_scanner_scope_add_symbol, 
+//GO(g_scanner_scope_foreach_symbol, 
+//GO(g_scanner_scope_lookup_symbol, 
+//GO(g_scanner_scope_remove_symbol, 
+//GO(g_scanner_set_scope, 
+//GO(g_scanner_sync_file_offset, 
+//GO(g_scanner_unexp_token, 
+//GO(g_scanner_warn, 
+//GO(g_sequence_append, 
+//GO(g_sequence_foreach, 
+//GO(g_sequence_foreach_range, 
+//GO(g_sequence_free, 
+//GO(g_sequence_get, 
+//GO(g_sequence_get_begin_iter, 
+//GO(g_sequence_get_end_iter, 
+//GO(g_sequence_get_iter_at_pos, 
+//GO(g_sequence_get_length, 
+//GO(g_sequence_insert_before, 
+//GO(g_sequence_insert_sorted, 
+//GO(g_sequence_insert_sorted_iter, 
+//GO(g_sequence_iter_compare, 
+//GO(g_sequence_iter_get_position, 
+//GO(g_sequence_iter_get_sequence, 
+//GO(g_sequence_iter_is_begin, 
+//GO(g_sequence_iter_is_end, 
+//GO(g_sequence_iter_move, 
+//GO(g_sequence_iter_next, 
+//GO(g_sequence_iter_prev, 
+//GO(g_sequence_lookup, 
+//GO(g_sequence_lookup_iter, 
+//GO(g_sequence_move, 
+//GO(g_sequence_move_range, 
+//GO(g_sequence_new, 
+//GO(g_sequence_prepend, 
+//GO(g_sequence_range_get_midpoint, 
+//GO(g_sequence_remove, 
+//GO(g_sequence_remove_range, 
+//GO(g_sequence_search, 
+//GO(g_sequence_search_iter, 
+//GO(g_sequence_set, 
+//GO(g_sequence_sort, 
+//GO(g_sequence_sort_changed, 
+//GO(g_sequence_sort_changed_iter, 
+//GO(g_sequence_sort_iter, 
+//GO(g_sequence_swap, 
+GO(g_set_application_name, vFp)
+GO(g_setenv, iFppi)
+GOM(g_set_error, vFEppipV)
+GO(g_set_error_literal, vFppip)
+GO(g_set_prgname, vFp)
+GOM(g_set_printerr_handler, pFEp)
+GOM(g_set_print_handler, pFEp)
+//GO(g_shell_error_quark, 
+GO(g_shell_parse_argv, iFpppp)
+GO(g_shell_quote, pFp)
+GO(g_shell_unquote, pFpp)
+GO(g_slice_alloc, pFL)
+GO(g_slice_alloc0, pFL)
+GO(g_slice_copy, pFLp)
+GO(g_slice_free1, vFLp)
+GO(g_slice_free_chain_with_offset, vFLpL)
+GO(g_slice_get_config, IFi)
+GO(g_slice_get_config_state, pFiIp)
+GO(g_slice_set_config, vFiI)
+GO(g_slist_alloc, pFv)
+GO(g_slist_append, pFpp)
+GO(g_slist_concat, pFpp)
+GO(g_slist_copy, pFp)
+//GOM(g_slist_copy_deep, pFEppp)
+GO(g_slist_delete_link, pFpp)
+GO(g_slist_find, pFpp)
+GOM(g_slist_find_custom, pFEppp)
+GOM(g_slist_foreach, pFEppp)
+GO(g_slist_free, vFp)
+GO(g_slist_free_1, vFp)
+//GOM(g_slist_free_full, vFEpp)
+GO(g_slist_index, iFpp)
+GO(g_slist_insert, pFppi)
+GO(g_slist_insert_before, pFppp)
+GOM(g_slist_insert_sorted, pFEppp)
+GOM(g_slist_insert_sorted_with_data, pFEpppp)
+GO(g_slist_last, pFp)
+GO(g_slist_length, uFp)
+GO(g_slist_nth, pFpu)
+GO(g_slist_nth_data, pFpu)
+//GO(g_slist_pop_allocator, 
+GO(g_slist_position, iFpp)
+GO(g_slist_prepend, pFpp)
+//GO(g_slist_push_allocator, 
+GO(g_slist_remove, pFpp)
+GO(g_slist_remove_all, pFpp)
+GO(g_slist_remove_link, pFpp)
+GO(g_slist_reverse, pFp)
+GOM(g_slist_sort, pFEpp)
+GOM(g_slist_sort_with_data, pFEppp)
+GO2(g_snprintf, iFEpLpV, my_g_vsnprintf)
+GO(g_source_add_child_source, vFpp)
+GO(g_source_add_poll, vFpp)
+GO(g_source_add_unix_fd, pFpii)
+GO(g_source_attach, uFpp)
+GO(g_source_destroy, vFp)
+GO(g_source_get_can_recurse, iFp)
+GO(g_source_get_context, pFp)
+GO(g_source_get_current_time, vFpp)
+GO(g_source_get_id, uFp)
+GO(g_source_get_name, pFp)
+GO(g_source_get_priority, iFp)
+GO(g_source_get_ready_time, IFp)
+GO(g_source_get_time, IFp)
+GO(g_source_is_destroyed, iFp)
+GO(g_source_modify_unix_fd, vFppi)
+GOM(g_source_new, pFEpu)
+GO(g_source_query_unix_fd, iFpp)
+GO(g_source_ref, pFp)
+GO(g_source_remove, iFu)
+GOM(g_source_remove_by_funcs_user_data, iFEpp)
+GO(g_source_remove_by_user_data, iFp)
+GO(g_source_remove_child_source, vFpp)
+GO(g_source_remove_poll, vFpp)
+GO(g_source_remove_unix_fd, vFpp)
+GOM(g_source_set_callback, vFEpppp)
+//GOM(g_source_set_callback_indirect, vFEppB)
+GO(g_source_set_can_recurse, vFpi)
+GOM(g_source_set_funcs, vFEpp)
+GO(g_source_set_name, vFpp)
+GO(g_source_set_name_by_id, vFup)
+GO(g_source_set_priority, vFpi)
+GO(g_source_set_ready_time, vFpI)
+GO(g_source_unref, vFp)
+GO(g_spaced_primes_closest, uFu)
+GOM(g_spawn_async, iFEpppipppp)
+GOM(g_spawn_async_with_pipes, iFEpppippppppp)
+GO(g_spawn_check_exit_status, iFip)
+GO(g_spawn_close_pid, vFp)
+GO(g_spawn_command_line_async, iFpp)
+GO(g_spawn_command_line_sync, iFppppp)
+GO(g_spawn_error_quark, pFv)
+GO(g_spawn_exit_error_quark, pFv)
+GOM(g_spawn_sync, iFEpppipppppp)
+GO2(g_sprintf, iFEppV, my_g_vsprintf)
+GO(g_stat, iFpp)
+GO(g_static_mutex_free, vFp)
+GO(g_static_mutex_get_mutex_impl, pFp)
+GO(g_static_mutex_init, vFp)
+GO(g_static_private_free, vFp)
+GO(g_static_private_get, pFp)
+GO(g_static_private_init, vFp)
+GOM(g_static_private_set, vFEppp)
+GO(g_static_rec_mutex_free, vFp)
+GO(g_static_rec_mutex_init, vFp)
+GO(g_static_rec_mutex_lock, vFp)
+GO(g_static_rec_mutex_lock_full, vFpu)
+GO(g_static_rec_mutex_trylock, iFp)
+GO(g_static_rec_mutex_unlock, vFp)
+GO(g_static_rec_mutex_unlock_full, uFp)
+GO(g_static_rw_lock_free, vFp)
+GO(g_static_rw_lock_init, vFp)
+GO(g_static_rw_lock_reader_lock, vFp)
+GO(g_static_rw_lock_reader_trylock, iFp)
+GO(g_static_rw_lock_reader_unlock, vFp)
+GO(g_static_rw_lock_writer_lock, vFp)
+GO(g_static_rw_lock_writer_trylock, iFp)
+GO(g_static_rw_lock_writer_unlock, vFp)
+GO(g_stpcpy, pFpp)
+GO(g_strcanon, pFppC)
+GO(g_strcasecmp, iFpp)
+GO(g_strchomp, pFp)
+GO(g_strchug, pFp)
+GO(g_strcmp0, iFpp)
+GO(g_strcompress, pFp)
+//GO(g_strconcat, pFppppppppppppp)    //vaarg, no va_list equivalent...
+GO(g_strdelimit, pFppC)
+GO(g_strdown, pFp)
+GO(g_strdup, pFp)
+GO2(g_strdup_printf, pFEpV, my_g_strdup_vprintf)
+GO(g_strdupv, pFp)
+GOM(g_strdup_vprintf, pFEpp)
+GO(g_str_equal, iFpp)
+GO(g_strerror, pFi)
+GO(g_strescape, pFpp)
+GO(g_strfreev, vFp)
+GO(g_str_hash, uFp)
+GO(g_str_has_prefix, iFpp)
+GO(g_str_has_suffix, iFpp)
+GO(g_string_append, pFpp)
+GO(g_string_append_c, pFpC)
+GO(g_string_append_len, pFppl)
+GO2(g_string_append_printf, vFppV, g_string_append_vprintf) // need align?
+GO(g_string_append_unichar, pFpu)
+GO(g_string_append_uri_escaped, pFpppi)
+GO(g_string_append_vprintf, vFppp)
+GO(g_string_ascii_down, pFp)
+GO(g_string_ascii_up, pFp)
+GO(g_string_assign, pFpp)
+GO(g_string_chunk_clear, vFp)
+GO(g_string_chunk_free, vFp)
+GO(g_string_chunk_insert, pFpp)
+GO(g_string_chunk_insert_const, pFpp)
+GO(g_string_chunk_insert_len, pFppl)
+GO(g_string_chunk_new, pFL)
+GO(g_string_down, pFp)
+GO(g_string_equal, iFpp)
+GO(g_string_erase, pFpll)
+GO(g_string_free, pFpi)
+GO(g_string_free_to_bytes, pFp)
+GO(g_string_hash, uFp)
+GO(g_string_insert, pFplp)
+GO(g_string_insert_c, pFplC)
+GO(g_string_insert_len, pFplpl)
+GO(g_string_insert_unichar, pFplu)
+GO(g_string_new, pFp)
+GO(g_string_new_len, pFpl)
+GO(g_string_overwrite, pFplp)
+GO(g_string_overwrite_len, pFplpl)
+GO(g_string_prepend, pFpp)
+GO(g_string_prepend_c, pFpC)
+GO(g_string_prepend_len, pFppl)
+GO(g_string_prepend_unichar, pFpu)
+GO2(g_string_printf, vFppV, g_string_vprintf)   // need align?
+GO(g_string_set_size, pFpL)
+GO(g_string_sized_new, pFL)
+GO(g_string_truncate, pFpL)
+GO(g_string_up, pFp)
+GO(g_string_vprintf, vFppp)
+GO(g_strip_context, pFpp)
+GO(g_str_is_ascii, iFp)
+GO2(g_strjoin, pFpV, g_strjoinv)
+GO(g_strjoinv, pFpp)    // no need to align, ony string pointers here
+GO(g_strlcat, uFppu)
+GO(g_strlcpy, uFppu)
+GO(g_str_match_string, iFppi)
+GO(g_strncasecmp, iFppu)
+GO(g_strndup, pFpu)
+GO(g_strnfill, pFuC)
+GO(g_strreverse, pFp)
+GO(g_strrstr, pFpp)
+GO(g_strrstr_len, pFpip)
+GO(g_strsignal, pFi)
+GO(g_strsplit, pFppi)
+GO(g_strsplit_set, pFppi)
+GO(g_strstr_len, pFpip)
+GO(g_str_to_ascii, pFpp)
+GO(g_strtod, dFpp)
+GO(g_str_tokenize_and_fold, pFppp)
+GO(g_strup, pFp)
+GO(g_strv_length, uFp)
+//GO(g_test_add_data_func, 
+//GO(g_test_add_data_func_full, 
+//GO(g_test_add_func, 
+//GO(g_test_add_vtable, 
+//GO(g_test_assert_expected_messages_internal, 
+//GO(g_test_bug, 
+//GO(g_test_bug_base, 
+//GO(g_test_build_filename, 
+//GO(g_test_create_case, 
+//GO(g_test_create_suite, 
+//GO(g_test_expect_message, 
+//GO(g_test_fail, 
+//GO(g_test_failed, 
+//GO(g_test_get_dir, 
+//GO(g_test_get_filename, 
+//GO(g_test_get_root, 
+//GO(g_test_incomplete, 
+//GO(g_test_init, 
+//GO(g_test_log_buffer_free, 
+//GO(g_test_log_buffer_new, 
+//GO(g_test_log_buffer_pop, 
+//GO(g_test_log_buffer_push, 
+//GO(g_test_log_msg_free, 
+//GO(g_test_log_set_fatal_handler, 
+//GO(g_test_log_type_name, 
+//GO(g_test_maximized_result, 
+//GO(g_test_message, 
+//GO(g_test_minimized_result, 
+//GO(g_test_queue_destroy, 
+//GO(g_test_queue_free, 
+//GO(g_test_rand_double, 
+//GO(g_test_rand_double_range, 
+//GO(g_test_rand_int, 
+//GO(g_test_rand_int_range, 
+//GO(g_test_run, 
+//GO(g_test_run_suite, 
+//GO(g_test_set_nonfatal_assertions, 
+//GO(g_test_skip, 
+//GO(g_test_subprocess, 
+//GO(g_test_suite_add, 
+//GO(g_test_suite_add_suite, 
+//GO(g_test_timer_elapsed, 
+//GO(g_test_timer_last, 
+//GO(g_test_timer_start, 
+//GO(g_test_trap_assertions, 
+//GO(g_test_trap_fork, 
+//GO(g_test_trap_has_passed, 
+//GO(g_test_trap_reached_timeout, 
+//GO(g_test_trap_subprocess, 
+GOM(g_thread_create, pFEppip)
+GOM(g_thread_create_full, pFEppLiiip)
+//GO(g_thread_error_quark, 
+GO(g_thread_exit, vFp)
+GOM(g_thread_foreach, vFEpp)
+//GO(g_thread_get_initialized, 
+//GO(g_thread_init_glib, 
+GO(g_thread_join, pFp)
+//GO(g_thread_new, 
+//GO(g_thread_pool_free, 
+//GO(g_thread_pool_get_max_idle_time, 
+//GO(g_thread_pool_get_max_threads, 
+//GO(g_thread_pool_get_max_unused_threads, 
+//GO(g_thread_pool_get_num_threads, 
+//GO(g_thread_pool_get_num_unused_threads, 
+//GO(g_thread_pool_new, 
+//GO(g_thread_pool_push, 
+//GO(g_thread_pool_set_max_idle_time, 
+//GO(g_thread_pool_set_max_threads, 
+//GO(g_thread_pool_set_max_unused_threads, 
+//GO(g_thread_pool_set_sort_function, 
+//GO(g_thread_pool_stop_unused_threads, 
+//GO(g_thread_pool_unprocessed, 
+GO(g_thread_ref, pFp)
+GO(g_thread_self, pFv)
+GO(g_thread_set_priority, vFpi)
+//GO(g_thread_try_new, 
+GO(g_thread_unref, vFp)
+GO(g_thread_yield, vFv)
+GOM(g_timeout_add, uFEupp)
+GOM(g_timeout_add_full, uFEiuppp)
+GOM(g_timeout_add_seconds, uFEupp)
+GOM(g_timeout_add_seconds_full, uFEiuppp)
+GO(g_timeout_source_new, pFu)
+GO(g_timeout_source_new_seconds, pFu)
+//GO(g_timer_continue, 
+//GO(g_timer_destroy, 
+//GO(g_timer_elapsed, 
+//GO(g_timer_new, 
+//GO(g_timer_reset, 
+//GO(g_timer_start, 
+//GO(g_timer_stop, 
+GO(g_time_val_add, vFpl)
+GO(g_time_val_from_iso8601, iFpp)
+GO(g_time_val_to_iso8601, pFp)
+//GO(g_time_zone_adjust_time, 
+//GO(g_time_zone_find_interval, 
+//GO(g_time_zone_get_abbreviation, 
+//GO(g_time_zone_get_offset, 
+//GO(g_time_zone_is_dst, 
+//GO(g_time_zone_new, 
+//GO(g_time_zone_new_local, 
+//GO(g_time_zone_new_utc, 
+//GO(g_time_zone_ref, 
+//GO(g_time_zone_unref, 
+GO(g_trash_stack_height, uFp)
+GO(g_trash_stack_peek, pFp)
+GO(g_trash_stack_pop, pFp)
+GO(g_trash_stack_push, vFpp)
+//GO(g_tree_destroy, 
+//GO(g_tree_foreach, 
+//GO(g_tree_height, 
+//GO(g_tree_insert, 
+//GO(g_tree_lookup, 
+//GO(g_tree_lookup_extended, 
+//GO(g_tree_new, 
+//GO(g_tree_new_full, 
+//GO(g_tree_new_with_data, 
+//GO(g_tree_nnodes, 
+//GO(g_tree_ref, 
+//GO(g_tree_remove, 
+//GO(g_tree_replace, 
+//GO(g_tree_search, 
+//GO(g_tree_steal, 
+//GO(g_tree_traverse, 
+//GO(g_tree_unref, 
+GO(g_try_malloc, pFL)
+GO(g_try_malloc0, pFL)
+GO(g_try_malloc0_n, pFLL)
+GO(g_try_malloc_n, pFLL)
+GO(g_try_realloc, pFpL)
+GO(g_try_realloc_n, pFpLL)
+//GO(g_tuples_destroy, 
+//GO(g_tuples_index, 
+GO(g_ucs4_to_utf16, pFplppp)
+GO(g_ucs4_to_utf8, pFplppp)
+GO(g_unichar_break_type, iFu)
+GO(g_unichar_combining_class, iFu)
+GO(g_unichar_compose, iFuup)
+GO(g_unichar_decompose, iFupp)
+GO(g_unichar_digit_value, iFu)
+GO(g_unichar_fully_decompose, iFuipu)
+GO(g_unichar_get_mirror_char, iFup)
+GO(g_unichar_get_script, iFu)
+GO(g_unichar_isalnum, iFu)
+GO(g_unichar_isalpha, iFu)
+GO(g_unichar_iscntrl, iFu)
+GO(g_unichar_isdefined, iFu)
+GO(g_unichar_isdigit, iFu)
+GO(g_unichar_isgraph, iFu)
+GO(g_unichar_islower, iFu)
+GO(g_unichar_ismark, iFu)
+GO(g_unichar_isprint, iFu)
+GO(g_unichar_ispunct, iFu)
+GO(g_unichar_isspace, iFu)
+GO(g_unichar_istitle, iFu)
+GO(g_unichar_isupper, iFu)
+GO(g_unichar_iswide, iFu)
+GO(g_unichar_iswide_cjk, iFu)
+GO(g_unichar_isxdigit, iFu)
+GO(g_unichar_iszerowidth, iFu)
+GO(g_unichar_tolower, uFu)
+GO(g_unichar_totitle, uFu)
+GO(g_unichar_toupper, uFu)
+GO(g_unichar_to_utf8, iFup)
+GO(g_unichar_type, iFu)
+GO(g_unichar_validate, iFu)
+GO(g_unichar_xdigit_value, iFu)
+GO(g_unicode_canonical_decomposition, pFup)
+GO(g_unicode_canonical_ordering, vFpu)
+GO(g_unicode_script_from_iso15924, iFu)
+GO(g_unicode_script_to_iso15924, uFi)
+//GO(g_unix_error_quark, 
+//GO(g_unix_fd_add, 
+//GO(g_unix_fd_add_full, 
+//GO(g_unix_fd_source_new, 
+//GO(g_unix_open_pipe, 
+//GO(g_unix_set_fd_nonblocking, 
+//GO(g_unix_signal_add, 
+//GO(g_unix_signal_add_full, 
+//GO(g_unix_signal_source_new, 
+GO(g_unlink, iFp)
+GO(g_unsetenv, vFp)
+GO(g_uri_escape_string, pFppi)
+GO(g_uri_list_extract_uris, pFp)
+GO(g_uri_parse_scheme, pFp)
+GO(g_uri_unescape_segment, pFppp)
+GO(g_uri_unescape_string, pFpp)
+GO(g_usleep, vFL)
+GO(g_utf16_to_ucs4, pFplppp)
+GO(g_utf16_to_utf8, pFplppp)
+GO(g_utf8_casefold, pFpi)
+GO(g_utf8_collate, iFpp)
+GO(g_utf8_collate_key, pFpi)
+GO(g_utf8_collate_key_for_filename, pFpi)
+GO(g_utf8_find_next_char, pFpp)
+GO(g_utf8_find_prev_char, pFpp)
+GO(g_utf8_get_char, uFp)
+GO(g_utf8_get_char_validated, uFpi)
+GO(g_utf8_normalize, pFpii)
+GO(g_utf8_offset_to_pointer, pFpl)
+GO(g_utf8_pointer_to_offset, lFpp)
+GO(g_utf8_prev_char, pFp)
+GO(g_utf8_strchr, pFpiu)
+GO(g_utf8_strdown, pFpi)
+GO(g_utf8_strlen, lFpi)
+GO(g_utf8_strncpy, pFppu)
+GO(g_utf8_strrchr, pFpiu)
+GO(g_utf8_strreverse, pFpi)
+GO(g_utf8_strup, pFpi)
+GO(g_utf8_substring, pFpll)
+GO(g_utf8_to_ucs4, pFplppp)
+GO(g_utf8_to_ucs4_fast, pFplp)
+GO(g_utf8_to_utf16, pFplppp)
+GO(g_utf8_validate, iFplp)
+GO(g_utime, iFpp)
+//GO(g_variant_builder_add, vFppppppppppp)    // vaarg
+//GO(g_variant_builder_add_parsed, vFppppppppppp) //vaarg
+GO(g_variant_builder_add_value, vFpp)
+GO(g_variant_builder_clear, vFp)
+GO(g_variant_builder_close, vFp)
+GO(g_variant_builder_end, pFp)
+GO(g_variant_builder_init, vFpp)
+GO(g_variant_builder_new, pFp)
+GO(g_variant_builder_open, vFpp)
+GO(g_variant_builder_ref, pFp)
+GO(g_variant_builder_unref, vFp)
+GO(g_variant_byteswap, pFp)
+GO(g_variant_check_format_string, iFppi)
+GO(g_variant_classify, iFp)
+GO(g_variant_compare, iFpp)
+GO(g_variant_dict_clear, vFp)
+GO(g_variant_dict_contains, iFpp)
+GO(g_variant_dict_end, pFp)
+GO(g_variant_dict_init, vFpp)
+//GO(g_variant_dict_insert, vFpppppppppppppp) //vaarg
+GO(g_variant_dict_insert_value, vFppp)
+//GO(g_variant_dict_lookup, iFppppppppppppp)  //vaarg
+GO(g_variant_dict_lookup_value, pFppp)
+GO(g_variant_dict_new, pFp)
+GO(g_variant_dict_ref, pFp)
+GO(g_variant_dict_remove, iFpp)
+GO(g_variant_dict_unref, vFp)
+GO(g_variant_dup_bytestring, pFpp)
+GO(g_variant_dup_bytestring_array, pFpp)
+GO(g_variant_dup_objv, pFpp)
+GO(g_variant_dup_string, pFpp)
+GO(g_variant_dup_strv, pFpp)
+GO(g_variant_equal, iFpp)
+//GO(g_variant_format_string_scan, 
+//GO(g_variant_format_string_scan_type, 
+GOM(g_variant_get, vFEppV)
+GO(g_variant_get_boolean, iFp)
+GO(g_variant_get_byte, CFp)
+GO(g_variant_get_bytestring, pFp)
+GO(g_variant_get_bytestring_array, pFpp)
+//GO(g_variant_get_child, vFpuppppppppppp)    //vaarg here
+GO(g_variant_get_child_value, pFpu)
+GO(g_variant_get_data, pFp)
+GO(g_variant_get_data_as_bytes, pFp)
+GO(g_variant_get_double, dFp)
+GO(g_variant_get_fixed_array, pFppu)
+GO(g_variant_get_handle, iFp)
+GO(g_variant_get_int16, wFp)
+GO(g_variant_get_int32, iFp)
+GO(g_variant_get_int64, IFp)
+GO(g_variant_get_maybe, pFp)
+GO(g_variant_get_normal_form, pFp)
+GO(g_variant_get_objv, pFpp)
+GO(g_variant_get_size, uFp)
+GO(g_variant_get_string, pFpp)
+GO(g_variant_get_strv, pFpp)
+GO(g_variant_get_type, pFp)
+GO(g_variant_get_type_string, pFp)
+GO(g_variant_get_uint16, WFp)
+GO(g_variant_get_uint32, uFp)
+GO(g_variant_get_uint64, UFp)
+GO(g_variant_get_va, vFpppp)    // no need to GOM, it's a "scanf" type of function, so using only pointer in va_list
+GO(g_variant_get_variant, pFp)
+GO(g_variant_hash, uFp)
+GO(g_variant_is_container, iFp)
+GO(g_variant_is_floating, iFp)
+GO(g_variant_is_normal_form, iFp)
+GO(g_variant_is_object_path, iFp)
+GO(g_variant_is_of_type, iFpp)
+GO(g_variant_is_signature, iFp)
+GO(g_variant_iter_copy, pFp)
+GO(g_variant_iter_free, vFp)
+GO(g_variant_iter_init, uFpp)
+//GO(g_variant_iter_loop, iFpppppppppppp) // vaarg
+GO(g_variant_iter_n_children, uFp)
+GO(g_variant_iter_new, pFp)
+//GO(g_variant_iter_next, iFpppppppppppp) // vaarg here
+GO(g_variant_iter_next_value, pFp)
+//GO(g_variant_lookup, iFpppppppppppp)    // vaarg
+GO(g_variant_lookup_value, pFppp)
+GO(g_variant_n_children, uFp)
+GOM(g_variant_new, pFEpV)
+GO(g_variant_new_array, pFppu)
+GO(g_variant_new_boolean, pFi)
+GO(g_variant_new_byte, pFC)
+GO(g_variant_new_bytestring, pFp)
+GO(g_variant_new_bytestring_array, pFpi)
+GO(g_variant_new_dict_entry, pFpp)
+GO(g_variant_new_double, pFd)
+GO(g_variant_new_fixed_array, pFppuu)
+GO(g_variant_new_from_bytes, pFppi)
+GOM(g_variant_new_from_data, pFEppuipp)
+GO(g_variant_new_handle, pFi)
+GO(g_variant_new_int16, pFw)
+GO(g_variant_new_int32, pFi)
+GO(g_variant_new_int64, pFI)
+GO(g_variant_new_maybe, pFpp)
+GO(g_variant_new_object_path, pFp)
+GO(g_variant_new_objv, pFpi)
+//GO2(g_variant_new_parsed, pFEpV, my_g_variant_new_parsed_va)
+GOM(g_variant_new_parsed_va, pFEpA)
+//GO(g_variant_new_printf,  // needs alignment.....
+GO(g_variant_new_signature, pFp)
+GO(g_variant_new_string, pFp)
+GO(g_variant_new_strv, pFpi)
+GO(g_variant_new_take_string, pFp)
+GO(g_variant_new_tuple, pFpu)
+GO(g_variant_new_uint16, pFW)
+GO(g_variant_new_uint32, pFu)
+GO(g_variant_new_uint64, pFU)
+GOM(g_variant_new_va, pFEppp)
+GO(g_variant_new_variant, pFp)
+GO(g_variant_parse, pFppppp)
+GO(g_variant_parse_error_print_context, pFpp)
+//GO(g_variant_parse_error_quark, 
+//GO(g_variant_parser_get_error_quark, 
+GO(g_variant_print, pFpi)
+GO(g_variant_print_string, pFppi)
+GO(g_variant_ref, pFp)
+GO(g_variant_ref_sink, pFp)
+//GO(g_variant_serialised_byteswap, 
+//GO(g_variant_serialised_get_child, 
+//GO(g_variant_serialised_is_normal, 
+//GO(g_variant_serialised_n_children, 
+//GO(g_variant_serialiser_is_object_path, 
+//GO(g_variant_serialiser_is_signature, 
+//GO(g_variant_serialiser_is_string, 
+//GO(g_variant_serialiser_needed_size, 
+//GO(g_variant_serialiser_serialise, 
+GO(g_variant_store, vFp)
+GO(g_variant_take_ref, pFp)
+GO(g_variant_type_checked_, pFp)
+//GO(g_variant_type_copy, 
+//GO(g_variant_type_dup_string, 
+//GO(g_variant_type_element, 
+//GO(g_variant_type_equal, 
+//GO(g_variant_type_first, 
+//GO(g_variant_type_free, 
+//GO(g_variant_type_get_string_length, 
+//GO(g_variant_type_hash, 
+//GO(g_variant_type_info_assert_no_infos, 
+//GO(g_variant_type_info_element, 
+//GO(g_variant_type_info_get, 
+//GO(g_variant_type_info_get_type_string, 
+//GO(g_variant_type_info_member_info, 
+//GO(g_variant_type_info_n_members, 
+//GO(g_variant_type_info_query, 
+//GO(g_variant_type_info_query_element, 
+//GO(g_variant_type_info_ref, 
+//GO(g_variant_type_info_unref, 
+//GO(g_variant_type_is_array, 
+//GO(g_variant_type_is_basic, 
+//GO(g_variant_type_is_container, 
+//GO(g_variant_type_is_definite, 
+//GO(g_variant_type_is_dict_entry, 
+//GO(g_variant_type_is_maybe, 
+//GO(g_variant_type_is_subtype_of, 
+//GO(g_variant_type_is_tuple, 
+//GO(g_variant_type_is_variant, 
+//GO(g_variant_type_key, 
+//GO(g_variant_type_new, 
+//GO(g_variant_type_new_array, 
+//GO(g_variant_type_new_dict_entry, 
+//GO(g_variant_type_new_maybe, 
+//GO(g_variant_type_new_tuple, 
+//GO(g_variant_type_next, 
+//GO(g_variant_type_n_items, 
+//GO(g_variant_type_peek_string, 
+//GO(g_variant_type_string_is_valid, 
+//GO(g_variant_type_string_scan, 
+//GO(g_variant_type_value, 
+GO(g_variant_unref, vFp)
+GOM(g_vasprintf, iFEppp)
+GOM(g_vfprintf, iFEppp)
+GOM(g_vprintf, iFEpp)
+GOM(g_vsnprintf, iFEpLpp)
+GOM(g_vsprintf, iFEppp)
+GO(g_warn_message, vFppipp)
+//GO(_init, 
+
+DATA(g_ascii_table, sizeof(void*))
+DATA(g_utf8_skip, sizeof(void*))
+//GLOB(g_threads_got_initialized, sizeof(void*))
+DATA(glib_major_version, sizeof(void*))
+DATA(glib_minor_version, sizeof(void*))
+DATA(glib_micro_version, sizeof(void*))
diff --git a/src/wrapped/wrappedgmodule2.c b/src/wrapped/wrappedgmodule2.c
new file mode 100755
index 00000000..fb68612e
--- /dev/null
+++ b/src/wrapped/wrappedgmodule2.c
@@ -0,0 +1,27 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+
+const char* gmodule2Name = "libgmodule-2.0.so.0";
+#define LIBNAME gmodule2
+
+#define PRE_INIT    \
+    if(box64_nogtk) \
+        return -1;
+
+#define CUSTOM_INIT \
+    lib->priv.w.needed = 1; \
+    lib->priv.w.neededlibs = (char**)calloc(lib->priv.w.needed, sizeof(char*)); \
+    lib->priv.w.neededlibs[0] = strdup("libglib-2.0.so.0");
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedgmodule2_private.h b/src/wrapped/wrappedgmodule2_private.h
new file mode 100755
index 00000000..45beba45
--- /dev/null
+++ b/src/wrapped/wrappedgmodule2_private.h
@@ -0,0 +1,14 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(_fini, 
+GO(g_module_build_path, pFpp)
+GO(g_module_close, iFp)
+GO(g_module_error, pFv)
+GO(g_module_make_resident, vFp)
+GO(g_module_name, pFp)
+GO(g_module_open, pFpi)
+GO(g_module_supported, iFv)
+GO(g_module_symbol, iFppp)
+//GO(_init, 
diff --git a/src/wrapped/wrappedgobject2.c b/src/wrapped/wrappedgobject2.c
new file mode 100755
index 00000000..4b1ba6d0
--- /dev/null
+++ b/src/wrapped/wrappedgobject2.c
@@ -0,0 +1,799 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "gtkclass.h"
+#include "myalign.h"
+
+const char* gobject2Name = "libgobject-2.0.so.0";
+#define LIBNAME gobject2
+library_t *my_lib = NULL;
+
+typedef int (*iFv_t)(void);
+typedef void*(*pFi_t)(int);
+
+#define ADDED_FUNCTIONS()           \
+ GO(g_object_get_type, iFv_t)       \
+ GO(g_type_name, pFi_t)
+
+#include "generated/wrappedgobject2types.h"
+
+typedef struct gobject2_my_s {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+} gobject2_my_t;
+
+static void addGObject2Alternate(library_t* lib);
+
+void* getGobject2My(library_t* lib)
+{
+    gobject2_my_t* my = (gobject2_my_t*)calloc(1, sizeof(gobject2_my_t));
+    #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
+    SUPER()
+    #undef GO
+    addGObject2Alternate(lib);
+    return my;
+}
+#undef SUPER
+
+void freeGobject2My(void* lib)
+{
+    //gobject2_my_t *my = (gobject2_my_t *)lib;
+}
+
+static int signal_cb(void* a, void* b, void* c, void* d)
+{
+    // signal can have many signature... so first job is to find the data!
+    // hopefully, no callback have more than 4 arguments...
+    my_signal_t* sig = NULL;
+    int i = 0;
+    if(my_signal_is_valid(a)) {
+        sig = (my_signal_t*)a;
+        i = 1;
+    }
+    if(!sig && my_signal_is_valid(b)) {
+        sig = (my_signal_t*)b;
+        i = 2;
+    }
+    if(!sig && my_signal_is_valid(c))  {
+        sig = (my_signal_t*)c;
+        i = 3;
+    }
+    if(!sig && my_signal_is_valid(d)) {
+        sig = (my_signal_t*)d;
+        i = 4;
+    }
+    printf_log(LOG_DEBUG, "gobject2 Signal called, sig=%p, handler=%p, NArgs=%d\n", sig, (void*)sig->c_handler, i);
+    switch(i) {
+        case 1: return (int)RunFunction(my_context, sig->c_handler, 1, sig->data);
+        case 2: return (int)RunFunction(my_context, sig->c_handler, 2, a, sig->data);
+        case 3: return (int)RunFunction(my_context, sig->c_handler, 3, a, b, sig->data);
+        case 4: return (int)RunFunction(my_context, sig->c_handler, 4, a, b, c, sig->data);
+    }
+    printf_log(LOG_NONE, "Warning, GObject2 signal callback but no data found!");
+    return 0;
+}
+static int signal_cb_swapped(my_signal_t* sig, void* b, void* c, void* d)
+{
+    // data is in front here...
+    printf_log(LOG_DEBUG, "gobject2 swaped4 Signal called, sig=%p\n", sig);
+    return (int)RunFunction(my_context, sig->c_handler, 4, sig->data, b, c, d);
+}
+static int signal_cb_5(void* a, void* b, void* c, void* d, my_signal_t* sig)
+{
+    printf_log(LOG_DEBUG, "gobject2 5 Signal called, sig=%p\n", sig);
+    return (int)RunFunction(my_context, sig->c_handler, 5, a, b, c, d, sig->data);
+}
+static int signal_cb_swapped_5(my_signal_t* sig, void* b, void* c, void* d, void* e)
+{
+    // data is in front here...
+    printf_log(LOG_DEBUG, "gobject2 swaped5 Signal called, sig=%p\n", sig);
+    return (int)RunFunction(my_context, sig->c_handler, 5, sig->data, b, c, d, e);
+}
+static int signal_cb_6(void* a, void* b, void* c, void* d, void* e, my_signal_t* sig)
+{
+    printf_log(LOG_DEBUG, "gobject2 6 Signal called, sig=%p\n", sig);
+    return (int)RunFunction(my_context, sig->c_handler, 6, a, b, c, d, e, sig->data);
+}
+static int signal_cb_swapped_6(my_signal_t* sig, void* b, void* c, void* d, void* e, void* f)
+{
+    // data is in front here...
+    printf_log(LOG_DEBUG, "gobject2 swaped6 Signal called, sig=%p\n", sig);
+    return (int)RunFunction(my_context, sig->c_handler, 6, sig->data, b, c, d, e, f);
+}
+static int signal_cb_8(void* a, void* b, void* c, void* d, void* e, void* f, void* g, my_signal_t* sig)
+{
+    printf_log(LOG_DEBUG, "gobject2 8 Signal called, sig=%p\n", sig);
+    return (int)RunFunction(my_context, sig->c_handler, 8, a, b, c, d, e, f, g, sig->data);
+}
+static int signal_cb_swapped_8(my_signal_t* sig, void* b, void* c, void* d, void* e, void* f, void* g, void* h)
+{
+    // data is in front here...
+    printf_log(LOG_DEBUG, "gobject2 swaped8 Signal called, sig=%p\n", sig);
+    return (int)RunFunction(my_context, sig->c_handler, 8, sig->data, b, c, d, e, f, g, h);
+}
+
+static void signal_delete(my_signal_t* sig, void* b)
+{
+    uintptr_t d = sig->destroy;
+    if(d) {
+        RunFunction(my_context, d, 2, sig->data, b);
+    }
+    printf_log(LOG_DEBUG, "gobject2 Signal deleted, sig=%p, destroy=%p\n", sig, (void*)d);
+    free(sig);
+}
+
+static void addGObject2Alternate(library_t* lib)
+{
+    #define GO(A, W) AddAutomaticBridge(thread_get_emu(), lib->priv.w.bridge, W, dlsym(lib->priv.w.lib, #A), 0)
+    GO(g_cclosure_marshal_VOID__VOID,               vFppuppp);
+    GO(g_cclosure_marshal_VOID__BOOLEAN,            vFppuppp);
+    GO(g_cclosure_marshal_VOID__UCHAR,              vFppuppp);
+    GO(g_cclosure_marshal_VOID__INT,                vFppuppp);
+    GO(g_cclosure_marshal_VOID__UINT,               vFppuppp);
+    GO(g_cclosure_marshal_VOID__LONG,               vFppuppp);
+    GO(g_cclosure_marshal_VOID__ULONG,              vFppuppp);
+    GO(g_cclosure_marshal_VOID__ENUM,               vFppuppp);
+    GO(g_cclosure_marshal_VOID__FLAGS,              vFppuppp);
+    GO(g_cclosure_marshal_VOID__FLOAT,              vFppuppp);
+    GO(g_cclosure_marshal_VOID__DOUBLE,             vFppuppp);
+    GO(g_cclosure_marshal_VOID__STRING,             vFppuppp);
+    GO(g_cclosure_marshal_VOID__PARAM,              vFppuppp);
+    GO(g_cclosure_marshal_VOID__BOXED,              vFppuppp);
+    GO(g_cclosure_marshal_VOID__POINTER,            vFppuppp);
+    GO(g_cclosure_marshal_VOID__OBJECT,             vFppuppp);
+    GO(g_cclosure_marshal_VOID__VARIANT,            vFppuppp);
+    GO(g_cclosure_marshal_STRING__OBJECT_POINTER,   vFppuppp);
+    GO(g_cclosure_marshal_VOID__UINT_POINTER,       vFppuppp);
+    GO(g_cclosure_marshal_BOOLEAN__FLAGS,           vFppuppp);
+    GO(g_cclosure_marshal_BOOLEAN__BOXED_BOXED,     vFppuppp);
+    GO(g_cclosure_marshal_generic_va,               vFpppppip);
+    GO(g_cclosure_marshal_VOID__VOIDv,              vFpppppip);
+    GO(g_cclosure_marshal_VOID__BOOLEANv,           vFpppppip);
+    GO(g_cclosure_marshal_VOID__CHARv,              vFpppppip);
+    GO(g_cclosure_marshal_VOID__UCHARv,             vFpppppip);
+    GO(g_cclosure_marshal_VOID__INTv,               vFpppppip);
+    GO(g_cclosure_marshal_VOID__UINTv,              vFpppppip);
+    GO(g_cclosure_marshal_VOID__LONGv,              vFpppppip);
+    GO(g_cclosure_marshal_VOID__ULONGv,             vFpppppip);
+    GO(g_cclosure_marshal_VOID__ENUMv,              vFpppppip);
+    GO(g_cclosure_marshal_VOID__FLAGSv,             vFpppppip);
+    GO(g_cclosure_marshal_VOID__FLOATv,             vFpppppip);
+    GO(g_cclosure_marshal_VOID__DOUBLEv,            vFpppppip);
+    GO(g_cclosure_marshal_VOID__STRINGv,            vFpppppip);
+    GO(g_cclosure_marshal_VOID__PARAMv,             vFpppppip);
+    GO(g_cclosure_marshal_VOID__BOXEDv,             vFpppppip);
+    GO(g_cclosure_marshal_VOID__POINTERv,           vFpppppip);
+    GO(g_cclosure_marshal_VOID__OBJECTv,            vFpppppip);
+    GO(g_cclosure_marshal_VOID__VARIANTv,           vFpppppip);
+    GO(g_cclosure_marshal_STRING__OBJECT_POINTERv,  vFpppppip);
+    GO(g_cclosure_marshal_VOID__UINT_POINTERv,      vFpppppip);
+    GO(g_cclosure_marshal_BOOLEAN__FLAGSv,          vFpppppip);
+    GO(g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv,    vFpppppip);
+    #undef GO
+    #define GO(A, W) AddAutomaticBridge(thread_get_emu(), lib->priv.w.bridge, W, A, 0)
+    GO(signal_cb, iFpppp);
+    GO(signal_cb_swapped, iFpppp);
+    GO(signal_cb_5, iFppppp);
+    GO(signal_cb_swapped_5, iFppppp);
+    GO(signal_cb_6, iFpppppp);
+    GO(signal_cb_swapped_6, iFpppppp);
+    GO(signal_cb_8, iFpppppppp);
+    GO(signal_cb_swapped_8, iFpppppppp);
+    GO(signal_delete, vFpp);
+    #undef GO
+}
+
+EXPORT uintptr_t my_g_signal_connect_data(x64emu_t* emu, void* instance, void* detailed, void* c_handler, void* data, void* closure, uint32_t flags)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    //TODO: get the type of instance to be more precise below
+
+    my_signal_t *sig = new_mysignal(c_handler, data, closure);
+    uintptr_t ret = 0;
+    #define GO(A, B) if(strcmp((const char*)detailed, A)==0) ret = my->g_signal_connect_data(instance, detailed, (flags&2)?((void*)signal_cb_swapped_##B):((void*)signal_cb_##B), sig, signal_delete, flags);
+    GO("query-tooltip", 6)  // GtkWidget
+    else GO("selection-get", 5) //GtkWidget
+    else GO("drag-data-get", 5) //GtkWidget
+    else GO("drag-data-received", 8)    //GtkWidget
+    else GO("drag-drop", 6) //GtkWidget
+    else GO("drag-motion", 6)   //GtkWidget
+    else GO("expand-collapse-cursor-row", 5)    //GtkTreeView
+    else
+        ret = my->g_signal_connect_data(instance, detailed, (flags&2)?((void*)signal_cb_swapped):((void*)signal_cb), sig, signal_delete, flags);
+    #undef GO
+    printf_log(LOG_DEBUG, "Connecting gobject2 %p signal \"%s\" with sig=%p to %p, flags=%d\n", instance, (char*)detailed, sig, c_handler, flags);
+    return ret;
+}
+
+
+EXPORT void* my_g_object_connect(x64emu_t* emu, void* object, void* signal_spec, void** b)
+{
+        //gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    char* spec = (char*)signal_spec;
+    while(spec) {
+        // loop on each triplet...
+        if(strstr(spec, "signal::")==spec) {
+            my_g_signal_connect_data(emu, object, spec+strlen("signal::"), b[0], b[1], NULL, 0);
+            b+=2;
+            spec = (char*)*(b++);
+        } else if(strstr(spec, "swapped_signal::")==spec || strstr(spec, "swapped-signal::")==spec) {
+            my_g_signal_connect_data(emu, object, spec+strlen("swapped_signal::"), b[0], b[1], NULL, 2);
+            b+=2;
+            spec = (char*)*(b++);
+        } else if(strstr(spec, "signal_after::")==spec || strstr(spec, "signal-after::")==spec) {
+            my_g_signal_connect_data(emu, object, spec+strlen("signal_after::"), b[0], b[1], NULL, 1);
+            b+=2;
+            spec = (char*)*(b++);
+        } else if(strstr(spec, "swapped_signal_after::")==spec || strstr(spec, "swapped-signal-after::")==spec) {
+            my_g_signal_connect_data(emu, object, spec+strlen("swapped_signal_after::"), b[0], b[1], NULL, 1|2);
+            b+=2;
+            spec = (char*)*(b++);
+        } else {
+            printf_log(LOG_NONE, "Warning, don't know how to handle signal spec \"%s\" in g_object_connect\n", spec);
+            spec = NULL;
+        }
+    }
+    return object;
+}
+
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)   \
+GO(4)   \
+GO(5)   \
+GO(6)   \
+GO(7)
+
+#define GO(A)   \
+static uintptr_t my_copy_fct_##A = 0;   \
+static void* my_copy_##A(void* data)     \
+{                                       \
+    return (void*)RunFunction(my_context, my_copy_fct_##A, 1, data);\
+}
+SUPER()
+#undef GO
+static void* findCopyFct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my_copy_fct_##A == (uintptr_t)fct) return my_copy_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_copy_fct_##A == 0) {my_copy_fct_##A = (uintptr_t)fct; return my_copy_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gobject Boxed Copy callback\n");
+    return NULL;
+}
+
+#define GO(A)   \
+static uintptr_t my_free_fct_##A = 0;   \
+static void my_free_##A(void* data)     \
+{                                       \
+    RunFunction(my_context, my_free_fct_##A, 1, data);\
+}
+SUPER()
+#undef GO
+static void* findFreeFct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my_free_fct_##A == (uintptr_t)fct) return my_free_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_free_fct_##A == 0) {my_free_fct_##A = (uintptr_t)fct; return my_free_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gobject Boxed Free callback\n");
+    return NULL;
+}
+// GSignalAccumulator
+#define GO(A)   \
+static uintptr_t my_accumulator_fct_##A = 0;   \
+static int my_accumulator_##A(void* ihint, void* return_accu, void* handler_return, void* data)     \
+{                                       \
+    return RunFunction(my_context, my_accumulator_fct_##A, 4, ihint, return_accu, handler_return, data);\
+}
+SUPER()
+#undef GO
+static void* findAccumulatorFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_accumulator_fct_##A == (uintptr_t)fct) return my_accumulator_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_accumulator_fct_##A == 0) {my_accumulator_fct_##A = (uintptr_t)fct; return my_accumulator_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gobject Signal Accumulator callback\n");
+    return NULL;
+}
+
+// GClosureMarshal
+#define GO(A)   \
+static uintptr_t my_marshal_fct_##A = 0;   \
+static void my_marshal_##A(void* closure, void* return_value, uint32_t n, void* values, void* hint, void* data) \
+{                                                                                                               \
+    RunFunction(my_context, my_marshal_fct_##A, 6, closure, return_value, n, values, hint, data);               \
+}
+SUPER()
+#undef GO
+static void* findMarshalFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_marshal_fct_##A == (uintptr_t)fct) return my_marshal_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_marshal_fct_##A == 0) {AddAutomaticBridge(thread_get_emu(), my_lib->priv.w.bridge, vFppuppp, my_marshal_##A, 0); my_marshal_fct_##A = (uintptr_t)fct; return my_marshal_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gobject Closure Marshal callback\n");
+    return NULL;
+}
+
+// GValueTransform
+#define GO(A)   \
+static uintptr_t my_valuetransform_fct_##A = 0;                     \
+static void my_valuetransform_##A(void* src, void* dst)            \
+{                                                                   \
+    RunFunction(my_context, my_valuetransform_fct_##A, 2, src, dst);\
+}
+SUPER()
+#undef GO
+static void* findValueTransformFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_valuetransform_fct_##A == (uintptr_t)fct) return my_valuetransform_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_valuetransform_fct_##A == 0) {my_valuetransform_fct_##A = (uintptr_t)fct; return my_valuetransform_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gobject Value Transform callback\n");
+    return NULL;
+}
+// GParamSpecTypeInfo....
+// First the structure GParamSpecTypeInfo statics, with paired x64 source pointer
+typedef struct my_GParamSpecTypeInfo_s {
+  /* type system portion */
+  uint16_t  instance_size;
+  uint16_t  n_preallocs;
+  void      (*instance_init)    (void* pspec);
+  int       value_type;
+  void      (*finalize)         (void* pspec);
+  void      (*value_set_default)(void* pspec, void* value);
+  int       (*value_validate)   (void* pspec, void* value);
+  int       (*values_cmp)       (void* pspec, void* value1, void* value2);
+} my_GParamSpecTypeInfo_t;
+
+#define GO(A) \
+static my_GParamSpecTypeInfo_t     my_GParamSpecTypeInfo_##A = {0};   \
+static my_GParamSpecTypeInfo_t   *ref_GParamSpecTypeInfo_##A = NULL;
+SUPER()
+#undef GO
+// then the static functions callback that may be used with the structure, but dispatch also have a callback...
+#define GO(A)   \
+static uintptr_t fct_funcs_instance_init_##A = 0;                   \
+static void my_funcs_instance_init_##A(void* pspec) {               \
+    RunFunction(my_context, fct_funcs_instance_init_##A, 1, pspec); \
+}   \
+static uintptr_t fct_funcs_finalize_##A = 0;                        \
+static void my_funcs_finalize_##A(void* pspec) {                    \
+    RunFunction(my_context, fct_funcs_finalize_##A, 1, pspec);      \
+}   \
+static uintptr_t fct_funcs_value_set_default_##A = 0;               \
+static void my_funcs_value_set_default_##A(void* pspec, void* value) {          \
+    RunFunction(my_context, fct_funcs_value_set_default_##A, 2, pspec, value);  \
+}   \
+static uintptr_t fct_funcs_value_validate_##A = 0;                  \
+static int my_funcs_value_validate_##A(void* pspec, void* value) {  \
+    return (int)RunFunction(my_context, fct_funcs_value_validate_##A, 2, pspec, value); \
+}   \
+static uintptr_t fct_funcs_values_cmp_##A = 0;                      \
+static int my_funcs_values_cmp_##A(void* pspec, void* value1, void* value2) {   \
+    return (int)RunFunction(my_context, fct_funcs_values_cmp_##A, 3, pspec, value1, value2);    \
+}
+
+SUPER()
+#undef GO
+// and now the get slot / assign... Taking into account that the desired callback may already be a wrapped one (so unwrapping it)
+static my_GParamSpecTypeInfo_t* findFreeGParamSpecTypeInfo(my_GParamSpecTypeInfo_t* fcts)
+{
+    if(!fcts) return fcts;
+    #define GO(A) if(ref_GParamSpecTypeInfo_##A == fcts) return &my_GParamSpecTypeInfo_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(ref_GParamSpecTypeInfo_##A == 0) {   \
+        ref_GParamSpecTypeInfo_##A = fcts;                 \
+        my_GParamSpecTypeInfo_##A.instance_init = (fcts->instance_init)?((GetNativeFnc((uintptr_t)fcts->instance_init))?GetNativeFnc((uintptr_t)fcts->instance_init):my_funcs_instance_init_##A):NULL;    \
+        fct_funcs_instance_init_##A = (uintptr_t)fcts->instance_init;                            \
+        my_GParamSpecTypeInfo_##A.finalize = (fcts->finalize)?((GetNativeFnc((uintptr_t)fcts->finalize))?GetNativeFnc((uintptr_t)fcts->finalize):my_funcs_finalize_##A):NULL;    \
+        fct_funcs_finalize_##A = (uintptr_t)fcts->finalize;                            \
+        my_GParamSpecTypeInfo_##A.value_set_default = (fcts->value_set_default)?((GetNativeFnc((uintptr_t)fcts->value_set_default))?GetNativeFnc((uintptr_t)fcts->value_set_default):my_funcs_value_set_default_##A):NULL;    \
+        fct_funcs_value_set_default_##A = (uintptr_t)fcts->value_set_default;                            \
+        my_GParamSpecTypeInfo_##A.value_validate = (fcts->value_validate)?((GetNativeFnc((uintptr_t)fcts->value_validate))?GetNativeFnc((uintptr_t)fcts->value_validate):my_funcs_value_validate_##A):NULL;    \
+        fct_funcs_value_validate_##A = (uintptr_t)fcts->value_validate;                            \
+        my_GParamSpecTypeInfo_##A.values_cmp = (fcts->values_cmp)?((GetNativeFnc((uintptr_t)fcts->values_cmp))?GetNativeFnc((uintptr_t)fcts->values_cmp):my_funcs_values_cmp_##A):NULL;    \
+        fct_funcs_values_cmp_##A = (uintptr_t)fcts->values_cmp;                            \
+        return &my_GParamSpecTypeInfo_##A;                \
+    }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gobject2 GParamSpecTypeInfo callback\n");
+    return NULL;
+}
+
+// GInterfaceInitFunc
+#define GO(A)   \
+static uintptr_t my_GInterfaceInitFunc_fct_##A = 0;                     \
+static void my_GInterfaceInitFunc_##A(void* src, void* dst)            \
+{                                                                   \
+    RunFunction(my_context, my_GInterfaceInitFunc_fct_##A, 2, src, dst);\
+}
+SUPER()
+#undef GO
+static void* findGInterfaceInitFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GInterfaceInitFunc_fct_##A == (uintptr_t)fct) return my_GInterfaceInitFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GInterfaceInitFunc_fct_##A == 0) {my_GInterfaceInitFunc_fct_##A = (uintptr_t)fct; return my_GInterfaceInitFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gobject GInterfaceInitFunc callback\n");
+    return NULL;
+}
+// GInterfaceFinalizeFunc
+#define GO(A)   \
+static uintptr_t my_GInterfaceFinalizeFunc_fct_##A = 0;                     \
+static void my_GInterfaceFinalizeFunc_##A(void* src, void* dst)            \
+{                                                                   \
+    RunFunction(my_context, my_GInterfaceFinalizeFunc_fct_##A, 2, src, dst);\
+}
+SUPER()
+#undef GO
+static void* findGInterfaceFinalizeFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GInterfaceFinalizeFunc_fct_##A == (uintptr_t)fct) return my_GInterfaceFinalizeFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GInterfaceFinalizeFunc_fct_##A == 0) {my_GInterfaceFinalizeFunc_fct_##A = (uintptr_t)fct; return my_GInterfaceFinalizeFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gobject GInterfaceFinalizeFunc callback\n");
+    return NULL;
+}
+// compare
+#define GO(A)   \
+static uintptr_t my_compare_fct_##A = 0;                                \
+static int my_compare_##A(void* a, void* b, void* data)                 \
+{                                                                       \
+    return RunFunction(my_context, my_compare_fct_##A, 3, a, b, data);  \
+}
+SUPER()
+#undef GO
+static void* findcompareFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_compare_fct_##A == (uintptr_t)fct) return my_compare_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_compare_fct_##A == 0) {my_compare_fct_##A = (uintptr_t)fct; return my_compare_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gobject compare callback\n");
+    return NULL;
+}
+#undef SUPER
+
+EXPORT int my_g_boxed_type_register_static(x64emu_t* emu, void* name, void* boxed_copy, void* boxed_free)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+    void* bc = findCopyFct(boxed_copy);
+    void* bf = findFreeFct(boxed_free);
+    return my->g_boxed_type_register_static(name, bc, bf);
+}
+
+EXPORT uint32_t my_g_signal_new(x64emu_t* emu, void* name, int itype, int flags, uint32_t offset, void* acc, void* accu_data, void* marsh, int rtype, uint32_t n, void** b)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    printf_log(LOG_DEBUG, "g_signal_new for \"%s\", with offset=%d and %d args\n", (const char*)name, offset, n);
+    
+    void* cb_acc = findAccumulatorFct(acc);
+    void* cb_marsh = findMarshalFct(marsh);
+    switch(n) {
+        case 0: return my->g_signal_new(name, itype, flags, offset, cb_acc, accu_data, cb_marsh, rtype, n);
+        case 1: return my->g_signal_new(name, itype, flags, offset, cb_acc, accu_data, cb_marsh, rtype, n, b[0]);
+        case 2: return my->g_signal_new(name, itype, flags, offset, cb_acc, accu_data, cb_marsh, rtype, n, b[0], b[1]);
+        case 3: return my->g_signal_new(name, itype, flags, offset, cb_acc, accu_data, cb_marsh, rtype, n, b[0], b[1], b[2]);
+        case 4: return my->g_signal_new(name, itype, flags, offset, cb_acc, accu_data, cb_marsh, rtype, n, b[0], b[1], b[2], b[3]);
+        case 5: return my->g_signal_new(name, itype, flags, offset, cb_acc, accu_data, cb_marsh, rtype, n, b[0], b[1], b[2], b[3], b[4]);
+        case 6: return my->g_signal_new(name, itype, flags, offset, cb_acc, accu_data, cb_marsh, rtype, n, b[0], b[1], b[2], b[3], b[4], b[5]);
+        case 15:return my->g_signal_new(name, itype, flags, offset, cb_acc, accu_data, cb_marsh, rtype, n, b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7], b[8], b[9], b[10], b[11], b[12], b[13], b[14]);
+    }
+    printf_log(LOG_NONE, "Warning, gobject g_signal_new called with too many parameters (%d)\n", n);
+    return my->g_signal_new(name, itype, flags, offset, cb_acc, accu_data, cb_marsh, rtype, n, b[0], b[1], b[2]);
+}
+
+EXPORT uint32_t my_g_signal_newv(x64emu_t* emu, void* name, int itype, int flags, void* closure, void* acc, void* accu_data, void* marsh, int rtype, uint32_t n, void* types)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    printf_log(LOG_DEBUG, "g_signal_newv for \"%s\", with %d args\n", (const char*)name, n);
+    
+    return my->g_signal_newv(name, itype, flags, closure, findAccumulatorFct(acc), accu_data, findMarshalFct(marsh), rtype, n, types);
+}
+
+EXPORT uint32_t my_g_signal_new_valist(x64emu_t* emu, void* name, int itype, int flags, void* closure, void* acc, void* accu_data, void* marsh, int rtype, uint32_t n, x64_va_list_t b)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    printf_log(LOG_DEBUG, "g_signal_new_valist for \"%s\", with %d args\n", (const char*)name, n);
+    CONVERT_VALIST(b);
+    return my->g_signal_new_valist(name, itype, flags, closure, findAccumulatorFct(acc), accu_data, findMarshalFct(marsh), rtype, n, VARARGS);
+}
+
+EXPORT uint32_t my_g_signal_handlers_block_matched(x64emu_t* emu, void* instance, int mask, uint32_t signal, void* detail, void* closure, void* fnc, void* data)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    // NOTE that I have no idea of the fnc signature!...
+    if (fnc) printf_log(LOG_INFO, "Warning, gobject g_signal_handlers_block_matched called with non null function \n");
+    fnc = findMarshalFct(fnc);  //... just in case
+    return my->g_signal_handlers_block_matched(instance, mask, signal, detail, closure, fnc, data);
+}
+
+EXPORT uint32_t my_g_signal_handlers_unblock_matched(x64emu_t* emu, void* instance, int mask, uint32_t signal, void* detail, void* closure, void* fnc, void* data)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    // NOTE that I have no idea of the fnc signature!...
+    if (fnc) printf_log(LOG_INFO, "Warning, gobject g_signal_handlers_unblock_matched called with non null function \n");
+    fnc = findMarshalFct(fnc);  //... just in case
+    return my->g_signal_handlers_unblock_matched(instance, mask, signal, detail, closure, fnc, data);
+}
+
+EXPORT uint32_t my_g_signal_handlers_disconnect_matched(x64emu_t* emu, void* instance, int mask, uint32_t signal, void* detail, void* closure, void* fnc, void* data)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    // NOTE that I have no idea of the fnc signature!...
+    if (fnc) printf_log(LOG_INFO, "Warning, gobject g_signal_handlers_disconnect_matched called with non null function \n");
+    fnc = findMarshalFct(fnc);  //... just in case
+    return my->g_signal_handlers_disconnect_matched(instance, mask, signal, detail, closure, fnc, data);
+}
+
+EXPORT unsigned long my_g_signal_handler_find(x64emu_t* emu, void* instance, int mask, uint32_t signal, void* detail, void* closure, void* fnc, void* data)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    // NOTE that I have no idea of the fnc signature!...
+    if (fnc) printf_log(LOG_INFO, "Warning, gobject g_signal_handler_find called with non null function \n");
+    fnc = findMarshalFct(fnc);  //... just in case
+    return my->g_signal_handler_find(instance, mask, signal, detail, closure, fnc, data);
+}
+
+EXPORT void* my_g_object_new(x64emu_t* emu, int type, void* first, void* b)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    if(first) {
+        CREATE_VALIST_FROM_VAARG(b, emu->scratch, 2);
+        return my->g_object_new_valist(type, first, VARARGS);
+    }
+    return my->g_object_new(type, first);
+}
+
+EXPORT void* my_g_object_new_valist(x64emu_t* emu, int type, void* first, x64_va_list_t b)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+    CONVERT_VALIST(b);
+    return my->g_object_new_valist(type, first, VARARGS);
+}
+
+EXPORT int my_g_type_register_static(x64emu_t* emu, int parent, void* name, my_GTypeInfo_t* info, int flags)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_type_register_static(parent, name, findFreeGTypeInfo(info, parent), flags);
+}
+
+EXPORT int my_g_type_register_fundamental(x64emu_t* emu, int parent, void* name, my_GTypeInfo_t* info, void* finfo, int flags)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_type_register_fundamental(parent, name, findFreeGTypeInfo(info, parent), finfo, flags);
+}
+
+EXPORT void my_g_value_register_transform_func(x64emu_t* emu, int src, int dst, void* f)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    my->g_value_register_transform_func(src, dst, findValueTransformFct(f));
+}
+
+static int my_signal_emission_hook(void* ihint, uint32_t n, void* values, my_signal_t* sig)
+{
+    printf_log(LOG_DEBUG, "gobject2 Signal Emission Hook called, sig=%p\n", sig);
+    return (int)RunFunction(my_context, sig->c_handler, 4, ihint, n, values, sig->data);
+}
+EXPORT unsigned long my_g_signal_add_emission_hook(x64emu_t* emu, uint32_t signal, void* detail, void* f, void* data, void* notify)
+{
+    // there can be many signals connected, so something "light" is needed here
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    if(!f)
+        return my->g_signal_add_emission_hook(signal, detail, f, data, notify);
+    my_signal_t* sig = new_mysignal(f, data, notify);
+    printf_log(LOG_DEBUG, "gobject2 Signal Emission Hook for signal %d created for %p, sig=%p\n", signal, f, sig);
+    return my->g_signal_add_emission_hook(signal, detail, my_signal_emission_hook, sig, my_signal_delete);
+}
+
+EXPORT int my_g_type_register_static_simple(x64emu_t* emu, int parent, void* name, uint32_t class_size, void* class_init, uint32_t instance_size, void* instance_init, int flags)
+{
+        //gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    my_GTypeInfo_t info = {0};
+    info.class_size = class_size;
+    info.class_init = class_init;
+    info.instance_size = instance_size;
+    info.instance_init = instance_init;
+
+    return my_g_type_register_static(emu, parent, name, &info, flags);
+}
+
+typedef struct my_GInterfaceInfo_s {
+    void* interface_init;
+    void* interface_finalize;
+    void* data;
+} my_GInterfaceInfo_t;
+
+EXPORT void my_g_type_add_interface_static(x64emu_t* emu, int instance_type, int interface_type, my_GInterfaceInfo_t* info)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    my_GInterfaceInfo_t i = {0};
+    i.interface_init = findGInterfaceInitFuncFct(info->interface_init);
+    i.interface_finalize = findGInterfaceFinalizeFuncFct(info->interface_finalize);
+    i.data = info->data;
+    my->g_type_add_interface_static(instance_type, interface_type, &i);
+}
+
+EXPORT void my_g_param_spec_set_qdata_full(x64emu_t* emu, void* pspec, uint32_t quark, void* data, void* notify)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    my->g_param_spec_set_qdata_full(pspec, quark, data, findFreeFct(notify));
+}
+
+EXPORT int my_g_param_type_register_static(x64emu_t* emu, void* name, void* pspec_info)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_param_type_register_static(name, findFreeGParamSpecTypeInfo(pspec_info));
+}
+
+EXPORT void* my_g_value_array_sort(x64emu_t* emu, void* array, void* comp)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_value_array_sort(array, findcompareFct(comp));
+}
+
+EXPORT void* my_g_value_array_sort_with_data(x64emu_t* emu, void* array, void* comp, void* data)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    return my->g_value_array_sort_with_data(array, findcompareFct(comp), data);
+}
+
+EXPORT void my_g_object_set_data_full(x64emu_t* emu, void* object, void* key, void* data, void* notify)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    my->g_object_set_data_full(object, key, data, findFreeFct(notify));
+}
+
+EXPORT void* my_g_type_class_peek_parent(x64emu_t* emu, void* object)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+
+    void* klass = my->g_type_class_peek_parent(object);
+    int type = klass?*(int*)klass:0;
+    return wrapCopyGTKClass(klass, type);
+}
+
+EXPORT void my_g_signal_emit_valist(x64emu_t* emu, void* inst, uint32_t id, void* quark, x64_va_list_t b)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+    CONVERT_VALIST(b);
+    my->g_signal_emit_valist(inst, id, quark, VARARGS);
+}
+
+EXPORT void my_g_signal_emit(x64emu_t* emu, void* inst, uint32_t id, void* quark, x64_va_list_t b)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+    CREATE_VALIST_FROM_VAARG(b, emu->scratch, 3);
+    my->g_signal_emit_valist(inst, id, quark, VARARGS);
+}
+
+EXPORT void my_g_object_get_valist(x64emu_t* emu, void* a1, void* a2, x64_va_list_t b)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+    CONVERT_VALIST(b);
+    my->g_object_get_valist(a1, a2, VARARGS);
+}
+
+EXPORT void my_g_object_get(x64emu_t* emu, void* a1, void* a2, uintptr_t* b)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+    CREATE_VALIST_FROM_VAARG(b, emu->scratch, 2);
+    my->g_object_get_valist(a1, a2, VARARGS);
+}
+
+
+EXPORT void my_g_object_set_valist(x64emu_t* emu, void* a1, void* a2, x64_va_list_t b)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+    CONVERT_VALIST(b);
+    my->g_object_set_valist(a1, a2, VARARGS);
+}
+
+EXPORT void my_g_object_set(x64emu_t* emu, void* a1, void* a2, uintptr_t* b)
+{
+    gobject2_my_t *my = (gobject2_my_t*)my_lib->priv.w.p2;
+    CREATE_VALIST_FROM_VAARG(b, emu->scratch, 2);
+    my->g_object_set_valist(a1, a2, VARARGS);
+}
+
+#define PRE_INIT    \
+    if(box64_nogtk) \
+        return -1;
+
+#define CUSTOM_INIT \
+    InitGTKClass(lib->priv.w.bridge);           \
+    lib->priv.w.p2 = getGobject2My(lib);        \
+    my_lib = lib;                               \
+    SetGObjectID(((gobject2_my_t*)lib->priv.w.p2)->g_object_get_type());        \
+    SetGTypeName(((gobject2_my_t*)lib->priv.w.p2)->g_type_name);                \
+    lib->priv.w.needed = 1;                     \
+    lib->priv.w.neededlibs = (char**)calloc(lib->priv.w.needed, sizeof(char*)); \
+    lib->priv.w.neededlibs[0] = strdup("libglib-2.0.so.0");
+
+#define CUSTOM_FINI \
+    FiniGTKClass();                 \
+    freeGobject2My(lib->priv.w.p2); \
+    free(lib->priv.w.p2);           \
+    my_lib = NULL;
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedgobject2_private.h b/src/wrapped/wrappedgobject2_private.h
new file mode 100755
index 00000000..d2597f92
--- /dev/null
+++ b/src/wrapped/wrappedgobject2_private.h
@@ -0,0 +1,444 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(__aeabi_f2lz, 
+//GO(__aeabi_f2ulz, 
+//GO(_fini, 
+GO(g_array_get_type, iFv)
+GO(g_binding_flags_get_type, iFv)
+//GO(g_binding_get_flags, 
+//GO(g_binding_get_source, 
+//GO(g_binding_get_source_property, 
+//GO(g_binding_get_target, 
+//GO(g_binding_get_target_property, 
+GO(g_binding_get_type, iFv)
+//GO(g_binding_unbind, 
+GO(g_boxed_copy, pFip)
+GO(g_boxed_free, vFip)
+GOM(g_boxed_type_register_static, iFEppp)
+GO(g_byte_array_get_type, iFv)
+GO(g_bytes_get_type, iFv)
+DATA(g_cclosure_marshal_BOOLEAN__BOXED_BOXED, sizeof(void*))    // set all cclosure_marshal as data, so they can be used "as-is" in cclosure parameter (not-wrapped)
+DATA(g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv, sizeof(void*))
+DATA(g_cclosure_marshal_BOOLEAN__FLAGS, sizeof(void*))
+DATA(g_cclosure_marshal_BOOLEAN__FLAGSv, sizeof(void*))
+DATA(g_cclosure_marshal_generic, sizeof(void*))
+DATA(g_cclosure_marshal_generic_va, sizeof(void*))
+DATA(g_cclosure_marshal_STRING__OBJECT_POINTER, sizeof(void*))
+DATA(g_cclosure_marshal_STRING__OBJECT_POINTERv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__BOOLEAN, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__BOOLEANv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__BOXED, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__BOXEDv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__CHAR, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__CHARv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__DOUBLE, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__DOUBLEv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__ENUM, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__ENUMv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__FLAGS, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__FLAGSv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__FLOAT, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__FLOATv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__INT, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__INTv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__LONG, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__LONGv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__OBJECT, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__OBJECTv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__PARAM, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__PARAMv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__POINTER, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__POINTERv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__STRING, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__STRINGv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__UCHAR, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__UCHARv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__UINT, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__UINT_POINTER, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__UINT_POINTERv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__UINTv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__ULONG, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__ULONGv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__VARIANT, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__VARIANTv, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__VOID, sizeof(void*))
+DATA(g_cclosure_marshal_VOID__VOIDv, sizeof(void*))
+//GO(g_cclosure_new, 
+//GO(g_cclosure_new_object, 
+//GO(g_cclosure_new_object_swap, 
+//GO(g_cclosure_new_swap, 
+//GO(g_checksum_get_type, 
+GO(g_clear_object, vFp)
+//GO(g_closure_add_finalize_notifier, 
+//GO(g_closure_add_invalidate_notifier, 
+//GO(g_closure_add_marshal_guards, 
+//GO(g_closure_get_type, 
+//GO(g_closure_invalidate, 
+//GO(g_closure_invoke, 
+//GO(g_closure_new_object, 
+//GO(g_closure_new_simple, 
+//GO(g_closure_ref, 
+//GO(g_closure_remove_finalize_notifier, 
+//GO(g_closure_remove_invalidate_notifier, 
+//GO(g_closure_set_marshal, 
+//GO(g_closure_set_meta_marshal, 
+//GO(g_closure_sink, 
+//GO(g_closure_unref, 
+GO(g_date_get_type, iFv)
+GO(g_date_time_get_type, iFv)
+GO(g_enum_complete_type_info, vFipp)
+GO(g_enum_get_value, pFpi)
+GO(g_enum_get_value_by_name, pFpp)
+GO(g_enum_get_value_by_nick, pFpp)
+GO(g_enum_register_static, iFpp)
+GO(g_error_get_type, iFv)
+GO(g_flags_complete_type_info, vFipp)
+GO(g_flags_get_first_value, pFpi)
+GO(g_flags_get_value_by_name, pFpp)
+GO(g_flags_get_value_by_nick, pFpp)
+GO(g_flags_register_static, iFpp)
+GO(g_gstring_get_type, iFv)
+GO(g_gtype_get_type, iFv)
+GO(g_hash_table_get_type, iFv)
+GO(g_initially_unowned_get_type, iFv)
+GO(g_io_channel_get_type, iFv)
+GO(g_io_condition_get_type, iFv)
+GO(g_key_file_get_type, iFv)
+GO(g_main_context_get_type, iFv)
+GO(g_main_loop_get_type, iFv)
+GO(g_mapped_file_get_type, iFv)
+GO(g_markup_parse_context_get_type, iFv)
+GO(g_match_info_get_type, iFv)
+//GOM(g_object_add_toggle_ref, vFEpBp)
+GO(g_object_add_weak_pointer, vFpp)
+//GO(g_object_bind_property, 
+//GO(g_object_bind_property_full, 
+//GO(g_object_bind_property_with_closures, 
+GO(g_object_class_find_property, pFpp)
+GO(g_object_class_install_properties, vFpup)
+GO(g_object_class_install_property, vFpup)
+GO(g_object_class_list_properties, pFpp)
+GO(g_object_class_override_property, vFpup)
+//GO(g_object_compat_control, 
+GOM(g_object_connect, pFEppV)
+GO(g_object_disconnect, vFpppppppppppppppp)   // caarg
+//GOM(g_object_dup_data, pFEppBp)
+//GOM(g_object_dup_qdata, pFEppBp)
+GO(g_object_force_floating, vFp)
+GO(g_object_freeze_notify, vFp)
+GOM(g_object_get, vFEppV)
+GO(g_object_get_data, pFpp)
+GO(g_object_get_property, vFppp)
+GO(g_object_get_qdata, pFpp)
+GO(g_object_get_type, iFv)
+GOM(g_object_get_valist, vFEppA)
+GO(g_object_interface_find_property, pFpp)
+GO(g_object_interface_install_property, vFpp)
+GO(g_object_interface_list_properties, pFpp)
+GO(g_object_is_floating, iFp)
+GOM(g_object_new, pFEipV)
+GO(g_object_newv, pFiup)
+GOM(g_object_new_valist, pFEipA)
+GO(g_object_notify, vFpp)
+GO(g_object_notify_by_pspec, vFpp)
+GO(g_object_ref, pFp)
+GO(g_object_ref_sink, pFp)
+//GOM(g_object_remove_toggle_ref, vFEpBp)
+GO(g_object_remove_weak_pointer, vFpp)
+//GOM(g_object_replace_data, iFEppppBB)
+//GOM(g_object_replace_qdata, iFEppppBB)
+GO(g_object_run_dispose, vFp)
+GOM(g_object_set, vFEppV)
+GO(g_object_set_data, vFppp)
+GOM(g_object_set_data_full, vFEpppp)
+GO(g_object_set_property, vFppp)
+GO(g_object_set_qdata, vFppp)
+//GOM(g_object_set_qdata_full, vFEpppB)
+GOM(g_object_set_valist, vFEppA)
+GO(g_object_steal_data, pFpp)
+GO(g_object_steal_qdata, pFpp)
+GO(g_object_thaw_notify, vFp)
+GO(g_object_unref, vFp)
+GO(g_object_watch_closure, vFpp)
+//GOM(g_object_weak_ref, vFpBp)
+GO(g_object_weak_unref, vFpp)
+GO(g_param_spec_boolean, pFpppii)
+GO(g_param_spec_boxed, pFpppii)
+GO(g_param_spec_char, pFpppccci)
+GO(g_param_spec_double, pFpppdddi)
+GO(g_param_spec_enum, pFpppiii)
+GO(g_param_spec_flags, pFpppiui)
+GO(g_param_spec_float, pFpppfffi)
+GO(g_param_spec_get_blurb, pFp)
+GO(g_param_spec_get_default_value, pFp)
+GO(g_param_spec_get_name, pFp)
+GO(g_param_spec_get_nick, pFp)
+GO(g_param_spec_get_qdata, pFpu)
+GO(g_param_spec_get_redirect_target, pFp)
+GO(g_param_spec_gtype, pFpppii)
+GO(g_param_spec_int, pFpppiiii)
+GO(g_param_spec_int64, pFpppIIIi)
+GO(g_param_spec_internal, pFipppu)
+GO(g_param_spec_long, pFpppllli)
+GO(g_param_spec_object, pFpppii)
+GO(g_param_spec_override, pFpp)
+GO(g_param_spec_param, pFpppii)
+GO(g_param_spec_pointer, pFpppi)
+GO(g_param_spec_pool_insert, vFppi)
+GO(g_param_spec_pool_list, pFpip)
+GO(g_param_spec_pool_list_owned, pFpi)
+GO(g_param_spec_pool_lookup, pFppii)
+GO(g_param_spec_pool_new, pFi)
+GO(g_param_spec_pool_remove, vFpp)
+GO(g_param_spec_ref, pFp)
+GO(g_param_spec_ref_sink, pFp)
+GO(g_param_spec_set_qdata, vFpup)
+GOM(g_param_spec_set_qdata_full, vFEpupp)
+GO(g_param_spec_sink, vFp)
+GO(g_param_spec_steal_qdata, pFpu)
+GO(g_param_spec_string, pFppppi)
+GO(g_param_spec_uchar, pFpppCCCi)
+GO(g_param_spec_uint, pFpppuuui)
+GO(g_param_spec_uint64, pFpppUUUi)
+GO(g_param_spec_ulong, pFpppLLLi)
+GO(g_param_spec_unichar, pFpppui)
+GO(g_param_spec_unref, vFp)
+GO(g_param_spec_value_array, pFppppi)
+GO(g_param_spec_variant, pFpppppi)
+GOM(g_param_type_register_static, iFEpp)
+GO(g_param_value_convert, iFpppi)
+GO(g_param_value_defaults, iFpp)
+GO(g_param_values_cmp, iFppp)
+GO(g_param_value_set_default, vFpp)
+GO(g_param_value_validate, iFpp)
+//GO(g_pointer_type_register_static, 
+//GO(g_pollfd_get_type, 
+//GO(g_ptr_array_get_type, 
+//GO(g_regex_get_type, 
+GO(g_signal_accumulator_first_wins, iFpppp)
+GO(g_signal_accumulator_true_handled, iFpppp)
+GOM(g_signal_add_emission_hook, LFEupppp)
+GO(g_signal_chain_from_overridden, vFpp)
+//GO(g_signal_chain_from_overridden_handler, vFpppppppppp)  //vaarg
+GO(g_signal_connect_closure, LFpppi)
+GO(g_signal_connect_closure_by_id, LFpuppi)
+GOM(g_signal_connect_data, LFEpppppu)
+//GOM(g_signal_connect_object, LFEppBpi)
+GOM(g_signal_emit, vFEpuuV)
+GO(g_signal_emit_by_name, vFppppppppppp)    //vaarg
+GO(g_signal_emitv, vFpuup)
+GOM(g_signal_emit_valist, vFEpupA)    // va_list here
+GO(g_signal_get_invocation_hint, pFp)
+GO(g_signal_handler_block, vFpL)
+GO(g_signal_handler_disconnect, vFpL)
+GOM(g_signal_handler_find, LFEpiupppp)
+GO(g_signal_handler_is_connected, iFpL)
+GOM(g_signal_handlers_block_matched, uFEpiupppp)
+//GO(g_signal_handlers_destroy, 
+GOM(g_signal_handlers_disconnect_matched, uFEpiupppp)
+GOM(g_signal_handlers_unblock_matched, uFEpiupppp)
+GO(g_signal_handler_unblock, vFpL)
+GO(g_signal_has_handler_pending, iFpupi)
+GO(g_signal_list_ids, pFip)
+GO(g_signal_lookup, uFpi)
+GO(g_signal_name, pFu)
+GOM(g_signal_new, uFEpiiupppiuV)
+//GOM(g_signal_new_class_handler, uFEpiupppppnV)
+GOM(g_signal_newv, uFEpiippppiup)
+GOM(g_signal_new_valist, uFEpiippppiuA)
+GO(g_signal_override_class_closure, vFuip)
+//GOM(g_signal_override_class_handler, vFEppB)
+GO(g_signal_parse_name, iFpippi)
+GO(g_signal_query, vFup)
+GO(g_signal_remove_emission_hook, vFpL)
+//GOM(g_signal_set_va_marshaller, vFEuiB)
+GO(g_signal_stop_emission, vFpup)
+GO(g_signal_stop_emission_by_name, vFpp)
+GO(g_signal_type_cclosure_new, pFiu)    //should wrap?
+GO(g_source_get_type, iFv)
+//GO(g_source_set_closure, 
+//GO(g_source_set_dummy_callback, 
+GO(g_strdup_value_contents, pFp)
+GO(g_strv_get_type, iFv)
+GO(g_thread_get_type, iFv)
+GO(g_time_zone_get_type, iFv)
+//GOM(g_type_add_class_cache_func, vFEpB)
+GO(g_type_add_class_private, vFpiu)
+//GO(g_type_add_instance_private, 
+//GOM(g_type_add_interface_check, vFEpB)
+//GOM(g_type_add_interface_dynamic, vFEiip)
+GOM(g_type_add_interface_static, vFEiip)
+GO(g_type_check_class_cast, pFpi)
+GO(g_type_check_class_is_a, iFpi)
+GO(g_type_check_instance, iFp)
+GO(g_type_check_instance_cast, pFpi)
+GO(g_type_check_instance_is_a, iFpi)
+GO(g_type_check_instance_is_fundamentally_a, iFpi)
+GO(g_type_check_is_value_type, iFpi)
+GO(g_type_check_value, iFp)
+GO(g_type_check_value_holds, iFpi)
+GO(g_type_children, pFip)
+GO(g_type_class_add_private, vFpu)
+GO(g_type_class_adjust_private_offset, vFpp)
+GO(g_type_class_get_instance_private_offset, iFp)
+GO(g_type_class_get_private, pFpi)
+GO(g_type_class_peek, pFi)
+GOM(g_type_class_peek_parent, pFEp)
+GO(g_type_class_peek_static, pFi)
+GO(g_type_class_ref, pFp)
+GO(g_type_class_unref, vFp)
+GO(g_type_class_unref_uncached, vFp)
+GO(g_type_create_instance, pFi)
+GO(g_type_default_interface_peek, pFi)
+GO(g_type_default_interface_ref, pFi)
+GO(g_type_default_interface_unref, vFp)
+GO(g_type_depth, uFi)
+GO(g_type_ensure, vFi)
+GO(g_type_free_instance, vFp)
+GO(g_type_from_name, iFp)
+GO(g_type_fundamental, iFi)
+GO(g_type_fundamental_next, iFv)
+//GOM(g_type_get_plugin, pFEi)      // GTypePugin is a stuct with callback
+GO(g_type_get_qdata, pFip)
+GO(g_type_get_type_registration_serial, uFv)
+GO(g_type_init, vFv)
+GO(g_type_init_with_debug_flags, vFi)
+GO(g_type_instance_get_private, pFpi)
+GO(g_type_interface_add_prerequisite, vFii)
+//GOM(g_type_interface_get_plugin, pFEii) // return GTypePlugin*
+GO(g_type_interface_peek, pFpi)
+GO(g_type_interface_peek_parent, pFp)
+GO(g_type_interface_prerequisites, pFip)
+GO(g_type_interfaces, pFip)
+GO(g_type_is_a, iFii)
+//GO(g_type_module_add_interface, 
+//GO(g_type_module_get_type, 
+//GO(g_type_module_register_enum, 
+//GO(g_type_module_register_flags, 
+//GO(g_type_module_register_type, 
+//GO(g_type_module_set_name, 
+//GO(g_type_module_unuse, 
+//GO(g_type_module_use, 
+GO(g_type_name, pFi)
+//GO(g_type_name_from_class, 
+//GO(g_type_name_from_instance, 
+GO(g_type_next_base, iFii)
+GO(g_type_parent, iFi)
+//GO(g_type_plugin_complete_interface_info, 
+//GO(g_type_plugin_complete_type_info, 
+//GO(g_type_plugin_get_type, 
+//GO(g_type_plugin_unuse, 
+//GO(g_type_plugin_use, 
+GO(g_type_qname, pFi)
+GO(g_type_query, vFip)
+//GOM(type_register_dynamic, iFEpippi)
+GOM(g_type_register_fundamental, iFEipppi)
+GOM(g_type_register_static, iFEippi)
+GOM(g_type_register_static_simple, iFEipupupi)
+//GOM(g_type_remove_class_cache_func, vFEpB)
+//GOM(g_type_remove_interface_check, vFEpB)
+GO(g_type_set_qdata, vFipp)
+GO(g_type_test_flags, iFiu)
+//GOM(g_type_value_table_peek, pFEi)    //need to bridge GTypeValueTable
+GO(g_value_array_append, pFpp)  //TODO: does GValueArray needs alignement?
+GO(g_value_array_copy, pFp)
+GO(g_value_array_free, vFp)
+GO(g_value_array_get_nth, pFpu)
+GO(g_value_array_get_type, iFv)
+GO(g_value_array_insert, pFpup)
+GO(g_value_array_new, pFu)
+GO(g_value_array_prepend, pFpp)
+GO(g_value_array_remove, pFpu)
+GOM(g_value_array_sort, pFEpp)  // TODO: need to use a CompareFunct with GValue alignment work
+GOM(g_value_array_sort_with_data, pFEppp)   //TODO: same here
+GO(g_value_copy, vFpp)
+GO(g_value_dup_boxed, pFp)
+GO(g_value_dup_object, pFp)
+GO(g_value_dup_param, pFp)
+GO(g_value_dup_string, pFp)
+GO(g_value_dup_variant, pFp)
+GO(g_value_fits_pointer, iFp)
+GO(g_value_get_boolean, iFp)
+GO(g_value_get_boxed, pFp)
+GO(g_value_get_char, CFp)
+GO(g_value_get_double, dFp)
+GO(g_value_get_enum, iFp)
+GO(g_value_get_flags, uFp)
+GO(g_value_get_float, fFp)
+GO(g_value_get_gtype, iFp)
+GO(g_value_get_int, iFp)
+GO(g_value_get_int64, IFp)
+GO(g_value_get_long, lFp)
+GO(g_value_get_object, pFp)
+GO(g_value_get_param, pFp)
+GO(g_value_get_pointer, pFp)
+GO(g_value_get_schar, cFp)
+GO(g_value_get_string, pFp)
+GO(g_value_get_type, iFv)
+GO(g_value_get_uchar, CFp)
+GO(g_value_get_uint, uFp)
+GO(g_value_get_uint64, UFp)
+GO(g_value_get_ulong, LFp)
+GO(g_value_get_variant, pFp)
+GO(g_value_init, pFpi)
+GO(g_value_init_from_instance, vFpp)
+GO(g_value_peek_pointer, pFp)
+GOM(g_value_register_transform_func, vFEiip)
+GO(g_value_reset, pFp)
+GO(g_value_set_boolean, vFpi)
+GO(g_value_set_boxed, vFpp)
+GO(g_value_set_boxed_take_ownership, vFpp)
+GO(g_value_set_char, vFpC)
+GO(g_value_set_double, vFpd)
+GO(g_value_set_enum, vFpi)
+GO(g_value_set_flags, vFpu)
+GO(g_value_set_float, vFpf)
+GO(g_value_set_gtype, vFpi)
+GO(g_value_set_instance, vFpp)
+GO(g_value_set_int, vFpi)
+GO(g_value_set_int64, vFpI)
+GO(g_value_set_long, vFpl)
+GO(g_value_set_object, vFpp)
+GO(g_value_set_object_take_ownership, vFpp)
+GO(g_value_set_param, vFpp)
+GO(g_value_set_param_take_ownership, vFpp)
+GO(g_value_set_pointer, vFpp)
+GO(g_value_set_schar, vFpc)
+GO(g_value_set_static_boxed, vFpp)
+GO(g_value_set_static_string, vFpp)
+GO(g_value_set_string, vFpp)
+GO(g_value_set_string_take_ownership, vFpp)
+GO(g_value_set_uchar, vFpC)
+GO(g_value_set_uint, vFpu)
+GO(g_value_set_uint64, vFpU)
+GO(g_value_set_ulong, vFpL)
+GO(g_value_set_variant, vFpp)
+GO(g_value_take_boxed, vFpp)
+GO(g_value_take_object, vFpp)
+GO(g_value_take_param, vFpp)
+GO(g_value_take_string, vFpp)
+GO(g_value_take_variant, vFpp)
+GO(g_value_transform, iFpp)
+GO(g_value_type_compatible, iFii)
+GO(g_value_type_transformable, iFii)
+GO(g_value_unset, vFp)
+//GO(g_variant_builder_get_type, 
+//GO(g_variant_dict_get_type, 
+//GO(g_variant_get_gtype, 
+//GO(g_variant_type_get_gtype, 
+//GO(g_weak_ref_clear, 
+//GO(g_weak_ref_get, 
+//GO(g_weak_ref_init, 
+//GO(g_weak_ref_set, 
+//GO(_init, 
+
+// to have some wrapper created for gtkclass.c
+GO(dummy_set_property, vFpupp)  
+GO(dummy_drag_data_get, vFpppuu)
+GO(dummy_drag_motion, iFppiiu)
+GO(dummy_drag_data_received, vFppiipuu)
+GO(dummy_childprop, vFppupp)
+GO(dummy_marshal, vFppuppp)
+GO(dummy_marshalv, vFpppppip)
diff --git a/src/wrapped/wrappedgthread2.c b/src/wrapped/wrappedgthread2.c
new file mode 100755
index 00000000..b992e0b4
--- /dev/null
+++ b/src/wrapped/wrappedgthread2.c
@@ -0,0 +1,141 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
+#include "gtkclass.h"
+
+const char* gthread2Name = "libgthread-2.0.so.0";
+#define LIBNAME gthread2
+
+typedef void  (*vFp_t)(void*);
+
+#define SUPER() \
+    GO(g_thread_init, vFp_t)                            \
+    GO(g_thread_init_with_errorcheck_mutexes, vFp_t)
+
+typedef struct gthread2_my_s {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+} gthread2_my_t;
+
+void* getGthread2My(library_t* lib)
+{
+    gthread2_my_t* my = (gthread2_my_t*)calloc(1, sizeof(gthread2_my_t));
+    #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
+    SUPER()
+    #undef GO
+    return my;
+}
+#undef SUPER
+
+void freeGthread2My(void* lib)
+{
+    //gthread2_my_t *my = (gthread2_my_t *)lib;
+}
+
+EXPORT int g_threads_got_initialized;
+
+typedef struct my_GThreadFunctions_s
+{
+  void*  (*mutex_new)               (void);
+  void     (*mutex_lock)            (void *mutex);
+  int (*mutex_trylock)              (void *mutex);
+  void     (*mutex_unlock)          (void *mutex);
+  void     (*mutex_free)            (void *mutex);
+  void*   (*cond_new)               (void);
+  void     (*cond_signal)           (void *cond);
+  void     (*cond_broadcast)        (void *cond);
+  void     (*cond_wait)             (void *cond, void *mutex);
+  int (*cond_timed_wait)            (void *cond, void *mutex, void *end_time);
+  void      (*cond_free)            (void *cond);
+  void* (*private_new)              (void* destructor);            //GDestroyNotify
+  void*  (*private_get)             (void *private_key);
+  void      (*private_set)          (void *private_key, void* data);
+  void      (*thread_create)        (void* func, void* data, unsigned long stack_size, int joinable, int bound, int priority, void* thread, void **error);  //GThreadFunc
+  void      (*thread_yield)         (void);
+  void      (*thread_join)          (void* thread);
+  void      (*thread_exit)          (void);
+  void      (*thread_set_priority)  (void* thread, int priority);
+  void      (*thread_self)          (void* thread);
+  int  (*thread_equal)              (void* thread1, void* thread2);
+} my_GThreadFunctions_t;
+
+EXPORT void my_g_thread_init(x64emu_t* emu, my_GThreadFunctions_t* vtable)
+{
+    if(g_threads_got_initialized) {
+        // no need to do it twice
+        my_setGlobalGThreadsInit();
+        return;
+    }
+
+    library_t * lib = GetLibInternal(gthread2Name);
+    gthread2_my_t *my = (gthread2_my_t*)lib->priv.w.p2;
+
+    if(!vtable)
+        return my->g_thread_init(NULL);
+
+    printf_log(LOG_INFO, "Warning, vtable not NULL in g_thread_init not supported yet!\n");
+    
+    my->g_thread_init(vtable);
+
+    if(g_threads_got_initialized)
+        my_setGlobalGThreadsInit();
+}
+
+EXPORT void my_g_thread_init_with_errorcheck_mutexes(x64emu_t* emu, my_GThreadFunctions_t* vtable)
+{
+    if(g_threads_got_initialized) {
+        // no need to do it twice
+        my_setGlobalGThreadsInit();
+        return;
+    }
+
+    library_t * lib = GetLibInternal(gthread2Name);
+    gthread2_my_t *my = (gthread2_my_t*)lib->priv.w.p2;
+
+    if(vtable)
+        printf_log(LOG_NONE, "Warning, vtable is not NULL in g_thread_init_with_errorcheck_mutexes call!\n");
+    
+    my->g_thread_init_with_errorcheck_mutexes(vtable);  // will certainly crash here...
+
+    if(g_threads_got_initialized)
+        my_setGlobalGThreadsInit();
+}
+
+void** my_GetGthreadsGotInitialized()
+{
+    return (void**)&g_threads_got_initialized;
+}
+
+
+
+#define PRE_INIT    \
+    if(box64_nogtk) \
+        return -1;
+
+#define CUSTOM_INIT \
+    lib->priv.w.p2 = getGthread2My(lib);
+
+#define CUSTOM_FINI \
+    freeGthread2My(lib->priv.w.p2); \
+    free(lib->priv.w.p2);
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedgthread2_private.h b/src/wrapped/wrappedgthread2_private.h
new file mode 100755
index 00000000..fd8c61cc
--- /dev/null
+++ b/src/wrapped/wrappedgthread2_private.h
@@ -0,0 +1,6 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+GOM(g_thread_init, vFEp)
+GOM(g_thread_init_with_errorcheck_mutexes, vFEp)
diff --git a/src/wrapped/wrappedgtkx112.c b/src/wrapped/wrappedgtkx112.c
new file mode 100755
index 00000000..a574de6c
--- /dev/null
+++ b/src/wrapped/wrappedgtkx112.c
@@ -0,0 +1,1144 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
+#include "gtkclass.h"
+
+const char* gtkx112Name = "libgtk-x11-2.0.so.0";
+static char* libname = NULL;
+#define LIBNAME gtkx112
+
+typedef int           (*iFv_t)(void);
+typedef void*         (*pFi_t)(int);
+typedef void          (*vFp_t)(void*);
+typedef int           (*iFp_t)(void*);
+typedef void*         (*pFp_t)(void*);
+typedef double        (*dFp_t)(void*);
+typedef int           (*iFip_t)(int, void*);
+typedef int           (*iFpp_t)(void*, void*);
+typedef void*         (*pFpp_t)(void*, void*);
+typedef void*         (*pFpi_t)(void*, int);
+typedef void          (*vFpp_t)(void*, void*);
+typedef void*         (*pFppi_t)(void*, void*, int32_t);
+typedef int32_t       (*iFppp_t)(void*, void*, void*);
+typedef void          (*vFppp_t)(void*, void*, void*);
+typedef uint32_t      (*uFupp_t)(uint32_t, void*, void*);
+typedef void          (*vFpipV_t)(void*, int, void*, ...);
+typedef int           (*iFpppp_t)(void*, void*, void*, void*);
+typedef void          (*vFpppp_t)(void*, void*, void*, void*);
+typedef void          (*vFppup_t)(void*, void*, uint32_t, void*);
+typedef unsigned long (*LFppppi_t)(void*, void*, void*, void*, int);
+typedef void          (*vFpippp_t)(void*, int, void*, void*, void*);
+typedef void          (*vFppppp_t)(void*, void*, void*, void*, void*);
+typedef void          (*vFpuipp_t)(void*, uint32_t, int, void*, void*);
+typedef void          (*vFppupp_t)(void*, void*, uint32_t, void*, void*);
+typedef uint32_t      (*uFiipppp_t)(int, int, void*, void*, void*, void*);
+typedef unsigned long (*LFpppppi_t)(void*, void*, void*, void*, void*, int);
+typedef int           (*iFpppppp_t)(void*, void*, void*, void*, void*, void*);
+typedef void          (*vFpuipuV_t)(void*, uint32_t, int, void*, uint32_t, ...);
+typedef int           (*iFppuppp_t)(void*, void*, uint32_t, void*, void*, void*);
+typedef void*         (*pFppppppi_t)(void*, void*, void*, void*, void*, void*, int);
+typedef void*         (*pFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
+typedef void*         (*pFpppppppi_t)(void*, void*, void*, void*, void*, void*, void*, int);
+typedef void          (*vFpppppuu_t)(void*, void*, void*, void*, void*, uint32_t, uint32_t);
+typedef unsigned long (*LFppppppii_t)(void*, void*, void*, void*, void*, void*, int32_t, int32_t);
+typedef void*         (*pFpippppppp_t)(void*, int, void*, void*, void*, void*, void*, void*, void*);
+typedef void*         (*pFpipppppppi_t)(void*, int, void*, void*, void*, void*, void*, void*, void*, int);
+
+#define SUPER() \
+    GO(gtk_object_get_type, iFv_t)              \
+    GO(gtk_object_set_data_full, vFpppp_t)      \
+    GO(g_type_check_instance_cast, pFpi_t)      \
+    GO(gtk_bin_get_type, iFv_t)                 \
+    GO(gtk_widget_get_type, iFv_t)              \
+    GO(gtk_button_get_type, iFv_t)              \
+    GO(gtk_container_get_type, iFv_t)           \
+    GO(gtk_misc_get_type, iFv_t)                \
+    GO(gtk_label_get_type, iFv_t)               \
+    GO(gtk_tree_view_get_type, iFv_t)           \
+    GO(gtk_window_get_type, iFv_t)              \
+    GO(gtk_table_get_type, iFv_t)               \
+    GO(gtk_type_class, pFi_t)                   \
+    GO(gtk_button_get_label, pFp_t)             \
+    GO(gtk_signal_connect_full, LFppppppii_t)   \
+    GO(gtk_dialog_add_button, pFppi_t)          \
+    GO(gtk_message_dialog_format_secondary_text, vFpp_t)    \
+    GO(gtk_message_dialog_format_secondary_markup, vFpp_t)  \
+    GO(gtk_init, vFpp_t)                        \
+    GO(gtk_init_check, iFpp_t)                  \
+    GO(gtk_init_with_args, iFpppppp_t)          \
+    GO(gtk_menu_attach_to_widget, vFppp_t)      \
+    GO(gtk_menu_popup, vFpppppuu_t)             \
+    GO(gtk_timeout_add, uFupp_t)                \
+    GO(gtk_clipboard_set_with_data, iFppuppp_t) \
+    GO(gtk_clipboard_set_with_owner, iFppuppp_t)\
+    GO(gtk_stock_set_translate_func, vFpppp_t)  \
+    GO(gtk_container_forall, vFppp_t)           \
+    GO(gtk_tree_view_set_search_equal_func, vFpppp_t)   \
+    GO(gtk_text_iter_backward_find_char, iFpppp_t)      \
+    GO(gtk_text_iter_forward_find_char, iFpppp_t)       \
+    GO(gtk_toolbar_append_item, pFppppppp_t)    \
+    GO(gtk_toolbar_prepend_item, pFppppppp_t)   \
+    GO(gtk_toolbar_insert_item, pFpppppppi_t)   \
+    GO(gtk_toolbar_append_element, pFpippppppp_t)       \
+    GO(gtk_toolbar_prepend_element, pFpippppppp_t)      \
+    GO(gtk_toolbar_insert_element, pFpipppppppi_t)      \
+    GO(gtk_toolbar_insert_stock, pFppppppi_t)   \
+    GO(gtk_tree_sortable_set_sort_func, vFpippp_t)      \
+    GO(gtk_tree_sortable_set_default_sort_func, vFpppp_t)\
+    GO(gtk_type_unique, iFip_t)                 \
+    GO(gtk_spin_button_get_value, dFp_t)        \
+    GO(gtk_builder_connect_signals_full, vFppp_t)       \
+    GO(gtk_action_get_type, iFv_t)              \
+    GO(gtk_binding_entry_add_signall, vFpuipp_t)\
+    GO(gtk_binding_entry_add_signal, vFpuipuV_t)\
+    GO(gtk_container_foreach, vFppp_t)          \
+    GO(gtk_cell_layout_set_cell_data_func, vFppppp_t)   \
+    GO(g_module_close, iFp_t)                   \
+    GO(g_module_open, pFpi_t)                   \
+    GO(g_module_supported, iFv_t)               \
+    GO(g_module_symbol, iFppp_t)                \
+    GO(g_log, vFpipV_t)                         \
+    GO(g_type_class_ref, pFi_t)                 \
+    GO(g_type_class_unref, vFp_t)               \
+    GO(g_signal_connect_object, LFppppi_t)      \
+    GO(g_signal_connect_data, LFpppppi_t)       \
+    GO(gtk_action_group_add_actions, vFppup_t)  \
+    GO(gtk_action_group_add_actions_full, vFppupp_t)    \
+    GO(gtk_tree_model_foreach, vFppp_t)         \
+    GO(gtk_clipboard_request_text, vFppp_t)     \
+    GO(gtk_clipboard_request_contents, vFpppp_t)\
+    GO(gtk_input_add_full, uFiipppp_t)          \
+
+
+
+typedef struct gtkx112_my_s {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+    int  gtk1;
+} gtkx112_my_t;
+
+void* getGtkx112My(library_t* lib)
+{
+    gtkx112_my_t* my = (gtkx112_my_t*)calloc(1, sizeof(gtkx112_my_t));
+    #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
+    SUPER()
+    #undef GO
+    if(strcmp(lib->name, "libgtk-1.2.so.0")==0)
+        my->gtk1 = 1;
+    return my;
+}
+#undef SUPER
+
+void freeGtkx112My(void* lib)
+{
+    //gtkx112_my_t *my = (gtkx112_my_t *)lib;
+}
+
+static box64context_t* context = NULL;
+
+EXPORT uintptr_t my_gtk_signal_connect_full(x64emu_t* emu, void* object, void* name, void* c_handler, void* unsupported, void* data, void* closure, uint32_t signal, int after)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    if(!context)
+        context = emu->context;
+
+    my_signal_t *sig = new_mysignal(c_handler, data, closure);
+    uintptr_t ret = my->gtk_signal_connect_full(object, name, my_signal_cb, NULL, sig, my_signal_delete, signal, after);
+    printf_log(LOG_DEBUG, "Connecting gtk signal \"%s\" with cb=%p\n", (char*)name, sig);
+    return ret;
+}
+
+// this is quite ineficient, but GCallback is often used, so create a large pool here...
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)   \
+GO(4)   \
+GO(5)   \
+GO(6)   \
+GO(7)   \
+GO(8)   \
+GO(9)   \
+GO(10)  \
+GO(11)  \
+GO(12)  \
+GO(13)  \
+GO(14)  \
+GO(15)  \
+GO(16)  \
+GO(17)  \
+GO(18)  \
+GO(19)  \
+GO(20)  \
+GO(21)  \
+GO(22)  \
+GO(23)  \
+GO(24)  \
+GO(25)  \
+GO(26)  \
+GO(27)  \
+GO(28)  \
+GO(29)  \
+GO(30)  \
+GO(31)  \
+GO(32)  \
+GO(33)  \
+GO(34)  \
+GO(35)  \
+GO(36)  \
+GO(37)  \
+GO(38)  \
+GO(39)  \
+
+// GtkMenuDetachFunc
+#define GO(A)   \
+static uintptr_t my_menudetach_fct_##A = 0;   \
+static void my_menudetach_##A(void* widget, void* menu)     \
+{                                       \
+    RunFunction(my_context, my_menudetach_fct_##A, 2, widget, menu);\
+}
+SUPER()
+#undef GO
+static void* findMenuDetachFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_menudetach_fct_##A == (uintptr_t)fct) return my_menudetach_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_menudetach_fct_##A == 0) {my_menudetach_fct_##A = (uintptr_t)fct; return my_menudetach_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GMenuDetachFunc callback\n");
+    return NULL;
+}
+
+// GtkMenuPositionFunc
+#define GO(A)   \
+static uintptr_t my_menuposition_fct_##A = 0;   \
+static void my_menuposition_##A(void* menu, void* x, void* y, void* push_in, void* data)     \
+{                                       \
+    RunFunction(my_context, my_menuposition_fct_##A, 5, menu, x, y, push_in, data);\
+}
+SUPER()
+#undef GO
+static void* findMenuPositionFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_menuposition_fct_##A == (uintptr_t)fct) return my_menuposition_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_menuposition_fct_##A == 0) {my_menuposition_fct_##A = (uintptr_t)fct; return my_menuposition_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkMenuPositionFunc callback\n");
+    return NULL;
+}
+
+// GtkFunction
+#define GO(A)   \
+static uintptr_t my_gtkfunction_fct_##A = 0;   \
+static int my_gtkfunction_##A(void* data)     \
+{                                       \
+    return RunFunction(my_context, my_gtkfunction_fct_##A, 1, data);\
+}
+SUPER()
+#undef GO
+static void* findGtkFunctionFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_gtkfunction_fct_##A == (uintptr_t)fct) return my_gtkfunction_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_gtkfunction_fct_##A == 0) {my_gtkfunction_fct_##A = (uintptr_t)fct; return my_gtkfunction_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkFunction callback\n");
+    return NULL;
+}
+
+// GtkClipboardGetFunc
+#define GO(A)   \
+static uintptr_t my_clipboardget_fct_##A = 0;   \
+static void my_clipboardget_##A(void* clipboard, void* selection, uint32_t info, void* data)     \
+{                                       \
+    RunFunction(my_context, my_clipboardget_fct_##A, 4, clipboard, selection, info, data);\
+}
+SUPER()
+#undef GO
+static void* findClipboadGetFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_clipboardget_fct_##A == (uintptr_t)fct) return my_clipboardget_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_clipboardget_fct_##A == 0) {my_clipboardget_fct_##A = (uintptr_t)fct; return my_clipboardget_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkClipboardGetFunc callback\n");
+    return NULL;
+}
+
+// GtkClipboardClearFunc
+#define GO(A)   \
+static uintptr_t my_clipboardclear_fct_##A = 0;   \
+static void my_clipboardclear_##A(void* clipboard, void* data)     \
+{                                       \
+    RunFunction(my_context, my_clipboardclear_fct_##A, 2, clipboard, data);\
+}
+SUPER()
+#undef GO
+static void* findClipboadClearFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_clipboardclear_fct_##A == (uintptr_t)fct) return my_clipboardclear_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_clipboardclear_fct_##A == 0) {my_clipboardclear_fct_##A = (uintptr_t)fct; return my_clipboardclear_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkClipboardClearFunc callback\n");
+    return NULL;
+}
+
+// GtkCallback
+#define GO(A)   \
+static uintptr_t my_gtkcallback_fct_##A = 0;   \
+static void my_gtkcallback_##A(void* widget, void* data)     \
+{                                       \
+    RunFunction(my_context, my_gtkcallback_fct_##A, 2, widget, data);\
+}
+SUPER()
+#undef GO
+static void* findGtkCallbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_gtkcallback_fct_##A == (uintptr_t)fct) return my_gtkcallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_gtkcallback_fct_##A == 0) {my_gtkcallback_fct_##A = (uintptr_t)fct; return my_gtkcallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkCallback callback\n");
+    return NULL;
+}
+
+// GtkTextCharPredicate
+#define GO(A)   \
+static uintptr_t my_textcharpredicate_fct_##A = 0;   \
+static int my_textcharpredicate_##A(uint32_t ch, void* data)     \
+{                                       \
+    return (int)RunFunction(my_context, my_textcharpredicate_fct_##A, 2, ch, data);\
+}
+SUPER()
+#undef GO
+static void* findGtkTextCharPredicateFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_textcharpredicate_fct_##A == (uintptr_t)fct) return my_textcharpredicate_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_textcharpredicate_fct_##A == 0) {my_textcharpredicate_fct_##A = (uintptr_t)fct; return my_textcharpredicate_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkTextCharPredicate callback\n");
+    return NULL;
+}
+
+// Toolbar
+#define GO(A)   \
+static uintptr_t my_toolbar_fct_##A = 0;   \
+static void my_toolbar_##A(void* widget, void* data)     \
+{                                       \
+    RunFunction(my_context, my_toolbar_fct_##A, 2, widget, data);\
+}
+SUPER()
+#undef GO
+static void* findToolbarFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_toolbar_fct_##A == (uintptr_t)fct) return my_toolbar_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_toolbar_fct_##A == 0) {my_toolbar_fct_##A = (uintptr_t)fct; return my_toolbar_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 Toolbar callback\n");
+    return NULL;
+}
+
+// Builder
+#define GO(A)   \
+static uintptr_t my_builderconnect_fct_##A = 0;   \
+static void my_builderconnect_##A(void* builder, void* object, void* signal, void* handler, void* connect, int flags, void* data)     \
+{                                       \
+    RunFunction(my_context, my_builderconnect_fct_##A, 7, builder, object, signal, handler, connect, flags, data);\
+}
+SUPER()
+#undef GO
+static void* findBuilderConnectFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_builderconnect_fct_##A == (uintptr_t)fct) return my_builderconnect_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_builderconnect_fct_##A == 0) {my_builderconnect_fct_##A = (uintptr_t)fct; return my_builderconnect_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 BuilderConnect callback\n");
+    return NULL;
+}
+
+// GtkCellLayoutDataFunc
+#define GO(A)   \
+static uintptr_t my_GtkCellLayoutDataFunc_fct_##A = 0;                                                  \
+static void my_GtkCellLayoutDataFunc_##A(void* layout, void* cell, void* tree, void* iter, void* data)  \
+{                                       \
+    RunFunction(my_context, my_GtkCellLayoutDataFunc_fct_##A, 5, layout, cell, tree, iter, data);\
+}
+SUPER()
+#undef GO
+static void* findGtkCellLayoutDataFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GtkCellLayoutDataFunc_fct_##A == (uintptr_t)fct) return my_GtkCellLayoutDataFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GtkCellLayoutDataFunc_fct_##A == 0) {my_GtkCellLayoutDataFunc_fct_##A = (uintptr_t)fct; return my_GtkCellLayoutDataFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkCellLayoutDataFunc callback\n");
+    return NULL;
+}
+
+// GDestroyNotify
+#define GO(A)   \
+static uintptr_t my_GDestroyNotify_fct_##A = 0;                     \
+static void my_GDestroyNotify_##A(void* data)                       \
+{                                                                   \
+    RunFunction(my_context, my_GDestroyNotify_fct_##A, 1, data);    \
+}
+SUPER()
+#undef GO
+static void* findGDestroyNotifyFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GDestroyNotify_fct_##A == (uintptr_t)fct) return my_GDestroyNotify_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GDestroyNotify_fct_##A == 0) {my_GDestroyNotify_fct_##A = (uintptr_t)fct; return my_GDestroyNotify_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GDestroyNotify callback\n");
+    return NULL;
+}
+
+// GtkTreeModelForeachFunc
+#define GO(A)   \
+static uintptr_t my_GtkTreeModelForeachFunc_fct_##A = 0;                                                    \
+static int my_GtkTreeModelForeachFunc_##A(void* model, void* path, void* iter, void* data)                  \
+{                                                                                                           \
+    return (int)RunFunction(my_context, my_GtkTreeModelForeachFunc_fct_##A, 4, model, path, iter, data);    \
+}
+SUPER()
+#undef GO
+static void* findGtkTreeModelForeachFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GtkTreeModelForeachFunc_fct_##A == (uintptr_t)fct) return my_GtkTreeModelForeachFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GtkTreeModelForeachFunc_fct_##A == 0) {my_GtkTreeModelForeachFunc_fct_##A = (uintptr_t)fct; return my_GtkTreeModelForeachFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkTreeModelForeachFunc callback\n");
+    return NULL;
+}
+
+// GtkClipboardReceivedFunc
+#define GO(A)   \
+static uintptr_t my_GtkClipboardReceivedFunc_fct_##A = 0;                                   \
+static void my_GtkClipboardReceivedFunc_##A(void* clipboard, void* sel, void* data)        \
+{                                                                                               \
+    RunFunction(my_context, my_GtkClipboardReceivedFunc_fct_##A, 3, clipboard, sel, data); \
+}
+SUPER()
+#undef GO
+static void* findGtkClipboardReceivedFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GtkClipboardReceivedFunc_fct_##A == (uintptr_t)fct) return my_GtkClipboardReceivedFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GtkClipboardReceivedFunc_fct_##A == 0) {my_GtkClipboardReceivedFunc_fct_##A = (uintptr_t)fct; return my_GtkClipboardReceivedFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkClipboardReceivedFunc callback\n");
+    return NULL;
+}
+
+// GtkClipboardTextReceivedFunc
+#define GO(A)   \
+static uintptr_t my_GtkClipboardTextReceivedFunc_fct_##A = 0;                                   \
+static void my_GtkClipboardTextReceivedFunc_##A(void* clipboard, void* text, void* data)        \
+{                                                                                               \
+    RunFunction(my_context, my_GtkClipboardTextReceivedFunc_fct_##A, 3, clipboard, text, data); \
+}
+SUPER()
+#undef GO
+static void* findGtkClipboardTextReceivedFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GtkClipboardTextReceivedFunc_fct_##A == (uintptr_t)fct) return my_GtkClipboardTextReceivedFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GtkClipboardTextReceivedFunc_fct_##A == 0) {my_GtkClipboardTextReceivedFunc_fct_##A = (uintptr_t)fct; return my_GtkClipboardTextReceivedFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkClipboardTextReceivedFunc callback\n");
+    return NULL;
+}
+
+// GtkTreeViewSearchEqualFunc
+#define GO(A)   \
+static uintptr_t my_GtkTreeViewSearchEqualFunc_fct_##A = 0;                                                     \
+static int my_GtkTreeViewSearchEqualFunc_##A(void* model, int column, void* key, void* iter, void* data)        \
+{                                                                                                               \
+    return RunFunction(my_context, my_GtkTreeViewSearchEqualFunc_fct_##A, 5, model, column, key, iter, data);   \
+}
+SUPER()
+#undef GO
+static void* findGtkTreeViewSearchEqualFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GtkTreeViewSearchEqualFunc_fct_##A == (uintptr_t)fct) return my_GtkTreeViewSearchEqualFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GtkTreeViewSearchEqualFunc_fct_##A == 0) {my_GtkTreeViewSearchEqualFunc_fct_##A = (uintptr_t)fct; return my_GtkTreeViewSearchEqualFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkTreeViewSearchEqualFunc callback\n");
+    return NULL;
+}
+
+// GtkTreeIterCompareFunc
+#define GO(A)   \
+static uintptr_t my_GtkTreeIterCompareFunc_fct_##A = 0;                                         \
+static int my_GtkTreeIterCompareFunc_##A(void* model, void* a, void* b, void* data)             \
+{                                                                                               \
+    return RunFunction(my_context, my_GtkTreeIterCompareFunc_fct_##A, 4, model, a, b, data);    \
+}
+SUPER()
+#undef GO
+static void* findGtkTreeIterCompareFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GtkTreeIterCompareFunc_fct_##A == (uintptr_t)fct) return my_GtkTreeIterCompareFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GtkTreeIterCompareFunc_fct_##A == 0) {my_GtkTreeIterCompareFunc_fct_##A = (uintptr_t)fct; return my_GtkTreeIterCompareFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkTreeIterCompareFunc callback\n");
+    return NULL;
+}
+
+// GdkInputFunction
+#define GO(A)   \
+static uintptr_t my_GdkInputFunction_fct_##A = 0;                                  \
+static void my_GdkInputFunction_##A(void* data, int source, int cond)              \
+{                                                                                   \
+    RunFunction(my_context, my_GdkInputFunction_fct_##A, 3, data, source, cond);   \
+}
+SUPER()
+#undef GO
+static void* findGdkInputFunctionFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GdkInputFunction_fct_##A == (uintptr_t)fct) return my_GdkInputFunction_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GdkInputFunction_fct_##A == 0) {my_GdkInputFunction_fct_##A = (uintptr_t)fct; return my_GdkInputFunction_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GdkInputFunction callback\n");
+    return NULL;
+}
+
+// GtkCallbackMarshal
+#define GO(A)   \
+static uintptr_t my_GtkCallbackMarshal_fct_##A = 0;                                 \
+static void my_GtkCallbackMarshal_##A(void* obj, void* data, uint32_t n, void* args)\
+{                                                                                   \
+    RunFunction(my_context, my_GtkCallbackMarshal_fct_##A, 4, obj, data, n, args);  \
+}
+SUPER()
+#undef GO
+static void* findGtkCallbackMarshalFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GtkCallbackMarshal_fct_##A == (uintptr_t)fct) return my_GtkCallbackMarshal_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GtkCallbackMarshal_fct_##A == 0) {my_GtkCallbackMarshal_fct_##A = (uintptr_t)fct; return my_GtkCallbackMarshal_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkCallbackMarshal callback\n");
+    return NULL;
+}
+
+#undef SUPER
+
+EXPORT void my_gtk_dialog_add_buttons(x64emu_t* emu, void* dialog, void* first, uintptr_t* b)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    void* btn = first;
+    while(btn) {
+        int id = (int)*(b++);
+        my->gtk_dialog_add_button(dialog, btn, id);
+        btn = (void*)*(b++);
+    }
+}
+
+EXPORT void my_gtk_message_dialog_format_secondary_text(x64emu_t* emu, void* dialog, void* fmt, void* b)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    char* buf = NULL;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 2);
+    PREPARE_VALIST;
+    int ret = vasprintf(&buf, fmt, VARARGS);
+    (void)ret;
+    // pre-bake the fmt/vaarg, because there is no "va_list" version of this function
+    my->gtk_message_dialog_format_secondary_text(dialog, buf);
+    free(buf);
+}
+
+EXPORT void my_gtk_message_dialog_format_secondary_markup(x64emu_t* emu, void* dialog, void* fmt, void* b)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    char* buf = NULL;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 2);
+    PREPARE_VALIST;
+    int ret = vasprintf(&buf, fmt, VARARGS);
+    (void)ret;
+    // pre-bake the fmt/vaarg, because there is no "va_list" version of this function
+    my->gtk_message_dialog_format_secondary_markup(dialog, buf);
+    free(buf);
+}
+EXPORT void* my_gtk_type_class(x64emu_t* emu, int type)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    void* class = my->gtk_type_class(type);
+    return wrapCopyGTKClass(class, type);
+}
+
+EXPORT void my_gtk_init(x64emu_t* emu, void* argc, void* argv)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_init(argc, argv);
+    my_checkGlobalGdkDisplay();
+    AutoBridgeGtk(my->g_type_class_ref, my->g_type_class_unref);
+}
+
+EXPORT int my_gtk_init_check(x64emu_t* emu, void* argc, void* argv)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    int ret = my->gtk_init_check(argc, argv);
+    my_checkGlobalGdkDisplay();
+    AutoBridgeGtk(my->g_type_class_ref, my->g_type_class_unref);
+    return ret;
+}
+
+EXPORT int my_gtk_init_with_args(x64emu_t* emu, void* argc, void* argv, void* param, void* entries, void* trans, void* error)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    int ret = my->gtk_init_with_args(argc, argv, param, entries, trans, error);
+    my_checkGlobalGdkDisplay();
+    AutoBridgeGtk(my->g_type_class_ref, my->g_type_class_unref);
+    return ret;
+}
+
+EXPORT void my_gtk_menu_attach_to_widget(x64emu_t* emu, void* menu, void* widget, void* f)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_menu_attach_to_widget(menu, widget, findMenuDetachFct(f));
+}
+
+EXPORT void my_gtk_menu_popup(x64emu_t* emu, void* menu, void* shell, void* item, void* f, void* data, uint32_t button, uint32_t time_)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_menu_popup(menu, shell, item, findMenuPositionFct(f), data, button, time_);
+}
+
+EXPORT uint32_t my_gtk_timeout_add(x64emu_t* emu, uint32_t interval, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_timeout_add(interval, findGtkFunctionFct(f), data);
+}
+
+EXPORT int my_gtk_clipboard_set_with_data(x64emu_t* emu, void* clipboard, void* target, uint32_t n, void* f_get, void* f_clear, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_clipboard_set_with_data(clipboard, target, n, findClipboadGetFct(f_get), findClipboadClearFct(f_clear), data);
+}
+
+EXPORT int my_gtk_clipboard_set_with_owner(x64emu_t* emu, void* clipboard, void* target, uint32_t n, void* f_get, void* f_clear, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_clipboard_set_with_owner(clipboard, target, n, findClipboadGetFct(f_get), findClipboadClearFct(f_clear), data);
+}
+
+static void* my_translate_func(void* path, my_signal_t* sig)
+{
+    return (void*)RunFunction(my_context, sig->c_handler, 2, path, sig->data);
+}
+
+EXPORT void my_gtk_stock_set_translate_func(x64emu_t* emu, void* domain, void* f, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my_signal_t *sig = new_mysignal(f, data, notify);
+    my->gtk_stock_set_translate_func(domain, my_translate_func, sig, my_signal_delete);
+}
+
+EXPORT void my_gtk_container_forall(x64emu_t* emu, void* container, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_container_forall(container, findGtkCallbackFct(f), data);
+}
+
+EXPORT void my_gtk_tree_view_set_search_equal_func(x64emu_t* emu, void* tree_view, void* f, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_tree_view_set_search_equal_func(tree_view, findGtkTreeViewSearchEqualFuncFct(f), data, findGDestroyNotifyFct(notify));
+}
+
+EXPORT int my_gtk_text_iter_backward_find_char(x64emu_t* emu, void* iter, void* f, void* data, void* limit)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_text_iter_backward_find_char(iter, findGtkTextCharPredicateFct(f), data, limit);
+}
+
+EXPORT int my_gtk_text_iter_forward_find_char(x64emu_t* emu, void* iter, void* f, void* data, void* limit)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_text_iter_forward_find_char(iter, findGtkTextCharPredicateFct(f), data, limit);
+}
+
+EXPORT void* my_gtk_toolbar_append_item(x64emu_t* emu, void* toolbar, void* text, void* tooltip_text, void* tooltip_private, void* icon, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_toolbar_append_item(toolbar, text, tooltip_text, tooltip_private, icon, findToolbarFct(f), data);
+}
+
+EXPORT void* my_gtk_toolbar_prepend_item(x64emu_t* emu, void* toolbar, void* text, void* tooltip_text, void* tooltip_private, void* icon, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_toolbar_prepend_item(toolbar, text, tooltip_text, tooltip_private, icon, findToolbarFct(f), data);
+}
+
+EXPORT void* my_gtk_toolbar_insert_item(x64emu_t* emu, void* toolbar, void* text, void* tooltip_text, void* tooltip_private, void* icon, void* f, void* data, int position)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_toolbar_insert_item(toolbar, text, tooltip_text, tooltip_private, icon, findToolbarFct(f), data, position);
+}
+
+EXPORT void* my_gtk_toolbar_append_element(x64emu_t* emu, void* toolbar, int type, void* widget, void* text, void* tooltip_text, void* tooltip_private, void* icon, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_toolbar_append_element(toolbar, type, widget, text, tooltip_text, tooltip_private, icon, findToolbarFct(f), data);
+}
+
+EXPORT void* my_gtk_toolbar_prepend_element(x64emu_t* emu, void* toolbar, int type, void* widget, void* text, void* tooltip_text, void* tooltip_private, void* icon, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_toolbar_prepend_element(toolbar, type, widget, text, tooltip_text, tooltip_private, icon, findToolbarFct(f), data);
+}
+
+EXPORT void* my_gtk_toolbar_insert_element(x64emu_t* emu, void* toolbar, int type, void* widget, void* text, void* tooltip_text, void* tooltip_private, void* icon, void* f, void* data, int position)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_toolbar_insert_element(toolbar, type, widget, text, tooltip_text, tooltip_private, icon, findToolbarFct(f), data, position);
+}
+
+EXPORT void* my_gtk_toolbar_insert_stock(x64emu_t* emu, void* toolbar, void* stock_id, void* tooltip_text, void* tooltip_private, void* f, void* data, int position)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_toolbar_insert_stock(toolbar, stock_id, tooltip_text, tooltip_private, findToolbarFct(f), data, position);
+}
+
+EXPORT void my_gtk_tree_sortable_set_sort_func(x64emu_t* emu, void* sortable, int id, void* f, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_tree_sortable_set_sort_func(sortable, id, findGtkTreeIterCompareFuncFct(f), data, findGDestroyNotifyFct(notify));
+}
+
+EXPORT void my_gtk_tree_sortable_set_default_sort_func(x64emu_t* emu, void* sortable, void* f, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_tree_sortable_set_default_sort_func(sortable, findGtkTreeIterCompareFuncFct(f), data, findGDestroyNotifyFct(notify));
+}
+
+EXPORT int my_gtk_type_unique(x64emu_t* emu, int parent, my_GtkTypeInfo_t* gtkinfo)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_type_unique(parent, findFreeGtkTypeInfo(gtkinfo, parent));
+}
+
+EXPORT unsigned long my_gtk_signal_connect(x64emu_t* emu, void* object, void* name, void* func, void* data)
+{
+    return my_gtk_signal_connect_full(emu, object, name, func, NULL, data, NULL, 0, 0);
+}
+
+EXPORT void my_gtk_object_set_data_full(x64emu_t* emu, void* object, void* key, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_object_set_data_full(object, key, data, findGDestroyNotifyFct(notify));
+}
+
+EXPORT float my_gtk_spin_button_get_value_as_float(x64emu_t* emu, void* spinner)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_spin_button_get_value(spinner);
+}
+
+static int gtk1Type(gtkx112_my_t *my, int type)
+{
+    if (type==21)
+        return my->gtk_object_get_type();
+    return type;    // other changes needed?
+}
+
+typedef struct dummy_gtk1_button_s {
+    int type;
+    int dummy[14];
+    void* label;
+} dummy_gtk1_button_t;
+
+EXPORT void* my_gtk_type_check_object_cast(x64emu_t* emu, void* obj, int type)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    if(my->gtk1 && type==my->gtk_bin_get_type())
+    {
+        // check if obj is a button...
+        if(my->g_type_check_instance_cast(obj, my->gtk_button_get_type()))
+        {
+            // make some bad casting of button from gtkv2 to button from gtkv1, the "bin" sized changed, and is shorter now!
+            // shogo launcher acces label from button directly from the cast (+0x3c)
+            static dummy_gtk1_button_t dummy = {0};
+            dummy.type = my->gtk_button_get_type();
+            void **p = my->g_type_check_instance_cast(obj, my->gtk_bin_get_type());
+            // style is 0x06
+            dummy.label = p[0x11];
+            return &dummy;
+        }
+    }
+
+    return my->g_type_check_instance_cast(obj, gtk1Type(my, type));
+}
+
+EXPORT void my_gtk_builder_connect_signals_full(x64emu_t* emu, void* builder, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_builder_connect_signals_full(builder, findBuilderConnectFct(f), data);
+}
+
+typedef struct my_GSList_s {
+  void*               data;
+  struct my_GSList_s *next;
+} my_GSList_t;
+
+static int regs_abi[] = {_DI, _SI, _DX, _CX, _R8, _R9};
+#define NEXT5(A, N) (N+5<6)?((void*)emu->regs[regs_abi[5+N]].q[0]):A[5+N-6]
+EXPORT void my_gtk_binding_entry_add_signal(x64emu_t* emu, void* binding, uint32_t keyval, int mod, void* name, uint32_t n, void** st)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+    if(!n) {
+        my->gtk_binding_entry_add_signal(binding, keyval, mod, name, 0);
+        return;
+    }
+    // build the list
+    my_GSList_t *list = calloc(n, sizeof(my_GSList_t));
+    for(uint32_t i=0; i<n; ++i) {
+        list[i].data = NEXT5(st, i);
+        list[i].next = (i==(n-1))?NULL:&list[i+1];
+    }
+
+    my->gtk_binding_entry_add_signall(binding, keyval, mod, name, list);
+
+    free(list);
+}
+
+EXPORT void my_gtk_container_foreach(x64emu_t* emu, void* container, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_container_foreach(container, findGtkCallbackFct(f), data);
+}
+
+EXPORT void my_gtk_cell_layout_set_cell_data_func(x64emu_t* emu, void* layout, void* cell, void* f, void* data, void* notify)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_cell_layout_set_cell_data_func(layout, cell, findGtkCellLayoutDataFuncFct(f), data, findGDestroyNotifyFct(notify));
+}
+
+typedef struct my_ConnectArgs_s
+{
+    gtkx112_my_t *my;
+    x64emu_t* emu;
+    void* module;
+    void* data;
+} my_ConnectArgs_t;
+// defined in wrappedgobject2.c
+uintptr_t my_g_signal_connect_data(x64emu_t* emu, void* instance, void* detailed, void* c_handler, void* data, void* closure, uint32_t flags);
+
+static void my_gtk_builder_connect_signals_custom(void* builder,
+                                                  void* object,
+                                                  char* signal_name,
+                                                  char* handler_name,
+                                                  void* connect_object,
+                                                  int   flags,
+                                                  my_ConnectArgs_t* args)
+{
+    /* Only error out for missing GModule support if we've not
+    * found the symbols explicitly added with gtk_builder_add_callback_symbol()
+    */
+    void* func = NULL;
+    printf_log(LOG_DEBUG, "signal \"%s\" from \"%s\" connection, connect_object=%p\n", signal_name, handler_name, connect_object);
+
+    uintptr_t offs = 0;
+    uintptr_t end = 0;
+    GetGlobalSymbolStartEnd(my_context->maplib, handler_name, &offs, &end, NULL, -1, NULL);
+    if(!offs) {
+        if (args->module == NULL)
+            args->my->g_log("Gtk", 1<<2 ,"gtk_builder_connect_signals() requires working GModule");
+        if (!args->my->g_module_symbol(args->module, handler_name, (void*)&func))
+        {
+            args->my->g_log("Gtk", 1<<4, "Could not find signal handler '%s'.  Did you compile with -rdynamic?", handler_name);
+            return;
+        }
+        if (connect_object)
+            args->my->g_signal_connect_object(object, signal_name, func, connect_object, flags);
+        else
+            args->my->g_signal_connect_data(object, signal_name, func, args->data, NULL, flags);
+    } else {
+        if(connect_object) {
+            printf_log(LOG_NONE, "Error: connect custom signal to object unsupported\n");
+        } else
+            my_g_signal_connect_data(args->emu, object, signal_name, (void*)offs, args->data, NULL, flags);
+    }
+}
+
+EXPORT void my_gtk_builder_connect_signals(x64emu_t* emu, void* builder, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my_ConnectArgs_t args;
+
+    args.my = my;
+    args.emu = emu;
+    args.data = data;
+    if (my->g_module_supported())
+        args.module = my->g_module_open(NULL, 1);
+    my->gtk_builder_connect_signals_full(builder, my_gtk_builder_connect_signals_custom, &args);
+    if (args.module)
+        my->g_module_close(args.module);
+}
+
+typedef struct my_GtkActionEntry_s {
+  const char* name;
+  const char* stock_id;
+  const char* label;
+  const char* accelerator;
+  const char* tooltip;
+  void*       callback;
+} my_GtkActionEntry_t;
+
+EXPORT void my_gtk_action_group_add_actions(x64emu_t* emu, void* action_group, my_GtkActionEntry_t* entries, uint32_t n, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my_GtkActionEntry_t myentries[n];
+    memcpy(myentries, entries, n*sizeof(my_GtkActionEntry_t));
+    for(uint32_t i=0; i<n; ++i)
+        myentries[i].callback = findGtkCallbackFct(entries[i].callback);
+    my->gtk_action_group_add_actions(action_group, myentries, n, data);
+}
+
+EXPORT void my_gtk_action_group_add_actions_full(x64emu_t* emu, void* action_group, my_GtkActionEntry_t* entries, uint32_t n, void* data, void* destroy)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my_GtkActionEntry_t myentries[n];
+    memcpy(myentries, entries, n*sizeof(my_GtkActionEntry_t));
+    for(uint32_t i=0; i<n; ++i)
+        myentries[i].callback = findGtkCallbackFct(entries[i].callback);
+    my->gtk_action_group_add_actions_full(action_group, myentries, n, data, findGDestroyNotifyFct(destroy));
+}
+
+EXPORT void my_gtk_tree_model_foreach(x64emu_t* emu, void* model, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_tree_model_foreach(model, findGtkTreeModelForeachFuncFct(f), data);
+}
+
+EXPORT void my_gtk_clipboard_request_contents(x64emu_t* emu, void* clipboard, void* target, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_clipboard_request_contents(clipboard, target, findGtkClipboardReceivedFuncFct(f), data);
+}
+
+
+EXPORT void my_gtk_clipboard_request_text(x64emu_t* emu, void* clipboard, void* f, void* data)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    my->gtk_clipboard_request_text(clipboard, findGtkClipboardTextReceivedFuncFct(f), data);
+}
+
+EXPORT uint32_t my_gtk_input_add_full(x64emu_t* emu, int source, int condition, void* func, void* marshal, void* data, void* destroy)
+{
+    library_t * lib = GetLibInternal(libname);
+    gtkx112_my_t *my = (gtkx112_my_t*)lib->priv.w.p2;
+
+    return my->gtk_input_add_full(source, condition, findGdkInputFunctionFct(func), findGtkCallbackMarshalFct(marshal), data, findGDestroyNotifyFct(destroy));
+}
+
+#define PRE_INIT    \
+    if(box64_nogtk) \
+        return -1;
+
+#define CUSTOM_INIT \
+    libname = lib->name;                \
+    lib->priv.w.p2 = getGtkx112My(lib); \
+    SetGtkObjectID(((gtkx112_my_t*)lib->priv.w.p2)->gtk_object_get_type());     \
+    SetGtkWidgetID(((gtkx112_my_t*)lib->priv.w.p2)->gtk_widget_get_type());     \
+    SetGtkContainerID(((gtkx112_my_t*)lib->priv.w.p2)->gtk_container_get_type());\
+    SetGtkActionID(((gtkx112_my_t*)lib->priv.w.p2)->gtk_action_get_type());     \
+    SetGtkMiscID(((gtkx112_my_t*)lib->priv.w.p2)->gtk_misc_get_type());         \
+    SetGtkLabelID(((gtkx112_my_t*)lib->priv.w.p2)->gtk_label_get_type());       \
+    SetGtkTreeViewID(((gtkx112_my_t*)lib->priv.w.p2)->gtk_tree_view_get_type());\
+    SetGtkBinID(((gtkx112_my_t*)lib->priv.w.p2)->gtk_bin_get_type());           \
+    SetGtkWindowID(((gtkx112_my_t*)lib->priv.w.p2)->gtk_window_get_type());     \
+    SetGtkTableID(((gtkx112_my_t*)lib->priv.w.p2)->gtk_table_get_type());     \
+    lib->priv.w.needed = 2;                                                     \
+    lib->priv.w.neededlibs = (char**)calloc(lib->priv.w.needed, sizeof(char*)); \
+    lib->priv.w.neededlibs[0] = strdup("libgdk-x11-2.0.so.0");                  \
+    lib->priv.w.neededlibs[1] = strdup("libpangocairo-1.0.so.0");
+
+#define CUSTOM_FINI \
+    freeGtkx112My(lib->priv.w.p2); \
+    free(lib->priv.w.p2);
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedgtkx112_private.h b/src/wrapped/wrappedgtkx112_private.h
new file mode 100755
index 00000000..74ef3a54
--- /dev/null
+++ b/src/wrapped/wrappedgtkx112_private.h
@@ -0,0 +1,3936 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(gtk_about_dialog_get_artists, 
+//GO(gtk_about_dialog_get_authors, 
+//GO(gtk_about_dialog_get_comments, 
+//GO(gtk_about_dialog_get_copyright, 
+//GO(gtk_about_dialog_get_documenters, 
+//GO(gtk_about_dialog_get_license, 
+//GO(gtk_about_dialog_get_logo, 
+//GO(gtk_about_dialog_get_logo_icon_name, 
+//GO(gtk_about_dialog_get_name, 
+//GO(gtk_about_dialog_get_program_name, 
+//GO(gtk_about_dialog_get_translator_credits, 
+GO(gtk_about_dialog_get_type, iFv)
+//GO(gtk_about_dialog_get_version, 
+//GO(gtk_about_dialog_get_website, 
+//GO(gtk_about_dialog_get_website_label, 
+//GO(gtk_about_dialog_get_wrap_license, 
+//GO(gtk_about_dialog_new, 
+//GO(gtk_about_dialog_set_artists, 
+//GO(gtk_about_dialog_set_authors, 
+//GO(gtk_about_dialog_set_comments, 
+//GO(gtk_about_dialog_set_copyright, 
+//GO(gtk_about_dialog_set_documenters, 
+//GO(gtk_about_dialog_set_email_hook, 
+//GO(gtk_about_dialog_set_license, 
+//GO(gtk_about_dialog_set_logo, 
+//GO(gtk_about_dialog_set_logo_icon_name, 
+//GO(gtk_about_dialog_set_name, 
+//GO(gtk_about_dialog_set_program_name, 
+//GO(gtk_about_dialog_set_translator_credits, 
+//GO(gtk_about_dialog_set_url_hook, 
+//GO(gtk_about_dialog_set_version, 
+//GO(gtk_about_dialog_set_website, 
+//GO(gtk_about_dialog_set_website_label, 
+//GO(gtk_about_dialog_set_wrap_license, 
+GO(gtk_accelerator_get_default_mod_mask, uFv)
+GO(gtk_accelerator_get_label, pFui)
+GO(gtk_accelerator_name, pFui)
+GO(gtk_accelerator_parse, vFppp)
+GO(gtk_accelerator_set_default_mod_mask, vFu)
+GO(gtk_accelerator_valid, iFui)
+GO(gtk_accel_flags_get_type, iFv)
+GO(gtk_accel_group_activate, iFpppui)
+GO(gtk_accel_group_connect, vFpuiip)  // Closure probably needs wrapping when not null
+GO(gtk_accel_group_connect_by_path, vFppp)
+GO(gtk_accel_group_disconnect, iFpp)
+GO(gtk_accel_group_disconnect_key, iFpui)
+//GOM(gtk_accel_group_find, pFEppp)
+GO(gtk_accel_group_from_accel_closure, pFp)
+GO(gtk_accel_group_get_is_locked, iFp)
+GO(gtk_accel_group_get_modifier_mask, iFp)
+GO(gtk_accel_group_get_type, iFv)
+GO(gtk_accel_group_lock, vFp)
+GO(gtk_accel_group_new, pFv)
+GO(gtk_accel_group_query, pFpuip)
+GO(gtk_accel_groups_activate, iFpui)
+GO(gtk_accel_groups_from_object, pFp)
+GO(gtk_accel_group_unlock, vFp)
+//GO(gtk_accel_label_get_accel_widget, 
+//GO(gtk_accel_label_get_accel_width, 
+GO(gtk_accel_label_get_type, iFv)
+//GO(gtk_accel_label_new, 
+//GO(gtk_accel_label_refetch, 
+//GO(gtk_accel_label_set_accel_closure, 
+//GO(gtk_accel_label_set_accel_widget, 
+//GO(gtk_accel_map_add_entry, 
+//GO(gtk_accel_map_add_filter, 
+//GO(gtk_accel_map_change_entry, 
+//GO(gtk_accel_map_foreach, 
+//GO(gtk_accel_map_foreach_unfiltered, 
+//GO(gtk_accel_map_get, 
+GO(gtk_accel_map_get_type, iFv)
+//GO(gtk_accel_map_load, 
+//GO(gtk_accel_map_load_fd, 
+//GO(gtk_accel_map_load_scanner, 
+//GO(gtk_accel_map_lock_path, 
+//GO(gtk_accel_map_lookup_entry, 
+//GO(gtk_accel_map_save, 
+//GO(gtk_accel_map_save_fd, 
+//GO(gtk_accel_map_unlock_path, 
+//GO(gtk_accessible_connect_widget_destroyed, 
+GO(gtk_accessible_get_type, iFv)
+//GO(gtk_accessible_get_widget, 
+//GO(gtk_accessible_set_widget, 
+GO(gtk_action_activate, vFp)
+GO(gtk_action_block_activate, vFp)
+GO(gtk_action_block_activate_from, vFpp)
+GO(gtk_action_connect_accelerator, vFp)
+GO(gtk_action_connect_proxy, vFpp)
+GO(gtk_action_create_icon, pFpi)
+GO(gtk_action_create_menu, pFp)
+GO(gtk_action_create_menu_item, pFp)
+GO(gtk_action_create_tool_item, pFp)
+GO(gtk_action_disconnect_accelerator, vFp)
+GO(gtk_action_disconnect_proxy, vFpp)
+GO(gtk_action_get_accel_closure, pFp)
+GO(gtk_action_get_accel_path, pFp)
+GO(gtk_action_get_always_show_image, iFp)
+GO(gtk_action_get_gicon, pFp)
+GO(gtk_action_get_icon_name, pFp)
+GO(gtk_action_get_is_important, iFp)
+GO(gtk_action_get_label, pFp)
+GO(gtk_action_get_name, pFp)
+GO(gtk_action_get_proxies, pFp)
+GO(gtk_action_get_sensitive, iFp)
+GO(gtk_action_get_short_label, pFp)
+GO(gtk_action_get_stock_id, pFp)
+GO(gtk_action_get_tooltip, pFp)
+GO(gtk_action_get_type, iFv)
+GO(gtk_action_get_visible, iFp)
+GO(gtk_action_get_visible_horizontal, iFp)
+GO(gtk_action_get_visible_vertical, iFp)
+GO(gtk_action_group_add_action, vFpp)
+GOM(gtk_action_group_add_actions, vFEppup)
+GOM(gtk_action_group_add_actions_full, vFEppupp)
+GO(gtk_action_group_add_action_with_accel, vFppp)
+//GOM(gtk_action_group_add_radio_actions, vFppuiBp)
+//GOM(gtk_action_group_add_radio_actions_full, vFppuiBpB)
+GO(gtk_action_group_add_toggle_actions, vFppup)
+//GOM(gtk_action_group_add_toggle_actions_full, vFEppupB)
+GO(gtk_action_group_get_action, pFpp)
+GO(gtk_action_group_get_name, pFp)
+GO(gtk_action_group_get_sensitive, iFp)
+GO(gtk_action_group_get_type, iFv)
+GO(gtk_action_group_get_visible, iFp)
+GO(gtk_action_group_list_actions, pFp)
+GO(gtk_action_group_new, pFp)
+GO(gtk_action_group_remove_action, vFpp)
+GO(gtk_action_group_set_sensitive, vFpi)
+//GOM(gtk_action_group_set_translate_func, vFEpBpB)
+GO(gtk_action_group_set_translation_domain, vFpp)
+GO(gtk_action_group_set_visible, vFpi)
+GO(gtk_action_group_translate_string, pFpp)
+GO(gtk_action_is_sensitive, iFp)
+GO(gtk_action_is_visible, iFp)
+GO(gtk_action_new, pFpppp)
+GO(gtk_action_set_accel_group, vFpp)
+GO(gtk_action_set_accel_path, vFpp)
+GO(gtk_action_set_always_show_image, vFpi)
+GO(gtk_action_set_gicon, vFpp)
+GO(gtk_action_set_icon_name, vFpp)
+GO(gtk_action_set_is_important, vFpi)
+GO(gtk_action_set_label, vFpp)
+GO(gtk_action_set_sensitive, vFpi)
+GO(gtk_action_set_short_label, vFpp)
+GO(gtk_action_set_stock_id, vFpp)
+GO(gtk_action_set_tooltip, vFpp)
+GO(gtk_action_set_visible, vFpi)
+GO(gtk_action_set_visible_horizontal, vFpi)
+GO(gtk_action_set_visible_vertical, vFpi)
+GO(gtk_action_unblock_activate, vFp)
+GO(gtk_action_unblock_activate_from, vFpp)
+//GO(gtk_activatable_do_set_related_action, 
+//GO(gtk_activatable_get_related_action, 
+GO(gtk_activatable_get_type, iFv)
+//GO(gtk_activatable_get_use_action_appearance, 
+//GO(gtk_activatable_set_related_action, 
+//GO(gtk_activatable_set_use_action_appearance, 
+//GO(gtk_activatable_sync_action_properties, 
+GO(gtk_adjustment_changed, vFp)
+GO(gtk_adjustment_clamp_page, vFpdd)
+GO(gtk_adjustment_configure, vFpdddddd)
+GO(gtk_adjustment_get_lower, dFp)
+GO(gtk_adjustment_get_page_increment, dFp)
+GO(gtk_adjustment_get_page_size, dFp)
+GO(gtk_adjustment_get_step_increment, dFp)
+GO(gtk_adjustment_get_type, iFv)
+GO(gtk_adjustment_get_upper, dFp)
+GO(gtk_adjustment_get_value, dFp)
+GO(gtk_adjustment_new, pFdddddd)
+GO(gtk_adjustment_set_lower, vFpd)
+GO(gtk_adjustment_set_page_increment, vFp)
+GO(gtk_adjustment_set_page_size, vFpd)
+GO(gtk_adjustment_set_step_increment, vFpd)
+GO(gtk_adjustment_set_upper, vFpd)
+GO(gtk_adjustment_set_value, vFpd)
+GO(gtk_adjustment_value_changed, vFp)
+GO(gtk_alignment_get_padding, vFppppp)
+GO(gtk_alignment_get_type, iFv)
+GO(gtk_alignment_new, pFffff)
+GO(gtk_alignment_set, vFpffff)
+GO(gtk_alignment_set_padding, vFpuuuu)
+GO(gtk_alternative_dialog_button_order, iFp)
+GO(gtk_anchor_type_get_type, iFv)
+GO(gtk_arg_flags_get_type, iFv)
+GO(gtk_arrow_get_type, iFv)
+GO(gtk_arrow_new, pFii)
+GO(gtk_arrow_placement_get_type, iFv)
+GO(gtk_arrow_set, vFpii)
+GO(gtk_arrow_type_get_type, iFv)
+GO(gtk_aspect_frame_get_type, iFv)
+//GO(gtk_aspect_frame_new, 
+//GO(gtk_aspect_frame_set, 
+//GO(gtk_assistant_add_action_widget, 
+//GO(gtk_assistant_append_page, 
+//GO(gtk_assistant_commit, 
+//GO(gtk_assistant_get_current_page, 
+//GO(gtk_assistant_get_n_pages, 
+//GO(gtk_assistant_get_nth_page, 
+//GO(gtk_assistant_get_page_complete, 
+//GO(gtk_assistant_get_page_header_image, 
+//GO(gtk_assistant_get_page_side_image, 
+//GO(gtk_assistant_get_page_title, 
+//GO(gtk_assistant_get_page_type, 
+GO(gtk_assistant_get_type, iFv)
+//GO(gtk_assistant_insert_page, 
+//GO(gtk_assistant_new, 
+GO(gtk_assistant_page_type_get_type, iFv)
+//GO(gtk_assistant_prepend_page, 
+//GO(gtk_assistant_remove_action_widget, 
+//GO(gtk_assistant_set_current_page, 
+//GO(gtk_assistant_set_forward_page_func, 
+//GO(gtk_assistant_set_page_complete, 
+//GO(gtk_assistant_set_page_header_image, 
+//GO(gtk_assistant_set_page_side_image, 
+//GO(gtk_assistant_set_page_title, 
+//GO(gtk_assistant_set_page_type, 
+//GO(gtk_assistant_update_buttons_state, 
+GO(gtk_attach_options_get_type, iFv)
+GOM(gtk_binding_entry_add_signal, vFEpuipuV)   //vaarg
+GO(gtk_binding_entry_add_signall, vFpuipp)
+GO(gtk_binding_entry_clear, vFpui)
+GO(gtk_binding_entry_remove, vFpui)
+GO(gtk_binding_entry_skip, vFpui)
+GO(gtk_binding_parse_binding, uFp)
+GO(gtk_bindings_activate, iFpui)
+GO(gtk_bindings_activate_event, iFpp)
+GO(gtk_binding_set_activate, iFpuip)
+GO(gtk_binding_set_add_path, vFpipi)
+GO(gtk_binding_set_by_class, pFp)
+GO(gtk_binding_set_find, pFp)
+GO(gtk_binding_set_new, pFp)
+GO(gtk_bin_get_child, pFp)
+GO(gtk_bin_get_type, iFv)
+GO(gtk_border_copy, pFp)
+GO(gtk_border_free, vFp)
+GO(gtk_border_get_type, iFv)
+GO(gtk_border_new, pFv)
+GO(gtk_box_get_homogeneous, iFp)
+GO(gtk_box_get_spacing, iFp)
+GO(gtk_box_get_type, iFv)
+GO(gtk_box_pack_end, vFppiiu)
+GO(gtk_box_pack_end_defaults, vFpp)
+GO(gtk_box_pack_start, vFppiiu)
+GO(gtk_box_pack_start_defaults, vFpp)
+GO(gtk_box_query_child_packing, vFpppppp)
+GO(gtk_box_reorder_child, vFppi)
+GO(gtk_box_set_child_packing, vFppiiui)
+GO(gtk_box_set_homogeneous, vFpi)
+GO(gtk_box_set_spacing, vFpi)
+GO(gtk_buildable_add_child, vFpppp)
+GO(gtk_buildable_construct_child, pFppp)
+GO(gtk_buildable_custom_finished, vFppppp)
+GO(gtk_buildable_custom_tag_end, vFppppp)
+GO(gtk_buildable_custom_tag_start, iFpppppp)
+GO(gtk_buildable_get_internal_child, pFppp)
+GO(gtk_buildable_get_name, pFp)
+GO(gtk_buildable_get_type, iFv)
+GO(gtk_buildable_parser_finished, vFpp)
+GO(gtk_buildable_set_buildable_property, vFpppp)
+GO(gtk_buildable_set_name, vFpp)
+GO(gtk_builder_add_from_file, uFppp)
+GO(gtk_builder_add_from_string, iFppLp)
+GO(gtk_builder_add_objects_from_file, uFpppp)
+GO(gtk_builder_add_objects_from_string, uFppLpp)
+GOM(gtk_builder_connect_signals, vFEpp)
+GOM(gtk_builder_connect_signals_full, vFEppp)
+GO(gtk_builder_error_get_type, iFv)
+GO(gtk_builder_error_quark, pFv)
+GO(gtk_builder_get_object, pFpp)
+GO(gtk_builder_get_objects, pFp)
+GO(gtk_builder_get_translation_domain, pFp)
+GO(gtk_builder_get_type, iFv)
+GO(gtk_builder_get_type_from_name, iFpp)
+GO(gtk_builder_new, pFv)
+GO(gtk_builder_set_translation_domain, vFpp)
+GO(gtk_builder_value_from_string, iFppppp)
+GO(gtk_builder_value_from_string_type, iFpippp)
+GO(gtk_button_action_get_type, iFv)
+GO(gtk_button_box_get_child_ipadding, vFppp)
+GO(gtk_button_box_get_child_secondary, iFpp)
+GO(gtk_button_box_get_child_size, vFppp)
+GO(gtk_button_box_get_layout, iFp)
+GO(gtk_button_box_get_type, iFv)
+GO(gtk_button_box_set_child_ipadding, vFpii)
+GO(gtk_button_box_set_child_secondary, vFppi)
+GO(gtk_button_box_set_child_size, vFpii)
+GO(gtk_button_box_set_layout, vFpi)
+GO(gtk_button_box_style_get_type, iFv)
+//GO(gtk_button_clicked, 
+//GO(gtk_button_enter, 
+GO(gtk_button_get_alignment, vFppp)
+GO(gtk_button_get_event_window, pFp)
+GO(gtk_button_get_focus_on_click, iFp)
+GO(gtk_button_get_image, pFp)
+GO(gtk_button_get_image_position, iFp)
+GO(gtk_button_get_label, pFp)
+GO(gtk_button_get_relief, iFp)
+GO(gtk_button_get_type, iFv)
+GO(gtk_button_get_use_stock, iFp)
+GO(gtk_button_get_use_underline, iFp)
+GO(gtk_button_leave, vFp)
+GO(gtk_button_new, pFv)
+GO(gtk_button_new_from_stock, pFp)
+GO(gtk_button_new_with_label, pFp)
+GO(gtk_button_new_with_mnemonic, pFp)
+GO(gtk_button_pressed, vFp)
+GO(gtk_button_released, vFp)
+GO(gtk_button_set_alignment, vFpff)
+GO(gtk_button_set_focus_on_click, vFpi)
+GO(gtk_button_set_image, vFpp)
+GO(gtk_button_set_image_position, vFpi)
+GO(gtk_button_set_label, vFpp)
+GO(gtk_button_set_relief, vFpi)
+GO(gtk_button_set_use_stock, vFpi)
+GO(gtk_button_set_use_underline, vFpi)
+GO(gtk_buttons_type_get_type, iFv)
+//GO(gtk_calendar_clear_marks, 
+//GO(gtk_calendar_display_options, 
+GO(gtk_calendar_display_options_get_type, iFv)
+//GO(gtk_calendar_freeze, 
+//GO(gtk_calendar_get_date, 
+//GO(gtk_calendar_get_detail_height_rows, 
+//GO(gtk_calendar_get_detail_width_chars, 
+//GO(gtk_calendar_get_display_options, 
+GO(gtk_calendar_get_type, iFv)
+//GO(gtk_calendar_mark_day, 
+//GO(gtk_calendar_new, 
+//GO(gtk_calendar_select_day, 
+//GO(gtk_calendar_select_month, 
+//GO(gtk_calendar_set_detail_func, 
+//GO(gtk_calendar_set_detail_height_rows, 
+//GO(gtk_calendar_set_detail_width_chars, 
+//GO(gtk_calendar_set_display_options, 
+//GO(gtk_calendar_thaw, 
+//GO(gtk_calendar_unmark_day, 
+//GO(gtk_cell_editable_editing_done, 
+GO(gtk_cell_editable_get_type, iFv)
+//GO(gtk_cell_editable_remove_widget, 
+//GO(gtk_cell_editable_start_editing, 
+GO(gtk_cell_layout_add_attribute, vFpppi)
+GO(gtk_cell_layout_clear, vFp)
+GO(gtk_cell_layout_clear_attributes, vFpp)
+GO(gtk_cell_layout_get_cells, pFp)
+GO(gtk_cell_layout_get_type, iFv)
+GO(gtk_cell_layout_pack_end, vFppi)
+GO(gtk_cell_layout_pack_start, vFppi)
+GO(gtk_cell_layout_reorder, vFppi)
+//GO(gtk_cell_layout_set_attributes, vFpppppppppp)  // vaarg
+GOM(gtk_cell_layout_set_cell_data_func, vFEppppp)
+GO(gtk_cell_renderer_accel_get_type, iFv)
+GO(gtk_cell_renderer_accel_mode_get_type, iFv)
+GO(gtk_cell_renderer_accel_new, pFv)
+GO(gtk_cell_renderer_activate, iFppppppi)
+GO(gtk_cell_renderer_combo_get_type, iFv)
+GO(gtk_cell_renderer_combo_new, pFv)
+GO(gtk_cell_renderer_editing_canceled, vFp)
+GO(gtk_cell_renderer_get_alignment, vFppp)
+GO(gtk_cell_renderer_get_fixed_size, vFppp)
+GO(gtk_cell_renderer_get_padding, vFppp)
+GO(gtk_cell_renderer_get_sensitive, iFp)
+GO(gtk_cell_renderer_get_size, vFppppppp)
+GO(gtk_cell_renderer_get_type, iFv)
+GO(gtk_cell_renderer_get_visible, iFp)
+GO(gtk_cell_renderer_mode_get_type, iFv)
+GO(gtk_cell_renderer_pixbuf_get_type, iFv)
+GO(gtk_cell_renderer_pixbuf_new, pFv)
+GO(gtk_cell_renderer_progress_get_type, iFv)
+GO(gtk_cell_renderer_progress_new, pFv)
+GO(gtk_cell_renderer_render, vFppppppi)
+GO(gtk_cell_renderer_set_alignment, vFpff)
+GO(gtk_cell_renderer_set_fixed_size, vFpii)
+GO(gtk_cell_renderer_set_padding, vFpii)
+GO(gtk_cell_renderer_set_sensitive, vFpi)
+GO(gtk_cell_renderer_set_visible, vFpi)
+GO(gtk_cell_renderer_spin_get_type, iFv)
+GO(gtk_cell_renderer_spinner_get_type, iFv)
+GO(gtk_cell_renderer_spinner_new, pFv)
+GO(gtk_cell_renderer_spin_new, pFv)
+GO(gtk_cell_renderer_start_editing, pFppppppi)
+GO(gtk_cell_renderer_state_get_type, iFv)
+GO(gtk_cell_renderer_stop_editing, vFpi)
+GO(gtk_cell_renderer_text_get_type, iFv)
+GO(gtk_cell_renderer_text_new, pFv)
+GO(gtk_cell_renderer_text_set_fixed_height_from_font, vFpi)
+GO(gtk_cell_renderer_toggle_get_activatable, iFp)
+GO(gtk_cell_renderer_toggle_get_active, iFp)
+GO(gtk_cell_renderer_toggle_get_radio, iFp)
+GO(gtk_cell_renderer_toggle_get_type, iFv)
+GO(gtk_cell_renderer_toggle_new, pFv)
+GO(gtk_cell_renderer_toggle_set_activatable, vFpi)
+GO(gtk_cell_renderer_toggle_set_active, vFpi)
+GO(gtk_cell_renderer_toggle_set_radio, vFpi)
+GO(gtk_cell_type_get_type, iFv)
+//GO(gtk_cell_view_get_cell_renderers, 
+//GO(gtk_cell_view_get_displayed_row, 
+//GO(gtk_cell_view_get_model, 
+//GO(gtk_cell_view_get_size_of_row, 
+GO(gtk_cell_view_get_type, iFv)
+//GO(gtk_cell_view_new, 
+//GO(gtk_cell_view_new_with_markup, 
+//GO(gtk_cell_view_new_with_pixbuf, 
+//GO(gtk_cell_view_new_with_text, 
+//GO(gtk_cell_view_set_background_color, 
+//GO(gtk_cell_view_set_displayed_row, 
+//GO(gtk_cell_view_set_model, 
+GO(gtk_check_button_get_type, iFv)
+GO(gtk_check_button_new, pFv)
+GO(gtk_check_button_new_with_label, pFp)
+GO(gtk_check_button_new_with_mnemonic, pFp)
+GO(gtk_check_menu_item_get_active, iFp)
+GO(gtk_check_menu_item_get_draw_as_radio, iFp)
+GO(gtk_check_menu_item_get_inconsistent, iFp)
+GO(gtk_check_menu_item_get_type, iFv)
+GO(gtk_check_menu_item_new, pFv)
+GO(gtk_check_menu_item_new_with_label, pFp)
+GO(gtk_check_menu_item_new_with_mnemonic, pFp)
+GO(gtk_check_menu_item_set_active, vFpi)
+GO(gtk_check_menu_item_set_draw_as_radio, vFpi)
+GO(gtk_check_menu_item_set_inconsistent, vFpi)
+GO(gtk_check_menu_item_set_show_toggle, vFpi)
+GO(gtk_check_menu_item_toggled, vFp)
+GO(gtk_check_version, pFuuu)
+GO(gtk_clipboard_clear, vFp)
+GO(gtk_clipboard_get, pFp)
+GO(gtk_clipboard_get_display, pFp)
+GO(gtk_clipboard_get_for_display, pFpp)
+GO(gtk_clipboard_get_owner, pFp)
+GO(gtk_clipboard_get_type, iFv)
+GOM(gtk_clipboard_request_contents, vFEpppp)
+//GOM(gtk_clipboard_request_image, vFEppp)
+//GOM(gtk_clipboard_request_rich_text, vFEpppp)
+//GOM(gtk_clipboard_request_targets, vFEppp)
+GOM(gtk_clipboard_request_text, vFEppp)
+//GOM(gtk_clipboard_request_uris, vFEppp)
+GO(gtk_clipboard_set_can_store, vFppp)
+GO(gtk_clipboard_set_image, vFpp)
+GO(gtk_clipboard_set_text, vFppi)
+GOM(gtk_clipboard_set_with_data, iFEppuppp)
+GOM(gtk_clipboard_set_with_owner, iFEppuppp)
+GO(gtk_clipboard_store, vFp)
+GO(gtk_clipboard_wait_for_contents, pFpp)
+GO(gtk_clipboard_wait_for_image, pFp)
+GO(gtk_clipboard_wait_for_rich_text, pFpppp)
+GO(gtk_clipboard_wait_for_targets, iFppp)
+GO(gtk_clipboard_wait_for_text, pFp)
+GO(gtk_clipboard_wait_for_uris, pFp)
+GO(gtk_clipboard_wait_is_image_available, iFp)
+GO(gtk_clipboard_wait_is_rich_text_available, iFpp)
+GO(gtk_clipboard_wait_is_target_available, iFpp)
+GO(gtk_clipboard_wait_is_text_available, iFp)
+GO(gtk_clipboard_wait_is_uris_available, iFp)
+GO(gtk_clist_append, iFpp)
+GO(gtk_clist_clear, vFp)
+GO(gtk_clist_columns_autosize, iFp)
+GO(gtk_clist_column_title_active, vFpi)
+GO(gtk_clist_column_title_passive, vFpi)
+GO(gtk_clist_column_titles_active, vFp)
+GO(gtk_clist_column_titles_hide, vFp)
+GO(gtk_clist_column_titles_passive, vFp)
+GO(gtk_clist_column_titles_show, vFp)
+GO(gtk_clist_drag_pos_get_type, iFv)
+GO(gtk_clist_find_row_from_data, iFpp)
+GO(gtk_clist_freeze, vFp)
+GO(gtk_clist_get_cell_style, pFpii)
+GO(gtk_clist_get_cell_type, iFpii)
+GO(gtk_clist_get_column_title, pFpi)
+GO(gtk_clist_get_column_widget, pFpi)
+GO(gtk_clist_get_hadjustment, pFp)
+GO(gtk_clist_get_pixmap, iFpiipp)
+GO(gtk_clist_get_pixtext, iFpiipppp)
+GO(gtk_clist_get_row_data, pFpi)
+GO(gtk_clist_get_row_style, pFpi)
+GO(gtk_clist_get_selectable, iFpi)
+GO(gtk_clist_get_selection_info, iFpiipp)
+GO(gtk_clist_get_text, iFpiip)
+GO(gtk_clist_get_type, iFv)
+GO(gtk_clist_get_vadjustment, pFp)
+GO(gtk_clist_insert, iFpip)
+GO(gtk_clist_moveto, vFpiiff)
+GO(gtk_clist_new, pFi)
+GO(gtk_clist_new_with_titles, pFip)
+GO(gtk_clist_optimal_column_width, iFpi)
+GO(gtk_clist_prepend, iFpp)
+GO(gtk_clist_remove, vFpi)
+GO(gtk_clist_row_is_visible, iFpi)
+GO(gtk_clist_row_move, vFpii)
+GO(gtk_clist_select_all, vFp)
+GO(gtk_clist_select_row, vFpii)
+GO(gtk_clist_set_auto_sort, vFpi)
+GO(gtk_clist_set_background, vFpip)
+GO(gtk_clist_set_button_actions, vFpiC)
+GO(gtk_clist_set_cell_style, vFpiip)
+GO(gtk_clist_set_column_auto_resize, iFpi)
+GO(gtk_clist_set_column_justification, vFpii)
+GO(gtk_clist_set_column_max_width, vFpii)
+GO(gtk_clist_set_column_min_width, vFpii)
+GO(gtk_clist_set_column_resizeable, vFpii)
+GO(gtk_clist_set_column_title, vFpip)
+GO(gtk_clist_set_column_visibility, vFpii)
+GO(gtk_clist_set_column_widget, vFpip)
+GO(gtk_clist_set_column_width, vFpii)
+//GOM(gtk_clist_set_compare_func, vFEpp)
+GO(gtk_clist_set_foreground, vFpip)
+GO(gtk_clist_set_hadjustment, vFpp)
+GO(gtk_clist_set_pixmap, vFpiipp)
+GO(gtk_clist_set_pixtext, vFpiipCpp)
+GO(gtk_clist_set_reorderable, vFpi)
+GO(gtk_clist_set_row_data, vFpip)
+//GOM(gtk_clist_set_row_data_full, vFpipp)
+GO(gtk_clist_set_row_height, vFpu)
+GO(gtk_clist_set_row_style, vFpip)
+GO(gtk_clist_set_selectable, vFpii)
+GO(gtk_clist_set_selection_mode, vFpi)
+GO(gtk_clist_set_shadow_type, vFpi)
+GO(gtk_clist_set_shift, vFpiiii)
+GO(gtk_clist_set_sort_column, vFpi)
+GO(gtk_clist_set_sort_type, vFpi)
+GO(gtk_clist_set_text, vFpiip)
+GO(gtk_clist_set_use_drag_icons, vFpi)
+GO(gtk_clist_set_vadjustment, vFpp)
+GO(gtk_clist_sort, vFp)
+GO(gtk_clist_swap_rows, vFpii)
+GO(gtk_clist_thaw, vFp)
+GO(gtk_clist_undo_selection, vFp)
+GO(gtk_clist_unselect_all, vFp)
+GO(gtk_clist_unselect_row, vFpii)
+GO(gtk_color_button_get_alpha, WFp)
+GO(gtk_color_button_get_color, vFpp)
+GO(gtk_color_button_get_title, pFp)
+GO(gtk_color_button_get_type, iFv)
+GO(gtk_color_button_get_use_alpha, iFp)
+GO(gtk_color_button_new, pFv)
+GO(gtk_color_button_new_with_color, pFp)
+GO(gtk_color_button_set_alpha, vFpW)
+GO(gtk_color_button_set_color, vFpp)
+GO(gtk_color_button_set_title, vFpp)
+GO(gtk_color_button_set_use_alpha, vFpi)
+GO(gtk_color_selection_dialog_get_color_selection, pFp)
+GO(gtk_color_selection_dialog_get_type, iFv)
+GO(gtk_color_selection_dialog_new, pFp)
+GO(gtk_color_selection_get_color, vFpp)
+GO(gtk_color_selection_get_current_alpha, WFp)
+GO(gtk_color_selection_get_current_color, vFpp)
+GO(gtk_color_selection_get_has_opacity_control, iFp)
+GO(gtk_color_selection_get_has_palette, iFp)
+GO(gtk_color_selection_get_previous_alpha, WFp)
+GO(gtk_color_selection_get_previous_color, vFpp)
+GO(gtk_color_selection_get_type, iFv)
+GO(gtk_color_selection_is_adjusting, iFp)
+GO(gtk_color_selection_new, pFv)
+GO(gtk_color_selection_palette_from_string, iFppp)
+GO(gtk_color_selection_palette_to_string, pFpi)
+//GOM(gtk_color_selection_set_change_palette_hook, pFEp)
+//GOM(gtk_color_selection_set_change_palette_with_screen_hook, pFEp)
+GO(gtk_color_selection_set_color, vFpp)
+GO(gtk_color_selection_set_current_alpha, vFpW)
+GO(gtk_color_selection_set_current_color, vFpp)
+GO(gtk_color_selection_set_has_opacity_control, vFpi)
+GO(gtk_color_selection_set_has_palette, vFpi)
+GO(gtk_color_selection_set_previous_alpha, vFpW)
+GO(gtk_color_selection_set_previous_color, vFpp)
+GO(gtk_color_selection_set_update_policy, vFpi)
+GO(gtk_combo_box_append_text, vFpp)
+GO(gtk_combo_box_entry_get_text_column, iFp)
+GO(gtk_combo_box_entry_get_type, iFv)
+GO(gtk_combo_box_entry_new, pFv)
+GO(gtk_combo_box_entry_new_text, pFv)
+GO(gtk_combo_box_entry_new_with_model, pFpi)
+GO(gtk_combo_box_entry_set_text_column, vFpi)
+GO(gtk_combo_box_get_active, iFp)
+GO(gtk_combo_box_get_active_iter, iFpp)
+GO(gtk_combo_box_get_active_text, pFp)
+GO(gtk_combo_box_get_add_tearoffs, iFp)
+GO(gtk_combo_box_get_button_sensitivity, iFp)
+GO(gtk_combo_box_get_column_span_column, iFp)
+GO(gtk_combo_box_get_entry_text_column, iFp)
+GO(gtk_combo_box_get_focus_on_click, iFp)
+GO(gtk_combo_box_get_has_entry, iFp)
+GO(gtk_combo_box_get_model, pFp)
+GO(gtk_combo_box_get_popup_accessible, pFp)
+//GOM(gtk_combo_box_get_row_separator_func, pFEp)
+GO(gtk_combo_box_get_row_span_column, iFp)
+GO(gtk_combo_box_get_title, pFp)
+GO(gtk_combo_box_get_type, iFv)
+GO(gtk_combo_box_get_wrap_width, iFp)
+GO(gtk_combo_box_insert_text, vFpip)
+GO(gtk_combo_box_new, pFv)
+GO(gtk_combo_box_new_text, pFv)
+GO(gtk_combo_box_new_with_entry, pFv)
+GO(gtk_combo_box_new_with_model, pFp)
+GO(gtk_combo_box_new_with_model_and_entry, pFp)
+GO(gtk_combo_box_popdown, vFp)
+GO(gtk_combo_box_popup, vFp)
+GO(gtk_combo_box_prepend_text, vFpp)
+GO(gtk_combo_box_remove_text, vFpi)
+GO(gtk_combo_box_set_active, vFpi)
+GO(gtk_combo_box_set_active_iter, vFpp)
+GO(gtk_combo_box_set_add_tearoffs, vFpi)
+GO(gtk_combo_box_set_button_sensitivity, vFpi)
+GO(gtk_combo_box_set_column_span_column, vFpi)
+GO(gtk_combo_box_set_entry_text_column, vFpi)
+GO(gtk_combo_box_set_focus_on_click, vFpi)
+GO(gtk_combo_box_set_model, vFpp)
+//GOM(gtk_combo_box_set_row_separator_func, vFEpppp)
+GO(gtk_combo_box_set_row_span_column, vFpi)
+GO(gtk_combo_box_set_title, vFpp)
+GO(gtk_combo_box_set_wrap_width, vFpi)
+//GO(gtk_combo_box_text_append_text, 
+//GO(gtk_combo_box_text_get_active_text, 
+GO(gtk_combo_box_text_get_type, iFv)
+//GO(gtk_combo_box_text_insert_text, 
+//GO(gtk_combo_box_text_new, 
+//GO(gtk_combo_box_text_new_with_entry, 
+//GO(gtk_combo_box_text_prepend_text, 
+//GO(gtk_combo_box_text_remove, 
+GO(gtk_combo_disable_activate, vFp)
+GO(gtk_combo_get_type, iFv)
+GO(gtk_combo_new, pFv)
+GO(gtk_combo_set_case_sensitive, vFpi)
+GO(gtk_combo_set_item_string, vFppp)
+GO(gtk_combo_set_popdown_strings, vFpp)
+GO(gtk_combo_set_use_arrows, vFpi)
+GO(gtk_combo_set_use_arrows_always, vFpi)
+GO(gtk_combo_set_value_in_list, vFpii)
+GO(gtk_container_add, vFpp)
+//GO(gtk_container_add_with_properties, vFpppppppppppp)    //vaarg
+GO(gtk_container_check_resize, vFp)
+//GO2(gtk_container_child_get, vFpppV, gtk_container_child_get_valist)
+GO(gtk_container_child_get_property, vFpppp)
+//GO(gtk_container_child_get_valist, vFpppA)
+//GO2(gtk_container_child_set, vFpppV, gtk_container_child_set_valist)
+GO(gtk_container_child_set_property, vFpppp)
+//GO(gtk_container_child_set_valist, vFpppA)
+GO(gtk_container_child_type, iFp)
+GO(gtk_container_class_find_child_property, pFpp)
+GO(gtk_container_class_install_child_property, vFpup)
+GO(gtk_container_class_list_child_properties, pFpp)
+GOM(gtk_container_forall, vFEppp)
+GOM(gtk_container_foreach, vFEppp)
+//GOM(gtk_container_foreach_full, vFEppppp)
+GO(gtk_container_get_border_width, uFp)
+GO(gtk_container_get_children, pFp)
+GO(gtk_container_get_focus_chain, iFpp)
+GO(gtk_container_get_focus_child, pFp)
+GO(gtk_container_get_focus_hadjustment, pFp)
+GO(gtk_container_get_focus_vadjustment, pFp)
+GO(gtk_container_get_resize_mode, iFp)
+GO(gtk_container_get_type, iFv)
+GO(gtk_container_propagate_expose, vFppp)
+GO(gtk_container_remove, vFpp)
+GO(gtk_container_resize_children, vFp)
+GO(gtk_container_set_border_width, vFpu)
+GO(gtk_container_set_focus_chain, vFpp)
+GO(gtk_container_set_focus_child, vFpp)
+GO(gtk_container_set_focus_hadjustment, vFpp)
+GO(gtk_container_set_focus_vadjustment, vFpp)
+GO(gtk_container_set_reallocate_redraws, vFpp)
+GO(gtk_container_set_resize_mode, vFpi)
+GO(gtk_container_unset_focus_chain, vFp)
+GO(gtk_corner_type_get_type, iFv)
+//GO(gtk_ctree_collapse, 
+//GO(gtk_ctree_collapse_recursive, 
+//GO(gtk_ctree_collapse_to_depth, 
+//GO(gtk_ctree_expand, 
+GO(gtk_ctree_expander_style_get_type, iFv)
+//GO(gtk_ctree_expand_recursive, 
+//GO(gtk_ctree_expand_to_depth, 
+GO(gtk_ctree_expansion_type_get_type, iFv)
+//GO(gtk_ctree_export_to_gnode, 
+//GO(gtk_ctree_find, 
+//GO(gtk_ctree_find_all_by_row_data, 
+//GO(gtk_ctree_find_all_by_row_data_custom, 
+//GO(gtk_ctree_find_by_row_data, 
+//GO(gtk_ctree_find_by_row_data_custom, 
+//GO(gtk_ctree_find_node_ptr, 
+//GO(gtk_ctree_get_node_info, 
+GO(gtk_ctree_get_type, iFv)
+//GO(gtk_ctree_insert_gnode, 
+//GO(gtk_ctree_insert_node, 
+//GO(gtk_ctree_is_ancestor, 
+//GO(gtk_ctree_is_hot_spot, 
+//GO(gtk_ctree_is_viewable, 
+//GO(gtk_ctree_last, 
+GO(gtk_ctree_line_style_get_type, iFv)
+//GO(gtk_ctree_move, 
+//GO(gtk_ctree_new, 
+//GO(gtk_ctree_new_with_titles, 
+//GO(gtk_ctree_node_get_cell_style, 
+//GO(gtk_ctree_node_get_cell_type, 
+//GO(gtk_ctree_node_get_pixmap, 
+//GO(gtk_ctree_node_get_pixtext, 
+//GO(gtk_ctree_node_get_row_data, 
+//GO(gtk_ctree_node_get_row_style, 
+//GO(gtk_ctree_node_get_selectable, 
+//GO(gtk_ctree_node_get_text, 
+GO(gtk_ctree_node_get_type, iFv)
+//GO(gtk_ctree_node_is_visible, 
+//GO(gtk_ctree_node_moveto, 
+//GO(gtk_ctree_node_nth, 
+//GO(gtk_ctree_node_set_background, 
+//GO(gtk_ctree_node_set_cell_style, 
+//GO(gtk_ctree_node_set_foreground, 
+//GO(gtk_ctree_node_set_pixmap, 
+//GO(gtk_ctree_node_set_pixtext, 
+//GO(gtk_ctree_node_set_row_data, 
+//GO(gtk_ctree_node_set_row_data_full, 
+//GO(gtk_ctree_node_set_row_style, 
+//GO(gtk_ctree_node_set_selectable, 
+//GO(gtk_ctree_node_set_shift, 
+//GO(gtk_ctree_node_set_text, 
+GO(gtk_ctree_pos_get_type, iFv)
+//GO(gtk_ctree_post_recursive, 
+//GO(gtk_ctree_post_recursive_to_depth, 
+//GO(gtk_ctree_pre_recursive, 
+//GO(gtk_ctree_pre_recursive_to_depth, 
+//GO(gtk_ctree_real_select_recursive, 
+//GO(gtk_ctree_remove_node, 
+//GO(gtk_ctree_select, 
+//GO(gtk_ctree_select_recursive, 
+//GO(gtk_ctree_set_drag_compare_func, 
+//GO(gtk_ctree_set_expander_style, 
+//GO(gtk_ctree_set_indent, 
+//GO(gtk_ctree_set_line_style, 
+//GO(gtk_ctree_set_node_info, 
+//GO(gtk_ctree_set_show_stub, 
+//GO(gtk_ctree_set_spacing, 
+//GO(gtk_ctree_sort_node, 
+//GO(gtk_ctree_sort_recursive, 
+//GO(gtk_ctree_toggle_expansion, 
+//GO(gtk_ctree_toggle_expansion_recursive, 
+//GO(gtk_ctree_unselect, 
+//GO(gtk_ctree_unselect_recursive, 
+GO(gtk_curve_get_type, iFv)
+GO(gtk_curve_get_vector, vFpip)
+GO(gtk_curve_new, pFv)
+GO(gtk_curve_reset, vFp)
+GO(gtk_curve_set_curve_type, vFpi)
+GO(gtk_curve_set_gamma, vFpf)
+GO(gtk_curve_set_range, vFpffff)
+GO(gtk_curve_set_vector, vFpip)
+GO(gtk_curve_type_get_type, iFv)
+GO(gtk_custom_paper_unix_dialog_get_type, iFv)
+GO(gtk_debug_flag_get_type, iFv)
+GO(gtk_decorated_window_calculate_frame_size, vFp)
+GO(gtk_decorated_window_init, vFp)
+GO(gtk_decorated_window_move_resize_window, vFpiiii)
+GO(gtk_decorated_window_set_title, vFpp)
+GO(gtk_delete_type_get_type, iFv)
+GO(gtk_dest_defaults_get_type, iFv)
+GO(gtk_dialog_add_action_widget, vFppi)
+GO(gtk_dialog_add_button, pFppi)
+GOM(gtk_dialog_add_buttons, vFEppV)
+GO(gtk_dialog_flags_get_type, iFv)
+GO(gtk_dialog_get_action_area, pFp)
+GO(gtk_dialog_get_content_area, pFp)
+GO(gtk_dialog_get_has_separator, iFp)
+GO(gtk_dialog_get_response_for_widget, iFpp)
+GO(gtk_dialog_get_type, iFv)
+GO(gtk_dialog_get_widget_for_response, pFpi)
+GO(gtk_dialog_new, pFv)
+GO(gtk_dialog_new_with_buttons, pFppipppppppppppp)    //vaarg
+GO(gtk_dialog_response, vFpi)
+GO(gtk_dialog_run, iFp)
+GO(gtk_dialog_set_alternative_button_order, vFpiiiiiiiiiiiiiiiiii)  // vaarg, should wrap using gtk_dialog_set_alternative_button_order_from_array
+GO(gtk_dialog_set_alternative_button_order_from_array, vFpip)
+GO(gtk_dialog_set_default_response, vFpi)
+GO(gtk_dialog_set_has_separator, vFpi)
+GO(gtk_dialog_set_response_sensitive, vFpii)
+GO(gtk_direction_type_get_type, iFv)
+GO(gtk_disable_setlocale, vFv)
+GO(gtk_drag_begin, pFppiip)
+GO(gtk_drag_check_threshold, iFpiiii)
+GO(gtk_drag_dest_add_image_targets, vFp)
+GO(gtk_drag_dest_add_text_targets, vFp)
+GO(gtk_drag_dest_add_uri_targets, vFp)
+GO(gtk_drag_dest_find_target, pFppp)
+GO(gtk_drag_dest_get_target_list, pFp)
+GO(gtk_drag_dest_get_track_motion, iFp)
+GO(gtk_drag_dest_set, vFpipii)
+GO(gtk_drag_dest_set_proxy, vFppii)
+GO(gtk_drag_dest_set_target_list, vFpp)
+GO(gtk_drag_dest_set_track_motion, vFpi)
+GO(gtk_drag_dest_unset, vFp)
+GO(gtk_drag_finish, vFpiiu)
+GO(gtk_drag_get_data, vFpppu)
+GO(gtk_drag_get_source_widget, pFp)
+GO(gtk_drag_highlight, vFp)
+GO(gtk_drag_result_get_type, iFv)
+GO(gtk_drag_set_default_icon, vFpppii)
+GO(gtk_drag_set_icon_default, vFp)
+GO(gtk_drag_set_icon_name, vFppii)
+GO(gtk_drag_set_icon_pixbuf, vFppii)
+GO(gtk_drag_set_icon_pixmap, vFppppii)
+GO(gtk_drag_set_icon_stock, vFppii)
+GO(gtk_drag_set_icon_widget, vFppii)
+GO(gtk_drag_source_add_image_targets, vFp)
+GO(gtk_drag_source_add_text_targets, vFp)
+GO(gtk_drag_source_add_uri_targets, vFp)
+GO(gtk_drag_source_get_target_list, pFp)
+GO(gtk_drag_source_set, vFpipii)
+GO(gtk_drag_source_set_icon, vFpppp)
+GO(gtk_drag_source_set_icon_name, vFpp)
+GO(gtk_drag_source_set_icon_pixbuf, vFpp)
+GO(gtk_drag_source_set_icon_stock, vFpp)
+GO(gtk_drag_source_set_target_list, vFpp)
+GO(gtk_drag_source_unset, vFp)
+GO(gtk_drag_unhighlight, vFp)
+GO(gtk_draw_arrow, vFppiiiiiiii)
+GO(gtk_draw_box, vFppiiiiii)
+GO(gtk_draw_box_gap, vFppiiiiiiiii)
+GO(gtk_draw_check, vFppiiiiii)
+GO(gtk_draw_diamond, vFppiiiiii)
+GO(gtk_draw_expander, vFppiiii)
+GO(gtk_draw_extension, vFppiiiiiii)
+GO(gtk_draw_flat_box, vFppiiiiii)
+GO(gtk_draw_focus, vFppiiii)
+GO(gtk_draw_handle, vFppiiiiiii)
+GO(gtk_draw_hline, vFppiiii)
+GO(gtk_drawing_area_get_type, iFv)
+GO(gtk_drawing_area_new, pFv)
+GO(gtk_drawing_area_size, vFpii)
+GO(gtk_draw_insertion_cursor, vFppppiii)
+GO(gtk_draw_layout, vFppiiiip)
+GO(gtk_draw_option, vFppiiiiii)
+GO(gtk_draw_polygon, vFppiipii)
+GO(gtk_draw_resize_grip, vFppiiiiii)
+GO(gtk_draw_shadow, vFppiiiiii)
+GO(gtk_draw_shadow_gap, vFppiiiiiiiii)
+GO(gtk_draw_slider, vFppiiiiiii)
+GO(gtk_draw_string, vFppiiip)
+GO(gtk_draw_tab, vFppiiiiii)
+GO(gtk_draw_vline, vFppiiii)
+GO(gtk_editable_copy_clipboard, vFp)
+GO(gtk_editable_cut_clipboard, vFp)
+GO(gtk_editable_delete_selection, vFp)
+GO(gtk_editable_delete_text, vFpii)
+GO(gtk_editable_get_chars, pFpii)
+GO(gtk_editable_get_editable, iFp)
+GO(gtk_editable_get_position, iFp)
+GO(gtk_editable_get_selection_bounds, iFppp)
+GO(gtk_editable_get_type, iFv)
+GO(gtk_editable_insert_text, vFppip)
+GO(gtk_editable_paste_clipboard, vFp)
+GO(gtk_editable_select_region, vFpii)
+GO(gtk_editable_set_editable, vFpi)
+GO(gtk_editable_set_position, vFpi)
+GO(gtk_entry_append_text, vFpp)
+//GO(gtk_entry_buffer_delete_text, 
+//GO(gtk_entry_buffer_emit_deleted_text, 
+//GO(gtk_entry_buffer_emit_inserted_text, 
+//GO(gtk_entry_buffer_get_bytes, 
+//GO(gtk_entry_buffer_get_length, 
+//GO(gtk_entry_buffer_get_max_length, 
+//GO(gtk_entry_buffer_get_text, 
+GO(gtk_entry_buffer_get_type, iFv)
+//GO(gtk_entry_buffer_insert_text, 
+//GO(gtk_entry_buffer_new, 
+//GO(gtk_entry_buffer_set_max_length, 
+//GO(gtk_entry_buffer_set_text, 
+//GO(gtk_entry_completion_complete, 
+//GO(gtk_entry_completion_delete_action, 
+//GO(gtk_entry_completion_get_completion_prefix, 
+//GO(gtk_entry_completion_get_entry, 
+//GO(gtk_entry_completion_get_inline_completion, 
+//GO(gtk_entry_completion_get_inline_selection, 
+//GO(gtk_entry_completion_get_minimum_key_length, 
+//GO(gtk_entry_completion_get_model, 
+//GO(gtk_entry_completion_get_popup_completion, 
+//GO(gtk_entry_completion_get_popup_set_width, 
+//GO(gtk_entry_completion_get_popup_single_match, 
+//GO(gtk_entry_completion_get_text_column, 
+GO(gtk_entry_completion_get_type, iFv)
+//GO(gtk_entry_completion_insert_action_markup, 
+//GO(gtk_entry_completion_insert_action_text, 
+//GO(gtk_entry_completion_insert_prefix, 
+//GO(gtk_entry_completion_new, 
+//GO(gtk_entry_completion_set_inline_completion, 
+//GO(gtk_entry_completion_set_inline_selection, 
+//GO(gtk_entry_completion_set_match_func, 
+//GO(gtk_entry_completion_set_minimum_key_length, 
+//GO(gtk_entry_completion_set_model, 
+//GO(gtk_entry_completion_set_popup_completion, 
+//GO(gtk_entry_completion_set_popup_set_width, 
+//GO(gtk_entry_completion_set_popup_single_match, 
+//GO(gtk_entry_completion_set_text_column, 
+GO(gtk_entry_get_activates_default, iFp)
+GO(gtk_entry_get_alignment, fFp)
+//GO(gtk_entry_get_buffer, 
+//GO(gtk_entry_get_completion, 
+//GO(gtk_entry_get_current_icon_drag_source, 
+//GO(gtk_entry_get_cursor_hadjustment, 
+GO(gtk_entry_get_has_frame, iFp)
+//GO(gtk_entry_get_icon_activatable, 
+//GO(gtk_entry_get_icon_at_pos, 
+//GO(gtk_entry_get_icon_gicon, 
+//GO(gtk_entry_get_icon_name, 
+//GO(gtk_entry_get_icon_pixbuf, 
+//GO(gtk_entry_get_icon_sensitive, 
+//GO(gtk_entry_get_icon_stock, 
+//GO(gtk_entry_get_icon_storage_type, 
+//GO(gtk_entry_get_icon_tooltip_markup, 
+//GO(gtk_entry_get_icon_tooltip_text, 
+//GO(gtk_entry_get_icon_window, 
+GO(gtk_entry_get_inner_border, pFp)
+//GO(gtk_entry_get_invisible_char, 
+GO(gtk_entry_get_layout, pFp)
+GO(gtk_entry_get_layout_offsets, vFppp)
+//GO(gtk_entry_get_max_length, 
+GO(gtk_entry_get_overwrite_mode, iFp)
+//GO(gtk_entry_get_progress_fraction, 
+//GO(gtk_entry_get_progress_pulse_step, 
+GO(gtk_entry_get_text, pFp)
+GO(gtk_entry_get_text_length, WFp)
+//GO(gtk_entry_get_text_window, 
+GO(gtk_entry_get_type, iFv)
+//GO(gtk_entry_get_visibility, 
+GO(gtk_entry_get_width_chars, iFp)
+GO(gtk_entry_icon_position_get_type, iFv)
+//GO(gtk_entry_im_context_filter_keypress, 
+//GO(gtk_entry_layout_index_to_text_index, 
+GO(gtk_entry_new, pFv)
+GO(gtk_entry_new_with_buffer, pFp)
+GO(gtk_entry_new_with_max_length, pFi)
+GO(gtk_entry_prepend_text, vFpp)
+//GO(gtk_entry_progress_pulse, 
+//GO(gtk_entry_reset_im_context, 
+GO(gtk_entry_select_region, vFpii)
+GO(gtk_entry_set_activates_default, vFpi)
+GO(gtk_entry_set_alignment, vFpf)
+GO(gtk_entry_set_buffer, vFpp)
+//GO(gtk_entry_set_completion, 
+//GO(gtk_entry_set_cursor_hadjustment, 
+GO(gtk_entry_set_editable, vFpi)
+GO(gtk_entry_set_has_frame, vFpi)
+//GO(gtk_entry_set_icon_activatable, 
+//GO(gtk_entry_set_icon_drag_source, 
+//GO(gtk_entry_set_icon_from_gicon, 
+//GO(gtk_entry_set_icon_from_icon_name, 
+//GO(gtk_entry_set_icon_from_pixbuf, 
+//GO(gtk_entry_set_icon_from_stock, 
+//GO(gtk_entry_set_icon_sensitive, 
+//GO(gtk_entry_set_icon_tooltip_markup, 
+//GO(gtk_entry_set_icon_tooltip_text, 
+GO(gtk_entry_set_inner_border, vFpp)
+GO(gtk_entry_set_invisible_char, vFp)
+GO(gtk_entry_set_max_length, vFpi)
+GO(gtk_entry_set_overwrite_mode, vFpi)
+GO(gtk_entry_set_position, vFpi)
+//GO(gtk_entry_set_progress_fraction, 
+//GO(gtk_entry_set_progress_pulse_step, 
+GO(gtk_entry_set_text, vFpp)
+GO(gtk_entry_set_visibility, vFpi)
+GO(gtk_entry_set_width_chars, uFp)
+//GO(gtk_entry_text_index_to_layout_index, 
+//GO(gtk_entry_unset_invisible_char, 
+//GO(gtk_enumerate_printers, 
+GO(gtk_event_box_get_above_child, iFp)
+GO(gtk_event_box_get_type, iFv)
+GO(gtk_event_box_get_visible_window, iFp)
+GO(gtk_event_box_new, pFv)
+GO(gtk_event_box_set_above_child, vFpi)
+GO(gtk_event_box_set_visible_window, vFpi)
+GO(gtk_events_pending, iFv)
+GO(gtk_exit, vFi)
+GO(gtk_expander_get_expanded, iFp)
+GO(gtk_expander_get_label, pFp)
+GO(gtk_expander_get_label_fill, iFp)
+GO(gtk_expander_get_label_widget, pFp)
+GO(gtk_expander_get_spacing, iFp)
+GO(gtk_expander_get_type, iFv)
+GO(gtk_expander_get_use_markup, iFp)
+GO(gtk_expander_get_use_underline, iFp)
+GO(gtk_expander_new, pFp)
+GO(gtk_expander_new_with_mnemonic, pFp)
+GO(gtk_expander_set_expanded, vFpi)
+GO(gtk_expander_set_label, vFpp)
+GO(gtk_expander_set_label_fill, vFpi)
+GO(gtk_expander_set_label_widget, vFpp)
+GO(gtk_expander_set_spacing, vFpi)
+GO(gtk_expander_set_use_markup, vFpi)
+GO(gtk_expander_set_use_underline, vFpi)
+GO(gtk_expander_style_get_type, iFv)
+GO(gtk_false, iFv)
+GO(gtk_file_chooser_action_get_type, iFv)
+GO(gtk_file_chooser_add_filter, vFpp)
+GO(gtk_file_chooser_add_shortcut_folder, iFppp)
+GO(gtk_file_chooser_add_shortcut_folder_uri, iFppp)
+GO(gtk_file_chooser_button_get_focus_on_click, iFp)
+GO(gtk_file_chooser_button_get_title, pFp)
+GO(gtk_file_chooser_button_get_type, iFv)
+GO(gtk_file_chooser_button_get_width_chars, iFp)
+GO(gtk_file_chooser_button_new, pFpi)
+GO(gtk_file_chooser_button_new_with_backend, pFpip)
+GO(gtk_file_chooser_button_new_with_dialog, pFp)
+GO(gtk_file_chooser_button_set_focus_on_click, vFpi)
+GO(gtk_file_chooser_button_set_title, vFpp)
+GO(gtk_file_chooser_button_set_width_chars, vFpi)
+GO(gtk_file_chooser_confirmation_get_type, iFv)
+GO(gtk_file_chooser_dialog_get_type, iFv)
+GO(gtk_file_chooser_dialog_new, pFppipipipipipipip)  // vaargs (so pFppipV) with additionnal buttons, end with a NULL
+GO(gtk_file_chooser_dialog_new_with_backend, pFppippipipipipipip)   // same but pFppippV
+GO(gtk_file_chooser_error_get_type, iFv)
+GO(gtk_file_chooser_error_quark, pFv)
+GO(gtk_file_chooser_get_action, iFp)
+GO(gtk_file_chooser_get_create_folders, iFp)
+GO(gtk_file_chooser_get_current_folder, pFp)
+GO(gtk_file_chooser_get_current_folder_file, pFp)
+GO(gtk_file_chooser_get_current_folder_uri, pFp)
+GO(gtk_file_chooser_get_do_overwrite_confirmation, iFp)
+GO(gtk_file_chooser_get_extra_widget, pFp)
+GO(gtk_file_chooser_get_file, pFp)
+GO(gtk_file_chooser_get_filename, pFp)
+GO(gtk_file_chooser_get_filenames, pFp)
+GO(gtk_file_chooser_get_files, pFp)
+GO(gtk_file_chooser_get_filter, pFp)
+GO(gtk_file_chooser_get_local_only, iFp)
+GO(gtk_file_chooser_get_preview_file, pFp)
+GO(gtk_file_chooser_get_preview_filename, pFp)
+GO(gtk_file_chooser_get_preview_uri, pFp)
+GO(gtk_file_chooser_get_preview_widget, pFp)
+GO(gtk_file_chooser_get_preview_widget_active, iFp)
+GO(gtk_file_chooser_get_select_multiple, iFp)
+GO(gtk_file_chooser_get_show_hidden, iFp)
+GO(gtk_file_chooser_get_type, iFv)
+GO(gtk_file_chooser_get_uri, pFp)
+GO(gtk_file_chooser_get_uris, pFp)
+GO(gtk_file_chooser_get_use_preview_label, iFp)
+GO(gtk_file_chooser_list_filters, pFp)
+GO(gtk_file_chooser_list_shortcut_folders, pFp)
+GO(gtk_file_chooser_list_shortcut_folder_uris, pFp)
+GO(gtk_file_chooser_remove_filter, vFpp)
+GO(gtk_file_chooser_remove_shortcut_folder, iFppp)
+GO(gtk_file_chooser_remove_shortcut_folder_uri, iFppp)
+GO(gtk_file_chooser_select_all, vFp)
+GO(gtk_file_chooser_select_file, iFppp)
+GO(gtk_file_chooser_select_filename, iFpp)
+GO(gtk_file_chooser_select_uri, iFpp)
+GO(gtk_file_chooser_set_action, vFpi)
+GO(gtk_file_chooser_set_create_folders, vFpi)
+GO(gtk_file_chooser_set_current_folder, iFpp)
+GO(gtk_file_chooser_set_current_folder_file, iFppp)
+GO(gtk_file_chooser_set_current_folder_uri, iFpp)
+GO(gtk_file_chooser_set_current_name, vFpp)
+GO(gtk_file_chooser_set_do_overwrite_confirmation, vFpi)
+GO(gtk_file_chooser_set_extra_widget, vFpp)
+GO(gtk_file_chooser_set_file, iFppp)
+GO(gtk_file_chooser_set_filename, iFpp)
+GO(gtk_file_chooser_set_filter, vFpp)
+GO(gtk_file_chooser_set_local_only, vFpi)
+GO(gtk_file_chooser_set_preview_widget, vFpp)
+GO(gtk_file_chooser_set_preview_widget_active, vFpi)
+GO(gtk_file_chooser_set_select_multiple, vFpi)
+GO(gtk_file_chooser_set_show_hidden, vFpi)
+GO(gtk_file_chooser_set_uri, vFpp)
+GO(gtk_file_chooser_set_use_preview_label, vFpi)
+GO(gtk_file_chooser_unselect_all, vFp)
+GO(gtk_file_chooser_unselect_file, vFpp)
+GO(gtk_file_chooser_unselect_filename, vFpp)
+GO(gtk_file_chooser_unselect_uri, vFpp)
+GO(gtk_file_chooser_widget_get_type, iFv)
+GO(gtk_file_chooser_widget_new, pFi)
+GO(gtk_file_chooser_widget_new_with_backend, pFip)
+//GOM(gtk_file_filter_add_custom, vFEppppp)
+//GO(gtk_file_filter_add_mime_type, vFpp)
+GO(gtk_file_filter_add_pattern, vFpp)
+GO(gtk_file_filter_add_pixbuf_formats, vFp)
+GO(gtk_file_filter_filter, iFpp)
+GO(gtk_file_filter_flags_get_type, iFv)
+GO(gtk_file_filter_get_name, pFp)
+GO(gtk_file_filter_get_needed, iFp)
+GO(gtk_file_filter_get_type, iFv)
+GO(gtk_file_filter_new, pFv)
+GO(gtk_file_filter_set_name, vFpp)
+GO(gtk_file_selection_complete, vFpp)
+GO(gtk_file_selection_get_filename, pFp)
+GO(gtk_file_selection_get_selections, pFp)
+GO(gtk_file_selection_get_select_multiple, iFp)
+GO(gtk_file_selection_get_type, iFv)
+GO(gtk_file_selection_hide_fileop_buttons, vFp)
+GO(gtk_file_selection_new, pFp)
+GO(gtk_file_selection_set_filename, vFpp)
+GO(gtk_file_selection_set_select_multiple, vFpi)
+GO(gtk_file_selection_show_fileop_buttons, vFp)
+GO(gtk_fixed_get_has_window, iFp)
+GO(gtk_fixed_get_type, iFv)
+GO(gtk_fixed_move, vFppii)
+GO(gtk_fixed_new, pFv)
+GO(gtk_fixed_put, vFppii)
+GO(gtk_fixed_set_has_window, vFpi)
+GO(gtk_font_button_get_font_name, pFp)
+GO(gtk_font_button_get_show_size, iFp)
+GO(gtk_font_button_get_show_style, iFp)
+GO(gtk_font_button_get_title, pFp)
+GO(gtk_font_button_get_type, iFv)
+GO(gtk_font_button_get_use_font, iFp)
+GO(gtk_font_button_get_use_size, iFp)
+GO(gtk_font_button_new, pFv)
+GO(gtk_font_button_new_with_font, pFp)
+GO(gtk_font_button_set_font_name, iFpp)
+GO(gtk_font_button_set_show_size, vFpi)
+GO(gtk_font_button_set_show_style, vFpi)
+GO(gtk_font_button_set_title, vFpp)
+GO(gtk_font_button_set_use_font, vFpi)
+GO(gtk_font_button_set_use_size, vFpi)
+GO(gtk_font_selection_dialog_get_apply_button, pFp)
+GO(gtk_font_selection_dialog_get_cancel_button, pFp)
+GO(gtk_font_selection_dialog_get_font, pFp)
+GO(gtk_font_selection_dialog_get_font_name, pFp)
+GO(gtk_font_selection_dialog_get_font_selection, pFp)
+GO(gtk_font_selection_dialog_get_ok_button, pFp)
+GO(gtk_font_selection_dialog_get_preview_text, pFp)
+GO(gtk_font_selection_dialog_get_type, iFv)
+GO(gtk_font_selection_dialog_new, pFp)
+GO(gtk_font_selection_dialog_set_font_name, vFpp)
+GO(gtk_font_selection_dialog_set_preview_text, vFpp)
+GO(gtk_font_selection_get_face, pFp)
+GO(gtk_font_selection_get_face_list, pFp)
+GO(gtk_font_selection_get_family, pFp)
+GO(gtk_font_selection_get_family_list, pFp)
+GO(gtk_font_selection_get_font, pFp)
+GO(gtk_font_selection_get_font_name, pFp)
+GO(gtk_font_selection_get_preview_entry, pFp)
+GO(gtk_font_selection_get_preview_text, pFp)
+GO(gtk_font_selection_get_size, iFp)
+GO(gtk_font_selection_get_size_entry, pFp)
+GO(gtk_font_selection_get_size_list, pFp)
+GO(gtk_font_selection_get_type, iFv)
+GO(gtk_font_selection_new, pFv)
+GO(gtk_font_selection_set_font_name, iFpp)
+GO(gtk_font_selection_set_preview_text, vFpp)
+GO(gtk_frame_get_label, pFp)
+GO(gtk_frame_get_label_align, vFppp)
+GO(gtk_frame_get_label_widget, pFp)
+GO(gtk_frame_get_shadow_type, iFp)
+GO(gtk_frame_get_type, iFv)
+GO(gtk_frame_new, pFp)
+GO(gtk_frame_set_label, vFpp)
+GO(gtk_frame_set_label_align, vFpff)
+GO(gtk_frame_set_label_widget, vFpp)
+GO(gtk_frame_set_shadow_type, vFpi)
+GO(gtk_gamma_curve_get_type, iFv)
+GO(gtk_gamma_curve_new, pFv)
+GO(gtk_gc_get, pFippu)
+GO(gtk_gc_release, vFp)
+GO(gtk_get_current_event, pFv)
+GO(gtk_get_current_event_state, iFp)
+GO(gtk_get_current_event_time, uFv)
+GO(gtk_get_default_language, pFv)
+GO(gtk_get_event_widget, pFp)
+GO(gtk_get_option_group, pFi)
+GO(gtk_grab_add, vFp)
+GO(gtk_grab_get_current, pFv)
+GO(gtk_grab_remove, vFp)
+GO(gtk_handle_box_get_child_detached, iFp)
+GO(gtk_handle_box_get_handle_position, iFp)
+GO(gtk_handle_box_get_shadow_type, iFp)
+GO(gtk_handle_box_get_snap_edge, iFp)
+GO(gtk_handle_box_get_type, iFv)
+GO(gtk_handle_box_new, pFv)
+GO(gtk_handle_box_set_handle_position, vFpi)
+GO(gtk_handle_box_set_shadow_type, vFpi)
+GO(gtk_handle_box_set_snap_edge, vFpi)
+GO(gtk_hbox_get_type, iFv)
+GO(gtk_hbox_new, pFii)
+GO(gtk_hbutton_box_get_layout_default, iFv)
+GO(gtk_hbutton_box_get_spacing_default, iFv)
+GO(gtk_hbutton_box_get_type, iFv)
+GO(gtk_hbutton_box_new, pFv)
+GO(gtk_hbutton_box_set_layout_default, vFi)
+GO(gtk_hbutton_box_set_spacing_default, vFi)
+GO(gtk_hpaned_get_type, iFv)
+//GO(gtk_hpaned_new, 
+GO(gtk_hruler_get_type, iFv)
+//GO(gtk_hruler_new, 
+GO(gtk_hscale_get_type, iFv)
+GO(gtk_hscale_new, pFp)
+GO(gtk_hscale_new_with_range, pFddd)
+GO(gtk_hscrollbar_get_type, iFv)
+GO(gtk_hscrollbar_new, pFp)
+GO(gtk_hseparator_get_type, iFv)
+GO(gtk_hseparator_new, pFv)
+//GO(gtk_hsv_get_color, 
+//GO(gtk_hsv_get_metrics, 
+GO(gtk_hsv_get_type, iFv)
+//GO(gtk_hsv_is_adjusting, 
+//GO(gtk_hsv_new, 
+//GO(gtk_hsv_set_color, 
+//GO(gtk_hsv_set_metrics, 
+//GO(gtk_hsv_to_rgb, 
+GO(gtk_icon_factory_add, vFppp)
+GO(gtk_icon_factory_add_default, vFp)
+GO(gtk_icon_factory_get_type, iFv)
+GO(gtk_icon_factory_lookup, pFpp)
+GO(gtk_icon_factory_lookup_default, pFp)
+GO(gtk_icon_factory_new, pFv)
+GO(gtk_icon_factory_remove_default, vFp)
+GO(gtk_icon_info_copy, pFp)
+GO(gtk_icon_info_free, vFp)
+GO(gtk_icon_info_get_attach_points, iFppp)
+GO(gtk_icon_info_get_base_size, iFp)
+GO(gtk_icon_info_get_builtin_pixbuf, pFp)
+GO(gtk_icon_info_get_display_name, pFp)
+GO(gtk_icon_info_get_embedded_rect, iFpp)
+GO(gtk_icon_info_get_filename, pFp)
+GO(gtk_icon_info_get_type, iFv)
+GO(gtk_icon_info_load_icon, pFpp)
+GO(gtk_icon_info_new_for_pixbuf, pFpp)
+GO(gtk_icon_info_set_raw_coordinates, vFpp)
+GO(gtk_icon_lookup_flags_get_type, iFv)
+GO(gtk_icon_set_add_source, vFpp)
+GO(gtk_icon_set_copy, pFp)
+GO(gtk_icon_set_get_sizes, vFppp)
+GO(gtk_icon_set_get_type, iFv)
+GO(gtk_icon_set_new, pFv)
+GO(gtk_icon_set_new_from_pixbuf, pFp)
+GO(gtk_icon_set_ref, pFp)
+GO(gtk_icon_set_render_icon, pFppipipp)
+GO(gtk_icon_set_unref, vFp)
+GO(gtk_icon_size_from_name, iFp)
+GO(gtk_icon_size_get_name, pFi)
+GO(gtk_icon_size_get_type, iFv)
+GO(gtk_icon_size_lookup, iFipp)
+GO(gtk_icon_size_lookup_for_settings, iFpipp)
+GO(gtk_icon_size_register, iFpii)
+GO(gtk_icon_size_register_alias, vFpi)
+GO(gtk_icon_source_copy, pFp)
+GO(gtk_icon_source_free, vFp)
+GO(gtk_icon_source_get_direction, iFp)
+GO(gtk_icon_source_get_direction_wildcarded, iFp)
+GO(gtk_icon_source_get_filename, pFp)
+GO(gtk_icon_source_get_icon_name, pFp)
+GO(gtk_icon_source_get_pixbuf, pFp)
+GO(gtk_icon_source_get_size, iFp)
+GO(gtk_icon_source_get_size_wildcarded, iFp)
+GO(gtk_icon_source_get_state, iFp)
+GO(gtk_icon_source_get_state_wildcarded, iFp)
+GO(gtk_icon_source_get_type, iFv)
+GO(gtk_icon_source_new, pFv)
+GO(gtk_icon_source_set_direction, vFpi)
+GO(gtk_icon_source_set_direction_wildcarded, vFpi)
+GO(gtk_icon_source_set_filename, vFpp)
+GO(gtk_icon_source_set_icon_name, vFpp)
+GO(gtk_icon_source_set_pixbuf, vFpp)
+GO(gtk_icon_source_set_size, vFpi)
+GO(gtk_icon_source_set_size_wildcarded, vFpi)
+GO(gtk_icon_source_set_state, vFpi)
+GO(gtk_icon_source_set_state_wildcarded, vFpi)
+GO(gtk_icon_theme_add_builtin_icon, vFpip)
+GO(gtk_icon_theme_append_search_path, vFpp)
+GO(gtk_icon_theme_choose_icon, pFppiu)
+GO(gtk_icon_theme_error_get_type, iFv)
+//GO(gtk_icon_theme_error_quark, 
+GO(gtk_icon_theme_get_default, pFv)
+GO(gtk_icon_theme_get_example_icon_name, pFp)
+GO(gtk_icon_theme_get_for_screen, pFp)
+GO(gtk_icon_theme_get_icon_sizes, pFpp)
+GO(gtk_icon_theme_get_search_path, vFppp)
+GO(gtk_icon_theme_get_type, iFv)
+GO(gtk_icon_theme_has_icon, iFpp)
+GO(gtk_icon_theme_list_contexts, pFp)
+GO(gtk_icon_theme_list_icons, pFpp)
+GO(gtk_icon_theme_load_icon, pFppiup)
+GO(gtk_icon_theme_lookup_by_gicon, pFppiu)
+GO(gtk_icon_theme_lookup_icon, pFppiu)
+GO(gtk_icon_theme_new, pFv)
+//GO(gtk_icon_theme_prepend_search_path, 
+GO(gtk_icon_theme_rescan_if_needed, iFp)
+GO(gtk_icon_theme_set_custom_theme, vFpp)
+GO(gtk_icon_theme_set_screen, vFpp)
+GO(gtk_icon_theme_set_search_path, vFppi)
+GO(gtk_icon_view_convert_widget_to_bin_window_coords, vFpiipp)
+GO(gtk_icon_view_create_drag_icon, pFpp)
+GO(gtk_icon_view_drop_position_get_type, iFv)
+GO(gtk_icon_view_enable_model_drag_dest, vFppii)
+GO(gtk_icon_view_enable_model_drag_source, vFpipii)
+GO(gtk_icon_view_get_columns, iFp)
+GO(gtk_icon_view_get_column_spacing, iFp)
+GO(gtk_icon_view_get_cursor, iFppp)
+GO(gtk_icon_view_get_dest_item_at_pos, iFpiipp)
+GO(gtk_icon_view_get_drag_dest_item, vFppp)
+GO(gtk_icon_view_get_item_at_pos, iFpiipp)
+GO(gtk_icon_view_get_item_column, iFpp)
+GO(gtk_icon_view_get_item_orientation, iFp)
+GO(gtk_icon_view_get_item_padding, iFp)
+GO(gtk_icon_view_get_item_row, iFpp)
+GO(gtk_icon_view_get_item_width, iFp)
+GO(gtk_icon_view_get_margin, iFp)
+GO(gtk_icon_view_get_markup_column, iFp)
+GO(gtk_icon_view_get_model, pFp)
+GO(gtk_icon_view_get_orientation, iFp)
+GO(gtk_icon_view_get_path_at_pos, pFpii)
+GO(gtk_icon_view_get_pixbuf_column, iFp)
+GO(gtk_icon_view_get_reorderable, iFp)
+GO(gtk_icon_view_get_row_spacing, iFp)
+GO(gtk_icon_view_get_selected_items, pFp)
+GO(gtk_icon_view_get_selection_mode, iFp)
+GO(gtk_icon_view_get_spacing, iFp)
+GO(gtk_icon_view_get_text_column, iFp)
+GO(gtk_icon_view_get_tooltip_column, iFp)
+GO(gtk_icon_view_get_tooltip_context, iFpppippp)
+GO(gtk_icon_view_get_type, iFv)
+GO(gtk_icon_view_get_visible_range, iFppp)
+GO(gtk_icon_view_item_activated, vFpp)
+GO(gtk_icon_view_new, pFv)
+GO(gtk_icon_view_new_with_model, pFp)
+GO(gtk_icon_view_path_is_selected, iFpp)
+GO(gtk_icon_view_scroll_to_path, vFppiff)
+GO(gtk_icon_view_select_all, vFp)
+//GOM(gtk_icon_view_selected_foreach, vFpBp)
+GO(gtk_icon_view_select_path, vFpp)
+GO(gtk_icon_view_set_columns, vFpi)
+GO(gtk_icon_view_set_column_spacing, vFpi)
+GO(gtk_icon_view_set_cursor, vFpppi)
+GO(gtk_icon_view_set_drag_dest_item, vFppi)
+GO(gtk_icon_view_set_item_orientation, vFpi)
+GO(gtk_icon_view_set_item_padding, vFpi)
+GO(gtk_icon_view_set_item_width, vFpi)
+GO(gtk_icon_view_set_margin, vFpi)
+GO(gtk_icon_view_set_markup_column, vFpi)
+GO(gtk_icon_view_set_model, vFpp)
+GO(gtk_icon_view_set_orientation, vFpi)
+GO(gtk_icon_view_set_pixbuf_column, vFpi)
+GO(gtk_icon_view_set_reorderable, vFpi)
+GO(gtk_icon_view_set_row_spacing, vFpi)
+GO(gtk_icon_view_set_selection_mode, vFpi)
+GO(gtk_icon_view_set_spacing, vFpi)
+GO(gtk_icon_view_set_text_column, vFpi)
+GO(gtk_icon_view_set_tooltip_cell, vFpppp)
+GO(gtk_icon_view_set_tooltip_column, vFpi)
+GO(gtk_icon_view_set_tooltip_item, vFppp)
+GO(gtk_icon_view_unselect_all, vFp)
+GO(gtk_icon_view_unselect_path, vFpp)
+GO(gtk_icon_view_unset_model_drag_dest, vFp)
+GO(gtk_icon_view_unset_model_drag_source, vFp)
+GO(gtk_identifier_get_type, iFv)
+//GOM(gtk_idle_add, uFEBp)
+//GOM(gtk_idle_add_full, uFEiBppB)
+//GOM(gtk_idle_add_priority, uFEiBp)
+GO(gtk_idle_remove, vFu)
+GO(gtk_idle_remove_by_data, vFp)
+GO(gtk_image_clear, vFp)
+GO(gtk_image_get, vFppp)
+GO(gtk_image_get_animation, pFp)
+GO(gtk_image_get_gicon, vFppp)
+GO(gtk_image_get_icon_name, vFppp)
+GO(gtk_image_get_icon_set, vFppp)
+GO(gtk_image_get_image, vFppp)
+GO(gtk_image_get_pixbuf, pFp)
+GO(gtk_image_get_pixel_size, iFp)
+GO(gtk_image_get_pixmap, vFppp)
+GO(gtk_image_get_stock, vFppp)
+GO(gtk_image_get_storage_type, iFp)
+GO(gtk_image_get_type, iFv)
+GO(gtk_image_menu_item_get_always_show_image, iFp)
+GO(gtk_image_menu_item_get_image, pFp)
+GO(gtk_image_menu_item_get_type, iFv)
+GO(gtk_image_menu_item_get_use_stock, iFp)
+GO(gtk_image_menu_item_new, pFv)
+GO(gtk_image_menu_item_new_from_stock, pFpp)
+GO(gtk_image_menu_item_new_with_label, pFp)
+GO(gtk_image_menu_item_new_with_mnemonic, pFp)
+GO(gtk_image_menu_item_set_accel_group, vFpp)
+GO(gtk_image_menu_item_set_always_show_image, vFpi)
+GO(gtk_image_menu_item_set_image, vFpp)
+GO(gtk_image_menu_item_set_use_stock, vFpi)
+GO(gtk_image_new, pFv)
+GO(gtk_image_new_from_animation, pFp)
+GO(gtk_image_new_from_file, pFp)
+GO(gtk_image_new_from_gicon, pFpi)
+GO(gtk_image_new_from_icon_name, pFpi)
+GO(gtk_image_new_from_icon_set, pFpi)
+GO(gtk_image_new_from_image, pFpp)
+GO(gtk_image_new_from_pixbuf, pFp)
+GO(gtk_image_new_from_pixmap, pFpp)
+GO(gtk_image_new_from_stock, pFpi)
+GO(gtk_image_set, vFppp)
+GO(gtk_image_set_from_animation, vFpp)
+GO(gtk_image_set_from_file, vFppp)
+GO(gtk_image_set_from_gicon, vFppi)
+GO(gtk_image_set_from_icon_name, vFppi)
+GO(gtk_image_set_from_icon_set, vFppi)
+GO(gtk_image_set_from_image, vFppp)
+GO(gtk_image_set_from_pixbuf, vFpp)
+GO(gtk_image_set_from_pixmap, vFppp)
+GO(gtk_image_set_from_stock, vFppi)
+GO(gtk_image_set_pixel_size, vFpi)
+GO(gtk_image_type_get_type, iFv)
+GO(gtk_im_context_delete_surrounding, iFpii)
+GO(gtk_im_context_filter_keypress, iFpp)
+GO(gtk_im_context_focus_in, vFp)
+GO(gtk_im_context_focus_out, vFp)
+GO(gtk_im_context_get_preedit_string, vFpppp)
+GO(gtk_im_context_get_surrounding, iFppp)
+GO(gtk_im_context_get_type, iFv)
+GO(gtk_im_context_reset, vFp)
+GO(gtk_im_context_set_client_window, vFpp)
+GO(gtk_im_context_set_cursor_location, vFpp)
+GO(gtk_im_context_set_surrounding, vFppii)
+GO(gtk_im_context_set_use_preedit, vFpi)
+GO(gtk_im_context_simple_add_table, vFppii)
+GO(gtk_im_context_simple_get_type, iFv)
+GO(gtk_im_context_simple_new, pFv)
+GO(gtk_im_multicontext_append_menuitems, vFpp)
+GO(gtk_im_multicontext_get_context_id, pFp)
+GO(gtk_im_multicontext_get_type, iFv)
+GO(gtk_im_multicontext_new, pFv)
+GO(gtk_im_multicontext_set_context_id, vFpp)
+GO(gtk_im_preedit_style_get_type, iFv)
+GO(gtk_im_status_style_get_type, iFv)
+//GO(gtk_info_bar_add_action_widget, 
+//GO(gtk_info_bar_add_button, 
+//GO(gtk_info_bar_add_buttons, 
+//GO(gtk_info_bar_get_action_area, 
+//GO(gtk_info_bar_get_content_area, 
+//GO(gtk_info_bar_get_message_type, 
+GO(gtk_info_bar_get_type, iFv)
+//GO(gtk_info_bar_new, 
+//GO(gtk_info_bar_new_with_buttons, 
+//GO(gtk_info_bar_response, 
+//GO(gtk_info_bar_set_default_response, 
+//GO(gtk_info_bar_set_message_type, 
+//GO(gtk_info_bar_set_response_sensitive, 
+GOM(gtk_init, vFEpp)
+//GO(gtk_init_add, 
+GOM(gtk_init_check, iFEpp)
+GOM(gtk_init_with_args, iFEpppppp)
+GOM(gtk_input_add_full, uFEiipppp)
+GO(gtk_input_dialog_get_type, iFv)
+GO(gtk_input_dialog_new, pFv)
+GO(gtk_input_remove, vFu)
+//GO(gtk_invisible_get_screen, 
+GO(gtk_invisible_get_type, iFv)
+//GO(gtk_invisible_new, 
+//GO(gtk_invisible_new_for_screen, 
+//GO(gtk_invisible_set_screen, 
+//GO(gtk_item_deselect, 
+//GO(gtk_item_factories_path_delete, 
+//GO(gtk_item_factory_add_foreign, 
+//GO(gtk_item_factory_construct, 
+//GO(gtk_item_factory_create_item, 
+//GO(gtk_item_factory_create_items, 
+//GO(gtk_item_factory_create_items_ac, 
+//GO(gtk_item_factory_create_menu_entries, 
+//GO(gtk_item_factory_delete_entries, 
+//GO(gtk_item_factory_delete_entry, 
+//GO(gtk_item_factory_delete_item, 
+//GO(gtk_item_factory_from_path, 
+//GO(gtk_item_factory_from_widget, 
+//GO(gtk_item_factory_get_item, 
+//GO(gtk_item_factory_get_item_by_action, 
+GO(gtk_item_factory_get_type, iFv)
+//GO(gtk_item_factory_get_widget, 
+//GO(gtk_item_factory_get_widget_by_action, 
+//GO(gtk_item_factory_new, 
+//GO(gtk_item_factory_path_from_widget, 
+//GO(gtk_item_factory_popup, 
+//GO(gtk_item_factory_popup_data, 
+//GO(gtk_item_factory_popup_data_from_widget, 
+//GO(gtk_item_factory_popup_with_data, 
+//GO(gtk_item_factory_set_translate_func, 
+GO(gtk_item_get_type, iFv)
+//GO(gtk_item_select, 
+//GO(gtk_item_toggle, 
+GO(gtk_justification_get_type, iFv)
+//GOM(gtk_key_snooper_install, uFEBp)
+GO(gtk_key_snooper_remove, vFu)
+GO(gtk_label_get, vFpp)
+GO(gtk_label_get_angle, dFp)
+GO(gtk_label_get_attributes, pFp)
+GO(gtk_label_get_current_uri, pFp)
+GO(gtk_label_get_ellipsize, iFp)
+GO(gtk_label_get_justify, iFp)
+GO(gtk_label_get_label, pFp)
+GO(gtk_label_get_layout, pFp)
+GO(gtk_label_get_layout_offsets, vFppp)
+GO(gtk_label_get_line_wrap, iFp)
+GO(gtk_label_get_line_wrap_mode, iFp)
+GO(gtk_label_get_max_width_chars, iFp)
+GO(gtk_label_get_mnemonic_keyval, uFp)
+GO(gtk_label_get_mnemonic_widget, pFp)
+GO(gtk_label_get_selectable, iFp)
+GO(gtk_label_get_selection_bounds, iFppp)
+GO(gtk_label_get_single_line_mode, iFp)
+GO(gtk_label_get_text, pFp)
+GO(gtk_label_get_track_visited_links, iFp)
+GO(gtk_label_get_type, iFv)
+GO(gtk_label_get_use_markup, iFp)
+GO(gtk_label_get_use_underline, iFp)
+GO(gtk_label_get_width_chars, iFp)
+GO(gtk_label_new, pFp)
+GO(gtk_label_new_with_mnemonic, pFp)
+GO(gtk_label_parse_uline, uFpp)
+GO(gtk_label_select_region, vFpii)
+GO(gtk_label_set_angle, vFpd)
+GO(gtk_label_set_attributes, vFpp)
+GO(gtk_label_set_ellipsize, vFpi)
+GO(gtk_label_set_justify, vFpi)
+GO(gtk_label_set_label, vFpp)
+GO(gtk_label_set_line_wrap, vFpi)
+GO(gtk_label_set_line_wrap_mode, vFpi)
+GO(gtk_label_set_markup, vFpp)
+GO(gtk_label_set_markup_with_mnemonic, vFpp)
+GO(gtk_label_set_max_width_chars, vFpi)
+GO(gtk_label_set_mnemonic_widget, vFpp)
+GO(gtk_label_set_pattern, vFpp)
+GO(gtk_label_set_selectable, vFpi)
+GO(gtk_label_set_single_line_mode, vFpi)
+GO(gtk_label_set_text, vFpp)
+GO(gtk_label_set_text_with_mnemonic, vFpp)
+GO(gtk_label_set_track_visited_links, vFpi)
+GO(gtk_label_set_use_markup, vFpi)
+GO(gtk_label_set_use_underline, vFpi)
+GO(gtk_label_set_width_chars, vFpi)
+//GO(gtk_layout_freeze, 
+//GO(gtk_layout_get_bin_window, 
+//GO(gtk_layout_get_hadjustment, 
+//GO(gtk_layout_get_size, 
+GO(gtk_layout_get_type, iFv)
+//GO(gtk_layout_get_vadjustment, 
+//GO(gtk_layout_move, 
+GO(gtk_layout_new, pFpp)
+//GO(gtk_layout_put, 
+//GO(gtk_layout_set_hadjustment, 
+//GO(gtk_layout_set_size, 
+//GO(gtk_layout_set_vadjustment, 
+//GO(gtk_layout_thaw, 
+GO(gtk_link_button_get_type, iFv)
+//GO(gtk_link_button_get_uri, 
+//GO(gtk_link_button_get_visited, 
+//GO(gtk_link_button_new, 
+//GO(gtk_link_button_new_with_label, 
+//GO(gtk_link_button_set_uri, 
+//GO(gtk_link_button_set_uri_hook, 
+//GO(gtk_link_button_set_visited, 
+GO(gtk_list_append_items, vFpp)
+GO(gtk_list_child_position, iFpp)
+GO(gtk_list_clear_items, vFpii)
+GO(gtk_list_end_drag_selection, vFp)
+GO(gtk_list_end_selection, vFp)
+GO(gtk_list_extend_selection, vFpifi)
+GO(gtk_list_get_type, iFv)
+GO(gtk_list_insert_items, vFppi)
+GO(gtk_list_item_deselect, vFp)
+GO(gtk_list_item_get_type, iFv)
+GO(gtk_list_item_new, pFv)
+GO(gtk_list_item_new_with_label, pFp)
+GO(gtk_list_item_select, vFp)
+GO(gtk_list_new, pFv)
+GO(gtk_list_prepend_items, vFpp)
+GO(gtk_list_remove_items, vFpp)
+GO(gtk_list_remove_items_no_unref, vFpp)
+GO(gtk_list_scroll_horizontal, vFpif)
+GO(gtk_list_scroll_vertical, vFpif)
+GO(gtk_list_select_all, vFp)
+GO(gtk_list_select_child, vFpp)
+GO(gtk_list_select_item, vFpi)
+GO(gtk_list_set_selection_mode, vFpi)
+GO(gtk_list_start_selection, vFp)
+GO(gtk_list_store_append, vFpp)
+GO(gtk_list_store_clear, vFp)
+GO(gtk_list_store_get_type, iFv)
+GO(gtk_list_store_insert, vFppi)
+GO(gtk_list_store_insert_after, vFppp)
+GO(gtk_list_store_insert_before, vFppp)
+//GOM(gtk_list_store_insert_with_values, vFppiV)    // wrap with gtk_list_store_insert_with_valuesv
+GO(gtk_list_store_insert_with_valuesv, vFppippi)    //TODO: check if GValues need alignement
+GO(gtk_list_store_iter_is_valid, iFpp)
+GO(gtk_list_store_move_after, vFppp)
+GO(gtk_list_store_move_before, vFppp)
+GO2(gtk_list_store_new, pFiV, gtk_list_store_newv)
+GO(gtk_list_store_newv, pFip)
+GO(gtk_list_store_prepend, vFpp)
+GO(gtk_list_store_remove, iFpp)
+GO(gtk_list_store_reorder, vFpp)
+GO2(gtk_list_store_set, vFppV, gtk_list_store_set_valist)
+GO(gtk_list_store_set_column_types, vFpip)
+GO(gtk_list_store_set_valist, vFppp)
+GO(gtk_list_store_set_value, vFppip)
+GO(gtk_list_store_set_valuesv, vFppppi) //TODO: check if GValues need alignement
+GO(gtk_list_store_swap, vFppp)
+GO(gtk_list_toggle_add_mode, vFp)
+GO(gtk_list_toggle_focus_row, vFp)
+GO(gtk_list_toggle_row, vFpp)
+GO(gtk_list_undo_selection, vFp)
+GO(gtk_list_unselect_all, vFp)
+GO(gtk_list_unselect_child, vFpp)
+GO(gtk_list_unselect_item, vFpi)
+GO(gtk_main, vFv)
+GO(gtk_main_do_event, vFp)
+GO(gtk_main_iteration, iFv)
+GO(gtk_main_iteration_do, iFi)
+GO(gtk_main_level, uFv)
+GO(gtk_main_quit, vFv)
+//GO(gtk_marshal_BOOLEAN__POINTER, 
+//GO(gtk_marshal_BOOLEAN__POINTER_INT_INT, 
+//GO(gtk_marshal_BOOLEAN__POINTER_INT_INT_UINT, 
+//GO(gtk_marshal_BOOLEAN__POINTER_POINTER_INT_INT, 
+//GO(gtk_marshal_BOOLEAN__POINTER_STRING_STRING_POINTER, 
+//GO(gtk_marshal_BOOLEAN__VOID, 
+//GO(gtk_marshal_ENUM__ENUM, 
+//GO(gtk_marshal_INT__POINTER, 
+//GO(gtk_marshal_INT__POINTER_CHAR_CHAR, 
+//GO(gtk_marshal_VOID__ENUM_FLOAT, 
+//GO(gtk_marshal_VOID__ENUM_FLOAT_BOOLEAN, 
+//GO(gtk_marshal_VOID__INT_INT, 
+//GO(gtk_marshal_VOID__INT_INT_POINTER, 
+//GO(gtk_marshal_VOID__POINTER_INT, 
+//GO(gtk_marshal_VOID__POINTER_INT_INT_POINTER_UINT_UINT, 
+//GO(gtk_marshal_VOID__POINTER_POINTER, 
+//GO(gtk_marshal_VOID__POINTER_POINTER_POINTER, 
+//GO(gtk_marshal_VOID__POINTER_POINTER_UINT_UINT, 
+//GO(gtk_marshal_VOID__POINTER_STRING_STRING, 
+//GO(gtk_marshal_VOID__POINTER_UINT, 
+//GO(gtk_marshal_VOID__POINTER_UINT_ENUM, 
+//GO(gtk_marshal_VOID__POINTER_UINT_UINT, 
+//GO(gtk_marshal_VOID__STRING_INT_POINTER, 
+//GO(gtk_marshal_VOID__UINT_POINTER_UINT_ENUM_ENUM_POINTER, 
+//GO(gtk_marshal_VOID__UINT_POINTER_UINT_UINT_ENUM, 
+//GO(gtk_marshal_VOID__UINT_STRING, 
+GO(gtk_match_type_get_type, iFv)
+GO(gtk_menu_attach, vFppuuuu)
+GOM(gtk_menu_attach_to_widget, vFEppp)
+GO(gtk_menu_bar_get_child_pack_direction, iFp)
+GO(gtk_menu_bar_get_pack_direction, iFp)
+GO(gtk_menu_bar_get_type, iFv)
+GO(gtk_menu_bar_new, pFv)
+GO(gtk_menu_bar_set_child_pack_direction, vFpi)
+GO(gtk_menu_bar_set_pack_direction, vFpi)
+GO(gtk_menu_detach, vFp)
+GO(gtk_menu_direction_type_get_type, iFv)
+GO(gtk_menu_get_accel_group, pFp)
+GO(gtk_menu_get_accel_path, pFp)
+GO(gtk_menu_get_active, pFp)
+GO(gtk_menu_get_attach_widget, pFp)
+GO(gtk_menu_get_for_attach_widget, pFp)
+GO(gtk_menu_get_monitor, iFp)
+GO(gtk_menu_get_reserve_toggle_size, iFp)
+GO(gtk_menu_get_tearoff_state, iFp)
+GO(gtk_menu_get_title, pFp)
+GO(gtk_menu_get_type, iFv)
+GO(gtk_menu_item_activate, vFp)
+GO(gtk_menu_item_deselect, vFp)
+GO(gtk_menu_item_get_accel_path, pFp)
+GO(gtk_menu_item_get_label, pFp)
+GO(gtk_menu_item_get_right_justified, iFp)
+GO(gtk_menu_item_get_submenu, pFp)
+GO(gtk_menu_item_get_type, iFv)
+GO(gtk_menu_item_get_use_underline, vFpi)
+GO(gtk_menu_item_new, pFv)
+GO(gtk_menu_item_new_with_label, pFp)
+GO(gtk_menu_item_new_with_mnemonic, pFp)
+GO(gtk_menu_item_remove_submenu, pFp)
+GO(gtk_menu_item_select, vFp)
+GO(gtk_menu_item_set_accel_path, vFpp)
+GO(gtk_menu_item_set_label, vFpp)
+GO(gtk_menu_item_set_right_justified, vFpi)
+GO(gtk_menu_item_set_submenu, vFpp)
+GO(gtk_menu_item_set_use_underline, vFpi)
+GO(gtk_menu_item_toggle_size_allocate, vFpi)
+GO(gtk_menu_item_toggle_size_request, vFpp)
+GO(gtk_menu_new, pFv)
+GO(gtk_menu_popdown, vFp)
+GOM(gtk_menu_popup, vFEpppppuu)
+GO(gtk_menu_reorder_child, vFppi)
+GO(gtk_menu_reposition, vFp)
+GO(gtk_menu_set_accel_group, vFpp)
+GO(gtk_menu_set_accel_path, vFpp)
+GO(gtk_menu_set_active, vFpu)
+GO(gtk_menu_set_monitor, vFpi)
+GO(gtk_menu_set_reserve_toggle_size, vFpi)
+GO(gtk_menu_set_screen, vFpp)
+GO(gtk_menu_set_tearoff_state, vFpi)
+GO(gtk_menu_set_title, vFpp)
+//GO(gtk_menu_shell_activate_item, 
+GO(gtk_menu_shell_append, vFpp)
+//GO(gtk_menu_shell_cancel, 
+//GO(gtk_menu_shell_deactivate, 
+//GO(gtk_menu_shell_deselect, 
+//GO(gtk_menu_shell_get_take_focus, 
+GO(gtk_menu_shell_get_type, iFv)
+GO(gtk_menu_shell_insert, vFppi)
+GO(gtk_menu_shell_prepend, vFpp)
+GO(gtk_menu_shell_select_first, vFpi)
+GO(gtk_menu_shell_select_item, vFpp)
+//GO(gtk_menu_shell_set_take_focus, 
+GO(gtk_menu_tool_button_get_menu, pFp)
+GO(gtk_menu_tool_button_get_type, iFv)
+GO(gtk_menu_tool_button_new, pFpp)
+GO(gtk_menu_tool_button_new_from_stock, pFp)
+GO(gtk_menu_tool_button_set_arrow_tooltip, vFpppp)
+GO(gtk_menu_tool_button_set_arrow_tooltip_markup, vFpp)
+GO(gtk_menu_tool_button_set_arrow_tooltip_text, vFpp)
+GO(gtk_menu_tool_button_set_menu, vFpp)
+GOM(gtk_message_dialog_format_secondary_markup, vFEppV)
+GOM(gtk_message_dialog_format_secondary_text, vFEppV)
+GO(gtk_message_dialog_get_image, pFp)
+GO(gtk_message_dialog_get_message_area, pFp)
+GO(gtk_message_dialog_get_type, iFv)
+GO(gtk_message_dialog_new, pFpuiippppppppppp)   // vaarg :(
+GO(gtk_message_dialog_new_with_markup, pFpuiippppppppppp)   // vaarg
+GO(gtk_message_dialog_set_image, vFpp)
+GO(gtk_message_dialog_set_markup, vFpp)
+GO(gtk_message_type_get_type, iFv)
+GO(gtk_metric_type_get_type, iFv)
+GO(gtk_misc_get_alignment, vFppp)
+GO(gtk_misc_get_padding, vFppp)
+GO(gtk_misc_get_type, iFv)
+GO(gtk_misc_set_alignment, vFpff)
+GO(gtk_misc_set_padding, vFpii)
+GO(gtk_mount_operation_get_parent, pFp)
+GO(gtk_mount_operation_get_screen, pFp)
+GO(gtk_mount_operation_get_type, iFv)
+GO(gtk_mount_operation_is_showing, iFp)
+GO(gtk_mount_operation_new, pFp)
+GO(gtk_mount_operation_set_parent, vFpp)
+GO(gtk_mount_operation_set_screen, vFpp)
+GO(gtk_movement_step_get_type, iFv)
+GO(gtk_notebook_append_page, iFppp)
+GO(gtk_notebook_append_page_menu, iFpppp)
+GO(gtk_notebook_get_action_widget, pFpi)
+GO(gtk_notebook_get_current_page, iFp)
+GO(gtk_notebook_get_group, pFp)
+GO(gtk_notebook_get_group_id, iFp)
+GO(gtk_notebook_get_group_name, pFp)
+GO(gtk_notebook_get_menu_label, pFpp)
+GO(gtk_notebook_get_menu_label_text, pFpp)
+GO(gtk_notebook_get_n_pages, iFp)
+GO(gtk_notebook_get_nth_page, pFpi)
+GO(gtk_notebook_get_scrollable, iFp)
+GO(gtk_notebook_get_show_border, iFp)
+GO(gtk_notebook_get_show_tabs, iFp)
+GO(gtk_notebook_get_tab_detachable, iFpp)
+GO(gtk_notebook_get_tab_hborder, WFp)
+GO(gtk_notebook_get_tab_label, pFpp)
+GO(gtk_notebook_get_tab_label_text, pFpp)
+GO(gtk_notebook_get_tab_pos, iFp)
+GO(gtk_notebook_get_tab_reorderable, iFpp)
+GO(gtk_notebook_get_tab_vborder, WFp)
+GO(gtk_notebook_get_type, iFv)
+GO(gtk_notebook_insert_page, iFpppi)
+GO(gtk_notebook_insert_page_menu, iFppppi)
+GO(gtk_notebook_new, pFv)
+GO(gtk_notebook_next_page, vFp)
+GO(gtk_notebook_page_num, iFpp)
+GO(gtk_notebook_popup_disable, vFp)
+GO(gtk_notebook_popup_enable, vFp)
+GO(gtk_notebook_prepend_page, iFppp)
+GO(gtk_notebook_prepend_page_menu, iFpppp)
+GO(gtk_notebook_prev_page, vFp)
+GO(gtk_notebook_query_tab_label_packing, vFppppp)
+GO(gtk_notebook_remove_page, vFpi)
+GO(gtk_notebook_reorder_child, vFppi)
+GO(gtk_notebook_set_action_widget, vFppi)
+GO(gtk_notebook_set_current_page, vFpi)
+GO(gtk_notebook_set_group, vFpp)
+GO(gtk_notebook_set_group_id, vFpi)
+GO(gtk_notebook_set_group_name, vFpp)
+GO(gtk_notebook_set_homogeneous_tabs, vFpi)
+GO(gtk_notebook_set_menu_label, vFppp)
+GO(gtk_notebook_set_menu_label_text, vFppp)
+GO(gtk_notebook_set_scrollable, vFpi)
+GO(gtk_notebook_set_show_border, vFpi)
+GO(gtk_notebook_set_show_tabs, vFpi)
+GO(gtk_notebook_set_tab_border, vFpu)
+GO(gtk_notebook_set_tab_detachable, vFppi)
+GO(gtk_notebook_set_tab_hborder, vFpu)
+GO(gtk_notebook_set_tab_label, vFppp)
+GO(gtk_notebook_set_tab_label_packing, vFppiii)
+GO(gtk_notebook_set_tab_label_text, vFppp)
+GO(gtk_notebook_set_tab_pos, vFpi)
+GO(gtk_notebook_set_tab_reorderable, vFppi)
+GO(gtk_notebook_set_tab_vborder, vFpu)
+//GOM(gtk_notebook_set_window_creation_hook, pFEppp)
+GO(gtk_notebook_tab_get_type, iFv)
+GO(gtk_number_up_layout_get_type, iFv)
+GO(gtk_object_add_arg_type, vFpiuu)
+GO(gtk_object_destroy, vFp)
+GO(gtk_object_flags_get_type, iFv)
+GO(gtk_object_get, vFppppppppppp)   // vaarg
+GO(gtk_object_get_data, pFpp)
+GO(gtk_object_get_data_by_id, pFpp)
+GO(gtk_object_get_type, iFv)
+GO(gtk_object_get_user_data, pFp)
+GO(gtk_object_new, pFppppppppppp)   //vaarg
+GO(gtk_object_ref, pFp)
+GO(gtk_object_remove_data, vFpp)
+GO(gtk_object_remove_data_by_id, vFpp)
+GO(gtk_object_remove_no_notify, vFpp)
+GO(gtk_object_remove_no_notify_by_id, vFpp)
+GO(gtk_object_set, vFppppppppppp)   //vaarg
+GO(gtk_object_set_data, vFppp)
+GO(gtk_object_set_data_by_id, vFppp)
+//GOM(gtk_object_set_data_by_id_full, vFEpppp)
+GOM(gtk_object_set_data_full, vFEpppp)
+GO(gtk_object_set_user_data, vFpp)
+GO(gtk_object_sink, vFp)
+GO(gtk_object_unref, vFp)
+//GOM(gtk_object_weakref, vFEppp)
+//GOM(gtk_object_weakunref, vFEppp)
+GO(gtk_offscreen_window_get_pixbuf, pFp)
+GO(gtk_offscreen_window_get_pixmap, pFp)
+GO(gtk_offscreen_window_get_type, iFv)
+GO(gtk_offscreen_window_new, pFv)
+GO(gtk_old_editable_changed, vFp)
+GO(gtk_old_editable_claim_selection, vFpiu)
+GO(gtk_old_editable_get_type, iFv)
+GO(gtk_option_menu_get_history, iFp)
+GO(gtk_option_menu_get_menu, pFp)
+GO(gtk_option_menu_get_type, iFv)
+GO(gtk_option_menu_new, pFv)
+GO(gtk_option_menu_remove_menu, vFp)
+GO(gtk_option_menu_set_history, vFpu)
+GO(gtk_option_menu_set_menu, vFpp)
+GO(gtk_orientable_get_orientation, iFp)
+GO(gtk_orientable_get_type, iFv)
+GO(gtk_orientable_set_orientation, vFpi)
+GO(gtk_orientation_get_type, iFv)
+GO(gtk_pack_direction_get_type, iFv)
+GO(gtk_pack_type_get_type, iFv)
+GO(gtk_page_orientation_get_type, iFv)
+GO(gtk_page_set_get_type, iFv)
+//GO(gtk_page_setup_copy, 
+//GO(gtk_page_setup_get_bottom_margin, 
+//GO(gtk_page_setup_get_left_margin, 
+//GO(gtk_page_setup_get_orientation, 
+//GO(gtk_page_setup_get_page_height, 
+//GO(gtk_page_setup_get_page_width, 
+//GO(gtk_page_setup_get_paper_height, 
+//GO(gtk_page_setup_get_paper_size, 
+//GO(gtk_page_setup_get_paper_width, 
+//GO(gtk_page_setup_get_right_margin, 
+//GO(gtk_page_setup_get_top_margin, 
+GO(gtk_page_setup_get_type, iFv)
+//GO(gtk_page_setup_load_file, 
+//GO(gtk_page_setup_load_key_file, 
+//GO(gtk_page_setup_new, 
+//GO(gtk_page_setup_new_from_file, 
+//GO(gtk_page_setup_new_from_key_file, 
+//GO(gtk_page_setup_set_bottom_margin, 
+//GO(gtk_page_setup_set_left_margin, 
+//GO(gtk_page_setup_set_orientation, 
+//GO(gtk_page_setup_set_paper_size, 
+//GO(gtk_page_setup_set_paper_size_and_default_margins, 
+//GO(gtk_page_setup_set_right_margin, 
+//GO(gtk_page_setup_set_top_margin, 
+//GO(gtk_page_setup_to_file, 
+//GO(gtk_page_setup_to_key_file, 
+//GO(gtk_page_setup_unix_dialog_get_page_setup, 
+//GO(gtk_page_setup_unix_dialog_get_print_settings, 
+GO(gtk_page_setup_unix_dialog_get_type, iFv)
+//GO(gtk_page_setup_unix_dialog_new, 
+//GO(gtk_page_setup_unix_dialog_set_page_setup, 
+//GO(gtk_page_setup_unix_dialog_set_print_settings, 
+GO(gtk_paint_arrow, vFppiipppiiiiii)
+GO(gtk_paint_box, vFppiipppiiii)
+GO(gtk_paint_box_gap, vFppiipppiiiiiii)
+GO(gtk_paint_check, vFppiipppiiii)
+GO(gtk_paint_diamond, vFppiipppiiii)
+GO(gtk_paint_expander, vFppipppiii)
+GO(gtk_paint_extension, vFppiipppiiiii)
+GO(gtk_paint_flat_box, vFppiipppiiii)
+GO(gtk_paint_focus, vFppipppiiii)
+GO(gtk_paint_handle, vFppiipppiiiii)
+GO(gtk_paint_hline, vFppipppiii)
+GO(gtk_paint_layout, vFppiipppiip)
+GO(gtk_paint_option, vFppiipppiiii)
+GO(gtk_paint_polygon, vFppiippppii)
+GO(gtk_paint_resize_grip, vFppipppiiiii)
+GO(gtk_paint_shadow, vFppiipppiiii)
+GO(gtk_paint_shadow_gap, vFppiipppiiiiiii)
+GO(gtk_paint_slider, vFppiipppiiiii)
+GO(gtk_paint_spinner, vFppipppuiiii)
+GO(gtk_paint_string, vFppipppiip)
+GO(gtk_paint_tab, vFppiipppiiii)
+GO(gtk_paint_vline, vFppipppiii)
+GO(gtk_paned_add1, vFpp)
+GO(gtk_paned_add2, vFpp)
+GO(gtk_paned_compute_position, vFpiii)
+GO(gtk_paned_get_child1, pFp)
+GO(gtk_paned_get_child2, pFp)
+GO(gtk_paned_get_handle_window, pFp)
+GO(gtk_paned_get_position, pFp)
+GO(gtk_paned_get_type, iFv)
+GO(gtk_paned_pack1, vFppii)
+GO(gtk_paned_pack2, vFppii)
+GO(gtk_paned_set_position, vFpi)
+GO(gtk_paper_size_copy, pFp)
+GO(gtk_paper_size_free, vFp)
+GO(gtk_paper_size_get_default, pFv)
+GO(gtk_paper_size_get_default_bottom_margin, dFpi)
+GO(gtk_paper_size_get_default_left_margin, dFpi)
+GO(gtk_paper_size_get_default_right_margin, dFpi)
+GO(gtk_paper_size_get_default_top_margin, dFpi)
+GO(gtk_paper_size_get_display_name, pFp)
+GO(gtk_paper_size_get_height, dFpi)
+GO(gtk_paper_size_get_name, pFp)
+GO(gtk_paper_size_get_paper_sizes, pFi)
+GO(gtk_paper_size_get_ppd_name, pFp)
+GO(gtk_paper_size_get_type, iFv)
+GO(gtk_paper_size_get_width, dFpi)
+GO(gtk_paper_size_is_custom, iFp)
+GO(gtk_paper_size_is_equal, iFpp)
+GO(gtk_paper_size_new, pFp)
+GO(gtk_paper_size_new_custom, pFppddi)
+GO(gtk_paper_size_new_from_key_file, pFppp)
+GO(gtk_paper_size_new_from_ppd, pFppdd)
+GO(gtk_paper_size_set_size, vFpddi)
+GO(gtk_paper_size_to_key_file, vFppp)
+GO(gtk_parse_args, iFpp)
+GO(gtk_path_bar_get_type, iFv)
+GO(gtk_path_priority_type_get_type, iFv)
+GO(gtk_path_type_get_type, iFv)
+GO(gtk_pixmap_get, vFppp)
+GO(gtk_pixmap_get_type, iFv)
+GO(gtk_pixmap_new, pFpp)
+GO(gtk_pixmap_set, vFppp)
+GO(gtk_pixmap_set_build_insensitive, vFpi)
+GO(gtk_plug_construct, vFpp)
+GO(gtk_plug_construct_for_display, vFppp)
+GO(gtk_plug_get_embedded, iFp)
+GO(gtk_plug_get_id, pFp)
+GO(gtk_plug_get_socket_window, pFp)
+GO(gtk_plug_get_type, iFv)
+GO(gtk_plug_new, pFp)
+GO(gtk_plug_new_for_display, pFpp)
+GO(gtk_policy_type_get_type, iFv)
+GO(gtk_position_type_get_type, iFv)
+//GO(gtk_preview_draw_row, 
+//GO(gtk_preview_get_cmap, 
+//GO(gtk_preview_get_info, 
+GO(gtk_preview_get_type, iFv)
+//GO(gtk_preview_get_visual, 
+//GO(gtk_preview_new, 
+//GO(gtk_preview_put, 
+//GO(gtk_preview_reset, 
+//GO(gtk_preview_set_color_cube, 
+//GO(gtk_preview_set_dither, 
+//GO(gtk_preview_set_expand, 
+//GO(gtk_preview_set_gamma, 
+//GO(gtk_preview_set_install_cmap, 
+//GO(gtk_preview_set_reserved, 
+//GO(gtk_preview_size, 
+GO(gtk_preview_type_get_type, iFv)
+//GO(gtk_preview_uninit, 
+//GO(gtk_print_backend_add_printer, 
+//GO(gtk_print_backend_destroy, 
+//GO(gtk_print_backend_error_quark, 
+//GO(gtk_print_backend_find_printer, 
+//GO(gtk_print_backend_get_printer_list, 
+GO(gtk_print_backend_get_type, iFv)
+//GO(gtk_print_backend_load_modules, 
+//GO(gtk_print_backend_printer_list_is_done, 
+//GO(gtk_print_backend_print_stream, 
+//GO(gtk_print_backend_remove_printer, 
+//GO(gtk_print_backend_set_list_done, 
+//GO(gtk_print_backend_set_password, 
+GO(gtk_print_capabilities_get_type, iFv)
+//GO(gtk_print_context_create_pango_context, 
+//GO(gtk_print_context_create_pango_layout, 
+//GO(gtk_print_context_get_cairo_context, 
+//GO(gtk_print_context_get_dpi_x, 
+//GO(gtk_print_context_get_dpi_y, 
+//GO(gtk_print_context_get_hard_margins, 
+//GO(gtk_print_context_get_height, 
+//GO(gtk_print_context_get_page_setup, 
+//GO(gtk_print_context_get_pango_fontmap, 
+GO(gtk_print_context_get_type, iFv)
+//GO(gtk_print_context_get_width, 
+//GO(gtk_print_context_set_cairo_context, 
+GO(gtk_print_duplex_get_type, iFv)
+//GO(gtk_printer_accepts_pdf, 
+//GO(gtk_printer_accepts_ps, 
+//GO(gtk_printer_compare, 
+//GO(gtk_printer_get_backend, 
+//GO(gtk_printer_get_capabilities, 
+//GO(gtk_printer_get_default_page_size, 
+//GO(gtk_printer_get_description, 
+//GO(gtk_printer_get_hard_margins, 
+//GO(gtk_printer_get_icon_name, 
+//GO(gtk_printer_get_job_count, 
+//GO(gtk_printer_get_location, 
+//GO(gtk_printer_get_name, 
+//GO(gtk_printer_get_state_message, 
+GO(gtk_printer_get_type, iFv)
+//GO(gtk_printer_has_details, 
+//GO(gtk_printer_is_accepting_jobs, 
+//GO(gtk_printer_is_active, 
+//GO(gtk_printer_is_default, 
+//GO(gtk_printer_is_new, 
+//GO(gtk_printer_is_paused, 
+//GO(gtk_printer_is_virtual, 
+//GO(gtk_printer_list_papers, 
+//GO(gtk_printer_new, 
+//GO(gtk_printer_option_allocate_choices, 
+//GO(gtk_printer_option_choices_from_array, 
+//GO(gtk_printer_option_clear_has_conflict, 
+//GO(gtk_printer_option_get_activates_default, 
+GO(gtk_printer_option_get_type, iFv)
+//GO(gtk_printer_option_has_choice, 
+//GO(gtk_printer_option_new, 
+//GO(gtk_printer_option_set, 
+//GO(gtk_printer_option_set_activates_default, 
+//GO(gtk_printer_option_set_add, 
+//GO(gtk_printer_option_set_boolean, 
+//GO(gtk_printer_option_set_clear_conflicts, 
+//GO(gtk_printer_option_set_foreach, 
+//GO(gtk_printer_option_set_foreach_in_group, 
+//GO(gtk_printer_option_set_get_groups, 
+GO(gtk_printer_option_set_get_type, iFv)
+//GO(gtk_printer_option_set_has_conflict, 
+//GO(gtk_printer_option_set_lookup, 
+//GO(gtk_printer_option_set_new, 
+//GO(gtk_printer_option_set_remove, 
+//GO(gtk_printer_option_widget_get_external_label, 
+GO(gtk_printer_option_widget_get_type, iFv)
+//GO(gtk_printer_option_widget_get_value, 
+//GO(gtk_printer_option_widget_has_external_label, 
+//GO(gtk_printer_option_widget_new, 
+//GO(gtk_printer_option_widget_set_source, 
+//GO(gtk_printer_request_details, 
+GO(gtk_print_error_get_type, iFv)
+//GO(gtk_print_error_quark, 
+//GO(gtk_printer_set_accepts_pdf, 
+//GO(gtk_printer_set_accepts_ps, 
+//GO(gtk_printer_set_description, 
+//GO(gtk_printer_set_has_details, 
+//GO(gtk_printer_set_icon_name, 
+//GO(gtk_printer_set_is_accepting_jobs, 
+//GO(gtk_printer_set_is_active, 
+//GO(gtk_printer_set_is_default, 
+//GO(gtk_printer_set_is_new, 
+//GO(gtk_printer_set_is_paused, 
+//GO(gtk_printer_set_job_count, 
+//GO(gtk_printer_set_location, 
+//GO(gtk_printer_set_state_message, 
+//GO(gtk_print_job_get_printer, 
+//GO(gtk_print_job_get_settings, 
+//GO(gtk_print_job_get_status, 
+//GO(gtk_print_job_get_surface, 
+//GO(gtk_print_job_get_title, 
+//GO(gtk_print_job_get_track_print_status, 
+GO(gtk_print_job_get_type, iFv)
+//GO(gtk_print_job_new, 
+//GO(gtk_print_job_send, 
+//GO(gtk_print_job_set_source_file, 
+//GO(gtk_print_job_set_status, 
+//GO(gtk_print_job_set_track_print_status, 
+GO(gtk_print_operation_action_get_type, iFv)
+//GO(gtk_print_operation_cancel, 
+//GO(gtk_print_operation_draw_page_finish, 
+//GO(gtk_print_operation_get_default_page_setup, 
+//GO(gtk_print_operation_get_embed_page_setup, 
+//GO(gtk_print_operation_get_error, 
+//GO(gtk_print_operation_get_has_selection, 
+//GO(gtk_print_operation_get_n_pages_to_print, 
+//GO(gtk_print_operation_get_print_settings, 
+//GO(gtk_print_operation_get_status, 
+//GO(gtk_print_operation_get_status_string, 
+//GO(gtk_print_operation_get_support_selection, 
+GO(gtk_print_operation_get_type, iFv)
+//GO(gtk_print_operation_is_finished, 
+//GO(gtk_print_operation_new, 
+//GO(gtk_print_operation_preview_end_preview, 
+GO(gtk_print_operation_preview_get_type, iFv)
+//GO(gtk_print_operation_preview_is_selected, 
+//GO(gtk_print_operation_preview_render_page, 
+GO(gtk_print_operation_result_get_type, iFv)
+//GO(gtk_print_operation_run, 
+//GO(gtk_print_operation_set_allow_async, 
+//GO(gtk_print_operation_set_current_page, 
+//GO(gtk_print_operation_set_custom_tab_label, 
+//GO(gtk_print_operation_set_default_page_setup, 
+//GO(gtk_print_operation_set_defer_drawing, 
+//GO(gtk_print_operation_set_embed_page_setup, 
+//GO(gtk_print_operation_set_export_filename, 
+//GO(gtk_print_operation_set_has_selection, 
+//GO(gtk_print_operation_set_job_name, 
+//GO(gtk_print_operation_set_n_pages, 
+//GO(gtk_print_operation_set_print_settings, 
+//GO(gtk_print_operation_set_show_progress, 
+//GO(gtk_print_operation_set_support_selection, 
+//GO(gtk_print_operation_set_track_print_status, 
+//GO(gtk_print_operation_set_unit, 
+//GO(gtk_print_operation_set_use_full_page, 
+GO(gtk_print_pages_get_type, iFv)
+GO(gtk_print_quality_get_type, iFv)
+//GO(gtk_print_run_page_setup_dialog, 
+//GO(gtk_print_run_page_setup_dialog_async, 
+//GO(gtk_print_settings_copy, 
+//GO(gtk_print_settings_foreach, 
+//GO(gtk_print_settings_get, 
+//GO(gtk_print_settings_get_bool, 
+//GO(gtk_print_settings_get_collate, 
+//GO(gtk_print_settings_get_default_source, 
+//GO(gtk_print_settings_get_dither, 
+//GO(gtk_print_settings_get_double, 
+//GO(gtk_print_settings_get_double_with_default, 
+//GO(gtk_print_settings_get_duplex, 
+//GO(gtk_print_settings_get_finishings, 
+//GO(gtk_print_settings_get_int, 
+//GO(gtk_print_settings_get_int_with_default, 
+//GO(gtk_print_settings_get_length, 
+//GO(gtk_print_settings_get_media_type, 
+//GO(gtk_print_settings_get_n_copies, 
+//GO(gtk_print_settings_get_number_up, 
+//GO(gtk_print_settings_get_number_up_layout, 
+//GO(gtk_print_settings_get_orientation, 
+//GO(gtk_print_settings_get_output_bin, 
+//GO(gtk_print_settings_get_page_ranges, 
+//GO(gtk_print_settings_get_page_set, 
+//GO(gtk_print_settings_get_paper_height, 
+//GO(gtk_print_settings_get_paper_size, 
+//GO(gtk_print_settings_get_paper_width, 
+//GO(gtk_print_settings_get_printer, 
+//GO(gtk_print_settings_get_printer_lpi, 
+//GO(gtk_print_settings_get_print_pages, 
+//GO(gtk_print_settings_get_quality, 
+//GO(gtk_print_settings_get_resolution, 
+//GO(gtk_print_settings_get_resolution_x, 
+//GO(gtk_print_settings_get_resolution_y, 
+//GO(gtk_print_settings_get_reverse, 
+//GO(gtk_print_settings_get_scale, 
+GO(gtk_print_settings_get_type, iFv)
+//GO(gtk_print_settings_get_use_color, 
+//GO(gtk_print_settings_has_key, 
+//GO(gtk_print_settings_load_file, 
+//GO(gtk_print_settings_load_key_file, 
+//GO(gtk_print_settings_new, 
+//GO(gtk_print_settings_new_from_file, 
+//GO(gtk_print_settings_new_from_key_file, 
+//GO(gtk_print_settings_set, 
+//GO(gtk_print_settings_set_bool, 
+//GO(gtk_print_settings_set_collate, 
+//GO(gtk_print_settings_set_default_source, 
+//GO(gtk_print_settings_set_dither, 
+//GO(gtk_print_settings_set_double, 
+//GO(gtk_print_settings_set_duplex, 
+//GO(gtk_print_settings_set_finishings, 
+//GO(gtk_print_settings_set_int, 
+//GO(gtk_print_settings_set_length, 
+//GO(gtk_print_settings_set_media_type, 
+//GO(gtk_print_settings_set_n_copies, 
+//GO(gtk_print_settings_set_number_up, 
+//GO(gtk_print_settings_set_number_up_layout, 
+//GO(gtk_print_settings_set_orientation, 
+//GO(gtk_print_settings_set_output_bin, 
+//GO(gtk_print_settings_set_page_ranges, 
+//GO(gtk_print_settings_set_page_set, 
+//GO(gtk_print_settings_set_paper_height, 
+//GO(gtk_print_settings_set_paper_size, 
+//GO(gtk_print_settings_set_paper_width, 
+//GO(gtk_print_settings_set_printer, 
+//GO(gtk_print_settings_set_printer_lpi, 
+//GO(gtk_print_settings_set_print_pages, 
+//GO(gtk_print_settings_set_quality, 
+//GO(gtk_print_settings_set_resolution, 
+//GO(gtk_print_settings_set_resolution_xy, 
+//GO(gtk_print_settings_set_reverse, 
+//GO(gtk_print_settings_set_scale, 
+//GO(gtk_print_settings_set_use_color, 
+//GO(gtk_print_settings_to_file, 
+//GO(gtk_print_settings_to_key_file, 
+//GO(gtk_print_settings_unset, 
+GO(gtk_print_status_get_type, iFv)
+//GO(gtk_print_unix_dialog_add_custom_tab, 
+//GO(gtk_print_unix_dialog_get_current_page, 
+//GO(gtk_print_unix_dialog_get_embed_page_setup, 
+//GO(gtk_print_unix_dialog_get_has_selection, 
+//GO(gtk_print_unix_dialog_get_manual_capabilities, 
+//GO(gtk_print_unix_dialog_get_page_setup, 
+//GO(gtk_print_unix_dialog_get_page_setup_set, 
+//GO(gtk_print_unix_dialog_get_selected_printer, 
+//GO(gtk_print_unix_dialog_get_settings, 
+//GO(gtk_print_unix_dialog_get_support_selection, 
+GO(gtk_print_unix_dialog_get_type, iFv)
+//GO(gtk_print_unix_dialog_new, 
+//GO(gtk_print_unix_dialog_set_current_page, 
+//GO(gtk_print_unix_dialog_set_embed_page_setup, 
+//GO(gtk_print_unix_dialog_set_has_selection, 
+//GO(gtk_print_unix_dialog_set_manual_capabilities, 
+//GO(gtk_print_unix_dialog_set_page_setup, 
+//GO(gtk_print_unix_dialog_set_settings, 
+//GO(gtk_print_unix_dialog_set_support_selection, 
+GO(gtk_private_flags_get_type, iFv)
+GO(gtk_progress_bar_get_ellipsize, iFp)
+GO(gtk_progress_bar_get_fraction, dFp)
+GO(gtk_progress_bar_get_orientation, iFp)
+GO(gtk_progress_bar_get_pulse_step, fFp)
+GO(gtk_progress_bar_get_text, pFp)
+GO(gtk_progress_bar_get_type, iFv)
+GO(gtk_progress_bar_new, pFv)
+GO(gtk_progress_bar_new_with_adjustment, pFp)
+GO(gtk_progress_bar_orientation_get_type, iFv)
+GO(gtk_progress_bar_pulse, vFp)
+GO(gtk_progress_bar_set_activity_blocks, vFpu)
+GO(gtk_progress_bar_set_activity_step, vFpu)
+GO(gtk_progress_bar_set_bar_style, vFpi)
+GO(gtk_progress_bar_set_discrete_blocks, vFpu)
+GO(gtk_progress_bar_set_ellipsize, vFpi)
+GO(gtk_progress_bar_set_fraction, vFpd)
+GO(gtk_progress_bar_set_orientation, vFpi)
+GO(gtk_progress_bar_set_pulse_step, vFpd)
+GO(gtk_progress_bar_set_text, vFpp)
+GO(gtk_progress_bar_style_get_type, iFv)
+GO(gtk_progress_bar_update, vFpd)
+GO(gtk_progress_configure, vFpddd)
+GO(gtk_progress_get_current_percentage, dFp)
+GO(gtk_progress_get_current_text, pFp)
+GO(gtk_progress_get_percentage_from_value, dFpd)
+GO(gtk_progress_get_text_from_value, pFpd)
+GO(gtk_progress_get_type, iFv)
+GO(gtk_progress_get_value, dFp)
+GO(gtk_progress_set_activity_mode, vFpi)
+GO(gtk_progress_set_adjustment, vFpp)
+GO(gtk_progress_set_format_string, vFpp)
+GO(gtk_progress_set_percentage, vFpd)
+GO(gtk_progress_set_show_text, vFpi)
+GO(gtk_progress_set_text_alignment, vFpff)
+GO(gtk_progress_set_value, vFpd)
+GO(gtk_propagate_event, vFpp)
+//GOM(gtk_quit_add, iFEuBp)
+GO(gtk_quit_add_destroy, vFup)
+//GOM(gtk_quit_add_full, uFuBppB)
+GO(gtk_quit_remove, vFu)
+GO(gtk_quit_remove_by_data, vFp)
+GO(gtk_radio_action_get_current_value, iFp)
+GO(gtk_radio_action_get_group, pFp)
+GO(gtk_radio_action_get_type, iFv)
+GO(gtk_radio_action_new, pFppppi)
+GO(gtk_radio_action_set_current_value, vFpi)
+GO(gtk_radio_action_set_group, vFpp)
+GO(gtk_radio_button_get_group, pFp)
+GO(gtk_radio_button_get_type, iFv)
+GO(gtk_radio_button_new, pFp)
+GO(gtk_radio_button_new_from_widget, pFp)
+GO(gtk_radio_button_new_with_label, pFpp)
+GO(gtk_radio_button_new_with_label_from_widget, pFpp)
+GO(gtk_radio_button_new_with_mnemonic, pFpp)
+GO(gtk_radio_button_new_with_mnemonic_from_widget, pFpp)
+GO(gtk_radio_button_set_group, vFpp)
+GO(gtk_radio_menu_item_get_group, pFp)
+GO(gtk_radio_menu_item_get_type, iFv)
+GO(gtk_radio_menu_item_new, pFp)
+GO(gtk_radio_menu_item_new_from_widget, pFp)
+GO(gtk_radio_menu_item_new_with_label, pFpp)
+GO(gtk_radio_menu_item_new_with_label_from_widget, pFpp)
+GO(gtk_radio_menu_item_new_with_mnemonic, pFpp)
+GO(gtk_radio_menu_item_new_with_mnemonic_from_widget, pFpp)
+GO(gtk_radio_menu_item_set_group, vFpp)
+GO(gtk_radio_tool_button_get_group, pFp)
+GO(gtk_radio_tool_button_get_type, iFv)
+GO(gtk_radio_tool_button_new, pFp)
+GO(gtk_radio_tool_button_new_from_stock, pFpp)
+GO(gtk_radio_tool_button_new_from_widget, pFp)
+GO(gtk_radio_tool_button_new_with_stock_from_widget, pFpp)
+GO(gtk_radio_tool_button_set_group, vFpp)
+GO(gtk_range_get_adjustment, pFp)
+GO(gtk_range_get_fill_level, dFp)
+GO(gtk_range_get_flippable, iFp)
+GO(gtk_range_get_inverted, iFp)
+GO(gtk_range_get_lower_stepper_sensitivity, iFp)
+GO(gtk_range_get_min_slider_size, iFp)
+GO(gtk_range_get_range_rect, vFpp)
+GO(gtk_range_get_restrict_to_fill_level, iFp)
+GO(gtk_range_get_round_digits, iFp)
+GO(gtk_range_get_show_fill_level, iFp)
+GO(gtk_range_get_slider_range, vFppp)
+GO(gtk_range_get_slider_size_fixed, iFp)
+GO(gtk_range_get_type, iFv)
+GO(gtk_range_get_update_policy, iFp)
+GO(gtk_range_get_upper_stepper_sensitivity, iFp)
+GO(gtk_range_get_value, dFp)
+GO(gtk_range_set_adjustment, vFpp)
+GO(gtk_range_set_fill_level, vFpd)
+GO(gtk_range_set_flippable, vFpi)
+GO(gtk_range_set_increments, vFpdd)
+GO(gtk_range_set_inverted, vFpi)
+GO(gtk_range_set_lower_stepper_sensitivity, vFpi)
+GO(gtk_range_set_min_slider_size, vFpi)
+GO(gtk_range_set_range, vFpdd)
+GO(gtk_range_set_restrict_to_fill_level, vFpi)
+GO(gtk_range_set_round_digits, vFpi)
+GO(gtk_range_set_show_fill_level, vFpi)
+GO(gtk_range_set_slider_size_fixed, vFpi)
+GO(gtk_range_set_update_policy, vFpi)
+GO(gtk_range_set_upper_stepper_sensitivity, vFpi)
+GO(gtk_range_set_value, vFpd)
+GO(gtk_rc_add_class_style, vFpp)
+GO(gtk_rc_add_default_file, vFp)
+GO(gtk_rc_add_widget_class_style, vFpp)
+GO(gtk_rc_add_widget_name_style, vFpp)
+GO(gtk_rc_find_module_in_path, pFp)
+GO(gtk_rc_find_pixmap_in_path, pFppp)
+GO(gtk_rc_flags_get_type, iFv)
+GO(gtk_rc_get_default_files, pFv)
+GO(gtk_rc_get_im_module_file, pFv)
+GO(gtk_rc_get_im_module_path, pFv)
+GO(gtk_rc_get_module_dir, pFv)
+GO(gtk_rc_get_style, pFp)
+GO(gtk_rc_get_style_by_paths, pFpppi)
+GO(gtk_rc_get_theme_dir, pFv)
+GO(gtk_rc_parse, vFp)
+GO(gtk_rc_parse_color, uFpp)
+GO(gtk_rc_parse_color_full, uFppp)
+GO(gtk_rc_parse_priority, iFpp)
+GO(gtk_rc_parse_state, uFpp)
+GO(gtk_rc_parse_string, vFp)
+GO(gtk_rc_property_parse_border, iFppp)
+GO(gtk_rc_property_parse_color, iFppp)
+GO(gtk_rc_property_parse_enum, iFppp)
+GO(gtk_rc_property_parse_flags, iFppp)
+GO(gtk_rc_property_parse_requisition, iFppp)
+GO(gtk_rc_reparse_all, iFv)
+GO(gtk_rc_reparse_all_for_settings, iFpi)
+GO(gtk_rc_reset_styles, vFp)
+GO(gtk_rc_scanner_new, pFv)
+GO(gtk_rc_set_default_files, vFp)
+GO(gtk_rc_style_copy, pFp)
+GO(gtk_rc_style_get_type, iFv)
+GO(gtk_rc_style_new, pFv)
+GO(gtk_rc_style_ref, vFp)
+GO(gtk_rc_style_unref, vFp)
+GO(gtk_rc_token_type_get_type, iFv)
+//GO(gtk_recent_action_get_show_numbers, 
+GO(gtk_recent_action_get_type, iFv)
+//GO(gtk_recent_action_new, 
+//GO(gtk_recent_action_new_for_manager, 
+//GO(gtk_recent_action_set_show_numbers, 
+//GO(gtk_recent_chooser_add_filter, 
+GO(gtk_recent_chooser_dialog_get_type, iFv)
+//GO(gtk_recent_chooser_dialog_new, 
+//GO(gtk_recent_chooser_dialog_new_for_manager, 
+GO(gtk_recent_chooser_error_get_type, iFv)
+//GO(gtk_recent_chooser_error_quark, 
+//GO(gtk_recent_chooser_get_current_item, 
+//GO(gtk_recent_chooser_get_current_uri, 
+//GO(gtk_recent_chooser_get_filter, 
+//GO(gtk_recent_chooser_get_items, 
+//GO(gtk_recent_chooser_get_limit, 
+//GO(gtk_recent_chooser_get_local_only, 
+//GO(gtk_recent_chooser_get_select_multiple, 
+//GO(gtk_recent_chooser_get_show_icons, 
+//GO(gtk_recent_chooser_get_show_not_found, 
+//GO(gtk_recent_chooser_get_show_numbers, 
+//GO(gtk_recent_chooser_get_show_private, 
+//GO(gtk_recent_chooser_get_show_tips, 
+//GO(gtk_recent_chooser_get_sort_type, 
+GO(gtk_recent_chooser_get_type, iFv)
+//GO(gtk_recent_chooser_get_uris, 
+//GO(gtk_recent_chooser_list_filters, 
+//GO(gtk_recent_chooser_menu_get_show_numbers, 
+GO(gtk_recent_chooser_menu_get_type, iFv)
+//GO(gtk_recent_chooser_menu_new, 
+//GO(gtk_recent_chooser_menu_new_for_manager, 
+//GO(gtk_recent_chooser_menu_set_show_numbers, 
+//GO(gtk_recent_chooser_remove_filter, 
+//GO(gtk_recent_chooser_select_all, 
+//GO(gtk_recent_chooser_select_uri, 
+//GO(gtk_recent_chooser_set_current_uri, 
+//GO(gtk_recent_chooser_set_filter, 
+//GO(gtk_recent_chooser_set_limit, 
+//GO(gtk_recent_chooser_set_local_only, 
+//GO(gtk_recent_chooser_set_select_multiple, 
+//GO(gtk_recent_chooser_set_show_icons, 
+//GO(gtk_recent_chooser_set_show_not_found, 
+//GO(gtk_recent_chooser_set_show_numbers, 
+//GO(gtk_recent_chooser_set_show_private, 
+//GO(gtk_recent_chooser_set_show_tips, 
+//GO(gtk_recent_chooser_set_sort_func, 
+//GO(gtk_recent_chooser_set_sort_type, 
+//GO(gtk_recent_chooser_unselect_all, 
+//GO(gtk_recent_chooser_unselect_uri, 
+GO(gtk_recent_chooser_widget_get_type, iFv)
+//GO(gtk_recent_chooser_widget_new, 
+//GO(gtk_recent_chooser_widget_new_for_manager, 
+GO(gtk_recent_filter_add_age, vFpi)
+GO(gtk_recent_filter_add_application, vFpp)
+//GOM(gtk_recent_filter_add_custom, vFEpippp)
+GO(gtk_recent_filter_add_group, vFpp)
+GO(gtk_recent_filter_add_mime_type, vFpp)
+GO(gtk_recent_filter_add_pattern, vFpp)
+GO(gtk_recent_filter_add_pixbuf_formats, vFp)
+GO(gtk_recent_filter_filter, iFpp)
+GO(gtk_recent_filter_flags_get_type, iFv)
+GO(gtk_recent_filter_get_name, pFp)
+GO(gtk_recent_filter_get_needed, iFp)
+GO(gtk_recent_filter_get_type, iFv)
+GO(gtk_recent_filter_new, pFv)
+GO(gtk_recent_filter_set_name, vFpp)
+GO(gtk_recent_info_exists, iFp)
+GO(gtk_recent_info_get_added, uFp)
+GO(gtk_recent_info_get_age, iFp)
+GO(gtk_recent_info_get_application_info, iFppppp)
+GO(gtk_recent_info_get_applications, pFpp)
+GO(gtk_recent_info_get_description, pFp)
+GO(gtk_recent_info_get_display_name, pFp)
+GO(gtk_recent_info_get_groups, pFpp)
+GO(gtk_recent_info_get_icon, pFpi)
+GO(gtk_recent_info_get_mime_type, pFp)
+GO(gtk_recent_info_get_modified, lFp)
+GO(gtk_recent_info_get_private_hint, iFp)
+GO(gtk_recent_info_get_short_name, pFp)
+GO(gtk_recent_info_get_type, iFv)
+GO(gtk_recent_info_get_uri, pFp)
+GO(gtk_recent_info_get_uri_display, pFp)
+GO(gtk_recent_info_get_visited, lFp)
+GO(gtk_recent_info_has_application, iFpp)
+GO(gtk_recent_info_has_group, iFpp)
+GO(gtk_recent_info_is_local, iFp)
+GO(gtk_recent_info_last_application, pFp)
+GO(gtk_recent_info_match, iFpp)
+GO(gtk_recent_info_ref, pFp)
+GO(gtk_recent_info_unref, vFp)
+GO(gtk_recent_manager_add_full, iFppp)
+GO(gtk_recent_manager_add_item, iFpp)
+GO(gtk_recent_manager_error_get_type, iFv)
+GO(gtk_recent_manager_error_quark, pFv)
+GO(gtk_recent_manager_get_default, pFv)
+GO(gtk_recent_manager_get_for_screen, pFp)
+GO(gtk_recent_manager_get_items, pFp)
+GO(gtk_recent_manager_get_limit, iFp)
+GO(gtk_recent_manager_get_type, iFv)
+GO(gtk_recent_manager_has_item, iFpp)
+GO(gtk_recent_manager_lookup_item, pFppp)
+GO(gtk_recent_manager_move_item, iFpppp)
+GO(gtk_recent_manager_new, pFv)
+GO(gtk_recent_manager_purge_items, iFpp)
+GO(gtk_recent_manager_remove_item, iFppp)
+GO(gtk_recent_manager_set_limit, vFpi)
+GO(gtk_recent_manager_set_screen, vFpp)
+GO(gtk_recent_sort_type_get_type, iFv)
+GO(gtk_relief_style_get_type, iFv)
+GO(gtk_requisition_copy, pFp)
+GO(gtk_requisition_free, vFp)
+GO(gtk_requisition_get_type, iFv)
+GO(gtk_resize_mode_get_type, iFv)
+GO(gtk_response_type_get_type, iFv)
+//GO(gtk_rgb_to_hsv, 
+//GO(gtk_ruler_draw_pos, 
+//GO(gtk_ruler_draw_ticks, 
+//GO(gtk_ruler_get_metric, 
+//GO(gtk_ruler_get_range, 
+GO(gtk_ruler_get_type, iFv)
+//GO(gtk_ruler_set_metric, 
+//GO(gtk_ruler_set_range, 
+//GO(gtk_scale_add_mark, 
+//GO(gtk_scale_button_get_adjustment, 
+//GO(gtk_scale_button_get_minus_button, 
+//GO(gtk_scale_button_get_orientation, 
+//GO(gtk_scale_button_get_plus_button, 
+//GO(gtk_scale_button_get_popup, 
+GO(gtk_scale_button_get_type, iFv)
+//GO(gtk_scale_button_get_value, 
+//GO(gtk_scale_button_new, 
+//GO(gtk_scale_button_set_adjustment, 
+//GO(gtk_scale_button_set_icons, 
+//GO(gtk_scale_button_set_orientation, 
+//GO(gtk_scale_button_set_value, 
+//GO(gtk_scale_clear_marks, 
+//GO(gtk_scale_get_digits, 
+//GO(gtk_scale_get_draw_value, 
+//GO(gtk_scale_get_layout, 
+//GO(gtk_scale_get_layout_offsets, 
+GO(gtk_scale_get_type, iFv)
+//GO(gtk_scale_get_value_pos, 
+//GO(gtk_scale_set_digits, 
+//GO(gtk_scale_set_draw_value, 
+//GO(gtk_scale_set_value_pos, 
+GO(gtk_scrollbar_get_type, iFv)
+GO(gtk_scrolled_window_add_with_viewport, vFpp)
+GO(gtk_scrolled_window_get_hadjustment, pFp)
+GO(gtk_scrolled_window_get_hscrollbar, pFp)
+GO(gtk_scrolled_window_get_placement, iFp)
+GO(gtk_scrolled_window_get_policy, vFppp)
+GO(gtk_scrolled_window_get_shadow_type, iFp)
+GO(gtk_scrolled_window_get_type, iFv)
+GO(gtk_scrolled_window_get_vadjustment, pFp)
+GO(gtk_scrolled_window_get_vscrollbar, pFp)
+GO(gtk_scrolled_window_new, pFpp)
+GO(gtk_scrolled_window_set_hadjustment, vFpp)
+GO(gtk_scrolled_window_set_placement, vFpi)
+GO(gtk_scrolled_window_set_policy, vFpii)
+GO(gtk_scrolled_window_set_shadow_type, vFpi)
+GO(gtk_scrolled_window_set_vadjustment, vFpp)
+GO(gtk_scrolled_window_unset_placement, vFp)
+GO(gtk_scroll_step_get_type, iFv)
+GO(gtk_scroll_type_get_type, iFv)
+GO(gtk_selection_add_target, vFpppu)
+GO(gtk_selection_add_targets, vFpppu)
+GO(gtk_selection_clear, iFpp)
+GO(gtk_selection_clear_targets, vFpp)
+GO(gtk_selection_convert, iFpppu)
+GO(gtk_selection_data_copy, pFp)
+GO(gtk_selection_data_free, vFp)
+GO(gtk_selection_data_get_data, pFp)
+GO(gtk_selection_data_get_data_type, iFp)
+GO(gtk_selection_data_get_display, pFp)
+GO(gtk_selection_data_get_format, iFp)
+GO(gtk_selection_data_get_length, iFp)
+GO(gtk_selection_data_get_pixbuf, pFp)
+GO(gtk_selection_data_get_selection, pFp)
+GO(gtk_selection_data_get_target, pFp)
+GO(gtk_selection_data_get_targets, iFppp)
+GO(gtk_selection_data_get_text, pFp)
+GO(gtk_selection_data_get_type, iFv)
+GO(gtk_selection_data_get_uris, pFp)
+GO(gtk_selection_data_set, vFppipi)
+GO(gtk_selection_data_set_pixbuf, iFpp)
+GO(gtk_selection_data_set_text, iFppi)
+GO(gtk_selection_data_set_uris, iFpp)
+GO(gtk_selection_data_targets_include_image, iFpi)
+GO(gtk_selection_data_targets_include_rich_text, iFpp)
+GO(gtk_selection_data_targets_include_text, iFp)
+GO(gtk_selection_data_targets_include_uri, iFp)
+GO(gtk_selection_mode_get_type, iFv)
+GO(gtk_selection_owner_set, iFppu)
+GO(gtk_selection_owner_set_for_display, iFpppu)
+GO(gtk_selection_remove_all, vFp)
+GO(gtk_sensitivity_type_get_type, iFv)
+GO(gtk_separator_get_type, iFv)
+GO(gtk_separator_menu_item_get_type, iFv)
+GO(gtk_separator_menu_item_new, pFv)
+GO(gtk_separator_tool_item_get_draw, iFp)
+GO(gtk_separator_tool_item_get_type, iFv)
+GO(gtk_separator_tool_item_new, pFv)
+GO(gtk_separator_tool_item_set_draw, vFpi)
+GO(gtk_set_locale, pFv)
+GO(gtk_settings_get_default, pFv)
+GO(gtk_settings_get_for_screen, pFp)
+GO(gtk_settings_get_type, iFv)
+GO(gtk_settings_install_property, vFp)
+//GOM(gtk_settings_install_property_parser, vFEpB)
+GO(gtk_settings_set_double_property, vFppdp)
+GO(gtk_settings_set_long_property, vFpplp)
+GO(gtk_settings_set_property_value, vFppp)  //TODO: GtkSettingsValue needs alignment too!
+GO(gtk_settings_set_string_property, vFpppp)
+GO(gtk_shadow_type_get_type, iFv)
+//GO(gtk_show_about_dialog, 
+GO(gtk_show_uri, iFppup)
+GO(gtk_side_type_get_type, iFv)
+//GO(gtk_signal_compat_matched, 
+GOM(gtk_signal_connect_full, LFEppppppii)
+//GO(gtk_signal_connect_object_while_alive, 
+//GO(gtk_signal_connect_while_alive, 
+//GO(gtk_signal_emit, 
+//GO(gtk_signal_emit_by_name, 
+//GO(gtk_signal_emit_stop_by_name, 
+//GO(gtk_signal_emitv, 
+//GO(gtk_signal_emitv_by_name, 
+//GO(gtk_signal_new, 
+//GO(gtk_signal_newv, 
+GO(gtk_signal_run_type_get_type, iFv)
+//GO(gtk_size_group_add_widget, 
+//GO(gtk_size_group_get_ignore_hidden, 
+//GO(gtk_size_group_get_mode, 
+GO(gtk_size_group_get_type, iFv)
+//GO(gtk_size_group_get_widgets, 
+GO(gtk_size_group_mode_get_type, iFv)
+//GO(gtk_size_group_new, 
+//GO(gtk_size_group_remove_widget, 
+//GO(gtk_size_group_set_ignore_hidden, 
+//GO(gtk_size_group_set_mode, 
+GO(gtk_socket_add_id, vFpp)
+GO(gtk_socket_get_id, pFp)
+GO(gtk_socket_get_plug_window, pFp)
+GO(gtk_socket_get_type, iFv)
+GO(gtk_socket_new, pFv)
+GO(gtk_socket_steal, vFpp)
+GO(gtk_sort_type_get_type, iFv)
+GO(gtk_spin_button_configure, vFppdu)
+GO(gtk_spin_button_get_adjustment, pFp)
+GO(gtk_spin_button_get_digits, uFp)
+GO(gtk_spin_button_get_increments, vFppp)
+GO(gtk_spin_button_get_numeric, iFp)
+GO(gtk_spin_button_get_range, vFppp)
+GO(gtk_spin_button_get_snap_to_ticks, iFp)
+GO(gtk_spin_button_get_type, iFv)
+GO(gtk_spin_button_get_update_policy, iFp)
+GO(gtk_spin_button_get_value, dFp)
+GO(gtk_spin_button_get_value_as_int, iFp)
+GO(gtk_spin_button_get_wrap, iFp)
+GO(gtk_spin_button_new, pFpdu)
+GO(gtk_spin_button_new_with_range, pFddd)
+GO(gtk_spin_button_set_adjustment, vFpp)
+GO(gtk_spin_button_set_digits, vFpu)
+GO(gtk_spin_button_set_increments, vFpdd)
+GO(gtk_spin_button_set_numeric, vFpi)
+GO(gtk_spin_button_set_range, vFpdd)
+GO(gtk_spin_button_set_snap_to_ticks, vFpi)
+GO(gtk_spin_button_set_update_policy, vFpi)
+GO(gtk_spin_button_set_value, vFpd)
+GO(gtk_spin_button_set_wrap, vFpi)
+GO(gtk_spin_button_spin, vFpid)
+GO(gtk_spin_button_update, vFp)
+GO(gtk_spin_button_update_policy_get_type, iFv)
+GO(gtk_spinner_get_type, iFv)
+GO(gtk_spinner_new, pFv)
+GO(gtk_spinner_start, vFp)
+GO(gtk_spinner_stop, vFp)
+GO(gtk_spin_type_get_type, iFv)
+GO(gtk_state_type_get_type, iFv)
+GO(gtk_statusbar_get_context_id, uFpp)
+GO(gtk_statusbar_get_has_resize_grip, iFp)
+GO(gtk_statusbar_get_message_area, pFp)
+GO(gtk_statusbar_get_type, iFv)
+GO(gtk_statusbar_new, pFv)
+GO(gtk_statusbar_pop, vFpu)
+GO(gtk_statusbar_push, uFpup)
+GO(gtk_statusbar_remove, vFpuu)
+GO(gtk_statusbar_remove_all, vFpu)
+GO(gtk_statusbar_set_has_resize_grip, vFpi)
+GO(gtk_status_icon_get_blinking, iFp)
+GO(gtk_status_icon_get_geometry, iFpppp)
+GO(gtk_status_icon_get_gicon, pFp)
+GO(gtk_status_icon_get_has_tooltip, iFp)
+GO(gtk_status_icon_get_icon_name, pFp)
+GO(gtk_status_icon_get_pixbuf, pFp)
+GO(gtk_status_icon_get_screen, pFp)
+GO(gtk_status_icon_get_size, iFp)
+GO(gtk_status_icon_get_stock, pFp)
+GO(gtk_status_icon_get_storage_type, iFp)
+GO(gtk_status_icon_get_title, pFp)
+GO(gtk_status_icon_get_tooltip_markup, pFp)
+GO(gtk_status_icon_get_tooltip_text, pFp)
+GO(gtk_status_icon_get_type, iFv)
+GO(gtk_status_icon_get_visible, iFp)
+GO(gtk_status_icon_get_x11_window_id, uFp)
+GO(gtk_status_icon_is_embedded, iFp)
+GO(gtk_status_icon_new, pFv)
+GO(gtk_status_icon_new_from_file, pFp)
+GO(gtk_status_icon_new_from_gicon, pFp)
+GO(gtk_status_icon_new_from_icon_name, pFp)
+GO(gtk_status_icon_new_from_pixbuf, pFp)
+GO(gtk_status_icon_new_from_stock, pFp)
+GO(gtk_status_icon_position_menu, vFppppp)
+GO(gtk_status_icon_set_blinking, vFpi)
+GO(gtk_status_icon_set_from_file, vFpp)
+GO(gtk_status_icon_set_from_gicon, vFpp)
+GO(gtk_status_icon_set_from_icon_name, vFpp)
+GO(gtk_status_icon_set_from_pixbuf, vFpp)
+GO(gtk_status_icon_set_from_stock, vFpp)
+GO(gtk_status_icon_set_has_tooltip, vFpi)
+GO(gtk_status_icon_set_name, vFpp)
+GO(gtk_status_icon_set_screen, vFpp)
+GO(gtk_status_icon_set_title, vFpp)
+GO(gtk_status_icon_set_tooltip, vFpp)
+GO(gtk_status_icon_set_tooltip_markup, vFpp)
+GO(gtk_status_icon_set_tooltip_text, vFpp)
+GO(gtk_status_icon_set_visible, vFpi)
+GO(gtk_stock_add, vFpu)
+GO(gtk_stock_add_static, vFpu)
+GO(gtk_stock_item_copy, pFp)
+GO(gtk_stock_item_free, vFp)
+GO(gtk_stock_list_ids, pFv)
+GO(gtk_stock_lookup, iFpp)
+GOM(gtk_stock_set_translate_func, vFEpppp)
+GO(gtk_style_apply_default_background, vFppiipiiii)
+GO(gtk_style_attach, pFpp)
+GO(gtk_style_copy, pFp)
+GO(gtk_style_detach, vFp)
+GO(gtk_style_get, vFpippppppppppp)  //vaarg, wrap with gtk_style_get_valist?
+GO(gtk_style_get_font, pFp)
+GO(gtk_style_get_style_property, vFpipp)
+GO(gtk_style_get_type, iFv)
+//GO(gtk_style_get_valist, vFpipp)    
+GO(gtk_style_lookup_color, iFppp)
+GO(gtk_style_lookup_icon_set, pFpp)
+GO(gtk_style_new, pFv)
+GO(gtk_style_ref, pFp)
+GO(gtk_style_render_icon, pFppiiipp)
+GO(gtk_style_set_background, vFppi)
+GO(gtk_style_set_font, vFpp)
+GO(gtk_style_unref, vFp)
+GO(gtk_submenu_direction_get_type, iFv)
+GO(gtk_submenu_placement_get_type, iFv)
+GO(gtk_table_attach, vFppuuuuiiuu)
+GO(gtk_table_attach_defaults, vFppuuuu)
+GO(gtk_table_get_col_spacing, uFpu)
+GO(gtk_table_get_default_col_spacing, uFp)
+GO(gtk_table_get_default_row_spacing, uFp)
+GO(gtk_table_get_homogeneous, iFp)
+GO(gtk_table_get_row_spacing, uFpu)
+GO(gtk_table_get_size, vFppp)
+GO(gtk_table_get_type, iFv)
+GO(gtk_table_new, pFuui)
+GO(gtk_table_resize, vFpuu)
+GO(gtk_table_set_col_spacing, vFpuu)
+GO(gtk_table_set_col_spacings, vFpu)
+GO(gtk_table_set_homogeneous, vFpi)
+GO(gtk_table_set_row_spacing, vFpuu)
+GO(gtk_table_set_row_spacings, vFpu)
+GO(gtk_target_flags_get_type, iFv)
+GO(gtk_target_list_add, vFppuu)
+GO(gtk_target_list_add_image_targets, vFpui)
+GO(gtk_target_list_add_rich_text_targets, vFpuip)
+GO(gtk_target_list_add_table, vFppu)
+GO(gtk_target_list_add_text_targets, vFpu)
+GO(gtk_target_list_add_uri_targets, vFpu)
+GO(gtk_target_list_find, iFppp)
+GO(gtk_target_list_get_type, iFv)
+GO(gtk_target_list_new, pFpu)
+GO(gtk_target_list_ref, pFp)
+GO(gtk_target_list_remove, iFppp)
+GO(gtk_target_list_unref, vFp)
+GO(gtk_targets_include_image, iFpii)
+GO(gtk_targets_include_rich_text, iFpip)
+GO(gtk_targets_include_text, iFpi)
+GO(gtk_targets_include_uri, iFpi)
+GO(gtk_target_table_free, vFpi)
+GO(gtk_target_table_new_from_list, pFpp)
+GO(gtk_tearoff_menu_item_get_type, iFv)
+GO(gtk_tearoff_menu_item_new, pFv)
+//GO(gtk_test_create_simple_window, 
+//GO(gtk_test_create_widget, 
+//GO(gtk_test_display_button_window, 
+//GO(gtk_test_find_label, 
+//GO(gtk_test_find_sibling, 
+//GO(gtk_test_find_widget, 
+//GO(gtk_test_init, 
+//GO(gtk_test_list_all_types, 
+//GO(gtk_test_register_all_types, 
+//GO(gtk_test_slider_get_value, 
+//GO(gtk_test_slider_set_perc, 
+//GO(gtk_test_spin_button_click, 
+//GO(gtk_test_text_get, 
+//GO(gtk_test_text_set, 
+//GO(gtk_test_widget_click, 
+//GO(gtk_test_widget_send_key, 
+GO(gtk_text_anchored_child_set_layout, vFpp)
+GO(gtk_text_attributes_copy, pFp)
+GO(gtk_text_attributes_copy_values, vFpp)
+GO(gtk_text_attributes_get_type, iFv)
+GO(gtk_text_attributes_new, pFv)
+GO(gtk_text_attributes_ref, pFp)
+GO(gtk_text_attributes_unref, vFp)
+GO(gtk_text_backward_delete, iFpu)
+GO(gtk_text_buffer_add_mark, vFpp)
+GO(gtk_text_buffer_add_selection_clipboard, vFpp)
+GO(gtk_text_buffer_apply_tag, vFpppp)
+GO(gtk_text_buffer_apply_tag_by_name, vFpp)
+GO(gtk_text_buffer_backspace, iFppii)
+GO(gtk_text_buffer_begin_user_action, vFp)
+GO(gtk_text_buffer_copy_clipboard, vFpp)
+GO(gtk_text_buffer_create_child_anchor, pFpp)
+GO(gtk_text_buffer_create_mark, pFpppi)
+GO(gtk_text_buffer_create_tag, pFppppppppppppppp) //vaarg after 3 p
+GO(gtk_text_buffer_cut_clipboard, vFppi)
+GO(gtk_text_buffer_delete, vFppp)
+GO(gtk_text_buffer_delete_interactive, iFpppi)
+GO(gtk_text_buffer_delete_mark, vFpp)
+GO(gtk_text_buffer_delete_mark_by_name, vFpp)
+GO(gtk_text_buffer_delete_selection, iFpii)
+GO(gtk_text_buffer_deserialize, iFpppppup)
+GO(gtk_text_buffer_deserialize_get_can_create_tags, iFpp)
+GO(gtk_text_buffer_deserialize_set_can_create_tags, vFppi)
+GO(gtk_text_buffer_end_user_action, vFp)
+GO(gtk_text_buffer_get_bounds, vFppp)
+GO(gtk_text_buffer_get_char_count, iFp)
+GO(gtk_text_buffer_get_copy_target_list, pFp)
+GO(gtk_text_buffer_get_deserialize_formats, pFpp)
+GO(gtk_text_buffer_get_end_iter, vFpp)
+GO(gtk_text_buffer_get_has_selection, iFp)
+GO(gtk_text_buffer_get_insert, pFp)
+GO(gtk_text_buffer_get_iter_at_child_anchor, vFppp)
+GO(gtk_text_buffer_get_iter_at_line, vFppi)
+GO(gtk_text_buffer_get_iter_at_line_index, vFppii)
+GO(gtk_text_buffer_get_iter_at_line_offset, vFppii)
+GO(gtk_text_buffer_get_iter_at_mark, vFppp)
+GO(gtk_text_buffer_get_iter_at_offset, vFppi)
+GO(gtk_text_buffer_get_line_count, iFp)
+GO(gtk_text_buffer_get_mark, pFpp)
+GO(gtk_text_buffer_get_modified, iFp)
+GO(gtk_text_buffer_get_paste_target_list, pFp)
+GO(gtk_text_buffer_get_selection_bound, pFp)
+GO(gtk_text_buffer_get_selection_bounds, iFppp)
+GO(gtk_text_buffer_get_serialize_formats, pFpp)
+GO(gtk_text_buffer_get_slice, pFpppi)
+GO(gtk_text_buffer_get_start_iter, vFpp)
+GO(gtk_text_buffer_get_tag_table, pFp)
+GO(gtk_text_buffer_get_text, pFpppi)
+GO(gtk_text_buffer_get_type, iFv)
+GO(gtk_text_buffer_insert, vFpppi)
+GO(gtk_text_buffer_insert_at_cursor, vFppi)
+GO(gtk_text_buffer_insert_child_anchor, vFppp)
+GO(gtk_text_buffer_insert_interactive, iFpppii)
+GO(gtk_text_buffer_insert_interactive_at_cursor, iFppii)
+GO(gtk_text_buffer_insert_pixbuf, vFppp)
+GO(gtk_text_buffer_insert_range, vFpppp)
+GO(gtk_text_buffer_insert_range_interactive, iFppppi)
+GO(gtk_text_buffer_insert_with_tags, vFpppipppppppppppppp)
+GO(gtk_text_buffer_insert_with_tags_by_name, vFpppippppppppppp)
+GO(gtk_text_buffer_move_mark, vFppp)
+GO(gtk_text_buffer_move_mark_by_name, vFppp)
+GO(gtk_text_buffer_new, pFp)
+GO(gtk_text_buffer_paste_clipboard, vFpppi)
+GO(gtk_text_buffer_place_cursor, vFpp)
+//GOM(gtk_text_buffer_register_deserialize_format, pFEppBpB)
+GO(gtk_text_buffer_register_deserialize_tagset, pFpp)
+//GOM(gtk_text_buffer_register_serialize_format, pFppBpB)
+GO(gtk_text_buffer_register_serialize_tagset, pFpp)
+GO(gtk_text_buffer_remove_all_tags, vFppp)
+GO(gtk_text_buffer_remove_selection_clipboard, vFpp)
+GO(gtk_text_buffer_remove_tag, vFpppp)
+GO(gtk_text_buffer_remove_tag_by_name, vFpppp)
+GO(gtk_text_buffer_select_range, vFppp)
+GO(gtk_text_buffer_serialize, pFpppppp)
+GO(gtk_text_buffer_set_modified, vFpi)
+GO(gtk_text_buffer_set_text, vFppi)
+GO(gtk_text_buffer_target_info_get_type, iFv)
+GO(gtk_text_buffer_unregister_deserialize_format, vFpp)
+GO(gtk_text_buffer_unregister_serialize_format, vFpp)
+GO(gtk_text_byte_begins_utf8_char, iFp)
+GO(gtk_text_child_anchor_get_deleted, iFp)
+GO(gtk_text_child_anchor_get_type, iFv)
+GO(gtk_text_child_anchor_get_widgets, pFp)
+GO(gtk_text_child_anchor_new, pFv)
+GO(gtk_text_child_anchor_queue_resize, vFpp)
+GO(gtk_text_child_anchor_register_child, vFppp)
+GO(gtk_text_child_anchor_unregister_child, vFpp)
+GO(gtk_text_direction_get_type, iFv)
+GO(gtk_text_forward_delete, iFpu)
+GO(gtk_text_freeze, vFp)
+GO(gtk_text_get_length, uFp)
+GO(gtk_text_get_point, uFp)
+GO(gtk_text_get_type, iFv)
+GO(gtk_text_insert, vFpppppi)
+GO(gtk_text_iter_backward_char, iFp)
+GO(gtk_text_iter_backward_chars, iFpi)
+GO(gtk_text_iter_backward_cursor_position, iFp)
+GO(gtk_text_iter_backward_cursor_positions, iFpi)
+GOM(gtk_text_iter_backward_find_char, iFEpppp)
+GO(gtk_text_iter_backward_line, iFp)
+GO(gtk_text_iter_backward_lines, iFpi)
+GO(gtk_text_iter_backward_search, iFppuppp)
+GO(gtk_text_iter_backward_sentence_start, iFp)
+GO(gtk_text_iter_backward_sentence_starts, iFpi)
+GO(gtk_text_iter_backward_to_tag_toggle, iFpp)
+GO(gtk_text_iter_backward_visible_cursor_position, iFp)
+GO(gtk_text_iter_backward_visible_cursor_positions, iFpi)
+GO(gtk_text_iter_backward_visible_line, iFp)
+GO(gtk_text_iter_backward_visible_lines, iFpi)
+GO(gtk_text_iter_backward_visible_word_start, iFp)
+GO(gtk_text_iter_backward_visible_word_starts, iFpi)
+GO(gtk_text_iter_backward_word_start, iFp)
+GO(gtk_text_iter_backward_word_starts, iFpi)
+GO(gtk_text_iter_begins_tag, iFpp)
+GO(gtk_text_iter_can_insert, iFpi)
+GO(gtk_text_iter_compare, iFpp)
+GO(gtk_text_iter_copy, pFp)
+GO(gtk_text_iter_editable, iFpi)
+GO(gtk_text_iter_ends_line, iFp)
+GO(gtk_text_iter_ends_sentence, iFp)
+GO(gtk_text_iter_ends_tag, iFpp)
+GO(gtk_text_iter_ends_word, iFp)
+GO(gtk_text_iter_equal, iFpp)
+GO(gtk_text_iter_forward_char, iFp)
+GO(gtk_text_iter_forward_chars, iFpi)
+GO(gtk_text_iter_forward_cursor_position, iFp)
+GO(gtk_text_iter_forward_cursor_positions, iFpi)
+GOM(gtk_text_iter_forward_find_char, iFEpppp)
+GO(gtk_text_iter_forward_line, iFp)
+GO(gtk_text_iter_forward_lines, iFpi)
+GO(gtk_text_iter_forward_search, iFppuppp)
+GO(gtk_text_iter_forward_sentence_end, iFp)
+GO(gtk_text_iter_forward_sentence_ends, iFpi)
+GO(gtk_text_iter_forward_to_end, iFp)
+GO(gtk_text_iter_forward_to_line_end, iFp)
+GO(gtk_text_iter_forward_to_tag_toggle, iFpp)
+GO(gtk_text_iter_forward_visible_cursor_position, iFp)
+GO(gtk_text_iter_forward_visible_cursor_positions, iFpi)
+GO(gtk_text_iter_forward_visible_line, iFp)
+GO(gtk_text_iter_forward_visible_lines, iFpi)
+GO(gtk_text_iter_forward_visible_word_end, iFp)
+GO(gtk_text_iter_forward_visible_word_ends, iFpi)
+GO(gtk_text_iter_forward_word_end, iFp)
+GO(gtk_text_iter_forward_word_ends, iFpi)
+GO(gtk_text_iter_free, vFp)
+GO(gtk_text_iter_get_attributes, iFpp)
+GO(gtk_text_iter_get_buffer, pFp)
+GO(gtk_text_iter_get_bytes_in_line, iFp)
+GO(gtk_text_iter_get_char, uFp)
+GO(gtk_text_iter_get_chars_in_line, iFp)
+GO(gtk_text_iter_get_child_anchor, pFp)
+GO(gtk_text_iter_get_language, pFp)
+GO(gtk_text_iter_get_line, iFp)
+GO(gtk_text_iter_get_line_index, iFp)
+GO(gtk_text_iter_get_line_offset, iFp)
+GO(gtk_text_iter_get_marks, pFp)
+GO(gtk_text_iter_get_offset, iFp)
+GO(gtk_text_iter_get_pixbuf, pFp)
+GO(gtk_text_iter_get_slice, pFpp)
+GO(gtk_text_iter_get_tags, pFp)
+GO(gtk_text_iter_get_text, pFpp)
+GO(gtk_text_iter_get_toggled_tags, pFpi)
+GO(gtk_text_iter_get_type, iFv)
+GO(gtk_text_iter_get_visible_line_index, iFp)
+GO(gtk_text_iter_get_visible_line_offset, iFp)
+GO(gtk_text_iter_get_visible_slice, pFpp)
+GO(gtk_text_iter_get_visible_text, pFpp)
+GO(gtk_text_iter_has_tag, iFpp)
+GO(gtk_text_iter_in_range, iFppp)
+GO(gtk_text_iter_inside_sentence, iFp)
+GO(gtk_text_iter_inside_word, iFp)
+GO(gtk_text_iter_is_cursor_position, iFp)
+GO(gtk_text_iter_is_end, iFp)
+GO(gtk_text_iter_is_start, iFp)
+GO(gtk_text_iter_order, vFpp)
+GO(gtk_text_iter_set_line, vFpi)
+GO(gtk_text_iter_set_line_index, vFpi)
+GO(gtk_text_iter_set_line_offset, vFpi)
+GO(gtk_text_iter_set_offset, vFpi)
+GO(gtk_text_iter_set_visible_line_index, vFpi)
+GO(gtk_text_iter_set_visible_line_offset, vFpi)
+GO(gtk_text_iter_starts_line, iFp)
+GO(gtk_text_iter_starts_sentence, iFp)
+GO(gtk_text_iter_starts_word, iFp)
+GO(gtk_text_iter_toggles_tag, iFpp)
+//GO(gtk_text_layout_changed, 
+//GO(gtk_text_layout_clamp_iter_to_vrange, 
+//GO(gtk_text_layout_cursors_changed, 
+//GO(gtk_text_layout_default_style_changed, 
+//GO(gtk_text_layout_draw, 
+//GO(gtk_text_layout_free_line_data, 
+//GO(gtk_text_layout_free_line_display, 
+//GO(gtk_text_layout_get_buffer, 
+//GO(gtk_text_layout_get_cursor_locations, 
+//GO(gtk_text_layout_get_cursor_visible, 
+//GO(gtk_text_layout_get_iter_at_line, 
+//GO(gtk_text_layout_get_iter_at_pixel, 
+//GO(gtk_text_layout_get_iter_at_position, 
+//GO(gtk_text_layout_get_iter_location, 
+//GO(gtk_text_layout_get_line_at_y, 
+//GO(gtk_text_layout_get_line_display, 
+//GO(gtk_text_layout_get_lines, 
+//GO(gtk_text_layout_get_line_yrange, 
+//GO(gtk_text_layout_get_size, 
+GO(gtk_text_layout_get_type, iFv)
+//GO(gtk_text_layout_invalidate, 
+//GO(gtk_text_layout_invalidate_cursors, 
+//GO(gtk_text_layout_is_valid, 
+//GO(gtk_text_layout_iter_starts_line, 
+//GO(gtk_text_layout_move_iter_to_line_end, 
+//GO(gtk_text_layout_move_iter_to_next_line, 
+//GO(gtk_text_layout_move_iter_to_previous_line, 
+//GO(gtk_text_layout_move_iter_to_x, 
+//GO(gtk_text_layout_move_iter_visually, 
+//GO(gtk_text_layout_new, 
+//GO(gtk_text_layout_set_buffer, 
+//GO(gtk_text_layout_set_contexts, 
+//GO(gtk_text_layout_set_cursor_direction, 
+//GO(gtk_text_layout_set_cursor_visible, 
+//GO(gtk_text_layout_set_default_style, 
+//GO(gtk_text_layout_set_keyboard_direction, 
+//GO(gtk_text_layout_set_overwrite_mode, 
+//GO(gtk_text_layout_set_preedit_string, 
+//GO(gtk_text_layout_set_screen_width, 
+//GO(gtk_text_layout_spew, 
+//GO(gtk_text_layout_validate, 
+//GO(gtk_text_layout_validate_yrange, 
+//GO(gtk_text_layout_wrap, 
+//GO(gtk_text_layout_wrap_loop_end, 
+//GO(gtk_text_layout_wrap_loop_start, 
+//GO(gtk_text_line_segment_split, 
+GO(gtk_text_mark_get_buffer, pFp)
+GO(gtk_text_mark_get_deleted, iFp)
+GO(gtk_text_mark_get_left_gravity, iFp)
+GO(gtk_text_mark_get_name, pFp)
+GO(gtk_text_mark_get_type, iFv)
+GO(gtk_text_mark_get_visible, iFp)
+GO(gtk_text_mark_new, pFpi)
+GO(gtk_text_mark_set_visible, vFpi)
+GO(gtk_text_new, pFpp)
+GO(gtk_text_search_flags_get_type, iFv)
+GO(gtk_text_set_adjustments, vFppp)
+GO(gtk_text_set_editable, vFpi)
+GO(gtk_text_set_line_wrap, vFpi)
+GO(gtk_text_set_point, vFpu)
+GO(gtk_text_set_word_wrap, vFpi)
+GO(gtk_text_tag_event, iFpppp)
+GO(gtk_text_tag_get_priority, iFp)
+GO(gtk_text_tag_get_type, iFv)
+GO(gtk_text_tag_new, pFp)
+GO(gtk_text_tag_set_priority, vFpi)
+GO(gtk_text_tag_table_add, vFpp)
+//GOM(gtk_text_tag_table_foreach, vFEpBp)
+GO(gtk_text_tag_table_get_size, iFp)
+GO(gtk_text_tag_table_get_type, iFv)
+GO(gtk_text_tag_table_lookup, pFpp)
+GO(gtk_text_tag_table_new, pFv)
+GO(gtk_text_tag_table_remove, vFpp)
+GO(gtk_text_thaw, vFp)
+GO(gtk_text_view_add_child_at_anchor, vFppp)
+GO(gtk_text_view_add_child_in_window, vFppiii)
+GO(gtk_text_view_backward_display_line, iFpp)
+GO(gtk_text_view_backward_display_line_start, iFpp)
+GO(gtk_text_view_buffer_to_window_coords, vFpiiipp)
+GO(gtk_text_view_forward_display_line, iFpp)
+GO(gtk_text_view_forward_display_line_end, iFpp)
+GO(gtk_text_view_get_accepts_tab, iFp)
+GO(gtk_text_view_get_border_window_size, iFpi)
+GO(gtk_text_view_get_buffer, pFp)
+GO(gtk_text_view_get_cursor_visible, iFp)
+GO(gtk_text_view_get_default_attributes, pFp)
+GO(gtk_text_view_get_editable, iFp)
+GO(gtk_text_view_get_hadjustment, pFp)
+GO(gtk_text_view_get_indent, iFp)
+GO(gtk_text_view_get_iter_at_location, vFppii)
+GO(gtk_text_view_get_iter_at_position, vFpppii)
+GO(gtk_text_view_get_iter_location, vFppp)
+GO(gtk_text_view_get_justification, iFp)
+GO(gtk_text_view_get_left_margin, iFp)
+GO(gtk_text_view_get_line_at_y, vFppip)
+GO(gtk_text_view_get_line_yrange, vFpppp)
+GO(gtk_text_view_get_overwrite, iFp)
+GO(gtk_text_view_get_pixels_above_lines, iFp)
+GO(gtk_text_view_get_pixels_below_lines, iFp)
+GO(gtk_text_view_get_pixels_inside_wrap, iFp)
+GO(gtk_text_view_get_right_margin, iFp)
+GO(gtk_text_view_get_tabs, pFp)
+GO(gtk_text_view_get_type, iFv)
+GO(gtk_text_view_get_vadjustment, pFp)
+GO(gtk_text_view_get_visible_rect, vFpp)
+GO(gtk_text_view_get_window, pFpi)
+GO(gtk_text_view_get_window_type, iFpp)
+GO(gtk_text_view_get_wrap_mode, iFp)
+GO(gtk_text_view_im_context_filter_keypress, iFpp)
+GO(gtk_text_view_move_child, vFppii)
+GO(gtk_text_view_move_mark_onscreen, iFpp)
+GO(gtk_text_view_move_visually, iFppi)
+GO(gtk_text_view_new, pFv)
+GO(gtk_text_view_new_with_buffer, pFp)
+GO(gtk_text_view_place_cursor_onscreen, iFp)
+GO(gtk_text_view_reset_im_context, vFp)
+GO(gtk_text_view_scroll_mark_onscreen, vFpp)
+GO(gtk_text_view_scroll_to_iter, iFppdidd)
+GO(gtk_text_view_scroll_to_mark, vFppdidd)
+GO(gtk_text_view_set_accepts_tab, vFpi)
+GO(gtk_text_view_set_border_window_size, vFpii)
+GO(gtk_text_view_set_buffer, vFpp)
+GO(gtk_text_view_set_cursor_visible, vFpi)
+GO(gtk_text_view_set_editable, vFpi)
+GO(gtk_text_view_set_indent, vFpi)
+GO(gtk_text_view_set_justification, vFpi)
+GO(gtk_text_view_set_left_margin, vFpi)
+GO(gtk_text_view_set_overwrite, vFpi)
+GO(gtk_text_view_set_pixels_above_lines, vFpi)
+GO(gtk_text_view_set_pixels_below_lines, vFpi)
+GO(gtk_text_view_set_pixels_inside_wrap, vFpi)
+GO(gtk_text_view_set_right_margin, vFpi)
+GO(gtk_text_view_set_tabs, vFpp)
+GO(gtk_text_view_set_wrap_mode, vFpi)
+GO(gtk_text_view_starts_display_line, iFpp)
+GO(gtk_text_view_window_to_buffer_coords, vFpiiipp)
+GO(gtk_text_window_type_get_type, iFv)
+//GO(gtk_theme_engine_create_rc_style, 
+//GO(gtk_theme_engine_get, 
+GO(gtk_theme_engine_get_type, iFv)
+GOM(gtk_timeout_add, uFEupp)
+//GOM(gtk_timeout_add_full, uFuBppB)
+GO(gtk_timeout_remove, vFu)
+GO(gtk_tips_query_get_type, iFv)
+//GO(gtk_tips_query_new, 
+//GO(gtk_tips_query_set_caller, 
+//GO(gtk_tips_query_set_labels, 
+//GO(gtk_tips_query_start_query, 
+//GO(gtk_tips_query_stop_query, 
+//GO(gtk_toggle_action_get_active, 
+//GO(gtk_toggle_action_get_draw_as_radio, 
+GO(gtk_toggle_action_get_type, iFv)
+//GO(gtk_toggle_action_new, 
+//GO(gtk_toggle_action_set_active, 
+//GO(gtk_toggle_action_set_draw_as_radio, 
+//GO(gtk_toggle_action_toggled, 
+GO(gtk_toggle_button_get_active, iFp)
+GO(gtk_toggle_button_get_inconsistent, iFp)
+GO(gtk_toggle_button_get_mode, iFp)
+GO(gtk_toggle_button_get_type, iFv)
+GO(gtk_toggle_button_new, pFv)
+GO(gtk_toggle_button_new_with_label, pFp)
+GO(gtk_toggle_button_new_with_mnemonic, pFp)
+GO(gtk_toggle_button_set_active, vFpi)
+GO(gtk_toggle_button_set_inconsistent, vFpi)
+GO(gtk_toggle_button_set_mode, vFpi)
+GO(gtk_toggle_button_toggled, vFp)
+GO(gtk_toggle_tool_button_get_active, iFp)
+GO(gtk_toggle_tool_button_get_type, iFv)
+GO(gtk_toggle_tool_button_new, pFv)
+GO(gtk_toggle_tool_button_new_from_stock, pFp)
+GO(gtk_toggle_tool_button_set_active, vFpi)
+GOM(gtk_toolbar_append_element, pFEpippppppp)
+GOM(gtk_toolbar_append_item, pFEppppppp)
+GO(gtk_toolbar_append_space, vFp)
+GO(gtk_toolbar_append_widget, vFpppp)
+GO(gtk_toolbar_child_type_get_type, iFv)
+GO(gtk_toolbar_get_drop_index, iFpii)
+GO(gtk_toolbar_get_icon_size, iFp)
+GO(gtk_toolbar_get_item_index, iFpp)
+GO(gtk_toolbar_get_n_items, iFp)
+GO(gtk_toolbar_get_nth_item, pFpi)
+GO(gtk_toolbar_get_orientation, iFp)
+GO(gtk_toolbar_get_relief_style, iFp)
+GO(gtk_toolbar_get_show_arrow, iFp)
+GO(gtk_toolbar_get_style, iFp)
+GO(gtk_toolbar_get_tooltips, iFp)
+GO(gtk_toolbar_get_type, iFv)
+GO(gtk_toolbar_insert, vFppi)
+GOM(gtk_toolbar_insert_element, pFEpipppppppi)
+GOM(gtk_toolbar_insert_item, pFEpppppppi)
+GO(gtk_toolbar_insert_space, vFpi)
+GOM(gtk_toolbar_insert_stock, pFEppppppi)
+GO(gtk_toolbar_insert_widget, vFppppi)
+GO(gtk_toolbar_new, pFv)
+GOM(gtk_toolbar_prepend_element, pFEpippppppp)
+GOM(gtk_toolbar_prepend_item, pFEppppppp)
+GO(gtk_toolbar_prepend_space, vFp)
+GO(gtk_toolbar_prepend_widget, vFpppp)
+GO(gtk_toolbar_remove_space, vFpi)
+GO(gtk_toolbar_set_drop_highlight_item, vFppi)
+GO(gtk_toolbar_set_icon_size, vFpi)
+GO(gtk_toolbar_set_orientation, vFpi)
+GO(gtk_toolbar_set_show_arrow, vFpi)
+GO(gtk_toolbar_set_style, vFpi)
+GO(gtk_toolbar_set_tooltips, vFpi)
+GO(gtk_toolbar_space_style_get_type, iFv)
+GO(gtk_toolbar_style_get_type, iFv)
+GO(gtk_toolbar_unset_icon_size, vFp)
+GO(gtk_toolbar_unset_style, vFp)
+GO(gtk_tool_button_get_icon_name, pFp)
+GO(gtk_tool_button_get_icon_widget, pFp)
+GO(gtk_tool_button_get_label, pFp)
+GO(gtk_tool_button_get_label_widget, pFp)
+GO(gtk_tool_button_get_stock_id, pFp)
+GO(gtk_tool_button_get_type, iFv)
+GO(gtk_tool_button_get_use_underline, iFp)
+GO(gtk_tool_button_new, pFpp)
+GO(gtk_tool_button_new_from_stock, pFp)
+GO(gtk_tool_button_set_icon_name, vFpp)
+GO(gtk_tool_button_set_icon_widget, vFpp)
+GO(gtk_tool_button_set_label, vFpp)
+GO(gtk_tool_button_set_label_widget, vFpp)
+GO(gtk_tool_button_set_stock_id, vFpp)
+GO(gtk_tool_button_set_use_underline, vFpi)
+//GO(gtk_tool_item_get_ellipsize_mode, 
+//GO(gtk_tool_item_get_expand, 
+//GO(gtk_tool_item_get_homogeneous, 
+//GO(gtk_tool_item_get_icon_size, 
+//GO(gtk_tool_item_get_is_important, 
+//GO(gtk_tool_item_get_orientation, 
+//GO(gtk_tool_item_get_proxy_menu_item, 
+//GO(gtk_tool_item_get_relief_style, 
+//GO(gtk_tool_item_get_text_alignment, 
+//GO(gtk_tool_item_get_text_orientation, 
+//GO(gtk_tool_item_get_text_size_group, 
+//GO(gtk_tool_item_get_toolbar_style, 
+GO(gtk_tool_item_get_type, iFv)
+//GO(gtk_tool_item_get_use_drag_window, 
+//GO(gtk_tool_item_get_visible_horizontal, 
+//GO(gtk_tool_item_get_visible_vertical, 
+//GO(gtk_tool_item_group_get_collapsed, 
+//GO(gtk_tool_item_group_get_drop_item, 
+//GO(gtk_tool_item_group_get_ellipsize, 
+//GO(gtk_tool_item_group_get_header_relief, 
+//GO(gtk_tool_item_group_get_item_position, 
+//GO(gtk_tool_item_group_get_label, 
+//GO(gtk_tool_item_group_get_label_widget, 
+//GO(gtk_tool_item_group_get_n_items, 
+//GO(gtk_tool_item_group_get_nth_item, 
+GO(gtk_tool_item_group_get_type, iFv)
+//GO(gtk_tool_item_group_insert, 
+//GO(gtk_tool_item_group_new, 
+//GO(gtk_tool_item_group_set_collapsed, 
+//GO(gtk_tool_item_group_set_ellipsize, 
+//GO(gtk_tool_item_group_set_header_relief, 
+//GO(gtk_tool_item_group_set_item_position, 
+//GO(gtk_tool_item_group_set_label, 
+//GO(gtk_tool_item_group_set_label_widget, 
+//GO(gtk_tool_item_new, 
+//GO(gtk_tool_item_rebuild_menu, 
+//GO(gtk_tool_item_retrieve_proxy_menu_item, 
+//GO(gtk_tool_item_set_expand, 
+//GO(gtk_tool_item_set_homogeneous, 
+//GO(gtk_tool_item_set_is_important, 
+//GO(gtk_tool_item_set_proxy_menu_item, 
+//GO(gtk_tool_item_set_tooltip, 
+//GO(gtk_tool_item_set_tooltip_markup, 
+//GO(gtk_tool_item_set_tooltip_text, 
+//GO(gtk_tool_item_set_use_drag_window, 
+//GO(gtk_tool_item_set_visible_horizontal, 
+//GO(gtk_tool_item_set_visible_vertical, 
+//GO(gtk_tool_item_toolbar_reconfigured, 
+//GO(gtk_tool_palette_add_drag_dest, 
+GO(gtk_tool_palette_drag_targets_get_type, iFv)
+//GO(gtk_tool_palette_get_drag_item, 
+//GO(gtk_tool_palette_get_drag_target_group, 
+//GO(gtk_tool_palette_get_drag_target_item, 
+//GO(gtk_tool_palette_get_drop_group, 
+//GO(gtk_tool_palette_get_drop_item, 
+//GO(gtk_tool_palette_get_exclusive, 
+//GO(gtk_tool_palette_get_expand, 
+//GO(gtk_tool_palette_get_group_position, 
+//GO(gtk_tool_palette_get_hadjustment, 
+//GO(gtk_tool_palette_get_icon_size, 
+//GO(gtk_tool_palette_get_style, 
+GO(gtk_tool_palette_get_type, iFv)
+//GO(gtk_tool_palette_get_vadjustment, 
+//GO(gtk_tool_palette_new, 
+//GO(gtk_tool_palette_set_drag_source, 
+//GO(gtk_tool_palette_set_exclusive, 
+//GO(gtk_tool_palette_set_expand, 
+//GO(gtk_tool_palette_set_group_position, 
+//GO(gtk_tool_palette_set_icon_size, 
+//GO(gtk_tool_palette_set_style, 
+//GO(gtk_tool_palette_unset_icon_size, 
+//GO(gtk_tool_palette_unset_style, 
+//GO(gtk_tool_shell_get_ellipsize_mode, 
+//GO(gtk_tool_shell_get_icon_size, 
+//GO(gtk_tool_shell_get_orientation, 
+//GO(gtk_tool_shell_get_relief_style, 
+//GO(gtk_tool_shell_get_style, 
+//GO(gtk_tool_shell_get_text_alignment, 
+//GO(gtk_tool_shell_get_text_orientation, 
+//GO(gtk_tool_shell_get_text_size_group, 
+GO(gtk_tool_shell_get_type, iFv)
+//GO(gtk_tool_shell_rebuild_menu, 
+GO(gtk_tooltip_get_type, iFv)
+GO(gtk_tooltips_data_get, pFp)
+GO(gtk_tooltips_disable, vFp)
+GO(gtk_tooltips_enable, vFp)
+//GO(gtk_tooltip_set_custom, 
+//GO(gtk_tooltip_set_icon, 
+//GO(gtk_tooltip_set_icon_from_gicon, 
+//GO(gtk_tooltip_set_icon_from_icon_name, 
+//GO(gtk_tooltip_set_icon_from_stock, 
+//GO(gtk_tooltip_set_markup, 
+//GO(gtk_tooltip_set_text, 
+//GO(gtk_tooltip_set_tip_area, 
+GO(gtk_tooltips_force_window, vFp)
+GO(gtk_tooltips_get_info_from_tip_window, iFppp)
+GO(gtk_tooltips_get_type, iFv)
+GO(gtk_tooltips_new, pFv)
+GO(gtk_tooltips_set_delay, vFpu)
+GO(gtk_tooltips_set_tip, vFpppp)
+//GO(gtk_tooltip_trigger_tooltip_query, 
+GO(gtk_tray_icon_get_type, iFv)
+//GO(gtk_tree_append, 
+//GO(gtk_tree_child_position, 
+//GO(gtk_tree_clear_items, 
+//GO(gtk_tree_drag_dest_drag_data_received, 
+GO(gtk_tree_drag_dest_get_type, iFv)
+//GO(gtk_tree_drag_dest_row_drop_possible, 
+//GO(gtk_tree_drag_source_drag_data_delete, 
+//GO(gtk_tree_drag_source_drag_data_get, 
+GO(gtk_tree_drag_source_get_type, iFv)
+//GO(gtk_tree_drag_source_row_draggable, 
+//GO(gtk_tree_get_row_drag_data, 
+GO(gtk_tree_get_type, iFv)
+//GO(gtk_tree_insert, 
+//GO(gtk_tree_item_collapse, 
+//GO(gtk_tree_item_deselect, 
+//GO(gtk_tree_item_expand, 
+GO(gtk_tree_item_get_type, iFv)
+//GO(gtk_tree_item_new, 
+//GO(gtk_tree_item_new_with_label, 
+//GO(gtk_tree_item_remove_subtree, 
+//GO(gtk_tree_item_select, 
+//GO(gtk_tree_item_set_subtree, 
+GO(gtk_tree_iter_copy, pFp)
+GO(gtk_tree_iter_free, vFp)
+GO(gtk_tree_iter_get_type, iFv)
+//GO(gtk_tree_model_filter_clear_cache, 
+//GO(gtk_tree_model_filter_convert_child_iter_to_iter, 
+//GO(gtk_tree_model_filter_convert_child_path_to_path, 
+//GO(gtk_tree_model_filter_convert_iter_to_child_iter, 
+//GO(gtk_tree_model_filter_convert_path_to_child_path, 
+//GO(gtk_tree_model_filter_get_model, 
+GO(gtk_tree_model_filter_get_type, iFv)
+//GO(gtk_tree_model_filter_new, 
+//GO(gtk_tree_model_filter_refilter, 
+//GO(gtk_tree_model_filter_set_modify_func, 
+//GO(gtk_tree_model_filter_set_visible_column, 
+//GO(gtk_tree_model_filter_set_visible_func, 
+GO(gtk_tree_model_flags_get_type, iFv)
+GOM(gtk_tree_model_foreach, vFEppp)
+//GO2(gtk_tree_model_get, vFppV, gtk_tree_model_get_valist)
+GO(gtk_tree_model_get_column_type, iFpi)
+GO(gtk_tree_model_get_flags, iFp)
+GO(gtk_tree_model_get_iter, iFppp)
+GO(gtk_tree_model_get_iter_first, iFpp)
+GO(gtk_tree_model_get_iter_from_string, iFppp)
+GO(gtk_tree_model_get_n_columns, iFp)
+GO(gtk_tree_model_get_path, pFpp)
+GO(gtk_tree_model_get_string_from_iter, pFpp)
+GO(gtk_tree_model_get_type, iFv)
+//GO(gtk_tree_model_get_valist, vFppp)
+GO(gtk_tree_model_get_value, vFppip)
+GO(gtk_tree_model_iter_children, iFppp)
+GO(gtk_tree_model_iter_has_child, iFpp)
+GO(gtk_tree_model_iter_n_children, iFpp)
+GO(gtk_tree_model_iter_next, iFpp)
+GO(gtk_tree_model_iter_nth_child, iFpppi)
+GO(gtk_tree_model_iter_parent, iFppp)
+GO(gtk_tree_model_ref_node, vFpp)
+GO(gtk_tree_model_row_changed, vFppp)
+GO(gtk_tree_model_row_deleted, vFpp)
+GO(gtk_tree_model_row_has_child_toggled, vFppp)
+GO(gtk_tree_model_row_inserted, vFppp)
+GO(gtk_tree_model_rows_reordered, vFpppp)
+//GO(gtk_tree_model_sort_clear_cache, 
+//GO(gtk_tree_model_sort_convert_child_iter_to_iter, 
+//GO(gtk_tree_model_sort_convert_child_path_to_path, 
+//GO(gtk_tree_model_sort_convert_iter_to_child_iter, 
+//GO(gtk_tree_model_sort_convert_path_to_child_path, 
+//GO(gtk_tree_model_sort_get_model, 
+GO(gtk_tree_model_sort_get_type, iFv)
+//GO(gtk_tree_model_sort_iter_is_valid, 
+//GO(gtk_tree_model_sort_new_with_model, 
+//GO(gtk_tree_model_sort_reset_default_sort_func, 
+GO(gtk_tree_model_unref_node, vFpp)
+//GO(gtk_tree_new, 
+GO(gtk_tree_path_append_index, vFpi)
+GO(gtk_tree_path_compare, iFpp)
+GO(gtk_tree_path_copy, pFp)
+GO(gtk_tree_path_down, vFp)
+GO(gtk_tree_path_free, vFp)
+GO(gtk_tree_path_get_depth, iFp)
+GO(gtk_tree_path_get_indices, pFp)
+GO(gtk_tree_path_get_indices_with_depth, pFpp)
+GO(gtk_tree_path_get_type, iFv)
+GO(gtk_tree_path_is_ancestor, iFpp)
+GO(gtk_tree_path_is_descendant, iFpp)
+GO(gtk_tree_path_new, pFv)
+GO(gtk_tree_path_new_first, pFv)
+GO(gtk_tree_path_new_from_indices, pFippppppppppppppppp)  // vaarg
+GO(gtk_tree_path_new_from_string, pFp)
+GO(gtk_tree_path_next, vFp)
+GO(gtk_tree_path_prepend_index, vFpi)
+GO(gtk_tree_path_prev, vFp)
+GO(gtk_tree_path_to_string, pFp)
+GO(gtk_tree_path_up, iFp)
+//GO(gtk_tree_prepend, 
+//GO(gtk_tree_remove_item, 
+//GO(gtk_tree_remove_items, 
+GO(gtk_tree_row_reference_copy, pFp)
+GO(gtk_tree_row_reference_deleted, vFpp)
+GO(gtk_tree_row_reference_free, vFp)
+GO(gtk_tree_row_reference_get_model, pFp)
+GO(gtk_tree_row_reference_get_path, pFp)
+GO(gtk_tree_row_reference_get_type, iFv)
+GO(gtk_tree_row_reference_inserted, vFpp)
+GO(gtk_tree_row_reference_new, pFpp)
+GO(gtk_tree_row_reference_new_proxy, pFppp)
+GO(gtk_tree_row_reference_reordered, vFpppp)
+GO(gtk_tree_row_reference_valid, iFp)
+//GO(gtk_tree_select_child, 
+GO(gtk_tree_selection_count_selected_rows, iFp)
+GO(gtk_tree_selection_get_mode, iFp)
+GO(gtk_tree_selection_get_selected, iFppp)
+GO(gtk_tree_selection_get_selected_rows, pFpp)
+//GOM(gtk_tree_selection_get_select_function, BFEp)
+GO(gtk_tree_selection_get_tree_view, pFp)
+GO(gtk_tree_selection_get_type, iFv)
+//GOM(gtk_tree_selection_get_user_data, pFEp)
+GO(gtk_tree_selection_iter_is_selected, iFpp)
+GO(gtk_tree_selection_path_is_selected, iFpp)
+GO(gtk_tree_selection_select_all, vFp)
+//GOM(gtk_tree_selection_selected_foreach, vFEpBp)
+GO(gtk_tree_selection_select_iter, vFpp)
+GO(gtk_tree_selection_select_path, vFpp)
+GO(gtk_tree_selection_select_range, vFppp)
+GO(gtk_tree_selection_set_mode, vFpi)
+//GOM(gtk_tree_selection_set_select_function, vFEpBpB)
+GO(gtk_tree_selection_unselect_all, vFp)
+GO(gtk_tree_selection_unselect_iter, vFpp)
+GO(gtk_tree_selection_unselect_path, vFpp)
+GO(gtk_tree_selection_unselect_range, vFppp)
+//GO(gtk_tree_select_item, 
+//GO(gtk_tree_set_row_drag_data, 
+//GO(gtk_tree_set_selection_mode, 
+//GO(gtk_tree_set_view_lines, 
+//GO(gtk_tree_set_view_mode, 
+GO(gtk_tree_sortable_get_sort_column_id, iFppp)
+GO(gtk_tree_sortable_get_type, iFv)
+GO(gtk_tree_sortable_has_default_sort_func, iFp)
+GOM(gtk_tree_sortable_set_default_sort_func, vFEpppp)
+GO(gtk_tree_sortable_set_sort_column_id, vFpii)
+GOM(gtk_tree_sortable_set_sort_func, vFEpippp)
+GO(gtk_tree_sortable_sort_column_changed, vFp)
+GO(gtk_tree_store_append, vFppp)
+GO(gtk_tree_store_clear, vFp)
+GO(gtk_tree_store_get_type, iFv)
+GO(gtk_tree_store_insert, vFpppi)
+GO(gtk_tree_store_insert_after, vFpppp)
+GO(gtk_tree_store_insert_before, vFpppp)
+//GO(gtk_tree_store_insert_with_values, vFEpppiV)
+GO(gtk_tree_store_insert_with_valuesv, vFpppippi)   // TODO: Check if GValues need alignments?
+GO(gtk_tree_store_is_ancestor, iFppp)
+GO(gtk_tree_store_iter_depth, iFpp)
+GO(gtk_tree_store_iter_is_valid, iFpp)
+GO(gtk_tree_store_move_after, vFppp)
+GO(gtk_tree_store_move_before, vFppp)
+GO2(gtk_tree_store_new, pFuV, gtk_tree_store_newv)
+GO(gtk_tree_store_newv, pFup)
+GO(gtk_tree_store_prepend, vFppp)
+GO(gtk_tree_store_remove, iFpp)
+GO(gtk_tree_store_reorder, vFppp)
+//GO2(gtk_tree_store_set, vFppV, gtk_tree_store_set_valist)
+GO(gtk_tree_store_set_column_types, vFpup)
+//GO(gtk_tree_store_set_valist, vFppp)
+GO(gtk_tree_store_set_value, vFppip)
+GO(gtk_tree_store_set_valuesv, vFppppi) // TODO: Check if GValues need alignments?
+GO(gtk_tree_store_swap, vFppp)
+//GO(gtk_tree_unselect_child, 
+//GO(gtk_tree_unselect_item, 
+GO(gtk_tree_view_append_column, iFpp)
+GO(gtk_tree_view_collapse_all, vFp)
+GO(gtk_tree_view_collapse_row, iFpp)
+GO(gtk_tree_view_column_add_attribute, vFpppi)
+GO(gtk_tree_view_column_cell_get_position, iFpppp)
+GO(gtk_tree_view_column_cell_get_size, vFpppppp)
+GO(gtk_tree_view_column_cell_is_visible, iFp)
+GO(gtk_tree_view_column_cell_set_cell_data, vFpppii)
+GO(gtk_tree_view_column_clear, vFp)
+GO(gtk_tree_view_column_clear_attributes, vFpp)
+GO(gtk_tree_view_column_clicked, vFp)
+GO(gtk_tree_view_column_focus_cell, vFpp)
+GO(gtk_tree_view_column_get_alignment, fFp)
+GO(gtk_tree_view_column_get_cell_renderers, pFp)
+GO(gtk_tree_view_column_get_clickable, iFp)
+GO(gtk_tree_view_column_get_expand, iFp)
+GO(gtk_tree_view_column_get_fixed_width, iFp)
+GO(gtk_tree_view_column_get_max_width, iFp)
+GO(gtk_tree_view_column_get_min_width, iFp)
+GO(gtk_tree_view_column_get_reorderable, iFp)
+GO(gtk_tree_view_column_get_resizable, iFp)
+GO(gtk_tree_view_column_get_sizing, iFp)
+GO(gtk_tree_view_column_get_sort_column_id, iFp)
+GO(gtk_tree_view_column_get_sort_indicator, iFp)
+GO(gtk_tree_view_column_get_sort_order, iFp)
+GO(gtk_tree_view_column_get_spacing, iFp)
+GO(gtk_tree_view_column_get_title, pFp)
+GO(gtk_tree_view_column_get_tree_view, pFp)
+GO(gtk_tree_view_column_get_type, iFv)
+GO(gtk_tree_view_column_get_visible, iFp)
+GO(gtk_tree_view_column_get_widget, pFp)
+GO(gtk_tree_view_column_get_width, iFp)
+GO(gtk_tree_view_column_new, pFv)
+GO(gtk_tree_view_column_new_with_attributes, pFppppppppppppp)   //vaarg
+GO(gtk_tree_view_column_pack_end, vFppi)
+GO(gtk_tree_view_column_pack_start, vFppi)
+GO(gtk_tree_view_column_queue_resize, vFp)
+GO(gtk_tree_view_columns_autosize, vFp)
+GO(gtk_tree_view_column_set_alignment, vFpf)
+GO(gtk_tree_view_column_set_attributes, vFpppppppppppp) //vaarg
+//GOM(gtk_tree_view_column_set_cell_data_func, vFEppBpB)
+GO(gtk_tree_view_column_set_clickable, vFpi)
+GO(gtk_tree_view_column_set_expand, vFpi)
+GO(gtk_tree_view_column_set_fixed_width, vFpi)
+GO(gtk_tree_view_column_set_max_width, vFpi)
+GO(gtk_tree_view_column_set_min_width, vFpi)
+GO(gtk_tree_view_column_set_reorderable, vFpi)
+GO(gtk_tree_view_column_set_resizable, vFpi)
+GO(gtk_tree_view_column_set_sizing, vFpi)
+GO(gtk_tree_view_column_set_sort_column_id, iFp)
+GO(gtk_tree_view_column_set_sort_indicator, vFpi)
+GO(gtk_tree_view_column_set_sort_order, vFpi)
+GO(gtk_tree_view_column_set_spacing, vFpi)
+GO(gtk_tree_view_column_set_title, vFpp)
+GO(gtk_tree_view_column_set_visible, vFpi)
+GO(gtk_tree_view_column_set_widget, vFpp)
+GO(gtk_tree_view_column_sizing_get_type, iFv)
+GO(gtk_tree_view_convert_bin_window_to_tree_coords, vFpiipp)
+GO(gtk_tree_view_convert_bin_window_to_widget_coords, vFpiipp)
+GO(gtk_tree_view_convert_tree_to_bin_window_coords, vFpiipp)
+GO(gtk_tree_view_convert_tree_to_widget_coords, vFpiipp)
+GO(gtk_tree_view_convert_widget_to_bin_window_coords, vFpiipp)
+GO(gtk_tree_view_convert_widget_to_tree_coords, vFpiipp)
+GO(gtk_tree_view_create_row_drag_icon, pFpp)
+GO(gtk_tree_view_drop_position_get_type, iFv)
+GO(gtk_tree_view_enable_model_drag_dest, vFppiu)
+GO(gtk_tree_view_enable_model_drag_source, vFpipiu)
+GO(gtk_tree_view_expand_all, vFp)
+GO(gtk_tree_view_expand_row, iFppi)
+GO(gtk_tree_view_expand_to_path, vFpp)
+GO(gtk_tree_view_get_background_area, vFpppp)
+GO(gtk_tree_view_get_bin_window, pFp)
+GO(gtk_tree_view_get_cell_area, vFpppp)
+GO(gtk_tree_view_get_column, pFpi)
+GO(gtk_tree_view_get_columns, pFp)
+GO(gtk_tree_view_get_cursor, vFppp)
+GO(gtk_tree_view_get_dest_row_at_pos, iFpiipp)
+GO(gtk_tree_view_get_drag_dest_row, vFppp)
+GO(gtk_tree_view_get_enable_search, iFp)
+GO(gtk_tree_view_get_enable_tree_lines, iFp)
+GO(gtk_tree_view_get_expander_column, pFp)
+GO(gtk_tree_view_get_fixed_height_mode, iFp)
+GO(gtk_tree_view_get_grid_lines, iFp)
+GO(gtk_tree_view_get_hadjustment, pFp)
+GO(gtk_tree_view_get_headers_clickable, iFp)
+GO(gtk_tree_view_get_headers_visible, iFp)
+GO(gtk_tree_view_get_hover_expand, iFp)
+GO(gtk_tree_view_get_hover_selection, iFp)
+GO(gtk_tree_view_get_level_indentation, iFp)
+GO(gtk_tree_view_get_model, pFp)
+GO(gtk_tree_view_get_path_at_pos, iFpiipppp)
+GO(gtk_tree_view_get_reorderable, iFp)
+//GOM(gtk_tree_view_get_row_separator_func, BFEp)
+GO(gtk_tree_view_get_rubber_banding, iFp)
+GO(gtk_tree_view_get_rules_hint, iFp)
+GO(gtk_tree_view_get_search_column, iFp)
+GO(gtk_tree_view_get_search_entry, pFp)
+//GOM(gtk_tree_view_get_search_equal_func, BFEp)
+//GOM(gtk_tree_view_get_search_position_func, BFEp)
+GO(gtk_tree_view_get_selection, pFp)
+GO(gtk_tree_view_get_show_expanders, iFp)
+GO(gtk_tree_view_get_tooltip_column, iFp)
+GO(gtk_tree_view_get_tooltip_context, iFpppippp)
+GO(gtk_tree_view_get_type, iFv)
+GO(gtk_tree_view_get_vadjustment, pFp)
+GO(gtk_tree_view_get_visible_range, iFppp)
+GO(gtk_tree_view_get_visible_rect, vFpp)
+GO(gtk_tree_view_grid_lines_get_type, iFv)
+GO(gtk_tree_view_insert_column, iFppi)
+GO(gtk_tree_view_insert_column_with_attributes, iFpipppppppppppp) //vaarg
+//GOM(gtk_tree_view_insert_column_with_data_func, iFpippBpB)
+GO(gtk_tree_view_is_rubber_banding_active, iFp)
+//GOM(gtk_tree_view_map_expanded_rows, vFEpBp)
+GO(gtk_tree_view_mode_get_type, iFv)
+GO(gtk_tree_view_move_column_after, vFppp)
+GO(gtk_tree_view_new, pFv)
+GO(gtk_tree_view_new_with_model, pFp)
+GO(gtk_tree_view_remove_column, iFpp)
+GO(gtk_tree_view_row_activated, vFp)
+GO(gtk_tree_view_row_expanded, iFpp)
+GO(gtk_tree_view_scroll_to_cell, vFpppiff)
+GO(gtk_tree_view_scroll_to_point, vFpii)
+//GOM(gtk_tree_view_set_column_drag_function, vFEpBpB)
+GO(gtk_tree_view_set_cursor, vFpppi)
+GO(gtk_tree_view_set_cursor_on_cell, vFppppi)
+//GOM(gtk_tree_view_set_destroy_count_func, vFEpBpB)
+GO(gtk_tree_view_set_drag_dest_row, vFppi)
+GO(gtk_tree_view_set_enable_search, vFpi)
+GO(gtk_tree_view_set_enable_tree_lines, vFpi)
+GO(gtk_tree_view_set_expander_column, vFpp)
+GO(gtk_tree_view_set_fixed_height_mode, vFpi)
+GO(gtk_tree_view_set_grid_lines, vFpi)
+GO(gtk_tree_view_set_hadjustment, vFpp)
+GO(gtk_tree_view_set_headers_clickable, vFpi)
+GO(gtk_tree_view_set_headers_visible, vFpi)
+GO(gtk_tree_view_set_hover_expand, vFpi)
+GO(gtk_tree_view_set_hover_selection, vFpi)
+GO(gtk_tree_view_set_level_indentation, vFpi)
+GO(gtk_tree_view_set_model, vFpp)
+GO(gtk_tree_view_set_reorderable, vFpi)
+//GOM(gtk_tree_view_set_row_separator_func, vFEpBpB)
+GO(gtk_tree_view_set_rubber_banding, vFpi)
+GO(gtk_tree_view_set_rules_hint, vFpi)
+GO(gtk_tree_view_set_search_column, vFpi)
+GO(gtk_tree_view_set_search_entry, vFpp)
+GOM(gtk_tree_view_set_search_equal_func, vFEpppp)
+//GOM(gtk_tree_view_set_search_position_func, vFEpBpB)
+GO(gtk_tree_view_set_show_expanders, vFpi)
+GO(gtk_tree_view_set_tooltip_cell, vFppppp)
+GO(gtk_tree_view_set_tooltip_column, vFpi)
+GO(gtk_tree_view_set_tooltip_row, vFppp)
+GO(gtk_tree_view_set_vadjustment, vFpp)
+GO(gtk_tree_view_tree_to_widget_coords, vFpiipp)
+GO(gtk_tree_view_unset_rows_drag_dest, vFp)
+GO(gtk_tree_view_unset_rows_drag_source, vFp)
+GO(gtk_tree_view_widget_to_tree_coords, vFpiipp)
+GO(gtk_true, iFv)
+GOM(gtk_type_class, pFEi)
+GO(gtk_type_enum_find_value, pFip)
+GO(gtk_type_enum_get_values, pFi)
+GO(gtk_type_flags_find_value, pFip)
+GO(gtk_type_flags_get_values, pFi)
+GO(gtk_type_init, vFi)
+GO(gtk_type_new, pFi)
+GOM(gtk_type_unique, iFEpp)
+GO(gtk_ui_manager_add_ui, vFpipppii)
+GO(gtk_ui_manager_add_ui_from_file, uFppp)
+GO(gtk_ui_manager_add_ui_from_string, uFppLp)
+GO(gtk_ui_manager_ensure_update, vFp)
+GO(gtk_ui_manager_get_accel_group, pFp)
+GO(gtk_ui_manager_get_action, pFpp)
+GO(gtk_ui_manager_get_action_groups, pFp)
+GO(gtk_ui_manager_get_add_tearoffs, iFp)
+GO(gtk_ui_manager_get_toplevels, pFpi)
+GO(gtk_ui_manager_get_type, iFv)
+GO(gtk_ui_manager_get_ui, pFp)
+GO(gtk_ui_manager_get_widget, pFpp)
+GO(gtk_ui_manager_insert_action_group, vFppi)
+GO(gtk_ui_manager_item_type_get_type, iFv)
+GO(gtk_ui_manager_new, pFv)
+GO(gtk_ui_manager_new_merge_id, uFp)
+GO(gtk_ui_manager_remove_action_group, vFpp)
+GO(gtk_ui_manager_remove_ui, vFpu)
+GO(gtk_ui_manager_set_add_tearoffs, vFpi)
+GO(gtk_unit_get_type, iFv)
+GO(gtk_update_type_get_type, iFv)
+GO(gtk_vbox_get_type, iFv)
+GO(gtk_vbox_new, pFii)
+//GO(gtk_vbutton_box_get_layout_default, 
+//GO(gtk_vbutton_box_get_spacing_default, 
+GO(gtk_vbutton_box_get_type, iFv)
+//GO(gtk_vbutton_box_new, 
+//GO(gtk_vbutton_box_set_layout_default, 
+//GO(gtk_vbutton_box_set_spacing_default, 
+GO(gtk_viewport_get_bin_window, pFp)
+GO(gtk_viewport_get_hadjustment, pFp)
+GO(gtk_viewport_get_shadow_type, iFp)
+GO(gtk_viewport_get_type, iFv)
+GO(gtk_viewport_get_vadjustment, pFp)
+GO(gtk_viewport_get_view_window, pFp)
+GO(gtk_viewport_new, pFpp)
+GO(gtk_viewport_set_hadjustment, vFpp)
+GO(gtk_viewport_set_shadow_type, vFpi)
+GO(gtk_viewport_set_vadjustment, vFpp)
+GO(gtk_visibility_get_type, iFv)
+GO(gtk_volume_button_get_type, iFv)
+GO(gtk_volume_button_new, pFv)
+GO(gtk_vpaned_get_type, iFv)
+GO(gtk_vpaned_new, pFv)
+GO(gtk_vruler_get_type, iFv)
+GO(gtk_vruler_new, pFv)
+GO(gtk_vscale_get_type, iFv)
+GO(gtk_vscale_new, pFp)
+GO(gtk_vscale_new_with_range, pFddd)
+GO(gtk_vscrollbar_get_type, iFv)
+GO(gtk_vscrollbar_new, pFp)
+GO(gtk_vseparator_get_type, iFv)
+GO(gtk_vseparator_new, pFv)
+GO(gtk_widget_activate, iFp)
+GO(gtk_widget_add_accelerator, vFpppuii)
+GO(gtk_widget_add_events, vFpi)
+GO(gtk_widget_add_mnemonic_label, vFpp)
+GO(gtk_widget_can_activate_accel, iFpu)
+GO(gtk_widget_child_focus, iFpi)
+GO(gtk_widget_child_notify, vFp)
+GO(gtk_widget_class_find_style_property, pFpp)
+GO(gtk_widget_class_install_style_property, vFpp)
+//GOM(gtk_widget_class_install_style_property_parser, vFEppB)
+GO(gtk_widget_class_list_style_properties, pFpp)
+GO(gtk_widget_class_path, vFpppp)
+GO(gtk_widget_create_pango_context, pFp)
+GO(gtk_widget_create_pango_layout, pFpp)
+GO(gtk_widget_destroy, vFp)
+GO(gtk_widget_destroyed, vFpp)
+GO(gtk_widget_draw, vFpp)
+GO(gtk_widget_ensure_style, vFp)
+GO(gtk_widget_error_bell, vFp)
+GO(gtk_widget_event, iFpp)
+GO(gtk_widget_flags_get_type, iFv)
+GO(gtk_widget_freeze_child_notify, vFp)
+GO(gtk_widget_get_accessible, pFp)
+GO(gtk_widget_get_action, pFp)
+GO(gtk_widget_get_allocation, vFpp)
+GO(gtk_widget_get_ancestor, pFpi)
+GO(gtk_widget_get_app_paintable, iFp)
+GO(gtk_widget_get_can_default, iFp)
+GO(gtk_widget_get_can_focus, iFp)
+GO(gtk_widget_get_child_requisition, vFpp)
+GO(gtk_widget_get_child_visible, iFp)
+GO(gtk_widget_get_clipboard, pFpp)
+GO(gtk_widget_get_colormap, pFp)
+GO(gtk_widget_get_composite_name, pFp)
+GO(gtk_widget_get_default_colormap, pFv)
+GO(gtk_widget_get_default_direction, iFv)
+GO(gtk_widget_get_default_style, pFv)
+GO(gtk_widget_get_default_visual, pFv)
+GO(gtk_widget_get_direction, iFp)
+GO(gtk_widget_get_display, pFp)
+GO(gtk_widget_get_double_buffered, iFp)
+GO(gtk_widget_get_events, iFp)
+GO(gtk_widget_get_extension_events, iFp)
+GO(gtk_widget_get_has_tooltip, iFp)
+GO(gtk_widget_get_has_window, iFp)
+GO(gtk_widget_get_mapped, iFp)
+GO(gtk_widget_get_modifier_style, pFp)
+GO(gtk_widget_get_name, pFp)
+GO(gtk_widget_get_no_show_all, iFp)
+GO(gtk_widget_get_pango_context, pFp)
+GO(gtk_widget_get_parent, pFp)
+GO(gtk_widget_get_parent_window, pFp)
+GO(gtk_widget_get_pointer, vFppp)
+GO(gtk_widget_get_realized, iFp)
+GO(gtk_widget_get_receives_default, iFp)
+GO(gtk_widget_get_requisition, vFpp)
+GO(gtk_widget_get_root_window, pFp)
+GO(gtk_widget_get_screen, pFp)
+GO(gtk_widget_get_sensitive, iFp)
+GO(gtk_widget_get_settings, pFp)
+GO(gtk_widget_get_size_request, vFppp)
+GO(gtk_widget_get_snapshot, pFpp)
+GO(gtk_widget_get_state, iFp)
+GO(gtk_widget_get_style, pFp)
+GO(gtk_widget_get_tooltip_markup, pFp)
+GO(gtk_widget_get_tooltip_text, pFp)
+GO(gtk_widget_get_tooltip_window, pFp)
+GO(gtk_widget_get_toplevel, pFp)
+GO(gtk_widget_get_type, iFv)
+GO(gtk_widget_get_visible, iFp)
+GO(gtk_widget_get_visual, pFp)
+GO(gtk_widget_get_window, pFp)
+GO(gtk_widget_grab_default, vFp)
+GO(gtk_widget_grab_focus, vFp)
+GO(gtk_widget_has_default, iFp)
+GO(gtk_widget_has_focus, iFp)
+GO(gtk_widget_has_grab, iFp)
+GO(gtk_widget_has_rc_style, iFp)
+GO(gtk_widget_has_screen, iFp)
+GO(gtk_widget_help_type_get_type, iFv)
+GO(gtk_widget_hide, vFp)
+GO(gtk_widget_hide_all, vFp)
+GO(gtk_widget_hide_on_delete, iFp)
+GO(gtk_widget_input_shape_combine_mask, vFppii)
+GO(gtk_widget_intersect, iFppp)
+GO(gtk_widget_is_ancestor, iFpp)
+GO(gtk_widget_is_composited, iFp)
+GO(gtk_widget_is_drawable, iFp)
+GO(gtk_widget_is_focus, iFp)
+GO(gtk_widget_is_sensitive, iFp)
+GO(gtk_widget_is_toplevel, iFp)
+GO(gtk_widget_keynav_failed, iFpi)
+GO(gtk_widget_list_accel_closures, pFp)
+GO(gtk_widget_list_mnemonic_labels, pFp)
+GO(gtk_widget_map, vFp)
+GO(gtk_widget_mnemonic_activate, iFpi)
+GO(gtk_widget_modify_base, vFpip)
+GO(gtk_widget_modify_bg, vFpip)
+GO(gtk_widget_modify_cursor, vFppp)
+GO(gtk_widget_modify_fg, vFpip)
+GO(gtk_widget_modify_font, vFpp)
+GO(gtk_widget_modify_style, vFpp)
+GO(gtk_widget_modify_text, vFpip)
+GO(gtk_widget_new, pFppppppppppppp) //vaarg
+GO(gtk_widget_path, vFpppp)
+GO(gtk_widget_pop_colormap, vFv)
+GO(gtk_widget_pop_composite_child, vFv)
+GO(gtk_widget_push_colormap, vFp)
+GO(gtk_widget_push_composite_child, vFv)
+GO(gtk_widget_queue_clear, vFp)
+GO(gtk_widget_queue_clear_area, vFpiiii)
+GO(gtk_widget_queue_draw, vFp)
+GO(gtk_widget_queue_draw_area, vFpiiii)
+GO(gtk_widget_queue_resize, vFp)
+GO(gtk_widget_queue_resize_no_redraw, vFp)
+GO(gtk_widget_realize, vFp)
+GO(gtk_widget_ref, pFp)
+GO(gtk_widget_region_intersect, pFpp)
+GO(gtk_widget_remove_accelerator, iFppui)
+GO(gtk_widget_remove_mnemonic_label, vFpp)
+GO(gtk_widget_render_icon, pFppip)
+GO(gtk_widget_reparent, vFpp)
+GO(gtk_widget_reset_rc_styles, vFp)
+GO(gtk_widget_reset_shapes, vFp)
+GO(gtk_widget_send_expose, iFpp)
+GO(gtk_widget_send_focus_change, iFpp)
+GO(gtk_widget_set, vFppppppppppppppp) //vaarg
+GO(gtk_widget_set_accel_path, vFppp)
+GO(gtk_widget_set_allocation, vFpp)
+GO(gtk_widget_set_app_paintable, vFpi)
+GO(gtk_widget_set_can_default, vFpi)
+GO(gtk_widget_set_can_focus, vFpi)
+GO(gtk_widget_set_child_visible, vFpi)
+GO(gtk_widget_set_colormap, vFpp)
+GO(gtk_widget_set_composite_name, vFpp)
+GO(gtk_widget_set_default_colormap, vFp)
+GO(gtk_widget_set_default_direction, vFi)
+GO(gtk_widget_set_direction, vFpi)
+GO(gtk_widget_set_double_buffered, vFpi)
+GO(gtk_widget_set_events, vFpi)
+GO(gtk_widget_set_extension_events, vFpi)
+GO(gtk_widget_set_has_tooltip, vFpi)
+GO(gtk_widget_set_has_window, vFpi)
+GO(gtk_widget_set_mapped, vFpi)
+GO(gtk_widget_set_name, vFpp)
+GO(gtk_widget_set_no_show_all, vFpi)
+GO(gtk_widget_set_parent, vFpp)
+GO(gtk_widget_set_parent_window, vFpp)
+GO(gtk_widget_set_realized, vFpi)
+GO(gtk_widget_set_receives_default, vFpi)
+GO(gtk_widget_set_redraw_on_allocate, vFpi)
+GO(gtk_widget_set_scroll_adjustments, iFppp)
+GO(gtk_widget_set_sensitive, vFpi)
+GO(gtk_widget_set_size_request, vFpii)
+GO(gtk_widget_set_state, vFpi)
+GO(gtk_widget_set_style, vFpp)
+GO(gtk_widget_set_tooltip_markup, vFpp)
+GO(gtk_widget_set_tooltip_text, vFpp)
+GO(gtk_widget_set_tooltip_window, vFpp)
+GO(gtk_widget_set_uposition, vFpii)
+GO(gtk_widget_set_usize, vFpii)
+GO(gtk_widget_set_visible, vFpi)
+GO(gtk_widget_set_window, vFpp)
+GO(gtk_widget_shape_combine_mask, vFppii)
+GO(gtk_widget_show, vFp)
+GO(gtk_widget_show_all, vFp)
+GO(gtk_widget_show_now, vFp)
+GO(gtk_widget_size_allocate, vFpppuii)
+GO(gtk_widget_size_request, vFpp)
+GO(gtk_widget_style_attach, vFp)
+//GO2(gtk_widget_style_get, vFppV, gtk_widget_style_get_valist)
+GO(gtk_widget_style_get_property, vFppp)
+//GO(gtk_widget_style_get_valist, vFppp)
+GO(gtk_widget_thaw_child_notify, vFp)
+GO(gtk_widget_translate_coordinates, iFppiipp)
+GO(gtk_widget_trigger_tooltip_query, vFp)
+GO(gtk_widget_unmap, vFp)
+GO(gtk_widget_unparent, vFp)
+GO(gtk_widget_unrealize, vFp)
+GO(gtk_widget_unref, vFp)
+GO(gtk_window_activate_default, iFp)
+GO(gtk_window_activate_focus, iFp)
+GO(gtk_window_activate_key, iFpp)
+GO(gtk_window_add_accel_group, vFpp)
+GO(gtk_window_add_embedded_xid, vFpu)
+GO(gtk_window_add_mnemonic, vFpup)
+GO(gtk_window_begin_move_drag, vFpiiiu)
+GO(gtk_window_begin_resize_drag, vFpuiiiu)
+GO(gtk_window_deiconify, vFp)
+GO(gtk_window_fullscreen, vFp)
+GO(gtk_window_get_accept_focus, iFp)
+GO(gtk_window_get_decorated, iFp)
+GO(gtk_window_get_default_icon_list, pFv)
+GO(gtk_window_get_default_icon_name, pFv)
+GO(gtk_window_get_default_size, vFppp)
+GO(gtk_window_get_default_widget, pFp)
+GO(gtk_window_get_deletable, iFp)
+GO(gtk_window_get_destroy_with_parent, iFp)
+GO(gtk_window_get_focus, pFp)
+GO(gtk_window_get_focus_on_map, iFp)
+GO(gtk_window_get_frame_dimensions, vFppppp)
+GO(gtk_window_get_gravity, iFp)
+GO(gtk_window_get_group, pFp)
+GO(gtk_window_get_has_frame, iFp)
+GO(gtk_window_get_icon, pFp)
+GO(gtk_window_get_icon_list, pFp)
+GO(gtk_window_get_icon_name, pFp)
+GO(gtk_window_get_mnemonic_modifier, iFp)
+GO(gtk_window_get_mnemonics_visible, iFp)
+GO(gtk_window_get_modal, iFp)
+GO(gtk_window_get_opacity, dFp)
+GO(gtk_window_get_position, vFppp)
+GO(gtk_window_get_resizable, iFp)
+GO(gtk_window_get_role, pFp)
+GO(gtk_window_get_screen, pFp)
+GO(gtk_window_get_size, vFppp)
+GO(gtk_window_get_skip_pager_hint, iFp)
+GO(gtk_window_get_skip_taskbar_hint, iFp)
+GO(gtk_window_get_title, pFp)
+GO(gtk_window_get_transient_for, pFp)
+GO(gtk_window_get_type, iFv)
+GO(gtk_window_get_type_hint, iFp)
+GO(gtk_window_get_urgency_hint, iFp)
+GO(gtk_window_get_window_type, uFp)
+GO(gtk_window_group_add_window, vFpp)
+GO(gtk_window_group_get_current_grab, pFp)
+GO(gtk_window_group_get_type, iFv)
+GO(gtk_window_group_list_windows, pFp)
+GO(gtk_window_group_new, pFv)
+GO(gtk_window_group_remove_window, vFpp)
+GO(gtk_window_has_group, iFp)
+GO(gtk_window_has_toplevel_focus, iFp)
+GO(gtk_window_iconify, vFp)
+GO(gtk_window_is_active, iFp)
+GO(gtk_window_list_toplevels, pFv)
+GO(gtk_window_maximize, vFp)
+GO(gtk_window_mnemonic_activate, iFpui)
+GO(gtk_window_move, vFpii)
+GO(gtk_window_new, pFi)
+GO(gtk_window_parse_geometry, iFpp)
+GO(gtk_window_position_get_type, iFv)
+GO(gtk_window_present, vFp)
+GO(gtk_window_present_with_time, vFpu)
+GO(gtk_window_propagate_key_event, iFpp)
+GO(gtk_window_remove_accel_group, vFpp)
+GO(gtk_window_remove_embedded_xid, vFpu)
+GO(gtk_window_remove_mnemonic, vFpup)
+GO(gtk_window_reshow_with_initial_size, vFp)
+GO(gtk_window_resize, vFpii)
+GO(gtk_window_set_accept_focus, vFpi)
+GO(gtk_window_set_auto_startup_notification, vFi)
+GO(gtk_window_set_decorated, vFpi)
+GO(gtk_window_set_default, vFpp)
+GO(gtk_window_set_default_icon, vFp)
+GO(gtk_window_set_default_icon_from_file, iFpp)
+GO(gtk_window_set_default_icon_list, vFp)
+GO(gtk_window_set_default_icon_name, vFp)
+GO(gtk_window_set_default_size, vFpii)
+GO(gtk_window_set_deletable, vFpi)
+GO(gtk_window_set_destroy_with_parent, vFpi)
+GO(gtk_window_set_focus, vFpp)
+GO(gtk_window_set_focus_on_map, vFpi)
+GO(gtk_window_set_frame_dimensions, vFpiiii)
+GO(gtk_window_set_geometry_hints, vFpppi)
+GO(gtk_window_set_gravity, vFpi)
+GO(gtk_window_set_has_frame, vFpi)
+GO(gtk_window_set_icon, vFpp)
+GO(gtk_window_set_icon_from_file, iFppp)
+GO(gtk_window_set_icon_list, vFpp)
+GO(gtk_window_set_icon_name, vFpp)
+GO(gtk_window_set_keep_above, vFpi)
+GO(gtk_window_set_keep_below, vFpi)
+GO(gtk_window_set_mnemonic_modifier, vFpi)
+GO(gtk_window_set_mnemonics_visible, vFpi)
+GO(gtk_window_set_modal, vFpi)
+GO(gtk_window_set_opacity, vFpd)
+GO(gtk_window_set_policy, vFpiii)
+GO(gtk_window_set_position, vFpi)
+GO(gtk_window_set_resizable, vFpi)
+GO(gtk_window_set_role, vFpp)
+GO(gtk_window_set_screen, vFpp)
+GO(gtk_window_set_skip_pager_hint, vFpi)
+GO(gtk_window_set_skip_taskbar_hint, vFpi)
+GO(gtk_window_set_startup_id, vFpp)
+GO(gtk_window_set_title, vFpp)
+GO(gtk_window_set_transient_for, vFpp)
+GO(gtk_window_set_type_hint, vFpi)
+GO(gtk_window_set_urgency_hint, vFpi)
+GO(gtk_window_set_wmclass, vFppp)
+GO(gtk_window_stick, vFp)
+GO(gtk_window_type_get_type, iFv)
+GO(gtk_window_unfullscreen, vFp)
+GO(gtk_window_unmaximize, vFp)
+GO(gtk_window_unstick, vFp)
+GO(gtk_wrap_mode_get_type, iFv)
+
+// from gtk-1.2
+GOM(gtk_signal_connect, LFEpppp)
+GO2(gtk_type_is_a, iFii, g_type_is_a)
+GOM(gtk_type_check_object_cast, pFEpi)
+GOM(gtk_spin_button_get_value_as_float, fFEp)
\ No newline at end of file