about summary refs log tree commit diff stats
path: root/src/wrapped
diff options
context:
space:
mode:
Diffstat (limited to 'src/wrapped')
-rw-r--r--src/wrapped/generated/functions_list.txt252
-rw-r--r--src/wrapped/generated/wrappedaluredefs.h2
-rw-r--r--src/wrapped/generated/wrappedaluretypes.h2
-rw-r--r--src/wrapped/generated/wrappedalureundefs.h2
-rw-r--r--src/wrapped/generated/wrappedalutdefs.h2
-rw-r--r--src/wrapped/generated/wrappedaluttypes.h2
-rw-r--r--src/wrapped/generated/wrappedalutundefs.h2
-rw-r--r--src/wrapped/generated/wrappedatkbridgedefs.h2
-rw-r--r--src/wrapped/generated/wrappedatkbridgetypes.h2
-rw-r--r--src/wrapped/generated/wrappedatkbridgeundefs.h2
-rw-r--r--src/wrapped/generated/wrappedatkdefs.h2
-rw-r--r--src/wrapped/generated/wrappedatktypes.h2
-rw-r--r--src/wrapped/generated/wrappedatkundefs.h2
-rw-r--r--src/wrapped/generated/wrappedatomicdefs.h2
-rw-r--r--src/wrapped/generated/wrappedatomictypes.h2
-rw-r--r--src/wrapped/generated/wrappedatomicundefs.h2
-rw-r--r--src/wrapped/generated/wrappedatspidefs.h2
-rw-r--r--src/wrapped/generated/wrappedatspitypes.h2
-rw-r--r--src/wrapped/generated/wrappedatspiundefs.h2
-rw-r--r--src/wrapped/generated/wrappedbz2defs.h2
-rw-r--r--src/wrapped/generated/wrappedbz2types.h2
-rw-r--r--src/wrapped/generated/wrappedbz2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedcairodefs.h2
-rw-r--r--src/wrapped/generated/wrappedcairogobjectdefs.h2
-rw-r--r--src/wrapped/generated/wrappedcairogobjecttypes.h2
-rw-r--r--src/wrapped/generated/wrappedcairogobjectundefs.h2
-rw-r--r--src/wrapped/generated/wrappedcairotypes.h2
-rw-r--r--src/wrapped/generated/wrappedcairoundefs.h2
-rw-r--r--src/wrapped/generated/wrappedcapdefs.h8
-rw-r--r--src/wrapped/generated/wrappedcaptypes.h17
-rw-r--r--src/wrapped/generated/wrappedcapundefs.h8
-rw-r--r--src/wrapped/generated/wrappedcrashhandlerdefs.h2
-rw-r--r--src/wrapped/generated/wrappedcrashhandlertypes.h2
-rw-r--r--src/wrapped/generated/wrappedcrashhandlerundefs.h2
-rw-r--r--src/wrapped/generated/wrappedcrypto3defs.h2
-rw-r--r--src/wrapped/generated/wrappedcrypto3types.h6
-rw-r--r--src/wrapped/generated/wrappedcrypto3undefs.h2
-rw-r--r--src/wrapped/generated/wrappedcryptodefs.h2
-rw-r--r--src/wrapped/generated/wrappedcryptotypes.h15
-rw-r--r--src/wrapped/generated/wrappedcryptoundefs.h2
-rw-r--r--src/wrapped/generated/wrappedcurldefs.h2
-rw-r--r--src/wrapped/generated/wrappedcurltypes.h2
-rw-r--r--src/wrapped/generated/wrappedcurlundefs.h2
-rw-r--r--src/wrapped/generated/wrappedd3dadapter9defs.h2
-rw-r--r--src/wrapped/generated/wrappedd3dadapter9types.h2
-rw-r--r--src/wrapped/generated/wrappedd3dadapter9undefs.h2
-rw-r--r--src/wrapped/generated/wrappeddbusdefs.h2
-rw-r--r--src/wrapped/generated/wrappeddbusglib1defs.h2
-rw-r--r--src/wrapped/generated/wrappeddbusglib1types.h2
-rw-r--r--src/wrapped/generated/wrappeddbusglib1undefs.h2
-rw-r--r--src/wrapped/generated/wrappeddbustypes.h3
-rw-r--r--src/wrapped/generated/wrappeddbusundefs.h2
-rw-r--r--src/wrapped/generated/wrappedexpatdefs.h2
-rw-r--r--src/wrapped/generated/wrappedexpattypes.h2
-rw-r--r--src/wrapped/generated/wrappedexpatundefs.h2
-rw-r--r--src/wrapped/generated/wrappedfaudiodefs.h2
-rw-r--r--src/wrapped/generated/wrappedfaudiotypes.h2
-rw-r--r--src/wrapped/generated/wrappedfaudioundefs.h2
-rw-r--r--src/wrapped/generated/wrappedflacdefs.h2
-rw-r--r--src/wrapped/generated/wrappedflactypes.h2
-rw-r--r--src/wrapped/generated/wrappedflacundefs.h2
-rw-r--r--src/wrapped/generated/wrappedfontconfigdefs.h2
-rw-r--r--src/wrapped/generated/wrappedfontconfigtypes.h2
-rw-r--r--src/wrapped/generated/wrappedfontconfigundefs.h2
-rw-r--r--src/wrapped/generated/wrappedfreebl3defs.h2
-rw-r--r--src/wrapped/generated/wrappedfreebl3types.h2
-rw-r--r--src/wrapped/generated/wrappedfreebl3undefs.h2
-rw-r--r--src/wrapped/generated/wrappedfreetypedefs.h2
-rw-r--r--src/wrapped/generated/wrappedfreetypetypes.h2
-rw-r--r--src/wrapped/generated/wrappedfreetypeundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgbmdefs.h2
-rw-r--r--src/wrapped/generated/wrappedgbmtypes.h2
-rw-r--r--src/wrapped/generated/wrappedgbmundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgconf2defs.h2
-rw-r--r--src/wrapped/generated/wrappedgconf2types.h2
-rw-r--r--src/wrapped/generated/wrappedgconf2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedgcryptdefs.h2
-rw-r--r--src/wrapped/generated/wrappedgcrypttypes.h2
-rw-r--r--src/wrapped/generated/wrappedgcryptundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgdk3defs.h2
-rw-r--r--src/wrapped/generated/wrappedgdk3types.h4
-rw-r--r--src/wrapped/generated/wrappedgdk3undefs.h2
-rw-r--r--src/wrapped/generated/wrappedgdkpixbuf2defs.h2
-rw-r--r--src/wrapped/generated/wrappedgdkpixbuf2types.h2
-rw-r--r--src/wrapped/generated/wrappedgdkpixbuf2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedgdkx112defs.h2
-rw-r--r--src/wrapped/generated/wrappedgdkx112types.h2
-rw-r--r--src/wrapped/generated/wrappedgdkx112undefs.h2
-rw-r--r--src/wrapped/generated/wrappedgio2defs.h2
-rw-r--r--src/wrapped/generated/wrappedgio2types.h6
-rw-r--r--src/wrapped/generated/wrappedgio2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedglib2defs.h2
-rw-r--r--src/wrapped/generated/wrappedglib2types.h2
-rw-r--r--src/wrapped/generated/wrappedglib2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedgmodule2defs.h2
-rw-r--r--src/wrapped/generated/wrappedgmodule2types.h2
-rw-r--r--src/wrapped/generated/wrappedgmodule2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedgmpdefs.h2
-rw-r--r--src/wrapped/generated/wrappedgmptypes.h2
-rw-r--r--src/wrapped/generated/wrappedgmpundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgnutlsdefs.h2
-rw-r--r--src/wrapped/generated/wrappedgnutlstypes.h2
-rw-r--r--src/wrapped/generated/wrappedgnutlsundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgobject2defs.h2
-rw-r--r--src/wrapped/generated/wrappedgobject2types.h6
-rw-r--r--src/wrapped/generated/wrappedgobject2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedgompdefs.h8
-rw-r--r--src/wrapped/generated/wrappedgomptypes.h17
-rw-r--r--src/wrapped/generated/wrappedgompundefs.h8
-rw-r--r--src/wrapped/generated/wrappedgssapidefs.h2
-rw-r--r--src/wrapped/generated/wrappedgssapikrb5defs.h2
-rw-r--r--src/wrapped/generated/wrappedgssapikrb5types.h2
-rw-r--r--src/wrapped/generated/wrappedgssapikrb5undefs.h2
-rw-r--r--src/wrapped/generated/wrappedgssapitypes.h2
-rw-r--r--src/wrapped/generated/wrappedgssapiundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstappdefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstapptypes.h2
-rw-r--r--src/wrapped/generated/wrappedgstappundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstaudiodefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstaudiotypes.h2
-rw-r--r--src/wrapped/generated/wrappedgstaudioundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstbasedefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstbasetypes.h2
-rw-r--r--src/wrapped/generated/wrappedgstbaseundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstgldefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstgltypes.h2
-rw-r--r--src/wrapped/generated/wrappedgstglundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstreamerdefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstreamertypes.h4
-rw-r--r--src/wrapped/generated/wrappedgstreamerundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgsttagdefs.h2
-rw-r--r--src/wrapped/generated/wrappedgsttagtypes.h2
-rw-r--r--src/wrapped/generated/wrappedgsttagundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstvideodefs.h2
-rw-r--r--src/wrapped/generated/wrappedgstvideotypes.h2
-rw-r--r--src/wrapped/generated/wrappedgstvideoundefs.h2
-rw-r--r--src/wrapped/generated/wrappedgthread2defs.h2
-rw-r--r--src/wrapped/generated/wrappedgthread2types.h2
-rw-r--r--src/wrapped/generated/wrappedgthread2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedgtk3defs.h2
-rw-r--r--src/wrapped/generated/wrappedgtk3types.h3
-rw-r--r--src/wrapped/generated/wrappedgtk3undefs.h2
-rw-r--r--src/wrapped/generated/wrappedgtkx112defs.h2
-rw-r--r--src/wrapped/generated/wrappedgtkx112types.h2
-rw-r--r--src/wrapped/generated/wrappedgtkx112undefs.h2
-rw-r--r--src/wrapped/generated/wrappedicui18n67defs.h2
-rw-r--r--src/wrapped/generated/wrappedicui18n67types.h2
-rw-r--r--src/wrapped/generated/wrappedicui18n67undefs.h2
-rw-r--r--src/wrapped/generated/wrappedicui18n72defs.h2
-rw-r--r--src/wrapped/generated/wrappedicui18n72types.h2
-rw-r--r--src/wrapped/generated/wrappedicui18n72undefs.h2
-rw-r--r--src/wrapped/generated/wrappedicuuc67defs.h2
-rw-r--r--src/wrapped/generated/wrappedicuuc67types.h2
-rw-r--r--src/wrapped/generated/wrappedicuuc67undefs.h2
-rw-r--r--src/wrapped/generated/wrappedicuuc72defs.h2
-rw-r--r--src/wrapped/generated/wrappedicuuc72types.h2
-rw-r--r--src/wrapped/generated/wrappedicuuc72undefs.h2
-rw-r--r--src/wrapped/generated/wrappedkrb5defs.h2
-rw-r--r--src/wrapped/generated/wrappedkrb5types.h2
-rw-r--r--src/wrapped/generated/wrappedkrb5undefs.h2
-rw-r--r--src/wrapped/generated/wrappedlberdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlbertypes.h2
-rw-r--r--src/wrapped/generated/wrappedlberundefs.h2
-rw-r--r--src/wrapped/generated/wrappedldaprdefs.h2
-rw-r--r--src/wrapped/generated/wrappedldaprtypes.h2
-rw-r--r--src/wrapped/generated/wrappedldaprundefs.h2
-rw-r--r--src/wrapped/generated/wrappedldlinuxdefs.h2
-rw-r--r--src/wrapped/generated/wrappedldlinuxtypes.h2
-rw-r--r--src/wrapped/generated/wrappedldlinuxundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibasounddefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibasoundtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibasoundundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibcdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibcmusldefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibcmusltypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibcmuslundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibcryptdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibcrypttypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibcryptundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibctypes.h14
-rw-r--r--src/wrapped/generated/wrappedlibcundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibcupsdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibcupstypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibcupsundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibdldefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibdltypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibdlundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibdrmdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibdrmtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibdrmundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibegldefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibegltypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibeglundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibformdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibformtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibformundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibformwdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibformwtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibformwundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibfusedefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibfusetypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibfuseundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibgldefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibgltypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibgludefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibglundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibglutypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibgluundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibglxdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibglxtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibglxundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibharfbuzzdefs.h8
-rw-r--r--src/wrapped/generated/wrappedlibharfbuzztypes.h71
-rw-r--r--src/wrapped/generated/wrappedlibharfbuzzundefs.h8
-rw-r--r--src/wrapped/generated/wrappedlibibusdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibibustypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibibusundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibicedefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibicetypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibiceundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibmdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibmtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibmundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibncurses6defs.h2
-rw-r--r--src/wrapped/generated/wrappedlibncurses6types.h2
-rw-r--r--src/wrapped/generated/wrappedlibncurses6undefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibncursesdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibncursestypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibncursesundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibncursesw6defs.h2
-rw-r--r--src/wrapped/generated/wrappedlibncursesw6types.h2
-rw-r--r--src/wrapped/generated/wrappedlibncursesw6undefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibncurseswdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibncurseswtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibncurseswundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibnumadefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibnumatypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibnumaundefs.h2
-rw-r--r--src/wrapped/generated/wrappedliboggdefs.h2
-rw-r--r--src/wrapped/generated/wrappedliboggtypes.h2
-rw-r--r--src/wrapped/generated/wrappedliboggundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibpaneldefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibpaneltypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibpanelundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibpcidefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibpcitypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibpciundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibpcredefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibpcretypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibpcreundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibpthreaddefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibpthreadtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibpthreadundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibresolvdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibresolvtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibresolvundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibrtdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibrttypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibrtundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibsmdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibsmtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibsmundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibsndfiledefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibsndfiletypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibsndfileundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibssl3defs.h2
-rw-r--r--src/wrapped/generated/wrappedlibssl3types.h3
-rw-r--r--src/wrapped/generated/wrappedlibssl3undefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibssldefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibssltypes.h7
-rw-r--r--src/wrapped/generated/wrappedlibsslundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibtinfo6defs.h2
-rw-r--r--src/wrapped/generated/wrappedlibtinfo6types.h2
-rw-r--r--src/wrapped/generated/wrappedlibtinfo6undefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibtinfodefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibtinfotypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibtinfoundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibusb1defs.h2
-rw-r--r--src/wrapped/generated/wrappedlibusb1types.h2
-rw-r--r--src/wrapped/generated/wrappedlibusb1undefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibuuiddefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibuuidtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibuuidundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvadefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvadrmdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvadrmtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibvadrmundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvatypes.h7
-rw-r--r--src/wrapped/generated/wrappedlibvaundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvawaylanddefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvawaylandtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibvawaylandundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvax11defs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvax11types.h2
-rw-r--r--src/wrapped/generated/wrappedlibvax11undefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvdpaudefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvdpautypes.h6
-rw-r--r--src/wrapped/generated/wrappedlibvdpauundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvorbisdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibvorbistypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibvorbisundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibx11defs.h2
-rw-r--r--src/wrapped/generated/wrappedlibx11types.h2
-rw-r--r--src/wrapped/generated/wrappedlibx11undefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibx11xcbdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibx11xcbtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibx11xcbundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxaudefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxautypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxauundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri2defs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri2types.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri3defs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri3types.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbdri3undefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbglxdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbglxtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbglxundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbicccmdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbicccmtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbicccmundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbimagedefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbimagetypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbimageundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbkeysymsdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbkeysymstypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbkeysymsundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbpresentdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbpresenttypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbpresentundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbrandrdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbrandrtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbrandrundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbrenderdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbrendertypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbrenderundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbrenderutildefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbrenderutiltypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbrenderutilundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbshapedefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbshapetypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbshapeundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbshmdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbshmtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbshmundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbsyncdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbsynctypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbsyncundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbutildefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbutiltypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbutilundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxfixesdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxfixestypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxfixesundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxineramadefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxineramatypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxineramaundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxkbdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxkbtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxkbundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxtestdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxtesttypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcbxtestundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcompositedefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcompositetypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcompositeundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcursordefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcursortypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxcursorundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxdamagedefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxdamagetypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxdamageundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxdmcpdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxdmcptypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxdmcpundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxextdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxexttypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxextundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxfixesdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxfixestypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxfixesundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxftdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxfttypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxftundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxidefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxitypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxiundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxmudefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxmutypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxmuundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxpmdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxpmtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxpmundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxpresentdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxpresenttypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxpresentundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxrandrdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxrandrtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxrandrundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxrenderdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxrendertypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxrenderundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxssdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxsstypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxssundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxtdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxtstdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxtsttypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxtstundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxttypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxtundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxxf86vmdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibxxf86vmtypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibxxf86vmundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibzdefs.h2
-rw-r--r--src/wrapped/generated/wrappedlibztypes.h2
-rw-r--r--src/wrapped/generated/wrappedlibzundefs.h2
-rw-r--r--src/wrapped/generated/wrappedlzmadefs.h2
-rw-r--r--src/wrapped/generated/wrappedlzmatypes.h6
-rw-r--r--src/wrapped/generated/wrappedlzmaundefs.h2
-rw-r--r--src/wrapped/generated/wrappedmpg123defs.h2
-rw-r--r--src/wrapped/generated/wrappedmpg123types.h2
-rw-r--r--src/wrapped/generated/wrappedmpg123undefs.h2
-rw-r--r--src/wrapped/generated/wrappednotifydefs.h2
-rw-r--r--src/wrapped/generated/wrappednotifytypes.h2
-rw-r--r--src/wrapped/generated/wrappednotifyundefs.h2
-rw-r--r--src/wrapped/generated/wrappednsldefs.h2
-rw-r--r--src/wrapped/generated/wrappednsltypes.h2
-rw-r--r--src/wrapped/generated/wrappednslundefs.h2
-rw-r--r--src/wrapped/generated/wrappednspr4defs.h2
-rw-r--r--src/wrapped/generated/wrappednspr4types.h2
-rw-r--r--src/wrapped/generated/wrappednspr4undefs.h2
-rw-r--r--src/wrapped/generated/wrappednss3defs.h2
-rw-r--r--src/wrapped/generated/wrappednss3types.h2
-rw-r--r--src/wrapped/generated/wrappednss3undefs.h2
-rw-r--r--src/wrapped/generated/wrappednssutil3defs.h2
-rw-r--r--src/wrapped/generated/wrappednssutil3types.h2
-rw-r--r--src/wrapped/generated/wrappednssutil3undefs.h2
-rw-r--r--src/wrapped/generated/wrappedopenaldefs.h2
-rw-r--r--src/wrapped/generated/wrappedopenaltypes.h2
-rw-r--r--src/wrapped/generated/wrappedopenalundefs.h2
-rw-r--r--src/wrapped/generated/wrappedpangocairodefs.h2
-rw-r--r--src/wrapped/generated/wrappedpangocairotypes.h2
-rw-r--r--src/wrapped/generated/wrappedpangocairoundefs.h2
-rw-r--r--src/wrapped/generated/wrappedpangodefs.h2
-rw-r--r--src/wrapped/generated/wrappedpangoft2defs.h2
-rw-r--r--src/wrapped/generated/wrappedpangoft2types.h2
-rw-r--r--src/wrapped/generated/wrappedpangoft2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedpangotypes.h2
-rw-r--r--src/wrapped/generated/wrappedpangoundefs.h2
-rw-r--r--src/wrapped/generated/wrappedplc4defs.h2
-rw-r--r--src/wrapped/generated/wrappedplc4types.h2
-rw-r--r--src/wrapped/generated/wrappedplc4undefs.h2
-rw-r--r--src/wrapped/generated/wrappedplds4defs.h2
-rw-r--r--src/wrapped/generated/wrappedplds4types.h2
-rw-r--r--src/wrapped/generated/wrappedplds4undefs.h2
-rw-r--r--src/wrapped/generated/wrappedpng16defs.h2
-rw-r--r--src/wrapped/generated/wrappedpng16types.h2
-rw-r--r--src/wrapped/generated/wrappedpng16undefs.h2
-rw-r--r--src/wrapped/generated/wrappedpulsedefs.h2
-rw-r--r--src/wrapped/generated/wrappedpulsesimpledefs.h2
-rw-r--r--src/wrapped/generated/wrappedpulsesimpletypes.h2
-rw-r--r--src/wrapped/generated/wrappedpulsesimpleundefs.h2
-rw-r--r--src/wrapped/generated/wrappedpulsetypes.h2
-rw-r--r--src/wrapped/generated/wrappedpulseundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1defs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1imagedefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1imagetypes.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1imageundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1mixerdefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1mixertypes.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1mixerundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1netdefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1nettypes.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1netundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1sounddefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1soundtypes.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1soundundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1ttfdefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1ttftypes.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1ttfundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1types.h2
-rw-r--r--src/wrapped/generated/wrappedsdl1undefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2defs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2imagedefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2imagetypes.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2imageundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2mixerdefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2mixertypes.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2mixerundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2netdefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2nettypes.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2netundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2ttfdefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2ttftypes.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2ttfundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2types.h2
-rw-r--r--src/wrapped/generated/wrappedsdl2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedsecret1defs.h2
-rw-r--r--src/wrapped/generated/wrappedsecret1types.h2
-rw-r--r--src/wrapped/generated/wrappedsecret1undefs.h2
-rw-r--r--src/wrapped/generated/wrappedselinuxdefs.h2
-rw-r--r--src/wrapped/generated/wrappedselinuxtypes.h2
-rw-r--r--src/wrapped/generated/wrappedselinuxundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsmime3defs.h2
-rw-r--r--src/wrapped/generated/wrappedsmime3types.h2
-rw-r--r--src/wrapped/generated/wrappedsmime3undefs.h2
-rw-r--r--src/wrapped/generated/wrappedsmpeg2defs.h2
-rw-r--r--src/wrapped/generated/wrappedsmpeg2types.h2
-rw-r--r--src/wrapped/generated/wrappedsmpeg2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedsmpegdefs.h2
-rw-r--r--src/wrapped/generated/wrappedsmpegtypes.h2
-rw-r--r--src/wrapped/generated/wrappedsmpegundefs.h2
-rw-r--r--src/wrapped/generated/wrappedsoftokn3defs.h2
-rw-r--r--src/wrapped/generated/wrappedsoftokn3types.h2
-rw-r--r--src/wrapped/generated/wrappedsoftokn3undefs.h2
-rw-r--r--src/wrapped/generated/wrappedssl3defs.h2
-rw-r--r--src/wrapped/generated/wrappedssl3types.h2
-rw-r--r--src/wrapped/generated/wrappedssl3undefs.h2
-rw-r--r--src/wrapped/generated/wrappedtbbbinddefs.h2
-rw-r--r--src/wrapped/generated/wrappedtbbbindtypes.h2
-rw-r--r--src/wrapped/generated/wrappedtbbbindundefs.h2
-rw-r--r--src/wrapped/generated/wrappedtbbmallocdefs.h2
-rw-r--r--src/wrapped/generated/wrappedtbbmallocproxydefs.h2
-rw-r--r--src/wrapped/generated/wrappedtbbmallocproxytypes.h2
-rw-r--r--src/wrapped/generated/wrappedtbbmallocproxyundefs.h2
-rw-r--r--src/wrapped/generated/wrappedtbbmalloctypes.h2
-rw-r--r--src/wrapped/generated/wrappedtbbmallocundefs.h2
-rw-r--r--src/wrapped/generated/wrappedtcmallocminimaldefs.h2
-rw-r--r--src/wrapped/generated/wrappedtcmallocminimaltypes.h2
-rw-r--r--src/wrapped/generated/wrappedtcmallocminimalundefs.h2
-rw-r--r--src/wrapped/generated/wrappedudev0defs.h2
-rw-r--r--src/wrapped/generated/wrappedudev0types.h2
-rw-r--r--src/wrapped/generated/wrappedudev0undefs.h2
-rw-r--r--src/wrapped/generated/wrappedudev1defs.h2
-rw-r--r--src/wrapped/generated/wrappedudev1types.h2
-rw-r--r--src/wrapped/generated/wrappedudev1undefs.h2
-rw-r--r--src/wrapped/generated/wrappedunwinddefs.h2
-rw-r--r--src/wrapped/generated/wrappedunwindtypes.h2
-rw-r--r--src/wrapped/generated/wrappedunwindundefs.h2
-rw-r--r--src/wrapped/generated/wrappedutildefs.h2
-rw-r--r--src/wrapped/generated/wrappedutiltypes.h2
-rw-r--r--src/wrapped/generated/wrappedutilundefs.h2
-rw-r--r--src/wrapped/generated/wrappedvorbisfiledefs.h2
-rw-r--r--src/wrapped/generated/wrappedvorbisfiletypes.h2
-rw-r--r--src/wrapped/generated/wrappedvorbisfileundefs.h2
-rw-r--r--src/wrapped/generated/wrappedvulkandefs.h2
-rw-r--r--src/wrapped/generated/wrappedvulkantypes.h2
-rw-r--r--src/wrapped/generated/wrappedvulkanundefs.h2
-rw-r--r--src/wrapped/generated/wrappedwaylandclientdefs.h2
-rw-r--r--src/wrapped/generated/wrappedwaylandclienttypes.h2
-rw-r--r--src/wrapped/generated/wrappedwaylandclientundefs.h2
-rw-r--r--src/wrapped/generated/wrappedwaylandcursordefs.h2
-rw-r--r--src/wrapped/generated/wrappedwaylandcursortypes.h2
-rw-r--r--src/wrapped/generated/wrappedwaylandcursorundefs.h2
-rw-r--r--src/wrapped/generated/wrappedwaylandegldefs.h2
-rw-r--r--src/wrapped/generated/wrappedwaylandegltypes.h2
-rw-r--r--src/wrapped/generated/wrappedwaylandeglundefs.h2
-rw-r--r--src/wrapped/generated/wrappedxineramadefs.h2
-rw-r--r--src/wrapped/generated/wrappedxineramatypes.h2
-rw-r--r--src/wrapped/generated/wrappedxineramaundefs.h2
-rw-r--r--src/wrapped/generated/wrappedxkbcommondefs.h2
-rw-r--r--src/wrapped/generated/wrappedxkbcommontypes.h2
-rw-r--r--src/wrapped/generated/wrappedxkbcommonundefs.h2
-rw-r--r--src/wrapped/generated/wrappedxkbcommonx11defs.h2
-rw-r--r--src/wrapped/generated/wrappedxkbcommonx11types.h2
-rw-r--r--src/wrapped/generated/wrappedxkbcommonx11undefs.h2
-rw-r--r--src/wrapped/generated/wrappedxml2defs.h2
-rw-r--r--src/wrapped/generated/wrappedxml2types.h2
-rw-r--r--src/wrapped/generated/wrappedxml2undefs.h2
-rw-r--r--src/wrapped/generated/wrappedxshmfencedefs.h2
-rw-r--r--src/wrapped/generated/wrappedxshmfencetypes.h2
-rw-r--r--src/wrapped/generated/wrappedxshmfenceundefs.h2
-rw-r--r--src/wrapped/generated/wrappedxsltdefs.h2
-rw-r--r--src/wrapped/generated/wrappedxslttypes.h2
-rw-r--r--src/wrapped/generated/wrappedxsltundefs.h2
-rw-r--r--src/wrapped/generated/wrapper.c385
-rw-r--r--src/wrapped/generated/wrapper.h141
-rw-r--r--src/wrapped/wrappedatk.c8
-rw-r--r--src/wrapped/wrappedatomic_private.h2
-rw-r--r--src/wrapped/wrappedatspi.c4
-rw-r--r--src/wrapped/wrappedbz2.c4
-rw-r--r--src/wrapped/wrappedcap.c18
-rw-r--r--src/wrapped/wrappedcap_private.h62
-rw-r--r--src/wrapped/wrappedcrypto.c292
-rw-r--r--src/wrapped/wrappedcrypto3.c55
-rw-r--r--src/wrapped/wrappedcrypto3_private.h88
-rw-r--r--src/wrapped/wrappedcrypto_private.h92
-rw-r--r--src/wrapped/wrappedcurl.c22
-rw-r--r--src/wrapped/wrappedd3dadapter9.c10
-rw-r--r--src/wrapped/wrappeddbus.c46
-rw-r--r--src/wrapped/wrappeddbus_private.h2
-rw-r--r--src/wrapped/wrappeddbusglib1.c48
-rw-r--r--src/wrapped/wrappedexpat.c188
-rw-r--r--src/wrapped/wrappedfaudio.c120
-rw-r--r--src/wrapped/wrappedflac.c118
-rw-r--r--src/wrapped/wrappedfreetype.c86
-rw-r--r--src/wrapped/wrappedgconf2.c16
-rw-r--r--src/wrapped/wrappedgcrypt_private.h2
-rw-r--r--src/wrapped/wrappedgdk3.c67
-rw-r--r--src/wrapped/wrappedgdk3_private.h10
-rw-r--r--src/wrapped/wrappedgdkpixbuf2.c8
-rw-r--r--src/wrapped/wrappedgdkx112.c14
-rw-r--r--src/wrapped/wrappedgio2.c164
-rw-r--r--src/wrapped/wrappedgio2_private.h14
-rw-r--r--src/wrapped/wrappedglib2.c248
-rw-r--r--src/wrapped/wrappedglib2_private.h4
-rw-r--r--src/wrapped/wrappedgnutls.c24
-rw-r--r--src/wrapped/wrappedgnutls_private.h7
-rw-r--r--src/wrapped/wrappedgobject2.c164
-rw-r--r--src/wrapped/wrappedgobject2_private.h2
-rw-r--r--src/wrapped/wrappedgomp.c18
-rw-r--r--src/wrapped/wrappedgomp_private.h477
-rw-r--r--src/wrapped/wrappedgstbase_private.h2
-rw-r--r--src/wrapped/wrappedgstreamer.c95
-rw-r--r--src/wrapped/wrappedgstreamer_private.h24
-rw-r--r--src/wrapped/wrappedgtk3.c155
-rw-r--r--src/wrapped/wrappedgtk3_private.h12
-rw-r--r--src/wrapped/wrappedgtkx112.c194
-rw-r--r--src/wrapped/wrappedicui18n67_private.h44
-rw-r--r--src/wrapped/wrappedicui18n72_private.h47
-rw-r--r--src/wrapped/wrappedicuuc67_private.h28
-rw-r--r--src/wrapped/wrappedicuuc72_private.h28
-rw-r--r--src/wrapped/wrappedkrb5.c8
-rw-r--r--src/wrapped/wrappedldapr.c8
-rw-r--r--src/wrapped/wrappedldlinux.c9
-rw-r--r--src/wrapped/wrappedldlinux_private.h2
-rw-r--r--src/wrapped/wrappedlibasound.c16
-rw-r--r--src/wrapped/wrappedlibc.c314
-rw-r--r--src/wrapped/wrappedlibc_private.h30
-rw-r--r--src/wrapped/wrappedlibcups.c8
-rw-r--r--src/wrapped/wrappedlibdl.c19
-rw-r--r--src/wrapped/wrappedlibfuse.c294
-rw-r--r--src/wrapped/wrappedlibgl.c12
-rw-r--r--src/wrapped/wrappedlibglu.c6
-rw-r--r--src/wrapped/wrappedlibharfbuzz.c1217
-rw-r--r--src/wrapped/wrappedlibharfbuzz_private.h443
-rw-r--r--src/wrapped/wrappedlibibus.c2
-rw-r--r--src/wrapped/wrappedlibpcre.c2
-rw-r--r--src/wrapped/wrappedlibrt.c2
-rw-r--r--src/wrapped/wrappedlibsm.c10
-rw-r--r--src/wrapped/wrappedlibsndfile.c10
-rw-r--r--src/wrapped/wrappedlibssl.c173
-rw-r--r--src/wrapped/wrappedlibssl3.c47
-rw-r--r--src/wrapped/wrappedlibssl3_private.h21
-rw-r--r--src/wrapped/wrappedlibssl_private.h43
-rw-r--r--src/wrapped/wrappedlibtinfo.c2
-rw-r--r--src/wrapped/wrappedlibtinfo6.c2
-rw-r--r--src/wrapped/wrappedlibusb1.c6
-rw-r--r--src/wrapped/wrappedlibva.c69
-rw-r--r--src/wrapped/wrappedlibva_private.h4
-rw-r--r--src/wrapped/wrappedlibvdpau.c24
-rw-r--r--src/wrapped/wrappedlibvdpau_private.h2
-rw-r--r--src/wrapped/wrappedlibx11.c46
-rw-r--r--src/wrapped/wrappedlibx11_private.h8
-rw-r--r--src/wrapped/wrappedlibxcb_private.h4
-rw-r--r--src/wrapped/wrappedlibxext.c317
-rw-r--r--src/wrapped/wrappedlibxft_private.h16
-rw-r--r--src/wrapped/wrappedlibxi_private.h4
-rw-r--r--src/wrapped/wrappedlibxt.c6
-rw-r--r--src/wrapped/wrappedlibxtst.c2
-rw-r--r--src/wrapped/wrappedlibz.c71
-rw-r--r--src/wrapped/wrappedlzma.c148
-rw-r--r--src/wrapped/wrappedlzma_private.h4
-rw-r--r--src/wrapped/wrappedmpg123.c6
-rw-r--r--src/wrapped/wrappedmpg123_private.h25
-rw-r--r--src/wrapped/wrappednspr4_private.h304
-rw-r--r--src/wrapped/wrappednss3.c8
-rw-r--r--src/wrapped/wrappednss3_private.h944
-rw-r--r--src/wrapped/wrappedopenal.c12
-rw-r--r--src/wrapped/wrappedpango.c6
-rw-r--r--src/wrapped/wrappedpng16.c22
-rw-r--r--src/wrapped/wrappedpng16_private.h1
-rw-r--r--src/wrapped/wrappedpulse.c96
-rw-r--r--src/wrapped/wrappedsdl1.c8
-rw-r--r--src/wrapped/wrappedsdl1image.c2
-rw-r--r--src/wrapped/wrappedsdl1mixer.c10
-rw-r--r--src/wrapped/wrappedsdl2.c22
-rw-r--r--src/wrapped/wrappedsdl2image.c2
-rw-r--r--src/wrapped/wrappedsdl2mixer.c10
-rw-r--r--src/wrapped/wrappedsmime3.c28
-rw-r--r--src/wrapped/wrappedsmpeg.c2
-rw-r--r--src/wrapped/wrappedsmpeg2.c2
-rw-r--r--src/wrapped/wrappedudev0.c4
-rw-r--r--src/wrapped/wrappedudev1.c4
-rw-r--r--src/wrapped/wrappedvorbisfile.c10
-rw-r--r--src/wrapped/wrappedvulkan.c65
-rw-r--r--src/wrapped/wrappedvulkan_private.h11
-rw-r--r--src/wrapped/wrappedwaylandclient_private.h26
-rw-r--r--src/wrapped/wrappedxkbcommon_private.h2
-rw-r--r--src/wrapped/wrappedxml2.c394
-rw-r--r--src/wrapped/wrappedxslt.c32
696 files changed, 7629 insertions, 3126 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 7c3b3816..9219270a 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -36,6 +36,7 @@
 #() iFp
 #() iFO
 #() iFS
+#() iFP
 #() IFv
 #() IFi
 #() IFI
@@ -158,6 +159,7 @@
 #() vFpp
 #() vFpS
 #() vFSi
+#() cFpi
 #() cFpp
 #() wFpi
 #() iFEi
@@ -217,6 +219,7 @@
 #() uFii
 #() uFiu
 #() uFip
+#() uFui
 #() uFuu
 #() uFup
 #() uFpw
@@ -231,6 +234,7 @@
 #() UFEp
 #() UFuu
 #() UFpi
+#() UFpU
 #() UFpp
 #() fFEp
 #() fFif
@@ -238,6 +242,7 @@
 #() fFff
 #() fFfD
 #() fFfp
+#() fFpu
 #() fFpp
 #() dFid
 #() dFdi
@@ -279,7 +284,6 @@
 #() pFiu
 #() pFip
 #() pFiV
-#() pFII
 #() pFui
 #() pFuu
 #() pFup
@@ -287,6 +291,8 @@
 #() pFdi
 #() pFdd
 #() pFli
+#() pFll
+#() pFlp
 #() pFLi
 #() pFLC
 #() pFLu
@@ -402,6 +408,7 @@
 #() vFpff
 #() vFpdu
 #() vFpdd
+#() vFpdp
 #() vFpll
 #() vFplp
 #() vFpLi
@@ -416,6 +423,7 @@
 #() vFppl
 #() vFppL
 #() vFppp
+#() cFpdp
 #() wFppp
 #() iFEiw
 #() iFEip
@@ -455,6 +463,7 @@
 #() iFCuW
 #() iFuwp
 #() iFuip
+#() iFuWp
 #() iFuui
 #() iFuuu
 #() iFuup
@@ -550,6 +559,7 @@
 #() uFpuL
 #() uFpup
 #() uFpfu
+#() uFpli
 #() uFpLu
 #() uFpLL
 #() uFpLp
@@ -568,6 +578,7 @@
 #() dFuud
 #() dFddd
 #() dFddp
+#() dFpii
 #() dFpdd
 #() dFppi
 #() dFppu
@@ -634,6 +645,7 @@
 #() pFulu
 #() pFulp
 #() pFupi
+#() pFupu
 #() pFupl
 #() pFupL
 #() pFupp
@@ -645,6 +657,7 @@
 #() pFLup
 #() pFLLp
 #() pFLpi
+#() pFLpp
 #() pFpii
 #() pFpiu
 #() pFpid
@@ -654,6 +667,7 @@
 #() pFpCi
 #() pFpCC
 #() pFpCu
+#() pFpWi
 #() pFpWW
 #() pFpWp
 #() pFpui
@@ -790,6 +804,7 @@
 #() vFLppi
 #() vFpiii
 #() vFpiiu
+#() vFpiid
 #() vFpiip
 #() vFpiui
 #() vFpiuu
@@ -853,10 +868,12 @@
 #() vFpppl
 #() vFpppL
 #() vFpppp
+#() cFpipp
 #() iFEiip
 #() iFEiiN
 #() iFEipp
 #() iFEipV
+#() iFEipA
 #() iFEupu
 #() iFEupp
 #() iFEpii
@@ -894,6 +911,7 @@
 #() iFillu
 #() iFipii
 #() iFipip
+#() iFipWp
 #() iFipui
 #() iFipuL
 #() iFipup
@@ -901,18 +919,21 @@
 #() iFipLu
 #() iFipLp
 #() iFippi
-#() iFippu
 #() iFippL
 #() iFippp
 #() iFipON
 #() iFuiup
 #() iFuipp
+#() iFuWWp
 #() iFuuuu
 #() iFuupi
+#() iFuupp
 #() iFupLp
 #() iFuppi
+#() iFuppu
 #() iFuppp
 #() iFLLiW
+#() iFLppp
 #() iFpwww
 #() iFpwpp
 #() iFpiii
@@ -959,6 +980,7 @@
 #() iFpUUU
 #() iFpULp
 #() iFpUpp
+#() iFpdip
 #() iFplii
 #() iFplip
 #() iFplpi
@@ -1014,6 +1036,7 @@
 #() CFuuff
 #() CFpiii
 #() CFpupp
+#() CFpLLi
 #() CFppip
 #() uFEipp
 #() uFEupp
@@ -1034,6 +1057,7 @@
 #() uFpupp
 #() uFppiu
 #() uFppip
+#() uFppuu
 #() uFpplp
 #() uFppLp
 #() uFpppi
@@ -1101,13 +1125,13 @@
 #() pFiiup
 #() pFiiLp
 #() pFiipi
-#() pFiipp
 #() pFiIIi
 #() pFillu
 #() pFipii
 #() pFipip
 #() pFippi
 #() pFippu
+#() pFippp
 #() pFuuii
 #() pFuuip
 #() pFuuuu
@@ -1120,6 +1144,9 @@
 #() pFDipp
 #() pFlfff
 #() pFLiip
+#() pFLLup
+#() pFLLpp
+#() pFLppp
 #() pFpiii
 #() pFpiiu
 #() pFpiip
@@ -1147,8 +1174,10 @@
 #() pFpupp
 #() pFpdIU
 #() pFplil
+#() pFplip
 #() pFplpl
 #() pFplpp
+#() pFpLii
 #() pFpLip
 #() pFpLup
 #() pFpLLp
@@ -1347,6 +1376,7 @@
 #() vFppiii
 #() vFppiiu
 #() vFppiip
+#() vFppiui
 #() vFppiup
 #() vFppiff
 #() vFppidd
@@ -1359,6 +1389,7 @@
 #() vFppuup
 #() vFppudd
 #() vFppupi
+#() vFppupu
 #() vFppupp
 #() vFppfff
 #() vFppddp
@@ -1368,6 +1399,7 @@
 #() vFpppui
 #() vFpppuu
 #() vFpppup
+#() vFpppff
 #() vFpppdd
 #() vFppppi
 #() vFppppu
@@ -1375,6 +1407,7 @@
 #() vFppppp
 #() iFEiipp
 #() iFEiipV
+#() iFEiipA
 #() iFEippi
 #() iFEippL
 #() iFEippp
@@ -1416,8 +1449,10 @@
 #() iFippLp
 #() iFipppi
 #() iFipppp
+#() iFuuupp
 #() iFuppLp
 #() iFLppip
+#() iFLpppp
 #() iFpwwww
 #() iFpwppp
 #() iFpiiii
@@ -1449,11 +1484,14 @@
 #() iFpuuui
 #() iFpuuup
 #() iFpuuLL
+#() iFpuupp
 #() iFpulup
 #() iFpulpp
 #() iFpupiU
+#() iFpupui
 #() iFpupuu
 #() iFpupup
+#() iFpuppL
 #() iFpuppp
 #() iFpUiUi
 #() iFpUupp
@@ -1482,6 +1520,7 @@
 #() iFppiLi
 #() iFppiLL
 #() iFppipi
+#() iFppipu
 #() iFppipp
 #() iFppuwp
 #() iFppuip
@@ -1521,9 +1560,11 @@
 #() uFLpppL
 #() uFpCCCC
 #() uFpWuip
+#() uFpuuui
 #() uFpuuuu
 #() uFpuupp
 #() uFpupuu
+#() uFpuppp
 #() uFppipp
 #() uFppuup
 #() uFppupp
@@ -1553,6 +1594,7 @@
 #() LFpLppL
 #() LFpLppp
 #() LFppLLp
+#() LFppLpL
 #() LFpppii
 #() LFppppp
 #() pFEpiii
@@ -1589,6 +1631,7 @@
 #() pFpiCCC
 #() pFpiuuu
 #() pFpiupp
+#() pFpiLip
 #() pFpipip
 #() pFpipup
 #() pFpippi
@@ -1603,14 +1646,17 @@
 #() pFpuuuu
 #() pFpuuup
 #() pFpupii
+#() pFpuppu
 #() pFpuppp
 #() pFpUdii
 #() pFpfffi
 #() pFpdddd
 #() pFplppp
 #() pFpLiii
+#() pFpLLip
 #() pFpLLLp
 #() pFpLpii
+#() pFpLpip
 #() pFppiii
 #() pFppiiu
 #() pFppiip
@@ -1625,11 +1671,13 @@
 #() pFppupp
 #() pFppddu
 #() pFppLii
+#() pFppLLi
+#() pFppLpp
 #() pFpppii
 #() pFpppip
-#() pFpppIi
 #() pFpppui
 #() pFpppup
+#() pFpppli
 #() pFpppLi
 #() pFppppi
 #() pFppppu
@@ -1653,6 +1701,7 @@
 #() vFEpiLpp
 #() vFEpippp
 #() vFEpuipp
+#() vFEpuipV
 #() vFEpupup
 #() vFEpuppp
 #() vFEpLLpp
@@ -1742,11 +1791,14 @@
 #() vFpuiiiu
 #() vFpuiipp
 #() vFpuuuiu
+#() vFpuuuup
+#() vFpuuupp
 #() vFpuupuu
 #() vFpuuppp
 #() vFpudddd
 #() vFpupiUu
 #() vFpupuuu
+#() vFpupupu
 #() vFpuppuu
 #() vFpupppp
 #() vFpUiuup
@@ -1805,11 +1857,13 @@
 #() iFEpIppp
 #() iFEpuppp
 #() iFEpUppp
+#() iFEppppi
 #() iFEppppp
 #() iFiiiiip
 #() iFiiiipp
 #() iFiiiuwp
 #() iFiWiipi
+#() iFilpppp
 #() iFiLpppi
 #() iFipiipi
 #() iFipipip
@@ -1834,17 +1888,23 @@
 #() iFpiuuup
 #() iFpiuupp
 #() iFpipipi
+#() iFpipipp
 #() iFpipupp
 #() iFpippip
+#() iFpippup
 #() iFpipppL
 #() iFpipppp
 #() iFpCiipp
 #() iFpCpipu
+#() iFpWipip
 #() iFpWpppp
 #() iFpuiCpp
 #() iFpuippp
 #() iFpuuuuu
+#() iFpuuuup
+#() iFpuuupp
 #() iFpuupuu
+#() iFpuuppp
 #() iFpuLLpp
 #() iFpupuui
 #() iFpupLpL
@@ -1853,6 +1913,7 @@
 #() iFpUuupp
 #() iFpUUUip
 #() iFpUUUUp
+#() iFpdpipp
 #() iFpLiiiL
 #() iFpLiiip
 #() iFpLiiuu
@@ -1871,9 +1932,11 @@
 #() iFppiipi
 #() iFppiipp
 #() iFppiupp
+#() iFppilpp
 #() iFppipii
 #() iFppipiL
 #() iFppipip
+#() iFppippu
 #() iFppIppp
 #() iFppuiii
 #() iFppuIII
@@ -1886,12 +1949,15 @@
 #() iFppLupp
 #() iFppLLiL
 #() iFppLLup
+#() iFppLLpp
 #() iFppLpLp
 #() iFppLppp
 #() iFpppiuu
 #() iFpppipi
+#() iFpppipu
 #() iFpppipp
 #() iFpppuii
+#() iFpppuup
 #() iFpppupu
 #() iFpppupp
 #() iFpppLpp
@@ -1900,6 +1966,7 @@
 #() iFppppip
 #() iFppppup
 #() iFpppppi
+#() iFpppppL
 #() iFpppppp
 #() uFEiippp
 #() uFEiuppp
@@ -1914,6 +1981,9 @@
 #() uFpWuuCp
 #() uFpuippp
 #() uFpuuuup
+#() uFpuuupp
+#() uFpuuppp
+#() uFpupupu
 #() uFppippp
 #() uFppuuup
 #() uFppuupu
@@ -1936,6 +2006,7 @@
 #() LFpipipi
 #() LFpLippp
 #() LFpLLLLL
+#() LFppLLpL
 #() LFSpLiip
 #() pFEpiupp
 #() pFEpippp
@@ -1954,14 +2025,17 @@
 #() pFipippp
 #() pFWCiWCi
 #() pFuuipip
+#() pFuuuiip
 #() pFuuuuii
 #() pFuuuuuu
 #() pFuuuuup
+#() pFuuppuu
 #() pFdddddd
 #() pFpiiiiu
 #() pFpiiipp
 #() pFpiiCCC
 #() pFpiUUUU
+#() pFpipipp
 #() pFpippip
 #() pFpipppp
 #() pFpCuuCC
@@ -1972,18 +2046,26 @@
 #() pFpuuupu
 #() pFpuuUUU
 #() pFpupuui
+#() pFpuppip
 #() pFpupppp
 #() pFplpppp
+#() pFpLuLpp
+#() pFpLpLLi
 #() pFpLppii
+#() pFpLppip
+#() pFpLppup
 #() pFppiiii
 #() pFppiipp
 #() pFppiCCC
 #() pFppiupp
+#() pFppilpp
 #() pFppipip
 #() pFppippi
 #() pFppippp
+#() pFppuupp
 #() pFppupii
 #() pFppuppp
+#() pFpplplp
 #() pFpplppp
 #() pFpppiup
 #() pFpppupp
@@ -2068,6 +2150,7 @@
 #() vFpippppu
 #() vFpuuuuuu
 #() vFpuuUUuu
+#() vFpuupupu
 #() vFpuupppp
 #() vFpupuuup
 #() vFpupppui
@@ -2102,6 +2185,7 @@
 #() vFpppiupi
 #() vFpppippi
 #() vFpppuuuu
+#() vFpppffff
 #() vFppppiip
 #() vFppppiui
 #() vFppppipi
@@ -2118,6 +2202,7 @@
 #() iFEpppppL
 #() iFEpppppp
 #() iFiiiiiip
+#() iFipupupi
 #() iFpiiiiii
 #() iFpiiiiip
 #() iFpiiiuwp
@@ -2128,10 +2213,12 @@
 #() iFpiupppp
 #() iFpiLuupp
 #() iFpiLuppp
+#() iFpipiiip
 #() iFpipipip
 #() iFpipippp
 #() iFpippLpp
 #() iFpippppW
+#() iFpippppp
 #() iFpIIpppp
 #() iFpWCiWCi
 #() iFpWppppW
@@ -2177,6 +2264,7 @@
 #() iFpppippi
 #() iFpppippp
 #() iFpppuiii
+#() iFpppLppp
 #() iFppppilp
 #() iFppppipp
 #() iFppppdpu
@@ -2191,6 +2279,8 @@
 #() uFiiiuuuu
 #() uFuippppp
 #() uFpippppp
+#() uFpuuuupp
+#() uFpuuuppp
 #() uFpuupppp
 #() uFppiuppp
 #() uFppuuuup
@@ -2224,28 +2314,37 @@
 #() pFpupiipp
 #() pFpuppipp
 #() pFplppppp
+#() pFpLLppup
+#() pFpLpipip
+#() pFpLpLLiL
 #() pFpLppiip
+#() pFpLppLLi
 #() pFppiiipp
 #() pFppiiCCC
+#() pFppiippp
 #() pFppipipp
 #() pFppipLpp
 #() pFppuippp
 #() pFppuuupp
 #() pFppuuppp
+#() pFppuLLip
 #() pFppliuip
 #() pFpplipup
 #() pFppLipip
+#() pFppLLiLi
 #() pFpppccci
 #() pFpppiiii
 #() pFpppCCCi
 #() pFpppuipp
 #() pFpppuuui
 #() pFpppuupp
+#() pFpppupup
 #() pFpppuppp
 #() pFpppfffi
 #() pFpppdddi
 #() pFpppllli
 #() pFpppLLLi
+#() pFppppiii
 #() pFppppuuu
 #() pFpppppuu
 #() pFppppppu
@@ -2292,6 +2391,7 @@
 #() vFuuufffff
 #() vFffffffff
 #() vFpiiiiiii
+#() vFpiiiiiip
 #() vFpiiiipii
 #() vFpiiULipp
 #() vFpiUuupup
@@ -2329,7 +2429,10 @@
 #() iFiiupiupi
 #() iFipippppp
 #() iFuuuuuuuu
+#() iFdiippppL
+#() iFpipiipip
 #() iFpippuuii
+#() iFpippuupp
 #() iFpCCWWpWu
 #() iFpWCuWCuu
 #() iFpWWipppp
@@ -2339,6 +2442,8 @@
 #() iFpuuipppp
 #() iFpuuupupu
 #() iFpuupuupp
+#() iFpuuppiip
+#() iFpuuppppp
 #() iFpupppWWu
 #() iFpupppppp
 #() iFpUuuLpUi
@@ -2348,8 +2453,10 @@
 #() iFpLLppppp
 #() iFpLpipppp
 #() iFpLppLpip
+#() iFpLpppupu
 #() iFpLpppppp
 #() iFppiiipip
+#() iFppillppp
 #() iFppIIIppp
 #() iFppuiiuuu
 #() iFppuuuuuu
@@ -2357,6 +2464,7 @@
 #() iFpppiiipi
 #() iFpppiiipp
 #() iFpppipipi
+#() iFppppiiup
 #() iFppppippp
 #() iFppppppii
 #() iFpppppppi
@@ -2370,12 +2478,13 @@
 #() uFuipppppp
 #() uFuupuuiuf
 #() uFulpppppp
+#() uFpuupupuu
 #() uFpupuuuCp
 #() uFppuuuupp
 #() uFppuuuppu
 #() uFppuppppp
 #() uFpppppupp
-#() LFELpLpLpi
+#() LFELpupupu
 #() LFEpiupppp
 #() LFpLpuuLLu
 #() pFEiplllpp
@@ -2403,7 +2512,14 @@
 #() pFpupppppp
 #() pFpdwwWWui
 #() pFplpppppp
+#() pFpLuLpLip
+#() pFpLpipLup
+#() pFpLpLLiLi
+#() pFpLppuLLp
+#() pFpLppLLiL
 #() pFppiiiiii
+#() pFpppipipi
+#() pFppplippp
 #() pFppppuppp
 #() pFpppppupp
 #() iWEpuuiipp
@@ -2443,6 +2559,7 @@
 #() vFpiuippppi
 #() vFpipiuiipp
 #() vFpipppiipi
+#() vFpuuuuuuuu
 #() vFpLpppippp
 #() vFppiiiiiii
 #() vFppiiiiipi
@@ -2463,6 +2580,7 @@
 #() vFppddddudd
 #() vFpplpppppi
 #() vFpppiiiiii
+#() vFpppffffff
 #() vFppppipiip
 #() vFpppppippp
 #() iFEpiiiiipi
@@ -2483,6 +2601,7 @@
 #() iFpLiuiiLLL
 #() iFpLLiiuuii
 #() iFpLpiiuuii
+#() iFpLpppupup
 #() iFpLppppppp
 #() iFppiiiiiii
 #() iFppippippp
@@ -2497,6 +2616,7 @@
 #() uFEipippppp
 #() uFEpppufppp
 #() uFuulpiuiuf
+#() uFpuupuppuu
 #() uFppLpLuppp
 #() uFppppppppp
 #() lFpppipiipp
@@ -2514,6 +2634,8 @@
 #() pFpCuWCCuuu
 #() pFpuuwwWWww
 #() pFpupuuuuup
+#() pFpLpLLipui
+#() pFpLppLLiLi
 #() pFppiiiiiip
 #() pFppipppppp
 #() pFpppiiiiii
@@ -2562,6 +2684,7 @@
 #() vFppuppuiiii
 #() vFppupppiiii
 #() vFppdddddddd
+#() vFppppppppii
 #() vFpppppppppp
 #() iFEpiiiiippp
 #() iFEpupppLppL
@@ -2576,7 +2699,9 @@
 #() iFppuuiiuupi
 #() iFpppiiipipi
 #() iFpppLLipppp
+#() iFpppppiiuup
 #() iFpppppppipi
+#() iFpppppppppu
 #() uFpddpippppp
 #() uFpppppppppp
 #() pFEiippppppp
@@ -2587,6 +2712,7 @@
 #() pFpuuuwwwwWW
 #() pFpuuuWWWCCi
 #() pFplllllllll
+#() pFppippLLLip
 #() pFppuiipuuii
 #() pFpppiiiiiii
 #() pFpppppppppp
@@ -2633,6 +2759,7 @@
 #() iFpLLpiiuuiiL
 #() iFppippipppip
 #() iFpppiiuuiiuu
+#() iFpppppiiuupp
 #() uFEpLiupppLuV
 #() uFEpLippppLup
 #() uFEpLippppLuA
@@ -2678,6 +2805,7 @@
 #() pFpCuuWWwwCCup
 #() pFpuuuWWWWWWWW
 #() pFppiiuuuiupLp
+#() pFppippLLLiLpp
 #() pFpppppppppppp
 #() vFEpppppppiippp
 #() vFuiiiiiiiiiuup
@@ -2699,6 +2827,7 @@
 #() uFppppuuupppppp
 #() pFpCuuwwWWWWuup
 #() pFpuupppwwwwWWC
+#() pFppLppppiiLpip
 #() pFpppppppuipppp
 #() pFppppppppppppp
 #() vFippppppppppppp
@@ -2790,6 +2919,7 @@ wrappedbz2:
   - BZ2_bzCompressInit
 wrappedcairo:
 wrappedcairogobject:
+wrappedcap:
 wrappedcrashhandler:
 wrappedcrypto:
 - vFp:
@@ -2799,18 +2929,30 @@ wrappedcrypto:
   - sk_new
 - vFpp:
   - X509_STORE_CTX_set_verify_cb
+  - X509_STORE_set_verify_cb
   - sk_pop_free
+- iFpp:
+  - BIO_meth_set_create
+  - BIO_meth_set_ctrl
+  - BIO_meth_set_destroy
+  - BIO_meth_set_gets
+  - BIO_meth_set_puts
+  - BIO_meth_set_read
+  - BIO_meth_set_write
 - pFpp:
   - OPENSSL_sk_pop_free
 - iFppp:
   - ASN1_i2d_bio
 - pFpppp:
   - ASN1_d2i_bio
+  - PEM_read_bio_DHparams
   - PEM_read_bio_DSAPrivateKey
   - PEM_read_bio_DSA_PUBKEY
   - PEM_read_bio_ECPrivateKey
   - PEM_read_bio_EC_PUBKEY
   - PEM_read_bio_PKCS7
+  - PEM_read_bio_PUBKEY
+  - PEM_read_bio_PrivateKey
   - PEM_read_bio_RSAPrivateKey
   - PEM_read_bio_RSA_PUBKEY
   - PEM_read_bio_X509
@@ -2825,6 +2967,7 @@ wrappedcrypto:
 - iFppppipp:
   - PEM_write_bio_DSAPrivateKey
   - PEM_write_bio_ECPrivateKey
+  - PEM_write_bio_PrivateKey
   - PEM_write_bio_RSAPrivateKey
 wrappedcrypto3:
 - vFp:
@@ -2836,6 +2979,10 @@ wrappedcrypto3:
   - OPENSSL_sk_pop_free
 - iFppp:
   - ASN1_i2d_bio
+- vFiipV:
+  - ERR_set_error
+- vFiipA:
+  - ERR_vset_error
 - pFpppp:
   - ASN1_d2i_bio
   - PEM_read_bio_DSAPrivateKey
@@ -2892,6 +3039,7 @@ wrappeddbus:
   - dbus_message_get_args_valist
 - iFpppp:
   - dbus_connection_add_filter
+  - dbus_connection_register_fallback
   - dbus_pending_call_set_notify
 - iFppppp:
   - dbus_connection_try_register_fallback
@@ -2998,6 +3146,8 @@ wrappedgdk3:
   - gdk_window_remove_filter
 - iFiipp:
   - gdk_input_add
+- uFippp:
+  - gdk_threads_add_idle_full
 - iFiippp:
   - gdk_input_add_full
 wrappedgdkpixbuf2:
@@ -3019,6 +3169,7 @@ wrappedgdkx112:
 wrappedgio2:
 - vFppp:
   - g_simple_async_result_set_op_res_gpointer
+  - g_task_return_pointer
 - vFippp:
   - g_bus_get
 - vFppip:
@@ -3036,8 +3187,11 @@ wrappedgio2:
   - g_simple_async_result_new
   - g_simple_async_result_new_from_error
   - g_simple_async_result_new_take_error
+  - g_task_new
 - vFpippp:
   - g_async_initable_init_async
+- vFpuipV:
+  - g_task_return_new_error
 - vFppipV:
   - g_simple_async_result_set_error
 - vFppipA:
@@ -3313,7 +3467,7 @@ wrappedgobject2:
   - g_signal_handlers_block_matched
   - g_signal_handlers_disconnect_matched
   - g_signal_handlers_unblock_matched
-- LFLpLpLpi:
+- LFLpupupu:
   - g_type_register_static_simple
 - LFpiupppp:
   - g_signal_handler_find
@@ -3323,6 +3477,7 @@ wrappedgobject2:
   - g_signal_newv
 - uFpLippppLuA:
   - g_signal_new_valist
+wrappedgomp:
 wrappedgssapi:
 wrappedgssapikrb5:
 wrappedgstapp:
@@ -3336,6 +3491,8 @@ wrappedgstreamer:
 - vFppA:
   - gst_caps_set_simple_valist
   - gst_structure_remove_fields_valist
+- iFppp:
+  - gst_caps_foreach
 - iFppV:
   - gst_structure_get
 - iFppA:
@@ -3383,6 +3540,7 @@ wrappedgtk3:
   - gtk_style_context_get_valist
 - vFppp:
   - gtk_builder_connect_signals_full
+  - gtk_clipboard_request_text
   - gtk_container_forall
   - gtk_container_foreach
   - gtk_menu_attach_to_widget
@@ -3618,11 +3776,13 @@ wrappedlibc:
 - iFpV:
   - __isoc99_scanf
   - execl
+  - execle
   - execlp
   - printf
   - wprintf
 - iFpA:
   - vprintf
+  - vwprintf
 - iFSp:
   - _IO_file_stat
 - pFip:
@@ -3665,6 +3825,9 @@ wrappedlibc:
   - sigaction
 - iFipV:
   - __printf_chk
+  - dprintf
+- iFipA:
+  - vdprintf
 - iFpLi:
   - mprotect
 - iFppi:
@@ -3682,6 +3845,7 @@ wrappedlibc:
   - __asprintf
   - __isoc99_fscanf
   - __isoc99_sscanf
+  - __isoc99_swscanf
   - asprintf
   - fprintf
   - fscanf
@@ -3716,6 +3880,8 @@ wrappedlibc:
   - tdelete
   - tfind
   - tsearch
+- pFppV:
+  - fopencookie
 - vFiipV:
   - __syslog_chk
 - vFiipA:
@@ -3726,6 +3892,10 @@ wrappedlibc:
   - epoll_ctl
 - iFiiiN:
   - semctl
+- iFiipV:
+  - __dprintf_chk
+- iFiipA:
+  - __vdprintf_chk
 - iFipii:
   - epoll_wait
 - iFippi:
@@ -3870,6 +4040,61 @@ wrappedlibglx:
 - pFp:
   - glXGetProcAddress
   - glXGetProcAddressARB
+wrappedlibharfbuzz:
+- vFp:
+  - hb_draw_funcs_destroy
+  - hb_font_funcs_destroy
+- pFp:
+  - hb_unicode_funcs_reference
+- vFppp:
+  - hb_font_set_funcs_data
+- pFppp:
+  - hb_face_create_for_tables
+- vFpppp:
+  - hb_buffer_set_message_func
+  - hb_draw_funcs_set_close_path_func
+  - hb_draw_funcs_set_cubic_to_func
+  - hb_draw_funcs_set_line_to_func
+  - hb_draw_funcs_set_move_to_func
+  - hb_draw_funcs_set_quadratic_to_func
+  - hb_font_funcs_set_font_h_extents_func
+  - hb_font_funcs_set_font_v_extents_func
+  - hb_font_funcs_set_glyph_contour_point_func
+  - hb_font_funcs_set_glyph_extents_func
+  - hb_font_funcs_set_glyph_from_name_func
+  - hb_font_funcs_set_glyph_func
+  - hb_font_funcs_set_glyph_h_advance_func
+  - hb_font_funcs_set_glyph_h_advances_func
+  - hb_font_funcs_set_glyph_h_kerning_func
+  - hb_font_funcs_set_glyph_h_origin_func
+  - hb_font_funcs_set_glyph_name_func
+  - hb_font_funcs_set_glyph_shape_func
+  - hb_font_funcs_set_glyph_v_advance_func
+  - hb_font_funcs_set_glyph_v_advances_func
+  - hb_font_funcs_set_glyph_v_kerning_func
+  - hb_font_funcs_set_glyph_v_origin_func
+  - hb_font_funcs_set_nominal_glyph_func
+  - hb_font_funcs_set_nominal_glyphs_func
+  - hb_font_funcs_set_variation_glyph_func
+  - hb_font_set_funcs
+  - hb_unicode_funcs_set_combining_class_func
+  - hb_unicode_funcs_set_compose_func
+  - hb_unicode_funcs_set_decompose_compatibility_func
+  - hb_unicode_funcs_set_decompose_func
+  - hb_unicode_funcs_set_eastasian_width_func
+  - hb_unicode_funcs_set_general_category_func
+  - hb_unicode_funcs_set_mirroring_func
+  - hb_unicode_funcs_set_script_func
+- iFppppi:
+  - hb_blob_set_user_data
+  - hb_buffer_set_user_data
+  - hb_face_set_user_data
+  - hb_font_funcs_set_user_data
+  - hb_font_set_user_data
+  - hb_unicode_funcs_set_user_data
+- pFpuupp:
+  - hb_blob_create
+  - hb_blob_create_or_fail
 wrappedlibibus:
 - vFpippp:
   - ibus_bus_current_input_context_async
@@ -4089,9 +4314,14 @@ wrappedlibssl:
 - pFp:
   - SSL_get_verify_callback
 - vFpp:
+  - SSL_CTX_sess_set_new_cb
   - SSL_CTX_set_client_cert_cb
+  - SSL_CTX_set_cookie_generate_cb
+  - SSL_CTX_set_cookie_verify_cb
   - SSL_CTX_set_default_passwd_cb
   - SSL_set_psk_client_callback
+  - SSL_set_psk_server_callback
+  - SSL_set_psk_use_session_callback
 - vFpip:
   - SSL_CTX_set_verify
   - SSL_set_verify
@@ -4115,6 +4345,7 @@ wrappedlibssl3:
   - SSL_CTX_set_verify
   - SSL_set_verify
 - vFppp:
+  - SSL_CTX_set_alpn_select_cb
   - SSL_CTX_set_cert_verify_callback
   - SSL_CTX_set_next_proto_select_cb
 - lFpip:
@@ -4138,10 +4369,15 @@ wrappedlibusb1:
   - libusb_hotplug_register_callback
 wrappedlibuuid:
 wrappedlibva:
+- pFppp:
+  - vaSetErrorCallback
+  - vaSetInfoCallback
 wrappedlibvadrm:
 wrappedlibvawayland:
 wrappedlibvax11:
 wrappedlibvdpau:
+- iFpipp:
+  - vdp_device_create_x11
 wrappedlibvorbis:
 wrappedlibx11:
 - iFp:
@@ -4261,8 +4497,12 @@ wrappedlibz:
 - iFpiiiiipi:
   - deflateInit2_
 wrappedlzma:
+- vFp:
+  - lzma_end
 - vFpp:
   - lzma_index_end
+- iFpi:
+  - lzma_code
 - iFpU:
   - lzma_alone_decoder
 - iFpp:
diff --git a/src/wrapped/generated/wrappedaluredefs.h b/src/wrapped/generated/wrappedaluredefs.h
index 4652a063..de0ccbf1 100644
--- a/src/wrapped/generated/wrappedaluredefs.h
+++ b/src/wrapped/generated/wrappedaluredefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedalureDEFS_H_
 #define __wrappedalureDEFS_H_
diff --git a/src/wrapped/generated/wrappedaluretypes.h b/src/wrapped/generated/wrappedaluretypes.h
index a512e04a..a03db502 100644
--- a/src/wrapped/generated/wrappedaluretypes.h
+++ b/src/wrapped/generated/wrappedaluretypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedalureTYPES_H_
 #define __wrappedalureTYPES_H_
diff --git a/src/wrapped/generated/wrappedalureundefs.h b/src/wrapped/generated/wrappedalureundefs.h
index b46f345c..7220c005 100644
--- a/src/wrapped/generated/wrappedalureundefs.h
+++ b/src/wrapped/generated/wrappedalureundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedalureUNDEFS_H_
 #define __wrappedalureUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedalutdefs.h b/src/wrapped/generated/wrappedalutdefs.h
index 2b329559..2f69679f 100644
--- a/src/wrapped/generated/wrappedalutdefs.h
+++ b/src/wrapped/generated/wrappedalutdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedalutDEFS_H_
 #define __wrappedalutDEFS_H_
diff --git a/src/wrapped/generated/wrappedaluttypes.h b/src/wrapped/generated/wrappedaluttypes.h
index 2605a7d5..087b2163 100644
--- a/src/wrapped/generated/wrappedaluttypes.h
+++ b/src/wrapped/generated/wrappedaluttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedalutTYPES_H_
 #define __wrappedalutTYPES_H_
diff --git a/src/wrapped/generated/wrappedalutundefs.h b/src/wrapped/generated/wrappedalutundefs.h
index a75d812b..dfac8786 100644
--- a/src/wrapped/generated/wrappedalutundefs.h
+++ b/src/wrapped/generated/wrappedalutundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedalutUNDEFS_H_
 #define __wrappedalutUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedatkbridgedefs.h b/src/wrapped/generated/wrappedatkbridgedefs.h
index c775c9fe..aeb21847 100644
--- a/src/wrapped/generated/wrappedatkbridgedefs.h
+++ b/src/wrapped/generated/wrappedatkbridgedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatkbridgeDEFS_H_
 #define __wrappedatkbridgeDEFS_H_
diff --git a/src/wrapped/generated/wrappedatkbridgetypes.h b/src/wrapped/generated/wrappedatkbridgetypes.h
index 979c708f..0406d28c 100644
--- a/src/wrapped/generated/wrappedatkbridgetypes.h
+++ b/src/wrapped/generated/wrappedatkbridgetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatkbridgeTYPES_H_
 #define __wrappedatkbridgeTYPES_H_
diff --git a/src/wrapped/generated/wrappedatkbridgeundefs.h b/src/wrapped/generated/wrappedatkbridgeundefs.h
index 30ac3866..65d5c285 100644
--- a/src/wrapped/generated/wrappedatkbridgeundefs.h
+++ b/src/wrapped/generated/wrappedatkbridgeundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatkbridgeUNDEFS_H_
 #define __wrappedatkbridgeUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedatkdefs.h b/src/wrapped/generated/wrappedatkdefs.h
index beec241f..9d417c68 100644
--- a/src/wrapped/generated/wrappedatkdefs.h
+++ b/src/wrapped/generated/wrappedatkdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatkDEFS_H_
 #define __wrappedatkDEFS_H_
diff --git a/src/wrapped/generated/wrappedatktypes.h b/src/wrapped/generated/wrappedatktypes.h
index b882f5d4..1e9efa80 100644
--- a/src/wrapped/generated/wrappedatktypes.h
+++ b/src/wrapped/generated/wrappedatktypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatkTYPES_H_
 #define __wrappedatkTYPES_H_
diff --git a/src/wrapped/generated/wrappedatkundefs.h b/src/wrapped/generated/wrappedatkundefs.h
index d170027c..058d317f 100644
--- a/src/wrapped/generated/wrappedatkundefs.h
+++ b/src/wrapped/generated/wrappedatkundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatkUNDEFS_H_
 #define __wrappedatkUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedatomicdefs.h b/src/wrapped/generated/wrappedatomicdefs.h
index a4fcd9fc..efbab8b1 100644
--- a/src/wrapped/generated/wrappedatomicdefs.h
+++ b/src/wrapped/generated/wrappedatomicdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatomicDEFS_H_
 #define __wrappedatomicDEFS_H_
diff --git a/src/wrapped/generated/wrappedatomictypes.h b/src/wrapped/generated/wrappedatomictypes.h
index 8167c845..9257ed42 100644
--- a/src/wrapped/generated/wrappedatomictypes.h
+++ b/src/wrapped/generated/wrappedatomictypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatomicTYPES_H_
 #define __wrappedatomicTYPES_H_
diff --git a/src/wrapped/generated/wrappedatomicundefs.h b/src/wrapped/generated/wrappedatomicundefs.h
index c9f30250..354f26a4 100644
--- a/src/wrapped/generated/wrappedatomicundefs.h
+++ b/src/wrapped/generated/wrappedatomicundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatomicUNDEFS_H_
 #define __wrappedatomicUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedatspidefs.h b/src/wrapped/generated/wrappedatspidefs.h
index c25b6ff3..78bd3ff0 100644
--- a/src/wrapped/generated/wrappedatspidefs.h
+++ b/src/wrapped/generated/wrappedatspidefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatspiDEFS_H_
 #define __wrappedatspiDEFS_H_
diff --git a/src/wrapped/generated/wrappedatspitypes.h b/src/wrapped/generated/wrappedatspitypes.h
index 435c9429..3885e392 100644
--- a/src/wrapped/generated/wrappedatspitypes.h
+++ b/src/wrapped/generated/wrappedatspitypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatspiTYPES_H_
 #define __wrappedatspiTYPES_H_
diff --git a/src/wrapped/generated/wrappedatspiundefs.h b/src/wrapped/generated/wrappedatspiundefs.h
index 801554b8..6c1de3ec 100644
--- a/src/wrapped/generated/wrappedatspiundefs.h
+++ b/src/wrapped/generated/wrappedatspiundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedatspiUNDEFS_H_
 #define __wrappedatspiUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedbz2defs.h b/src/wrapped/generated/wrappedbz2defs.h
index 02b9c875..553579ce 100644
--- a/src/wrapped/generated/wrappedbz2defs.h
+++ b/src/wrapped/generated/wrappedbz2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedbz2DEFS_H_
 #define __wrappedbz2DEFS_H_
diff --git a/src/wrapped/generated/wrappedbz2types.h b/src/wrapped/generated/wrappedbz2types.h
index 7e9f61f0..0fdf134a 100644
--- a/src/wrapped/generated/wrappedbz2types.h
+++ b/src/wrapped/generated/wrappedbz2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedbz2TYPES_H_
 #define __wrappedbz2TYPES_H_
diff --git a/src/wrapped/generated/wrappedbz2undefs.h b/src/wrapped/generated/wrappedbz2undefs.h
index e401f249..408af98d 100644
--- a/src/wrapped/generated/wrappedbz2undefs.h
+++ b/src/wrapped/generated/wrappedbz2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedbz2UNDEFS_H_
 #define __wrappedbz2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedcairodefs.h b/src/wrapped/generated/wrappedcairodefs.h
index a95f11c9..d25672d3 100644
--- a/src/wrapped/generated/wrappedcairodefs.h
+++ b/src/wrapped/generated/wrappedcairodefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcairoDEFS_H_
 #define __wrappedcairoDEFS_H_
diff --git a/src/wrapped/generated/wrappedcairogobjectdefs.h b/src/wrapped/generated/wrappedcairogobjectdefs.h
index 55a8d4a7..8408e6f8 100644
--- a/src/wrapped/generated/wrappedcairogobjectdefs.h
+++ b/src/wrapped/generated/wrappedcairogobjectdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcairogobjectDEFS_H_
 #define __wrappedcairogobjectDEFS_H_
diff --git a/src/wrapped/generated/wrappedcairogobjecttypes.h b/src/wrapped/generated/wrappedcairogobjecttypes.h
index af1f4941..e3e8e0a1 100644
--- a/src/wrapped/generated/wrappedcairogobjecttypes.h
+++ b/src/wrapped/generated/wrappedcairogobjecttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcairogobjectTYPES_H_
 #define __wrappedcairogobjectTYPES_H_
diff --git a/src/wrapped/generated/wrappedcairogobjectundefs.h b/src/wrapped/generated/wrappedcairogobjectundefs.h
index c0210e48..dde0be0c 100644
--- a/src/wrapped/generated/wrappedcairogobjectundefs.h
+++ b/src/wrapped/generated/wrappedcairogobjectundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcairogobjectUNDEFS_H_
 #define __wrappedcairogobjectUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedcairotypes.h b/src/wrapped/generated/wrappedcairotypes.h
index 2748231d..b80b3522 100644
--- a/src/wrapped/generated/wrappedcairotypes.h
+++ b/src/wrapped/generated/wrappedcairotypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcairoTYPES_H_
 #define __wrappedcairoTYPES_H_
diff --git a/src/wrapped/generated/wrappedcairoundefs.h b/src/wrapped/generated/wrappedcairoundefs.h
index c464dbe3..5af41cd2 100644
--- a/src/wrapped/generated/wrappedcairoundefs.h
+++ b/src/wrapped/generated/wrappedcairoundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcairoUNDEFS_H_
 #define __wrappedcairoUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedcapdefs.h b/src/wrapped/generated/wrappedcapdefs.h
new file mode 100644
index 00000000..1965eb42
--- /dev/null
+++ b/src/wrapped/generated/wrappedcapdefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedcapDEFS_H_
+#define __wrappedcapDEFS_H_
+
+
+#endif // __wrappedcapDEFS_H_
diff --git a/src/wrapped/generated/wrappedcaptypes.h b/src/wrapped/generated/wrappedcaptypes.h
new file mode 100644
index 00000000..0fad76e8
--- /dev/null
+++ b/src/wrapped/generated/wrappedcaptypes.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedcapTYPES_H_
+#define __wrappedcapTYPES_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 // __wrappedcapTYPES_H_
diff --git a/src/wrapped/generated/wrappedcapundefs.h b/src/wrapped/generated/wrappedcapundefs.h
new file mode 100644
index 00000000..b3be1c92
--- /dev/null
+++ b/src/wrapped/generated/wrappedcapundefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedcapUNDEFS_H_
+#define __wrappedcapUNDEFS_H_
+
+
+#endif // __wrappedcapUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedcrashhandlerdefs.h b/src/wrapped/generated/wrappedcrashhandlerdefs.h
index 54e0d20f..6048042a 100644
--- a/src/wrapped/generated/wrappedcrashhandlerdefs.h
+++ b/src/wrapped/generated/wrappedcrashhandlerdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcrashhandlerDEFS_H_
 #define __wrappedcrashhandlerDEFS_H_
diff --git a/src/wrapped/generated/wrappedcrashhandlertypes.h b/src/wrapped/generated/wrappedcrashhandlertypes.h
index cc0f4981..c582a1d8 100644
--- a/src/wrapped/generated/wrappedcrashhandlertypes.h
+++ b/src/wrapped/generated/wrappedcrashhandlertypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcrashhandlerTYPES_H_
 #define __wrappedcrashhandlerTYPES_H_
diff --git a/src/wrapped/generated/wrappedcrashhandlerundefs.h b/src/wrapped/generated/wrappedcrashhandlerundefs.h
index 0ff57838..0d4cd35f 100644
--- a/src/wrapped/generated/wrappedcrashhandlerundefs.h
+++ b/src/wrapped/generated/wrappedcrashhandlerundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcrashhandlerUNDEFS_H_
 #define __wrappedcrashhandlerUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedcrypto3defs.h b/src/wrapped/generated/wrappedcrypto3defs.h
index 23d9412a..ce1acd5a 100644
--- a/src/wrapped/generated/wrappedcrypto3defs.h
+++ b/src/wrapped/generated/wrappedcrypto3defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcrypto3DEFS_H_
 #define __wrappedcrypto3DEFS_H_
diff --git a/src/wrapped/generated/wrappedcrypto3types.h b/src/wrapped/generated/wrappedcrypto3types.h
index 8958d348..ee932d24 100644
--- a/src/wrapped/generated/wrappedcrypto3types.h
+++ b/src/wrapped/generated/wrappedcrypto3types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcrypto3TYPES_H_
 #define __wrappedcrypto3TYPES_H_
@@ -15,6 +15,8 @@ typedef void (*vFp_t)(void*);
 typedef void (*vFpp_t)(void*, void*);
 typedef void* (*pFpp_t)(void*, void*);
 typedef int32_t (*iFppp_t)(void*, void*, void*);
+typedef void (*vFiipV_t)(int32_t, int32_t, void*, ...);
+typedef void (*vFiipA_t)(int32_t, int32_t, void*, va_list);
 typedef void* (*pFpppp_t)(void*, void*, void*, void*);
 typedef int32_t (*iFpiipp_t)(void*, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFpplppi_t)(void*, void*, intptr_t, void*, void*, int32_t);
@@ -26,6 +28,8 @@ typedef int32_t (*iFppppipp_t)(void*, void*, void*, void*, int32_t, void*, void*
 	GO(X509_STORE_CTX_set_verify_cb, vFpp_t) \
 	GO(OPENSSL_sk_pop_free, pFpp_t) \
 	GO(ASN1_i2d_bio, iFppp_t) \
+	GO(ERR_set_error, vFiipV_t) \
+	GO(ERR_vset_error, vFiipA_t) \
 	GO(ASN1_d2i_bio, pFpppp_t) \
 	GO(PEM_read_bio_DSAPrivateKey, pFpppp_t) \
 	GO(PEM_read_bio_DSA_PUBKEY, pFpppp_t) \
diff --git a/src/wrapped/generated/wrappedcrypto3undefs.h b/src/wrapped/generated/wrappedcrypto3undefs.h
index c6c7cb79..05f34f2e 100644
--- a/src/wrapped/generated/wrappedcrypto3undefs.h
+++ b/src/wrapped/generated/wrappedcrypto3undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcrypto3UNDEFS_H_
 #define __wrappedcrypto3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedcryptodefs.h b/src/wrapped/generated/wrappedcryptodefs.h
index ec601398..21060d94 100644
--- a/src/wrapped/generated/wrappedcryptodefs.h
+++ b/src/wrapped/generated/wrappedcryptodefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcryptoDEFS_H_
 #define __wrappedcryptoDEFS_H_
diff --git a/src/wrapped/generated/wrappedcryptotypes.h b/src/wrapped/generated/wrappedcryptotypes.h
index fce03fad..52f30a69 100644
--- a/src/wrapped/generated/wrappedcryptotypes.h
+++ b/src/wrapped/generated/wrappedcryptotypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcryptoTYPES_H_
 #define __wrappedcryptoTYPES_H_
@@ -14,6 +14,7 @@
 typedef void (*vFp_t)(void*);
 typedef void* (*pFp_t)(void*);
 typedef void (*vFpp_t)(void*, void*);
+typedef int32_t (*iFpp_t)(void*, void*);
 typedef void* (*pFpp_t)(void*, void*);
 typedef int32_t (*iFppp_t)(void*, void*, void*);
 typedef void* (*pFpppp_t)(void*, void*, void*, void*);
@@ -26,15 +27,26 @@ typedef int32_t (*iFppppipp_t)(void*, void*, void*, void*, int32_t, void*, void*
 	GO(CRYPTO_set_locking_callback, vFp_t) \
 	GO(sk_new, pFp_t) \
 	GO(X509_STORE_CTX_set_verify_cb, vFpp_t) \
+	GO(X509_STORE_set_verify_cb, vFpp_t) \
 	GO(sk_pop_free, vFpp_t) \
+	GO(BIO_meth_set_create, iFpp_t) \
+	GO(BIO_meth_set_ctrl, iFpp_t) \
+	GO(BIO_meth_set_destroy, iFpp_t) \
+	GO(BIO_meth_set_gets, iFpp_t) \
+	GO(BIO_meth_set_puts, iFpp_t) \
+	GO(BIO_meth_set_read, iFpp_t) \
+	GO(BIO_meth_set_write, iFpp_t) \
 	GO(OPENSSL_sk_pop_free, pFpp_t) \
 	GO(ASN1_i2d_bio, iFppp_t) \
 	GO(ASN1_d2i_bio, pFpppp_t) \
+	GO(PEM_read_bio_DHparams, pFpppp_t) \
 	GO(PEM_read_bio_DSAPrivateKey, pFpppp_t) \
 	GO(PEM_read_bio_DSA_PUBKEY, pFpppp_t) \
 	GO(PEM_read_bio_ECPrivateKey, pFpppp_t) \
 	GO(PEM_read_bio_EC_PUBKEY, pFpppp_t) \
 	GO(PEM_read_bio_PKCS7, pFpppp_t) \
+	GO(PEM_read_bio_PUBKEY, pFpppp_t) \
+	GO(PEM_read_bio_PrivateKey, pFpppp_t) \
 	GO(PEM_read_bio_RSAPrivateKey, pFpppp_t) \
 	GO(PEM_read_bio_RSA_PUBKEY, pFpppp_t) \
 	GO(PEM_read_bio_X509, pFpppp_t) \
@@ -46,6 +58,7 @@ typedef int32_t (*iFppppipp_t)(void*, void*, void*, void*, int32_t, void*, void*
 	GO(ENGINE_ctrl_cmd, iFpplppi_t) \
 	GO(PEM_write_bio_DSAPrivateKey, iFppppipp_t) \
 	GO(PEM_write_bio_ECPrivateKey, iFppppipp_t) \
+	GO(PEM_write_bio_PrivateKey, iFppppipp_t) \
 	GO(PEM_write_bio_RSAPrivateKey, iFppppipp_t)
 
 #endif // __wrappedcryptoTYPES_H_
diff --git a/src/wrapped/generated/wrappedcryptoundefs.h b/src/wrapped/generated/wrappedcryptoundefs.h
index 8f9f1f65..2455ff14 100644
--- a/src/wrapped/generated/wrappedcryptoundefs.h
+++ b/src/wrapped/generated/wrappedcryptoundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcryptoUNDEFS_H_
 #define __wrappedcryptoUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedcurldefs.h b/src/wrapped/generated/wrappedcurldefs.h
index 77ad009e..c195fbc5 100644
--- a/src/wrapped/generated/wrappedcurldefs.h
+++ b/src/wrapped/generated/wrappedcurldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcurlDEFS_H_
 #define __wrappedcurlDEFS_H_
diff --git a/src/wrapped/generated/wrappedcurltypes.h b/src/wrapped/generated/wrappedcurltypes.h
index 0eac2b84..9426caa0 100644
--- a/src/wrapped/generated/wrappedcurltypes.h
+++ b/src/wrapped/generated/wrappedcurltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcurlTYPES_H_
 #define __wrappedcurlTYPES_H_
diff --git a/src/wrapped/generated/wrappedcurlundefs.h b/src/wrapped/generated/wrappedcurlundefs.h
index 91952f7a..bd04c206 100644
--- a/src/wrapped/generated/wrappedcurlundefs.h
+++ b/src/wrapped/generated/wrappedcurlundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedcurlUNDEFS_H_
 #define __wrappedcurlUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedd3dadapter9defs.h b/src/wrapped/generated/wrappedd3dadapter9defs.h
index a19cf5ad..e7d1de44 100644
--- a/src/wrapped/generated/wrappedd3dadapter9defs.h
+++ b/src/wrapped/generated/wrappedd3dadapter9defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedd3dadapter9DEFS_H_
 #define __wrappedd3dadapter9DEFS_H_
diff --git a/src/wrapped/generated/wrappedd3dadapter9types.h b/src/wrapped/generated/wrappedd3dadapter9types.h
index beebd8ef..8b35df50 100644
--- a/src/wrapped/generated/wrappedd3dadapter9types.h
+++ b/src/wrapped/generated/wrappedd3dadapter9types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedd3dadapter9TYPES_H_
 #define __wrappedd3dadapter9TYPES_H_
diff --git a/src/wrapped/generated/wrappedd3dadapter9undefs.h b/src/wrapped/generated/wrappedd3dadapter9undefs.h
index da8b564e..f8dc9746 100644
--- a/src/wrapped/generated/wrappedd3dadapter9undefs.h
+++ b/src/wrapped/generated/wrappedd3dadapter9undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedd3dadapter9UNDEFS_H_
 #define __wrappedd3dadapter9UNDEFS_H_
diff --git a/src/wrapped/generated/wrappeddbusdefs.h b/src/wrapped/generated/wrappeddbusdefs.h
index ecc4d722..a8406bdd 100644
--- a/src/wrapped/generated/wrappeddbusdefs.h
+++ b/src/wrapped/generated/wrappeddbusdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappeddbusDEFS_H_
 #define __wrappeddbusDEFS_H_
diff --git a/src/wrapped/generated/wrappeddbusglib1defs.h b/src/wrapped/generated/wrappeddbusglib1defs.h
index e031d2dc..f4402baa 100644
--- a/src/wrapped/generated/wrappeddbusglib1defs.h
+++ b/src/wrapped/generated/wrappeddbusglib1defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappeddbusglib1DEFS_H_
 #define __wrappeddbusglib1DEFS_H_
diff --git a/src/wrapped/generated/wrappeddbusglib1types.h b/src/wrapped/generated/wrappeddbusglib1types.h
index 3dc3ceff..a73a56e9 100644
--- a/src/wrapped/generated/wrappeddbusglib1types.h
+++ b/src/wrapped/generated/wrappeddbusglib1types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappeddbusglib1TYPES_H_
 #define __wrappeddbusglib1TYPES_H_
diff --git a/src/wrapped/generated/wrappeddbusglib1undefs.h b/src/wrapped/generated/wrappeddbusglib1undefs.h
index 5dcdedf3..e8c5e978 100644
--- a/src/wrapped/generated/wrappeddbusglib1undefs.h
+++ b/src/wrapped/generated/wrappeddbusglib1undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappeddbusglib1UNDEFS_H_
 #define __wrappeddbusglib1UNDEFS_H_
diff --git a/src/wrapped/generated/wrappeddbustypes.h b/src/wrapped/generated/wrappeddbustypes.h
index 83ea5b82..ed139fe2 100644
--- a/src/wrapped/generated/wrappeddbustypes.h
+++ b/src/wrapped/generated/wrappeddbustypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappeddbusTYPES_H_
 #define __wrappeddbusTYPES_H_
@@ -38,6 +38,7 @@ typedef int32_t (*iFpppppp_t)(void*, void*, void*, void*, void*, void*);
 	GO(dbus_message_get_args, iFppip_t) \
 	GO(dbus_message_get_args_valist, iFppiA_t) \
 	GO(dbus_connection_add_filter, iFpppp_t) \
+	GO(dbus_connection_register_fallback, iFpppp_t) \
 	GO(dbus_pending_call_set_notify, iFpppp_t) \
 	GO(dbus_connection_try_register_fallback, iFppppp_t) \
 	GO(dbus_connection_try_register_object_path, iFppppp_t) \
diff --git a/src/wrapped/generated/wrappeddbusundefs.h b/src/wrapped/generated/wrappeddbusundefs.h
index 93796076..d58b9ee0 100644
--- a/src/wrapped/generated/wrappeddbusundefs.h
+++ b/src/wrapped/generated/wrappeddbusundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappeddbusUNDEFS_H_
 #define __wrappeddbusUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedexpatdefs.h b/src/wrapped/generated/wrappedexpatdefs.h
index 02bc963a..86557e8e 100644
--- a/src/wrapped/generated/wrappedexpatdefs.h
+++ b/src/wrapped/generated/wrappedexpatdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedexpatDEFS_H_
 #define __wrappedexpatDEFS_H_
diff --git a/src/wrapped/generated/wrappedexpattypes.h b/src/wrapped/generated/wrappedexpattypes.h
index 02ed574e..e5f6b71f 100644
--- a/src/wrapped/generated/wrappedexpattypes.h
+++ b/src/wrapped/generated/wrappedexpattypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedexpatTYPES_H_
 #define __wrappedexpatTYPES_H_
diff --git a/src/wrapped/generated/wrappedexpatundefs.h b/src/wrapped/generated/wrappedexpatundefs.h
index 43b30c1d..f3c6a7fe 100644
--- a/src/wrapped/generated/wrappedexpatundefs.h
+++ b/src/wrapped/generated/wrappedexpatundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedexpatUNDEFS_H_
 #define __wrappedexpatUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedfaudiodefs.h b/src/wrapped/generated/wrappedfaudiodefs.h
index 88c4fafd..2c95e056 100644
--- a/src/wrapped/generated/wrappedfaudiodefs.h
+++ b/src/wrapped/generated/wrappedfaudiodefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfaudioDEFS_H_
 #define __wrappedfaudioDEFS_H_
diff --git a/src/wrapped/generated/wrappedfaudiotypes.h b/src/wrapped/generated/wrappedfaudiotypes.h
index b8a6f942..d809382a 100644
--- a/src/wrapped/generated/wrappedfaudiotypes.h
+++ b/src/wrapped/generated/wrappedfaudiotypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfaudioTYPES_H_
 #define __wrappedfaudioTYPES_H_
diff --git a/src/wrapped/generated/wrappedfaudioundefs.h b/src/wrapped/generated/wrappedfaudioundefs.h
index 519b393f..df4fb44d 100644
--- a/src/wrapped/generated/wrappedfaudioundefs.h
+++ b/src/wrapped/generated/wrappedfaudioundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfaudioUNDEFS_H_
 #define __wrappedfaudioUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedflacdefs.h b/src/wrapped/generated/wrappedflacdefs.h
index ae76c697..a17eafad 100644
--- a/src/wrapped/generated/wrappedflacdefs.h
+++ b/src/wrapped/generated/wrappedflacdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedflacDEFS_H_
 #define __wrappedflacDEFS_H_
diff --git a/src/wrapped/generated/wrappedflactypes.h b/src/wrapped/generated/wrappedflactypes.h
index ffa36394..1cec1ca5 100644
--- a/src/wrapped/generated/wrappedflactypes.h
+++ b/src/wrapped/generated/wrappedflactypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedflacTYPES_H_
 #define __wrappedflacTYPES_H_
diff --git a/src/wrapped/generated/wrappedflacundefs.h b/src/wrapped/generated/wrappedflacundefs.h
index b084efff..ecb44cdf 100644
--- a/src/wrapped/generated/wrappedflacundefs.h
+++ b/src/wrapped/generated/wrappedflacundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedflacUNDEFS_H_
 #define __wrappedflacUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedfontconfigdefs.h b/src/wrapped/generated/wrappedfontconfigdefs.h
index 57b5421b..353653f9 100644
--- a/src/wrapped/generated/wrappedfontconfigdefs.h
+++ b/src/wrapped/generated/wrappedfontconfigdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfontconfigDEFS_H_
 #define __wrappedfontconfigDEFS_H_
diff --git a/src/wrapped/generated/wrappedfontconfigtypes.h b/src/wrapped/generated/wrappedfontconfigtypes.h
index 2a0c1efa..9a35cd7e 100644
--- a/src/wrapped/generated/wrappedfontconfigtypes.h
+++ b/src/wrapped/generated/wrappedfontconfigtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfontconfigTYPES_H_
 #define __wrappedfontconfigTYPES_H_
diff --git a/src/wrapped/generated/wrappedfontconfigundefs.h b/src/wrapped/generated/wrappedfontconfigundefs.h
index 005dbfd9..a68cdec5 100644
--- a/src/wrapped/generated/wrappedfontconfigundefs.h
+++ b/src/wrapped/generated/wrappedfontconfigundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfontconfigUNDEFS_H_
 #define __wrappedfontconfigUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedfreebl3defs.h b/src/wrapped/generated/wrappedfreebl3defs.h
index 2a75ec20..4a16bcb1 100644
--- a/src/wrapped/generated/wrappedfreebl3defs.h
+++ b/src/wrapped/generated/wrappedfreebl3defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfreebl3DEFS_H_
 #define __wrappedfreebl3DEFS_H_
diff --git a/src/wrapped/generated/wrappedfreebl3types.h b/src/wrapped/generated/wrappedfreebl3types.h
index 49e096dd..d81a5c43 100644
--- a/src/wrapped/generated/wrappedfreebl3types.h
+++ b/src/wrapped/generated/wrappedfreebl3types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfreebl3TYPES_H_
 #define __wrappedfreebl3TYPES_H_
diff --git a/src/wrapped/generated/wrappedfreebl3undefs.h b/src/wrapped/generated/wrappedfreebl3undefs.h
index e82ddf04..492cc1da 100644
--- a/src/wrapped/generated/wrappedfreebl3undefs.h
+++ b/src/wrapped/generated/wrappedfreebl3undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfreebl3UNDEFS_H_
 #define __wrappedfreebl3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedfreetypedefs.h b/src/wrapped/generated/wrappedfreetypedefs.h
index d04d70c5..61f9c0db 100644
--- a/src/wrapped/generated/wrappedfreetypedefs.h
+++ b/src/wrapped/generated/wrappedfreetypedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfreetypeDEFS_H_
 #define __wrappedfreetypeDEFS_H_
diff --git a/src/wrapped/generated/wrappedfreetypetypes.h b/src/wrapped/generated/wrappedfreetypetypes.h
index 98f32575..d2e00ecb 100644
--- a/src/wrapped/generated/wrappedfreetypetypes.h
+++ b/src/wrapped/generated/wrappedfreetypetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfreetypeTYPES_H_
 #define __wrappedfreetypeTYPES_H_
diff --git a/src/wrapped/generated/wrappedfreetypeundefs.h b/src/wrapped/generated/wrappedfreetypeundefs.h
index 946242d1..a5cb97d6 100644
--- a/src/wrapped/generated/wrappedfreetypeundefs.h
+++ b/src/wrapped/generated/wrappedfreetypeundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedfreetypeUNDEFS_H_
 #define __wrappedfreetypeUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgbmdefs.h b/src/wrapped/generated/wrappedgbmdefs.h
index 6fea3d62..bf0ea0ef 100644
--- a/src/wrapped/generated/wrappedgbmdefs.h
+++ b/src/wrapped/generated/wrappedgbmdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgbmDEFS_H_
 #define __wrappedgbmDEFS_H_
diff --git a/src/wrapped/generated/wrappedgbmtypes.h b/src/wrapped/generated/wrappedgbmtypes.h
index c6c8da8c..7ebdb5b0 100644
--- a/src/wrapped/generated/wrappedgbmtypes.h
+++ b/src/wrapped/generated/wrappedgbmtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgbmTYPES_H_
 #define __wrappedgbmTYPES_H_
diff --git a/src/wrapped/generated/wrappedgbmundefs.h b/src/wrapped/generated/wrappedgbmundefs.h
index 2d04c430..0c4296ff 100644
--- a/src/wrapped/generated/wrappedgbmundefs.h
+++ b/src/wrapped/generated/wrappedgbmundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgbmUNDEFS_H_
 #define __wrappedgbmUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgconf2defs.h b/src/wrapped/generated/wrappedgconf2defs.h
index 8ed9e269..baba4d20 100644
--- a/src/wrapped/generated/wrappedgconf2defs.h
+++ b/src/wrapped/generated/wrappedgconf2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgconf2DEFS_H_
 #define __wrappedgconf2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgconf2types.h b/src/wrapped/generated/wrappedgconf2types.h
index 3bdbc664..360690a6 100644
--- a/src/wrapped/generated/wrappedgconf2types.h
+++ b/src/wrapped/generated/wrappedgconf2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgconf2TYPES_H_
 #define __wrappedgconf2TYPES_H_
diff --git a/src/wrapped/generated/wrappedgconf2undefs.h b/src/wrapped/generated/wrappedgconf2undefs.h
index a1ab3a7c..70711aec 100644
--- a/src/wrapped/generated/wrappedgconf2undefs.h
+++ b/src/wrapped/generated/wrappedgconf2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgconf2UNDEFS_H_
 #define __wrappedgconf2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgcryptdefs.h b/src/wrapped/generated/wrappedgcryptdefs.h
index f401ba8e..fdb5d6e8 100644
--- a/src/wrapped/generated/wrappedgcryptdefs.h
+++ b/src/wrapped/generated/wrappedgcryptdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgcryptDEFS_H_
 #define __wrappedgcryptDEFS_H_
diff --git a/src/wrapped/generated/wrappedgcrypttypes.h b/src/wrapped/generated/wrappedgcrypttypes.h
index 93db3127..b09c103b 100644
--- a/src/wrapped/generated/wrappedgcrypttypes.h
+++ b/src/wrapped/generated/wrappedgcrypttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgcryptTYPES_H_
 #define __wrappedgcryptTYPES_H_
diff --git a/src/wrapped/generated/wrappedgcryptundefs.h b/src/wrapped/generated/wrappedgcryptundefs.h
index bd0c71d3..be639c5f 100644
--- a/src/wrapped/generated/wrappedgcryptundefs.h
+++ b/src/wrapped/generated/wrappedgcryptundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgcryptUNDEFS_H_
 #define __wrappedgcryptUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgdk3defs.h b/src/wrapped/generated/wrappedgdk3defs.h
index 56358556..287c4a94 100644
--- a/src/wrapped/generated/wrappedgdk3defs.h
+++ b/src/wrapped/generated/wrappedgdk3defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgdk3DEFS_H_
 #define __wrappedgdk3DEFS_H_
diff --git a/src/wrapped/generated/wrappedgdk3types.h b/src/wrapped/generated/wrappedgdk3types.h
index 2f888be1..c6b278f6 100644
--- a/src/wrapped/generated/wrappedgdk3types.h
+++ b/src/wrapped/generated/wrappedgdk3types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgdk3TYPES_H_
 #define __wrappedgdk3TYPES_H_
@@ -15,6 +15,7 @@ typedef void (*vFpp_t)(void*, void*);
 typedef int32_t (*iFpp_t)(void*, void*);
 typedef void (*vFppp_t)(void*, void*, void*);
 typedef int32_t (*iFiipp_t)(int32_t, int32_t, void*, void*);
+typedef uint32_t (*uFippp_t)(int32_t, void*, void*, void*);
 typedef int32_t (*iFiippp_t)(int32_t, int32_t, void*, void*, void*);
 
 #define SUPER() ADDED_FUNCTIONS() \
@@ -24,6 +25,7 @@ typedef int32_t (*iFiippp_t)(int32_t, int32_t, void*, void*, void*);
 	GO(gdk_window_add_filter, vFppp_t) \
 	GO(gdk_window_remove_filter, vFppp_t) \
 	GO(gdk_input_add, iFiipp_t) \
+	GO(gdk_threads_add_idle_full, uFippp_t) \
 	GO(gdk_input_add_full, iFiippp_t)
 
 #endif // __wrappedgdk3TYPES_H_
diff --git a/src/wrapped/generated/wrappedgdk3undefs.h b/src/wrapped/generated/wrappedgdk3undefs.h
index 248dfe33..88629a1f 100644
--- a/src/wrapped/generated/wrappedgdk3undefs.h
+++ b/src/wrapped/generated/wrappedgdk3undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgdk3UNDEFS_H_
 #define __wrappedgdk3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgdkpixbuf2defs.h b/src/wrapped/generated/wrappedgdkpixbuf2defs.h
index eb540331..57a4b7ad 100644
--- a/src/wrapped/generated/wrappedgdkpixbuf2defs.h
+++ b/src/wrapped/generated/wrappedgdkpixbuf2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgdkpixbuf2DEFS_H_
 #define __wrappedgdkpixbuf2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgdkpixbuf2types.h b/src/wrapped/generated/wrappedgdkpixbuf2types.h
index ca1e471e..ea505cd2 100644
--- a/src/wrapped/generated/wrappedgdkpixbuf2types.h
+++ b/src/wrapped/generated/wrappedgdkpixbuf2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgdkpixbuf2TYPES_H_
 #define __wrappedgdkpixbuf2TYPES_H_
diff --git a/src/wrapped/generated/wrappedgdkpixbuf2undefs.h b/src/wrapped/generated/wrappedgdkpixbuf2undefs.h
index c3f38a1b..a7250f8d 100644
--- a/src/wrapped/generated/wrappedgdkpixbuf2undefs.h
+++ b/src/wrapped/generated/wrappedgdkpixbuf2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgdkpixbuf2UNDEFS_H_
 #define __wrappedgdkpixbuf2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgdkx112defs.h b/src/wrapped/generated/wrappedgdkx112defs.h
index 3bedb8ee..cc0dbce8 100644
--- a/src/wrapped/generated/wrappedgdkx112defs.h
+++ b/src/wrapped/generated/wrappedgdkx112defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgdkx112DEFS_H_
 #define __wrappedgdkx112DEFS_H_
diff --git a/src/wrapped/generated/wrappedgdkx112types.h b/src/wrapped/generated/wrappedgdkx112types.h
index eca44b2e..1d129740 100644
--- a/src/wrapped/generated/wrappedgdkx112types.h
+++ b/src/wrapped/generated/wrappedgdkx112types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgdkx112TYPES_H_
 #define __wrappedgdkx112TYPES_H_
diff --git a/src/wrapped/generated/wrappedgdkx112undefs.h b/src/wrapped/generated/wrappedgdkx112undefs.h
index bc855c68..ec695070 100644
--- a/src/wrapped/generated/wrappedgdkx112undefs.h
+++ b/src/wrapped/generated/wrappedgdkx112undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgdkx112UNDEFS_H_
 #define __wrappedgdkx112UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgio2defs.h b/src/wrapped/generated/wrappedgio2defs.h
index 80a11ed6..076c7527 100644
--- a/src/wrapped/generated/wrappedgio2defs.h
+++ b/src/wrapped/generated/wrappedgio2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgio2DEFS_H_
 #define __wrappedgio2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgio2types.h b/src/wrapped/generated/wrappedgio2types.h
index 991e2b73..f2c5fe11 100644
--- a/src/wrapped/generated/wrappedgio2types.h
+++ b/src/wrapped/generated/wrappedgio2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgio2TYPES_H_
 #define __wrappedgio2TYPES_H_
@@ -19,6 +19,7 @@ typedef uint32_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*, int32_t, void*, void*, void*);
+typedef void (*vFpuipV_t)(void*, uint32_t, int32_t, void*, ...);
 typedef void (*vFppipV_t)(void*, void*, int32_t, void*, ...);
 typedef void (*vFppipA_t)(void*, void*, int32_t, void*, va_list);
 typedef void* (*pFppppV_t)(void*, void*, void*, void*, ...);
@@ -45,6 +46,7 @@ typedef void (*vFpppppppiippp_t)(void*, void*, void*, void*, void*, void*, void*
 
 #define SUPER() ADDED_FUNCTIONS() \
 	GO(g_simple_async_result_set_op_res_gpointer, vFppp_t) \
+	GO(g_task_return_pointer, 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) \
@@ -56,7 +58,9 @@ typedef void (*vFpppppppiippp_t)(void*, void*, void*, void*, void*, void*, void*
 	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_task_new, pFpppp_t) \
 	GO(g_async_initable_init_async, vFpippp_t) \
+	GO(g_task_return_new_error, vFpuipV_t) \
 	GO(g_simple_async_result_set_error, vFppipV_t) \
 	GO(g_simple_async_result_set_error_va, vFppipA_t) \
 	GO(g_initable_new, pFppppV_t) \
diff --git a/src/wrapped/generated/wrappedgio2undefs.h b/src/wrapped/generated/wrappedgio2undefs.h
index ad5880af..6a24ec41 100644
--- a/src/wrapped/generated/wrappedgio2undefs.h
+++ b/src/wrapped/generated/wrappedgio2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgio2UNDEFS_H_
 #define __wrappedgio2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedglib2defs.h b/src/wrapped/generated/wrappedglib2defs.h
index 7f5f47f0..69ff6e26 100644
--- a/src/wrapped/generated/wrappedglib2defs.h
+++ b/src/wrapped/generated/wrappedglib2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedglib2DEFS_H_
 #define __wrappedglib2DEFS_H_
diff --git a/src/wrapped/generated/wrappedglib2types.h b/src/wrapped/generated/wrappedglib2types.h
index 8a30a358..a80a71e1 100644
--- a/src/wrapped/generated/wrappedglib2types.h
+++ b/src/wrapped/generated/wrappedglib2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedglib2TYPES_H_
 #define __wrappedglib2TYPES_H_
diff --git a/src/wrapped/generated/wrappedglib2undefs.h b/src/wrapped/generated/wrappedglib2undefs.h
index 0ffb827a..7fee531e 100644
--- a/src/wrapped/generated/wrappedglib2undefs.h
+++ b/src/wrapped/generated/wrappedglib2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedglib2UNDEFS_H_
 #define __wrappedglib2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgmodule2defs.h b/src/wrapped/generated/wrappedgmodule2defs.h
index 752f37e5..07c57695 100644
--- a/src/wrapped/generated/wrappedgmodule2defs.h
+++ b/src/wrapped/generated/wrappedgmodule2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgmodule2DEFS_H_
 #define __wrappedgmodule2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgmodule2types.h b/src/wrapped/generated/wrappedgmodule2types.h
index 0f2414b0..b47d2011 100644
--- a/src/wrapped/generated/wrappedgmodule2types.h
+++ b/src/wrapped/generated/wrappedgmodule2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgmodule2TYPES_H_
 #define __wrappedgmodule2TYPES_H_
diff --git a/src/wrapped/generated/wrappedgmodule2undefs.h b/src/wrapped/generated/wrappedgmodule2undefs.h
index 73b5acd4..95899ae5 100644
--- a/src/wrapped/generated/wrappedgmodule2undefs.h
+++ b/src/wrapped/generated/wrappedgmodule2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgmodule2UNDEFS_H_
 #define __wrappedgmodule2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgmpdefs.h b/src/wrapped/generated/wrappedgmpdefs.h
index 9a8098ad..bcb57aaf 100644
--- a/src/wrapped/generated/wrappedgmpdefs.h
+++ b/src/wrapped/generated/wrappedgmpdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgmpDEFS_H_
 #define __wrappedgmpDEFS_H_
diff --git a/src/wrapped/generated/wrappedgmptypes.h b/src/wrapped/generated/wrappedgmptypes.h
index 15f8b3dd..7ad626cf 100644
--- a/src/wrapped/generated/wrappedgmptypes.h
+++ b/src/wrapped/generated/wrappedgmptypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgmpTYPES_H_
 #define __wrappedgmpTYPES_H_
diff --git a/src/wrapped/generated/wrappedgmpundefs.h b/src/wrapped/generated/wrappedgmpundefs.h
index bf130739..30992c9f 100644
--- a/src/wrapped/generated/wrappedgmpundefs.h
+++ b/src/wrapped/generated/wrappedgmpundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgmpUNDEFS_H_
 #define __wrappedgmpUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgnutlsdefs.h b/src/wrapped/generated/wrappedgnutlsdefs.h
index 1dcd724e..56bffbd1 100644
--- a/src/wrapped/generated/wrappedgnutlsdefs.h
+++ b/src/wrapped/generated/wrappedgnutlsdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgnutlsDEFS_H_
 #define __wrappedgnutlsDEFS_H_
diff --git a/src/wrapped/generated/wrappedgnutlstypes.h b/src/wrapped/generated/wrappedgnutlstypes.h
index e84f3d53..f53e02a2 100644
--- a/src/wrapped/generated/wrappedgnutlstypes.h
+++ b/src/wrapped/generated/wrappedgnutlstypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgnutlsTYPES_H_
 #define __wrappedgnutlsTYPES_H_
diff --git a/src/wrapped/generated/wrappedgnutlsundefs.h b/src/wrapped/generated/wrappedgnutlsundefs.h
index 814794b4..821d81b1 100644
--- a/src/wrapped/generated/wrappedgnutlsundefs.h
+++ b/src/wrapped/generated/wrappedgnutlsundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgnutlsUNDEFS_H_
 #define __wrappedgnutlsUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgobject2defs.h b/src/wrapped/generated/wrappedgobject2defs.h
index 398c0545..037139e8 100644
--- a/src/wrapped/generated/wrappedgobject2defs.h
+++ b/src/wrapped/generated/wrappedgobject2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgobject2DEFS_H_
 #define __wrappedgobject2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgobject2types.h b/src/wrapped/generated/wrappedgobject2types.h
index 42b93dbf..20ee997c 100644
--- a/src/wrapped/generated/wrappedgobject2types.h
+++ b/src/wrapped/generated/wrappedgobject2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgobject2TYPES_H_
 #define __wrappedgobject2TYPES_H_
@@ -37,7 +37,7 @@ typedef uintptr_t (*LFLpppi_t)(uintptr_t, void*, void*, void*, int32_t);
 typedef uintptr_t (*LFppppi_t)(void*, void*, void*, void*, int32_t);
 typedef uintptr_t (*LFpppppu_t)(void*, void*, void*, void*, void*, uint32_t);
 typedef uint32_t (*uFpiupppp_t)(void*, int32_t, uint32_t, void*, void*, void*, void*);
-typedef uintptr_t (*LFLpLpLpi_t)(uintptr_t, void*, uintptr_t, void*, uintptr_t, void*, int32_t);
+typedef uintptr_t (*LFLpupupu_t)(uintptr_t, void*, uint32_t, void*, uint32_t, void*, uint32_t);
 typedef uintptr_t (*LFpiupppp_t)(void*, int32_t, uint32_t, void*, void*, void*, void*);
 typedef uint32_t (*uFpLiupppLuV_t)(void*, uintptr_t, int32_t, uint32_t, void*, void*, void*, uintptr_t, uint32_t, ...);
 typedef uint32_t (*uFpLippppLup_t)(void*, uintptr_t, int32_t, void*, void*, void*, void*, uintptr_t, uint32_t, void*);
@@ -77,7 +77,7 @@ typedef uint32_t (*uFpLippppLuA_t)(void*, uintptr_t, int32_t, void*, void*, void
 	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_type_register_static_simple, LFLpLpLpi_t) \
+	GO(g_type_register_static_simple, LFLpupupu_t) \
 	GO(g_signal_handler_find, LFpiupppp_t) \
 	GO(g_signal_new, uFpLiupppLuV_t) \
 	GO(g_signal_newv, uFpLippppLup_t) \
diff --git a/src/wrapped/generated/wrappedgobject2undefs.h b/src/wrapped/generated/wrappedgobject2undefs.h
index 5454f152..86188e0f 100644
--- a/src/wrapped/generated/wrappedgobject2undefs.h
+++ b/src/wrapped/generated/wrappedgobject2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgobject2UNDEFS_H_
 #define __wrappedgobject2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgompdefs.h b/src/wrapped/generated/wrappedgompdefs.h
new file mode 100644
index 00000000..0b749fef
--- /dev/null
+++ b/src/wrapped/generated/wrappedgompdefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedgompDEFS_H_
+#define __wrappedgompDEFS_H_
+
+
+#endif // __wrappedgompDEFS_H_
diff --git a/src/wrapped/generated/wrappedgomptypes.h b/src/wrapped/generated/wrappedgomptypes.h
new file mode 100644
index 00000000..8b28dc5c
--- /dev/null
+++ b/src/wrapped/generated/wrappedgomptypes.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedgompTYPES_H_
+#define __wrappedgompTYPES_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 // __wrappedgompTYPES_H_
diff --git a/src/wrapped/generated/wrappedgompundefs.h b/src/wrapped/generated/wrappedgompundefs.h
new file mode 100644
index 00000000..fc43f66f
--- /dev/null
+++ b/src/wrapped/generated/wrappedgompundefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedgompUNDEFS_H_
+#define __wrappedgompUNDEFS_H_
+
+
+#endif // __wrappedgompUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgssapidefs.h b/src/wrapped/generated/wrappedgssapidefs.h
index 952aca4c..616986f6 100644
--- a/src/wrapped/generated/wrappedgssapidefs.h
+++ b/src/wrapped/generated/wrappedgssapidefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgssapiDEFS_H_
 #define __wrappedgssapiDEFS_H_
diff --git a/src/wrapped/generated/wrappedgssapikrb5defs.h b/src/wrapped/generated/wrappedgssapikrb5defs.h
index 300b135c..9e31a625 100644
--- a/src/wrapped/generated/wrappedgssapikrb5defs.h
+++ b/src/wrapped/generated/wrappedgssapikrb5defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgssapikrb5DEFS_H_
 #define __wrappedgssapikrb5DEFS_H_
diff --git a/src/wrapped/generated/wrappedgssapikrb5types.h b/src/wrapped/generated/wrappedgssapikrb5types.h
index df34cdae..3941fd2e 100644
--- a/src/wrapped/generated/wrappedgssapikrb5types.h
+++ b/src/wrapped/generated/wrappedgssapikrb5types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgssapikrb5TYPES_H_
 #define __wrappedgssapikrb5TYPES_H_
diff --git a/src/wrapped/generated/wrappedgssapikrb5undefs.h b/src/wrapped/generated/wrappedgssapikrb5undefs.h
index 72f23496..714ff626 100644
--- a/src/wrapped/generated/wrappedgssapikrb5undefs.h
+++ b/src/wrapped/generated/wrappedgssapikrb5undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgssapikrb5UNDEFS_H_
 #define __wrappedgssapikrb5UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgssapitypes.h b/src/wrapped/generated/wrappedgssapitypes.h
index 10a4eee9..8aec39e2 100644
--- a/src/wrapped/generated/wrappedgssapitypes.h
+++ b/src/wrapped/generated/wrappedgssapitypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgssapiTYPES_H_
 #define __wrappedgssapiTYPES_H_
diff --git a/src/wrapped/generated/wrappedgssapiundefs.h b/src/wrapped/generated/wrappedgssapiundefs.h
index 2ff15c94..44e2ba9d 100644
--- a/src/wrapped/generated/wrappedgssapiundefs.h
+++ b/src/wrapped/generated/wrappedgssapiundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgssapiUNDEFS_H_
 #define __wrappedgssapiUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstappdefs.h b/src/wrapped/generated/wrappedgstappdefs.h
index 33f62bb6..164271ed 100644
--- a/src/wrapped/generated/wrappedgstappdefs.h
+++ b/src/wrapped/generated/wrappedgstappdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstappDEFS_H_
 #define __wrappedgstappDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstapptypes.h b/src/wrapped/generated/wrappedgstapptypes.h
index 65446106..018e9f73 100644
--- a/src/wrapped/generated/wrappedgstapptypes.h
+++ b/src/wrapped/generated/wrappedgstapptypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstappTYPES_H_
 #define __wrappedgstappTYPES_H_
diff --git a/src/wrapped/generated/wrappedgstappundefs.h b/src/wrapped/generated/wrappedgstappundefs.h
index b6234930..4ca020e2 100644
--- a/src/wrapped/generated/wrappedgstappundefs.h
+++ b/src/wrapped/generated/wrappedgstappundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstappUNDEFS_H_
 #define __wrappedgstappUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstaudiodefs.h b/src/wrapped/generated/wrappedgstaudiodefs.h
index a0244cf5..8b8eaed1 100644
--- a/src/wrapped/generated/wrappedgstaudiodefs.h
+++ b/src/wrapped/generated/wrappedgstaudiodefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstaudioDEFS_H_
 #define __wrappedgstaudioDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstaudiotypes.h b/src/wrapped/generated/wrappedgstaudiotypes.h
index 3d2bab1a..8cfc5e60 100644
--- a/src/wrapped/generated/wrappedgstaudiotypes.h
+++ b/src/wrapped/generated/wrappedgstaudiotypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstaudioTYPES_H_
 #define __wrappedgstaudioTYPES_H_
diff --git a/src/wrapped/generated/wrappedgstaudioundefs.h b/src/wrapped/generated/wrappedgstaudioundefs.h
index 28661ee9..f10847cb 100644
--- a/src/wrapped/generated/wrappedgstaudioundefs.h
+++ b/src/wrapped/generated/wrappedgstaudioundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstaudioUNDEFS_H_
 #define __wrappedgstaudioUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstbasedefs.h b/src/wrapped/generated/wrappedgstbasedefs.h
index b7c84389..f9b1581f 100644
--- a/src/wrapped/generated/wrappedgstbasedefs.h
+++ b/src/wrapped/generated/wrappedgstbasedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstbaseDEFS_H_
 #define __wrappedgstbaseDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstbasetypes.h b/src/wrapped/generated/wrappedgstbasetypes.h
index 9f86b32a..46ac9086 100644
--- a/src/wrapped/generated/wrappedgstbasetypes.h
+++ b/src/wrapped/generated/wrappedgstbasetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstbaseTYPES_H_
 #define __wrappedgstbaseTYPES_H_
diff --git a/src/wrapped/generated/wrappedgstbaseundefs.h b/src/wrapped/generated/wrappedgstbaseundefs.h
index 8945c017..177dc3d6 100644
--- a/src/wrapped/generated/wrappedgstbaseundefs.h
+++ b/src/wrapped/generated/wrappedgstbaseundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstbaseUNDEFS_H_
 #define __wrappedgstbaseUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstgldefs.h b/src/wrapped/generated/wrappedgstgldefs.h
index dabf9ee2..c076fc7a 100644
--- a/src/wrapped/generated/wrappedgstgldefs.h
+++ b/src/wrapped/generated/wrappedgstgldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstglDEFS_H_
 #define __wrappedgstglDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstgltypes.h b/src/wrapped/generated/wrappedgstgltypes.h
index fb403e88..e5f7daf4 100644
--- a/src/wrapped/generated/wrappedgstgltypes.h
+++ b/src/wrapped/generated/wrappedgstgltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstglTYPES_H_
 #define __wrappedgstglTYPES_H_
diff --git a/src/wrapped/generated/wrappedgstglundefs.h b/src/wrapped/generated/wrappedgstglundefs.h
index 541c7aa6..4e8957be 100644
--- a/src/wrapped/generated/wrappedgstglundefs.h
+++ b/src/wrapped/generated/wrappedgstglundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstglUNDEFS_H_
 #define __wrappedgstglUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstreamerdefs.h b/src/wrapped/generated/wrappedgstreamerdefs.h
index 9d2f057c..9e446b2b 100644
--- a/src/wrapped/generated/wrappedgstreamerdefs.h
+++ b/src/wrapped/generated/wrappedgstreamerdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstreamerDEFS_H_
 #define __wrappedgstreamerDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstreamertypes.h b/src/wrapped/generated/wrappedgstreamertypes.h
index 1464e544..bdaf1886 100644
--- a/src/wrapped/generated/wrappedgstreamertypes.h
+++ b/src/wrapped/generated/wrappedgstreamertypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstreamerTYPES_H_
 #define __wrappedgstreamerTYPES_H_
@@ -13,6 +13,7 @@
 
 typedef void (*vFppV_t)(void*, void*, ...);
 typedef void (*vFppA_t)(void*, void*, va_list);
+typedef int32_t (*iFppp_t)(void*, void*, void*);
 typedef int32_t (*iFppV_t)(void*, void*, ...);
 typedef int32_t (*iFppA_t)(void*, void*, va_list);
 typedef void* (*pFppV_t)(void*, void*, ...);
@@ -27,6 +28,7 @@ typedef void (*vFpippippA_t)(void*, int32_t, void*, void*, int32_t, void*, void*
 	GO(gst_structure_remove_fields, vFppV_t) \
 	GO(gst_caps_set_simple_valist, vFppA_t) \
 	GO(gst_structure_remove_fields_valist, vFppA_t) \
+	GO(gst_caps_foreach, iFppp_t) \
 	GO(gst_structure_get, iFppV_t) \
 	GO(gst_structure_get_valist, iFppA_t) \
 	GO(gst_caps_new_simple, pFppV_t) \
diff --git a/src/wrapped/generated/wrappedgstreamerundefs.h b/src/wrapped/generated/wrappedgstreamerundefs.h
index 28df6ae9..890f0f66 100644
--- a/src/wrapped/generated/wrappedgstreamerundefs.h
+++ b/src/wrapped/generated/wrappedgstreamerundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstreamerUNDEFS_H_
 #define __wrappedgstreamerUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgsttagdefs.h b/src/wrapped/generated/wrappedgsttagdefs.h
index a7426a32..56df6468 100644
--- a/src/wrapped/generated/wrappedgsttagdefs.h
+++ b/src/wrapped/generated/wrappedgsttagdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgsttagDEFS_H_
 #define __wrappedgsttagDEFS_H_
diff --git a/src/wrapped/generated/wrappedgsttagtypes.h b/src/wrapped/generated/wrappedgsttagtypes.h
index 2e775191..82484afc 100644
--- a/src/wrapped/generated/wrappedgsttagtypes.h
+++ b/src/wrapped/generated/wrappedgsttagtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgsttagTYPES_H_
 #define __wrappedgsttagTYPES_H_
diff --git a/src/wrapped/generated/wrappedgsttagundefs.h b/src/wrapped/generated/wrappedgsttagundefs.h
index 0f175fe7..d79a221c 100644
--- a/src/wrapped/generated/wrappedgsttagundefs.h
+++ b/src/wrapped/generated/wrappedgsttagundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgsttagUNDEFS_H_
 #define __wrappedgsttagUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstvideodefs.h b/src/wrapped/generated/wrappedgstvideodefs.h
index 724324f7..d25a6803 100644
--- a/src/wrapped/generated/wrappedgstvideodefs.h
+++ b/src/wrapped/generated/wrappedgstvideodefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstvideoDEFS_H_
 #define __wrappedgstvideoDEFS_H_
diff --git a/src/wrapped/generated/wrappedgstvideotypes.h b/src/wrapped/generated/wrappedgstvideotypes.h
index 21d0d898..13ee27bd 100644
--- a/src/wrapped/generated/wrappedgstvideotypes.h
+++ b/src/wrapped/generated/wrappedgstvideotypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstvideoTYPES_H_
 #define __wrappedgstvideoTYPES_H_
diff --git a/src/wrapped/generated/wrappedgstvideoundefs.h b/src/wrapped/generated/wrappedgstvideoundefs.h
index 2ad73c4d..fc210ad8 100644
--- a/src/wrapped/generated/wrappedgstvideoundefs.h
+++ b/src/wrapped/generated/wrappedgstvideoundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgstvideoUNDEFS_H_
 #define __wrappedgstvideoUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgthread2defs.h b/src/wrapped/generated/wrappedgthread2defs.h
index 974eae2d..4c6d1b0c 100644
--- a/src/wrapped/generated/wrappedgthread2defs.h
+++ b/src/wrapped/generated/wrappedgthread2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgthread2DEFS_H_
 #define __wrappedgthread2DEFS_H_
diff --git a/src/wrapped/generated/wrappedgthread2types.h b/src/wrapped/generated/wrappedgthread2types.h
index 41eb6cb8..dbc79aff 100644
--- a/src/wrapped/generated/wrappedgthread2types.h
+++ b/src/wrapped/generated/wrappedgthread2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgthread2TYPES_H_
 #define __wrappedgthread2TYPES_H_
diff --git a/src/wrapped/generated/wrappedgthread2undefs.h b/src/wrapped/generated/wrappedgthread2undefs.h
index 05e86eb6..cdb418cd 100644
--- a/src/wrapped/generated/wrappedgthread2undefs.h
+++ b/src/wrapped/generated/wrappedgthread2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgthread2UNDEFS_H_
 #define __wrappedgthread2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgtk3defs.h b/src/wrapped/generated/wrappedgtk3defs.h
index b2941ec8..59040885 100644
--- a/src/wrapped/generated/wrappedgtk3defs.h
+++ b/src/wrapped/generated/wrappedgtk3defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgtk3DEFS_H_
 #define __wrappedgtk3DEFS_H_
diff --git a/src/wrapped/generated/wrappedgtk3types.h b/src/wrapped/generated/wrappedgtk3types.h
index ac89b747..768c97f9 100644
--- a/src/wrapped/generated/wrappedgtk3types.h
+++ b/src/wrapped/generated/wrappedgtk3types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgtk3TYPES_H_
 #define __wrappedgtk3TYPES_H_
@@ -46,6 +46,7 @@ typedef void* (*pFpipppppppi_t)(void*, int32_t, void*, void*, void*, void*, void
 	GO(gtk_tree_store_new, pFuV_t) \
 	GO(gtk_style_context_get_valist, vFpiA_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) \
diff --git a/src/wrapped/generated/wrappedgtk3undefs.h b/src/wrapped/generated/wrappedgtk3undefs.h
index b8dac037..4c845a46 100644
--- a/src/wrapped/generated/wrappedgtk3undefs.h
+++ b/src/wrapped/generated/wrappedgtk3undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgtk3UNDEFS_H_
 #define __wrappedgtk3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedgtkx112defs.h b/src/wrapped/generated/wrappedgtkx112defs.h
index 9f1c5c35..b0d27df4 100644
--- a/src/wrapped/generated/wrappedgtkx112defs.h
+++ b/src/wrapped/generated/wrappedgtkx112defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgtkx112DEFS_H_
 #define __wrappedgtkx112DEFS_H_
diff --git a/src/wrapped/generated/wrappedgtkx112types.h b/src/wrapped/generated/wrappedgtkx112types.h
index 8ef972d0..41e56622 100644
--- a/src/wrapped/generated/wrappedgtkx112types.h
+++ b/src/wrapped/generated/wrappedgtkx112types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgtkx112TYPES_H_
 #define __wrappedgtkx112TYPES_H_
diff --git a/src/wrapped/generated/wrappedgtkx112undefs.h b/src/wrapped/generated/wrappedgtkx112undefs.h
index 339c4cb8..0754599c 100644
--- a/src/wrapped/generated/wrappedgtkx112undefs.h
+++ b/src/wrapped/generated/wrappedgtkx112undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedgtkx112UNDEFS_H_
 #define __wrappedgtkx112UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedicui18n67defs.h b/src/wrapped/generated/wrappedicui18n67defs.h
index d9948e3d..bd7ce595 100644
--- a/src/wrapped/generated/wrappedicui18n67defs.h
+++ b/src/wrapped/generated/wrappedicui18n67defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicui18n67DEFS_H_
 #define __wrappedicui18n67DEFS_H_
diff --git a/src/wrapped/generated/wrappedicui18n67types.h b/src/wrapped/generated/wrappedicui18n67types.h
index c5177418..adac7a66 100644
--- a/src/wrapped/generated/wrappedicui18n67types.h
+++ b/src/wrapped/generated/wrappedicui18n67types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicui18n67TYPES_H_
 #define __wrappedicui18n67TYPES_H_
diff --git a/src/wrapped/generated/wrappedicui18n67undefs.h b/src/wrapped/generated/wrappedicui18n67undefs.h
index e73490b8..5fc6ff47 100644
--- a/src/wrapped/generated/wrappedicui18n67undefs.h
+++ b/src/wrapped/generated/wrappedicui18n67undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicui18n67UNDEFS_H_
 #define __wrappedicui18n67UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedicui18n72defs.h b/src/wrapped/generated/wrappedicui18n72defs.h
index 8d8b1700..5e0d2b77 100644
--- a/src/wrapped/generated/wrappedicui18n72defs.h
+++ b/src/wrapped/generated/wrappedicui18n72defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicui18n72DEFS_H_
 #define __wrappedicui18n72DEFS_H_
diff --git a/src/wrapped/generated/wrappedicui18n72types.h b/src/wrapped/generated/wrappedicui18n72types.h
index 297fd4b3..5a561161 100644
--- a/src/wrapped/generated/wrappedicui18n72types.h
+++ b/src/wrapped/generated/wrappedicui18n72types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicui18n72TYPES_H_
 #define __wrappedicui18n72TYPES_H_
diff --git a/src/wrapped/generated/wrappedicui18n72undefs.h b/src/wrapped/generated/wrappedicui18n72undefs.h
index 1e6d41aa..0e2bdb74 100644
--- a/src/wrapped/generated/wrappedicui18n72undefs.h
+++ b/src/wrapped/generated/wrappedicui18n72undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicui18n72UNDEFS_H_
 #define __wrappedicui18n72UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedicuuc67defs.h b/src/wrapped/generated/wrappedicuuc67defs.h
index 334b9f5f..617ec43c 100644
--- a/src/wrapped/generated/wrappedicuuc67defs.h
+++ b/src/wrapped/generated/wrappedicuuc67defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicuuc67DEFS_H_
 #define __wrappedicuuc67DEFS_H_
diff --git a/src/wrapped/generated/wrappedicuuc67types.h b/src/wrapped/generated/wrappedicuuc67types.h
index cdb20aa9..6f79293b 100644
--- a/src/wrapped/generated/wrappedicuuc67types.h
+++ b/src/wrapped/generated/wrappedicuuc67types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicuuc67TYPES_H_
 #define __wrappedicuuc67TYPES_H_
diff --git a/src/wrapped/generated/wrappedicuuc67undefs.h b/src/wrapped/generated/wrappedicuuc67undefs.h
index 353cce90..3fa39a14 100644
--- a/src/wrapped/generated/wrappedicuuc67undefs.h
+++ b/src/wrapped/generated/wrappedicuuc67undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicuuc67UNDEFS_H_
 #define __wrappedicuuc67UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedicuuc72defs.h b/src/wrapped/generated/wrappedicuuc72defs.h
index 9d243720..9950b536 100644
--- a/src/wrapped/generated/wrappedicuuc72defs.h
+++ b/src/wrapped/generated/wrappedicuuc72defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicuuc72DEFS_H_
 #define __wrappedicuuc72DEFS_H_
diff --git a/src/wrapped/generated/wrappedicuuc72types.h b/src/wrapped/generated/wrappedicuuc72types.h
index 698d8a6e..f228cd2b 100644
--- a/src/wrapped/generated/wrappedicuuc72types.h
+++ b/src/wrapped/generated/wrappedicuuc72types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicuuc72TYPES_H_
 #define __wrappedicuuc72TYPES_H_
diff --git a/src/wrapped/generated/wrappedicuuc72undefs.h b/src/wrapped/generated/wrappedicuuc72undefs.h
index 1ae15471..95319b05 100644
--- a/src/wrapped/generated/wrappedicuuc72undefs.h
+++ b/src/wrapped/generated/wrappedicuuc72undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedicuuc72UNDEFS_H_
 #define __wrappedicuuc72UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedkrb5defs.h b/src/wrapped/generated/wrappedkrb5defs.h
index c23ad2ff..921df2b4 100644
--- a/src/wrapped/generated/wrappedkrb5defs.h
+++ b/src/wrapped/generated/wrappedkrb5defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedkrb5DEFS_H_
 #define __wrappedkrb5DEFS_H_
diff --git a/src/wrapped/generated/wrappedkrb5types.h b/src/wrapped/generated/wrappedkrb5types.h
index 95cee103..d6da63c1 100644
--- a/src/wrapped/generated/wrappedkrb5types.h
+++ b/src/wrapped/generated/wrappedkrb5types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedkrb5TYPES_H_
 #define __wrappedkrb5TYPES_H_
diff --git a/src/wrapped/generated/wrappedkrb5undefs.h b/src/wrapped/generated/wrappedkrb5undefs.h
index 64160246..c4e2f41e 100644
--- a/src/wrapped/generated/wrappedkrb5undefs.h
+++ b/src/wrapped/generated/wrappedkrb5undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedkrb5UNDEFS_H_
 #define __wrappedkrb5UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlberdefs.h b/src/wrapped/generated/wrappedlberdefs.h
index a3a11c08..8d1a21e3 100644
--- a/src/wrapped/generated/wrappedlberdefs.h
+++ b/src/wrapped/generated/wrappedlberdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlberDEFS_H_
 #define __wrappedlberDEFS_H_
diff --git a/src/wrapped/generated/wrappedlbertypes.h b/src/wrapped/generated/wrappedlbertypes.h
index 2f4a2d8e..20174f1b 100644
--- a/src/wrapped/generated/wrappedlbertypes.h
+++ b/src/wrapped/generated/wrappedlbertypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlberTYPES_H_
 #define __wrappedlberTYPES_H_
diff --git a/src/wrapped/generated/wrappedlberundefs.h b/src/wrapped/generated/wrappedlberundefs.h
index a36f8f4b..3475bbb5 100644
--- a/src/wrapped/generated/wrappedlberundefs.h
+++ b/src/wrapped/generated/wrappedlberundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlberUNDEFS_H_
 #define __wrappedlberUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedldaprdefs.h b/src/wrapped/generated/wrappedldaprdefs.h
index e87e5333..62b34d38 100644
--- a/src/wrapped/generated/wrappedldaprdefs.h
+++ b/src/wrapped/generated/wrappedldaprdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedldaprDEFS_H_
 #define __wrappedldaprDEFS_H_
diff --git a/src/wrapped/generated/wrappedldaprtypes.h b/src/wrapped/generated/wrappedldaprtypes.h
index 21c47103..1d2c0135 100644
--- a/src/wrapped/generated/wrappedldaprtypes.h
+++ b/src/wrapped/generated/wrappedldaprtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedldaprTYPES_H_
 #define __wrappedldaprTYPES_H_
diff --git a/src/wrapped/generated/wrappedldaprundefs.h b/src/wrapped/generated/wrappedldaprundefs.h
index 01fca189..77f89b34 100644
--- a/src/wrapped/generated/wrappedldaprundefs.h
+++ b/src/wrapped/generated/wrappedldaprundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedldaprUNDEFS_H_
 #define __wrappedldaprUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedldlinuxdefs.h b/src/wrapped/generated/wrappedldlinuxdefs.h
index 0bb7bcbe..ea985e01 100644
--- a/src/wrapped/generated/wrappedldlinuxdefs.h
+++ b/src/wrapped/generated/wrappedldlinuxdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedldlinuxDEFS_H_
 #define __wrappedldlinuxDEFS_H_
diff --git a/src/wrapped/generated/wrappedldlinuxtypes.h b/src/wrapped/generated/wrappedldlinuxtypes.h
index 6f65291b..5d15a41c 100644
--- a/src/wrapped/generated/wrappedldlinuxtypes.h
+++ b/src/wrapped/generated/wrappedldlinuxtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedldlinuxTYPES_H_
 #define __wrappedldlinuxTYPES_H_
diff --git a/src/wrapped/generated/wrappedldlinuxundefs.h b/src/wrapped/generated/wrappedldlinuxundefs.h
index fedacfb9..bdf66dd2 100644
--- a/src/wrapped/generated/wrappedldlinuxundefs.h
+++ b/src/wrapped/generated/wrappedldlinuxundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedldlinuxUNDEFS_H_
 #define __wrappedldlinuxUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibasounddefs.h b/src/wrapped/generated/wrappedlibasounddefs.h
index 291625d4..a9b58fa1 100644
--- a/src/wrapped/generated/wrappedlibasounddefs.h
+++ b/src/wrapped/generated/wrappedlibasounddefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibasoundDEFS_H_
 #define __wrappedlibasoundDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibasoundtypes.h b/src/wrapped/generated/wrappedlibasoundtypes.h
index a505adb7..73aaecef 100644
--- a/src/wrapped/generated/wrappedlibasoundtypes.h
+++ b/src/wrapped/generated/wrappedlibasoundtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibasoundTYPES_H_
 #define __wrappedlibasoundTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibasoundundefs.h b/src/wrapped/generated/wrappedlibasoundundefs.h
index 5552ae71..cc9a70dd 100644
--- a/src/wrapped/generated/wrappedlibasoundundefs.h
+++ b/src/wrapped/generated/wrappedlibasoundundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibasoundUNDEFS_H_
 #define __wrappedlibasoundUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibcdefs.h b/src/wrapped/generated/wrappedlibcdefs.h
index a26acf2c..3a702c86 100644
--- a/src/wrapped/generated/wrappedlibcdefs.h
+++ b/src/wrapped/generated/wrappedlibcdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcDEFS_H_
 #define __wrappedlibcDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibcmusldefs.h b/src/wrapped/generated/wrappedlibcmusldefs.h
index 663f6679..f1ee865f 100644
--- a/src/wrapped/generated/wrappedlibcmusldefs.h
+++ b/src/wrapped/generated/wrappedlibcmusldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcmuslDEFS_H_
 #define __wrappedlibcmuslDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibcmusltypes.h b/src/wrapped/generated/wrappedlibcmusltypes.h
index da781fc7..642af3cc 100644
--- a/src/wrapped/generated/wrappedlibcmusltypes.h
+++ b/src/wrapped/generated/wrappedlibcmusltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcmuslTYPES_H_
 #define __wrappedlibcmuslTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibcmuslundefs.h b/src/wrapped/generated/wrappedlibcmuslundefs.h
index d562391d..688a9683 100644
--- a/src/wrapped/generated/wrappedlibcmuslundefs.h
+++ b/src/wrapped/generated/wrappedlibcmuslundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcmuslUNDEFS_H_
 #define __wrappedlibcmuslUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibcryptdefs.h b/src/wrapped/generated/wrappedlibcryptdefs.h
index 785a0335..7bf8ce68 100644
--- a/src/wrapped/generated/wrappedlibcryptdefs.h
+++ b/src/wrapped/generated/wrappedlibcryptdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcryptDEFS_H_
 #define __wrappedlibcryptDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibcrypttypes.h b/src/wrapped/generated/wrappedlibcrypttypes.h
index 596d117e..96e14ec6 100644
--- a/src/wrapped/generated/wrappedlibcrypttypes.h
+++ b/src/wrapped/generated/wrappedlibcrypttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcryptTYPES_H_
 #define __wrappedlibcryptTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibcryptundefs.h b/src/wrapped/generated/wrappedlibcryptundefs.h
index 35c99f28..184c5129 100644
--- a/src/wrapped/generated/wrappedlibcryptundefs.h
+++ b/src/wrapped/generated/wrappedlibcryptundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcryptUNDEFS_H_
 #define __wrappedlibcryptUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibctypes.h b/src/wrapped/generated/wrappedlibctypes.h
index 8c4ab887..ec55e5bb 100644
--- a/src/wrapped/generated/wrappedlibctypes.h
+++ b/src/wrapped/generated/wrappedlibctypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcTYPES_H_
 #define __wrappedlibcTYPES_H_
@@ -42,6 +42,7 @@ typedef int32_t (*iFiip_t)(int32_t, int32_t, void*);
 typedef int32_t (*iFiiN_t)(int32_t, int32_t, ...);
 typedef int32_t (*iFipp_t)(int32_t, void*, void*);
 typedef int32_t (*iFipV_t)(int32_t, void*, ...);
+typedef int32_t (*iFipA_t)(int32_t, void*, va_list);
 typedef int32_t (*iFpLi_t)(void*, uintptr_t, int32_t);
 typedef int32_t (*iFppi_t)(void*, void*, int32_t);
 typedef int32_t (*iFppp_t)(void*, void*, void*);
@@ -53,11 +54,14 @@ typedef intptr_t (*lFppL_t)(void*, void*, uintptr_t);
 typedef uintptr_t (*LFppL_t)(void*, void*, uintptr_t);
 typedef void* (*pFpip_t)(void*, int32_t, void*);
 typedef void* (*pFppp_t)(void*, void*, void*);
+typedef void* (*pFppV_t)(void*, void*, ...);
 typedef void (*vFiipV_t)(int32_t, int32_t, void*, ...);
 typedef void (*vFiipA_t)(int32_t, int32_t, void*, va_list);
 typedef void (*vFpLLp_t)(void*, uintptr_t, uintptr_t, void*);
 typedef int32_t (*iFiiip_t)(int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFiiiN_t)(int32_t, int32_t, int32_t, ...);
+typedef int32_t (*iFiipV_t)(int32_t, int32_t, void*, ...);
+typedef int32_t (*iFiipA_t)(int32_t, int32_t, void*, va_list);
 typedef int32_t (*iFipii_t)(int32_t, void*, int32_t, int32_t);
 typedef int32_t (*iFippi_t)(int32_t, void*, void*, int32_t);
 typedef int32_t (*iFippL_t)(int32_t, void*, void*, uintptr_t);
@@ -140,10 +144,12 @@ typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*
 	GO(swapcontext, iFpp_t) \
 	GO(__isoc99_scanf, iFpV_t) \
 	GO(execl, iFpV_t) \
+	GO(execle, iFpV_t) \
 	GO(execlp, iFpV_t) \
 	GO(printf, iFpV_t) \
 	GO(wprintf, iFpV_t) \
 	GO(vprintf, iFpA_t) \
+	GO(vwprintf, iFpA_t) \
 	GO(_IO_file_stat, iFSp_t) \
 	GO(__sysv_signal, pFip_t) \
 	GO(signal, pFip_t) \
@@ -174,6 +180,8 @@ typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*
 	GO(register_printf_specifier, iFipp_t) \
 	GO(sigaction, iFipp_t) \
 	GO(__printf_chk, iFipV_t) \
+	GO(dprintf, iFipV_t) \
+	GO(vdprintf, iFipA_t) \
 	GO(mprotect, iFpLi_t) \
 	GO(ftw, iFppi_t) \
 	GO(ftw64, iFppi_t) \
@@ -187,6 +195,7 @@ typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*
 	GO(__asprintf, iFppV_t) \
 	GO(__isoc99_fscanf, iFppV_t) \
 	GO(__isoc99_sscanf, iFppV_t) \
+	GO(__isoc99_swscanf, iFppV_t) \
 	GO(asprintf, iFppV_t) \
 	GO(fprintf, iFppV_t) \
 	GO(fscanf, iFppV_t) \
@@ -214,11 +223,14 @@ typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*
 	GO(tdelete, pFppp_t) \
 	GO(tfind, pFppp_t) \
 	GO(tsearch, pFppp_t) \
+	GO(fopencookie, pFppV_t) \
 	GO(__syslog_chk, vFiipV_t) \
 	GO(__vsyslog_chk, vFiipA_t) \
 	GO(qsort, vFpLLp_t) \
 	GO(epoll_ctl, iFiiip_t) \
 	GO(semctl, iFiiiN_t) \
+	GO(__dprintf_chk, iFiipV_t) \
+	GO(__vdprintf_chk, iFiipA_t) \
 	GO(epoll_wait, iFipii_t) \
 	GO(fstatat, iFippi_t) \
 	GO(fstatat64, iFippi_t) \
diff --git a/src/wrapped/generated/wrappedlibcundefs.h b/src/wrapped/generated/wrappedlibcundefs.h
index 67fb46c3..b3b90e94 100644
--- a/src/wrapped/generated/wrappedlibcundefs.h
+++ b/src/wrapped/generated/wrappedlibcundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcUNDEFS_H_
 #define __wrappedlibcUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibcupsdefs.h b/src/wrapped/generated/wrappedlibcupsdefs.h
index e34a7729..6903082a 100644
--- a/src/wrapped/generated/wrappedlibcupsdefs.h
+++ b/src/wrapped/generated/wrappedlibcupsdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcupsDEFS_H_
 #define __wrappedlibcupsDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibcupstypes.h b/src/wrapped/generated/wrappedlibcupstypes.h
index c03829df..5fb8ca9e 100644
--- a/src/wrapped/generated/wrappedlibcupstypes.h
+++ b/src/wrapped/generated/wrappedlibcupstypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcupsTYPES_H_
 #define __wrappedlibcupsTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibcupsundefs.h b/src/wrapped/generated/wrappedlibcupsundefs.h
index 8d13a03c..0b07f3fb 100644
--- a/src/wrapped/generated/wrappedlibcupsundefs.h
+++ b/src/wrapped/generated/wrappedlibcupsundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibcupsUNDEFS_H_
 #define __wrappedlibcupsUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibdldefs.h b/src/wrapped/generated/wrappedlibdldefs.h
index 2c0d7346..03dde183 100644
--- a/src/wrapped/generated/wrappedlibdldefs.h
+++ b/src/wrapped/generated/wrappedlibdldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibdlDEFS_H_
 #define __wrappedlibdlDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibdltypes.h b/src/wrapped/generated/wrappedlibdltypes.h
index e47020f1..b9008317 100644
--- a/src/wrapped/generated/wrappedlibdltypes.h
+++ b/src/wrapped/generated/wrappedlibdltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibdlTYPES_H_
 #define __wrappedlibdlTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibdlundefs.h b/src/wrapped/generated/wrappedlibdlundefs.h
index 1e3d44e8..0cf151bd 100644
--- a/src/wrapped/generated/wrappedlibdlundefs.h
+++ b/src/wrapped/generated/wrappedlibdlundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibdlUNDEFS_H_
 #define __wrappedlibdlUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibdrmdefs.h b/src/wrapped/generated/wrappedlibdrmdefs.h
index 1d8c1e8d..d1cf6177 100644
--- a/src/wrapped/generated/wrappedlibdrmdefs.h
+++ b/src/wrapped/generated/wrappedlibdrmdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibdrmDEFS_H_
 #define __wrappedlibdrmDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibdrmtypes.h b/src/wrapped/generated/wrappedlibdrmtypes.h
index 61bd907d..16b63312 100644
--- a/src/wrapped/generated/wrappedlibdrmtypes.h
+++ b/src/wrapped/generated/wrappedlibdrmtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibdrmTYPES_H_
 #define __wrappedlibdrmTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibdrmundefs.h b/src/wrapped/generated/wrappedlibdrmundefs.h
index 6d39eb31..32a3b41a 100644
--- a/src/wrapped/generated/wrappedlibdrmundefs.h
+++ b/src/wrapped/generated/wrappedlibdrmundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibdrmUNDEFS_H_
 #define __wrappedlibdrmUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibegldefs.h b/src/wrapped/generated/wrappedlibegldefs.h
index 4cafbbf8..a756c752 100644
--- a/src/wrapped/generated/wrappedlibegldefs.h
+++ b/src/wrapped/generated/wrappedlibegldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibeglDEFS_H_
 #define __wrappedlibeglDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibegltypes.h b/src/wrapped/generated/wrappedlibegltypes.h
index 6a8b66a5..1671ce7e 100644
--- a/src/wrapped/generated/wrappedlibegltypes.h
+++ b/src/wrapped/generated/wrappedlibegltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibeglTYPES_H_
 #define __wrappedlibeglTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibeglundefs.h b/src/wrapped/generated/wrappedlibeglundefs.h
index 5957bbd8..b7abcadd 100644
--- a/src/wrapped/generated/wrappedlibeglundefs.h
+++ b/src/wrapped/generated/wrappedlibeglundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibeglUNDEFS_H_
 #define __wrappedlibeglUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibformdefs.h b/src/wrapped/generated/wrappedlibformdefs.h
index 3cb73ea6..75153628 100644
--- a/src/wrapped/generated/wrappedlibformdefs.h
+++ b/src/wrapped/generated/wrappedlibformdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibformDEFS_H_
 #define __wrappedlibformDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibformtypes.h b/src/wrapped/generated/wrappedlibformtypes.h
index 2c5a17bf..db9df205 100644
--- a/src/wrapped/generated/wrappedlibformtypes.h
+++ b/src/wrapped/generated/wrappedlibformtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibformTYPES_H_
 #define __wrappedlibformTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibformundefs.h b/src/wrapped/generated/wrappedlibformundefs.h
index dec3dc44..0243b937 100644
--- a/src/wrapped/generated/wrappedlibformundefs.h
+++ b/src/wrapped/generated/wrappedlibformundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibformUNDEFS_H_
 #define __wrappedlibformUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibformwdefs.h b/src/wrapped/generated/wrappedlibformwdefs.h
index 73039bb5..6d524690 100644
--- a/src/wrapped/generated/wrappedlibformwdefs.h
+++ b/src/wrapped/generated/wrappedlibformwdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibformwDEFS_H_
 #define __wrappedlibformwDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibformwtypes.h b/src/wrapped/generated/wrappedlibformwtypes.h
index ebbcd1f7..1910d8a7 100644
--- a/src/wrapped/generated/wrappedlibformwtypes.h
+++ b/src/wrapped/generated/wrappedlibformwtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibformwTYPES_H_
 #define __wrappedlibformwTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibformwundefs.h b/src/wrapped/generated/wrappedlibformwundefs.h
index 879f8c14..38b8db09 100644
--- a/src/wrapped/generated/wrappedlibformwundefs.h
+++ b/src/wrapped/generated/wrappedlibformwundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibformwUNDEFS_H_
 #define __wrappedlibformwUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibfusedefs.h b/src/wrapped/generated/wrappedlibfusedefs.h
index 007d13f1..5e5b2200 100644
--- a/src/wrapped/generated/wrappedlibfusedefs.h
+++ b/src/wrapped/generated/wrappedlibfusedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibfuseDEFS_H_
 #define __wrappedlibfuseDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibfusetypes.h b/src/wrapped/generated/wrappedlibfusetypes.h
index 1966993d..b06673f6 100644
--- a/src/wrapped/generated/wrappedlibfusetypes.h
+++ b/src/wrapped/generated/wrappedlibfusetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibfuseTYPES_H_
 #define __wrappedlibfuseTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibfuseundefs.h b/src/wrapped/generated/wrappedlibfuseundefs.h
index bc2a569f..42445e32 100644
--- a/src/wrapped/generated/wrappedlibfuseundefs.h
+++ b/src/wrapped/generated/wrappedlibfuseundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibfuseUNDEFS_H_
 #define __wrappedlibfuseUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibgldefs.h b/src/wrapped/generated/wrappedlibgldefs.h
index b718c76f..ee88a40d 100644
--- a/src/wrapped/generated/wrappedlibgldefs.h
+++ b/src/wrapped/generated/wrappedlibgldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibglDEFS_H_
 #define __wrappedlibglDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibgltypes.h b/src/wrapped/generated/wrappedlibgltypes.h
index bfb3f0d1..1d6863cb 100644
--- a/src/wrapped/generated/wrappedlibgltypes.h
+++ b/src/wrapped/generated/wrappedlibgltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibglTYPES_H_
 #define __wrappedlibglTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibgludefs.h b/src/wrapped/generated/wrappedlibgludefs.h
index ad4b9bf0..5de3f3f4 100644
--- a/src/wrapped/generated/wrappedlibgludefs.h
+++ b/src/wrapped/generated/wrappedlibgludefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibgluDEFS_H_
 #define __wrappedlibgluDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibglundefs.h b/src/wrapped/generated/wrappedlibglundefs.h
index b129d86c..48f2034d 100644
--- a/src/wrapped/generated/wrappedlibglundefs.h
+++ b/src/wrapped/generated/wrappedlibglundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibglUNDEFS_H_
 #define __wrappedlibglUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibglutypes.h b/src/wrapped/generated/wrappedlibglutypes.h
index 64e42a40..7b4c6869 100644
--- a/src/wrapped/generated/wrappedlibglutypes.h
+++ b/src/wrapped/generated/wrappedlibglutypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibgluTYPES_H_
 #define __wrappedlibgluTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibgluundefs.h b/src/wrapped/generated/wrappedlibgluundefs.h
index 690a8c6e..60041a24 100644
--- a/src/wrapped/generated/wrappedlibgluundefs.h
+++ b/src/wrapped/generated/wrappedlibgluundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibgluUNDEFS_H_
 #define __wrappedlibgluUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibglxdefs.h b/src/wrapped/generated/wrappedlibglxdefs.h
index bae8f4f8..a6a63efe 100644
--- a/src/wrapped/generated/wrappedlibglxdefs.h
+++ b/src/wrapped/generated/wrappedlibglxdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibglxDEFS_H_
 #define __wrappedlibglxDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibglxtypes.h b/src/wrapped/generated/wrappedlibglxtypes.h
index 08219f2b..c5a0fce7 100644
--- a/src/wrapped/generated/wrappedlibglxtypes.h
+++ b/src/wrapped/generated/wrappedlibglxtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibglxTYPES_H_
 #define __wrappedlibglxTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibglxundefs.h b/src/wrapped/generated/wrappedlibglxundefs.h
index d19111c6..ba1dfddb 100644
--- a/src/wrapped/generated/wrappedlibglxundefs.h
+++ b/src/wrapped/generated/wrappedlibglxundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibglxUNDEFS_H_
 #define __wrappedlibglxUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibharfbuzzdefs.h b/src/wrapped/generated/wrappedlibharfbuzzdefs.h
new file mode 100644
index 00000000..a66d790b
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibharfbuzzdefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedlibharfbuzzDEFS_H_
+#define __wrappedlibharfbuzzDEFS_H_
+
+
+#endif // __wrappedlibharfbuzzDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibharfbuzztypes.h b/src/wrapped/generated/wrappedlibharfbuzztypes.h
new file mode 100644
index 00000000..4510551c
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibharfbuzztypes.h
@@ -0,0 +1,71 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedlibharfbuzzTYPES_H_
+#define __wrappedlibharfbuzzTYPES_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 (*vFppp_t)(void*, void*, void*);
+typedef void* (*pFppp_t)(void*, void*, void*);
+typedef void (*vFpppp_t)(void*, void*, void*, void*);
+typedef int32_t (*iFppppi_t)(void*, void*, void*, void*, int32_t);
+typedef void* (*pFpuupp_t)(void*, uint32_t, uint32_t, void*, void*);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(hb_draw_funcs_destroy, vFp_t) \
+	GO(hb_font_funcs_destroy, vFp_t) \
+	GO(hb_unicode_funcs_reference, pFp_t) \
+	GO(hb_font_set_funcs_data, vFppp_t) \
+	GO(hb_face_create_for_tables, pFppp_t) \
+	GO(hb_buffer_set_message_func, vFpppp_t) \
+	GO(hb_draw_funcs_set_close_path_func, vFpppp_t) \
+	GO(hb_draw_funcs_set_cubic_to_func, vFpppp_t) \
+	GO(hb_draw_funcs_set_line_to_func, vFpppp_t) \
+	GO(hb_draw_funcs_set_move_to_func, vFpppp_t) \
+	GO(hb_draw_funcs_set_quadratic_to_func, vFpppp_t) \
+	GO(hb_font_funcs_set_font_h_extents_func, vFpppp_t) \
+	GO(hb_font_funcs_set_font_v_extents_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_contour_point_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_extents_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_from_name_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_h_advance_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_h_advances_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_h_kerning_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_h_origin_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_name_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_shape_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_v_advance_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_v_advances_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_v_kerning_func, vFpppp_t) \
+	GO(hb_font_funcs_set_glyph_v_origin_func, vFpppp_t) \
+	GO(hb_font_funcs_set_nominal_glyph_func, vFpppp_t) \
+	GO(hb_font_funcs_set_nominal_glyphs_func, vFpppp_t) \
+	GO(hb_font_funcs_set_variation_glyph_func, vFpppp_t) \
+	GO(hb_font_set_funcs, vFpppp_t) \
+	GO(hb_unicode_funcs_set_combining_class_func, vFpppp_t) \
+	GO(hb_unicode_funcs_set_compose_func, vFpppp_t) \
+	GO(hb_unicode_funcs_set_decompose_compatibility_func, vFpppp_t) \
+	GO(hb_unicode_funcs_set_decompose_func, vFpppp_t) \
+	GO(hb_unicode_funcs_set_eastasian_width_func, vFpppp_t) \
+	GO(hb_unicode_funcs_set_general_category_func, vFpppp_t) \
+	GO(hb_unicode_funcs_set_mirroring_func, vFpppp_t) \
+	GO(hb_unicode_funcs_set_script_func, vFpppp_t) \
+	GO(hb_blob_set_user_data, iFppppi_t) \
+	GO(hb_buffer_set_user_data, iFppppi_t) \
+	GO(hb_face_set_user_data, iFppppi_t) \
+	GO(hb_font_funcs_set_user_data, iFppppi_t) \
+	GO(hb_font_set_user_data, iFppppi_t) \
+	GO(hb_unicode_funcs_set_user_data, iFppppi_t) \
+	GO(hb_blob_create, pFpuupp_t) \
+	GO(hb_blob_create_or_fail, pFpuupp_t)
+
+#endif // __wrappedlibharfbuzzTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibharfbuzzundefs.h b/src/wrapped/generated/wrappedlibharfbuzzundefs.h
new file mode 100644
index 00000000..5564b20c
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibharfbuzzundefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedlibharfbuzzUNDEFS_H_
+#define __wrappedlibharfbuzzUNDEFS_H_
+
+
+#endif // __wrappedlibharfbuzzUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibibusdefs.h b/src/wrapped/generated/wrappedlibibusdefs.h
index 9c2e9c43..497ed09d 100644
--- a/src/wrapped/generated/wrappedlibibusdefs.h
+++ b/src/wrapped/generated/wrappedlibibusdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibibusDEFS_H_
 #define __wrappedlibibusDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibibustypes.h b/src/wrapped/generated/wrappedlibibustypes.h
index 305a205d..2685040d 100644
--- a/src/wrapped/generated/wrappedlibibustypes.h
+++ b/src/wrapped/generated/wrappedlibibustypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibibusTYPES_H_
 #define __wrappedlibibusTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibibusundefs.h b/src/wrapped/generated/wrappedlibibusundefs.h
index 023935cd..b5a6be08 100644
--- a/src/wrapped/generated/wrappedlibibusundefs.h
+++ b/src/wrapped/generated/wrappedlibibusundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibibusUNDEFS_H_
 #define __wrappedlibibusUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibicedefs.h b/src/wrapped/generated/wrappedlibicedefs.h
index 4d14f98c..064249ab 100644
--- a/src/wrapped/generated/wrappedlibicedefs.h
+++ b/src/wrapped/generated/wrappedlibicedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibiceDEFS_H_
 #define __wrappedlibiceDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibicetypes.h b/src/wrapped/generated/wrappedlibicetypes.h
index 03cc8bf9..e1cd9bdb 100644
--- a/src/wrapped/generated/wrappedlibicetypes.h
+++ b/src/wrapped/generated/wrappedlibicetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibiceTYPES_H_
 #define __wrappedlibiceTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibiceundefs.h b/src/wrapped/generated/wrappedlibiceundefs.h
index aa4fd2cd..7f302703 100644
--- a/src/wrapped/generated/wrappedlibiceundefs.h
+++ b/src/wrapped/generated/wrappedlibiceundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibiceUNDEFS_H_
 #define __wrappedlibiceUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibmdefs.h b/src/wrapped/generated/wrappedlibmdefs.h
index 11c42c39..31c10d15 100644
--- a/src/wrapped/generated/wrappedlibmdefs.h
+++ b/src/wrapped/generated/wrappedlibmdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibmDEFS_H_
 #define __wrappedlibmDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibmtypes.h b/src/wrapped/generated/wrappedlibmtypes.h
index 076e6945..001794ba 100644
--- a/src/wrapped/generated/wrappedlibmtypes.h
+++ b/src/wrapped/generated/wrappedlibmtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibmTYPES_H_
 #define __wrappedlibmTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibmundefs.h b/src/wrapped/generated/wrappedlibmundefs.h
index 7c323616..90bee0c8 100644
--- a/src/wrapped/generated/wrappedlibmundefs.h
+++ b/src/wrapped/generated/wrappedlibmundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibmUNDEFS_H_
 #define __wrappedlibmUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibncurses6defs.h b/src/wrapped/generated/wrappedlibncurses6defs.h
index 66d02ce0..4bc7b05e 100644
--- a/src/wrapped/generated/wrappedlibncurses6defs.h
+++ b/src/wrapped/generated/wrappedlibncurses6defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncurses6DEFS_H_
 #define __wrappedlibncurses6DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibncurses6types.h b/src/wrapped/generated/wrappedlibncurses6types.h
index d9f6c028..f04e04fd 100644
--- a/src/wrapped/generated/wrappedlibncurses6types.h
+++ b/src/wrapped/generated/wrappedlibncurses6types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncurses6TYPES_H_
 #define __wrappedlibncurses6TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibncurses6undefs.h b/src/wrapped/generated/wrappedlibncurses6undefs.h
index 93b34f45..a6e20720 100644
--- a/src/wrapped/generated/wrappedlibncurses6undefs.h
+++ b/src/wrapped/generated/wrappedlibncurses6undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncurses6UNDEFS_H_
 #define __wrappedlibncurses6UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibncursesdefs.h b/src/wrapped/generated/wrappedlibncursesdefs.h
index aedfc357..41836b88 100644
--- a/src/wrapped/generated/wrappedlibncursesdefs.h
+++ b/src/wrapped/generated/wrappedlibncursesdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncursesDEFS_H_
 #define __wrappedlibncursesDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibncursestypes.h b/src/wrapped/generated/wrappedlibncursestypes.h
index b909e016..abb99f96 100644
--- a/src/wrapped/generated/wrappedlibncursestypes.h
+++ b/src/wrapped/generated/wrappedlibncursestypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncursesTYPES_H_
 #define __wrappedlibncursesTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibncursesundefs.h b/src/wrapped/generated/wrappedlibncursesundefs.h
index c8728a68..0ac19c40 100644
--- a/src/wrapped/generated/wrappedlibncursesundefs.h
+++ b/src/wrapped/generated/wrappedlibncursesundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncursesUNDEFS_H_
 #define __wrappedlibncursesUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibncursesw6defs.h b/src/wrapped/generated/wrappedlibncursesw6defs.h
index 474c4332..36184fbc 100644
--- a/src/wrapped/generated/wrappedlibncursesw6defs.h
+++ b/src/wrapped/generated/wrappedlibncursesw6defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncursesw6DEFS_H_
 #define __wrappedlibncursesw6DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibncursesw6types.h b/src/wrapped/generated/wrappedlibncursesw6types.h
index 317a31b7..1dbb1fd0 100644
--- a/src/wrapped/generated/wrappedlibncursesw6types.h
+++ b/src/wrapped/generated/wrappedlibncursesw6types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncursesw6TYPES_H_
 #define __wrappedlibncursesw6TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibncursesw6undefs.h b/src/wrapped/generated/wrappedlibncursesw6undefs.h
index 1844e361..c60f4cee 100644
--- a/src/wrapped/generated/wrappedlibncursesw6undefs.h
+++ b/src/wrapped/generated/wrappedlibncursesw6undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncursesw6UNDEFS_H_
 #define __wrappedlibncursesw6UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibncurseswdefs.h b/src/wrapped/generated/wrappedlibncurseswdefs.h
index 80c42570..5d6556df 100644
--- a/src/wrapped/generated/wrappedlibncurseswdefs.h
+++ b/src/wrapped/generated/wrappedlibncurseswdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncurseswDEFS_H_
 #define __wrappedlibncurseswDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibncurseswtypes.h b/src/wrapped/generated/wrappedlibncurseswtypes.h
index bd9677e1..15f15054 100644
--- a/src/wrapped/generated/wrappedlibncurseswtypes.h
+++ b/src/wrapped/generated/wrappedlibncurseswtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncurseswTYPES_H_
 #define __wrappedlibncurseswTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibncurseswundefs.h b/src/wrapped/generated/wrappedlibncurseswundefs.h
index 5c6aa313..4f1b1b2a 100644
--- a/src/wrapped/generated/wrappedlibncurseswundefs.h
+++ b/src/wrapped/generated/wrappedlibncurseswundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibncurseswUNDEFS_H_
 #define __wrappedlibncurseswUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibnumadefs.h b/src/wrapped/generated/wrappedlibnumadefs.h
index 081cdda0..99b1c2ec 100644
--- a/src/wrapped/generated/wrappedlibnumadefs.h
+++ b/src/wrapped/generated/wrappedlibnumadefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibnumaDEFS_H_
 #define __wrappedlibnumaDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibnumatypes.h b/src/wrapped/generated/wrappedlibnumatypes.h
index 9da80717..b47e501f 100644
--- a/src/wrapped/generated/wrappedlibnumatypes.h
+++ b/src/wrapped/generated/wrappedlibnumatypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibnumaTYPES_H_
 #define __wrappedlibnumaTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibnumaundefs.h b/src/wrapped/generated/wrappedlibnumaundefs.h
index 97bc3625..12ac76dc 100644
--- a/src/wrapped/generated/wrappedlibnumaundefs.h
+++ b/src/wrapped/generated/wrappedlibnumaundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibnumaUNDEFS_H_
 #define __wrappedlibnumaUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedliboggdefs.h b/src/wrapped/generated/wrappedliboggdefs.h
index bd7fdec5..4ea83bb1 100644
--- a/src/wrapped/generated/wrappedliboggdefs.h
+++ b/src/wrapped/generated/wrappedliboggdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedliboggDEFS_H_
 #define __wrappedliboggDEFS_H_
diff --git a/src/wrapped/generated/wrappedliboggtypes.h b/src/wrapped/generated/wrappedliboggtypes.h
index d40bbf07..f29d58b2 100644
--- a/src/wrapped/generated/wrappedliboggtypes.h
+++ b/src/wrapped/generated/wrappedliboggtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedliboggTYPES_H_
 #define __wrappedliboggTYPES_H_
diff --git a/src/wrapped/generated/wrappedliboggundefs.h b/src/wrapped/generated/wrappedliboggundefs.h
index f8ee011d..77647730 100644
--- a/src/wrapped/generated/wrappedliboggundefs.h
+++ b/src/wrapped/generated/wrappedliboggundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedliboggUNDEFS_H_
 #define __wrappedliboggUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibpaneldefs.h b/src/wrapped/generated/wrappedlibpaneldefs.h
index 74a5481c..3f55bb0f 100644
--- a/src/wrapped/generated/wrappedlibpaneldefs.h
+++ b/src/wrapped/generated/wrappedlibpaneldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpanelDEFS_H_
 #define __wrappedlibpanelDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibpaneltypes.h b/src/wrapped/generated/wrappedlibpaneltypes.h
index 1eb40dba..1ac90302 100644
--- a/src/wrapped/generated/wrappedlibpaneltypes.h
+++ b/src/wrapped/generated/wrappedlibpaneltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpanelTYPES_H_
 #define __wrappedlibpanelTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibpanelundefs.h b/src/wrapped/generated/wrappedlibpanelundefs.h
index 907c8a04..a24d9eae 100644
--- a/src/wrapped/generated/wrappedlibpanelundefs.h
+++ b/src/wrapped/generated/wrappedlibpanelundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpanelUNDEFS_H_
 #define __wrappedlibpanelUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibpcidefs.h b/src/wrapped/generated/wrappedlibpcidefs.h
index 7f13b152..dc587729 100644
--- a/src/wrapped/generated/wrappedlibpcidefs.h
+++ b/src/wrapped/generated/wrappedlibpcidefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpciDEFS_H_
 #define __wrappedlibpciDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibpcitypes.h b/src/wrapped/generated/wrappedlibpcitypes.h
index c31b6419..ffda5c66 100644
--- a/src/wrapped/generated/wrappedlibpcitypes.h
+++ b/src/wrapped/generated/wrappedlibpcitypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpciTYPES_H_
 #define __wrappedlibpciTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibpciundefs.h b/src/wrapped/generated/wrappedlibpciundefs.h
index 91701067..345176dd 100644
--- a/src/wrapped/generated/wrappedlibpciundefs.h
+++ b/src/wrapped/generated/wrappedlibpciundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpciUNDEFS_H_
 #define __wrappedlibpciUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibpcredefs.h b/src/wrapped/generated/wrappedlibpcredefs.h
index f8918a8f..17e3881e 100644
--- a/src/wrapped/generated/wrappedlibpcredefs.h
+++ b/src/wrapped/generated/wrappedlibpcredefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpcreDEFS_H_
 #define __wrappedlibpcreDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibpcretypes.h b/src/wrapped/generated/wrappedlibpcretypes.h
index 3d50ccee..fb1e7e8b 100644
--- a/src/wrapped/generated/wrappedlibpcretypes.h
+++ b/src/wrapped/generated/wrappedlibpcretypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpcreTYPES_H_
 #define __wrappedlibpcreTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibpcreundefs.h b/src/wrapped/generated/wrappedlibpcreundefs.h
index 09b121b1..36feb597 100644
--- a/src/wrapped/generated/wrappedlibpcreundefs.h
+++ b/src/wrapped/generated/wrappedlibpcreundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpcreUNDEFS_H_
 #define __wrappedlibpcreUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibpthreaddefs.h b/src/wrapped/generated/wrappedlibpthreaddefs.h
index 452735ee..f57a6d26 100644
--- a/src/wrapped/generated/wrappedlibpthreaddefs.h
+++ b/src/wrapped/generated/wrappedlibpthreaddefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpthreadDEFS_H_
 #define __wrappedlibpthreadDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibpthreadtypes.h b/src/wrapped/generated/wrappedlibpthreadtypes.h
index e28603b6..95c1c73e 100644
--- a/src/wrapped/generated/wrappedlibpthreadtypes.h
+++ b/src/wrapped/generated/wrappedlibpthreadtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpthreadTYPES_H_
 #define __wrappedlibpthreadTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibpthreadundefs.h b/src/wrapped/generated/wrappedlibpthreadundefs.h
index f88eae66..90070946 100644
--- a/src/wrapped/generated/wrappedlibpthreadundefs.h
+++ b/src/wrapped/generated/wrappedlibpthreadundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibpthreadUNDEFS_H_
 #define __wrappedlibpthreadUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibresolvdefs.h b/src/wrapped/generated/wrappedlibresolvdefs.h
index a6d3bcbe..1046920e 100644
--- a/src/wrapped/generated/wrappedlibresolvdefs.h
+++ b/src/wrapped/generated/wrappedlibresolvdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibresolvDEFS_H_
 #define __wrappedlibresolvDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibresolvtypes.h b/src/wrapped/generated/wrappedlibresolvtypes.h
index 2c815ad7..520b0241 100644
--- a/src/wrapped/generated/wrappedlibresolvtypes.h
+++ b/src/wrapped/generated/wrappedlibresolvtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibresolvTYPES_H_
 #define __wrappedlibresolvTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibresolvundefs.h b/src/wrapped/generated/wrappedlibresolvundefs.h
index 5095a6f4..687e19a2 100644
--- a/src/wrapped/generated/wrappedlibresolvundefs.h
+++ b/src/wrapped/generated/wrappedlibresolvundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibresolvUNDEFS_H_
 #define __wrappedlibresolvUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibrtdefs.h b/src/wrapped/generated/wrappedlibrtdefs.h
index cea2bfe7..c25c773f 100644
--- a/src/wrapped/generated/wrappedlibrtdefs.h
+++ b/src/wrapped/generated/wrappedlibrtdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibrtDEFS_H_
 #define __wrappedlibrtDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibrttypes.h b/src/wrapped/generated/wrappedlibrttypes.h
index 70e85f3f..83b18783 100644
--- a/src/wrapped/generated/wrappedlibrttypes.h
+++ b/src/wrapped/generated/wrappedlibrttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibrtTYPES_H_
 #define __wrappedlibrtTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibrtundefs.h b/src/wrapped/generated/wrappedlibrtundefs.h
index e46e8d03..f94f05b4 100644
--- a/src/wrapped/generated/wrappedlibrtundefs.h
+++ b/src/wrapped/generated/wrappedlibrtundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibrtUNDEFS_H_
 #define __wrappedlibrtUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibsmdefs.h b/src/wrapped/generated/wrappedlibsmdefs.h
index 81e62442..322be8ec 100644
--- a/src/wrapped/generated/wrappedlibsmdefs.h
+++ b/src/wrapped/generated/wrappedlibsmdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibsmDEFS_H_
 #define __wrappedlibsmDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibsmtypes.h b/src/wrapped/generated/wrappedlibsmtypes.h
index ce1ee208..ee4a9bc8 100644
--- a/src/wrapped/generated/wrappedlibsmtypes.h
+++ b/src/wrapped/generated/wrappedlibsmtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibsmTYPES_H_
 #define __wrappedlibsmTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibsmundefs.h b/src/wrapped/generated/wrappedlibsmundefs.h
index 9cb2ee2d..025aca8a 100644
--- a/src/wrapped/generated/wrappedlibsmundefs.h
+++ b/src/wrapped/generated/wrappedlibsmundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibsmUNDEFS_H_
 #define __wrappedlibsmUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibsndfiledefs.h b/src/wrapped/generated/wrappedlibsndfiledefs.h
index f2db08e0..c8422534 100644
--- a/src/wrapped/generated/wrappedlibsndfiledefs.h
+++ b/src/wrapped/generated/wrappedlibsndfiledefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibsndfileDEFS_H_
 #define __wrappedlibsndfileDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibsndfiletypes.h b/src/wrapped/generated/wrappedlibsndfiletypes.h
index bc64940f..5852d045 100644
--- a/src/wrapped/generated/wrappedlibsndfiletypes.h
+++ b/src/wrapped/generated/wrappedlibsndfiletypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibsndfileTYPES_H_
 #define __wrappedlibsndfileTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibsndfileundefs.h b/src/wrapped/generated/wrappedlibsndfileundefs.h
index 928d0b79..c2a0137c 100644
--- a/src/wrapped/generated/wrappedlibsndfileundefs.h
+++ b/src/wrapped/generated/wrappedlibsndfileundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibsndfileUNDEFS_H_
 #define __wrappedlibsndfileUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibssl3defs.h b/src/wrapped/generated/wrappedlibssl3defs.h
index 72d427bd..3b3988d5 100644
--- a/src/wrapped/generated/wrappedlibssl3defs.h
+++ b/src/wrapped/generated/wrappedlibssl3defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibssl3DEFS_H_
 #define __wrappedlibssl3DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibssl3types.h b/src/wrapped/generated/wrappedlibssl3types.h
index 531c8e66..217989d7 100644
--- a/src/wrapped/generated/wrappedlibssl3types.h
+++ b/src/wrapped/generated/wrappedlibssl3types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibssl3TYPES_H_
 #define __wrappedlibssl3TYPES_H_
@@ -25,6 +25,7 @@ typedef int32_t (*iFlpppp_t)(intptr_t, void*, void*, void*, void*);
 	GO(SSL_set_psk_client_callback, vFpp_t) \
 	GO(SSL_CTX_set_verify, vFpip_t) \
 	GO(SSL_set_verify, vFpip_t) \
+	GO(SSL_CTX_set_alpn_select_cb, vFppp_t) \
 	GO(SSL_CTX_set_cert_verify_callback, vFppp_t) \
 	GO(SSL_CTX_set_next_proto_select_cb, vFppp_t) \
 	GO(SSL_CTX_callback_ctrl, lFpip_t) \
diff --git a/src/wrapped/generated/wrappedlibssl3undefs.h b/src/wrapped/generated/wrappedlibssl3undefs.h
index e88be970..adc44bb4 100644
--- a/src/wrapped/generated/wrappedlibssl3undefs.h
+++ b/src/wrapped/generated/wrappedlibssl3undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibssl3UNDEFS_H_
 #define __wrappedlibssl3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibssldefs.h b/src/wrapped/generated/wrappedlibssldefs.h
index f9d00405..2f9824a2 100644
--- a/src/wrapped/generated/wrappedlibssldefs.h
+++ b/src/wrapped/generated/wrappedlibssldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibsslDEFS_H_
 #define __wrappedlibsslDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibssltypes.h b/src/wrapped/generated/wrappedlibssltypes.h
index 1d00a486..a2156a45 100644
--- a/src/wrapped/generated/wrappedlibssltypes.h
+++ b/src/wrapped/generated/wrappedlibssltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibsslTYPES_H_
 #define __wrappedlibsslTYPES_H_
@@ -20,9 +20,14 @@ typedef int32_t (*iFlpppp_t)(intptr_t, void*, void*, void*, void*);
 
 #define SUPER() ADDED_FUNCTIONS() \
 	GO(SSL_get_verify_callback, pFp_t) \
+	GO(SSL_CTX_sess_set_new_cb, vFpp_t) \
 	GO(SSL_CTX_set_client_cert_cb, vFpp_t) \
+	GO(SSL_CTX_set_cookie_generate_cb, vFpp_t) \
+	GO(SSL_CTX_set_cookie_verify_cb, vFpp_t) \
 	GO(SSL_CTX_set_default_passwd_cb, vFpp_t) \
 	GO(SSL_set_psk_client_callback, vFpp_t) \
+	GO(SSL_set_psk_server_callback, vFpp_t) \
+	GO(SSL_set_psk_use_session_callback, vFpp_t) \
 	GO(SSL_CTX_set_verify, vFpip_t) \
 	GO(SSL_set_verify, vFpip_t) \
 	GO(SSL_CTX_set_alpn_select_cb, vFppp_t) \
diff --git a/src/wrapped/generated/wrappedlibsslundefs.h b/src/wrapped/generated/wrappedlibsslundefs.h
index ad4376dc..d6347e09 100644
--- a/src/wrapped/generated/wrappedlibsslundefs.h
+++ b/src/wrapped/generated/wrappedlibsslundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibsslUNDEFS_H_
 #define __wrappedlibsslUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibtinfo6defs.h b/src/wrapped/generated/wrappedlibtinfo6defs.h
index 5105d93d..7e00c5b5 100644
--- a/src/wrapped/generated/wrappedlibtinfo6defs.h
+++ b/src/wrapped/generated/wrappedlibtinfo6defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibtinfo6DEFS_H_
 #define __wrappedlibtinfo6DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibtinfo6types.h b/src/wrapped/generated/wrappedlibtinfo6types.h
index ae9f88fc..febeada5 100644
--- a/src/wrapped/generated/wrappedlibtinfo6types.h
+++ b/src/wrapped/generated/wrappedlibtinfo6types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibtinfo6TYPES_H_
 #define __wrappedlibtinfo6TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibtinfo6undefs.h b/src/wrapped/generated/wrappedlibtinfo6undefs.h
index 7ee85b88..a4399bc2 100644
--- a/src/wrapped/generated/wrappedlibtinfo6undefs.h
+++ b/src/wrapped/generated/wrappedlibtinfo6undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibtinfo6UNDEFS_H_
 #define __wrappedlibtinfo6UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibtinfodefs.h b/src/wrapped/generated/wrappedlibtinfodefs.h
index ee872e53..02dc550a 100644
--- a/src/wrapped/generated/wrappedlibtinfodefs.h
+++ b/src/wrapped/generated/wrappedlibtinfodefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibtinfoDEFS_H_
 #define __wrappedlibtinfoDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibtinfotypes.h b/src/wrapped/generated/wrappedlibtinfotypes.h
index c843b3cc..24c38a8d 100644
--- a/src/wrapped/generated/wrappedlibtinfotypes.h
+++ b/src/wrapped/generated/wrappedlibtinfotypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibtinfoTYPES_H_
 #define __wrappedlibtinfoTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibtinfoundefs.h b/src/wrapped/generated/wrappedlibtinfoundefs.h
index fd31e5e6..b9f60700 100644
--- a/src/wrapped/generated/wrappedlibtinfoundefs.h
+++ b/src/wrapped/generated/wrappedlibtinfoundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibtinfoUNDEFS_H_
 #define __wrappedlibtinfoUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibusb1defs.h b/src/wrapped/generated/wrappedlibusb1defs.h
index 09b516e2..3f0a2689 100644
--- a/src/wrapped/generated/wrappedlibusb1defs.h
+++ b/src/wrapped/generated/wrappedlibusb1defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibusb1DEFS_H_
 #define __wrappedlibusb1DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibusb1types.h b/src/wrapped/generated/wrappedlibusb1types.h
index a39891a0..ebc1c608 100644
--- a/src/wrapped/generated/wrappedlibusb1types.h
+++ b/src/wrapped/generated/wrappedlibusb1types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibusb1TYPES_H_
 #define __wrappedlibusb1TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibusb1undefs.h b/src/wrapped/generated/wrappedlibusb1undefs.h
index 4c01ae55..963de404 100644
--- a/src/wrapped/generated/wrappedlibusb1undefs.h
+++ b/src/wrapped/generated/wrappedlibusb1undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibusb1UNDEFS_H_
 #define __wrappedlibusb1UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibuuiddefs.h b/src/wrapped/generated/wrappedlibuuiddefs.h
index 394e27b7..10960845 100644
--- a/src/wrapped/generated/wrappedlibuuiddefs.h
+++ b/src/wrapped/generated/wrappedlibuuiddefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibuuidDEFS_H_
 #define __wrappedlibuuidDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibuuidtypes.h b/src/wrapped/generated/wrappedlibuuidtypes.h
index 2b2ee7e4..981fad0b 100644
--- a/src/wrapped/generated/wrappedlibuuidtypes.h
+++ b/src/wrapped/generated/wrappedlibuuidtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibuuidTYPES_H_
 #define __wrappedlibuuidTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibuuidundefs.h b/src/wrapped/generated/wrappedlibuuidundefs.h
index e823fa7c..071dadf3 100644
--- a/src/wrapped/generated/wrappedlibuuidundefs.h
+++ b/src/wrapped/generated/wrappedlibuuidundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibuuidUNDEFS_H_
 #define __wrappedlibuuidUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvadefs.h b/src/wrapped/generated/wrappedlibvadefs.h
index 0805bd82..b6415094 100644
--- a/src/wrapped/generated/wrappedlibvadefs.h
+++ b/src/wrapped/generated/wrappedlibvadefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvaDEFS_H_
 #define __wrappedlibvaDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvadrmdefs.h b/src/wrapped/generated/wrappedlibvadrmdefs.h
index e600fafb..3bd233dd 100644
--- a/src/wrapped/generated/wrappedlibvadrmdefs.h
+++ b/src/wrapped/generated/wrappedlibvadrmdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvadrmDEFS_H_
 #define __wrappedlibvadrmDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvadrmtypes.h b/src/wrapped/generated/wrappedlibvadrmtypes.h
index b91734c1..1b3196db 100644
--- a/src/wrapped/generated/wrappedlibvadrmtypes.h
+++ b/src/wrapped/generated/wrappedlibvadrmtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvadrmTYPES_H_
 #define __wrappedlibvadrmTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibvadrmundefs.h b/src/wrapped/generated/wrappedlibvadrmundefs.h
index 6dec44ea..c1ddf019 100644
--- a/src/wrapped/generated/wrappedlibvadrmundefs.h
+++ b/src/wrapped/generated/wrappedlibvadrmundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvadrmUNDEFS_H_
 #define __wrappedlibvadrmUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvatypes.h b/src/wrapped/generated/wrappedlibvatypes.h
index ac5d152b..92f4d80e 100644
--- a/src/wrapped/generated/wrappedlibvatypes.h
+++ b/src/wrapped/generated/wrappedlibvatypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvaTYPES_H_
 #define __wrappedlibvaTYPES_H_
@@ -11,7 +11,10 @@
 #define ADDED_FUNCTIONS() 
 #endif
 
+typedef void* (*pFppp_t)(void*, void*, void*);
 
-#define SUPER() ADDED_FUNCTIONS()
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(vaSetErrorCallback, pFppp_t) \
+	GO(vaSetInfoCallback, pFppp_t)
 
 #endif // __wrappedlibvaTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibvaundefs.h b/src/wrapped/generated/wrappedlibvaundefs.h
index ac216431..7c10922f 100644
--- a/src/wrapped/generated/wrappedlibvaundefs.h
+++ b/src/wrapped/generated/wrappedlibvaundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvaUNDEFS_H_
 #define __wrappedlibvaUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvawaylanddefs.h b/src/wrapped/generated/wrappedlibvawaylanddefs.h
index a931a113..1972c35e 100644
--- a/src/wrapped/generated/wrappedlibvawaylanddefs.h
+++ b/src/wrapped/generated/wrappedlibvawaylanddefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvawaylandDEFS_H_
 #define __wrappedlibvawaylandDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvawaylandtypes.h b/src/wrapped/generated/wrappedlibvawaylandtypes.h
index 8dff57e2..b828c4e6 100644
--- a/src/wrapped/generated/wrappedlibvawaylandtypes.h
+++ b/src/wrapped/generated/wrappedlibvawaylandtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvawaylandTYPES_H_
 #define __wrappedlibvawaylandTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibvawaylandundefs.h b/src/wrapped/generated/wrappedlibvawaylandundefs.h
index dc888e30..70101044 100644
--- a/src/wrapped/generated/wrappedlibvawaylandundefs.h
+++ b/src/wrapped/generated/wrappedlibvawaylandundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvawaylandUNDEFS_H_
 #define __wrappedlibvawaylandUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvax11defs.h b/src/wrapped/generated/wrappedlibvax11defs.h
index 4219bde4..cbcb7b8e 100644
--- a/src/wrapped/generated/wrappedlibvax11defs.h
+++ b/src/wrapped/generated/wrappedlibvax11defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvax11DEFS_H_
 #define __wrappedlibvax11DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvax11types.h b/src/wrapped/generated/wrappedlibvax11types.h
index e4e8096b..c93dc22a 100644
--- a/src/wrapped/generated/wrappedlibvax11types.h
+++ b/src/wrapped/generated/wrappedlibvax11types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvax11TYPES_H_
 #define __wrappedlibvax11TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibvax11undefs.h b/src/wrapped/generated/wrappedlibvax11undefs.h
index c91a350e..c893d848 100644
--- a/src/wrapped/generated/wrappedlibvax11undefs.h
+++ b/src/wrapped/generated/wrappedlibvax11undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvax11UNDEFS_H_
 #define __wrappedlibvax11UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvdpaudefs.h b/src/wrapped/generated/wrappedlibvdpaudefs.h
index 661912dc..51e4af54 100644
--- a/src/wrapped/generated/wrappedlibvdpaudefs.h
+++ b/src/wrapped/generated/wrappedlibvdpaudefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvdpauDEFS_H_
 #define __wrappedlibvdpauDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvdpautypes.h b/src/wrapped/generated/wrappedlibvdpautypes.h
index c2569c3f..92879a6e 100644
--- a/src/wrapped/generated/wrappedlibvdpautypes.h
+++ b/src/wrapped/generated/wrappedlibvdpautypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvdpauTYPES_H_
 #define __wrappedlibvdpauTYPES_H_
@@ -11,7 +11,9 @@
 #define ADDED_FUNCTIONS() 
 #endif
 
+typedef int32_t (*iFpipp_t)(void*, int32_t, void*, void*);
 
-#define SUPER() ADDED_FUNCTIONS()
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(vdp_device_create_x11, iFpipp_t)
 
 #endif // __wrappedlibvdpauTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibvdpauundefs.h b/src/wrapped/generated/wrappedlibvdpauundefs.h
index f0523fdb..00e4f50e 100644
--- a/src/wrapped/generated/wrappedlibvdpauundefs.h
+++ b/src/wrapped/generated/wrappedlibvdpauundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvdpauUNDEFS_H_
 #define __wrappedlibvdpauUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvorbisdefs.h b/src/wrapped/generated/wrappedlibvorbisdefs.h
index 8ced83c8..bce375bd 100644
--- a/src/wrapped/generated/wrappedlibvorbisdefs.h
+++ b/src/wrapped/generated/wrappedlibvorbisdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvorbisDEFS_H_
 #define __wrappedlibvorbisDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibvorbistypes.h b/src/wrapped/generated/wrappedlibvorbistypes.h
index 0e0c11c6..b5c9d27c 100644
--- a/src/wrapped/generated/wrappedlibvorbistypes.h
+++ b/src/wrapped/generated/wrappedlibvorbistypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvorbisTYPES_H_
 #define __wrappedlibvorbisTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibvorbisundefs.h b/src/wrapped/generated/wrappedlibvorbisundefs.h
index 7e6b7f11..60164467 100644
--- a/src/wrapped/generated/wrappedlibvorbisundefs.h
+++ b/src/wrapped/generated/wrappedlibvorbisundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibvorbisUNDEFS_H_
 #define __wrappedlibvorbisUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibx11defs.h b/src/wrapped/generated/wrappedlibx11defs.h
index 3fcf1bb2..e02e9dab 100644
--- a/src/wrapped/generated/wrappedlibx11defs.h
+++ b/src/wrapped/generated/wrappedlibx11defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibx11DEFS_H_
 #define __wrappedlibx11DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibx11types.h b/src/wrapped/generated/wrappedlibx11types.h
index 0643bca1..ef5ac6ed 100644
--- a/src/wrapped/generated/wrappedlibx11types.h
+++ b/src/wrapped/generated/wrappedlibx11types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibx11TYPES_H_
 #define __wrappedlibx11TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibx11undefs.h b/src/wrapped/generated/wrappedlibx11undefs.h
index 5336f8cc..5e4e1ba1 100644
--- a/src/wrapped/generated/wrappedlibx11undefs.h
+++ b/src/wrapped/generated/wrappedlibx11undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibx11UNDEFS_H_
 #define __wrappedlibx11UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibx11xcbdefs.h b/src/wrapped/generated/wrappedlibx11xcbdefs.h
index 392db82e..b8cc6c1d 100644
--- a/src/wrapped/generated/wrappedlibx11xcbdefs.h
+++ b/src/wrapped/generated/wrappedlibx11xcbdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibx11xcbDEFS_H_
 #define __wrappedlibx11xcbDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibx11xcbtypes.h b/src/wrapped/generated/wrappedlibx11xcbtypes.h
index f526437c..fab861bf 100644
--- a/src/wrapped/generated/wrappedlibx11xcbtypes.h
+++ b/src/wrapped/generated/wrappedlibx11xcbtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibx11xcbTYPES_H_
 #define __wrappedlibx11xcbTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibx11xcbundefs.h b/src/wrapped/generated/wrappedlibx11xcbundefs.h
index 378628e7..99e9d215 100644
--- a/src/wrapped/generated/wrappedlibx11xcbundefs.h
+++ b/src/wrapped/generated/wrappedlibx11xcbundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibx11xcbUNDEFS_H_
 #define __wrappedlibx11xcbUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxaudefs.h b/src/wrapped/generated/wrappedlibxaudefs.h
index da2e8b55..4baa6969 100644
--- a/src/wrapped/generated/wrappedlibxaudefs.h
+++ b/src/wrapped/generated/wrappedlibxaudefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxauDEFS_H_
 #define __wrappedlibxauDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxautypes.h b/src/wrapped/generated/wrappedlibxautypes.h
index 6743b0d7..eeda0bd6 100644
--- a/src/wrapped/generated/wrappedlibxautypes.h
+++ b/src/wrapped/generated/wrappedlibxautypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxauTYPES_H_
 #define __wrappedlibxauTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxauundefs.h b/src/wrapped/generated/wrappedlibxauundefs.h
index 6726547e..52ade216 100644
--- a/src/wrapped/generated/wrappedlibxauundefs.h
+++ b/src/wrapped/generated/wrappedlibxauundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxauUNDEFS_H_
 #define __wrappedlibxauUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdefs.h b/src/wrapped/generated/wrappedlibxcbdefs.h
index 5a771e28..1166a4a0 100644
--- a/src/wrapped/generated/wrappedlibxcbdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbDEFS_H_
 #define __wrappedlibxcbDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri2defs.h b/src/wrapped/generated/wrappedlibxcbdri2defs.h
index d694c86e..fbb9b391 100644
--- a/src/wrapped/generated/wrappedlibxcbdri2defs.h
+++ b/src/wrapped/generated/wrappedlibxcbdri2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbdri2DEFS_H_
 #define __wrappedlibxcbdri2DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri2types.h b/src/wrapped/generated/wrappedlibxcbdri2types.h
index 724afcb0..2ce496c1 100644
--- a/src/wrapped/generated/wrappedlibxcbdri2types.h
+++ b/src/wrapped/generated/wrappedlibxcbdri2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbdri2TYPES_H_
 #define __wrappedlibxcbdri2TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri2undefs.h b/src/wrapped/generated/wrappedlibxcbdri2undefs.h
index 9a5354db..316085f4 100644
--- a/src/wrapped/generated/wrappedlibxcbdri2undefs.h
+++ b/src/wrapped/generated/wrappedlibxcbdri2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbdri2UNDEFS_H_
 #define __wrappedlibxcbdri2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri3defs.h b/src/wrapped/generated/wrappedlibxcbdri3defs.h
index 2adbb053..aef53987 100644
--- a/src/wrapped/generated/wrappedlibxcbdri3defs.h
+++ b/src/wrapped/generated/wrappedlibxcbdri3defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbdri3DEFS_H_
 #define __wrappedlibxcbdri3DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri3types.h b/src/wrapped/generated/wrappedlibxcbdri3types.h
index 8a98ca39..f86f7425 100644
--- a/src/wrapped/generated/wrappedlibxcbdri3types.h
+++ b/src/wrapped/generated/wrappedlibxcbdri3types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbdri3TYPES_H_
 #define __wrappedlibxcbdri3TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbdri3undefs.h b/src/wrapped/generated/wrappedlibxcbdri3undefs.h
index 1e53f0dc..27fa8333 100644
--- a/src/wrapped/generated/wrappedlibxcbdri3undefs.h
+++ b/src/wrapped/generated/wrappedlibxcbdri3undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbdri3UNDEFS_H_
 #define __wrappedlibxcbdri3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbglxdefs.h b/src/wrapped/generated/wrappedlibxcbglxdefs.h
index 45b43a0e..7069cfa6 100644
--- a/src/wrapped/generated/wrappedlibxcbglxdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbglxdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbglxDEFS_H_
 #define __wrappedlibxcbglxDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbglxtypes.h b/src/wrapped/generated/wrappedlibxcbglxtypes.h
index a08179d2..a7f2d4a3 100644
--- a/src/wrapped/generated/wrappedlibxcbglxtypes.h
+++ b/src/wrapped/generated/wrappedlibxcbglxtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbglxTYPES_H_
 #define __wrappedlibxcbglxTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbglxundefs.h b/src/wrapped/generated/wrappedlibxcbglxundefs.h
index 160ac2aa..3958f4c3 100644
--- a/src/wrapped/generated/wrappedlibxcbglxundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbglxundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbglxUNDEFS_H_
 #define __wrappedlibxcbglxUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbicccmdefs.h b/src/wrapped/generated/wrappedlibxcbicccmdefs.h
index 0844378b..9c224585 100644
--- a/src/wrapped/generated/wrappedlibxcbicccmdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbicccmdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbicccmDEFS_H_
 #define __wrappedlibxcbicccmDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbicccmtypes.h b/src/wrapped/generated/wrappedlibxcbicccmtypes.h
index 690d2eb2..cef79fd0 100644
--- a/src/wrapped/generated/wrappedlibxcbicccmtypes.h
+++ b/src/wrapped/generated/wrappedlibxcbicccmtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbicccmTYPES_H_
 #define __wrappedlibxcbicccmTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbicccmundefs.h b/src/wrapped/generated/wrappedlibxcbicccmundefs.h
index e2d168b7..f7a51894 100644
--- a/src/wrapped/generated/wrappedlibxcbicccmundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbicccmundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbicccmUNDEFS_H_
 #define __wrappedlibxcbicccmUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbimagedefs.h b/src/wrapped/generated/wrappedlibxcbimagedefs.h
index 12f14b6d..2657164c 100644
--- a/src/wrapped/generated/wrappedlibxcbimagedefs.h
+++ b/src/wrapped/generated/wrappedlibxcbimagedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbimageDEFS_H_
 #define __wrappedlibxcbimageDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbimagetypes.h b/src/wrapped/generated/wrappedlibxcbimagetypes.h
index b75288f5..08b684bb 100644
--- a/src/wrapped/generated/wrappedlibxcbimagetypes.h
+++ b/src/wrapped/generated/wrappedlibxcbimagetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbimageTYPES_H_
 #define __wrappedlibxcbimageTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbimageundefs.h b/src/wrapped/generated/wrappedlibxcbimageundefs.h
index 3f712d6e..1f0f85c1 100644
--- a/src/wrapped/generated/wrappedlibxcbimageundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbimageundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbimageUNDEFS_H_
 #define __wrappedlibxcbimageUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbkeysymsdefs.h b/src/wrapped/generated/wrappedlibxcbkeysymsdefs.h
index 5e62ba8c..288ba494 100644
--- a/src/wrapped/generated/wrappedlibxcbkeysymsdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbkeysymsdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbkeysymsDEFS_H_
 #define __wrappedlibxcbkeysymsDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbkeysymstypes.h b/src/wrapped/generated/wrappedlibxcbkeysymstypes.h
index 805be0fb..09346c21 100644
--- a/src/wrapped/generated/wrappedlibxcbkeysymstypes.h
+++ b/src/wrapped/generated/wrappedlibxcbkeysymstypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbkeysymsTYPES_H_
 #define __wrappedlibxcbkeysymsTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbkeysymsundefs.h b/src/wrapped/generated/wrappedlibxcbkeysymsundefs.h
index f0743229..e5023d19 100644
--- a/src/wrapped/generated/wrappedlibxcbkeysymsundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbkeysymsundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbkeysymsUNDEFS_H_
 #define __wrappedlibxcbkeysymsUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbpresentdefs.h b/src/wrapped/generated/wrappedlibxcbpresentdefs.h
index 67e569dc..b8016aaa 100644
--- a/src/wrapped/generated/wrappedlibxcbpresentdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbpresentdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbpresentDEFS_H_
 #define __wrappedlibxcbpresentDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbpresenttypes.h b/src/wrapped/generated/wrappedlibxcbpresenttypes.h
index b62ad12b..244211ef 100644
--- a/src/wrapped/generated/wrappedlibxcbpresenttypes.h
+++ b/src/wrapped/generated/wrappedlibxcbpresenttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbpresentTYPES_H_
 #define __wrappedlibxcbpresentTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbpresentundefs.h b/src/wrapped/generated/wrappedlibxcbpresentundefs.h
index cd2706de..65dbd349 100644
--- a/src/wrapped/generated/wrappedlibxcbpresentundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbpresentundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbpresentUNDEFS_H_
 #define __wrappedlibxcbpresentUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbrandrdefs.h b/src/wrapped/generated/wrappedlibxcbrandrdefs.h
index e30c812e..bcafe585 100644
--- a/src/wrapped/generated/wrappedlibxcbrandrdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbrandrdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbrandrDEFS_H_
 #define __wrappedlibxcbrandrDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbrandrtypes.h b/src/wrapped/generated/wrappedlibxcbrandrtypes.h
index 2bbe6e63..e0f9ac4a 100644
--- a/src/wrapped/generated/wrappedlibxcbrandrtypes.h
+++ b/src/wrapped/generated/wrappedlibxcbrandrtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbrandrTYPES_H_
 #define __wrappedlibxcbrandrTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbrandrundefs.h b/src/wrapped/generated/wrappedlibxcbrandrundefs.h
index e0d7e0c4..48ded6a3 100644
--- a/src/wrapped/generated/wrappedlibxcbrandrundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbrandrundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbrandrUNDEFS_H_
 #define __wrappedlibxcbrandrUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbrenderdefs.h b/src/wrapped/generated/wrappedlibxcbrenderdefs.h
index a2387e12..472ea27c 100644
--- a/src/wrapped/generated/wrappedlibxcbrenderdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbrenderdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbrenderDEFS_H_
 #define __wrappedlibxcbrenderDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbrendertypes.h b/src/wrapped/generated/wrappedlibxcbrendertypes.h
index b0fcf777..c2a59540 100644
--- a/src/wrapped/generated/wrappedlibxcbrendertypes.h
+++ b/src/wrapped/generated/wrappedlibxcbrendertypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbrenderTYPES_H_
 #define __wrappedlibxcbrenderTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbrenderundefs.h b/src/wrapped/generated/wrappedlibxcbrenderundefs.h
index 93e92008..7e509d5a 100644
--- a/src/wrapped/generated/wrappedlibxcbrenderundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbrenderundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbrenderUNDEFS_H_
 #define __wrappedlibxcbrenderUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbrenderutildefs.h b/src/wrapped/generated/wrappedlibxcbrenderutildefs.h
index 2238bacc..a566a6ca 100644
--- a/src/wrapped/generated/wrappedlibxcbrenderutildefs.h
+++ b/src/wrapped/generated/wrappedlibxcbrenderutildefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbrenderutilDEFS_H_
 #define __wrappedlibxcbrenderutilDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbrenderutiltypes.h b/src/wrapped/generated/wrappedlibxcbrenderutiltypes.h
index df31844d..4d03fd08 100644
--- a/src/wrapped/generated/wrappedlibxcbrenderutiltypes.h
+++ b/src/wrapped/generated/wrappedlibxcbrenderutiltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbrenderutilTYPES_H_
 #define __wrappedlibxcbrenderutilTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbrenderutilundefs.h b/src/wrapped/generated/wrappedlibxcbrenderutilundefs.h
index c52065ff..3ad9e996 100644
--- a/src/wrapped/generated/wrappedlibxcbrenderutilundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbrenderutilundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbrenderutilUNDEFS_H_
 #define __wrappedlibxcbrenderutilUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbshapedefs.h b/src/wrapped/generated/wrappedlibxcbshapedefs.h
index 7dc9f1b4..1eb2e31b 100644
--- a/src/wrapped/generated/wrappedlibxcbshapedefs.h
+++ b/src/wrapped/generated/wrappedlibxcbshapedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbshapeDEFS_H_
 #define __wrappedlibxcbshapeDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbshapetypes.h b/src/wrapped/generated/wrappedlibxcbshapetypes.h
index ab37cd3d..74e98085 100644
--- a/src/wrapped/generated/wrappedlibxcbshapetypes.h
+++ b/src/wrapped/generated/wrappedlibxcbshapetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbshapeTYPES_H_
 #define __wrappedlibxcbshapeTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbshapeundefs.h b/src/wrapped/generated/wrappedlibxcbshapeundefs.h
index fe2041e7..a9149fbe 100644
--- a/src/wrapped/generated/wrappedlibxcbshapeundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbshapeundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbshapeUNDEFS_H_
 #define __wrappedlibxcbshapeUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbshmdefs.h b/src/wrapped/generated/wrappedlibxcbshmdefs.h
index f1122251..bf86d0ff 100644
--- a/src/wrapped/generated/wrappedlibxcbshmdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbshmdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbshmDEFS_H_
 #define __wrappedlibxcbshmDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbshmtypes.h b/src/wrapped/generated/wrappedlibxcbshmtypes.h
index 2be03706..fd13036e 100644
--- a/src/wrapped/generated/wrappedlibxcbshmtypes.h
+++ b/src/wrapped/generated/wrappedlibxcbshmtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbshmTYPES_H_
 #define __wrappedlibxcbshmTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbshmundefs.h b/src/wrapped/generated/wrappedlibxcbshmundefs.h
index af41002f..7d18fb53 100644
--- a/src/wrapped/generated/wrappedlibxcbshmundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbshmundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbshmUNDEFS_H_
 #define __wrappedlibxcbshmUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbsyncdefs.h b/src/wrapped/generated/wrappedlibxcbsyncdefs.h
index 64589a28..87b2abe4 100644
--- a/src/wrapped/generated/wrappedlibxcbsyncdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbsyncdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbsyncDEFS_H_
 #define __wrappedlibxcbsyncDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbsynctypes.h b/src/wrapped/generated/wrappedlibxcbsynctypes.h
index 2d4af018..0e24589b 100644
--- a/src/wrapped/generated/wrappedlibxcbsynctypes.h
+++ b/src/wrapped/generated/wrappedlibxcbsynctypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbsyncTYPES_H_
 #define __wrappedlibxcbsyncTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbsyncundefs.h b/src/wrapped/generated/wrappedlibxcbsyncundefs.h
index d1062ff2..4240384e 100644
--- a/src/wrapped/generated/wrappedlibxcbsyncundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbsyncundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbsyncUNDEFS_H_
 #define __wrappedlibxcbsyncUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbtypes.h b/src/wrapped/generated/wrappedlibxcbtypes.h
index 1aabe6a5..4829c514 100644
--- a/src/wrapped/generated/wrappedlibxcbtypes.h
+++ b/src/wrapped/generated/wrappedlibxcbtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbTYPES_H_
 #define __wrappedlibxcbTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbundefs.h b/src/wrapped/generated/wrappedlibxcbundefs.h
index 53a046d7..29283a22 100644
--- a/src/wrapped/generated/wrappedlibxcbundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbUNDEFS_H_
 #define __wrappedlibxcbUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbutildefs.h b/src/wrapped/generated/wrappedlibxcbutildefs.h
index cca4d423..20fcb0df 100644
--- a/src/wrapped/generated/wrappedlibxcbutildefs.h
+++ b/src/wrapped/generated/wrappedlibxcbutildefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbutilDEFS_H_
 #define __wrappedlibxcbutilDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbutiltypes.h b/src/wrapped/generated/wrappedlibxcbutiltypes.h
index 277f3aff..4f0a54c3 100644
--- a/src/wrapped/generated/wrappedlibxcbutiltypes.h
+++ b/src/wrapped/generated/wrappedlibxcbutiltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbutilTYPES_H_
 #define __wrappedlibxcbutilTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbutilundefs.h b/src/wrapped/generated/wrappedlibxcbutilundefs.h
index 7a4fbc24..20091328 100644
--- a/src/wrapped/generated/wrappedlibxcbutilundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbutilundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbutilUNDEFS_H_
 #define __wrappedlibxcbutilUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxfixesdefs.h b/src/wrapped/generated/wrappedlibxcbxfixesdefs.h
index ded8dae5..e2fce411 100644
--- a/src/wrapped/generated/wrappedlibxcbxfixesdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbxfixesdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxfixesDEFS_H_
 #define __wrappedlibxcbxfixesDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxfixestypes.h b/src/wrapped/generated/wrappedlibxcbxfixestypes.h
index 47db47e3..2b4e11a4 100644
--- a/src/wrapped/generated/wrappedlibxcbxfixestypes.h
+++ b/src/wrapped/generated/wrappedlibxcbxfixestypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxfixesTYPES_H_
 #define __wrappedlibxcbxfixesTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxfixesundefs.h b/src/wrapped/generated/wrappedlibxcbxfixesundefs.h
index 5579cf86..75cffbab 100644
--- a/src/wrapped/generated/wrappedlibxcbxfixesundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbxfixesundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxfixesUNDEFS_H_
 #define __wrappedlibxcbxfixesUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxineramadefs.h b/src/wrapped/generated/wrappedlibxcbxineramadefs.h
index 632b2d87..336055b0 100644
--- a/src/wrapped/generated/wrappedlibxcbxineramadefs.h
+++ b/src/wrapped/generated/wrappedlibxcbxineramadefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxineramaDEFS_H_
 #define __wrappedlibxcbxineramaDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxineramatypes.h b/src/wrapped/generated/wrappedlibxcbxineramatypes.h
index 37d4a9af..53f3fff8 100644
--- a/src/wrapped/generated/wrappedlibxcbxineramatypes.h
+++ b/src/wrapped/generated/wrappedlibxcbxineramatypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxineramaTYPES_H_
 #define __wrappedlibxcbxineramaTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxineramaundefs.h b/src/wrapped/generated/wrappedlibxcbxineramaundefs.h
index 2efadb92..7af1d107 100644
--- a/src/wrapped/generated/wrappedlibxcbxineramaundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbxineramaundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxineramaUNDEFS_H_
 #define __wrappedlibxcbxineramaUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxkbdefs.h b/src/wrapped/generated/wrappedlibxcbxkbdefs.h
index 22871e06..6abac59e 100644
--- a/src/wrapped/generated/wrappedlibxcbxkbdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbxkbdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxkbDEFS_H_
 #define __wrappedlibxcbxkbDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxkbtypes.h b/src/wrapped/generated/wrappedlibxcbxkbtypes.h
index 291af715..add3a4d5 100644
--- a/src/wrapped/generated/wrappedlibxcbxkbtypes.h
+++ b/src/wrapped/generated/wrappedlibxcbxkbtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxkbTYPES_H_
 #define __wrappedlibxcbxkbTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxkbundefs.h b/src/wrapped/generated/wrappedlibxcbxkbundefs.h
index c73939cc..7b3203b3 100644
--- a/src/wrapped/generated/wrappedlibxcbxkbundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbxkbundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxkbUNDEFS_H_
 #define __wrappedlibxcbxkbUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxtestdefs.h b/src/wrapped/generated/wrappedlibxcbxtestdefs.h
index ae14b062..3d89e3e4 100644
--- a/src/wrapped/generated/wrappedlibxcbxtestdefs.h
+++ b/src/wrapped/generated/wrappedlibxcbxtestdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxtestDEFS_H_
 #define __wrappedlibxcbxtestDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxtesttypes.h b/src/wrapped/generated/wrappedlibxcbxtesttypes.h
index 5a6af7b9..b7a4c275 100644
--- a/src/wrapped/generated/wrappedlibxcbxtesttypes.h
+++ b/src/wrapped/generated/wrappedlibxcbxtesttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxtestTYPES_H_
 #define __wrappedlibxcbxtestTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcbxtestundefs.h b/src/wrapped/generated/wrappedlibxcbxtestundefs.h
index c44f1020..a87259b3 100644
--- a/src/wrapped/generated/wrappedlibxcbxtestundefs.h
+++ b/src/wrapped/generated/wrappedlibxcbxtestundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcbxtestUNDEFS_H_
 #define __wrappedlibxcbxtestUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcompositedefs.h b/src/wrapped/generated/wrappedlibxcompositedefs.h
index 6b579631..7632fa38 100644
--- a/src/wrapped/generated/wrappedlibxcompositedefs.h
+++ b/src/wrapped/generated/wrappedlibxcompositedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcompositeDEFS_H_
 #define __wrappedlibxcompositeDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcompositetypes.h b/src/wrapped/generated/wrappedlibxcompositetypes.h
index 4f5a1a0a..abbb179c 100644
--- a/src/wrapped/generated/wrappedlibxcompositetypes.h
+++ b/src/wrapped/generated/wrappedlibxcompositetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcompositeTYPES_H_
 #define __wrappedlibxcompositeTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcompositeundefs.h b/src/wrapped/generated/wrappedlibxcompositeundefs.h
index 8ea1f98f..747336df 100644
--- a/src/wrapped/generated/wrappedlibxcompositeundefs.h
+++ b/src/wrapped/generated/wrappedlibxcompositeundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcompositeUNDEFS_H_
 #define __wrappedlibxcompositeUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcursordefs.h b/src/wrapped/generated/wrappedlibxcursordefs.h
index 7b4352ed..b8451886 100644
--- a/src/wrapped/generated/wrappedlibxcursordefs.h
+++ b/src/wrapped/generated/wrappedlibxcursordefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcursorDEFS_H_
 #define __wrappedlibxcursorDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxcursortypes.h b/src/wrapped/generated/wrappedlibxcursortypes.h
index 5251a828..d08f0e09 100644
--- a/src/wrapped/generated/wrappedlibxcursortypes.h
+++ b/src/wrapped/generated/wrappedlibxcursortypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcursorTYPES_H_
 #define __wrappedlibxcursorTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxcursorundefs.h b/src/wrapped/generated/wrappedlibxcursorundefs.h
index 2c59d589..625083c0 100644
--- a/src/wrapped/generated/wrappedlibxcursorundefs.h
+++ b/src/wrapped/generated/wrappedlibxcursorundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxcursorUNDEFS_H_
 #define __wrappedlibxcursorUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxdamagedefs.h b/src/wrapped/generated/wrappedlibxdamagedefs.h
index d98b818b..dcd913e5 100644
--- a/src/wrapped/generated/wrappedlibxdamagedefs.h
+++ b/src/wrapped/generated/wrappedlibxdamagedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxdamageDEFS_H_
 #define __wrappedlibxdamageDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxdamagetypes.h b/src/wrapped/generated/wrappedlibxdamagetypes.h
index f94073e8..4534ac7f 100644
--- a/src/wrapped/generated/wrappedlibxdamagetypes.h
+++ b/src/wrapped/generated/wrappedlibxdamagetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxdamageTYPES_H_
 #define __wrappedlibxdamageTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxdamageundefs.h b/src/wrapped/generated/wrappedlibxdamageundefs.h
index 5082820a..6e9c5180 100644
--- a/src/wrapped/generated/wrappedlibxdamageundefs.h
+++ b/src/wrapped/generated/wrappedlibxdamageundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxdamageUNDEFS_H_
 #define __wrappedlibxdamageUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxdmcpdefs.h b/src/wrapped/generated/wrappedlibxdmcpdefs.h
index 768ea5a9..1a38235b 100644
--- a/src/wrapped/generated/wrappedlibxdmcpdefs.h
+++ b/src/wrapped/generated/wrappedlibxdmcpdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxdmcpDEFS_H_
 #define __wrappedlibxdmcpDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxdmcptypes.h b/src/wrapped/generated/wrappedlibxdmcptypes.h
index dc696e8d..42240da2 100644
--- a/src/wrapped/generated/wrappedlibxdmcptypes.h
+++ b/src/wrapped/generated/wrappedlibxdmcptypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxdmcpTYPES_H_
 #define __wrappedlibxdmcpTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxdmcpundefs.h b/src/wrapped/generated/wrappedlibxdmcpundefs.h
index 5eac771d..a02aa8fb 100644
--- a/src/wrapped/generated/wrappedlibxdmcpundefs.h
+++ b/src/wrapped/generated/wrappedlibxdmcpundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxdmcpUNDEFS_H_
 #define __wrappedlibxdmcpUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxextdefs.h b/src/wrapped/generated/wrappedlibxextdefs.h
index 641bab95..fa720de1 100644
--- a/src/wrapped/generated/wrappedlibxextdefs.h
+++ b/src/wrapped/generated/wrappedlibxextdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxextDEFS_H_
 #define __wrappedlibxextDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxexttypes.h b/src/wrapped/generated/wrappedlibxexttypes.h
index bad0994c..f0850bc3 100644
--- a/src/wrapped/generated/wrappedlibxexttypes.h
+++ b/src/wrapped/generated/wrappedlibxexttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxextTYPES_H_
 #define __wrappedlibxextTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxextundefs.h b/src/wrapped/generated/wrappedlibxextundefs.h
index ae79faf9..450c54a4 100644
--- a/src/wrapped/generated/wrappedlibxextundefs.h
+++ b/src/wrapped/generated/wrappedlibxextundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxextUNDEFS_H_
 #define __wrappedlibxextUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxfixesdefs.h b/src/wrapped/generated/wrappedlibxfixesdefs.h
index 717878b4..dc2e7385 100644
--- a/src/wrapped/generated/wrappedlibxfixesdefs.h
+++ b/src/wrapped/generated/wrappedlibxfixesdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxfixesDEFS_H_
 #define __wrappedlibxfixesDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxfixestypes.h b/src/wrapped/generated/wrappedlibxfixestypes.h
index 03788268..3b7d7bd1 100644
--- a/src/wrapped/generated/wrappedlibxfixestypes.h
+++ b/src/wrapped/generated/wrappedlibxfixestypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxfixesTYPES_H_
 #define __wrappedlibxfixesTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxfixesundefs.h b/src/wrapped/generated/wrappedlibxfixesundefs.h
index 96fda763..4b337f45 100644
--- a/src/wrapped/generated/wrappedlibxfixesundefs.h
+++ b/src/wrapped/generated/wrappedlibxfixesundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxfixesUNDEFS_H_
 #define __wrappedlibxfixesUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxftdefs.h b/src/wrapped/generated/wrappedlibxftdefs.h
index 01e1b097..4d502436 100644
--- a/src/wrapped/generated/wrappedlibxftdefs.h
+++ b/src/wrapped/generated/wrappedlibxftdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxftDEFS_H_
 #define __wrappedlibxftDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxfttypes.h b/src/wrapped/generated/wrappedlibxfttypes.h
index 5faf166f..02257e5a 100644
--- a/src/wrapped/generated/wrappedlibxfttypes.h
+++ b/src/wrapped/generated/wrappedlibxfttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxftTYPES_H_
 #define __wrappedlibxftTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxftundefs.h b/src/wrapped/generated/wrappedlibxftundefs.h
index 477fa524..9dcf4085 100644
--- a/src/wrapped/generated/wrappedlibxftundefs.h
+++ b/src/wrapped/generated/wrappedlibxftundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxftUNDEFS_H_
 #define __wrappedlibxftUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxidefs.h b/src/wrapped/generated/wrappedlibxidefs.h
index 34e2f5a3..44187512 100644
--- a/src/wrapped/generated/wrappedlibxidefs.h
+++ b/src/wrapped/generated/wrappedlibxidefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxiDEFS_H_
 #define __wrappedlibxiDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxitypes.h b/src/wrapped/generated/wrappedlibxitypes.h
index 07f59aa6..49c66e04 100644
--- a/src/wrapped/generated/wrappedlibxitypes.h
+++ b/src/wrapped/generated/wrappedlibxitypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxiTYPES_H_
 #define __wrappedlibxiTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxiundefs.h b/src/wrapped/generated/wrappedlibxiundefs.h
index 32eb913c..8e333992 100644
--- a/src/wrapped/generated/wrappedlibxiundefs.h
+++ b/src/wrapped/generated/wrappedlibxiundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxiUNDEFS_H_
 #define __wrappedlibxiUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxmudefs.h b/src/wrapped/generated/wrappedlibxmudefs.h
index 1c298691..bf45cf4b 100644
--- a/src/wrapped/generated/wrappedlibxmudefs.h
+++ b/src/wrapped/generated/wrappedlibxmudefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxmuDEFS_H_
 #define __wrappedlibxmuDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxmutypes.h b/src/wrapped/generated/wrappedlibxmutypes.h
index f7ce1640..bd88c9c2 100644
--- a/src/wrapped/generated/wrappedlibxmutypes.h
+++ b/src/wrapped/generated/wrappedlibxmutypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxmuTYPES_H_
 #define __wrappedlibxmuTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxmuundefs.h b/src/wrapped/generated/wrappedlibxmuundefs.h
index 56203daf..f4225ef7 100644
--- a/src/wrapped/generated/wrappedlibxmuundefs.h
+++ b/src/wrapped/generated/wrappedlibxmuundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxmuUNDEFS_H_
 #define __wrappedlibxmuUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxpmdefs.h b/src/wrapped/generated/wrappedlibxpmdefs.h
index 757bd367..52db306b 100644
--- a/src/wrapped/generated/wrappedlibxpmdefs.h
+++ b/src/wrapped/generated/wrappedlibxpmdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxpmDEFS_H_
 #define __wrappedlibxpmDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxpmtypes.h b/src/wrapped/generated/wrappedlibxpmtypes.h
index 58dd946a..ce89da1e 100644
--- a/src/wrapped/generated/wrappedlibxpmtypes.h
+++ b/src/wrapped/generated/wrappedlibxpmtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxpmTYPES_H_
 #define __wrappedlibxpmTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxpmundefs.h b/src/wrapped/generated/wrappedlibxpmundefs.h
index 2a0ca106..125dc1b3 100644
--- a/src/wrapped/generated/wrappedlibxpmundefs.h
+++ b/src/wrapped/generated/wrappedlibxpmundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxpmUNDEFS_H_
 #define __wrappedlibxpmUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxpresentdefs.h b/src/wrapped/generated/wrappedlibxpresentdefs.h
index 2fddbffe..7e3263d6 100644
--- a/src/wrapped/generated/wrappedlibxpresentdefs.h
+++ b/src/wrapped/generated/wrappedlibxpresentdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxpresentDEFS_H_
 #define __wrappedlibxpresentDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxpresenttypes.h b/src/wrapped/generated/wrappedlibxpresenttypes.h
index a4ac15cd..02ffcd5c 100644
--- a/src/wrapped/generated/wrappedlibxpresenttypes.h
+++ b/src/wrapped/generated/wrappedlibxpresenttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxpresentTYPES_H_
 #define __wrappedlibxpresentTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxpresentundefs.h b/src/wrapped/generated/wrappedlibxpresentundefs.h
index 67bd3276..4d2f7603 100644
--- a/src/wrapped/generated/wrappedlibxpresentundefs.h
+++ b/src/wrapped/generated/wrappedlibxpresentundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxpresentUNDEFS_H_
 #define __wrappedlibxpresentUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxrandrdefs.h b/src/wrapped/generated/wrappedlibxrandrdefs.h
index 59699be6..cbe4faca 100644
--- a/src/wrapped/generated/wrappedlibxrandrdefs.h
+++ b/src/wrapped/generated/wrappedlibxrandrdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxrandrDEFS_H_
 #define __wrappedlibxrandrDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxrandrtypes.h b/src/wrapped/generated/wrappedlibxrandrtypes.h
index a452dadd..5e21da6b 100644
--- a/src/wrapped/generated/wrappedlibxrandrtypes.h
+++ b/src/wrapped/generated/wrappedlibxrandrtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxrandrTYPES_H_
 #define __wrappedlibxrandrTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxrandrundefs.h b/src/wrapped/generated/wrappedlibxrandrundefs.h
index 11a79de5..23195247 100644
--- a/src/wrapped/generated/wrappedlibxrandrundefs.h
+++ b/src/wrapped/generated/wrappedlibxrandrundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxrandrUNDEFS_H_
 #define __wrappedlibxrandrUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxrenderdefs.h b/src/wrapped/generated/wrappedlibxrenderdefs.h
index 63ce38e9..aa0cd3b1 100644
--- a/src/wrapped/generated/wrappedlibxrenderdefs.h
+++ b/src/wrapped/generated/wrappedlibxrenderdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxrenderDEFS_H_
 #define __wrappedlibxrenderDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxrendertypes.h b/src/wrapped/generated/wrappedlibxrendertypes.h
index 8d95b96e..e58be09e 100644
--- a/src/wrapped/generated/wrappedlibxrendertypes.h
+++ b/src/wrapped/generated/wrappedlibxrendertypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxrenderTYPES_H_
 #define __wrappedlibxrenderTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxrenderundefs.h b/src/wrapped/generated/wrappedlibxrenderundefs.h
index 2bd5bf31..2f70cb4a 100644
--- a/src/wrapped/generated/wrappedlibxrenderundefs.h
+++ b/src/wrapped/generated/wrappedlibxrenderundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxrenderUNDEFS_H_
 #define __wrappedlibxrenderUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxssdefs.h b/src/wrapped/generated/wrappedlibxssdefs.h
index 256147e2..b27aed70 100644
--- a/src/wrapped/generated/wrappedlibxssdefs.h
+++ b/src/wrapped/generated/wrappedlibxssdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxssDEFS_H_
 #define __wrappedlibxssDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxsstypes.h b/src/wrapped/generated/wrappedlibxsstypes.h
index bae07635..6fa27607 100644
--- a/src/wrapped/generated/wrappedlibxsstypes.h
+++ b/src/wrapped/generated/wrappedlibxsstypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxssTYPES_H_
 #define __wrappedlibxssTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxssundefs.h b/src/wrapped/generated/wrappedlibxssundefs.h
index 8b258344..a7c216bc 100644
--- a/src/wrapped/generated/wrappedlibxssundefs.h
+++ b/src/wrapped/generated/wrappedlibxssundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxssUNDEFS_H_
 #define __wrappedlibxssUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxtdefs.h b/src/wrapped/generated/wrappedlibxtdefs.h
index 1974d630..e481cd4b 100644
--- a/src/wrapped/generated/wrappedlibxtdefs.h
+++ b/src/wrapped/generated/wrappedlibxtdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxtDEFS_H_
 #define __wrappedlibxtDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxtstdefs.h b/src/wrapped/generated/wrappedlibxtstdefs.h
index d77bc1ea..1ea75afa 100644
--- a/src/wrapped/generated/wrappedlibxtstdefs.h
+++ b/src/wrapped/generated/wrappedlibxtstdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxtstDEFS_H_
 #define __wrappedlibxtstDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxtsttypes.h b/src/wrapped/generated/wrappedlibxtsttypes.h
index 0ae450d9..8b8caed5 100644
--- a/src/wrapped/generated/wrappedlibxtsttypes.h
+++ b/src/wrapped/generated/wrappedlibxtsttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxtstTYPES_H_
 #define __wrappedlibxtstTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxtstundefs.h b/src/wrapped/generated/wrappedlibxtstundefs.h
index 2825dcb7..07995f50 100644
--- a/src/wrapped/generated/wrappedlibxtstundefs.h
+++ b/src/wrapped/generated/wrappedlibxtstundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxtstUNDEFS_H_
 #define __wrappedlibxtstUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxttypes.h b/src/wrapped/generated/wrappedlibxttypes.h
index 4e36bcb9..cc5251c0 100644
--- a/src/wrapped/generated/wrappedlibxttypes.h
+++ b/src/wrapped/generated/wrappedlibxttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxtTYPES_H_
 #define __wrappedlibxtTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxtundefs.h b/src/wrapped/generated/wrappedlibxtundefs.h
index 7893de97..397f7aea 100644
--- a/src/wrapped/generated/wrappedlibxtundefs.h
+++ b/src/wrapped/generated/wrappedlibxtundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxtUNDEFS_H_
 #define __wrappedlibxtUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxxf86vmdefs.h b/src/wrapped/generated/wrappedlibxxf86vmdefs.h
index 92f62bbb..2cdacf75 100644
--- a/src/wrapped/generated/wrappedlibxxf86vmdefs.h
+++ b/src/wrapped/generated/wrappedlibxxf86vmdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxxf86vmDEFS_H_
 #define __wrappedlibxxf86vmDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibxxf86vmtypes.h b/src/wrapped/generated/wrappedlibxxf86vmtypes.h
index c335cfea..ba9916a4 100644
--- a/src/wrapped/generated/wrappedlibxxf86vmtypes.h
+++ b/src/wrapped/generated/wrappedlibxxf86vmtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxxf86vmTYPES_H_
 #define __wrappedlibxxf86vmTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibxxf86vmundefs.h b/src/wrapped/generated/wrappedlibxxf86vmundefs.h
index db0a66d4..b17dbc02 100644
--- a/src/wrapped/generated/wrappedlibxxf86vmundefs.h
+++ b/src/wrapped/generated/wrappedlibxxf86vmundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibxxf86vmUNDEFS_H_
 #define __wrappedlibxxf86vmUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibzdefs.h b/src/wrapped/generated/wrappedlibzdefs.h
index 1272f72a..a2e71171 100644
--- a/src/wrapped/generated/wrappedlibzdefs.h
+++ b/src/wrapped/generated/wrappedlibzdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibzDEFS_H_
 #define __wrappedlibzDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibztypes.h b/src/wrapped/generated/wrappedlibztypes.h
index 9d04b021..5ec5fb19 100644
--- a/src/wrapped/generated/wrappedlibztypes.h
+++ b/src/wrapped/generated/wrappedlibztypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibzTYPES_H_
 #define __wrappedlibzTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibzundefs.h b/src/wrapped/generated/wrappedlibzundefs.h
index 64adf3df..bf682b01 100644
--- a/src/wrapped/generated/wrappedlibzundefs.h
+++ b/src/wrapped/generated/wrappedlibzundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlibzUNDEFS_H_
 #define __wrappedlibzUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlzmadefs.h b/src/wrapped/generated/wrappedlzmadefs.h
index 92fc1ea0..d7ac1d65 100644
--- a/src/wrapped/generated/wrappedlzmadefs.h
+++ b/src/wrapped/generated/wrappedlzmadefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlzmaDEFS_H_
 #define __wrappedlzmaDEFS_H_
diff --git a/src/wrapped/generated/wrappedlzmatypes.h b/src/wrapped/generated/wrappedlzmatypes.h
index a2d6d8cc..cda2b1c0 100644
--- a/src/wrapped/generated/wrappedlzmatypes.h
+++ b/src/wrapped/generated/wrappedlzmatypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlzmaTYPES_H_
 #define __wrappedlzmaTYPES_H_
@@ -11,7 +11,9 @@
 #define ADDED_FUNCTIONS() 
 #endif
 
+typedef void (*vFp_t)(void*);
 typedef void (*vFpp_t)(void*, void*);
+typedef int32_t (*iFpi_t)(void*, int32_t);
 typedef int32_t (*iFpU_t)(void*, uint64_t);
 typedef int32_t (*iFpp_t)(void*, void*);
 typedef int32_t (*iFpui_t)(void*, uint32_t, int32_t);
@@ -22,7 +24,9 @@ typedef int32_t (*iFpppppL_t)(void*, void*, void*, void*, void*, uintptr_t);
 typedef int32_t (*iFpupppLppL_t)(void*, uint32_t, void*, void*, void*, uintptr_t, void*, void*, uintptr_t);
 
 #define SUPER() ADDED_FUNCTIONS() \
+	GO(lzma_end, vFp_t) \
 	GO(lzma_index_end, vFpp_t) \
+	GO(lzma_code, iFpi_t) \
 	GO(lzma_alone_decoder, iFpU_t) \
 	GO(lzma_alone_encoder, iFpp_t) \
 	GO(lzma_raw_decoder, iFpp_t) \
diff --git a/src/wrapped/generated/wrappedlzmaundefs.h b/src/wrapped/generated/wrappedlzmaundefs.h
index 3bd25b31..1e3a2d65 100644
--- a/src/wrapped/generated/wrappedlzmaundefs.h
+++ b/src/wrapped/generated/wrappedlzmaundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedlzmaUNDEFS_H_
 #define __wrappedlzmaUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedmpg123defs.h b/src/wrapped/generated/wrappedmpg123defs.h
index d3e048b1..1010106c 100644
--- a/src/wrapped/generated/wrappedmpg123defs.h
+++ b/src/wrapped/generated/wrappedmpg123defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedmpg123DEFS_H_
 #define __wrappedmpg123DEFS_H_
diff --git a/src/wrapped/generated/wrappedmpg123types.h b/src/wrapped/generated/wrappedmpg123types.h
index 3d560740..647ae724 100644
--- a/src/wrapped/generated/wrappedmpg123types.h
+++ b/src/wrapped/generated/wrappedmpg123types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedmpg123TYPES_H_
 #define __wrappedmpg123TYPES_H_
diff --git a/src/wrapped/generated/wrappedmpg123undefs.h b/src/wrapped/generated/wrappedmpg123undefs.h
index e67e108e..1a11a6a9 100644
--- a/src/wrapped/generated/wrappedmpg123undefs.h
+++ b/src/wrapped/generated/wrappedmpg123undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedmpg123UNDEFS_H_
 #define __wrappedmpg123UNDEFS_H_
diff --git a/src/wrapped/generated/wrappednotifydefs.h b/src/wrapped/generated/wrappednotifydefs.h
index dfa4fbd8..2835a095 100644
--- a/src/wrapped/generated/wrappednotifydefs.h
+++ b/src/wrapped/generated/wrappednotifydefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednotifyDEFS_H_
 #define __wrappednotifyDEFS_H_
diff --git a/src/wrapped/generated/wrappednotifytypes.h b/src/wrapped/generated/wrappednotifytypes.h
index dec7c56d..c44cad04 100644
--- a/src/wrapped/generated/wrappednotifytypes.h
+++ b/src/wrapped/generated/wrappednotifytypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednotifyTYPES_H_
 #define __wrappednotifyTYPES_H_
diff --git a/src/wrapped/generated/wrappednotifyundefs.h b/src/wrapped/generated/wrappednotifyundefs.h
index 7e4c84e0..c3a891a3 100644
--- a/src/wrapped/generated/wrappednotifyundefs.h
+++ b/src/wrapped/generated/wrappednotifyundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednotifyUNDEFS_H_
 #define __wrappednotifyUNDEFS_H_
diff --git a/src/wrapped/generated/wrappednsldefs.h b/src/wrapped/generated/wrappednsldefs.h
index 9c9d1114..8b86939d 100644
--- a/src/wrapped/generated/wrappednsldefs.h
+++ b/src/wrapped/generated/wrappednsldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednslDEFS_H_
 #define __wrappednslDEFS_H_
diff --git a/src/wrapped/generated/wrappednsltypes.h b/src/wrapped/generated/wrappednsltypes.h
index af6bf15a..b1b68df2 100644
--- a/src/wrapped/generated/wrappednsltypes.h
+++ b/src/wrapped/generated/wrappednsltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednslTYPES_H_
 #define __wrappednslTYPES_H_
diff --git a/src/wrapped/generated/wrappednslundefs.h b/src/wrapped/generated/wrappednslundefs.h
index 6a14c91d..6342bb7d 100644
--- a/src/wrapped/generated/wrappednslundefs.h
+++ b/src/wrapped/generated/wrappednslundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednslUNDEFS_H_
 #define __wrappednslUNDEFS_H_
diff --git a/src/wrapped/generated/wrappednspr4defs.h b/src/wrapped/generated/wrappednspr4defs.h
index 579a78b5..cd26e6fd 100644
--- a/src/wrapped/generated/wrappednspr4defs.h
+++ b/src/wrapped/generated/wrappednspr4defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednspr4DEFS_H_
 #define __wrappednspr4DEFS_H_
diff --git a/src/wrapped/generated/wrappednspr4types.h b/src/wrapped/generated/wrappednspr4types.h
index 821f06b5..f1df2b71 100644
--- a/src/wrapped/generated/wrappednspr4types.h
+++ b/src/wrapped/generated/wrappednspr4types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednspr4TYPES_H_
 #define __wrappednspr4TYPES_H_
diff --git a/src/wrapped/generated/wrappednspr4undefs.h b/src/wrapped/generated/wrappednspr4undefs.h
index f21df381..df4ec187 100644
--- a/src/wrapped/generated/wrappednspr4undefs.h
+++ b/src/wrapped/generated/wrappednspr4undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednspr4UNDEFS_H_
 #define __wrappednspr4UNDEFS_H_
diff --git a/src/wrapped/generated/wrappednss3defs.h b/src/wrapped/generated/wrappednss3defs.h
index 4cf8ad68..babcddd7 100644
--- a/src/wrapped/generated/wrappednss3defs.h
+++ b/src/wrapped/generated/wrappednss3defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednss3DEFS_H_
 #define __wrappednss3DEFS_H_
diff --git a/src/wrapped/generated/wrappednss3types.h b/src/wrapped/generated/wrappednss3types.h
index 68cf306b..665f0cc2 100644
--- a/src/wrapped/generated/wrappednss3types.h
+++ b/src/wrapped/generated/wrappednss3types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednss3TYPES_H_
 #define __wrappednss3TYPES_H_
diff --git a/src/wrapped/generated/wrappednss3undefs.h b/src/wrapped/generated/wrappednss3undefs.h
index c8bda4af..5023571c 100644
--- a/src/wrapped/generated/wrappednss3undefs.h
+++ b/src/wrapped/generated/wrappednss3undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednss3UNDEFS_H_
 #define __wrappednss3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappednssutil3defs.h b/src/wrapped/generated/wrappednssutil3defs.h
index a835becf..686b9361 100644
--- a/src/wrapped/generated/wrappednssutil3defs.h
+++ b/src/wrapped/generated/wrappednssutil3defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednssutil3DEFS_H_
 #define __wrappednssutil3DEFS_H_
diff --git a/src/wrapped/generated/wrappednssutil3types.h b/src/wrapped/generated/wrappednssutil3types.h
index a08abb70..33b0cfbe 100644
--- a/src/wrapped/generated/wrappednssutil3types.h
+++ b/src/wrapped/generated/wrappednssutil3types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednssutil3TYPES_H_
 #define __wrappednssutil3TYPES_H_
diff --git a/src/wrapped/generated/wrappednssutil3undefs.h b/src/wrapped/generated/wrappednssutil3undefs.h
index 3e076f85..2e89d841 100644
--- a/src/wrapped/generated/wrappednssutil3undefs.h
+++ b/src/wrapped/generated/wrappednssutil3undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappednssutil3UNDEFS_H_
 #define __wrappednssutil3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedopenaldefs.h b/src/wrapped/generated/wrappedopenaldefs.h
index 525e368e..3f858d81 100644
--- a/src/wrapped/generated/wrappedopenaldefs.h
+++ b/src/wrapped/generated/wrappedopenaldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedopenalDEFS_H_
 #define __wrappedopenalDEFS_H_
diff --git a/src/wrapped/generated/wrappedopenaltypes.h b/src/wrapped/generated/wrappedopenaltypes.h
index f9304598..82fd5958 100644
--- a/src/wrapped/generated/wrappedopenaltypes.h
+++ b/src/wrapped/generated/wrappedopenaltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedopenalTYPES_H_
 #define __wrappedopenalTYPES_H_
diff --git a/src/wrapped/generated/wrappedopenalundefs.h b/src/wrapped/generated/wrappedopenalundefs.h
index da8e12fa..b07c369c 100644
--- a/src/wrapped/generated/wrappedopenalundefs.h
+++ b/src/wrapped/generated/wrappedopenalundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedopenalUNDEFS_H_
 #define __wrappedopenalUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedpangocairodefs.h b/src/wrapped/generated/wrappedpangocairodefs.h
index 01404dea..6889b738 100644
--- a/src/wrapped/generated/wrappedpangocairodefs.h
+++ b/src/wrapped/generated/wrappedpangocairodefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpangocairoDEFS_H_
 #define __wrappedpangocairoDEFS_H_
diff --git a/src/wrapped/generated/wrappedpangocairotypes.h b/src/wrapped/generated/wrappedpangocairotypes.h
index 5402f4e4..0d75a472 100644
--- a/src/wrapped/generated/wrappedpangocairotypes.h
+++ b/src/wrapped/generated/wrappedpangocairotypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpangocairoTYPES_H_
 #define __wrappedpangocairoTYPES_H_
diff --git a/src/wrapped/generated/wrappedpangocairoundefs.h b/src/wrapped/generated/wrappedpangocairoundefs.h
index 3bbc6771..ac194a05 100644
--- a/src/wrapped/generated/wrappedpangocairoundefs.h
+++ b/src/wrapped/generated/wrappedpangocairoundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpangocairoUNDEFS_H_
 #define __wrappedpangocairoUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedpangodefs.h b/src/wrapped/generated/wrappedpangodefs.h
index 5d52cf3b..c0d40d2e 100644
--- a/src/wrapped/generated/wrappedpangodefs.h
+++ b/src/wrapped/generated/wrappedpangodefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpangoDEFS_H_
 #define __wrappedpangoDEFS_H_
diff --git a/src/wrapped/generated/wrappedpangoft2defs.h b/src/wrapped/generated/wrappedpangoft2defs.h
index 380f00a7..28aeda1f 100644
--- a/src/wrapped/generated/wrappedpangoft2defs.h
+++ b/src/wrapped/generated/wrappedpangoft2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpangoft2DEFS_H_
 #define __wrappedpangoft2DEFS_H_
diff --git a/src/wrapped/generated/wrappedpangoft2types.h b/src/wrapped/generated/wrappedpangoft2types.h
index 1bceb024..99bdd9ef 100644
--- a/src/wrapped/generated/wrappedpangoft2types.h
+++ b/src/wrapped/generated/wrappedpangoft2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpangoft2TYPES_H_
 #define __wrappedpangoft2TYPES_H_
diff --git a/src/wrapped/generated/wrappedpangoft2undefs.h b/src/wrapped/generated/wrappedpangoft2undefs.h
index 33398df2..f05c5b15 100644
--- a/src/wrapped/generated/wrappedpangoft2undefs.h
+++ b/src/wrapped/generated/wrappedpangoft2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpangoft2UNDEFS_H_
 #define __wrappedpangoft2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedpangotypes.h b/src/wrapped/generated/wrappedpangotypes.h
index 71065885..fc50a486 100644
--- a/src/wrapped/generated/wrappedpangotypes.h
+++ b/src/wrapped/generated/wrappedpangotypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpangoTYPES_H_
 #define __wrappedpangoTYPES_H_
diff --git a/src/wrapped/generated/wrappedpangoundefs.h b/src/wrapped/generated/wrappedpangoundefs.h
index 37f84815..a25d907f 100644
--- a/src/wrapped/generated/wrappedpangoundefs.h
+++ b/src/wrapped/generated/wrappedpangoundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpangoUNDEFS_H_
 #define __wrappedpangoUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedplc4defs.h b/src/wrapped/generated/wrappedplc4defs.h
index aa279879..e1a7c9c6 100644
--- a/src/wrapped/generated/wrappedplc4defs.h
+++ b/src/wrapped/generated/wrappedplc4defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedplc4DEFS_H_
 #define __wrappedplc4DEFS_H_
diff --git a/src/wrapped/generated/wrappedplc4types.h b/src/wrapped/generated/wrappedplc4types.h
index 06f7382c..c9bd1362 100644
--- a/src/wrapped/generated/wrappedplc4types.h
+++ b/src/wrapped/generated/wrappedplc4types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedplc4TYPES_H_
 #define __wrappedplc4TYPES_H_
diff --git a/src/wrapped/generated/wrappedplc4undefs.h b/src/wrapped/generated/wrappedplc4undefs.h
index fff2663c..237c8627 100644
--- a/src/wrapped/generated/wrappedplc4undefs.h
+++ b/src/wrapped/generated/wrappedplc4undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedplc4UNDEFS_H_
 #define __wrappedplc4UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedplds4defs.h b/src/wrapped/generated/wrappedplds4defs.h
index 92f008d3..a21627e7 100644
--- a/src/wrapped/generated/wrappedplds4defs.h
+++ b/src/wrapped/generated/wrappedplds4defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedplds4DEFS_H_
 #define __wrappedplds4DEFS_H_
diff --git a/src/wrapped/generated/wrappedplds4types.h b/src/wrapped/generated/wrappedplds4types.h
index 00370f62..4632bfb0 100644
--- a/src/wrapped/generated/wrappedplds4types.h
+++ b/src/wrapped/generated/wrappedplds4types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedplds4TYPES_H_
 #define __wrappedplds4TYPES_H_
diff --git a/src/wrapped/generated/wrappedplds4undefs.h b/src/wrapped/generated/wrappedplds4undefs.h
index 02de4706..8575f79b 100644
--- a/src/wrapped/generated/wrappedplds4undefs.h
+++ b/src/wrapped/generated/wrappedplds4undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedplds4UNDEFS_H_
 #define __wrappedplds4UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedpng16defs.h b/src/wrapped/generated/wrappedpng16defs.h
index 61811af2..8d8def5d 100644
--- a/src/wrapped/generated/wrappedpng16defs.h
+++ b/src/wrapped/generated/wrappedpng16defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpng16DEFS_H_
 #define __wrappedpng16DEFS_H_
diff --git a/src/wrapped/generated/wrappedpng16types.h b/src/wrapped/generated/wrappedpng16types.h
index 32aaec85..4ffeb67a 100644
--- a/src/wrapped/generated/wrappedpng16types.h
+++ b/src/wrapped/generated/wrappedpng16types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpng16TYPES_H_
 #define __wrappedpng16TYPES_H_
diff --git a/src/wrapped/generated/wrappedpng16undefs.h b/src/wrapped/generated/wrappedpng16undefs.h
index 9c3e3ff7..2a5307d2 100644
--- a/src/wrapped/generated/wrappedpng16undefs.h
+++ b/src/wrapped/generated/wrappedpng16undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpng16UNDEFS_H_
 #define __wrappedpng16UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedpulsedefs.h b/src/wrapped/generated/wrappedpulsedefs.h
index 20969d83..9871becf 100644
--- a/src/wrapped/generated/wrappedpulsedefs.h
+++ b/src/wrapped/generated/wrappedpulsedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpulseDEFS_H_
 #define __wrappedpulseDEFS_H_
diff --git a/src/wrapped/generated/wrappedpulsesimpledefs.h b/src/wrapped/generated/wrappedpulsesimpledefs.h
index a2b91418..2829278d 100644
--- a/src/wrapped/generated/wrappedpulsesimpledefs.h
+++ b/src/wrapped/generated/wrappedpulsesimpledefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpulsesimpleDEFS_H_
 #define __wrappedpulsesimpleDEFS_H_
diff --git a/src/wrapped/generated/wrappedpulsesimpletypes.h b/src/wrapped/generated/wrappedpulsesimpletypes.h
index 1397bb50..97a2b492 100644
--- a/src/wrapped/generated/wrappedpulsesimpletypes.h
+++ b/src/wrapped/generated/wrappedpulsesimpletypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpulsesimpleTYPES_H_
 #define __wrappedpulsesimpleTYPES_H_
diff --git a/src/wrapped/generated/wrappedpulsesimpleundefs.h b/src/wrapped/generated/wrappedpulsesimpleundefs.h
index 89a47abc..3a7e8271 100644
--- a/src/wrapped/generated/wrappedpulsesimpleundefs.h
+++ b/src/wrapped/generated/wrappedpulsesimpleundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpulsesimpleUNDEFS_H_
 #define __wrappedpulsesimpleUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedpulsetypes.h b/src/wrapped/generated/wrappedpulsetypes.h
index f260a91d..a24120dc 100644
--- a/src/wrapped/generated/wrappedpulsetypes.h
+++ b/src/wrapped/generated/wrappedpulsetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpulseTYPES_H_
 #define __wrappedpulseTYPES_H_
diff --git a/src/wrapped/generated/wrappedpulseundefs.h b/src/wrapped/generated/wrappedpulseundefs.h
index cbd71377..ae1b3000 100644
--- a/src/wrapped/generated/wrappedpulseundefs.h
+++ b/src/wrapped/generated/wrappedpulseundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedpulseUNDEFS_H_
 #define __wrappedpulseUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1defs.h b/src/wrapped/generated/wrappedsdl1defs.h
index b057928c..fdc74ada 100644
--- a/src/wrapped/generated/wrappedsdl1defs.h
+++ b/src/wrapped/generated/wrappedsdl1defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1DEFS_H_
 #define __wrappedsdl1DEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1imagedefs.h b/src/wrapped/generated/wrappedsdl1imagedefs.h
index d532fa62..1cd4bb7c 100644
--- a/src/wrapped/generated/wrappedsdl1imagedefs.h
+++ b/src/wrapped/generated/wrappedsdl1imagedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1imageDEFS_H_
 #define __wrappedsdl1imageDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1imagetypes.h b/src/wrapped/generated/wrappedsdl1imagetypes.h
index 9c973a2b..533e2092 100644
--- a/src/wrapped/generated/wrappedsdl1imagetypes.h
+++ b/src/wrapped/generated/wrappedsdl1imagetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1imageTYPES_H_
 #define __wrappedsdl1imageTYPES_H_
diff --git a/src/wrapped/generated/wrappedsdl1imageundefs.h b/src/wrapped/generated/wrappedsdl1imageundefs.h
index 5052e28e..b3b39790 100644
--- a/src/wrapped/generated/wrappedsdl1imageundefs.h
+++ b/src/wrapped/generated/wrappedsdl1imageundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1imageUNDEFS_H_
 #define __wrappedsdl1imageUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1mixerdefs.h b/src/wrapped/generated/wrappedsdl1mixerdefs.h
index 526fb869..eb854ec8 100644
--- a/src/wrapped/generated/wrappedsdl1mixerdefs.h
+++ b/src/wrapped/generated/wrappedsdl1mixerdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1mixerDEFS_H_
 #define __wrappedsdl1mixerDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1mixertypes.h b/src/wrapped/generated/wrappedsdl1mixertypes.h
index 09535f61..d02a2f1a 100644
--- a/src/wrapped/generated/wrappedsdl1mixertypes.h
+++ b/src/wrapped/generated/wrappedsdl1mixertypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1mixerTYPES_H_
 #define __wrappedsdl1mixerTYPES_H_
diff --git a/src/wrapped/generated/wrappedsdl1mixerundefs.h b/src/wrapped/generated/wrappedsdl1mixerundefs.h
index 1e57174b..9bf2f36f 100644
--- a/src/wrapped/generated/wrappedsdl1mixerundefs.h
+++ b/src/wrapped/generated/wrappedsdl1mixerundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1mixerUNDEFS_H_
 #define __wrappedsdl1mixerUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1netdefs.h b/src/wrapped/generated/wrappedsdl1netdefs.h
index b2760ba1..fa4c1430 100644
--- a/src/wrapped/generated/wrappedsdl1netdefs.h
+++ b/src/wrapped/generated/wrappedsdl1netdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1netDEFS_H_
 #define __wrappedsdl1netDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1nettypes.h b/src/wrapped/generated/wrappedsdl1nettypes.h
index a5549989..c96b1486 100644
--- a/src/wrapped/generated/wrappedsdl1nettypes.h
+++ b/src/wrapped/generated/wrappedsdl1nettypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1netTYPES_H_
 #define __wrappedsdl1netTYPES_H_
diff --git a/src/wrapped/generated/wrappedsdl1netundefs.h b/src/wrapped/generated/wrappedsdl1netundefs.h
index 383c180b..732ff0a8 100644
--- a/src/wrapped/generated/wrappedsdl1netundefs.h
+++ b/src/wrapped/generated/wrappedsdl1netundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1netUNDEFS_H_
 #define __wrappedsdl1netUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1sounddefs.h b/src/wrapped/generated/wrappedsdl1sounddefs.h
index 6ebf8218..618fd9b6 100644
--- a/src/wrapped/generated/wrappedsdl1sounddefs.h
+++ b/src/wrapped/generated/wrappedsdl1sounddefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1soundDEFS_H_
 #define __wrappedsdl1soundDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1soundtypes.h b/src/wrapped/generated/wrappedsdl1soundtypes.h
index c60c6f0f..dc5ad357 100644
--- a/src/wrapped/generated/wrappedsdl1soundtypes.h
+++ b/src/wrapped/generated/wrappedsdl1soundtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1soundTYPES_H_
 #define __wrappedsdl1soundTYPES_H_
diff --git a/src/wrapped/generated/wrappedsdl1soundundefs.h b/src/wrapped/generated/wrappedsdl1soundundefs.h
index 15a300d6..e7fe29a4 100644
--- a/src/wrapped/generated/wrappedsdl1soundundefs.h
+++ b/src/wrapped/generated/wrappedsdl1soundundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1soundUNDEFS_H_
 #define __wrappedsdl1soundUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1ttfdefs.h b/src/wrapped/generated/wrappedsdl1ttfdefs.h
index 48749da1..6bd5057c 100644
--- a/src/wrapped/generated/wrappedsdl1ttfdefs.h
+++ b/src/wrapped/generated/wrappedsdl1ttfdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1ttfDEFS_H_
 #define __wrappedsdl1ttfDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1ttftypes.h b/src/wrapped/generated/wrappedsdl1ttftypes.h
index a63be208..2400dbe4 100644
--- a/src/wrapped/generated/wrappedsdl1ttftypes.h
+++ b/src/wrapped/generated/wrappedsdl1ttftypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1ttfTYPES_H_
 #define __wrappedsdl1ttfTYPES_H_
diff --git a/src/wrapped/generated/wrappedsdl1ttfundefs.h b/src/wrapped/generated/wrappedsdl1ttfundefs.h
index 6e57e12e..40c86781 100644
--- a/src/wrapped/generated/wrappedsdl1ttfundefs.h
+++ b/src/wrapped/generated/wrappedsdl1ttfundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1ttfUNDEFS_H_
 #define __wrappedsdl1ttfUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl1types.h b/src/wrapped/generated/wrappedsdl1types.h
index 7d5f6e3b..447e9ea4 100644
--- a/src/wrapped/generated/wrappedsdl1types.h
+++ b/src/wrapped/generated/wrappedsdl1types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1TYPES_H_
 #define __wrappedsdl1TYPES_H_
diff --git a/src/wrapped/generated/wrappedsdl1undefs.h b/src/wrapped/generated/wrappedsdl1undefs.h
index 8fc24676..c646f3de 100644
--- a/src/wrapped/generated/wrappedsdl1undefs.h
+++ b/src/wrapped/generated/wrappedsdl1undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl1UNDEFS_H_
 #define __wrappedsdl1UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl2defs.h b/src/wrapped/generated/wrappedsdl2defs.h
index 15b561be..c055edd7 100644
--- a/src/wrapped/generated/wrappedsdl2defs.h
+++ b/src/wrapped/generated/wrappedsdl2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2DEFS_H_
 #define __wrappedsdl2DEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl2imagedefs.h b/src/wrapped/generated/wrappedsdl2imagedefs.h
index 58be586a..130fc080 100644
--- a/src/wrapped/generated/wrappedsdl2imagedefs.h
+++ b/src/wrapped/generated/wrappedsdl2imagedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2imageDEFS_H_
 #define __wrappedsdl2imageDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl2imagetypes.h b/src/wrapped/generated/wrappedsdl2imagetypes.h
index 09ea454a..e7b72aff 100644
--- a/src/wrapped/generated/wrappedsdl2imagetypes.h
+++ b/src/wrapped/generated/wrappedsdl2imagetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2imageTYPES_H_
 #define __wrappedsdl2imageTYPES_H_
diff --git a/src/wrapped/generated/wrappedsdl2imageundefs.h b/src/wrapped/generated/wrappedsdl2imageundefs.h
index 11b0da8f..1abfded3 100644
--- a/src/wrapped/generated/wrappedsdl2imageundefs.h
+++ b/src/wrapped/generated/wrappedsdl2imageundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2imageUNDEFS_H_
 #define __wrappedsdl2imageUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl2mixerdefs.h b/src/wrapped/generated/wrappedsdl2mixerdefs.h
index 51ba9561..c9621dbc 100644
--- a/src/wrapped/generated/wrappedsdl2mixerdefs.h
+++ b/src/wrapped/generated/wrappedsdl2mixerdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2mixerDEFS_H_
 #define __wrappedsdl2mixerDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl2mixertypes.h b/src/wrapped/generated/wrappedsdl2mixertypes.h
index 9360d791..a411d86e 100644
--- a/src/wrapped/generated/wrappedsdl2mixertypes.h
+++ b/src/wrapped/generated/wrappedsdl2mixertypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2mixerTYPES_H_
 #define __wrappedsdl2mixerTYPES_H_
diff --git a/src/wrapped/generated/wrappedsdl2mixerundefs.h b/src/wrapped/generated/wrappedsdl2mixerundefs.h
index 81e1fe10..1077cd04 100644
--- a/src/wrapped/generated/wrappedsdl2mixerundefs.h
+++ b/src/wrapped/generated/wrappedsdl2mixerundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2mixerUNDEFS_H_
 #define __wrappedsdl2mixerUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl2netdefs.h b/src/wrapped/generated/wrappedsdl2netdefs.h
index 20d2eb67..0b3c7cae 100644
--- a/src/wrapped/generated/wrappedsdl2netdefs.h
+++ b/src/wrapped/generated/wrappedsdl2netdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2netDEFS_H_
 #define __wrappedsdl2netDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl2nettypes.h b/src/wrapped/generated/wrappedsdl2nettypes.h
index 225e34d7..883810b2 100644
--- a/src/wrapped/generated/wrappedsdl2nettypes.h
+++ b/src/wrapped/generated/wrappedsdl2nettypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2netTYPES_H_
 #define __wrappedsdl2netTYPES_H_
diff --git a/src/wrapped/generated/wrappedsdl2netundefs.h b/src/wrapped/generated/wrappedsdl2netundefs.h
index acb432c5..4c58c27b 100644
--- a/src/wrapped/generated/wrappedsdl2netundefs.h
+++ b/src/wrapped/generated/wrappedsdl2netundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2netUNDEFS_H_
 #define __wrappedsdl2netUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl2ttfdefs.h b/src/wrapped/generated/wrappedsdl2ttfdefs.h
index 5922368f..f4a9707b 100644
--- a/src/wrapped/generated/wrappedsdl2ttfdefs.h
+++ b/src/wrapped/generated/wrappedsdl2ttfdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2ttfDEFS_H_
 #define __wrappedsdl2ttfDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl2ttftypes.h b/src/wrapped/generated/wrappedsdl2ttftypes.h
index 3fcc4f8a..dd5d1ee9 100644
--- a/src/wrapped/generated/wrappedsdl2ttftypes.h
+++ b/src/wrapped/generated/wrappedsdl2ttftypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2ttfTYPES_H_
 #define __wrappedsdl2ttfTYPES_H_
diff --git a/src/wrapped/generated/wrappedsdl2ttfundefs.h b/src/wrapped/generated/wrappedsdl2ttfundefs.h
index 520e8f70..d904d0ba 100644
--- a/src/wrapped/generated/wrappedsdl2ttfundefs.h
+++ b/src/wrapped/generated/wrappedsdl2ttfundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2ttfUNDEFS_H_
 #define __wrappedsdl2ttfUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsdl2types.h b/src/wrapped/generated/wrappedsdl2types.h
index 9b120983..efdc055b 100644
--- a/src/wrapped/generated/wrappedsdl2types.h
+++ b/src/wrapped/generated/wrappedsdl2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2TYPES_H_
 #define __wrappedsdl2TYPES_H_
diff --git a/src/wrapped/generated/wrappedsdl2undefs.h b/src/wrapped/generated/wrappedsdl2undefs.h
index 34e94daf..2ca63484 100644
--- a/src/wrapped/generated/wrappedsdl2undefs.h
+++ b/src/wrapped/generated/wrappedsdl2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsdl2UNDEFS_H_
 #define __wrappedsdl2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsecret1defs.h b/src/wrapped/generated/wrappedsecret1defs.h
index 31e5404d..aa50e8a1 100644
--- a/src/wrapped/generated/wrappedsecret1defs.h
+++ b/src/wrapped/generated/wrappedsecret1defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsecret1DEFS_H_
 #define __wrappedsecret1DEFS_H_
diff --git a/src/wrapped/generated/wrappedsecret1types.h b/src/wrapped/generated/wrappedsecret1types.h
index ef76399d..3fce0222 100644
--- a/src/wrapped/generated/wrappedsecret1types.h
+++ b/src/wrapped/generated/wrappedsecret1types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsecret1TYPES_H_
 #define __wrappedsecret1TYPES_H_
diff --git a/src/wrapped/generated/wrappedsecret1undefs.h b/src/wrapped/generated/wrappedsecret1undefs.h
index 795a0927..8fa910a2 100644
--- a/src/wrapped/generated/wrappedsecret1undefs.h
+++ b/src/wrapped/generated/wrappedsecret1undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsecret1UNDEFS_H_
 #define __wrappedsecret1UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedselinuxdefs.h b/src/wrapped/generated/wrappedselinuxdefs.h
index 8c048159..7e443cc2 100644
--- a/src/wrapped/generated/wrappedselinuxdefs.h
+++ b/src/wrapped/generated/wrappedselinuxdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedselinuxDEFS_H_
 #define __wrappedselinuxDEFS_H_
diff --git a/src/wrapped/generated/wrappedselinuxtypes.h b/src/wrapped/generated/wrappedselinuxtypes.h
index 5e6aa376..734f4949 100644
--- a/src/wrapped/generated/wrappedselinuxtypes.h
+++ b/src/wrapped/generated/wrappedselinuxtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedselinuxTYPES_H_
 #define __wrappedselinuxTYPES_H_
diff --git a/src/wrapped/generated/wrappedselinuxundefs.h b/src/wrapped/generated/wrappedselinuxundefs.h
index 3e21b645..826d2b86 100644
--- a/src/wrapped/generated/wrappedselinuxundefs.h
+++ b/src/wrapped/generated/wrappedselinuxundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedselinuxUNDEFS_H_
 #define __wrappedselinuxUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsmime3defs.h b/src/wrapped/generated/wrappedsmime3defs.h
index 4956dc80..92d7c9d4 100644
--- a/src/wrapped/generated/wrappedsmime3defs.h
+++ b/src/wrapped/generated/wrappedsmime3defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsmime3DEFS_H_
 #define __wrappedsmime3DEFS_H_
diff --git a/src/wrapped/generated/wrappedsmime3types.h b/src/wrapped/generated/wrappedsmime3types.h
index bd52a266..b1a82c3c 100644
--- a/src/wrapped/generated/wrappedsmime3types.h
+++ b/src/wrapped/generated/wrappedsmime3types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsmime3TYPES_H_
 #define __wrappedsmime3TYPES_H_
diff --git a/src/wrapped/generated/wrappedsmime3undefs.h b/src/wrapped/generated/wrappedsmime3undefs.h
index d2e45000..b83b45e5 100644
--- a/src/wrapped/generated/wrappedsmime3undefs.h
+++ b/src/wrapped/generated/wrappedsmime3undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsmime3UNDEFS_H_
 #define __wrappedsmime3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsmpeg2defs.h b/src/wrapped/generated/wrappedsmpeg2defs.h
index b710c9e7..2fbf24cd 100644
--- a/src/wrapped/generated/wrappedsmpeg2defs.h
+++ b/src/wrapped/generated/wrappedsmpeg2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsmpeg2DEFS_H_
 #define __wrappedsmpeg2DEFS_H_
diff --git a/src/wrapped/generated/wrappedsmpeg2types.h b/src/wrapped/generated/wrappedsmpeg2types.h
index eb2905dd..8e3e683e 100644
--- a/src/wrapped/generated/wrappedsmpeg2types.h
+++ b/src/wrapped/generated/wrappedsmpeg2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsmpeg2TYPES_H_
 #define __wrappedsmpeg2TYPES_H_
diff --git a/src/wrapped/generated/wrappedsmpeg2undefs.h b/src/wrapped/generated/wrappedsmpeg2undefs.h
index cbe83980..e759a2db 100644
--- a/src/wrapped/generated/wrappedsmpeg2undefs.h
+++ b/src/wrapped/generated/wrappedsmpeg2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsmpeg2UNDEFS_H_
 #define __wrappedsmpeg2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsmpegdefs.h b/src/wrapped/generated/wrappedsmpegdefs.h
index 332c6566..2c29a30a 100644
--- a/src/wrapped/generated/wrappedsmpegdefs.h
+++ b/src/wrapped/generated/wrappedsmpegdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsmpegDEFS_H_
 #define __wrappedsmpegDEFS_H_
diff --git a/src/wrapped/generated/wrappedsmpegtypes.h b/src/wrapped/generated/wrappedsmpegtypes.h
index 4857a962..d043287a 100644
--- a/src/wrapped/generated/wrappedsmpegtypes.h
+++ b/src/wrapped/generated/wrappedsmpegtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsmpegTYPES_H_
 #define __wrappedsmpegTYPES_H_
diff --git a/src/wrapped/generated/wrappedsmpegundefs.h b/src/wrapped/generated/wrappedsmpegundefs.h
index 745f559b..acd26ce5 100644
--- a/src/wrapped/generated/wrappedsmpegundefs.h
+++ b/src/wrapped/generated/wrappedsmpegundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsmpegUNDEFS_H_
 #define __wrappedsmpegUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedsoftokn3defs.h b/src/wrapped/generated/wrappedsoftokn3defs.h
index 41002cc7..6227d43a 100644
--- a/src/wrapped/generated/wrappedsoftokn3defs.h
+++ b/src/wrapped/generated/wrappedsoftokn3defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsoftokn3DEFS_H_
 #define __wrappedsoftokn3DEFS_H_
diff --git a/src/wrapped/generated/wrappedsoftokn3types.h b/src/wrapped/generated/wrappedsoftokn3types.h
index ed075f46..16b6efb2 100644
--- a/src/wrapped/generated/wrappedsoftokn3types.h
+++ b/src/wrapped/generated/wrappedsoftokn3types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsoftokn3TYPES_H_
 #define __wrappedsoftokn3TYPES_H_
diff --git a/src/wrapped/generated/wrappedsoftokn3undefs.h b/src/wrapped/generated/wrappedsoftokn3undefs.h
index b58a2a39..56250624 100644
--- a/src/wrapped/generated/wrappedsoftokn3undefs.h
+++ b/src/wrapped/generated/wrappedsoftokn3undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedsoftokn3UNDEFS_H_
 #define __wrappedsoftokn3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedssl3defs.h b/src/wrapped/generated/wrappedssl3defs.h
index 8216a17f..e267611f 100644
--- a/src/wrapped/generated/wrappedssl3defs.h
+++ b/src/wrapped/generated/wrappedssl3defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedssl3DEFS_H_
 #define __wrappedssl3DEFS_H_
diff --git a/src/wrapped/generated/wrappedssl3types.h b/src/wrapped/generated/wrappedssl3types.h
index 36d2f19f..397c4c6b 100644
--- a/src/wrapped/generated/wrappedssl3types.h
+++ b/src/wrapped/generated/wrappedssl3types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedssl3TYPES_H_
 #define __wrappedssl3TYPES_H_
diff --git a/src/wrapped/generated/wrappedssl3undefs.h b/src/wrapped/generated/wrappedssl3undefs.h
index 6097bdf3..961a0491 100644
--- a/src/wrapped/generated/wrappedssl3undefs.h
+++ b/src/wrapped/generated/wrappedssl3undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedssl3UNDEFS_H_
 #define __wrappedssl3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedtbbbinddefs.h b/src/wrapped/generated/wrappedtbbbinddefs.h
index 68313639..cab9ecfc 100644
--- a/src/wrapped/generated/wrappedtbbbinddefs.h
+++ b/src/wrapped/generated/wrappedtbbbinddefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtbbbindDEFS_H_
 #define __wrappedtbbbindDEFS_H_
diff --git a/src/wrapped/generated/wrappedtbbbindtypes.h b/src/wrapped/generated/wrappedtbbbindtypes.h
index fddbb6c5..0ba646af 100644
--- a/src/wrapped/generated/wrappedtbbbindtypes.h
+++ b/src/wrapped/generated/wrappedtbbbindtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtbbbindTYPES_H_
 #define __wrappedtbbbindTYPES_H_
diff --git a/src/wrapped/generated/wrappedtbbbindundefs.h b/src/wrapped/generated/wrappedtbbbindundefs.h
index d92da691..5c0a98f5 100644
--- a/src/wrapped/generated/wrappedtbbbindundefs.h
+++ b/src/wrapped/generated/wrappedtbbbindundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtbbbindUNDEFS_H_
 #define __wrappedtbbbindUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedtbbmallocdefs.h b/src/wrapped/generated/wrappedtbbmallocdefs.h
index 66107c5b..f2c8cdb1 100644
--- a/src/wrapped/generated/wrappedtbbmallocdefs.h
+++ b/src/wrapped/generated/wrappedtbbmallocdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtbbmallocDEFS_H_
 #define __wrappedtbbmallocDEFS_H_
diff --git a/src/wrapped/generated/wrappedtbbmallocproxydefs.h b/src/wrapped/generated/wrappedtbbmallocproxydefs.h
index 36ccfc6d..ebf3d7b4 100644
--- a/src/wrapped/generated/wrappedtbbmallocproxydefs.h
+++ b/src/wrapped/generated/wrappedtbbmallocproxydefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtbbmallocproxyDEFS_H_
 #define __wrappedtbbmallocproxyDEFS_H_
diff --git a/src/wrapped/generated/wrappedtbbmallocproxytypes.h b/src/wrapped/generated/wrappedtbbmallocproxytypes.h
index 6d9eb5a0..f073210a 100644
--- a/src/wrapped/generated/wrappedtbbmallocproxytypes.h
+++ b/src/wrapped/generated/wrappedtbbmallocproxytypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtbbmallocproxyTYPES_H_
 #define __wrappedtbbmallocproxyTYPES_H_
diff --git a/src/wrapped/generated/wrappedtbbmallocproxyundefs.h b/src/wrapped/generated/wrappedtbbmallocproxyundefs.h
index 21aeb872..fd918bd3 100644
--- a/src/wrapped/generated/wrappedtbbmallocproxyundefs.h
+++ b/src/wrapped/generated/wrappedtbbmallocproxyundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtbbmallocproxyUNDEFS_H_
 #define __wrappedtbbmallocproxyUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedtbbmalloctypes.h b/src/wrapped/generated/wrappedtbbmalloctypes.h
index 8e4a3a96..990bff1e 100644
--- a/src/wrapped/generated/wrappedtbbmalloctypes.h
+++ b/src/wrapped/generated/wrappedtbbmalloctypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtbbmallocTYPES_H_
 #define __wrappedtbbmallocTYPES_H_
diff --git a/src/wrapped/generated/wrappedtbbmallocundefs.h b/src/wrapped/generated/wrappedtbbmallocundefs.h
index 99607226..107b5d1c 100644
--- a/src/wrapped/generated/wrappedtbbmallocundefs.h
+++ b/src/wrapped/generated/wrappedtbbmallocundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtbbmallocUNDEFS_H_
 #define __wrappedtbbmallocUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedtcmallocminimaldefs.h b/src/wrapped/generated/wrappedtcmallocminimaldefs.h
index c292791b..3761435e 100644
--- a/src/wrapped/generated/wrappedtcmallocminimaldefs.h
+++ b/src/wrapped/generated/wrappedtcmallocminimaldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtcmallocminimalDEFS_H_
 #define __wrappedtcmallocminimalDEFS_H_
diff --git a/src/wrapped/generated/wrappedtcmallocminimaltypes.h b/src/wrapped/generated/wrappedtcmallocminimaltypes.h
index 0a6d537d..88049970 100644
--- a/src/wrapped/generated/wrappedtcmallocminimaltypes.h
+++ b/src/wrapped/generated/wrappedtcmallocminimaltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtcmallocminimalTYPES_H_
 #define __wrappedtcmallocminimalTYPES_H_
diff --git a/src/wrapped/generated/wrappedtcmallocminimalundefs.h b/src/wrapped/generated/wrappedtcmallocminimalundefs.h
index bbffd60d..24f7091b 100644
--- a/src/wrapped/generated/wrappedtcmallocminimalundefs.h
+++ b/src/wrapped/generated/wrappedtcmallocminimalundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedtcmallocminimalUNDEFS_H_
 #define __wrappedtcmallocminimalUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedudev0defs.h b/src/wrapped/generated/wrappedudev0defs.h
index 10e7efb3..6c71537c 100644
--- a/src/wrapped/generated/wrappedudev0defs.h
+++ b/src/wrapped/generated/wrappedudev0defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedudev0DEFS_H_
 #define __wrappedudev0DEFS_H_
diff --git a/src/wrapped/generated/wrappedudev0types.h b/src/wrapped/generated/wrappedudev0types.h
index 7673cd70..74d5ebe7 100644
--- a/src/wrapped/generated/wrappedudev0types.h
+++ b/src/wrapped/generated/wrappedudev0types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedudev0TYPES_H_
 #define __wrappedudev0TYPES_H_
diff --git a/src/wrapped/generated/wrappedudev0undefs.h b/src/wrapped/generated/wrappedudev0undefs.h
index e4c659e6..7c52dd4d 100644
--- a/src/wrapped/generated/wrappedudev0undefs.h
+++ b/src/wrapped/generated/wrappedudev0undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedudev0UNDEFS_H_
 #define __wrappedudev0UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedudev1defs.h b/src/wrapped/generated/wrappedudev1defs.h
index 7232b08b..178a7bfe 100644
--- a/src/wrapped/generated/wrappedudev1defs.h
+++ b/src/wrapped/generated/wrappedudev1defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedudev1DEFS_H_
 #define __wrappedudev1DEFS_H_
diff --git a/src/wrapped/generated/wrappedudev1types.h b/src/wrapped/generated/wrappedudev1types.h
index c7113d9c..d5d41fda 100644
--- a/src/wrapped/generated/wrappedudev1types.h
+++ b/src/wrapped/generated/wrappedudev1types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedudev1TYPES_H_
 #define __wrappedudev1TYPES_H_
diff --git a/src/wrapped/generated/wrappedudev1undefs.h b/src/wrapped/generated/wrappedudev1undefs.h
index f8f1e8a6..d92a2c2d 100644
--- a/src/wrapped/generated/wrappedudev1undefs.h
+++ b/src/wrapped/generated/wrappedudev1undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedudev1UNDEFS_H_
 #define __wrappedudev1UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedunwinddefs.h b/src/wrapped/generated/wrappedunwinddefs.h
index 276d3135..d7e0db0d 100644
--- a/src/wrapped/generated/wrappedunwinddefs.h
+++ b/src/wrapped/generated/wrappedunwinddefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedunwindDEFS_H_
 #define __wrappedunwindDEFS_H_
diff --git a/src/wrapped/generated/wrappedunwindtypes.h b/src/wrapped/generated/wrappedunwindtypes.h
index fce6101f..612b0e21 100644
--- a/src/wrapped/generated/wrappedunwindtypes.h
+++ b/src/wrapped/generated/wrappedunwindtypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedunwindTYPES_H_
 #define __wrappedunwindTYPES_H_
diff --git a/src/wrapped/generated/wrappedunwindundefs.h b/src/wrapped/generated/wrappedunwindundefs.h
index 0f6577d2..4b4a6e1f 100644
--- a/src/wrapped/generated/wrappedunwindundefs.h
+++ b/src/wrapped/generated/wrappedunwindundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedunwindUNDEFS_H_
 #define __wrappedunwindUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedutildefs.h b/src/wrapped/generated/wrappedutildefs.h
index 8de0f7e0..861a0625 100644
--- a/src/wrapped/generated/wrappedutildefs.h
+++ b/src/wrapped/generated/wrappedutildefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedutilDEFS_H_
 #define __wrappedutilDEFS_H_
diff --git a/src/wrapped/generated/wrappedutiltypes.h b/src/wrapped/generated/wrappedutiltypes.h
index 46928736..41502beb 100644
--- a/src/wrapped/generated/wrappedutiltypes.h
+++ b/src/wrapped/generated/wrappedutiltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedutilTYPES_H_
 #define __wrappedutilTYPES_H_
diff --git a/src/wrapped/generated/wrappedutilundefs.h b/src/wrapped/generated/wrappedutilundefs.h
index 38dfed5a..72ddbcee 100644
--- a/src/wrapped/generated/wrappedutilundefs.h
+++ b/src/wrapped/generated/wrappedutilundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedutilUNDEFS_H_
 #define __wrappedutilUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedvorbisfiledefs.h b/src/wrapped/generated/wrappedvorbisfiledefs.h
index 02f75b6e..bff87036 100644
--- a/src/wrapped/generated/wrappedvorbisfiledefs.h
+++ b/src/wrapped/generated/wrappedvorbisfiledefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedvorbisfileDEFS_H_
 #define __wrappedvorbisfileDEFS_H_
diff --git a/src/wrapped/generated/wrappedvorbisfiletypes.h b/src/wrapped/generated/wrappedvorbisfiletypes.h
index 1ae49be7..9f2354cc 100644
--- a/src/wrapped/generated/wrappedvorbisfiletypes.h
+++ b/src/wrapped/generated/wrappedvorbisfiletypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedvorbisfileTYPES_H_
 #define __wrappedvorbisfileTYPES_H_
diff --git a/src/wrapped/generated/wrappedvorbisfileundefs.h b/src/wrapped/generated/wrappedvorbisfileundefs.h
index 34eb2061..6eec569f 100644
--- a/src/wrapped/generated/wrappedvorbisfileundefs.h
+++ b/src/wrapped/generated/wrappedvorbisfileundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedvorbisfileUNDEFS_H_
 #define __wrappedvorbisfileUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedvulkandefs.h b/src/wrapped/generated/wrappedvulkandefs.h
index e0bc55e2..868303ca 100644
--- a/src/wrapped/generated/wrappedvulkandefs.h
+++ b/src/wrapped/generated/wrappedvulkandefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedvulkanDEFS_H_
 #define __wrappedvulkanDEFS_H_
diff --git a/src/wrapped/generated/wrappedvulkantypes.h b/src/wrapped/generated/wrappedvulkantypes.h
index 5431cbe2..41b18752 100644
--- a/src/wrapped/generated/wrappedvulkantypes.h
+++ b/src/wrapped/generated/wrappedvulkantypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedvulkanTYPES_H_
 #define __wrappedvulkanTYPES_H_
diff --git a/src/wrapped/generated/wrappedvulkanundefs.h b/src/wrapped/generated/wrappedvulkanundefs.h
index 69f770bd..9383f239 100644
--- a/src/wrapped/generated/wrappedvulkanundefs.h
+++ b/src/wrapped/generated/wrappedvulkanundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedvulkanUNDEFS_H_
 #define __wrappedvulkanUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedwaylandclientdefs.h b/src/wrapped/generated/wrappedwaylandclientdefs.h
index 7d581341..4bc32b5d 100644
--- a/src/wrapped/generated/wrappedwaylandclientdefs.h
+++ b/src/wrapped/generated/wrappedwaylandclientdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedwaylandclientDEFS_H_
 #define __wrappedwaylandclientDEFS_H_
diff --git a/src/wrapped/generated/wrappedwaylandclienttypes.h b/src/wrapped/generated/wrappedwaylandclienttypes.h
index 45524611..1ae5078b 100644
--- a/src/wrapped/generated/wrappedwaylandclienttypes.h
+++ b/src/wrapped/generated/wrappedwaylandclienttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedwaylandclientTYPES_H_
 #define __wrappedwaylandclientTYPES_H_
diff --git a/src/wrapped/generated/wrappedwaylandclientundefs.h b/src/wrapped/generated/wrappedwaylandclientundefs.h
index 4bee48c9..4b55d457 100644
--- a/src/wrapped/generated/wrappedwaylandclientundefs.h
+++ b/src/wrapped/generated/wrappedwaylandclientundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedwaylandclientUNDEFS_H_
 #define __wrappedwaylandclientUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedwaylandcursordefs.h b/src/wrapped/generated/wrappedwaylandcursordefs.h
index 9dd5b1ff..7992556b 100644
--- a/src/wrapped/generated/wrappedwaylandcursordefs.h
+++ b/src/wrapped/generated/wrappedwaylandcursordefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedwaylandcursorDEFS_H_
 #define __wrappedwaylandcursorDEFS_H_
diff --git a/src/wrapped/generated/wrappedwaylandcursortypes.h b/src/wrapped/generated/wrappedwaylandcursortypes.h
index d45e67b2..5da6dc2d 100644
--- a/src/wrapped/generated/wrappedwaylandcursortypes.h
+++ b/src/wrapped/generated/wrappedwaylandcursortypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedwaylandcursorTYPES_H_
 #define __wrappedwaylandcursorTYPES_H_
diff --git a/src/wrapped/generated/wrappedwaylandcursorundefs.h b/src/wrapped/generated/wrappedwaylandcursorundefs.h
index 1afa8344..e3d8cfb9 100644
--- a/src/wrapped/generated/wrappedwaylandcursorundefs.h
+++ b/src/wrapped/generated/wrappedwaylandcursorundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedwaylandcursorUNDEFS_H_
 #define __wrappedwaylandcursorUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedwaylandegldefs.h b/src/wrapped/generated/wrappedwaylandegldefs.h
index 9126638c..075f1984 100644
--- a/src/wrapped/generated/wrappedwaylandegldefs.h
+++ b/src/wrapped/generated/wrappedwaylandegldefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedwaylandeglDEFS_H_
 #define __wrappedwaylandeglDEFS_H_
diff --git a/src/wrapped/generated/wrappedwaylandegltypes.h b/src/wrapped/generated/wrappedwaylandegltypes.h
index eca8a4f4..de1f9a83 100644
--- a/src/wrapped/generated/wrappedwaylandegltypes.h
+++ b/src/wrapped/generated/wrappedwaylandegltypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedwaylandeglTYPES_H_
 #define __wrappedwaylandeglTYPES_H_
diff --git a/src/wrapped/generated/wrappedwaylandeglundefs.h b/src/wrapped/generated/wrappedwaylandeglundefs.h
index bf0a0f39..c06d0d2f 100644
--- a/src/wrapped/generated/wrappedwaylandeglundefs.h
+++ b/src/wrapped/generated/wrappedwaylandeglundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedwaylandeglUNDEFS_H_
 #define __wrappedwaylandeglUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedxineramadefs.h b/src/wrapped/generated/wrappedxineramadefs.h
index eff7c01a..c491e411 100644
--- a/src/wrapped/generated/wrappedxineramadefs.h
+++ b/src/wrapped/generated/wrappedxineramadefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxineramaDEFS_H_
 #define __wrappedxineramaDEFS_H_
diff --git a/src/wrapped/generated/wrappedxineramatypes.h b/src/wrapped/generated/wrappedxineramatypes.h
index aa9664f9..cc1b29f4 100644
--- a/src/wrapped/generated/wrappedxineramatypes.h
+++ b/src/wrapped/generated/wrappedxineramatypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxineramaTYPES_H_
 #define __wrappedxineramaTYPES_H_
diff --git a/src/wrapped/generated/wrappedxineramaundefs.h b/src/wrapped/generated/wrappedxineramaundefs.h
index f8ad30eb..9800e58d 100644
--- a/src/wrapped/generated/wrappedxineramaundefs.h
+++ b/src/wrapped/generated/wrappedxineramaundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxineramaUNDEFS_H_
 #define __wrappedxineramaUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedxkbcommondefs.h b/src/wrapped/generated/wrappedxkbcommondefs.h
index e1fca776..cdcefc50 100644
--- a/src/wrapped/generated/wrappedxkbcommondefs.h
+++ b/src/wrapped/generated/wrappedxkbcommondefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxkbcommonDEFS_H_
 #define __wrappedxkbcommonDEFS_H_
diff --git a/src/wrapped/generated/wrappedxkbcommontypes.h b/src/wrapped/generated/wrappedxkbcommontypes.h
index 5fde591a..3e23f596 100644
--- a/src/wrapped/generated/wrappedxkbcommontypes.h
+++ b/src/wrapped/generated/wrappedxkbcommontypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxkbcommonTYPES_H_
 #define __wrappedxkbcommonTYPES_H_
diff --git a/src/wrapped/generated/wrappedxkbcommonundefs.h b/src/wrapped/generated/wrappedxkbcommonundefs.h
index 0a15a202..91f5b67e 100644
--- a/src/wrapped/generated/wrappedxkbcommonundefs.h
+++ b/src/wrapped/generated/wrappedxkbcommonundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxkbcommonUNDEFS_H_
 #define __wrappedxkbcommonUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedxkbcommonx11defs.h b/src/wrapped/generated/wrappedxkbcommonx11defs.h
index e19b2bf7..3ea78f83 100644
--- a/src/wrapped/generated/wrappedxkbcommonx11defs.h
+++ b/src/wrapped/generated/wrappedxkbcommonx11defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxkbcommonx11DEFS_H_
 #define __wrappedxkbcommonx11DEFS_H_
diff --git a/src/wrapped/generated/wrappedxkbcommonx11types.h b/src/wrapped/generated/wrappedxkbcommonx11types.h
index 49e12e1f..db20d0b6 100644
--- a/src/wrapped/generated/wrappedxkbcommonx11types.h
+++ b/src/wrapped/generated/wrappedxkbcommonx11types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxkbcommonx11TYPES_H_
 #define __wrappedxkbcommonx11TYPES_H_
diff --git a/src/wrapped/generated/wrappedxkbcommonx11undefs.h b/src/wrapped/generated/wrappedxkbcommonx11undefs.h
index 28bd4357..3175142d 100644
--- a/src/wrapped/generated/wrappedxkbcommonx11undefs.h
+++ b/src/wrapped/generated/wrappedxkbcommonx11undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxkbcommonx11UNDEFS_H_
 #define __wrappedxkbcommonx11UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedxml2defs.h b/src/wrapped/generated/wrappedxml2defs.h
index 433c7dcd..056acc2f 100644
--- a/src/wrapped/generated/wrappedxml2defs.h
+++ b/src/wrapped/generated/wrappedxml2defs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxml2DEFS_H_
 #define __wrappedxml2DEFS_H_
diff --git a/src/wrapped/generated/wrappedxml2types.h b/src/wrapped/generated/wrappedxml2types.h
index b39a1161..5dfabefb 100644
--- a/src/wrapped/generated/wrappedxml2types.h
+++ b/src/wrapped/generated/wrappedxml2types.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxml2TYPES_H_
 #define __wrappedxml2TYPES_H_
diff --git a/src/wrapped/generated/wrappedxml2undefs.h b/src/wrapped/generated/wrappedxml2undefs.h
index 7a7f7824..bdc063fe 100644
--- a/src/wrapped/generated/wrappedxml2undefs.h
+++ b/src/wrapped/generated/wrappedxml2undefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxml2UNDEFS_H_
 #define __wrappedxml2UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedxshmfencedefs.h b/src/wrapped/generated/wrappedxshmfencedefs.h
index c15c43af..9c096e8c 100644
--- a/src/wrapped/generated/wrappedxshmfencedefs.h
+++ b/src/wrapped/generated/wrappedxshmfencedefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxshmfenceDEFS_H_
 #define __wrappedxshmfenceDEFS_H_
diff --git a/src/wrapped/generated/wrappedxshmfencetypes.h b/src/wrapped/generated/wrappedxshmfencetypes.h
index 1efa0a96..4ce0133c 100644
--- a/src/wrapped/generated/wrappedxshmfencetypes.h
+++ b/src/wrapped/generated/wrappedxshmfencetypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxshmfenceTYPES_H_
 #define __wrappedxshmfenceTYPES_H_
diff --git a/src/wrapped/generated/wrappedxshmfenceundefs.h b/src/wrapped/generated/wrappedxshmfenceundefs.h
index 886fad9e..6378ce06 100644
--- a/src/wrapped/generated/wrappedxshmfenceundefs.h
+++ b/src/wrapped/generated/wrappedxshmfenceundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxshmfenceUNDEFS_H_
 #define __wrappedxshmfenceUNDEFS_H_
diff --git a/src/wrapped/generated/wrappedxsltdefs.h b/src/wrapped/generated/wrappedxsltdefs.h
index 7c49b3c3..b3ddf570 100644
--- a/src/wrapped/generated/wrappedxsltdefs.h
+++ b/src/wrapped/generated/wrappedxsltdefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxsltDEFS_H_
 #define __wrappedxsltDEFS_H_
diff --git a/src/wrapped/generated/wrappedxslttypes.h b/src/wrapped/generated/wrappedxslttypes.h
index 83337e16..4446efa9 100644
--- a/src/wrapped/generated/wrappedxslttypes.h
+++ b/src/wrapped/generated/wrappedxslttypes.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxsltTYPES_H_
 #define __wrappedxsltTYPES_H_
diff --git a/src/wrapped/generated/wrappedxsltundefs.h b/src/wrapped/generated/wrappedxsltundefs.h
index 169227af..1ab7297c 100644
--- a/src/wrapped/generated/wrappedxsltundefs.h
+++ b/src/wrapped/generated/wrappedxsltundefs.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __wrappedxsltUNDEFS_H_
 #define __wrappedxsltUNDEFS_H_
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 129dc37a..8852b3cf 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #include <stdio.h>
 #include <stdlib.h>
@@ -72,6 +72,7 @@ typedef int32_t (*iFL_t)(uintptr_t);
 typedef int32_t (*iFp_t)(void*);
 typedef int32_t (*iFO_t)(int32_t);
 typedef int32_t (*iFS_t)(void*);
+typedef int32_t (*iFP_t)(void*);
 typedef int64_t (*IFv_t)(void);
 typedef int64_t (*IFi_t)(int32_t);
 typedef int64_t (*IFI_t)(int64_t);
@@ -194,6 +195,7 @@ typedef void (*vFpL_t)(void*, uintptr_t);
 typedef void (*vFpp_t)(void*, void*);
 typedef void (*vFpS_t)(void*, void*);
 typedef void (*vFSi_t)(void*, int32_t);
+typedef int8_t (*cFpi_t)(void*, int32_t);
 typedef int8_t (*cFpp_t)(void*, void*);
 typedef int16_t (*wFpi_t)(void*, int32_t);
 typedef int32_t (*iFEi_t)(x64emu_t*, int32_t);
@@ -253,6 +255,7 @@ typedef uint32_t (*uFEp_t)(x64emu_t*, void*);
 typedef uint32_t (*uFii_t)(int32_t, int32_t);
 typedef uint32_t (*uFiu_t)(int32_t, uint32_t);
 typedef uint32_t (*uFip_t)(int32_t, void*);
+typedef uint32_t (*uFui_t)(uint32_t, int32_t);
 typedef uint32_t (*uFuu_t)(uint32_t, uint32_t);
 typedef uint32_t (*uFup_t)(uint32_t, void*);
 typedef uint32_t (*uFpw_t)(void*, int16_t);
@@ -267,6 +270,7 @@ typedef uint32_t (*uFpp_t)(void*, void*);
 typedef uint64_t (*UFEp_t)(x64emu_t*, void*);
 typedef uint64_t (*UFuu_t)(uint32_t, uint32_t);
 typedef uint64_t (*UFpi_t)(void*, int32_t);
+typedef uint64_t (*UFpU_t)(void*, uint64_t);
 typedef uint64_t (*UFpp_t)(void*, void*);
 typedef float (*fFEp_t)(x64emu_t*, void*);
 typedef float (*fFif_t)(int32_t, float);
@@ -274,6 +278,7 @@ typedef float (*fFfi_t)(float, int32_t);
 typedef float (*fFff_t)(float, float);
 typedef float (*fFfD_t)(float, long double);
 typedef float (*fFfp_t)(float, void*);
+typedef float (*fFpu_t)(void*, uint32_t);
 typedef float (*fFpp_t)(void*, void*);
 typedef double (*dFid_t)(int32_t, double);
 typedef double (*dFdi_t)(double, int32_t);
@@ -315,7 +320,6 @@ typedef void* (*pFiI_t)(int32_t, int64_t);
 typedef void* (*pFiu_t)(int32_t, uint32_t);
 typedef void* (*pFip_t)(int32_t, void*);
 typedef void* (*pFiV_t)(int32_t, void*);
-typedef void* (*pFII_t)(int64_t, int64_t);
 typedef void* (*pFui_t)(uint32_t, int32_t);
 typedef void* (*pFuu_t)(uint32_t, uint32_t);
 typedef void* (*pFup_t)(uint32_t, void*);
@@ -323,6 +327,8 @@ typedef void* (*pFUU_t)(uint64_t, uint64_t);
 typedef void* (*pFdi_t)(double, int32_t);
 typedef void* (*pFdd_t)(double, double);
 typedef void* (*pFli_t)(intptr_t, int32_t);
+typedef void* (*pFll_t)(intptr_t, intptr_t);
+typedef void* (*pFlp_t)(intptr_t, void*);
 typedef void* (*pFLi_t)(uintptr_t, int32_t);
 typedef void* (*pFLC_t)(uintptr_t, uint8_t);
 typedef void* (*pFLu_t)(uintptr_t, uint32_t);
@@ -438,6 +444,7 @@ typedef void (*vFpUp_t)(void*, uint64_t, void*);
 typedef void (*vFpff_t)(void*, float, float);
 typedef void (*vFpdu_t)(void*, double, uint32_t);
 typedef void (*vFpdd_t)(void*, double, double);
+typedef void (*vFpdp_t)(void*, double, void*);
 typedef void (*vFpll_t)(void*, intptr_t, intptr_t);
 typedef void (*vFplp_t)(void*, intptr_t, void*);
 typedef void (*vFpLi_t)(void*, uintptr_t, int32_t);
@@ -452,6 +459,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 int8_t (*cFpdp_t)(void*, double, void*);
 typedef int16_t (*wFppp_t)(void*, void*, void*);
 typedef int32_t (*iFEiw_t)(x64emu_t*, int32_t, int16_t);
 typedef int32_t (*iFEip_t)(x64emu_t*, int32_t, void*);
@@ -491,6 +499,7 @@ typedef int32_t (*iFipO_t)(int32_t, void*, int32_t);
 typedef int32_t (*iFCuW_t)(uint8_t, uint32_t, uint16_t);
 typedef int32_t (*iFuwp_t)(uint32_t, int16_t, void*);
 typedef int32_t (*iFuip_t)(uint32_t, int32_t, void*);
+typedef int32_t (*iFuWp_t)(uint32_t, uint16_t, void*);
 typedef int32_t (*iFuui_t)(uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFuuu_t)(uint32_t, uint32_t, uint32_t);
 typedef int32_t (*iFuup_t)(uint32_t, uint32_t, void*);
@@ -586,6 +595,7 @@ typedef uint32_t (*uFpuu_t)(void*, uint32_t, uint32_t);
 typedef uint32_t (*uFpuL_t)(void*, uint32_t, uintptr_t);
 typedef uint32_t (*uFpup_t)(void*, uint32_t, void*);
 typedef uint32_t (*uFpfu_t)(void*, float, uint32_t);
+typedef uint32_t (*uFpli_t)(void*, intptr_t, int32_t);
 typedef uint32_t (*uFpLu_t)(void*, uintptr_t, uint32_t);
 typedef uint32_t (*uFpLL_t)(void*, uintptr_t, uintptr_t);
 typedef uint32_t (*uFpLp_t)(void*, uintptr_t, void*);
@@ -604,6 +614,7 @@ typedef float (*fFppp_t)(void*, void*, void*);
 typedef double (*dFuud_t)(uint32_t, uint32_t, double);
 typedef double (*dFddd_t)(double, double, double);
 typedef double (*dFddp_t)(double, double, void*);
+typedef double (*dFpii_t)(void*, int32_t, int32_t);
 typedef double (*dFpdd_t)(void*, double, double);
 typedef double (*dFppi_t)(void*, void*, int32_t);
 typedef double (*dFppu_t)(void*, void*, uint32_t);
@@ -670,6 +681,7 @@ typedef void* (*pFuup_t)(uint32_t, uint32_t, void*);
 typedef void* (*pFulu_t)(uint32_t, intptr_t, uint32_t);
 typedef void* (*pFulp_t)(uint32_t, intptr_t, void*);
 typedef void* (*pFupi_t)(uint32_t, void*, int32_t);
+typedef void* (*pFupu_t)(uint32_t, void*, uint32_t);
 typedef void* (*pFupl_t)(uint32_t, void*, intptr_t);
 typedef void* (*pFupL_t)(uint32_t, void*, uintptr_t);
 typedef void* (*pFupp_t)(uint32_t, void*, void*);
@@ -681,6 +693,7 @@ typedef void* (*pFlpi_t)(intptr_t, void*, int32_t);
 typedef void* (*pFLup_t)(uintptr_t, uint32_t, void*);
 typedef void* (*pFLLp_t)(uintptr_t, uintptr_t, void*);
 typedef void* (*pFLpi_t)(uintptr_t, void*, int32_t);
+typedef void* (*pFLpp_t)(uintptr_t, void*, void*);
 typedef void* (*pFpii_t)(void*, int32_t, int32_t);
 typedef void* (*pFpiu_t)(void*, int32_t, uint32_t);
 typedef void* (*pFpid_t)(void*, int32_t, double);
@@ -690,6 +703,7 @@ typedef void* (*pFpip_t)(void*, int32_t, void*);
 typedef void* (*pFpCi_t)(void*, uint8_t, int32_t);
 typedef void* (*pFpCC_t)(void*, uint8_t, uint8_t);
 typedef void* (*pFpCu_t)(void*, uint8_t, uint32_t);
+typedef void* (*pFpWi_t)(void*, uint16_t, int32_t);
 typedef void* (*pFpWW_t)(void*, uint16_t, uint16_t);
 typedef void* (*pFpWp_t)(void*, uint16_t, void*);
 typedef void* (*pFpui_t)(void*, uint32_t, int32_t);
@@ -826,6 +840,7 @@ typedef void (*vFLuui_t)(uintptr_t, uint32_t, uint32_t, int32_t);
 typedef void (*vFLppi_t)(uintptr_t, void*, void*, int32_t);
 typedef void (*vFpiii_t)(void*, int32_t, int32_t, int32_t);
 typedef void (*vFpiiu_t)(void*, int32_t, int32_t, uint32_t);
+typedef void (*vFpiid_t)(void*, int32_t, int32_t, double);
 typedef void (*vFpiip_t)(void*, int32_t, int32_t, void*);
 typedef void (*vFpiui_t)(void*, int32_t, uint32_t, int32_t);
 typedef void (*vFpiuu_t)(void*, int32_t, uint32_t, uint32_t);
@@ -889,10 +904,12 @@ typedef void (*vFpppd_t)(void*, void*, void*, double);
 typedef void (*vFpppl_t)(void*, void*, void*, intptr_t);
 typedef void (*vFpppL_t)(void*, void*, void*, uintptr_t);
 typedef void (*vFpppp_t)(void*, void*, void*, void*);
+typedef int8_t (*cFpipp_t)(void*, int32_t, void*, void*);
 typedef int32_t (*iFEiip_t)(x64emu_t*, int32_t, int32_t, void*);
 typedef int32_t (*iFEiiN_t)(x64emu_t*, int32_t, int32_t, ...);
 typedef int32_t (*iFEipp_t)(x64emu_t*, int32_t, void*, void*);
 typedef int32_t (*iFEipV_t)(x64emu_t*, int32_t, void*, void*);
+typedef int32_t (*iFEipA_t)(x64emu_t*, int32_t, void*, void*);
 typedef int32_t (*iFEupu_t)(x64emu_t*, uint32_t, void*, uint32_t);
 typedef int32_t (*iFEupp_t)(x64emu_t*, uint32_t, void*, void*);
 typedef int32_t (*iFEpii_t)(x64emu_t*, void*, int32_t, int32_t);
@@ -930,6 +947,7 @@ typedef int32_t (*iFilli_t)(int32_t, intptr_t, intptr_t, int32_t);
 typedef int32_t (*iFillu_t)(int32_t, intptr_t, intptr_t, uint32_t);
 typedef int32_t (*iFipii_t)(int32_t, void*, int32_t, int32_t);
 typedef int32_t (*iFipip_t)(int32_t, void*, int32_t, void*);
+typedef int32_t (*iFipWp_t)(int32_t, void*, uint16_t, void*);
 typedef int32_t (*iFipui_t)(int32_t, void*, uint32_t, int32_t);
 typedef int32_t (*iFipuL_t)(int32_t, void*, uint32_t, uintptr_t);
 typedef int32_t (*iFipup_t)(int32_t, void*, uint32_t, void*);
@@ -937,18 +955,21 @@ typedef int32_t (*iFipLi_t)(int32_t, void*, uintptr_t, int32_t);
 typedef int32_t (*iFipLu_t)(int32_t, void*, uintptr_t, uint32_t);
 typedef int32_t (*iFipLp_t)(int32_t, void*, uintptr_t, void*);
 typedef int32_t (*iFippi_t)(int32_t, void*, void*, int32_t);
-typedef int32_t (*iFippu_t)(int32_t, void*, void*, uint32_t);
 typedef int32_t (*iFippL_t)(int32_t, void*, void*, uintptr_t);
 typedef int32_t (*iFippp_t)(int32_t, void*, void*, void*);
 typedef int32_t (*iFipON_t)(int32_t, void*, int32_t, ...);
 typedef int32_t (*iFuiup_t)(uint32_t, int32_t, uint32_t, void*);
 typedef int32_t (*iFuipp_t)(uint32_t, int32_t, void*, void*);
+typedef int32_t (*iFuWWp_t)(uint32_t, uint16_t, uint16_t, void*);
 typedef int32_t (*iFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t);
 typedef int32_t (*iFuupi_t)(uint32_t, uint32_t, void*, int32_t);
+typedef int32_t (*iFuupp_t)(uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFupLp_t)(uint32_t, void*, uintptr_t, void*);
 typedef int32_t (*iFuppi_t)(uint32_t, void*, void*, int32_t);
+typedef int32_t (*iFuppu_t)(uint32_t, void*, void*, uint32_t);
 typedef int32_t (*iFuppp_t)(uint32_t, void*, void*, void*);
 typedef int32_t (*iFLLiW_t)(uintptr_t, uintptr_t, int32_t, uint16_t);
+typedef int32_t (*iFLppp_t)(uintptr_t, void*, void*, void*);
 typedef int32_t (*iFpwww_t)(void*, int16_t, int16_t, int16_t);
 typedef int32_t (*iFpwpp_t)(void*, int16_t, void*, void*);
 typedef int32_t (*iFpiii_t)(void*, int32_t, int32_t, int32_t);
@@ -995,6 +1016,7 @@ typedef int32_t (*iFpUup_t)(void*, uint64_t, uint32_t, void*);
 typedef int32_t (*iFpUUU_t)(void*, uint64_t, uint64_t, uint64_t);
 typedef int32_t (*iFpULp_t)(void*, uint64_t, uintptr_t, void*);
 typedef int32_t (*iFpUpp_t)(void*, uint64_t, void*, void*);
+typedef int32_t (*iFpdip_t)(void*, double, int32_t, void*);
 typedef int32_t (*iFplii_t)(void*, intptr_t, int32_t, int32_t);
 typedef int32_t (*iFplip_t)(void*, intptr_t, int32_t, void*);
 typedef int32_t (*iFplpi_t)(void*, intptr_t, void*, int32_t);
@@ -1050,6 +1072,7 @@ typedef int64_t (*IFSIii_t)(void*, int64_t, int32_t, int32_t);
 typedef uint8_t (*CFuuff_t)(uint32_t, uint32_t, float, float);
 typedef uint8_t (*CFpiii_t)(void*, int32_t, int32_t, int32_t);
 typedef uint8_t (*CFpupp_t)(void*, uint32_t, void*, void*);
+typedef uint8_t (*CFpLLi_t)(void*, uintptr_t, uintptr_t, int32_t);
 typedef uint8_t (*CFppip_t)(void*, void*, int32_t, void*);
 typedef uint32_t (*uFEipp_t)(x64emu_t*, int32_t, void*, void*);
 typedef uint32_t (*uFEupp_t)(x64emu_t*, uint32_t, void*, void*);
@@ -1070,6 +1093,7 @@ typedef uint32_t (*uFpupu_t)(void*, uint32_t, void*, uint32_t);
 typedef uint32_t (*uFpupp_t)(void*, uint32_t, void*, void*);
 typedef uint32_t (*uFppiu_t)(void*, void*, int32_t, uint32_t);
 typedef uint32_t (*uFppip_t)(void*, void*, int32_t, void*);
+typedef uint32_t (*uFppuu_t)(void*, void*, uint32_t, uint32_t);
 typedef uint32_t (*uFpplp_t)(void*, void*, intptr_t, void*);
 typedef uint32_t (*uFppLp_t)(void*, void*, uintptr_t, void*);
 typedef uint32_t (*uFpppi_t)(void*, void*, void*, int32_t);
@@ -1137,13 +1161,13 @@ typedef void* (*pFiiuu_t)(int32_t, int32_t, uint32_t, uint32_t);
 typedef void* (*pFiiup_t)(int32_t, int32_t, uint32_t, void*);
 typedef void* (*pFiiLp_t)(int32_t, int32_t, uintptr_t, void*);
 typedef void* (*pFiipi_t)(int32_t, int32_t, void*, int32_t);
-typedef void* (*pFiipp_t)(int32_t, int32_t, void*, void*);
 typedef void* (*pFiIIi_t)(int32_t, int64_t, int64_t, int32_t);
 typedef void* (*pFillu_t)(int32_t, intptr_t, intptr_t, uint32_t);
 typedef void* (*pFipii_t)(int32_t, void*, int32_t, int32_t);
 typedef void* (*pFipip_t)(int32_t, void*, int32_t, void*);
 typedef void* (*pFippi_t)(int32_t, void*, void*, int32_t);
 typedef void* (*pFippu_t)(int32_t, void*, void*, uint32_t);
+typedef void* (*pFippp_t)(int32_t, void*, void*, void*);
 typedef void* (*pFuuii_t)(uint32_t, uint32_t, int32_t, int32_t);
 typedef void* (*pFuuip_t)(uint32_t, uint32_t, int32_t, void*);
 typedef void* (*pFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t);
@@ -1156,6 +1180,9 @@ typedef void* (*pFdddd_t)(double, double, double, double);
 typedef void* (*pFDipp_t)(long double, int32_t, void*, void*);
 typedef void* (*pFlfff_t)(intptr_t, float, float, float);
 typedef void* (*pFLiip_t)(uintptr_t, int32_t, int32_t, void*);
+typedef void* (*pFLLup_t)(uintptr_t, uintptr_t, uint32_t, void*);
+typedef void* (*pFLLpp_t)(uintptr_t, uintptr_t, void*, void*);
+typedef void* (*pFLppp_t)(uintptr_t, void*, void*, void*);
 typedef void* (*pFpiii_t)(void*, int32_t, int32_t, int32_t);
 typedef void* (*pFpiiu_t)(void*, int32_t, int32_t, uint32_t);
 typedef void* (*pFpiip_t)(void*, int32_t, int32_t, void*);
@@ -1183,8 +1210,10 @@ typedef void* (*pFpupu_t)(void*, uint32_t, void*, uint32_t);
 typedef void* (*pFpupp_t)(void*, uint32_t, void*, void*);
 typedef void* (*pFpdIU_t)(void*, double, int64_t, uint64_t);
 typedef void* (*pFplil_t)(void*, intptr_t, int32_t, intptr_t);
+typedef void* (*pFplip_t)(void*, intptr_t, int32_t, void*);
 typedef void* (*pFplpl_t)(void*, intptr_t, void*, intptr_t);
 typedef void* (*pFplpp_t)(void*, intptr_t, void*, void*);
+typedef void* (*pFpLii_t)(void*, uintptr_t, int32_t, int32_t);
 typedef void* (*pFpLip_t)(void*, uintptr_t, int32_t, void*);
 typedef void* (*pFpLup_t)(void*, uintptr_t, uint32_t, void*);
 typedef void* (*pFpLLp_t)(void*, uintptr_t, uintptr_t, void*);
@@ -1383,6 +1412,7 @@ typedef void (*vFpLpiL_t)(void*, uintptr_t, void*, int32_t, uintptr_t);
 typedef void (*vFppiii_t)(void*, void*, int32_t, int32_t, int32_t);
 typedef void (*vFppiiu_t)(void*, void*, int32_t, int32_t, uint32_t);
 typedef void (*vFppiip_t)(void*, void*, int32_t, int32_t, void*);
+typedef void (*vFppiui_t)(void*, void*, int32_t, uint32_t, int32_t);
 typedef void (*vFppiup_t)(void*, void*, int32_t, uint32_t, void*);
 typedef void (*vFppiff_t)(void*, void*, int32_t, float, float);
 typedef void (*vFppidd_t)(void*, void*, int32_t, double, double);
@@ -1395,6 +1425,7 @@ typedef void (*vFppuuu_t)(void*, void*, uint32_t, uint32_t, uint32_t);
 typedef void (*vFppuup_t)(void*, void*, uint32_t, uint32_t, void*);
 typedef void (*vFppudd_t)(void*, void*, uint32_t, double, double);
 typedef void (*vFppupi_t)(void*, void*, uint32_t, void*, int32_t);
+typedef void (*vFppupu_t)(void*, void*, uint32_t, void*, uint32_t);
 typedef void (*vFppupp_t)(void*, void*, uint32_t, void*, void*);
 typedef void (*vFppfff_t)(void*, void*, float, float, float);
 typedef void (*vFppddp_t)(void*, void*, double, double, void*);
@@ -1404,6 +1435,7 @@ typedef void (*vFpppip_t)(void*, void*, void*, int32_t, void*);
 typedef void (*vFpppui_t)(void*, void*, void*, uint32_t, int32_t);
 typedef void (*vFpppuu_t)(void*, void*, void*, uint32_t, uint32_t);
 typedef void (*vFpppup_t)(void*, void*, void*, uint32_t, void*);
+typedef void (*vFpppff_t)(void*, void*, void*, float, float);
 typedef void (*vFpppdd_t)(void*, void*, void*, double, double);
 typedef void (*vFppppi_t)(void*, void*, void*, void*, int32_t);
 typedef void (*vFppppu_t)(void*, void*, void*, void*, uint32_t);
@@ -1411,6 +1443,7 @@ typedef void (*vFppppL_t)(void*, void*, void*, void*, uintptr_t);
 typedef void (*vFppppp_t)(void*, void*, void*, void*, void*);
 typedef int32_t (*iFEiipp_t)(x64emu_t*, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFEiipV_t)(x64emu_t*, int32_t, int32_t, void*, void*);
+typedef int32_t (*iFEiipA_t)(x64emu_t*, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFEippi_t)(x64emu_t*, int32_t, void*, void*, int32_t);
 typedef int32_t (*iFEippL_t)(x64emu_t*, int32_t, void*, void*, uintptr_t);
 typedef int32_t (*iFEippp_t)(x64emu_t*, int32_t, void*, void*, void*);
@@ -1452,8 +1485,10 @@ typedef int32_t (*iFippLi_t)(int32_t, void*, void*, uintptr_t, int32_t);
 typedef int32_t (*iFippLp_t)(int32_t, void*, void*, uintptr_t, void*);
 typedef int32_t (*iFipppi_t)(int32_t, void*, void*, void*, int32_t);
 typedef int32_t (*iFipppp_t)(int32_t, void*, void*, void*, void*);
+typedef int32_t (*iFuuupp_t)(uint32_t, uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFuppLp_t)(uint32_t, void*, void*, uintptr_t, void*);
 typedef int32_t (*iFLppip_t)(uintptr_t, void*, void*, int32_t, void*);
+typedef int32_t (*iFLpppp_t)(uintptr_t, void*, void*, void*, void*);
 typedef int32_t (*iFpwwww_t)(void*, int16_t, int16_t, int16_t, int16_t);
 typedef int32_t (*iFpwppp_t)(void*, int16_t, void*, void*, void*);
 typedef int32_t (*iFpiiii_t)(void*, int32_t, int32_t, int32_t, int32_t);
@@ -1485,11 +1520,14 @@ typedef int32_t (*iFpuuip_t)(void*, uint32_t, uint32_t, int32_t, void*);
 typedef int32_t (*iFpuuui_t)(void*, uint32_t, uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFpuuup_t)(void*, uint32_t, uint32_t, uint32_t, void*);
 typedef int32_t (*iFpuuLL_t)(void*, uint32_t, uint32_t, uintptr_t, uintptr_t);
+typedef int32_t (*iFpuupp_t)(void*, uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFpulup_t)(void*, uint32_t, intptr_t, uint32_t, void*);
 typedef int32_t (*iFpulpp_t)(void*, uint32_t, intptr_t, void*, void*);
 typedef int32_t (*iFpupiU_t)(void*, uint32_t, void*, int32_t, uint64_t);
+typedef int32_t (*iFpupui_t)(void*, uint32_t, void*, uint32_t, int32_t);
 typedef int32_t (*iFpupuu_t)(void*, uint32_t, void*, uint32_t, uint32_t);
 typedef int32_t (*iFpupup_t)(void*, uint32_t, void*, uint32_t, void*);
+typedef int32_t (*iFpuppL_t)(void*, uint32_t, void*, void*, uintptr_t);
 typedef int32_t (*iFpuppp_t)(void*, uint32_t, void*, void*, void*);
 typedef int32_t (*iFpUiUi_t)(void*, uint64_t, int32_t, uint64_t, int32_t);
 typedef int32_t (*iFpUupp_t)(void*, uint64_t, uint32_t, void*, void*);
@@ -1518,6 +1556,7 @@ typedef int32_t (*iFppiup_t)(void*, void*, int32_t, uint32_t, void*);
 typedef int32_t (*iFppiLi_t)(void*, void*, int32_t, uintptr_t, int32_t);
 typedef int32_t (*iFppiLL_t)(void*, void*, int32_t, uintptr_t, uintptr_t);
 typedef int32_t (*iFppipi_t)(void*, void*, int32_t, void*, int32_t);
+typedef int32_t (*iFppipu_t)(void*, void*, int32_t, void*, uint32_t);
 typedef int32_t (*iFppipp_t)(void*, void*, int32_t, void*, void*);
 typedef int32_t (*iFppuwp_t)(void*, void*, uint32_t, int16_t, void*);
 typedef int32_t (*iFppuip_t)(void*, void*, uint32_t, int32_t, void*);
@@ -1557,9 +1596,11 @@ typedef uint32_t (*uFuiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t);
 typedef uint32_t (*uFLpppL_t)(uintptr_t, void*, void*, void*, uintptr_t);
 typedef uint32_t (*uFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
 typedef uint32_t (*uFpWuip_t)(void*, uint16_t, uint32_t, int32_t, void*);
+typedef uint32_t (*uFpuuui_t)(void*, uint32_t, uint32_t, uint32_t, int32_t);
 typedef uint32_t (*uFpuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFpuupp_t)(void*, uint32_t, uint32_t, void*, void*);
 typedef uint32_t (*uFpupuu_t)(void*, uint32_t, void*, uint32_t, uint32_t);
+typedef uint32_t (*uFpuppp_t)(void*, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFppipp_t)(void*, void*, int32_t, void*, void*);
 typedef uint32_t (*uFppuup_t)(void*, void*, uint32_t, uint32_t, void*);
 typedef uint32_t (*uFppupp_t)(void*, void*, uint32_t, void*, void*);
@@ -1589,6 +1630,7 @@ typedef uintptr_t (*LFpLpuu_t)(void*, uintptr_t, void*, uint32_t, uint32_t);
 typedef uintptr_t (*LFpLppL_t)(void*, uintptr_t, void*, void*, uintptr_t);
 typedef uintptr_t (*LFpLppp_t)(void*, uintptr_t, void*, void*, void*);
 typedef uintptr_t (*LFppLLp_t)(void*, void*, uintptr_t, uintptr_t, void*);
+typedef uintptr_t (*LFppLpL_t)(void*, void*, uintptr_t, void*, uintptr_t);
 typedef uintptr_t (*LFpppii_t)(void*, void*, void*, int32_t, int32_t);
 typedef uintptr_t (*LFppppp_t)(void*, void*, void*, void*, void*);
 typedef void* (*pFEpiii_t)(x64emu_t*, void*, int32_t, int32_t, int32_t);
@@ -1625,6 +1667,7 @@ typedef void* (*pFpiipp_t)(void*, int32_t, int32_t, void*, void*);
 typedef void* (*pFpiCCC_t)(void*, int32_t, uint8_t, uint8_t, uint8_t);
 typedef void* (*pFpiuuu_t)(void*, int32_t, uint32_t, uint32_t, uint32_t);
 typedef void* (*pFpiupp_t)(void*, int32_t, uint32_t, void*, void*);
+typedef void* (*pFpiLip_t)(void*, int32_t, uintptr_t, int32_t, void*);
 typedef void* (*pFpipip_t)(void*, int32_t, void*, int32_t, void*);
 typedef void* (*pFpipup_t)(void*, int32_t, void*, uint32_t, void*);
 typedef void* (*pFpippi_t)(void*, int32_t, void*, void*, int32_t);
@@ -1639,14 +1682,17 @@ typedef void* (*pFpuuWW_t)(void*, uint32_t, uint32_t, uint16_t, uint16_t);
 typedef void* (*pFpuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef void* (*pFpuuup_t)(void*, uint32_t, uint32_t, uint32_t, void*);
 typedef void* (*pFpupii_t)(void*, uint32_t, void*, int32_t, int32_t);
+typedef void* (*pFpuppu_t)(void*, uint32_t, void*, void*, uint32_t);
 typedef void* (*pFpuppp_t)(void*, uint32_t, void*, void*, void*);
 typedef void* (*pFpUdii_t)(void*, uint64_t, double, int32_t, int32_t);
 typedef void* (*pFpfffi_t)(void*, float, float, float, int32_t);
 typedef void* (*pFpdddd_t)(void*, double, double, double, double);
 typedef void* (*pFplppp_t)(void*, intptr_t, void*, void*, void*);
 typedef void* (*pFpLiii_t)(void*, uintptr_t, int32_t, int32_t, int32_t);
+typedef void* (*pFpLLip_t)(void*, uintptr_t, uintptr_t, int32_t, void*);
 typedef void* (*pFpLLLp_t)(void*, uintptr_t, uintptr_t, uintptr_t, void*);
 typedef void* (*pFpLpii_t)(void*, uintptr_t, void*, int32_t, int32_t);
+typedef void* (*pFpLpip_t)(void*, uintptr_t, void*, int32_t, void*);
 typedef void* (*pFppiii_t)(void*, void*, int32_t, int32_t, int32_t);
 typedef void* (*pFppiiu_t)(void*, void*, int32_t, int32_t, uint32_t);
 typedef void* (*pFppiip_t)(void*, void*, int32_t, int32_t, void*);
@@ -1661,11 +1707,13 @@ typedef void* (*pFppuup_t)(void*, void*, uint32_t, uint32_t, void*);
 typedef void* (*pFppupp_t)(void*, void*, uint32_t, void*, void*);
 typedef void* (*pFppddu_t)(void*, void*, double, double, uint32_t);
 typedef void* (*pFppLii_t)(void*, void*, uintptr_t, int32_t, int32_t);
+typedef void* (*pFppLLi_t)(void*, void*, uintptr_t, uintptr_t, int32_t);
+typedef void* (*pFppLpp_t)(void*, void*, uintptr_t, void*, void*);
 typedef void* (*pFpppii_t)(void*, void*, void*, int32_t, int32_t);
 typedef void* (*pFpppip_t)(void*, void*, void*, int32_t, void*);
-typedef void* (*pFpppIi_t)(void*, void*, void*, int64_t, int32_t);
 typedef void* (*pFpppui_t)(void*, void*, void*, uint32_t, int32_t);
 typedef void* (*pFpppup_t)(void*, void*, void*, uint32_t, void*);
+typedef void* (*pFpppli_t)(void*, void*, void*, intptr_t, int32_t);
 typedef void* (*pFpppLi_t)(void*, void*, void*, uintptr_t, int32_t);
 typedef void* (*pFppppi_t)(void*, void*, void*, void*, int32_t);
 typedef void* (*pFppppu_t)(void*, void*, void*, void*, uint32_t);
@@ -1689,6 +1737,7 @@ typedef void (*vFEiiipp_t)(x64emu_t*, int32_t, int32_t, int32_t, void*, void*);
 typedef void (*vFEpiLpp_t)(x64emu_t*, void*, int32_t, uintptr_t, void*, void*);
 typedef void (*vFEpippp_t)(x64emu_t*, void*, int32_t, void*, void*, void*);
 typedef void (*vFEpuipp_t)(x64emu_t*, void*, uint32_t, int32_t, void*, void*);
+typedef void (*vFEpuipV_t)(x64emu_t*, void*, uint32_t, int32_t, void*, void*);
 typedef void (*vFEpupup_t)(x64emu_t*, void*, uint32_t, void*, uint32_t, void*);
 typedef void (*vFEpuppp_t)(x64emu_t*, void*, uint32_t, void*, void*, void*);
 typedef void (*vFEpLLpp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*, void*);
@@ -1778,11 +1827,14 @@ typedef void (*vFpuiiii_t)(void*, uint32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFpuiiiu_t)(void*, uint32_t, int32_t, int32_t, int32_t, uint32_t);
 typedef void (*vFpuiipp_t)(void*, uint32_t, int32_t, int32_t, void*, void*);
 typedef void (*vFpuuuiu_t)(void*, uint32_t, uint32_t, uint32_t, int32_t, uint32_t);
+typedef void (*vFpuuuup_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef void (*vFpuuupp_t)(void*, uint32_t, uint32_t, uint32_t, void*, void*);
 typedef void (*vFpuupuu_t)(void*, uint32_t, uint32_t, void*, uint32_t, uint32_t);
 typedef void (*vFpuuppp_t)(void*, uint32_t, uint32_t, void*, void*, void*);
 typedef void (*vFpudddd_t)(void*, uint32_t, double, double, double, double);
 typedef void (*vFpupiUu_t)(void*, uint32_t, void*, int32_t, uint64_t, uint32_t);
 typedef void (*vFpupuuu_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t);
+typedef void (*vFpupupu_t)(void*, uint32_t, void*, uint32_t, void*, uint32_t);
 typedef void (*vFpuppuu_t)(void*, uint32_t, void*, void*, uint32_t, uint32_t);
 typedef void (*vFpupppp_t)(void*, uint32_t, void*, void*, void*, void*);
 typedef void (*vFpUiuup_t)(void*, uint64_t, int32_t, uint32_t, uint32_t, void*);
@@ -1841,11 +1893,13 @@ typedef int32_t (*iFEpippi_t)(x64emu_t*, void*, int32_t, void*, void*, int32_t);
 typedef int32_t (*iFEpIppp_t)(x64emu_t*, void*, int64_t, void*, void*, void*);
 typedef int32_t (*iFEpuppp_t)(x64emu_t*, void*, uint32_t, void*, void*, void*);
 typedef int32_t (*iFEpUppp_t)(x64emu_t*, void*, uint64_t, void*, void*, void*);
+typedef int32_t (*iFEppppi_t)(x64emu_t*, void*, void*, void*, void*, int32_t);
 typedef int32_t (*iFEppppp_t)(x64emu_t*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFiiiipp_t)(int32_t, int32_t, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFiiiuwp_t)(int32_t, int32_t, int32_t, uint32_t, int16_t, void*);
 typedef int32_t (*iFiWiipi_t)(int32_t, uint16_t, int32_t, int32_t, void*, int32_t);
+typedef int32_t (*iFilpppp_t)(int32_t, intptr_t, void*, void*, void*, void*);
 typedef int32_t (*iFiLpppi_t)(int32_t, uintptr_t, void*, void*, void*, int32_t);
 typedef int32_t (*iFipiipi_t)(int32_t, void*, int32_t, int32_t, void*, int32_t);
 typedef int32_t (*iFipipip_t)(int32_t, void*, int32_t, void*, int32_t, void*);
@@ -1870,17 +1924,23 @@ typedef int32_t (*iFpiCCpu_t)(void*, int32_t, uint8_t, uint8_t, void*, uint32_t)
 typedef int32_t (*iFpiuuup_t)(void*, int32_t, uint32_t, uint32_t, uint32_t, void*);
 typedef int32_t (*iFpiuupp_t)(void*, int32_t, uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFpipipi_t)(void*, int32_t, void*, int32_t, void*, int32_t);
+typedef int32_t (*iFpipipp_t)(void*, int32_t, void*, int32_t, void*, void*);
 typedef int32_t (*iFpipupp_t)(void*, int32_t, void*, uint32_t, void*, void*);
 typedef int32_t (*iFpippip_t)(void*, int32_t, void*, void*, int32_t, void*);
+typedef int32_t (*iFpippup_t)(void*, int32_t, void*, void*, uint32_t, void*);
 typedef int32_t (*iFpipppL_t)(void*, int32_t, void*, void*, void*, uintptr_t);
 typedef int32_t (*iFpipppp_t)(void*, int32_t, void*, void*, void*, void*);
 typedef int32_t (*iFpCiipp_t)(void*, uint8_t, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFpCpipu_t)(void*, uint8_t, void*, int32_t, void*, uint32_t);
+typedef int32_t (*iFpWipip_t)(void*, uint16_t, int32_t, void*, int32_t, void*);
 typedef int32_t (*iFpWpppp_t)(void*, uint16_t, void*, void*, void*, void*);
 typedef int32_t (*iFpuiCpp_t)(void*, uint32_t, int32_t, uint8_t, void*, void*);
 typedef int32_t (*iFpuippp_t)(void*, uint32_t, int32_t, void*, void*, void*);
 typedef int32_t (*iFpuuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef int32_t (*iFpuuuup_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef int32_t (*iFpuuupp_t)(void*, uint32_t, uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFpuupuu_t)(void*, uint32_t, uint32_t, void*, uint32_t, uint32_t);
+typedef int32_t (*iFpuuppp_t)(void*, uint32_t, uint32_t, void*, void*, void*);
 typedef int32_t (*iFpuLLpp_t)(void*, uint32_t, uintptr_t, uintptr_t, void*, void*);
 typedef int32_t (*iFpupuui_t)(void*, uint32_t, void*, uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFpupLpL_t)(void*, uint32_t, void*, uintptr_t, void*, uintptr_t);
@@ -1889,6 +1949,7 @@ typedef int32_t (*iFpUuuLp_t)(void*, uint64_t, uint32_t, uint32_t, uintptr_t, vo
 typedef int32_t (*iFpUuupp_t)(void*, uint64_t, uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFpUUUip_t)(void*, uint64_t, uint64_t, uint64_t, int32_t, void*);
 typedef int32_t (*iFpUUUUp_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t, void*);
+typedef int32_t (*iFpdpipp_t)(void*, double, void*, int32_t, void*, void*);
 typedef int32_t (*iFpLiiiL_t)(void*, uintptr_t, int32_t, int32_t, int32_t, uintptr_t);
 typedef int32_t (*iFpLiiip_t)(void*, uintptr_t, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFpLiiuu_t)(void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t);
@@ -1907,9 +1968,11 @@ typedef int32_t (*iFppiiip_t)(void*, void*, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFppiipi_t)(void*, void*, int32_t, int32_t, void*, int32_t);
 typedef int32_t (*iFppiipp_t)(void*, void*, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFppiupp_t)(void*, void*, int32_t, uint32_t, void*, void*);
+typedef int32_t (*iFppilpp_t)(void*, void*, int32_t, intptr_t, void*, void*);
 typedef int32_t (*iFppipii_t)(void*, void*, int32_t, void*, int32_t, int32_t);
 typedef int32_t (*iFppipiL_t)(void*, void*, int32_t, void*, int32_t, uintptr_t);
 typedef int32_t (*iFppipip_t)(void*, void*, int32_t, void*, int32_t, void*);
+typedef int32_t (*iFppippu_t)(void*, void*, int32_t, void*, void*, uint32_t);
 typedef int32_t (*iFppIppp_t)(void*, void*, int64_t, void*, void*, void*);
 typedef int32_t (*iFppuiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFppuIII_t)(void*, void*, uint32_t, int64_t, int64_t, int64_t);
@@ -1922,12 +1985,15 @@ typedef int32_t (*iFpplppi_t)(void*, void*, intptr_t, void*, void*, int32_t);
 typedef int32_t (*iFppLupp_t)(void*, void*, uintptr_t, uint32_t, void*, void*);
 typedef int32_t (*iFppLLiL_t)(void*, void*, uintptr_t, uintptr_t, int32_t, uintptr_t);
 typedef int32_t (*iFppLLup_t)(void*, void*, uintptr_t, uintptr_t, uint32_t, void*);
+typedef int32_t (*iFppLLpp_t)(void*, void*, uintptr_t, uintptr_t, void*, void*);
 typedef int32_t (*iFppLpLp_t)(void*, void*, uintptr_t, void*, uintptr_t, void*);
 typedef int32_t (*iFppLppp_t)(void*, void*, uintptr_t, void*, void*, void*);
 typedef int32_t (*iFpppiuu_t)(void*, void*, void*, int32_t, uint32_t, uint32_t);
 typedef int32_t (*iFpppipi_t)(void*, void*, void*, int32_t, void*, int32_t);
+typedef int32_t (*iFpppipu_t)(void*, void*, void*, int32_t, void*, uint32_t);
 typedef int32_t (*iFpppipp_t)(void*, void*, void*, int32_t, void*, void*);
 typedef int32_t (*iFpppuii_t)(void*, void*, void*, uint32_t, int32_t, int32_t);
+typedef int32_t (*iFpppuup_t)(void*, void*, void*, uint32_t, uint32_t, void*);
 typedef int32_t (*iFpppupu_t)(void*, void*, void*, uint32_t, void*, uint32_t);
 typedef int32_t (*iFpppupp_t)(void*, void*, void*, uint32_t, void*, void*);
 typedef int32_t (*iFpppLpp_t)(void*, void*, void*, uintptr_t, void*, void*);
@@ -1936,6 +2002,7 @@ typedef int32_t (*iFppppiu_t)(void*, void*, void*, void*, int32_t, uint32_t);
 typedef int32_t (*iFppppip_t)(void*, void*, void*, void*, int32_t, void*);
 typedef int32_t (*iFppppup_t)(void*, void*, void*, void*, uint32_t, void*);
 typedef int32_t (*iFpppppi_t)(void*, void*, void*, void*, void*, int32_t);
+typedef int32_t (*iFpppppL_t)(void*, void*, void*, void*, void*, uintptr_t);
 typedef int32_t (*iFpppppp_t)(void*, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFEiippp_t)(x64emu_t*, int32_t, int32_t, void*, void*, void*);
 typedef uint32_t (*uFEiuppp_t)(x64emu_t*, int32_t, uint32_t, void*, void*, void*);
@@ -1950,6 +2017,9 @@ typedef uint32_t (*uFpWuipp_t)(void*, uint16_t, uint32_t, int32_t, void*, void*)
 typedef uint32_t (*uFpWuuCp_t)(void*, uint16_t, uint32_t, uint32_t, uint8_t, void*);
 typedef uint32_t (*uFpuippp_t)(void*, uint32_t, int32_t, void*, void*, void*);
 typedef uint32_t (*uFpuuuup_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef uint32_t (*uFpuuupp_t)(void*, uint32_t, uint32_t, uint32_t, void*, void*);
+typedef uint32_t (*uFpuuppp_t)(void*, uint32_t, uint32_t, void*, void*, void*);
+typedef uint32_t (*uFpupupu_t)(void*, uint32_t, void*, uint32_t, void*, uint32_t);
 typedef uint32_t (*uFppippp_t)(void*, void*, int32_t, void*, void*, void*);
 typedef uint32_t (*uFppuuup_t)(void*, void*, uint32_t, uint32_t, uint32_t, void*);
 typedef uint32_t (*uFppuupu_t)(void*, void*, uint32_t, uint32_t, void*, uint32_t);
@@ -1972,6 +2042,7 @@ typedef uintptr_t (*LFEppppi_t)(x64emu_t*, void*, void*, void*, void*, int32_t);
 typedef uintptr_t (*LFpipipi_t)(void*, int32_t, void*, int32_t, void*, int32_t);
 typedef uintptr_t (*LFpLippp_t)(void*, uintptr_t, int32_t, void*, void*, void*);
 typedef uintptr_t (*LFpLLLLL_t)(void*, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
+typedef uintptr_t (*LFppLLpL_t)(void*, void*, uintptr_t, uintptr_t, void*, uintptr_t);
 typedef uintptr_t (*LFSpLiip_t)(void*, void*, uintptr_t, int32_t, int32_t, void*);
 typedef void* (*pFEpiupp_t)(x64emu_t*, void*, int32_t, uint32_t, void*, void*);
 typedef void* (*pFEpippp_t)(x64emu_t*, void*, int32_t, void*, void*, void*);
@@ -1990,14 +2061,17 @@ typedef void* (*pFiiiiid_t)(int32_t, int32_t, int32_t, int32_t, int32_t, double)
 typedef void* (*pFipippp_t)(int32_t, void*, int32_t, void*, void*, void*);
 typedef void* (*pFWCiWCi_t)(uint16_t, uint8_t, int32_t, uint16_t, uint8_t, int32_t);
 typedef void* (*pFuuipip_t)(uint32_t, uint32_t, int32_t, void*, int32_t, void*);
+typedef void* (*pFuuuiip_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, void*);
 typedef void* (*pFuuuuii_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t);
 typedef void* (*pFuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef void* (*pFuuuuup_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef void* (*pFuuppuu_t)(uint32_t, uint32_t, void*, void*, uint32_t, uint32_t);
 typedef void* (*pFdddddd_t)(double, double, double, double, double, double);
 typedef void* (*pFpiiiiu_t)(void*, int32_t, int32_t, int32_t, int32_t, uint32_t);
 typedef void* (*pFpiiipp_t)(void*, int32_t, int32_t, int32_t, void*, void*);
 typedef void* (*pFpiiCCC_t)(void*, int32_t, int32_t, uint8_t, uint8_t, uint8_t);
 typedef void* (*pFpiUUUU_t)(void*, int32_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void* (*pFpipipp_t)(void*, int32_t, void*, int32_t, void*, void*);
 typedef void* (*pFpippip_t)(void*, int32_t, void*, void*, int32_t, void*);
 typedef void* (*pFpipppp_t)(void*, int32_t, void*, void*, void*, void*);
 typedef void* (*pFpCuuCC_t)(void*, uint8_t, uint32_t, uint32_t, uint8_t, uint8_t);
@@ -2008,18 +2082,26 @@ typedef void* (*pFpuuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint3
 typedef void* (*pFpuuupu_t)(void*, uint32_t, uint32_t, uint32_t, void*, uint32_t);
 typedef void* (*pFpuuUUU_t)(void*, uint32_t, uint32_t, uint64_t, uint64_t, uint64_t);
 typedef void* (*pFpupuui_t)(void*, uint32_t, void*, uint32_t, uint32_t, int32_t);
+typedef void* (*pFpuppip_t)(void*, uint32_t, void*, void*, int32_t, void*);
 typedef void* (*pFpupppp_t)(void*, uint32_t, void*, void*, void*, void*);
 typedef void* (*pFplpppp_t)(void*, intptr_t, void*, void*, void*, void*);
+typedef void* (*pFpLuLpp_t)(void*, uintptr_t, uint32_t, uintptr_t, void*, void*);
+typedef void* (*pFpLpLLi_t)(void*, uintptr_t, void*, uintptr_t, uintptr_t, int32_t);
 typedef void* (*pFpLppii_t)(void*, uintptr_t, void*, void*, int32_t, int32_t);
+typedef void* (*pFpLppip_t)(void*, uintptr_t, void*, void*, int32_t, void*);
+typedef void* (*pFpLppup_t)(void*, uintptr_t, void*, void*, uint32_t, void*);
 typedef void* (*pFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t);
 typedef void* (*pFppiipp_t)(void*, void*, int32_t, int32_t, void*, void*);
 typedef void* (*pFppiCCC_t)(void*, void*, int32_t, uint8_t, uint8_t, uint8_t);
 typedef void* (*pFppiupp_t)(void*, void*, int32_t, uint32_t, void*, void*);
+typedef void* (*pFppilpp_t)(void*, void*, int32_t, intptr_t, void*, void*);
 typedef void* (*pFppipip_t)(void*, void*, int32_t, void*, int32_t, void*);
 typedef void* (*pFppippi_t)(void*, void*, int32_t, void*, void*, int32_t);
 typedef void* (*pFppippp_t)(void*, void*, int32_t, void*, void*, void*);
+typedef void* (*pFppuupp_t)(void*, void*, uint32_t, uint32_t, void*, void*);
 typedef void* (*pFppupii_t)(void*, void*, uint32_t, void*, int32_t, int32_t);
 typedef void* (*pFppuppp_t)(void*, void*, uint32_t, void*, void*, void*);
+typedef void* (*pFpplplp_t)(void*, void*, intptr_t, void*, intptr_t, void*);
 typedef void* (*pFpplppp_t)(void*, void*, intptr_t, void*, void*, void*);
 typedef void* (*pFpppiup_t)(void*, void*, void*, int32_t, uint32_t, void*);
 typedef void* (*pFpppupp_t)(void*, void*, void*, uint32_t, void*, void*);
@@ -2104,6 +2186,7 @@ typedef void (*vFpipipii_t)(void*, int32_t, void*, int32_t, void*, int32_t, int3
 typedef void (*vFpippppu_t)(void*, int32_t, void*, void*, void*, void*, uint32_t);
 typedef void (*vFpuuuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef void (*vFpuuUUuu_t)(void*, uint32_t, uint32_t, uint64_t, uint64_t, uint32_t, uint32_t);
+typedef void (*vFpuupupu_t)(void*, uint32_t, uint32_t, void*, uint32_t, void*, uint32_t);
 typedef void (*vFpuupppp_t)(void*, uint32_t, uint32_t, void*, void*, void*, void*);
 typedef void (*vFpupuuup_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t, void*);
 typedef void (*vFpupppui_t)(void*, uint32_t, void*, void*, void*, uint32_t, int32_t);
@@ -2138,6 +2221,7 @@ typedef void (*vFpppiipp_t)(void*, void*, void*, int32_t, int32_t, void*, void*)
 typedef void (*vFpppiupi_t)(void*, void*, void*, int32_t, uint32_t, void*, int32_t);
 typedef void (*vFpppippi_t)(void*, void*, void*, int32_t, void*, void*, int32_t);
 typedef void (*vFpppuuuu_t)(void*, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFpppffff_t)(void*, void*, void*, float, float, float, float);
 typedef void (*vFppppiip_t)(void*, void*, void*, void*, int32_t, int32_t, void*);
 typedef void (*vFppppiui_t)(void*, void*, void*, void*, int32_t, uint32_t, int32_t);
 typedef void (*vFppppipi_t)(void*, void*, void*, void*, int32_t, void*, int32_t);
@@ -2154,6 +2238,7 @@ typedef int32_t (*iFEpppiiu_t)(x64emu_t*, void*, void*, void*, int32_t, int32_t,
 typedef int32_t (*iFEpppppL_t)(x64emu_t*, void*, void*, void*, void*, void*, uintptr_t);
 typedef int32_t (*iFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
+typedef int32_t (*iFipupupi_t)(int32_t, void*, uint32_t, void*, uint32_t, void*, int32_t);
 typedef int32_t (*iFpiiiiii_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFpiiiiip_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFpiiiuwp_t)(void*, int32_t, int32_t, int32_t, uint32_t, int16_t, void*);
@@ -2164,10 +2249,12 @@ typedef int32_t (*iFpiuLiii_t)(void*, int32_t, uint32_t, uintptr_t, int32_t, int
 typedef int32_t (*iFpiupppp_t)(void*, int32_t, uint32_t, void*, void*, void*, void*);
 typedef int32_t (*iFpiLuupp_t)(void*, int32_t, uintptr_t, uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFpiLuppp_t)(void*, int32_t, uintptr_t, uint32_t, void*, void*, void*);
+typedef int32_t (*iFpipiiip_t)(void*, int32_t, void*, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFpipipip_t)(void*, int32_t, void*, int32_t, void*, int32_t, void*);
 typedef int32_t (*iFpipippp_t)(void*, int32_t, void*, int32_t, void*, void*, void*);
 typedef int32_t (*iFpippLpp_t)(void*, int32_t, void*, void*, uintptr_t, void*, void*);
 typedef int32_t (*iFpippppW_t)(void*, int32_t, void*, void*, void*, void*, uint16_t);
+typedef int32_t (*iFpippppp_t)(void*, int32_t, void*, void*, void*, void*, void*);
 typedef int32_t (*iFpIIpppp_t)(void*, int64_t, int64_t, void*, void*, void*, void*);
 typedef int32_t (*iFpWCiWCi_t)(void*, uint16_t, uint8_t, int32_t, uint16_t, uint8_t, int32_t);
 typedef int32_t (*iFpWppppW_t)(void*, uint16_t, void*, void*, void*, void*, uint16_t);
@@ -2213,6 +2300,7 @@ typedef int32_t (*iFpppiuwu_t)(void*, void*, void*, int32_t, uint32_t, int16_t,
 typedef int32_t (*iFpppippi_t)(void*, void*, void*, int32_t, void*, void*, int32_t);
 typedef int32_t (*iFpppippp_t)(void*, void*, void*, int32_t, void*, void*, void*);
 typedef int32_t (*iFpppuiii_t)(void*, void*, void*, uint32_t, int32_t, int32_t, int32_t);
+typedef int32_t (*iFpppLppp_t)(void*, void*, void*, uintptr_t, void*, void*, void*);
 typedef int32_t (*iFppppilp_t)(void*, void*, void*, void*, int32_t, intptr_t, void*);
 typedef int32_t (*iFppppipp_t)(void*, void*, void*, void*, int32_t, void*, void*);
 typedef int32_t (*iFppppdpu_t)(void*, void*, void*, void*, double, void*, uint32_t);
@@ -2227,6 +2315,8 @@ typedef uint32_t (*uFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, vo
 typedef uint32_t (*uFiiiuuuu_t)(int32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFuippppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFpippppp_t)(void*, int32_t, void*, void*, void*, void*, void*);
+typedef uint32_t (*uFpuuuupp_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, void*, void*);
+typedef uint32_t (*uFpuuuppp_t)(void*, uint32_t, uint32_t, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFpuupppp_t)(void*, uint32_t, uint32_t, void*, void*, void*, void*);
 typedef uint32_t (*uFppiuppp_t)(void*, void*, int32_t, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFppuuuup_t)(void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
@@ -2260,28 +2350,37 @@ typedef void* (*pFpuupwwC_t)(void*, uint32_t, uint32_t, void*, int16_t, int16_t,
 typedef void* (*pFpupiipp_t)(void*, uint32_t, void*, int32_t, int32_t, void*, void*);
 typedef void* (*pFpuppipp_t)(void*, uint32_t, void*, void*, int32_t, void*, void*);
 typedef void* (*pFplppppp_t)(void*, intptr_t, void*, void*, void*, void*, void*);
+typedef void* (*pFpLLppup_t)(void*, uintptr_t, uintptr_t, void*, void*, uint32_t, void*);
+typedef void* (*pFpLpipip_t)(void*, uintptr_t, void*, int32_t, void*, int32_t, void*);
+typedef void* (*pFpLpLLiL_t)(void*, uintptr_t, void*, uintptr_t, uintptr_t, int32_t, uintptr_t);
 typedef void* (*pFpLppiip_t)(void*, uintptr_t, void*, void*, int32_t, int32_t, void*);
+typedef void* (*pFpLppLLi_t)(void*, uintptr_t, void*, void*, uintptr_t, uintptr_t, int32_t);
 typedef void* (*pFppiiipp_t)(void*, void*, int32_t, int32_t, int32_t, void*, void*);
 typedef void* (*pFppiiCCC_t)(void*, void*, int32_t, int32_t, uint8_t, uint8_t, uint8_t);
+typedef void* (*pFppiippp_t)(void*, void*, int32_t, int32_t, void*, void*, void*);
 typedef void* (*pFppipipp_t)(void*, void*, int32_t, void*, int32_t, void*, void*);
 typedef void* (*pFppipLpp_t)(void*, void*, int32_t, void*, uintptr_t, void*, void*);
 typedef void* (*pFppuippp_t)(void*, void*, uint32_t, int32_t, void*, void*, void*);
 typedef void* (*pFppuuupp_t)(void*, void*, uint32_t, uint32_t, uint32_t, void*, void*);
 typedef void* (*pFppuuppp_t)(void*, void*, uint32_t, uint32_t, void*, void*, void*);
+typedef void* (*pFppuLLip_t)(void*, void*, uint32_t, uintptr_t, uintptr_t, int32_t, void*);
 typedef void* (*pFppliuip_t)(void*, void*, intptr_t, int32_t, uint32_t, int32_t, void*);
 typedef void* (*pFpplipup_t)(void*, void*, intptr_t, int32_t, void*, uint32_t, void*);
 typedef void* (*pFppLipip_t)(void*, void*, uintptr_t, int32_t, void*, int32_t, void*);
+typedef void* (*pFppLLiLi_t)(void*, void*, uintptr_t, uintptr_t, int32_t, uintptr_t, int32_t);
 typedef void* (*pFpppccci_t)(void*, void*, void*, int8_t, int8_t, int8_t, int32_t);
 typedef void* (*pFpppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t);
 typedef void* (*pFpppCCCi_t)(void*, void*, void*, uint8_t, uint8_t, uint8_t, int32_t);
 typedef void* (*pFpppuipp_t)(void*, void*, void*, uint32_t, int32_t, void*, void*);
 typedef void* (*pFpppuuui_t)(void*, void*, void*, uint32_t, uint32_t, uint32_t, int32_t);
 typedef void* (*pFpppuupp_t)(void*, void*, void*, uint32_t, uint32_t, void*, void*);
+typedef void* (*pFpppupup_t)(void*, void*, void*, uint32_t, void*, uint32_t, void*);
 typedef void* (*pFpppuppp_t)(void*, void*, void*, uint32_t, void*, void*, void*);
 typedef void* (*pFpppfffi_t)(void*, void*, void*, float, float, float, int32_t);
 typedef void* (*pFpppdddi_t)(void*, void*, void*, double, double, double, int32_t);
 typedef void* (*pFpppllli_t)(void*, void*, void*, intptr_t, intptr_t, intptr_t, int32_t);
 typedef void* (*pFpppLLLi_t)(void*, void*, void*, uintptr_t, uintptr_t, uintptr_t, int32_t);
+typedef void* (*pFppppiii_t)(void*, void*, void*, void*, int32_t, int32_t, int32_t);
 typedef void* (*pFppppuuu_t)(void*, void*, void*, void*, uint32_t, uint32_t, uint32_t);
 typedef void* (*pFpppppuu_t)(void*, void*, void*, void*, void*, uint32_t, uint32_t);
 typedef void* (*pFppppppu_t)(void*, void*, void*, void*, void*, void*, uint32_t);
@@ -2328,6 +2427,7 @@ typedef void (*vFuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, u
 typedef void (*vFuuufffff_t)(uint32_t, uint32_t, uint32_t, float, float, float, float, float);
 typedef void (*vFffffffff_t)(float, float, float, float, float, float, float, float);
 typedef void (*vFpiiiiiii_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFpiiiiiip_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef void (*vFpiiiipii_t)(void*, int32_t, int32_t, int32_t, int32_t, void*, int32_t, int32_t);
 typedef void (*vFpiiULipp_t)(void*, int32_t, int32_t, uint64_t, uintptr_t, int32_t, void*, void*);
 typedef void (*vFpiUuupup_t)(void*, int32_t, uint64_t, uint32_t, uint32_t, void*, uint32_t, void*);
@@ -2365,7 +2465,10 @@ typedef int32_t (*iFiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int
 typedef int32_t (*iFiiupiupi_t)(int32_t, int32_t, uint32_t, void*, int32_t, uint32_t, void*, int32_t);
 typedef int32_t (*iFipippppp_t)(int32_t, void*, int32_t, void*, void*, void*, void*, void*);
 typedef int32_t (*iFuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef int32_t (*iFdiippppL_t)(double, int32_t, int32_t, void*, void*, void*, void*, uintptr_t);
+typedef int32_t (*iFpipiipip_t)(void*, int32_t, void*, int32_t, int32_t, void*, int32_t, void*);
 typedef int32_t (*iFpippuuii_t)(void*, int32_t, void*, void*, uint32_t, uint32_t, int32_t, int32_t);
+typedef int32_t (*iFpippuupp_t)(void*, int32_t, void*, void*, uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFpCCWWpWu_t)(void*, uint8_t, uint8_t, uint16_t, uint16_t, void*, uint16_t, uint32_t);
 typedef int32_t (*iFpWCuWCuu_t)(void*, uint16_t, uint8_t, uint32_t, uint16_t, uint8_t, uint32_t, uint32_t);
 typedef int32_t (*iFpWWipppp_t)(void*, uint16_t, uint16_t, int32_t, void*, void*, void*, void*);
@@ -2375,6 +2478,8 @@ typedef int32_t (*iFpuuiiiii_t)(void*, uint32_t, uint32_t, int32_t, int32_t, int
 typedef int32_t (*iFpuuipppp_t)(void*, uint32_t, uint32_t, int32_t, void*, void*, void*, void*);
 typedef int32_t (*iFpuuupupu_t)(void*, uint32_t, uint32_t, uint32_t, void*, uint32_t, void*, uint32_t);
 typedef int32_t (*iFpuupuupp_t)(void*, uint32_t, uint32_t, void*, uint32_t, uint32_t, void*, void*);
+typedef int32_t (*iFpuuppiip_t)(void*, uint32_t, uint32_t, void*, void*, int32_t, int32_t, void*);
+typedef int32_t (*iFpuuppppp_t)(void*, uint32_t, uint32_t, void*, void*, void*, void*, void*);
 typedef int32_t (*iFpupppWWu_t)(void*, uint32_t, void*, void*, void*, uint16_t, uint16_t, uint32_t);
 typedef int32_t (*iFpupppppp_t)(void*, uint32_t, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFpUuuLpUi_t)(void*, uint64_t, uint32_t, uint32_t, uintptr_t, void*, uint64_t, int32_t);
@@ -2384,8 +2489,10 @@ typedef int32_t (*iFpLLLiipi_t)(void*, uintptr_t, uintptr_t, uintptr_t, int32_t,
 typedef int32_t (*iFpLLppppp_t)(void*, uintptr_t, uintptr_t, void*, void*, void*, void*, void*);
 typedef int32_t (*iFpLpipppp_t)(void*, uintptr_t, void*, int32_t, void*, void*, void*, void*);
 typedef int32_t (*iFpLppLpip_t)(void*, uintptr_t, void*, void*, uintptr_t, void*, int32_t, void*);
+typedef int32_t (*iFpLpppupu_t)(void*, uintptr_t, void*, void*, void*, uint32_t, void*, uint32_t);
 typedef int32_t (*iFpLpppppp_t)(void*, uintptr_t, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFppiiipip_t)(void*, void*, int32_t, int32_t, int32_t, void*, int32_t, void*);
+typedef int32_t (*iFppillppp_t)(void*, void*, int32_t, intptr_t, intptr_t, void*, void*, void*);
 typedef int32_t (*iFppIIIppp_t)(void*, void*, int64_t, int64_t, int64_t, void*, void*, void*);
 typedef int32_t (*iFppuiiuuu_t)(void*, void*, uint32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t);
 typedef int32_t (*iFppuuuuuu_t)(void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
@@ -2393,6 +2500,7 @@ typedef int32_t (*iFppuppppp_t)(void*, void*, uint32_t, void*, void*, void*, voi
 typedef int32_t (*iFpppiiipi_t)(void*, void*, void*, int32_t, int32_t, int32_t, void*, int32_t);
 typedef int32_t (*iFpppiiipp_t)(void*, void*, void*, int32_t, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFpppipipi_t)(void*, void*, void*, int32_t, void*, int32_t, void*, int32_t);
+typedef int32_t (*iFppppiiup_t)(void*, void*, void*, void*, int32_t, int32_t, uint32_t, void*);
 typedef int32_t (*iFppppippp_t)(void*, void*, void*, void*, int32_t, void*, void*, void*);
 typedef int32_t (*iFppppppii_t)(void*, void*, void*, void*, void*, void*, int32_t, int32_t);
 typedef int32_t (*iFpppppppi_t)(void*, void*, void*, void*, void*, void*, void*, int32_t);
@@ -2406,12 +2514,13 @@ typedef uint32_t (*uFEppppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, v
 typedef uint32_t (*uFuipppppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFuupuuiuf_t)(uint32_t, uint32_t, void*, uint32_t, uint32_t, int32_t, uint32_t, float);
 typedef uint32_t (*uFulpppppp_t)(uint32_t, intptr_t, void*, void*, void*, void*, void*, void*);
+typedef uint32_t (*uFpuupupuu_t)(void*, uint32_t, uint32_t, void*, uint32_t, void*, uint32_t, uint32_t);
 typedef uint32_t (*uFpupuuuCp_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint8_t, void*);
 typedef uint32_t (*uFppuuuupp_t)(void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*, void*);
 typedef uint32_t (*uFppuuuppu_t)(void*, void*, uint32_t, uint32_t, uint32_t, void*, void*, uint32_t);
 typedef uint32_t (*uFppuppppp_t)(void*, void*, uint32_t, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFpppppupp_t)(void*, void*, void*, void*, void*, uint32_t, void*, void*);
-typedef uintptr_t (*LFELpLpLpi_t)(x64emu_t*, uintptr_t, void*, uintptr_t, void*, uintptr_t, void*, int32_t);
+typedef uintptr_t (*LFELpupupu_t)(x64emu_t*, uintptr_t, void*, uint32_t, void*, uint32_t, void*, uint32_t);
 typedef uintptr_t (*LFEpiupppp_t)(x64emu_t*, void*, int32_t, uint32_t, void*, void*, void*, void*);
 typedef uintptr_t (*LFpLpuuLLu_t)(void*, uintptr_t, void*, uint32_t, uint32_t, uintptr_t, uintptr_t, uint32_t);
 typedef void* (*pFEiplllpp_t)(x64emu_t*, int32_t, void*, intptr_t, intptr_t, intptr_t, void*, void*);
@@ -2439,7 +2548,14 @@ typedef void* (*pFpuuupwwp_t)(void*, uint32_t, uint32_t, uint32_t, void*, int16_
 typedef void* (*pFpupppppp_t)(void*, uint32_t, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFpdwwWWui_t)(void*, double, int16_t, int16_t, uint16_t, uint16_t, uint32_t, int32_t);
 typedef void* (*pFplpppppp_t)(void*, intptr_t, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFpLuLpLip_t)(void*, uintptr_t, uint32_t, uintptr_t, void*, uintptr_t, int32_t, void*);
+typedef void* (*pFpLpipLup_t)(void*, uintptr_t, void*, int32_t, void*, uintptr_t, uint32_t, void*);
+typedef void* (*pFpLpLLiLi_t)(void*, uintptr_t, void*, uintptr_t, uintptr_t, int32_t, uintptr_t, int32_t);
+typedef void* (*pFpLppuLLp_t)(void*, uintptr_t, void*, void*, uint32_t, uintptr_t, uintptr_t, void*);
+typedef void* (*pFpLppLLiL_t)(void*, uintptr_t, void*, void*, uintptr_t, uintptr_t, int32_t, uintptr_t);
 typedef void* (*pFppiiiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void* (*pFpppipipi_t)(void*, void*, void*, int32_t, void*, int32_t, void*, int32_t);
+typedef void* (*pFppplippp_t)(void*, void*, void*, intptr_t, int32_t, void*, void*, void*);
 typedef void* (*pFppppuppp_t)(void*, void*, void*, void*, uint32_t, void*, void*, void*);
 typedef void* (*pFpppppupp_t)(void*, void*, void*, void*, void*, uint32_t, void*, void*);
 typedef int32_t (*iWEpuuiipp_t)(x64emu_t*, void*, uint32_t, uint32_t, int32_t, int32_t, void*, void*);
@@ -2479,6 +2595,7 @@ typedef void (*vFddddddddd_t)(double, double, double, double, double, double, do
 typedef void (*vFpiuippppi_t)(void*, int32_t, uint32_t, int32_t, void*, void*, void*, void*, int32_t);
 typedef void (*vFpipiuiipp_t)(void*, int32_t, void*, int32_t, uint32_t, int32_t, int32_t, void*, void*);
 typedef void (*vFpipppiipi_t)(void*, int32_t, void*, void*, void*, int32_t, int32_t, void*, int32_t);
+typedef void (*vFpuuuuuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef void (*vFpLpppippp_t)(void*, uintptr_t, void*, void*, void*, int32_t, void*, void*, void*);
 typedef void (*vFppiiiiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFppiiiiipi_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, void*, int32_t);
@@ -2499,6 +2616,7 @@ typedef void (*vFppUUiUUUU_t)(void*, void*, uint64_t, uint64_t, int32_t, uint64_
 typedef void (*vFppddddudd_t)(void*, void*, double, double, double, double, uint32_t, double, double);
 typedef void (*vFpplpppppi_t)(void*, void*, intptr_t, void*, void*, void*, void*, void*, int32_t);
 typedef void (*vFpppiiiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFpppffffff_t)(void*, void*, void*, float, float, float, float, float, float);
 typedef void (*vFppppipiip_t)(void*, void*, void*, void*, int32_t, void*, int32_t, int32_t, void*);
 typedef void (*vFpppppippp_t)(void*, void*, void*, void*, void*, int32_t, void*, void*, void*);
 typedef int32_t (*iFEpiiiiipi_t)(x64emu_t*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, void*, int32_t);
@@ -2519,6 +2637,7 @@ typedef int32_t (*iFpduuuLuLp_t)(void*, double, uint32_t, uint32_t, uint32_t, ui
 typedef int32_t (*iFpLiuiiLLL_t)(void*, uintptr_t, int32_t, uint32_t, int32_t, int32_t, uintptr_t, uintptr_t, uintptr_t);
 typedef int32_t (*iFpLLiiuuii_t)(void*, uintptr_t, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t);
 typedef int32_t (*iFpLpiiuuii_t)(void*, uintptr_t, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t);
+typedef int32_t (*iFpLpppupup_t)(void*, uintptr_t, void*, void*, void*, uint32_t, void*, uint32_t, void*);
 typedef int32_t (*iFpLppppppp_t)(void*, uintptr_t, void*, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFppiiiiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFppippippp_t)(void*, void*, int32_t, void*, void*, int32_t, void*, void*, void*);
@@ -2533,6 +2652,7 @@ typedef int32_t (*iFppppppppp_t)(void*, void*, void*, void*, void*, void*, void*
 typedef uint32_t (*uFEipippppp_t)(x64emu_t*, int32_t, void*, int32_t, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFEpppufppp_t)(x64emu_t*, void*, void*, void*, uint32_t, float, void*, void*, void*);
 typedef uint32_t (*uFuulpiuiuf_t)(uint32_t, uint32_t, intptr_t, void*, int32_t, uint32_t, int32_t, uint32_t, float);
+typedef uint32_t (*uFpuupuppuu_t)(void*, uint32_t, uint32_t, void*, uint32_t, void*, void*, uint32_t, uint32_t);
 typedef uint32_t (*uFppLpLuppp_t)(void*, void*, uintptr_t, void*, uintptr_t, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef intptr_t (*lFpppipiipp_t)(void*, void*, void*, int32_t, void*, int32_t, int32_t, void*, void*);
@@ -2550,6 +2670,8 @@ typedef void* (*pFpiiCpWWup_t)(void*, int32_t, int32_t, uint8_t, void*, uint16_t
 typedef void* (*pFpCuWCCuuu_t)(void*, uint8_t, uint32_t, uint16_t, uint8_t, uint8_t, uint32_t, uint32_t, uint32_t);
 typedef void* (*pFpuuwwWWww_t)(void*, uint32_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, int16_t, int16_t);
 typedef void* (*pFpupuuuuup_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef void* (*pFpLpLLipui_t)(void*, uintptr_t, void*, uintptr_t, uintptr_t, int32_t, void*, uint32_t, int32_t);
+typedef void* (*pFpLppLLiLi_t)(void*, uintptr_t, void*, void*, uintptr_t, uintptr_t, int32_t, uintptr_t, int32_t);
 typedef void* (*pFppiiiiiip_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef void* (*pFppipppppp_t)(void*, void*, int32_t, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFpppiiiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
@@ -2598,6 +2720,7 @@ typedef void (*vFppuuppppii_t)(void*, void*, uint32_t, uint32_t, void*, void*, v
 typedef void (*vFppuppuiiii_t)(void*, void*, uint32_t, void*, void*, uint32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFppupppiiii_t)(void*, void*, uint32_t, void*, void*, void*, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFppdddddddd_t)(void*, void*, double, double, double, double, double, double, double, double);
+typedef void (*vFppppppppii_t)(void*, void*, void*, void*, void*, void*, void*, void*, int32_t, int32_t);
 typedef void (*vFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFEpiiiiippp_t)(x64emu_t*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, void*, void*, void*);
 typedef int32_t (*iFEpupppLppL_t)(x64emu_t*, void*, uint32_t, void*, void*, void*, uintptr_t, void*, void*, uintptr_t);
@@ -2612,7 +2735,9 @@ typedef int32_t (*iFppuuiiiiii_t)(void*, void*, uint32_t, uint32_t, int32_t, int
 typedef int32_t (*iFppuuiiuupi_t)(void*, void*, uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*, int32_t);
 typedef int32_t (*iFpppiiipipi_t)(void*, void*, void*, int32_t, int32_t, int32_t, void*, int32_t, void*, int32_t);
 typedef int32_t (*iFpppLLipppp_t)(void*, void*, void*, uintptr_t, uintptr_t, int32_t, void*, void*, void*, void*);
+typedef int32_t (*iFpppppiiuup_t)(void*, void*, void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, void*);
 typedef int32_t (*iFpppppppipi_t)(void*, void*, void*, void*, void*, void*, void*, int32_t, void*, int32_t);
+typedef int32_t (*iFpppppppppu_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, uint32_t);
 typedef uint32_t (*uFpddpippppp_t)(void*, double, double, void*, int32_t, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFEiippppppp_t)(x64emu_t*, int32_t, int32_t, void*, void*, void*, void*, void*, void*, void*);
@@ -2623,6 +2748,7 @@ typedef void* (*pFpuwwWWuCuu_t)(void*, uint32_t, int16_t, int16_t, uint16_t, uin
 typedef void* (*pFpuuuwwwwWW_t)(void*, uint32_t, uint32_t, uint32_t, int16_t, int16_t, int16_t, int16_t, uint16_t, uint16_t);
 typedef void* (*pFpuuuWWWCCi_t)(void*, uint32_t, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t, uint8_t, uint8_t, int32_t);
 typedef void* (*pFplllllllll_t)(void*, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t, intptr_t);
+typedef void* (*pFppippLLLip_t)(void*, void*, int32_t, void*, void*, uintptr_t, uintptr_t, uintptr_t, int32_t, void*);
 typedef void* (*pFppuiipuuii_t)(void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t);
 typedef void* (*pFpppiiiiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void* (*pFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
@@ -2669,6 +2795,7 @@ typedef int32_t (*iFpLipiiiippp_t)(void*, uintptr_t, int32_t, void*, int32_t, in
 typedef int32_t (*iFpLLpiiuuiiL_t)(void*, uintptr_t, uintptr_t, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, uintptr_t);
 typedef int32_t (*iFppippipppip_t)(void*, void*, int32_t, void*, void*, int32_t, void*, void*, void*, int32_t, void*);
 typedef int32_t (*iFpppiiuuiiuu_t)(void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t);
+typedef int32_t (*iFpppppiiuupp_t)(void*, void*, void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, void*, void*);
 typedef uint32_t (*uFEpLiupppLuV_t)(x64emu_t*, void*, uintptr_t, int32_t, uint32_t, void*, void*, void*, uintptr_t, uint32_t, void*);
 typedef uint32_t (*uFEpLippppLup_t)(x64emu_t*, void*, uintptr_t, int32_t, void*, void*, void*, void*, uintptr_t, uint32_t, void*);
 typedef uint32_t (*uFEpLippppLuA_t)(x64emu_t*, void*, uintptr_t, int32_t, void*, void*, void*, void*, uintptr_t, uint32_t, void*);
@@ -2714,6 +2841,7 @@ typedef void* (*pFWWiCCCCiipup_t)(uint16_t, uint16_t, int32_t, uint8_t, uint8_t,
 typedef void* (*pFpCuuWWwwCCup_t)(void*, uint8_t, uint32_t, uint32_t, uint16_t, uint16_t, int16_t, int16_t, uint8_t, uint8_t, uint32_t, void*);
 typedef void* (*pFpuuuWWWWWWWW_t)(void*, uint32_t, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t);
 typedef void* (*pFppiiuuuiupLp_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, int32_t, uint32_t, void*, uintptr_t, void*);
+typedef void* (*pFppippLLLiLpp_t)(void*, void*, int32_t, void*, void*, uintptr_t, uintptr_t, uintptr_t, int32_t, uintptr_t, void*, 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*, int32_t, int32_t, void*, void*, void*);
 typedef void (*vFuiiiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
@@ -2735,6 +2863,7 @@ typedef uint32_t (*uFippuuuulllipp_t)(int32_t, void*, void*, uint32_t, uint32_t,
 typedef uint32_t (*uFppppuuupppppp_t)(void*, void*, void*, void*, uint32_t, uint32_t, uint32_t, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFpCuuwwWWWWuup_t)(void*, uint8_t, uint32_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint32_t, uint32_t, void*);
 typedef void* (*pFpuupppwwwwWWC_t)(void*, uint32_t, uint32_t, void*, void*, void*, int16_t, int16_t, int16_t, int16_t, uint16_t, uint16_t, uint8_t);
+typedef void* (*pFppLppppiiLpip_t)(void*, void*, uintptr_t, void*, void*, void*, void*, int32_t, int32_t, uintptr_t, void*, int32_t, void*);
 typedef void* (*pFpppppppuipppp_t)(void*, void*, void*, void*, void*, void*, void*, uint32_t, int32_t, void*, void*, void*, void*);
 typedef void* (*pFppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void (*vFippppppppppppp_t)(int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
@@ -2840,6 +2969,7 @@ void iFL(x64emu_t *emu, uintptr_t fcn) { iFL_t fn = (iFL_t)fcn; R_RAX=(int32_t)f
 void iFp(x64emu_t *emu, uintptr_t fcn) { iFp_t fn = (iFp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI); }
 void iFO(x64emu_t *emu, uintptr_t fcn) { iFO_t fn = (iFO_t)fcn; R_RAX=(int32_t)fn(of_convert((int32_t)R_RDI)); }
 void iFS(x64emu_t *emu, uintptr_t fcn) { iFS_t fn = (iFS_t)fcn; R_RAX=(int32_t)fn(io_convert((void*)R_RDI)); }
+void iFP(x64emu_t *emu, uintptr_t fcn) { iFP_t fn = (iFP_t)fcn; R_RAX=(int32_t)fn(*(void**)(R_RSP + 8)); }
 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((int32_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); }
@@ -2962,6 +3092,7 @@ void vFpL(x64emu_t *emu, uintptr_t fcn) { vFpL_t fn = (vFpL_t)fcn; fn((void*)R_R
 void vFpp(x64emu_t *emu, uintptr_t fcn) { vFpp_t fn = (vFpp_t)fcn; fn((void*)R_RDI, (void*)R_RSI); }
 void vFpS(x64emu_t *emu, uintptr_t fcn) { vFpS_t fn = (vFpS_t)fcn; fn((void*)R_RDI, io_convert((void*)R_RSI)); }
 void vFSi(x64emu_t *emu, uintptr_t fcn) { vFSi_t fn = (vFSi_t)fcn; fn(io_convert((void*)R_RDI), (int32_t)R_RSI); }
+void cFpi(x64emu_t *emu, uintptr_t fcn) { cFpi_t fn = (cFpi_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI); }
 void cFpp(x64emu_t *emu, uintptr_t fcn) { cFpp_t fn = (cFpp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI); }
 void wFpi(x64emu_t *emu, uintptr_t fcn) { wFpi_t fn = (wFpi_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI); }
 void iFEi(x64emu_t *emu, uintptr_t fcn) { iFEi_t fn = (iFEi_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI); }
@@ -3021,6 +3152,7 @@ void uFEp(x64emu_t *emu, uintptr_t fcn) { uFEp_t fn = (uFEp_t)fcn; R_RAX=(uint32
 void uFii(x64emu_t *emu, uintptr_t fcn) { uFii_t fn = (uFii_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (int32_t)R_RSI); }
 void uFiu(x64emu_t *emu, uintptr_t fcn) { uFiu_t fn = (uFiu_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (uint32_t)R_RSI); }
 void uFip(x64emu_t *emu, uintptr_t fcn) { uFip_t fn = (uFip_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (void*)R_RSI); }
+void uFui(x64emu_t *emu, uintptr_t fcn) { uFui_t fn = (uFui_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI); }
 void uFuu(x64emu_t *emu, uintptr_t fcn) { uFuu_t fn = (uFuu_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI); }
 void uFup(x64emu_t *emu, uintptr_t fcn) { uFup_t fn = (uFup_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI); }
 void uFpw(x64emu_t *emu, uintptr_t fcn) { uFpw_t fn = (uFpw_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int16_t)R_RSI); }
@@ -3035,6 +3167,7 @@ void uFpp(x64emu_t *emu, uintptr_t fcn) { uFpp_t fn = (uFpp_t)fcn; R_RAX=(uint32
 void UFEp(x64emu_t *emu, uintptr_t fcn) { UFEp_t fn = (UFEp_t)fcn; R_RAX=fn(emu, (void*)R_RDI); }
 void UFuu(x64emu_t *emu, uintptr_t fcn) { UFuu_t fn = (UFuu_t)fcn; R_RAX=fn((uint32_t)R_RDI, (uint32_t)R_RSI); }
 void UFpi(x64emu_t *emu, uintptr_t fcn) { UFpi_t fn = (UFpi_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI); }
+void UFpU(x64emu_t *emu, uintptr_t fcn) { UFpU_t fn = (UFpU_t)fcn; R_RAX=fn((void*)R_RDI, (uint64_t)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((int32_t)R_RDI, emu->xmm[0].f[0]); }
@@ -3042,6 +3175,7 @@ void fFfi(x64emu_t *emu, uintptr_t fcn) { fFfi_t fn = (fFfi_t)fcn; emu->xmm[0].f
 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]); }
 void fFfD(x64emu_t *emu, uintptr_t fcn) { fFfD_t fn = (fFfD_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], LD2localLD((void*)(R_RSP + 8))); }
 void fFfp(x64emu_t *emu, uintptr_t fcn) { fFfp_t fn = (fFfp_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], (void*)R_RDI); }
+void fFpu(x64emu_t *emu, uintptr_t fcn) { fFpu_t fn = (fFpu_t)fcn; emu->xmm[0].f[0]=fn((void*)R_RDI, (uint32_t)R_RSI); }
 void fFpp(x64emu_t *emu, uintptr_t fcn) { fFpp_t fn = (fFpp_t)fcn; emu->xmm[0].f[0]=fn((void*)R_RDI, (void*)R_RSI); }
 void dFid(x64emu_t *emu, uintptr_t fcn) { dFid_t fn = (dFid_t)fcn; emu->xmm[0].d[0]=fn((int32_t)R_RDI, emu->xmm[0].d[0]); }
 void dFdi(x64emu_t *emu, uintptr_t fcn) { dFdi_t fn = (dFdi_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], (int32_t)R_RDI); }
@@ -3083,7 +3217,6 @@ void pFiI(x64emu_t *emu, uintptr_t fcn) { pFiI_t fn = (pFiI_t)fcn; R_RAX=(uintpt
 void pFiu(x64emu_t *emu, uintptr_t fcn) { pFiu_t fn = (pFiu_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (uint32_t)R_RSI); }
 void pFip(x64emu_t *emu, uintptr_t fcn) { pFip_t fn = (pFip_t)fcn; R_RAX=(uintptr_t)fn((int32_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((int32_t)R_RDI, (void*)(R_RSP + 8)); }
-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 pFui(x64emu_t *emu, uintptr_t fcn) { pFui_t fn = (pFui_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (int32_t)R_RSI); }
 void pFuu(x64emu_t *emu, uintptr_t fcn) { pFuu_t fn = (pFuu_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI); }
 void pFup(x64emu_t *emu, uintptr_t fcn) { pFup_t fn = (pFup_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (void*)R_RSI); }
@@ -3091,6 +3224,8 @@ void pFUU(x64emu_t *emu, uintptr_t fcn) { pFUU_t fn = (pFUU_t)fcn; R_RAX=(uintpt
 void pFdi(x64emu_t *emu, uintptr_t fcn) { pFdi_t fn = (pFdi_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0], (int32_t)R_RDI); }
 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 pFli(x64emu_t *emu, uintptr_t fcn) { pFli_t fn = (pFli_t)fcn; R_RAX=(uintptr_t)fn((intptr_t)R_RDI, (int32_t)R_RSI); }
+void pFll(x64emu_t *emu, uintptr_t fcn) { pFll_t fn = (pFll_t)fcn; R_RAX=(uintptr_t)fn((intptr_t)R_RDI, (intptr_t)R_RSI); }
+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 pFLi(x64emu_t *emu, uintptr_t fcn) { pFLi_t fn = (pFLi_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (int32_t)R_RSI); }
 void pFLC(x64emu_t *emu, uintptr_t fcn) { pFLC_t fn = (pFLC_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (uint8_t)R_RSI); }
 void pFLu(x64emu_t *emu, uintptr_t fcn) { pFLu_t fn = (pFLu_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (uint32_t)R_RSI); }
@@ -3206,6 +3341,7 @@ void vFpUp(x64emu_t *emu, uintptr_t fcn) { vFpUp_t fn = (vFpUp_t)fcn; fn((void*)
 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 vFpdu(x64emu_t *emu, uintptr_t fcn) { vFpdu_t fn = (vFpdu_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], (uint32_t)R_RSI); }
 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 vFpdp(x64emu_t *emu, uintptr_t fcn) { vFpdp_t fn = (vFpdp_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], (void*)R_RSI); }
 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 vFplp(x64emu_t *emu, uintptr_t fcn) { vFplp_t fn = (vFplp_t)fcn; fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX); }
 void vFpLi(x64emu_t *emu, uintptr_t fcn) { vFpLi_t fn = (vFpLi_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX); }
@@ -3220,6 +3356,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 cFpdp(x64emu_t *emu, uintptr_t fcn) { cFpdp_t fn = (cFpdp_t)fcn; R_RAX=fn((void*)R_RDI, emu->xmm[0].d[0], (void*)R_RSI); }
 void wFppp(x64emu_t *emu, uintptr_t fcn) { wFppp_t fn = (wFppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void iFEiw(x64emu_t *emu, uintptr_t fcn) { iFEiw_t fn = (iFEiw_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI, (int16_t)R_RSI); }
 void iFEip(x64emu_t *emu, uintptr_t fcn) { iFEip_t fn = (iFEip_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI); }
@@ -3259,6 +3396,7 @@ void iFipO(x64emu_t *emu, uintptr_t fcn) { iFipO_t fn = (iFipO_t)fcn; R_RAX=(int
 void iFCuW(x64emu_t *emu, uintptr_t fcn) { iFCuW_t fn = (iFCuW_t)fcn; R_RAX=(int32_t)fn((uint8_t)R_RDI, (uint32_t)R_RSI, (uint16_t)R_RDX); }
 void iFuwp(x64emu_t *emu, uintptr_t fcn) { iFuwp_t fn = (iFuwp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (int16_t)R_RSI, (void*)R_RDX); }
 void iFuip(x64emu_t *emu, uintptr_t fcn) { iFuip_t fn = (iFuip_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX); }
+void iFuWp(x64emu_t *emu, uintptr_t fcn) { iFuWp_t fn = (iFuWp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint16_t)R_RSI, (void*)R_RDX); }
 void iFuui(x64emu_t *emu, uintptr_t fcn) { iFuui_t fn = (iFuui_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX); }
 void iFuuu(x64emu_t *emu, uintptr_t fcn) { iFuuu_t fn = (iFuuu_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX); }
 void iFuup(x64emu_t *emu, uintptr_t fcn) { iFuup_t fn = (iFuup_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); }
@@ -3354,6 +3492,7 @@ void uFpuu(x64emu_t *emu, uintptr_t fcn) { uFpuu_t fn = (uFpuu_t)fcn; R_RAX=(uin
 void uFpuL(x64emu_t *emu, uintptr_t fcn) { uFpuL_t fn = (uFpuL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX); }
 void uFpup(x64emu_t *emu, uintptr_t fcn) { uFpup_t fn = (uFpup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); }
 void uFpfu(x64emu_t *emu, uintptr_t fcn) { uFpfu_t fn = (uFpfu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, emu->xmm[0].f[0], (uint32_t)R_RSI); }
+void uFpli(x64emu_t *emu, uintptr_t fcn) { uFpli_t fn = (uFpli_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (intptr_t)R_RSI, (int32_t)R_RDX); }
 void uFpLu(x64emu_t *emu, uintptr_t fcn) { uFpLu_t fn = (uFpLu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX); }
 void uFpLL(x64emu_t *emu, uintptr_t fcn) { uFpLL_t fn = (uFpLL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX); }
 void uFpLp(x64emu_t *emu, uintptr_t fcn) { uFpLp_t fn = (uFpLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); }
@@ -3372,6 +3511,7 @@ void fFppp(x64emu_t *emu, uintptr_t fcn) { fFppp_t fn = (fFppp_t)fcn; emu->xmm[0
 void dFuud(x64emu_t *emu, uintptr_t fcn) { dFuud_t fn = (dFuud_t)fcn; emu->xmm[0].d[0]=fn((uint32_t)R_RDI, (uint32_t)R_RSI, emu->xmm[0].d[0]); }
 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 dFpii(x64emu_t *emu, uintptr_t fcn) { dFpii_t fn = (dFpii_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); }
 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, (int32_t)R_RDX); }
 void dFppu(x64emu_t *emu, uintptr_t fcn) { dFppu_t fn = (dFppu_t)fcn; emu->xmm[0].d[0]=fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); }
@@ -3438,6 +3578,7 @@ void pFuup(x64emu_t *emu, uintptr_t fcn) { pFuup_t fn = (pFuup_t)fcn; R_RAX=(uin
 void pFulu(x64emu_t *emu, uintptr_t fcn) { pFulu_t fn = (pFulu_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (intptr_t)R_RSI, (uint32_t)R_RDX); }
 void pFulp(x64emu_t *emu, uintptr_t fcn) { pFulp_t fn = (pFulp_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX); }
 void pFupi(x64emu_t *emu, uintptr_t fcn) { pFupi_t fn = (pFupi_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX); }
+void pFupu(x64emu_t *emu, uintptr_t fcn) { pFupu_t fn = (pFupu_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); }
 void pFupl(x64emu_t *emu, uintptr_t fcn) { pFupl_t fn = (pFupl_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (void*)R_RSI, (intptr_t)R_RDX); }
 void pFupL(x64emu_t *emu, uintptr_t fcn) { pFupL_t fn = (pFupL_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void pFupp(x64emu_t *emu, uintptr_t fcn) { pFupp_t fn = (pFupp_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
@@ -3449,6 +3590,7 @@ void pFlpi(x64emu_t *emu, uintptr_t fcn) { pFlpi_t fn = (pFlpi_t)fcn; R_RAX=(uin
 void pFLup(x64emu_t *emu, uintptr_t fcn) { pFLup_t fn = (pFLup_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); }
 void pFLLp(x64emu_t *emu, uintptr_t fcn) { pFLLp_t fn = (pFLLp_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); }
 void pFLpi(x64emu_t *emu, uintptr_t fcn) { pFLpi_t fn = (pFLpi_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX); }
+void pFLpp(x64emu_t *emu, uintptr_t fcn) { pFLpp_t fn = (pFLpp_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void pFpii(x64emu_t *emu, uintptr_t fcn) { pFpii_t fn = (pFpii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_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, (int32_t)R_RSI, (uint32_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, (int32_t)R_RSI, emu->xmm[0].d[0]); }
@@ -3458,6 +3600,7 @@ void pFpip(x64emu_t *emu, uintptr_t fcn) { pFpip_t fn = (pFpip_t)fcn; R_RAX=(uin
 void pFpCi(x64emu_t *emu, uintptr_t fcn) { pFpCi_t fn = (pFpCi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (int32_t)R_RDX); }
 void pFpCC(x64emu_t *emu, uintptr_t fcn) { pFpCC_t fn = (pFpCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX); }
 void pFpCu(x64emu_t *emu, uintptr_t fcn) { pFpCu_t fn = (pFpCu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX); }
+void pFpWi(x64emu_t *emu, uintptr_t fcn) { pFpWi_t fn = (pFpWi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint16_t)R_RSI, (int32_t)R_RDX); }
 void pFpWW(x64emu_t *emu, uintptr_t fcn) { pFpWW_t fn = (pFpWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX); }
 void pFpWp(x64emu_t *emu, uintptr_t fcn) { pFpWp_t fn = (pFpWp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint16_t)R_RSI, (void*)R_RDX); }
 void pFpui(x64emu_t *emu, uintptr_t fcn) { pFpui_t fn = (pFpui_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX); }
@@ -3594,6 +3737,7 @@ void vFLuui(x64emu_t *emu, uintptr_t fcn) { vFLuui_t fn = (vFLuui_t)fcn; fn((uin
 void vFLppi(x64emu_t *emu, uintptr_t fcn) { vFLppi_t fn = (vFLppi_t)fcn; fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
 void vFpiii(x64emu_t *emu, uintptr_t fcn) { vFpiii_t fn = (vFpiii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void vFpiiu(x64emu_t *emu, uintptr_t fcn) { vFpiiu_t fn = (vFpiiu_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); }
+void vFpiid(x64emu_t *emu, uintptr_t fcn) { vFpiid_t fn = (vFpiid_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, emu->xmm[0].d[0]); }
 void vFpiip(x64emu_t *emu, uintptr_t fcn) { vFpiip_t fn = (vFpiip_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
 void vFpiui(x64emu_t *emu, uintptr_t fcn) { vFpiui_t fn = (vFpiui_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX); }
 void vFpiuu(x64emu_t *emu, uintptr_t fcn) { vFpiuu_t fn = (vFpiuu_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
@@ -3657,10 +3801,12 @@ void vFpppd(x64emu_t *emu, uintptr_t fcn) { vFpppd_t fn = (vFpppd_t)fcn; fn((voi
 void vFpppl(x64emu_t *emu, uintptr_t fcn) { vFpppl_t fn = (vFpppl_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (intptr_t)R_RCX); }
 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 cFpipp(x64emu_t *emu, uintptr_t fcn) { cFpipp_t fn = (cFpipp_t)fcn; R_RAX=fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFEiip(x64emu_t *emu, uintptr_t fcn) { iFEiip_t fn = (iFEiip_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX); }
 void iFEiiN(x64emu_t *emu, uintptr_t fcn) { iFEiiN_t fn = (iFEiiN_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX); }
 void iFEipp(x64emu_t *emu, uintptr_t fcn) { iFEipp_t fn = (iFEipp_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void iFEipV(x64emu_t *emu, uintptr_t fcn) { iFEipV_t fn = (iFEipV_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)(R_RSP + 8)); }
+void iFEipA(x64emu_t *emu, uintptr_t fcn) { iFEipA_t fn = (iFEipA_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void iFEupu(x64emu_t *emu, uintptr_t fcn) { iFEupu_t fn = (iFEupu_t)fcn; R_RAX=(int32_t)fn(emu, (uint32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); }
 void iFEupp(x64emu_t *emu, uintptr_t fcn) { iFEupp_t fn = (iFEupp_t)fcn; R_RAX=(int32_t)fn(emu, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void iFEpii(x64emu_t *emu, uintptr_t fcn) { iFEpii_t fn = (iFEpii_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); }
@@ -3698,6 +3844,7 @@ void iFilli(x64emu_t *emu, uintptr_t fcn) { iFilli_t fn = (iFilli_t)fcn; R_RAX=(
 void iFillu(x64emu_t *emu, uintptr_t fcn) { iFillu_t fn = (iFillu_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (uint32_t)R_RCX); }
 void iFipii(x64emu_t *emu, uintptr_t fcn) { iFipii_t fn = (iFipii_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void iFipip(x64emu_t *emu, uintptr_t fcn) { iFipip_t fn = (iFipip_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
+void iFipWp(x64emu_t *emu, uintptr_t fcn) { iFipWp_t fn = (iFipWp_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uint16_t)R_RDX, (void*)R_RCX); }
 void iFipui(x64emu_t *emu, uintptr_t fcn) { iFipui_t fn = (iFipui_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX); }
 void iFipuL(x64emu_t *emu, uintptr_t fcn) { iFipuL_t fn = (iFipuL_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX); }
 void iFipup(x64emu_t *emu, uintptr_t fcn) { iFipup_t fn = (iFipup_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
@@ -3705,18 +3852,21 @@ void iFipLi(x64emu_t *emu, uintptr_t fcn) { iFipLi_t fn = (iFipLi_t)fcn; R_RAX=(
 void iFipLu(x64emu_t *emu, uintptr_t fcn) { iFipLu_t fn = (iFipLu_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX); }
 void iFipLp(x64emu_t *emu, uintptr_t fcn) { iFipLp_t fn = (iFipLp_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void iFippi(x64emu_t *emu, uintptr_t fcn) { iFippi_t fn = (iFippi_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
-void iFippu(x64emu_t *emu, uintptr_t fcn) { iFippu_t fn = (iFippu_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
 void iFippL(x64emu_t *emu, uintptr_t fcn) { iFippL_t fn = (iFippL_t)fcn; R_RAX=(int32_t)fn((int32_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=(int32_t)fn((int32_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=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, of_convert((int32_t)R_RDX), (void*)R_RCX); }
 void iFuiup(x64emu_t *emu, uintptr_t fcn) { iFuiup_t fn = (iFuiup_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
 void iFuipp(x64emu_t *emu, uintptr_t fcn) { iFuipp_t fn = (iFuipp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void iFuWWp(x64emu_t *emu, uintptr_t fcn) { iFuWWp_t fn = (iFuWWp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX, (void*)R_RCX); }
 void iFuuuu(x64emu_t *emu, uintptr_t fcn) { iFuuuu_t fn = (iFuuuu_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
 void iFuupi(x64emu_t *emu, uintptr_t fcn) { iFuupi_t fn = (iFuupi_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
+void iFuupp(x64emu_t *emu, uintptr_t fcn) { iFuupp_t fn = (iFuupp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFupLp(x64emu_t *emu, uintptr_t fcn) { iFupLp_t fn = (iFupLp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void iFuppi(x64emu_t *emu, uintptr_t fcn) { iFuppi_t fn = (iFuppi_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
+void iFuppu(x64emu_t *emu, uintptr_t fcn) { iFuppu_t fn = (iFuppu_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
 void iFuppp(x64emu_t *emu, uintptr_t fcn) { iFuppp_t fn = (iFuppp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFLLiW(x64emu_t *emu, uintptr_t fcn) { iFLLiW_t fn = (iFLLiW_t)fcn; R_RAX=(int32_t)fn((uintptr_t)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (uint16_t)R_RCX); }
+void iFLppp(x64emu_t *emu, uintptr_t fcn) { iFLppp_t fn = (iFLppp_t)fcn; R_RAX=(int32_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFpwww(x64emu_t *emu, uintptr_t fcn) { iFpwww_t fn = (iFpwww_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int16_t)R_RSI, (int16_t)R_RDX, (int16_t)R_RCX); }
 void iFpwpp(x64emu_t *emu, uintptr_t fcn) { iFpwpp_t fn = (iFpwpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int16_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFpiii(x64emu_t *emu, uintptr_t fcn) { iFpiii_t fn = (iFpiii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
@@ -3763,6 +3913,7 @@ void iFpUup(x64emu_t *emu, uintptr_t fcn) { iFpUup_t fn = (iFpUup_t)fcn; R_RAX=(
 void iFpUUU(x64emu_t *emu, uintptr_t fcn) { iFpUUU_t fn = (iFpUUU_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); }
 void iFpULp(x64emu_t *emu, uintptr_t fcn) { iFpULp_t fn = (iFpULp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void iFpUpp(x64emu_t *emu, uintptr_t fcn) { iFpUpp_t fn = (iFpUpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void iFpdip(x64emu_t *emu, uintptr_t fcn) { iFpdip_t fn = (iFpdip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, emu->xmm[0].d[0], (int32_t)R_RSI, (void*)R_RDX); }
 void iFplii(x64emu_t *emu, uintptr_t fcn) { iFplii_t fn = (iFplii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (intptr_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void iFplip(x64emu_t *emu, uintptr_t fcn) { iFplip_t fn = (iFplip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (intptr_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
 void iFplpi(x64emu_t *emu, uintptr_t fcn) { iFplpi_t fn = (iFplpi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
@@ -3818,6 +3969,7 @@ void IFSIii(x64emu_t *emu, uintptr_t fcn) { IFSIii_t fn = (IFSIii_t)fcn; R_RAX=(
 void CFuuff(x64emu_t *emu, uintptr_t fcn) { CFuuff_t fn = (CFuuff_t)fcn; R_RAX=(unsigned char)fn((uint32_t)R_RDI, (uint32_t)R_RSI, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void CFpiii(x64emu_t *emu, uintptr_t fcn) { CFpiii_t fn = (CFpiii_t)fcn; R_RAX=(unsigned char)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void CFpupp(x64emu_t *emu, uintptr_t fcn) { CFpupp_t fn = (CFpupp_t)fcn; R_RAX=(unsigned char)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void CFpLLi(x64emu_t *emu, uintptr_t fcn) { CFpLLi_t fn = (CFpLLi_t)fcn; R_RAX=(unsigned char)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX); }
 void CFppip(x64emu_t *emu, uintptr_t fcn) { CFppip_t fn = (CFppip_t)fcn; R_RAX=(unsigned char)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
 void uFEipp(x64emu_t *emu, uintptr_t fcn) { uFEipp_t fn = (uFEipp_t)fcn; R_RAX=(uint32_t)fn(emu, (int32_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=(uint32_t)fn(emu, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
@@ -3838,6 +3990,7 @@ void uFpupu(x64emu_t *emu, uintptr_t fcn) { uFpupu_t fn = (uFpupu_t)fcn; R_RAX=(
 void uFpupp(x64emu_t *emu, uintptr_t fcn) { uFpupp_t fn = (uFpupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void uFppiu(x64emu_t *emu, uintptr_t fcn) { uFppiu_t fn = (uFppiu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); }
 void uFppip(x64emu_t *emu, uintptr_t fcn) { uFppip_t fn = (uFppip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
+void uFppuu(x64emu_t *emu, uintptr_t fcn) { uFppuu_t fn = (uFppuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
 void uFpplp(x64emu_t *emu, uintptr_t fcn) { uFpplp_t fn = (uFpplp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); }
 void uFppLp(x64emu_t *emu, uintptr_t fcn) { uFppLp_t fn = (uFppLp_t)fcn; R_RAX=(uint32_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=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
@@ -3905,13 +4058,13 @@ void pFiiuu(x64emu_t *emu, uintptr_t fcn) { pFiiuu_t fn = (pFiiuu_t)fcn; R_RAX=(
 void pFiiup(x64emu_t *emu, uintptr_t fcn) { pFiiup_t fn = (pFiiup_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
 void pFiiLp(x64emu_t *emu, uintptr_t fcn) { pFiiLp_t fn = (pFiiLp_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void pFiipi(x64emu_t *emu, uintptr_t fcn) { pFiipi_t fn = (pFiipi_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
-void pFiipp(x64emu_t *emu, uintptr_t fcn) { pFiipp_t fn = (pFiipp_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void pFiIIi(x64emu_t *emu, uintptr_t fcn) { pFiIIi_t fn = (pFiIIi_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int32_t)R_RCX); }
 void pFillu(x64emu_t *emu, uintptr_t fcn) { pFillu_t fn = (pFillu_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (uint32_t)R_RCX); }
 void pFipii(x64emu_t *emu, uintptr_t fcn) { pFipii_t fn = (pFipii_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void pFipip(x64emu_t *emu, uintptr_t fcn) { pFipip_t fn = (pFipip_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (int32_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((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
 void pFippu(x64emu_t *emu, uintptr_t fcn) { pFippu_t fn = (pFippu_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
+void pFippp(x64emu_t *emu, uintptr_t fcn) { pFippp_t fn = (pFippp_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void pFuuii(x64emu_t *emu, uintptr_t fcn) { pFuuii_t fn = (pFuuii_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void pFuuip(x64emu_t *emu, uintptr_t fcn) { pFuuip_t fn = (pFuuip_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
 void pFuuuu(x64emu_t *emu, uintptr_t fcn) { pFuuuu_t fn = (pFuuuu_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
@@ -3924,6 +4077,9 @@ void pFdddd(x64emu_t *emu, uintptr_t fcn) { pFdddd_t fn = (pFdddd_t)fcn; R_RAX=(
 void pFDipp(x64emu_t *emu, uintptr_t fcn) { pFDipp_t fn = (pFDipp_t)fcn; R_RAX=(uintptr_t)fn(LD2localLD((void*)(R_RSP + 8)), (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void pFlfff(x64emu_t *emu, uintptr_t fcn) { pFlfff_t fn = (pFlfff_t)fcn; R_RAX=(uintptr_t)fn((intptr_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); }
 void pFLiip(x64emu_t *emu, uintptr_t fcn) { pFLiip_t fn = (pFLiip_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
+void pFLLup(x64emu_t *emu, uintptr_t fcn) { pFLLup_t fn = (pFLLup_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
+void pFLLpp(x64emu_t *emu, uintptr_t fcn) { pFLLpp_t fn = (pFLLpp_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void pFLppp(x64emu_t *emu, uintptr_t fcn) { pFLppp_t fn = (pFLppp_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void pFpiii(x64emu_t *emu, uintptr_t fcn) { pFpiii_t fn = (pFpiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void pFpiiu(x64emu_t *emu, uintptr_t fcn) { pFpiiu_t fn = (pFpiiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); }
 void pFpiip(x64emu_t *emu, uintptr_t fcn) { pFpiip_t fn = (pFpiip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
@@ -3951,8 +4107,10 @@ void pFpupu(x64emu_t *emu, uintptr_t fcn) { pFpupu_t fn = (pFpupu_t)fcn; R_RAX=(
 void pFpupp(x64emu_t *emu, uintptr_t fcn) { pFpupp_t fn = (pFpupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void pFpdIU(x64emu_t *emu, uintptr_t fcn) { pFpdIU_t fn = (pFpdIU_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, emu->xmm[0].d[0], (int64_t)R_RSI, (uint64_t)R_RDX); }
 void pFplil(x64emu_t *emu, uintptr_t fcn) { pFplil_t fn = (pFplil_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (int32_t)R_RDX, (intptr_t)R_RCX); }
+void pFplip(x64emu_t *emu, uintptr_t fcn) { pFplip_t fn = (pFplip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (int32_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, (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 pFpLii(x64emu_t *emu, uintptr_t fcn) { pFpLii_t fn = (pFpLii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (int32_t)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, (int32_t)R_RDX, (void*)R_RCX); }
 void pFpLup(x64emu_t *emu, uintptr_t fcn) { pFpLup_t fn = (pFpLup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
 void pFpLLp(x64emu_t *emu, uintptr_t fcn) { pFpLLp_t fn = (pFpLLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
@@ -4151,6 +4309,7 @@ void vFpLpiL(x64emu_t *emu, uintptr_t fcn) { vFpLpiL_t fn = (vFpLpiL_t)fcn; fn((
 void vFppiii(x64emu_t *emu, uintptr_t fcn) { vFppiii_t fn = (vFppiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
 void vFppiiu(x64emu_t *emu, uintptr_t fcn) { vFppiiu_t fn = (vFppiiu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8); }
 void vFppiip(x64emu_t *emu, uintptr_t fcn) { vFppiip_t fn = (vFppiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
+void vFppiui(x64emu_t *emu, uintptr_t fcn) { vFppiui_t fn = (vFppiui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
 void vFppiup(x64emu_t *emu, uintptr_t fcn) { vFppiup_t fn = (vFppiup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_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, (int32_t)R_RDX, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void vFppidd(x64emu_t *emu, uintptr_t fcn) { vFppidd_t fn = (vFppidd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
@@ -4163,6 +4322,7 @@ void vFppuuu(x64emu_t *emu, uintptr_t fcn) { vFppuuu_t fn = (vFppuuu_t)fcn; fn((
 void vFppuup(x64emu_t *emu, uintptr_t fcn) { vFppuup_t fn = (vFppuup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void vFppudd(x64emu_t *emu, uintptr_t fcn) { vFppudd_t fn = (vFppudd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
 void vFppupi(x64emu_t *emu, uintptr_t fcn) { vFppupi_t fn = (vFppupi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
+void vFppupu(x64emu_t *emu, uintptr_t fcn) { vFppupu_t fn = (vFppupu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8); }
 void vFppupp(x64emu_t *emu, uintptr_t fcn) { vFppupp_t fn = (vFppupp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFppfff(x64emu_t *emu, uintptr_t fcn) { vFppfff_t fn = (vFppfff_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); }
 void vFppddp(x64emu_t *emu, uintptr_t fcn) { vFppddp_t fn = (vFppddp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], (void*)R_RDX); }
@@ -4172,6 +4332,7 @@ void vFpppip(x64emu_t *emu, uintptr_t fcn) { vFpppip_t fn = (vFpppip_t)fcn; fn((
 void vFpppui(x64emu_t *emu, uintptr_t fcn) { vFpppui_t fn = (vFpppui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)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, (uint32_t)R_RCX, (uint32_t)R_R8); }
 void vFpppup(x64emu_t *emu, uintptr_t fcn) { vFpppup_t fn = (vFpppup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
+void vFpppff(x64emu_t *emu, uintptr_t fcn) { vFpppff_t fn = (vFpppff_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void vFpppdd(x64emu_t *emu, uintptr_t fcn) { vFpppdd_t fn = (vFpppdd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
 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, (int32_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, (uint32_t)R_R8); }
@@ -4179,6 +4340,7 @@ void vFppppL(x64emu_t *emu, uintptr_t fcn) { vFppppL_t fn = (vFppppL_t)fcn; fn((
 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=(int32_t)fn(emu, (int32_t)R_RDI, (int32_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=(int32_t)fn(emu, (int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); }
+void iFEiipA(x64emu_t *emu, uintptr_t fcn) { iFEiipA_t fn = (iFEiipA_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFEippi(x64emu_t *emu, uintptr_t fcn) { iFEippi_t fn = (iFEippi_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
 void iFEippL(x64emu_t *emu, uintptr_t fcn) { iFEippL_t fn = (iFEippL_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void iFEippp(x64emu_t *emu, uintptr_t fcn) { iFEippp_t fn = (iFEippp_t)fcn; R_RAX=(int32_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
@@ -4220,8 +4382,10 @@ void iFippLi(x64emu_t *emu, uintptr_t fcn) { iFippLi_t fn = (iFippLi_t)fcn; R_RA
 void iFippLp(x64emu_t *emu, uintptr_t fcn) { iFippLp_t fn = (iFippLp_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
 void iFipppi(x64emu_t *emu, uintptr_t fcn) { iFipppi_t fn = (iFipppi_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
 void iFipppp(x64emu_t *emu, uintptr_t fcn) { iFipppp_t fn = (iFipppp_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void iFuuupp(x64emu_t *emu, uintptr_t fcn) { iFuuupp_t fn = (iFuuupp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFuppLp(x64emu_t *emu, uintptr_t fcn) { iFuppLp_t fn = (iFuppLp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
 void iFLppip(x64emu_t *emu, uintptr_t fcn) { iFLppip_t fn = (iFLppip_t)fcn; R_RAX=(int32_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
+void iFLpppp(x64emu_t *emu, uintptr_t fcn) { iFLpppp_t fn = (iFLpppp_t)fcn; R_RAX=(int32_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpwwww(x64emu_t *emu, uintptr_t fcn) { iFpwwww_t fn = (iFpwwww_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int16_t)R_RSI, (int16_t)R_RDX, (int16_t)R_RCX, (int16_t)R_R8); }
 void iFpwppp(x64emu_t *emu, uintptr_t fcn) { iFpwppp_t fn = (iFpwppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int16_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpiiii(x64emu_t *emu, uintptr_t fcn) { iFpiiii_t fn = (iFpiiii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
@@ -4253,11 +4417,14 @@ void iFpuuip(x64emu_t *emu, uintptr_t fcn) { iFpuuip_t fn = (iFpuuip_t)fcn; R_RA
 void iFpuuui(x64emu_t *emu, uintptr_t fcn) { iFpuuui_t fn = (iFpuuui_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
 void iFpuuup(x64emu_t *emu, uintptr_t fcn) { iFpuuup_t fn = (iFpuuup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void iFpuuLL(x64emu_t *emu, uintptr_t fcn) { iFpuuLL_t fn = (iFpuuLL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_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=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpulup(x64emu_t *emu, uintptr_t fcn) { iFpulup_t fn = (iFpulup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (intptr_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void iFpulpp(x64emu_t *emu, uintptr_t fcn) { iFpulpp_t fn = (iFpulpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpupiU(x64emu_t *emu, uintptr_t fcn) { iFpupiU_t fn = (iFpupiU_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint64_t)R_R8); }
+void iFpupui(x64emu_t *emu, uintptr_t fcn) { iFpupui_t fn = (iFpupui_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
 void iFpupuu(x64emu_t *emu, uintptr_t fcn) { iFpupuu_t fn = (iFpupuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
 void iFpupup(x64emu_t *emu, uintptr_t fcn) { iFpupup_t fn = (iFpupup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
+void iFpuppL(x64emu_t *emu, uintptr_t fcn) { iFpuppL_t fn = (iFpuppL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
 void iFpuppp(x64emu_t *emu, uintptr_t fcn) { iFpuppp_t fn = (iFpuppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpUiUi(x64emu_t *emu, uintptr_t fcn) { iFpUiUi_t fn = (iFpUiUi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int32_t)R_RDX, (uint64_t)R_RCX, (int32_t)R_R8); }
 void iFpUupp(x64emu_t *emu, uintptr_t fcn) { iFpUupp_t fn = (iFpUupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -4286,6 +4453,7 @@ void iFppiup(x64emu_t *emu, uintptr_t fcn) { iFppiup_t fn = (iFppiup_t)fcn; R_RA
 void iFppiLi(x64emu_t *emu, uintptr_t fcn) { iFppiLi_t fn = (iFppiLi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8); }
 void iFppiLL(x64emu_t *emu, uintptr_t fcn) { iFppiLL_t fn = (iFppiLL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); }
 void iFppipi(x64emu_t *emu, uintptr_t fcn) { iFppipi_t fn = (iFppipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
+void iFppipu(x64emu_t *emu, uintptr_t fcn) { iFppipu_t fn = (iFppipu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8); }
 void iFppipp(x64emu_t *emu, uintptr_t fcn) { iFppipp_t fn = (iFppipp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFppuwp(x64emu_t *emu, uintptr_t fcn) { iFppuwp_t fn = (iFppuwp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int16_t)R_RCX, (void*)R_R8); }
 void iFppuip(x64emu_t *emu, uintptr_t fcn) { iFppuip_t fn = (iFppuip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
@@ -4325,9 +4493,11 @@ void uFuiiii(x64emu_t *emu, uintptr_t fcn) { uFuiiii_t fn = (uFuiiii_t)fcn; R_RA
 void uFLpppL(x64emu_t *emu, uintptr_t fcn) { uFLpppL_t fn = (uFLpppL_t)fcn; R_RAX=(uint32_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
 void uFpCCCC(x64emu_t *emu, uintptr_t fcn) { uFpCCCC_t fn = (uFpCCCC_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8); }
 void uFpWuip(x64emu_t *emu, uintptr_t fcn) { uFpWuip_t fn = (uFpWuip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
+void uFpuuui(x64emu_t *emu, uintptr_t fcn) { uFpuuui_t fn = (uFpuuui_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
 void uFpuuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuuu_t fn = (uFpuuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
 void uFpuupp(x64emu_t *emu, uintptr_t fcn) { uFpuupp_t fn = (uFpuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFpupuu(x64emu_t *emu, uintptr_t fcn) { uFpupuu_t fn = (uFpupuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
+void uFpuppp(x64emu_t *emu, uintptr_t fcn) { uFpuppp_t fn = (uFpuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFppipp(x64emu_t *emu, uintptr_t fcn) { uFppipp_t fn = (uFppipp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFppuup(x64emu_t *emu, uintptr_t fcn) { uFppuup_t fn = (uFppuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void uFppupp(x64emu_t *emu, uintptr_t fcn) { uFppupp_t fn = (uFppupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -4357,6 +4527,7 @@ void LFpLpuu(x64emu_t *emu, uintptr_t fcn) { LFpLpuu_t fn = (LFpLpuu_t)fcn; R_RA
 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); }
 void LFppLLp(x64emu_t *emu, uintptr_t fcn) { LFppLLp_t fn = (LFppLLp_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 LFppLpL(x64emu_t *emu, uintptr_t fcn) { LFppLpL_t fn = (LFppLpL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
 void LFpppii(x64emu_t *emu, uintptr_t fcn) { LFpppii_t fn = (LFpppii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
 void LFppppp(x64emu_t *emu, uintptr_t fcn) { LFppppp_t fn = (LFppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFEpiii(x64emu_t *emu, uintptr_t fcn) { pFEpiii_t fn = (pFEpiii_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
@@ -4393,6 +4564,7 @@ void pFpiipp(x64emu_t *emu, uintptr_t fcn) { pFpiipp_t fn = (pFpiipp_t)fcn; R_RA
 void pFpiCCC(x64emu_t *emu, uintptr_t fcn) { pFpiCCC_t fn = (pFpiCCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_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, (int32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
 void pFpiupp(x64emu_t *emu, uintptr_t fcn) { pFpiupp_t fn = (pFpiupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void pFpiLip(x64emu_t *emu, uintptr_t fcn) { pFpiLip_t fn = (pFpiLip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
 void pFpipip(x64emu_t *emu, uintptr_t fcn) { pFpipip_t fn = (pFpipip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
 void pFpipup(x64emu_t *emu, uintptr_t fcn) { pFpipup_t fn = (pFpipup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void pFpippi(x64emu_t *emu, uintptr_t fcn) { pFpippi_t fn = (pFpippi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
@@ -4407,14 +4579,17 @@ void pFpuuWW(x64emu_t *emu, uintptr_t fcn) { pFpuuWW_t fn = (pFpuuWW_t)fcn; R_RA
 void pFpuuuu(x64emu_t *emu, uintptr_t fcn) { pFpuuuu_t fn = (pFpuuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_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, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void pFpupii(x64emu_t *emu, uintptr_t fcn) { pFpupii_t fn = (pFpupii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
+void pFpuppu(x64emu_t *emu, uintptr_t fcn) { pFpuppu_t fn = (pFpuppu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8); }
 void pFpuppp(x64emu_t *emu, uintptr_t fcn) { pFpuppp_t fn = (pFpuppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFpUdii(x64emu_t *emu, uintptr_t fcn) { pFpUdii_t fn = (pFpUdii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], (int32_t)R_RDX, (int32_t)R_RCX); }
 void pFpfffi(x64emu_t *emu, uintptr_t fcn) { pFpfffi_t fn = (pFpfffi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], (int32_t)R_RSI); }
 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 pFpLiii(x64emu_t *emu, uintptr_t fcn) { pFpLiii_t fn = (pFpLiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
+void pFpLLip(x64emu_t *emu, uintptr_t fcn) { pFpLLip_t fn = (pFpLLip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
 void pFpLLLp(x64emu_t *emu, uintptr_t fcn) { pFpLLLp_t fn = (pFpLLLp_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 pFpLpii(x64emu_t *emu, uintptr_t fcn) { pFpLpii_t fn = (pFpLpii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
+void pFpLpip(x64emu_t *emu, uintptr_t fcn) { pFpLpip_t fn = (pFpLpip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)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, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
 void pFppiiu(x64emu_t *emu, uintptr_t fcn) { pFppiiu_t fn = (pFppiiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_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, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
@@ -4429,11 +4604,13 @@ void pFppuup(x64emu_t *emu, uintptr_t fcn) { pFppuup_t fn = (pFppuup_t)fcn; R_RA
 void pFppupp(x64emu_t *emu, uintptr_t fcn) { pFppupp_t fn = (pFppupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFppddu(x64emu_t *emu, uintptr_t fcn) { pFppddu_t fn = (pFppddu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], (uint32_t)R_RDX); }
 void pFppLii(x64emu_t *emu, uintptr_t fcn) { pFppLii_t fn = (pFppLii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
+void pFppLLi(x64emu_t *emu, uintptr_t fcn) { pFppLLi_t fn = (pFppLLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8); }
+void pFppLpp(x64emu_t *emu, uintptr_t fcn) { pFppLpp_t fn = (pFppLpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)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, (int32_t)R_RCX, (int32_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, (int32_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, (int32_t)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, (uint32_t)R_RCX, (int32_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, (uint32_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, (intptr_t)R_RCX, (int32_t)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, (int32_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, (int32_t)R_R8); }
 void pFppppu(x64emu_t *emu, uintptr_t fcn) { pFppppu_t fn = (pFppppu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8); }
@@ -4457,6 +4634,7 @@ void vFEiiipp(x64emu_t *emu, uintptr_t fcn) { vFEiiipp_t fn = (vFEiiipp_t)fcn; f
 void vFEpiLpp(x64emu_t *emu, uintptr_t fcn) { vFEpiLpp_t fn = (vFEpiLpp_t)fcn; fn(emu, (void*)R_RDI, (int32_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, (int32_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, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void vFEpuipV(x64emu_t *emu, uintptr_t fcn) { vFEpuipV_t fn = (vFEpuipV_t)fcn; fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)(R_RSP + 8)); }
 void vFEpupup(x64emu_t *emu, uintptr_t fcn) { vFEpupup_t fn = (vFEpupup_t)fcn; fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void vFEpuppp(x64emu_t *emu, uintptr_t fcn) { vFEpuppp_t fn = (vFEpuppp_t)fcn; fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (void*)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); }
@@ -4546,11 +4724,14 @@ void vFpuiiii(x64emu_t *emu, uintptr_t fcn) { vFpuiiii_t fn = (vFpuiiii_t)fcn; f
 void vFpuiiiu(x64emu_t *emu, uintptr_t fcn) { vFpuiiiu_t fn = (vFpuiiiu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); }
 void vFpuiipp(x64emu_t *emu, uintptr_t fcn) { vFpuiipp_t fn = (vFpuiipp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpuuuiu(x64emu_t *emu, uintptr_t fcn) { vFpuuuiu_t fn = (vFpuuuiu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); }
+void vFpuuuup(x64emu_t *emu, uintptr_t fcn) { vFpuuuup_t fn = (vFpuuuup_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
+void vFpuuupp(x64emu_t *emu, uintptr_t fcn) { vFpuuupp_t fn = (vFpuuupp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpuupuu(x64emu_t *emu, uintptr_t fcn) { vFpuupuu_t fn = (vFpuupuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
 void vFpuuppp(x64emu_t *emu, uintptr_t fcn) { vFpuuppp_t fn = (vFpuuppp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)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, (uint32_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); }
 void vFpupiUu(x64emu_t *emu, uintptr_t fcn) { vFpupiUu_t fn = (vFpupiUu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint64_t)R_R8, (uint32_t)R_R9); }
 void vFpupuuu(x64emu_t *emu, uintptr_t fcn) { vFpupuuu_t fn = (vFpupuuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
+void vFpupupu(x64emu_t *emu, uintptr_t fcn) { vFpupupu_t fn = (vFpupupu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void vFpuppuu(x64emu_t *emu, uintptr_t fcn) { vFpuppuu_t fn = (vFpuppuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
 void vFpupppp(x64emu_t *emu, uintptr_t fcn) { vFpupppp_t fn = (vFpupppp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpUiuup(x64emu_t *emu, uintptr_t fcn) { vFpUiuup_t fn = (vFpUiuup_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
@@ -4609,11 +4790,13 @@ void iFEpippi(x64emu_t *emu, uintptr_t fcn) { iFEpippi_t fn = (iFEpippi_t)fcn; R
 void iFEpIppp(x64emu_t *emu, uintptr_t fcn) { iFEpIppp_t fn = (iFEpIppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFEpuppp(x64emu_t *emu, uintptr_t fcn) { iFEpuppp_t fn = (iFEpuppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFEpUppp(x64emu_t *emu, uintptr_t fcn) { iFEpUppp_t fn = (iFEpUppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void iFEppppi(x64emu_t *emu, uintptr_t fcn) { iFEppppi_t fn = (iFEppppi_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
 void iFEppppp(x64emu_t *emu, uintptr_t fcn) { iFEppppp_t fn = (iFEppppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiip_t fn = (iFiiiiip_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void iFiiiipp(x64emu_t *emu, uintptr_t fcn) { iFiiiipp_t fn = (iFiiiipp_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFiiiuwp(x64emu_t *emu, uintptr_t fcn) { iFiiiuwp_t fn = (iFiiiuwp_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int16_t)R_R8, (void*)R_R9); }
 void iFiWiipi(x64emu_t *emu, uintptr_t fcn) { iFiWiipi_t fn = (iFiWiipi_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (uint16_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); }
+void iFilpppp(x64emu_t *emu, uintptr_t fcn) { iFilpppp_t fn = (iFilpppp_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFiLpppi(x64emu_t *emu, uintptr_t fcn) { iFiLpppi_t fn = (iFiLpppi_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9); }
 void iFipiipi(x64emu_t *emu, uintptr_t fcn) { iFipiipi_t fn = (iFipiipi_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); }
 void iFipipip(x64emu_t *emu, uintptr_t fcn) { iFipipip_t fn = (iFipipip_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
@@ -4638,17 +4821,23 @@ void iFpiCCpu(x64emu_t *emu, uintptr_t fcn) { iFpiCCpu_t fn = (iFpiCCpu_t)fcn; R
 void iFpiuuup(x64emu_t *emu, uintptr_t fcn) { iFpiuuup_t fn = (iFpiuuup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
 void iFpiuupp(x64emu_t *emu, uintptr_t fcn) { iFpiuupp_t fn = (iFpiuupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (uint32_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=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); }
+void iFpipipp(x64emu_t *emu, uintptr_t fcn) { iFpipipp_t fn = (iFpipipp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpipupp(x64emu_t *emu, uintptr_t fcn) { iFpipupp_t fn = (iFpipupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpippip(x64emu_t *emu, uintptr_t fcn) { iFpippip_t fn = (iFpippip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
+void iFpippup(x64emu_t *emu, uintptr_t fcn) { iFpippup_t fn = (iFpippup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
 void iFpipppL(x64emu_t *emu, uintptr_t fcn) { iFpipppL_t fn = (iFpipppL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_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=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpCiipp(x64emu_t *emu, uintptr_t fcn) { iFpCiipp_t fn = (iFpCiipp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpCpipu(x64emu_t *emu, uintptr_t fcn) { iFpCpipu_t fn = (iFpCpipu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
+void iFpWipip(x64emu_t *emu, uintptr_t fcn) { iFpWipip_t fn = (iFpWipip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void iFpWpppp(x64emu_t *emu, uintptr_t fcn) { iFpWpppp_t fn = (iFpWpppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpuiCpp(x64emu_t *emu, uintptr_t fcn) { iFpuiCpp_t fn = (iFpuiCpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_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=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpuuuuu(x64emu_t *emu, uintptr_t fcn) { iFpuuuuu_t fn = (iFpuuuuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
+void iFpuuuup(x64emu_t *emu, uintptr_t fcn) { iFpuuuup_t fn = (iFpuuuup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
+void iFpuuupp(x64emu_t *emu, uintptr_t fcn) { iFpuuupp_t fn = (iFpuuupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpuupuu(x64emu_t *emu, uintptr_t fcn) { iFpuupuu_t fn = (iFpuupuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
+void iFpuuppp(x64emu_t *emu, uintptr_t fcn) { iFpuuppp_t fn = (iFpuuppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpuLLpp(x64emu_t *emu, uintptr_t fcn) { iFpuLLpp_t fn = (iFpuLLpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpupuui(x64emu_t *emu, uintptr_t fcn) { iFpupuui_t fn = (iFpupuui_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9); }
 void iFpupLpL(x64emu_t *emu, uintptr_t fcn) { iFpupLpL_t fn = (iFpupLpL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (uintptr_t)R_R9); }
@@ -4657,6 +4846,7 @@ void iFpUuuLp(x64emu_t *emu, uintptr_t fcn) { iFpUuuLp_t fn = (iFpUuuLp_t)fcn; R
 void iFpUuupp(x64emu_t *emu, uintptr_t fcn) { iFpUuupp_t fn = (iFpUuupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpUUUip(x64emu_t *emu, uintptr_t fcn) { iFpUUUip_t fn = (iFpUUUip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void iFpUUUUp(x64emu_t *emu, uintptr_t fcn) { iFpUUUUp_t fn = (iFpUUUUp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (void*)R_R9); }
+void iFpdpipp(x64emu_t *emu, uintptr_t fcn) { iFpdpipp_t fn = (iFpdpipp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, emu->xmm[0].d[0], (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpLiiiL(x64emu_t *emu, uintptr_t fcn) { iFpLiiiL_t fn = (iFpLiiiL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9); }
 void iFpLiiip(x64emu_t *emu, uintptr_t fcn) { iFpLiiip_t fn = (iFpLiiip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void iFpLiiuu(x64emu_t *emu, uintptr_t fcn) { iFpLiiuu_t fn = (iFpLiiuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
@@ -4675,9 +4865,11 @@ void iFppiiip(x64emu_t *emu, uintptr_t fcn) { iFppiiip_t fn = (iFppiiip_t)fcn; R
 void iFppiipi(x64emu_t *emu, uintptr_t fcn) { iFppiipi_t fn = (iFppiipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); }
 void iFppiipp(x64emu_t *emu, uintptr_t fcn) { iFppiipp_t fn = (iFppiipp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFppiupp(x64emu_t *emu, uintptr_t fcn) { iFppiupp_t fn = (iFppiupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void iFppilpp(x64emu_t *emu, uintptr_t fcn) { iFppilpp_t fn = (iFppilpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (intptr_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=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void iFppipiL(x64emu_t *emu, uintptr_t fcn) { iFppipiL_t fn = (iFppipiL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9); }
 void iFppipip(x64emu_t *emu, uintptr_t fcn) { iFppipip_t fn = (iFppipip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
+void iFppippu(x64emu_t *emu, uintptr_t fcn) { iFppippu_t fn = (iFppippu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void iFppIppp(x64emu_t *emu, uintptr_t fcn) { iFppIppp_t fn = (iFppIppp_t)fcn; R_RAX=(int32_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=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void iFppuIII(x64emu_t *emu, uintptr_t fcn) { iFppuIII_t fn = (iFppuIII_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
@@ -4690,12 +4882,15 @@ void iFpplppi(x64emu_t *emu, uintptr_t fcn) { iFpplppi_t fn = (iFpplppi_t)fcn; R
 void iFppLupp(x64emu_t *emu, uintptr_t fcn) { iFppLupp_t fn = (iFppLupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFppLLiL(x64emu_t *emu, uintptr_t fcn) { iFppLLiL_t fn = (iFppLLiL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9); }
 void iFppLLup(x64emu_t *emu, uintptr_t fcn) { iFppLLup_t fn = (iFppLLup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
+void iFppLLpp(x64emu_t *emu, uintptr_t fcn) { iFppLLpp_t fn = (iFppLLpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_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=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9); }
 void iFppLppp(x64emu_t *emu, uintptr_t fcn) { iFppLppp_t fn = (iFppLppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpppiuu(x64emu_t *emu, uintptr_t fcn) { iFpppiuu_t fn = (iFpppiuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
 void iFpppipi(x64emu_t *emu, uintptr_t fcn) { iFpppipi_t fn = (iFpppipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); }
+void iFpppipu(x64emu_t *emu, uintptr_t fcn) { iFpppipu_t fn = (iFpppipu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void iFpppipp(x64emu_t *emu, uintptr_t fcn) { iFpppipp_t fn = (iFpppipp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpppuii(x64emu_t *emu, uintptr_t fcn) { iFpppuii_t fn = (iFpppuii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
+void iFpppuup(x64emu_t *emu, uintptr_t fcn) { iFpppuup_t fn = (iFpppuup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
 void iFpppupu(x64emu_t *emu, uintptr_t fcn) { iFpppupu_t fn = (iFpppupu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void iFpppupp(x64emu_t *emu, uintptr_t fcn) { iFpppupp_t fn = (iFpppupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpppLpp(x64emu_t *emu, uintptr_t fcn) { iFpppLpp_t fn = (iFpppLpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); }
@@ -4704,6 +4899,7 @@ void iFppppiu(x64emu_t *emu, uintptr_t fcn) { iFppppiu_t fn = (iFppppiu_t)fcn; R
 void iFppppip(x64emu_t *emu, uintptr_t fcn) { iFppppip_t fn = (iFppppip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void iFppppup(x64emu_t *emu, uintptr_t fcn) { iFppppup_t fn = (iFppppup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
 void iFpppppi(x64emu_t *emu, uintptr_t fcn) { iFpppppi_t fn = (iFpppppi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9); }
+void iFpppppL(x64emu_t *emu, uintptr_t fcn) { iFpppppL_t fn = (iFpppppL_t)fcn; R_RAX=(int32_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=(int32_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=(uint32_t)fn(emu, (int32_t)R_RDI, (int32_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=(uint32_t)fn(emu, (int32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -4718,6 +4914,9 @@ void uFpWuipp(x64emu_t *emu, uintptr_t fcn) { uFpWuipp_t fn = (uFpWuipp_t)fcn; R
 void uFpWuuCp(x64emu_t *emu, uintptr_t fcn) { uFpWuuCp_t fn = (uFpWuuCp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint8_t)R_R8, (void*)R_R9); }
 void uFpuippp(x64emu_t *emu, uintptr_t fcn) { uFpuippp_t fn = (uFpuippp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFpuuuup(x64emu_t *emu, uintptr_t fcn) { uFpuuuup_t fn = (uFpuuuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
+void uFpuuupp(x64emu_t *emu, uintptr_t fcn) { uFpuuupp_t fn = (uFpuuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void uFpuuppp(x64emu_t *emu, uintptr_t fcn) { uFpuuppp_t fn = (uFpuuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void uFpupupu(x64emu_t *emu, uintptr_t fcn) { uFpupupu_t fn = (uFpupupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void uFppippp(x64emu_t *emu, uintptr_t fcn) { uFppippp_t fn = (uFppippp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFppuuup(x64emu_t *emu, uintptr_t fcn) { uFppuuup_t fn = (uFppuuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
 void uFppuupu(x64emu_t *emu, uintptr_t fcn) { uFppuupu_t fn = (uFppuupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
@@ -4740,6 +4939,7 @@ void LFEppppi(x64emu_t *emu, uintptr_t fcn) { LFEppppi_t fn = (LFEppppi_t)fcn; R
 void LFpipipi(x64emu_t *emu, uintptr_t fcn) { LFpipipi_t fn = (LFpipipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_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, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void LFpLLLLL(x64emu_t *emu, uintptr_t fcn) { LFpLLLLL_t fn = (LFpLLLLL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9); }
+void LFppLLpL(x64emu_t *emu, uintptr_t fcn) { LFppLLpL_t fn = (LFppLLpL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (uintptr_t)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, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void pFEpiupp(x64emu_t *emu, uintptr_t fcn) { pFEpiupp_t fn = (pFEpiupp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFEpippp(x64emu_t *emu, uintptr_t fcn) { pFEpippp_t fn = (pFEpippp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -4758,14 +4958,17 @@ void pFiiiiid(x64emu_t *emu, uintptr_t fcn) { pFiiiiid_t fn = (pFiiiiid_t)fcn; R
 void pFipippp(x64emu_t *emu, uintptr_t fcn) { pFipippp_t fn = (pFipippp_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFWCiWCi(x64emu_t *emu, uintptr_t fcn) { pFWCiWCi_t fn = (pFWCiWCi_t)fcn; R_RAX=(uintptr_t)fn((uint16_t)R_RDI, (uint8_t)R_RSI, (int32_t)R_RDX, (uint16_t)R_RCX, (uint8_t)R_R8, (int32_t)R_R9); }
 void pFuuipip(x64emu_t *emu, uintptr_t fcn) { pFuuipip_t fn = (pFuuipip_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
+void pFuuuiip(x64emu_t *emu, uintptr_t fcn) { pFuuuiip_t fn = (pFuuuiip_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void pFuuuuii(x64emu_t *emu, uintptr_t fcn) { pFuuuuii_t fn = (pFuuuuii_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void pFuuuuuu(x64emu_t *emu, uintptr_t fcn) { pFuuuuuu_t fn = (pFuuuuuu_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
 void pFuuuuup(x64emu_t *emu, uintptr_t fcn) { pFuuuuup_t fn = (pFuuuuup_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
+void pFuuppuu(x64emu_t *emu, uintptr_t fcn) { pFuuppuu_t fn = (pFuuppuu_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
 void pFdddddd(x64emu_t *emu, uintptr_t fcn) { pFdddddd_t fn = (pFdddddd_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], emu->xmm[4].d[0], emu->xmm[5].d[0]); }
 void pFpiiiiu(x64emu_t *emu, uintptr_t fcn) { pFpiiiiu_t fn = (pFpiiiiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); }
 void pFpiiipp(x64emu_t *emu, uintptr_t fcn) { pFpiiipp_t fn = (pFpiiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFpiiCCC(x64emu_t *emu, uintptr_t fcn) { pFpiiCCC_t fn = (pFpiiCCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9); }
 void pFpiUUUU(x64emu_t *emu, uintptr_t fcn) { pFpiUUUU_t fn = (pFpiUUUU_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9); }
+void pFpipipp(x64emu_t *emu, uintptr_t fcn) { pFpipipp_t fn = (pFpipipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFpippip(x64emu_t *emu, uintptr_t fcn) { pFpippip_t fn = (pFpippip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void pFpipppp(x64emu_t *emu, uintptr_t fcn) { pFpipppp_t fn = (pFpipppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFpCuuCC(x64emu_t *emu, uintptr_t fcn) { pFpCuuCC_t fn = (pFpCuuCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9); }
@@ -4776,18 +4979,26 @@ void pFpuuuuu(x64emu_t *emu, uintptr_t fcn) { pFpuuuuu_t fn = (pFpuuuuu_t)fcn; R
 void pFpuuupu(x64emu_t *emu, uintptr_t fcn) { pFpuuupu_t fn = (pFpuuupu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_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, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9); }
 void pFpupuui(x64emu_t *emu, uintptr_t fcn) { pFpupuui_t fn = (pFpupuui_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9); }
+void pFpuppip(x64emu_t *emu, uintptr_t fcn) { pFpuppip_t fn = (pFpuppip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void pFpupppp(x64emu_t *emu, uintptr_t fcn) { pFpupppp_t fn = (pFpupppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)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 pFpLuLpp(x64emu_t *emu, uintptr_t fcn) { pFpLuLpp_t fn = (pFpLuLpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void pFpLpLLi(x64emu_t *emu, uintptr_t fcn) { pFpLpLLi_t fn = (pFpLpLLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9); }
 void pFpLppii(x64emu_t *emu, uintptr_t fcn) { pFpLppii_t fn = (pFpLppii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
+void pFpLppip(x64emu_t *emu, uintptr_t fcn) { pFpLppip_t fn = (pFpLppip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
+void pFpLppup(x64emu_t *emu, uintptr_t fcn) { pFpLppup_t fn = (pFpLppup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)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, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_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, (int32_t)R_RDX, (int32_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, (int32_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9); }
 void pFppiupp(x64emu_t *emu, uintptr_t fcn) { pFppiupp_t fn = (pFppiupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void pFppilpp(x64emu_t *emu, uintptr_t fcn) { pFppilpp_t fn = (pFppilpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFppipip(x64emu_t *emu, uintptr_t fcn) { pFppipip_t fn = (pFppipip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)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, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_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, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void pFppuupp(x64emu_t *emu, uintptr_t fcn) { pFppuupp_t fn = (pFppuupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFppupii(x64emu_t *emu, uintptr_t fcn) { pFppupii_t fn = (pFppupii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void pFppuppp(x64emu_t *emu, uintptr_t fcn) { pFppuppp_t fn = (pFppuppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void pFpplplp(x64emu_t *emu, uintptr_t fcn) { pFpplplp_t fn = (pFpplplp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (intptr_t)R_R8, (void*)R_R9); }
 void pFpplppp(x64emu_t *emu, uintptr_t fcn) { pFpplppp_t fn = (pFpplppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFpppiup(x64emu_t *emu, uintptr_t fcn) { pFpppiup_t fn = (pFpppiup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
 void pFpppupp(x64emu_t *emu, uintptr_t fcn) { pFpppupp_t fn = (pFpppupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
@@ -4872,6 +5083,7 @@ void vFpipipii(x64emu_t *emu, uintptr_t fcn) { vFpipipii_t fn = (vFpipipii_t)fcn
 void vFpippppu(x64emu_t *emu, uintptr_t fcn) { vFpippppu_t fn = (vFpippppu_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void vFpuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFpuuuuuu_t fn = (vFpuuuuuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void vFpuuUUuu(x64emu_t *emu, uintptr_t fcn) { vFpuuUUuu_t fn = (vFpuuUUuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
+void vFpuupupu(x64emu_t *emu, uintptr_t fcn) { vFpuupupu_t fn = (vFpuupupu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void vFpuupppp(x64emu_t *emu, uintptr_t fcn) { vFpuupppp_t fn = (vFpuupppp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFpupuuup(x64emu_t *emu, uintptr_t fcn) { vFpupuuup_t fn = (vFpupuuup_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFpupppui(x64emu_t *emu, uintptr_t fcn) { vFpupppui_t fn = (vFpupppui_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
@@ -4906,6 +5118,7 @@ void vFpppiipp(x64emu_t *emu, uintptr_t fcn) { vFpppiipp_t fn = (vFpppiipp_t)fcn
 void vFpppiupi(x64emu_t *emu, uintptr_t fcn) { vFpppiupi_t fn = (vFpppiupi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(int32_t*)(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, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(int32_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, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
+void vFpppffff(x64emu_t *emu, uintptr_t fcn) { vFpppffff_t fn = (vFpppffff_t)fcn; 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], emu->xmm[3].f[0]); }
 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, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFppppiui(x64emu_t *emu, uintptr_t fcn) { vFppppiui_t fn = (vFppppiui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(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, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
@@ -4922,6 +5135,7 @@ void iFEpppiiu(x64emu_t *emu, uintptr_t fcn) { iFEpppiiu_t fn = (iFEpppiiu_t)fcn
 void iFEpppppL(x64emu_t *emu, uintptr_t fcn) { iFEpppppL_t fn = (iFEpppppL_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9); }
 void iFEpppppp(x64emu_t *emu, uintptr_t fcn) { iFEpppppp_t fn = (iFEpppppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiip_t fn = (iFiiiiiip_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
+void iFipupupi(x64emu_t *emu, uintptr_t fcn) { iFipupupi_t fn = (iFipupupi_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFpiiiiii(x64emu_t *emu, uintptr_t fcn) { iFpiiiiii_t fn = (iFpiiiiii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFpiiiiip(x64emu_t *emu, uintptr_t fcn) { iFpiiiiip_t fn = (iFpiiiiip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
 void iFpiiiuwp(x64emu_t *emu, uintptr_t fcn) { iFpiiiuwp_t fn = (iFpiiiuwp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (int16_t)R_R9, *(void**)(R_RSP + 8)); }
@@ -4932,10 +5146,12 @@ void iFpiuLiii(x64emu_t *emu, uintptr_t fcn) { iFpiuLiii_t fn = (iFpiuLiii_t)fcn
 void iFpiupppp(x64emu_t *emu, uintptr_t fcn) { iFpiupppp_t fn = (iFpiupppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFpiLuupp(x64emu_t *emu, uintptr_t fcn) { iFpiLuupp_t fn = (iFpiLuupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFpiLuppp(x64emu_t *emu, uintptr_t fcn) { iFpiLuppp_t fn = (iFpiLuppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void iFpipiiip(x64emu_t *emu, uintptr_t fcn) { iFpipiiip_t fn = (iFpipiiip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
 void iFpipipip(x64emu_t *emu, uintptr_t fcn) { iFpipipip_t fn = (iFpipipip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
 void iFpipippp(x64emu_t *emu, uintptr_t fcn) { iFpipippp_t fn = (iFpipippp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFpippLpp(x64emu_t *emu, uintptr_t fcn) { iFpippLpp_t fn = (iFpippLpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFpippppW(x64emu_t *emu, uintptr_t fcn) { iFpippppW_t fn = (iFpippppW_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint16_t*)(R_RSP + 8)); }
+void iFpippppp(x64emu_t *emu, uintptr_t fcn) { iFpippppp_t fn = (iFpippppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFpIIpppp(x64emu_t *emu, uintptr_t fcn) { iFpIIpppp_t fn = (iFpIIpppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFpWCiWCi(x64emu_t *emu, uintptr_t fcn) { iFpWCiWCi_t fn = (iFpWCiWCi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint8_t)R_RDX, (int32_t)R_RCX, (uint16_t)R_R8, (uint8_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFpWppppW(x64emu_t *emu, uintptr_t fcn) { iFpWppppW_t fn = (iFpWppppW_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint16_t*)(R_RSP + 8)); }
@@ -4981,6 +5197,7 @@ void iFpppiuwu(x64emu_t *emu, uintptr_t fcn) { iFpppiuwu_t fn = (iFpppiuwu_t)fcn
 void iFpppippi(x64emu_t *emu, uintptr_t fcn) { iFpppippi_t fn = (iFpppippi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFpppippp(x64emu_t *emu, uintptr_t fcn) { iFpppippp_t fn = (iFpppippp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFpppuiii(x64emu_t *emu, uintptr_t fcn) { iFpppuiii_t fn = (iFpppuiii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
+void iFpppLppp(x64emu_t *emu, uintptr_t fcn) { iFpppLppp_t fn = (iFpppLppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFppppilp(x64emu_t *emu, uintptr_t fcn) { iFppppilp_t fn = (iFppppilp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (intptr_t)R_R9, *(void**)(R_RSP + 8)); }
 void iFppppipp(x64emu_t *emu, uintptr_t fcn) { iFppppipp_t fn = (iFppppipp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFppppdpu(x64emu_t *emu, uintptr_t fcn) { iFppppdpu_t fn = (iFppppdpu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, emu->xmm[0].d[0], (void*)R_R8, (uint32_t)R_R9); }
@@ -4995,6 +5212,8 @@ void uFEpppppp(x64emu_t *emu, uintptr_t fcn) { uFEpppppp_t fn = (uFEpppppp_t)fcn
 void uFiiiuuuu(x64emu_t *emu, uintptr_t fcn) { uFiiiuuuu_t fn = (uFiiiuuuu_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void uFuippppp(x64emu_t *emu, uintptr_t fcn) { uFuippppp_t fn = (uFuippppp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFpippppp(x64emu_t *emu, uintptr_t fcn) { uFpippppp_t fn = (uFpippppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void uFpuuuupp(x64emu_t *emu, uintptr_t fcn) { uFpuuuupp_t fn = (uFpuuuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void uFpuuuppp(x64emu_t *emu, uintptr_t fcn) { uFpuuuppp_t fn = (uFpuuuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFpuupppp(x64emu_t *emu, uintptr_t fcn) { uFpuupppp_t fn = (uFpuupppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)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=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFppuuuup(x64emu_t *emu, uintptr_t fcn) { uFppuuuup_t fn = (uFppuuuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
@@ -5028,28 +5247,37 @@ void pFpuupwwC(x64emu_t *emu, uintptr_t fcn) { pFpuupwwC_t fn = (pFpuupwwC_t)fcn
 void pFpupiipp(x64emu_t *emu, uintptr_t fcn) { pFpupiipp_t fn = (pFpupiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void pFpuppipp(x64emu_t *emu, uintptr_t fcn) { pFpuppipp_t fn = (pFpuppipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(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 pFpLLppup(x64emu_t *emu, uintptr_t fcn) { pFpLLppup_t fn = (pFpLLppup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
+void pFpLpipip(x64emu_t *emu, uintptr_t fcn) { pFpLpipip_t fn = (pFpLpipip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
+void pFpLpLLiL(x64emu_t *emu, uintptr_t fcn) { pFpLpLLiL_t fn = (pFpLpLLiL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(uintptr_t*)(R_RSP + 8)); }
 void pFpLppiip(x64emu_t *emu, uintptr_t fcn) { pFpLppiip_t fn = (pFpLppiip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
+void pFpLppLLi(x64emu_t *emu, uintptr_t fcn) { pFpLppLLi_t fn = (pFpLppLLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9, *(int32_t*)(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, (int32_t)R_RDX, (int32_t)R_RCX, (int32_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, (int32_t)R_RDX, (int32_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, (int32_t)R_RDX, (int32_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, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void pFppipLpp(x64emu_t *emu, uintptr_t fcn) { pFppipLpp_t fn = (pFppipLpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void pFppuippp(x64emu_t *emu, uintptr_t fcn) { pFppuippp_t fn = (pFppuippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void pFppuuupp(x64emu_t *emu, uintptr_t fcn) { pFppuuupp_t fn = (pFppuuupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_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, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void pFppuLLip(x64emu_t *emu, uintptr_t fcn) { pFppuLLip_t fn = (pFppuLLip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
 void pFppliuip(x64emu_t *emu, uintptr_t fcn) { pFppliuip_t fn = (pFppliuip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
 void pFpplipup(x64emu_t *emu, uintptr_t fcn) { pFpplipup_t fn = (pFpplipup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (uint32_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, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
+void pFppLLiLi(x64emu_t *emu, uintptr_t fcn) { pFppLLiLi_t fn = (pFppLLiLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9, *(int32_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, (int8_t)R_RCX, (int8_t)R_R8, (int8_t)R_R9, *(int32_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, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_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, *(int32_t*)(R_RSP + 8)); }
 void pFpppuipp(x64emu_t *emu, uintptr_t fcn) { pFpppuipp_t fn = (pFpppuipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_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, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_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, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void pFpppupup(x64emu_t *emu, uintptr_t fcn) { pFpppupup_t fn = (pFpppupup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
 void pFpppuppp(x64emu_t *emu, uintptr_t fcn) { pFpppuppp_t fn = (pFpppuppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(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], (int32_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], (int32_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, *(int32_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, *(int32_t*)(R_RSP + 8)); }
+void pFppppiii(x64emu_t *emu, uintptr_t fcn) { pFppppiii_t fn = (pFppppiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_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, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_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, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void pFppppppu(x64emu_t *emu, uintptr_t fcn) { pFppppppu_t fn = (pFppppppu_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, *(uint32_t*)(R_RSP + 8)); }
@@ -5096,6 +5324,7 @@ void vFuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuu_t fn = (vFuuuuuuuu_t)
 void vFuuufffff(x64emu_t *emu, uintptr_t fcn) { vFuuufffff_t fn = (vFuuufffff_t)fcn; fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, 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 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 vFpiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFpiiiiiii_t fn = (vFpiiiiiii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
+void vFpiiiiiip(x64emu_t *emu, uintptr_t fcn) { vFpiiiiiip_t fn = (vFpiiiiiip_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFpiiiipii(x64emu_t *emu, uintptr_t fcn) { vFpiiiipii_t fn = (vFpiiiipii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void vFpiiULipp(x64emu_t *emu, uintptr_t fcn) { vFpiiULipp_t fn = (vFpiiULipp_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint64_t)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFpiUuupup(x64emu_t *emu, uintptr_t fcn) { vFpiUuupup_t fn = (vFpiUuupup_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (uint64_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
@@ -5133,7 +5362,10 @@ void iFiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiip_t fn = (iFiiiiiiip_t)
 void iFiiupiupi(x64emu_t *emu, uintptr_t fcn) { iFiiupiupi_t fn = (iFiiupiupi_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void iFipippppp(x64emu_t *emu, uintptr_t fcn) { iFipippppp_t fn = (iFipippppp_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { iFuuuuuuuu_t fn = (iFuuuuuuuu_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
+void iFdiippppL(x64emu_t *emu, uintptr_t fcn) { iFdiippppL_t fn = (iFdiippppL_t)fcn; R_RAX=(int32_t)fn(emu->xmm[0].d[0], (int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8)); }
+void iFpipiipip(x64emu_t *emu, uintptr_t fcn) { iFpipiipip_t fn = (iFpipiipip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpippuuii(x64emu_t *emu, uintptr_t fcn) { iFpippuuii_t fn = (iFpippuuii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
+void iFpippuupp(x64emu_t *emu, uintptr_t fcn) { iFpippuupp_t fn = (iFpippuupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpCCWWpWu(x64emu_t *emu, uintptr_t fcn) { iFpCCWWpWu_t fn = (iFpCCWWpWu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8, (void*)R_R9, *(uint16_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void iFpWCuWCuu(x64emu_t *emu, uintptr_t fcn) { iFpWCuWCuu_t fn = (iFpWCuWCuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint8_t)R_RDX, (uint32_t)R_RCX, (uint16_t)R_R8, (uint8_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void iFpWWipppp(x64emu_t *emu, uintptr_t fcn) { iFpWWipppp_t fn = (iFpWWipppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint16_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
@@ -5143,6 +5375,8 @@ void iFpuuiiiii(x64emu_t *emu, uintptr_t fcn) { iFpuuiiiii_t fn = (iFpuuiiiii_t)
 void iFpuuipppp(x64emu_t *emu, uintptr_t fcn) { iFpuuipppp_t fn = (iFpuuipppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpuuupupu(x64emu_t *emu, uintptr_t fcn) { iFpuuupupu_t fn = (iFpuuupupu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void iFpuupuupp(x64emu_t *emu, uintptr_t fcn) { iFpuupuupp_t fn = (iFpuupuupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void iFpuuppiip(x64emu_t *emu, uintptr_t fcn) { iFpuuppiip_t fn = (iFpuuppiip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void iFpuuppppp(x64emu_t *emu, uintptr_t fcn) { iFpuuppppp_t fn = (iFpuuppppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpupppWWu(x64emu_t *emu, uintptr_t fcn) { iFpupppWWu_t fn = (iFpupppWWu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void iFpupppppp(x64emu_t *emu, uintptr_t fcn) { iFpupppppp_t fn = (iFpupppppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpUuuLpUi(x64emu_t *emu, uintptr_t fcn) { iFpUuuLpUi_t fn = (iFpUuuLpUi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uint64_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
@@ -5152,8 +5386,10 @@ void iFpLLLiipi(x64emu_t *emu, uintptr_t fcn) { iFpLLLiipi_t fn = (iFpLLLiipi_t)
 void iFpLLppppp(x64emu_t *emu, uintptr_t fcn) { iFpLLppppp_t fn = (iFpLLppppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpLpipppp(x64emu_t *emu, uintptr_t fcn) { iFpLpipppp_t fn = (iFpLpipppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpLppLpip(x64emu_t *emu, uintptr_t fcn) { iFpLppLpip_t fn = (iFpLppLpip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void iFpLpppupu(x64emu_t *emu, uintptr_t fcn) { iFpLpppupu_t fn = (iFpLpppupu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void iFpLpppppp(x64emu_t *emu, uintptr_t fcn) { iFpLpppppp_t fn = (iFpLpppppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFppiiipip(x64emu_t *emu, uintptr_t fcn) { iFppiiipip_t fn = (iFppiiipip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void iFppillppp(x64emu_t *emu, uintptr_t fcn) { iFppillppp_t fn = (iFppillppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFppIIIppp(x64emu_t *emu, uintptr_t fcn) { iFppIIIppp_t fn = (iFppIIIppp_t)fcn; R_RAX=(int32_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 iFppuiiuuu(x64emu_t *emu, uintptr_t fcn) { iFppuiiuuu_t fn = (iFppuiiuuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void iFppuuuuuu(x64emu_t *emu, uintptr_t fcn) { iFppuuuuuu_t fn = (iFppuuuuuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
@@ -5161,6 +5397,7 @@ void iFppuppppp(x64emu_t *emu, uintptr_t fcn) { iFppuppppp_t fn = (iFppuppppp_t)
 void iFpppiiipi(x64emu_t *emu, uintptr_t fcn) { iFpppiiipi_t fn = (iFpppiiipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void iFpppiiipp(x64emu_t *emu, uintptr_t fcn) { iFpppiiipp_t fn = (iFpppiiipp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpppipipi(x64emu_t *emu, uintptr_t fcn) { iFpppipipi_t fn = (iFpppipipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
+void iFppppiiup(x64emu_t *emu, uintptr_t fcn) { iFppppiiup_t fn = (iFppppiiup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFppppippp(x64emu_t *emu, uintptr_t fcn) { iFppppippp_t fn = (iFppppippp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFppppppii(x64emu_t *emu, uintptr_t fcn) { iFppppppii_t fn = (iFppppppii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void iFpppppppi(x64emu_t *emu, uintptr_t fcn) { iFpppppppi_t fn = (iFpppppppi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
@@ -5174,12 +5411,13 @@ void uFEppppppp(x64emu_t *emu, uintptr_t fcn) { uFEppppppp_t fn = (uFEppppppp_t)
 void uFuipppppp(x64emu_t *emu, uintptr_t fcn) { uFuipppppp_t fn = (uFuipppppp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFuupuuiuf(x64emu_t *emu, uintptr_t fcn) { uFuupuuiuf_t fn = (uFuupuuiuf_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), emu->xmm[0].f[0]); }
 void uFulpppppp(x64emu_t *emu, uintptr_t fcn) { uFulpppppp_t fn = (uFulpppppp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)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 uFpuupupuu(x64emu_t *emu, uintptr_t fcn) { uFpuupupuu_t fn = (uFpuupupuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void uFpupuuuCp(x64emu_t *emu, uintptr_t fcn) { uFpupuuuCp_t fn = (uFpupuuuCp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint8_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFppuuuupp(x64emu_t *emu, uintptr_t fcn) { uFppuuuupp_t fn = (uFppuuuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFppuuuppu(x64emu_t *emu, uintptr_t fcn) { uFppuuuppu_t fn = (uFppuuuppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void uFppuppppp(x64emu_t *emu, uintptr_t fcn) { uFppuppppp_t fn = (uFppuppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFpppppupp(x64emu_t *emu, uintptr_t fcn) { uFpppppupp_t fn = (uFpppppupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
-void LFELpLpLpi(x64emu_t *emu, uintptr_t fcn) { LFELpLpLpi_t fn = (LFELpLpLpi_t)fcn; R_RAX=(uintptr_t)fn(emu, (uintptr_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
+void LFELpupupu(x64emu_t *emu, uintptr_t fcn) { LFELpupupu_t fn = (LFELpupupu_t)fcn; R_RAX=(uintptr_t)fn(emu, (uintptr_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void LFEpiupppp(x64emu_t *emu, uintptr_t fcn) { LFEpiupppp_t fn = (LFEpiupppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void LFpLpuuLLu(x64emu_t *emu, uintptr_t fcn) { LFpLpuuLLu_t fn = (LFpLpuuLLu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uintptr_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void pFEiplllpp(x64emu_t *emu, uintptr_t fcn) { pFEiplllpp_t fn = (pFEiplllpp_t)fcn; R_RAX=(uintptr_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
@@ -5207,7 +5445,14 @@ void pFpuuupwwp(x64emu_t *emu, uintptr_t fcn) { pFpuuupwwp_t fn = (pFpuuupwwp_t)
 void pFpupppppp(x64emu_t *emu, uintptr_t fcn) { pFpupppppp_t fn = (pFpupppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(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, (uint32_t)R_R9, *(int32_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 pFpLuLpLip(x64emu_t *emu, uintptr_t fcn) { pFpLuLpLip_t fn = (pFpLuLpLip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void pFpLpipLup(x64emu_t *emu, uintptr_t fcn) { pFpLpipLup_t fn = (pFpLpipLup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void pFpLpLLiLi(x64emu_t *emu, uintptr_t fcn) { pFpLpLLiLi_t fn = (pFpLpLLiLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
+void pFpLppuLLp(x64emu_t *emu, uintptr_t fcn) { pFpLppuLLp_t fn = (pFpLppuLLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uintptr_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void pFpLppLLiL(x64emu_t *emu, uintptr_t fcn) { pFpLppLLiL_t fn = (pFpLppLLiL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9, *(int32_t*)(R_RSP + 8), *(uintptr_t*)(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, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
+void pFpppipipi(x64emu_t *emu, uintptr_t fcn) { pFpppipipi_t fn = (pFpppipipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
+void pFppplippp(x64emu_t *emu, uintptr_t fcn) { pFppplippp_t fn = (pFppplippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (intptr_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void pFppppuppp(x64emu_t *emu, uintptr_t fcn) { pFppppuppp_t fn = (pFppppuppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(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, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iWEpuuiipp(x64emu_t *emu, uintptr_t fcn) { iWEpuuiipp_t fn = (iWEpuuiipp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RCX, (uint32_t)R_RDX, (uint32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
@@ -5247,6 +5492,7 @@ void vFddddddddd(x64emu_t *emu, uintptr_t fcn) { vFddddddddd_t fn = (vFddddddddd
 void vFpiuippppi(x64emu_t *emu, uintptr_t fcn) { vFpiuippppi_t fn = (vFpiuippppi_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
 void vFpipiuiipp(x64emu_t *emu, uintptr_t fcn) { vFpipiuiipp_t fn = (vFpipiuiipp_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(int32_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, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
+void vFpuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFpuuuuuuuu_t fn = (vFpuuuuuuuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24)); }
 void vFpLpppippp(x64emu_t *emu, uintptr_t fcn) { vFpLpppippp_t fn = (vFpLpppippp_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void vFppiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiiiiii_t fn = (vFppiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_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, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
@@ -5267,6 +5513,7 @@ void vFppUUiUUUU(x64emu_t *emu, uintptr_t fcn) { vFppUUiUUUU_t fn = (vFppUUiUUUU
 void vFppddddudd(x64emu_t *emu, uintptr_t fcn) { vFppddddudd_t fn = (vFppddddudd_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], (uint32_t)R_RDX, emu->xmm[4].d[0], emu->xmm[5].d[0]); }
 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), *(int32_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, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
+void vFpppffffff(x64emu_t *emu, uintptr_t fcn) { vFpppffffff_t fn = (vFpppffffff_t)fcn; 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], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0]); }
 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, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_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, (int32_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=(int32_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
@@ -5287,6 +5534,7 @@ void iFpduuuLuLp(x64emu_t *emu, uintptr_t fcn) { iFpduuuLuLp_t fn = (iFpduuuLuLp
 void iFpLiuiiLLL(x64emu_t *emu, uintptr_t fcn) { iFpLiuiiLLL_t fn = (iFpLiuiiLLL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uintptr_t*)(R_RSP + 24)); }
 void iFpLLiiuuii(x64emu_t *emu, uintptr_t fcn) { iFpLLiiuuii_t fn = (iFpLLiiuuii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
 void iFpLpiiuuii(x64emu_t *emu, uintptr_t fcn) { iFpLpiiuuii_t fn = (iFpLpiiuuii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
+void iFpLpppupup(x64emu_t *emu, uintptr_t fcn) { iFpLpppupup_t fn = (iFpLpppupup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void iFpLppppppp(x64emu_t *emu, uintptr_t fcn) { iFpLppppppp_t fn = (iFpLppppppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_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 iFppiiiiiii(x64emu_t *emu, uintptr_t fcn) { iFppiiiiiii_t fn = (iFppiiiiiii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
 void iFppippippp(x64emu_t *emu, uintptr_t fcn) { iFppippippp_t fn = (iFppippippp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
@@ -5301,6 +5549,7 @@ void iFppppppppp(x64emu_t *emu, uintptr_t fcn) { iFppppppppp_t fn = (iFppppppppp
 void uFEipippppp(x64emu_t *emu, uintptr_t fcn) { uFEipippppp_t fn = (uFEipippppp_t)fcn; R_RAX=(uint32_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFEpppufppp(x64emu_t *emu, uintptr_t fcn) { uFEpppufppp_t fn = (uFEpppufppp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, emu->xmm[0].f[0], (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFuulpiuiuf(x64emu_t *emu, uintptr_t fcn) { uFuulpiuiuf_t fn = (uFuulpiuiuf_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), emu->xmm[0].f[0]); }
+void uFpuupuppuu(x64emu_t *emu, uintptr_t fcn) { uFpuupuppuu_t fn = (uFpuupuppuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24)); }
 void uFppLpLuppp(x64emu_t *emu, uintptr_t fcn) { uFppLpLuppp_t fn = (uFppLpLuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void uFppppppppp(x64emu_t *emu, uintptr_t fcn) { uFppppppppp_t fn = (uFppppppppp_t)fcn; R_RAX=(uint32_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 lFpppipiipp(x64emu_t *emu, uintptr_t fcn) { lFpppipiipp_t fn = (lFpppipiipp_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
@@ -5318,6 +5567,8 @@ void pFpiiCpWWup(x64emu_t *emu, uintptr_t fcn) { pFpiiCpWWup_t fn = (pFpiiCpWWup
 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, (uint32_t)R_RDX, (uint16_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_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, (uint32_t)R_RSI, (uint32_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)); }
 void pFpupuuuuup(x64emu_t *emu, uintptr_t fcn) { pFpupuuuuup_t fn = (pFpupuuuuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
+void pFpLpLLipui(x64emu_t *emu, uintptr_t fcn) { pFpLpLLipui_t fn = (pFpLpLLipui_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
+void pFpLppLLiLi(x64emu_t *emu, uintptr_t fcn) { pFpLppLLiLi_t fn = (pFpLppLLiLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9, *(int32_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
 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, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(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, (int32_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, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
@@ -5366,6 +5617,7 @@ void vFppuuppppii(x64emu_t *emu, uintptr_t fcn) { vFppuuppppii_t fn = (vFppuuppp
 void vFppuppuiiii(x64emu_t *emu, uintptr_t fcn) { vFppuppuiiii_t fn = (vFppuppuiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 void vFppupppiiii(x64emu_t *emu, uintptr_t fcn) { vFppupppiiii_t fn = (vFppupppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_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 vFppppppppii(x64emu_t *emu, uintptr_t fcn) { vFppppppppii_t fn = (vFppppppppii_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), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 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 iFEpiiiiippp(x64emu_t *emu, uintptr_t fcn) { iFEpiiiiippp_t fn = (iFEpiiiiippp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void iFEpupppLppL(x64emu_t *emu, uintptr_t fcn) { iFEpupppLppL_t fn = (iFEpupppLppL_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (uint32_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)); }
@@ -5380,7 +5632,9 @@ void iFppuuiiiiii(x64emu_t *emu, uintptr_t fcn) { iFppuuiiiiii_t fn = (iFppuuiii
 void iFppuuiiuupi(x64emu_t *emu, uintptr_t fcn) { iFppuuiiuupi_t fn = (iFppuuiiuupi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 void iFpppiiipipi(x64emu_t *emu, uintptr_t fcn) { iFpppiiipipi_t fn = (iFpppiiipipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 void iFpppLLipppp(x64emu_t *emu, uintptr_t fcn) { iFpppLLipppp_t fn = (iFpppLLipppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
+void iFpppppiiuup(x64emu_t *emu, uintptr_t fcn) { iFpppppiiuup_t fn = (iFpppppiiuup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFpppppppipi(x64emu_t *emu, uintptr_t fcn) { iFpppppppipi_t fn = (iFpppppppipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
+void iFpppppppppu(x64emu_t *emu, uintptr_t fcn) { iFpppppppppu_t fn = (iFpppppppppu_t)fcn; R_RAX=(int32_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), *(uint32_t*)(R_RSP + 32)); }
 void uFpddpippppp(x64emu_t *emu, uintptr_t fcn) { uFpddpippppp_t fn = (uFpddpippppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFpppppppppp(x64emu_t *emu, uintptr_t fcn) { uFpppppppppp_t fn = (uFpppppppppp_t)fcn; R_RAX=(uint32_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, (int32_t)R_RDI, (int32_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)); }
@@ -5391,6 +5645,7 @@ void pFpuwwWWuCuu(x64emu_t *emu, uintptr_t fcn) { pFpuwwWWuCuu_t fn = (pFpuwwWWu
 void pFpuuuwwwwWW(x64emu_t *emu, uintptr_t fcn) { pFpuuuwwwwWW_t fn = (pFpuuuwwwwWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_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)); }
 void pFpuuuWWWCCi(x64emu_t *emu, uintptr_t fcn) { pFpuuuWWWCCi_t fn = (pFpuuuWWWCCi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint8_t*)(R_RSP + 16), *(uint8_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 void pFplllllllll(x64emu_t *emu, uintptr_t fcn) { pFplllllllll_t fn = (pFplllllllll_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9, *(intptr_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(intptr_t*)(R_RSP + 24), *(intptr_t*)(R_RSP + 32)); }
+void pFppippLLLip(x64emu_t *emu, uintptr_t fcn) { pFppippLLLip_t fn = (pFppippLLLip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void pFppuiipuuii(x64emu_t *emu, uintptr_t fcn) { pFppuiipuuii_t fn = (pFppuiipuuii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 void pFpppiiiiiii(x64emu_t *emu, uintptr_t fcn) { pFpppiiiiiii_t fn = (pFpppiiiiiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 void pFpppppppppp(x64emu_t *emu, uintptr_t fcn) { pFpppppppppp_t fn = (pFpppppppppp_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)); }
@@ -5437,6 +5692,7 @@ void iFpLipiiiippp(x64emu_t *emu, uintptr_t fcn) { iFpLipiiiippp_t fn = (iFpLipi
 void iFpLLpiiuuiiL(x64emu_t *emu, uintptr_t fcn) { iFpLLpiiuuiiL_t fn = (iFpLLpiiuuiiL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(uintptr_t*)(R_RSP + 40)); }
 void iFppippipppip(x64emu_t *emu, uintptr_t fcn) { iFppippipppip_t fn = (iFppippipppip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); }
 void iFpppiiuuiiuu(x64emu_t *emu, uintptr_t fcn) { iFpppiiuuiiuu_t fn = (iFpppiiuuiiuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40)); }
+void iFpppppiiuupp(x64emu_t *emu, uintptr_t fcn) { iFpppppiiuupp_t fn = (iFpppppiiuupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40)); }
 void uFEpLiupppLuV(x64emu_t *emu, uintptr_t fcn) { uFEpLiupppLuV_t fn = (uFEpLiupppLuV_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), (void*)(R_RSP + 32)); }
 void uFEpLippppLup(x64emu_t *emu, uintptr_t fcn) { uFEpLippppLup_t fn = (uFEpLippppLup_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void uFEpLippppLuA(x64emu_t *emu, uintptr_t fcn) { uFEpLippppLuA_t fn = (uFEpLippppLuA_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
@@ -5482,6 +5738,7 @@ void pFWWiCCCCiipup(x64emu_t *emu, uintptr_t fcn) { pFWWiCCCCiipup_t fn = (pFWWi
 void pFpCuuWWwwCCup(x64emu_t *emu, uintptr_t fcn) { pFpCuuWWwwCCup_t fn = (pFpCuuWWwwCCup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(int16_t*)(R_RSP + 8), *(int16_t*)(R_RSP + 16), *(uint8_t*)(R_RSP + 24), *(uint8_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); }
 void pFpuuuWWWWWWWW(x64emu_t *emu, uintptr_t fcn) { pFpuuuWWWWWWWW_t fn = (pFpuuuWWWWWWWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_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, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(uintptr_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); }
+void pFppippLLLiLpp(x64emu_t *emu, uintptr_t fcn) { pFppippLLLiLpp_t fn = (pFppippLLLiLpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(uintptr_t*)(R_RSP + 32), *(void**)(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), *(int32_t*)(R_RSP + 16), *(int32_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((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(uint32_t*)(R_RSP + 48), *(void**)(R_RSP + 56)); }
@@ -5503,6 +5760,7 @@ void uFippuuuulllipp(x64emu_t *emu, uintptr_t fcn) { uFippuuuulllipp_t fn = (uFi
 void uFppppuuupppppp(x64emu_t *emu, uintptr_t fcn) { uFppppuuupppppp_t fn = (uFppppuuupppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_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)); }
 void pFpCuuwwWWWWuup(x64emu_t *emu, uintptr_t fcn) { pFpCuuwwWWWWuup_t fn = (pFpCuuwwWWWWuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint16_t*)(R_RSP + 16), *(uint16_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(uint32_t*)(R_RSP + 48), *(void**)(R_RSP + 56)); }
 void pFpuupppwwwwWWC(x64emu_t *emu, uintptr_t fcn) { pFpuupppwwwwWWC_t fn = (pFpuupppwwwwWWC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int16_t*)(R_RSP + 8), *(int16_t*)(R_RSP + 16), *(int16_t*)(R_RSP + 24), *(int16_t*)(R_RSP + 32), *(uint16_t*)(R_RSP + 40), *(uint16_t*)(R_RSP + 48), *(uint8_t*)(R_RSP + 56)); }
+void pFppLppppiiLpip(x64emu_t *emu, uintptr_t fcn) { pFppLppppiiLpip_t fn = (pFppLppppiiLpip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(uintptr_t*)(R_RSP + 32), *(void**)(R_RSP + 40), *(int32_t*)(R_RSP + 48), *(void**)(R_RSP + 56)); }
 void pFpppppppuipppp(x64emu_t *emu, uintptr_t fcn) { pFpppppppuipppp_t fn = (pFpppppppuipppp_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), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56)); }
 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 vFippppppppppppp(x64emu_t *emu, uintptr_t fcn) { vFippppppppppppp_t fn = (vFippppppppppppp_t)fcn; fn((int32_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)); }
@@ -5720,6 +5978,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpl) return 1;
 	if (fun == &vFpL) return 1;
 	if (fun == &vFpp) return 1;
+	if (fun == &cFpi) return 1;
 	if (fun == &cFpp) return 1;
 	if (fun == &wFpi) return 1;
 	if (fun == &iFwp) return 1;
@@ -5772,6 +6031,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFii) return 1;
 	if (fun == &uFiu) return 1;
 	if (fun == &uFip) return 1;
+	if (fun == &uFui) return 1;
 	if (fun == &uFuu) return 1;
 	if (fun == &uFup) return 1;
 	if (fun == &uFpw) return 1;
@@ -5785,11 +6045,13 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpp) return 1;
 	if (fun == &UFuu) return 1;
 	if (fun == &UFpi) return 1;
+	if (fun == &UFpU) return 1;
 	if (fun == &UFpp) return 1;
 	if (fun == &fFif) return -2;
 	if (fun == &fFfi) return -2;
 	if (fun == &fFff) return -3;
 	if (fun == &fFfp) return -2;
+	if (fun == &fFpu) return -1;
 	if (fun == &fFpp) return -1;
 	if (fun == &dFid) return -2;
 	if (fun == &dFdi) return -2;
@@ -5821,7 +6083,6 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFiI) return 1;
 	if (fun == &pFiu) return 1;
 	if (fun == &pFip) return 1;
-	if (fun == &pFII) return 1;
 	if (fun == &pFui) return 1;
 	if (fun == &pFuu) return 1;
 	if (fun == &pFup) return 1;
@@ -5829,6 +6090,8 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFdi) return 2;
 	if (fun == &pFdd) return 3;
 	if (fun == &pFli) return 1;
+	if (fun == &pFll) return 1;
+	if (fun == &pFlp) return 1;
 	if (fun == &pFLi) return 1;
 	if (fun == &pFLC) return 1;
 	if (fun == &pFLu) return 1;
@@ -5926,6 +6189,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpff) return 3;
 	if (fun == &vFpdu) return 2;
 	if (fun == &vFpdd) return 3;
+	if (fun == &vFpdp) return 2;
 	if (fun == &vFpll) return 1;
 	if (fun == &vFplp) return 1;
 	if (fun == &vFpLi) return 1;
@@ -5940,6 +6204,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFppl) return 1;
 	if (fun == &vFppL) return 1;
 	if (fun == &vFppp) return 1;
+	if (fun == &cFpdp) return 2;
 	if (fun == &wFppp) return 1;
 	if (fun == &iFwww) return 1;
 	if (fun == &iFwpp) return 1;
@@ -5963,6 +6228,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFCuW) return 1;
 	if (fun == &iFuwp) return 1;
 	if (fun == &iFuip) return 1;
+	if (fun == &iFuWp) return 1;
 	if (fun == &iFuui) return 1;
 	if (fun == &iFuuu) return 1;
 	if (fun == &iFuup) return 1;
@@ -6050,6 +6316,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpuL) return 1;
 	if (fun == &uFpup) return 1;
 	if (fun == &uFpfu) return 2;
+	if (fun == &uFpli) return 1;
 	if (fun == &uFpLu) return 1;
 	if (fun == &uFpLL) return 1;
 	if (fun == &uFpLp) return 1;
@@ -6068,6 +6335,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &dFuud) return -2;
 	if (fun == &dFddd) return -4;
 	if (fun == &dFddp) return -3;
+	if (fun == &dFpii) return -1;
 	if (fun == &dFpdd) return -3;
 	if (fun == &dFppi) return -1;
 	if (fun == &dFppu) return -1;
@@ -6120,6 +6388,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFulu) return 1;
 	if (fun == &pFulp) return 1;
 	if (fun == &pFupi) return 1;
+	if (fun == &pFupu) return 1;
 	if (fun == &pFupl) return 1;
 	if (fun == &pFupL) return 1;
 	if (fun == &pFupp) return 1;
@@ -6130,6 +6399,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFLup) return 1;
 	if (fun == &pFLLp) return 1;
 	if (fun == &pFLpi) return 1;
+	if (fun == &pFLpp) return 1;
 	if (fun == &pFpii) return 1;
 	if (fun == &pFpiu) return 1;
 	if (fun == &pFpid) return 2;
@@ -6139,6 +6409,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFpCi) return 1;
 	if (fun == &pFpCC) return 1;
 	if (fun == &pFpCu) return 1;
+	if (fun == &pFpWi) return 1;
 	if (fun == &pFpWW) return 1;
 	if (fun == &pFpWp) return 1;
 	if (fun == &pFpui) return 1;
@@ -6247,6 +6518,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFLppi) return 1;
 	if (fun == &vFpiii) return 1;
 	if (fun == &vFpiiu) return 1;
+	if (fun == &vFpiid) return 2;
 	if (fun == &vFpiip) return 1;
 	if (fun == &vFpiui) return 1;
 	if (fun == &vFpiuu) return 1;
@@ -6310,6 +6582,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpppl) return 1;
 	if (fun == &vFpppL) return 1;
 	if (fun == &vFpppp) return 1;
+	if (fun == &cFpipp) return 1;
 	if (fun == &iFwwww) return 1;
 	if (fun == &iFwppp) return 1;
 	if (fun == &iFiiii) return 1;
@@ -6327,6 +6600,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFillu) return 1;
 	if (fun == &iFipii) return 1;
 	if (fun == &iFipip) return 1;
+	if (fun == &iFipWp) return 1;
 	if (fun == &iFipui) return 1;
 	if (fun == &iFipuL) return 1;
 	if (fun == &iFipup) return 1;
@@ -6334,17 +6608,20 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFipLu) return 1;
 	if (fun == &iFipLp) return 1;
 	if (fun == &iFippi) return 1;
-	if (fun == &iFippu) return 1;
 	if (fun == &iFippL) return 1;
 	if (fun == &iFippp) return 1;
 	if (fun == &iFuiup) return 1;
 	if (fun == &iFuipp) return 1;
+	if (fun == &iFuWWp) return 1;
 	if (fun == &iFuuuu) return 1;
 	if (fun == &iFuupi) return 1;
+	if (fun == &iFuupp) return 1;
 	if (fun == &iFupLp) return 1;
 	if (fun == &iFuppi) return 1;
+	if (fun == &iFuppu) return 1;
 	if (fun == &iFuppp) return 1;
 	if (fun == &iFLLiW) return 1;
+	if (fun == &iFLppp) return 1;
 	if (fun == &iFpwww) return 1;
 	if (fun == &iFpwpp) return 1;
 	if (fun == &iFpiii) return 1;
@@ -6389,6 +6666,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpUUU) return 1;
 	if (fun == &iFpULp) return 1;
 	if (fun == &iFpUpp) return 1;
+	if (fun == &iFpdip) return 2;
 	if (fun == &iFplii) return 1;
 	if (fun == &iFplip) return 1;
 	if (fun == &iFplpi) return 1;
@@ -6441,6 +6719,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &CFuuff) return 3;
 	if (fun == &CFpiii) return 1;
 	if (fun == &CFpupp) return 1;
+	if (fun == &CFpLLi) return 1;
 	if (fun == &CFppip) return 1;
 	if (fun == &uFiiii) return 1;
 	if (fun == &uFiiuu) return 1;
@@ -6457,6 +6736,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpupp) return 1;
 	if (fun == &uFppiu) return 1;
 	if (fun == &uFppip) return 1;
+	if (fun == &uFppuu) return 1;
 	if (fun == &uFpplp) return 1;
 	if (fun == &uFppLp) return 1;
 	if (fun == &uFpppi) return 1;
@@ -6509,13 +6789,13 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFiiup) return 1;
 	if (fun == &pFiiLp) return 1;
 	if (fun == &pFiipi) return 1;
-	if (fun == &pFiipp) return 1;
 	if (fun == &pFiIIi) return 1;
 	if (fun == &pFillu) return 1;
 	if (fun == &pFipii) return 1;
 	if (fun == &pFipip) return 1;
 	if (fun == &pFippi) return 1;
 	if (fun == &pFippu) return 1;
+	if (fun == &pFippp) return 1;
 	if (fun == &pFuuii) return 1;
 	if (fun == &pFuuip) return 1;
 	if (fun == &pFuuuu) return 1;
@@ -6527,6 +6807,9 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFdddd) return 5;
 	if (fun == &pFlfff) return 4;
 	if (fun == &pFLiip) return 1;
+	if (fun == &pFLLup) return 1;
+	if (fun == &pFLLpp) return 1;
+	if (fun == &pFLppp) return 1;
 	if (fun == &pFpiii) return 1;
 	if (fun == &pFpiiu) return 1;
 	if (fun == &pFpiip) return 1;
@@ -6554,8 +6837,10 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFpupp) return 1;
 	if (fun == &pFpdIU) return 2;
 	if (fun == &pFplil) return 1;
+	if (fun == &pFplip) return 1;
 	if (fun == &pFplpl) return 1;
 	if (fun == &pFplpp) return 1;
+	if (fun == &pFpLii) return 1;
 	if (fun == &pFpLip) return 1;
 	if (fun == &pFpLup) return 1;
 	if (fun == &pFpLLp) return 1;
@@ -6722,6 +7007,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFppiii) return 1;
 	if (fun == &vFppiiu) return 1;
 	if (fun == &vFppiip) return 1;
+	if (fun == &vFppiui) return 1;
 	if (fun == &vFppiup) return 1;
 	if (fun == &vFppiff) return 3;
 	if (fun == &vFppidd) return 3;
@@ -6734,6 +7020,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFppuup) return 1;
 	if (fun == &vFppudd) return 3;
 	if (fun == &vFppupi) return 1;
+	if (fun == &vFppupu) return 1;
 	if (fun == &vFppupp) return 1;
 	if (fun == &vFppfff) return 4;
 	if (fun == &vFppddp) return 3;
@@ -6743,6 +7030,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpppui) return 1;
 	if (fun == &vFpppuu) return 1;
 	if (fun == &vFpppup) return 1;
+	if (fun == &vFpppff) return 3;
 	if (fun == &vFpppdd) return 3;
 	if (fun == &vFppppi) return 1;
 	if (fun == &vFppppu) return 1;
@@ -6767,8 +7055,10 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFippLp) return 1;
 	if (fun == &iFipppi) return 1;
 	if (fun == &iFipppp) return 1;
+	if (fun == &iFuuupp) return 1;
 	if (fun == &iFuppLp) return 1;
 	if (fun == &iFLppip) return 1;
+	if (fun == &iFLpppp) return 1;
 	if (fun == &iFpwwww) return 1;
 	if (fun == &iFpwppp) return 1;
 	if (fun == &iFpiiii) return 1;
@@ -6800,11 +7090,14 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpuuui) return 1;
 	if (fun == &iFpuuup) return 1;
 	if (fun == &iFpuuLL) return 1;
+	if (fun == &iFpuupp) return 1;
 	if (fun == &iFpulup) return 1;
 	if (fun == &iFpulpp) return 1;
 	if (fun == &iFpupiU) return 1;
+	if (fun == &iFpupui) return 1;
 	if (fun == &iFpupuu) return 1;
 	if (fun == &iFpupup) return 1;
+	if (fun == &iFpuppL) return 1;
 	if (fun == &iFpuppp) return 1;
 	if (fun == &iFpUiUi) return 1;
 	if (fun == &iFpUupp) return 1;
@@ -6833,6 +7126,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFppiLi) return 1;
 	if (fun == &iFppiLL) return 1;
 	if (fun == &iFppipi) return 1;
+	if (fun == &iFppipu) return 1;
 	if (fun == &iFppipp) return 1;
 	if (fun == &iFppuwp) return 1;
 	if (fun == &iFppuip) return 1;
@@ -6867,9 +7161,11 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFLpppL) return 1;
 	if (fun == &uFpCCCC) return 1;
 	if (fun == &uFpWuip) return 1;
+	if (fun == &uFpuuui) return 1;
 	if (fun == &uFpuuuu) return 1;
 	if (fun == &uFpuupp) return 1;
 	if (fun == &uFpupuu) return 1;
+	if (fun == &uFpuppp) return 1;
 	if (fun == &uFppipp) return 1;
 	if (fun == &uFppuup) return 1;
 	if (fun == &uFppupp) return 1;
@@ -6897,6 +7193,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &LFpLppL) return 1;
 	if (fun == &LFpLppp) return 1;
 	if (fun == &LFppLLp) return 1;
+	if (fun == &LFppLpL) return 1;
 	if (fun == &LFpppii) return 1;
 	if (fun == &LFppppp) return 1;
 	if (fun == &pFiiiii) return 1;
@@ -6921,6 +7218,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFpiCCC) return 1;
 	if (fun == &pFpiuuu) return 1;
 	if (fun == &pFpiupp) return 1;
+	if (fun == &pFpiLip) return 1;
 	if (fun == &pFpipip) return 1;
 	if (fun == &pFpipup) return 1;
 	if (fun == &pFpippi) return 1;
@@ -6935,14 +7233,17 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFpuuuu) return 1;
 	if (fun == &pFpuuup) return 1;
 	if (fun == &pFpupii) return 1;
+	if (fun == &pFpuppu) return 1;
 	if (fun == &pFpuppp) return 1;
 	if (fun == &pFpUdii) return 2;
 	if (fun == &pFpfffi) return 4;
 	if (fun == &pFpdddd) return 5;
 	if (fun == &pFplppp) return 1;
 	if (fun == &pFpLiii) return 1;
+	if (fun == &pFpLLip) return 1;
 	if (fun == &pFpLLLp) return 1;
 	if (fun == &pFpLpii) return 1;
+	if (fun == &pFpLpip) return 1;
 	if (fun == &pFppiii) return 1;
 	if (fun == &pFppiiu) return 1;
 	if (fun == &pFppiip) return 1;
@@ -6957,11 +7258,13 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFppupp) return 1;
 	if (fun == &pFppddu) return 3;
 	if (fun == &pFppLii) return 1;
+	if (fun == &pFppLLi) return 1;
+	if (fun == &pFppLpp) return 1;
 	if (fun == &pFpppii) return 1;
 	if (fun == &pFpppip) return 1;
-	if (fun == &pFpppIi) return 1;
 	if (fun == &pFpppui) return 1;
 	if (fun == &pFpppup) return 1;
+	if (fun == &pFpppli) return 1;
 	if (fun == &pFpppLi) return 1;
 	if (fun == &pFppppi) return 1;
 	if (fun == &pFppppu) return 1;
@@ -7047,11 +7350,14 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpuiiiu) return 1;
 	if (fun == &vFpuiipp) return 1;
 	if (fun == &vFpuuuiu) return 1;
+	if (fun == &vFpuuuup) return 1;
+	if (fun == &vFpuuupp) return 1;
 	if (fun == &vFpuupuu) return 1;
 	if (fun == &vFpuuppp) return 1;
 	if (fun == &vFpudddd) return 5;
 	if (fun == &vFpupiUu) return 1;
 	if (fun == &vFpupuuu) return 1;
+	if (fun == &vFpupupu) return 1;
 	if (fun == &vFpuppuu) return 1;
 	if (fun == &vFpupppp) return 1;
 	if (fun == &vFpUiuup) return 1;
@@ -7102,6 +7408,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFiiiipp) return 1;
 	if (fun == &iFiiiuwp) return 1;
 	if (fun == &iFiWiipi) return 1;
+	if (fun == &iFilpppp) return 1;
 	if (fun == &iFiLpppi) return 1;
 	if (fun == &iFipiipi) return 1;
 	if (fun == &iFipipip) return 1;
@@ -7125,17 +7432,23 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpiuuup) return 1;
 	if (fun == &iFpiuupp) return 1;
 	if (fun == &iFpipipi) return 1;
+	if (fun == &iFpipipp) return 1;
 	if (fun == &iFpipupp) return 1;
 	if (fun == &iFpippip) return 1;
+	if (fun == &iFpippup) return 1;
 	if (fun == &iFpipppL) return 1;
 	if (fun == &iFpipppp) return 1;
 	if (fun == &iFpCiipp) return 1;
 	if (fun == &iFpCpipu) return 1;
+	if (fun == &iFpWipip) return 1;
 	if (fun == &iFpWpppp) return 1;
 	if (fun == &iFpuiCpp) return 1;
 	if (fun == &iFpuippp) return 1;
 	if (fun == &iFpuuuuu) return 1;
+	if (fun == &iFpuuuup) return 1;
+	if (fun == &iFpuuupp) return 1;
 	if (fun == &iFpuupuu) return 1;
+	if (fun == &iFpuuppp) return 1;
 	if (fun == &iFpuLLpp) return 1;
 	if (fun == &iFpupuui) return 1;
 	if (fun == &iFpupLpL) return 1;
@@ -7144,6 +7457,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpUuupp) return 1;
 	if (fun == &iFpUUUip) return 1;
 	if (fun == &iFpUUUUp) return 1;
+	if (fun == &iFpdpipp) return 2;
 	if (fun == &iFpLiiiL) return 1;
 	if (fun == &iFpLiiip) return 1;
 	if (fun == &iFpLiiuu) return 1;
@@ -7162,9 +7476,11 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFppiipi) return 1;
 	if (fun == &iFppiipp) return 1;
 	if (fun == &iFppiupp) return 1;
+	if (fun == &iFppilpp) return 1;
 	if (fun == &iFppipii) return 1;
 	if (fun == &iFppipiL) return 1;
 	if (fun == &iFppipip) return 1;
+	if (fun == &iFppippu) return 1;
 	if (fun == &iFppIppp) return 1;
 	if (fun == &iFppuiii) return 1;
 	if (fun == &iFppuIII) return 1;
@@ -7177,12 +7493,15 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFppLupp) return 1;
 	if (fun == &iFppLLiL) return 1;
 	if (fun == &iFppLLup) return 1;
+	if (fun == &iFppLLpp) return 1;
 	if (fun == &iFppLpLp) return 1;
 	if (fun == &iFppLppp) return 1;
 	if (fun == &iFpppiuu) return 1;
 	if (fun == &iFpppipi) return 1;
+	if (fun == &iFpppipu) return 1;
 	if (fun == &iFpppipp) return 1;
 	if (fun == &iFpppuii) return 1;
+	if (fun == &iFpppuup) return 1;
 	if (fun == &iFpppupu) return 1;
 	if (fun == &iFpppupp) return 1;
 	if (fun == &iFpppLpp) return 1;
@@ -7191,6 +7510,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFppppip) return 1;
 	if (fun == &iFppppup) return 1;
 	if (fun == &iFpppppi) return 1;
+	if (fun == &iFpppppL) return 1;
 	if (fun == &iFpppppp) return 1;
 	if (fun == &uFuuuuuu) return 1;
 	if (fun == &uFupuufp) return 2;
@@ -7201,6 +7521,9 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpWuuCp) return 1;
 	if (fun == &uFpuippp) return 1;
 	if (fun == &uFpuuuup) return 1;
+	if (fun == &uFpuuupp) return 1;
+	if (fun == &uFpuuppp) return 1;
+	if (fun == &uFpupupu) return 1;
 	if (fun == &uFppippp) return 1;
 	if (fun == &uFppuuup) return 1;
 	if (fun == &uFppuupu) return 1;
@@ -7219,19 +7542,23 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &LFpipipi) return 1;
 	if (fun == &LFpLippp) return 1;
 	if (fun == &LFpLLLLL) return 1;
+	if (fun == &LFppLLpL) return 1;
 	if (fun == &pFiiiiii) return 1;
 	if (fun == &pFiiiiid) return 2;
 	if (fun == &pFipippp) return 1;
 	if (fun == &pFWCiWCi) return 1;
 	if (fun == &pFuuipip) return 1;
+	if (fun == &pFuuuiip) return 1;
 	if (fun == &pFuuuuii) return 1;
 	if (fun == &pFuuuuuu) return 1;
 	if (fun == &pFuuuuup) return 1;
+	if (fun == &pFuuppuu) return 1;
 	if (fun == &pFdddddd) return 7;
 	if (fun == &pFpiiiiu) return 1;
 	if (fun == &pFpiiipp) return 1;
 	if (fun == &pFpiiCCC) return 1;
 	if (fun == &pFpiUUUU) return 1;
+	if (fun == &pFpipipp) return 1;
 	if (fun == &pFpippip) return 1;
 	if (fun == &pFpipppp) return 1;
 	if (fun == &pFpCuuCC) return 1;
@@ -7242,18 +7569,26 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFpuuupu) return 1;
 	if (fun == &pFpuuUUU) return 1;
 	if (fun == &pFpupuui) return 1;
+	if (fun == &pFpuppip) return 1;
 	if (fun == &pFpupppp) return 1;
 	if (fun == &pFplpppp) return 1;
+	if (fun == &pFpLuLpp) return 1;
+	if (fun == &pFpLpLLi) return 1;
 	if (fun == &pFpLppii) return 1;
+	if (fun == &pFpLppip) return 1;
+	if (fun == &pFpLppup) return 1;
 	if (fun == &pFppiiii) return 1;
 	if (fun == &pFppiipp) return 1;
 	if (fun == &pFppiCCC) return 1;
 	if (fun == &pFppiupp) return 1;
+	if (fun == &pFppilpp) return 1;
 	if (fun == &pFppipip) return 1;
 	if (fun == &pFppippi) return 1;
 	if (fun == &pFppippp) return 1;
+	if (fun == &pFppuupp) return 1;
 	if (fun == &pFppupii) return 1;
 	if (fun == &pFppuppp) return 1;
+	if (fun == &pFpplplp) return 1;
 	if (fun == &pFpplppp) return 1;
 	if (fun == &pFpppiup) return 1;
 	if (fun == &pFpppupp) return 1;
@@ -7278,6 +7613,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpdddddd) return 7;
 	if (fun == &vFppddddu) return 5;
 	if (fun == &vFppddpiu) return 3;
+	if (fun == &vFpppffff) return 5;
 	if (fun == &iFppppdpu) return 2;
 	if (fun == &pFifffppp) return 4;
 	if (fun == &pFfiiiiid) return 3;
@@ -7293,6 +7629,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFuffffffff) return 9;
 	if (fun == &vFffCCCCfff) return 6;
 	if (fun == &vFppddddudd) return 7;
+	if (fun == &vFpppffffff) return 7;
 	if (fun == &iFdddpppppp) return 4;
 	if (fun == &vFuffiiffiip) return 5;
 	if (fun == &vFuddiiddiip) return 5;
@@ -7303,3 +7640,21 @@ int isSimpleWrapper(wrapper_t fun) {
 #endif
 	return 0;
 }
+
+int isRetX87Wrapper(wrapper_t fun) {
+	if (fun == &DFDi) return 1;
+	if (fun == &DFDD) return 1;
+	if (fun == &DFDp) return 1;
+	if (fun == &DFpp) return 1;
+	if (fun == &DFppi) return 1;
+	if (fun == &DFppp) return 1;
+#if defined(HAVE_LD80BITS)
+	if (fun == &DFD) return 1;
+#endif
+#if !defined(HAVE_LD80BITS)
+	if (fun == &KFK) return 1;
+	if (fun == &KFKK) return 1;
+	if (fun == &KFKp) return 1;
+#endif
+	return 0;
+}
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 0de8baad..5ca6d94a 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -1,5 +1,5 @@
 /*******************************************************************
- * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
  *******************************************************************/
 #ifndef __WRAPPER_H_
 #define __WRAPPER_H_
@@ -73,6 +73,7 @@ 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 iFP(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);
@@ -195,6 +196,7 @@ void vFpL(x64emu_t *emu, uintptr_t fnc);
 void vFpp(x64emu_t *emu, uintptr_t fnc);
 void vFpS(x64emu_t *emu, uintptr_t fnc);
 void vFSi(x64emu_t *emu, uintptr_t fnc);
+void cFpi(x64emu_t *emu, uintptr_t fnc);
 void cFpp(x64emu_t *emu, uintptr_t fnc);
 void wFpi(x64emu_t *emu, uintptr_t fnc);
 void iFEi(x64emu_t *emu, uintptr_t fnc);
@@ -254,6 +256,7 @@ void uFEp(x64emu_t *emu, uintptr_t fnc);
 void uFii(x64emu_t *emu, uintptr_t fnc);
 void uFiu(x64emu_t *emu, uintptr_t fnc);
 void uFip(x64emu_t *emu, uintptr_t fnc);
+void uFui(x64emu_t *emu, uintptr_t fnc);
 void uFuu(x64emu_t *emu, uintptr_t fnc);
 void uFup(x64emu_t *emu, uintptr_t fnc);
 void uFpw(x64emu_t *emu, uintptr_t fnc);
@@ -268,6 +271,7 @@ void uFpp(x64emu_t *emu, uintptr_t fnc);
 void UFEp(x64emu_t *emu, uintptr_t fnc);
 void UFuu(x64emu_t *emu, uintptr_t fnc);
 void UFpi(x64emu_t *emu, uintptr_t fnc);
+void UFpU(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);
@@ -275,6 +279,7 @@ void fFfi(x64emu_t *emu, uintptr_t fnc);
 void fFff(x64emu_t *emu, uintptr_t fnc);
 void fFfD(x64emu_t *emu, uintptr_t fnc);
 void fFfp(x64emu_t *emu, uintptr_t fnc);
+void fFpu(x64emu_t *emu, uintptr_t fnc);
 void fFpp(x64emu_t *emu, uintptr_t fnc);
 void dFid(x64emu_t *emu, uintptr_t fnc);
 void dFdi(x64emu_t *emu, uintptr_t fnc);
@@ -316,7 +321,6 @@ 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 pFII(x64emu_t *emu, uintptr_t fnc);
 void pFui(x64emu_t *emu, uintptr_t fnc);
 void pFuu(x64emu_t *emu, uintptr_t fnc);
 void pFup(x64emu_t *emu, uintptr_t fnc);
@@ -324,6 +328,8 @@ void pFUU(x64emu_t *emu, uintptr_t fnc);
 void pFdi(x64emu_t *emu, uintptr_t fnc);
 void pFdd(x64emu_t *emu, uintptr_t fnc);
 void pFli(x64emu_t *emu, uintptr_t fnc);
+void pFll(x64emu_t *emu, uintptr_t fnc);
+void pFlp(x64emu_t *emu, uintptr_t fnc);
 void pFLi(x64emu_t *emu, uintptr_t fnc);
 void pFLC(x64emu_t *emu, uintptr_t fnc);
 void pFLu(x64emu_t *emu, uintptr_t fnc);
@@ -439,6 +445,7 @@ void vFpUp(x64emu_t *emu, uintptr_t fnc);
 void vFpff(x64emu_t *emu, uintptr_t fnc);
 void vFpdu(x64emu_t *emu, uintptr_t fnc);
 void vFpdd(x64emu_t *emu, uintptr_t fnc);
+void vFpdp(x64emu_t *emu, uintptr_t fnc);
 void vFpll(x64emu_t *emu, uintptr_t fnc);
 void vFplp(x64emu_t *emu, uintptr_t fnc);
 void vFpLi(x64emu_t *emu, uintptr_t fnc);
@@ -453,6 +460,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 cFpdp(x64emu_t *emu, uintptr_t fnc);
 void wFppp(x64emu_t *emu, uintptr_t fnc);
 void iFEiw(x64emu_t *emu, uintptr_t fnc);
 void iFEip(x64emu_t *emu, uintptr_t fnc);
@@ -492,6 +500,7 @@ void iFipO(x64emu_t *emu, uintptr_t fnc);
 void iFCuW(x64emu_t *emu, uintptr_t fnc);
 void iFuwp(x64emu_t *emu, uintptr_t fnc);
 void iFuip(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);
 void iFuup(x64emu_t *emu, uintptr_t fnc);
@@ -587,6 +596,7 @@ void uFpuu(x64emu_t *emu, uintptr_t fnc);
 void uFpuL(x64emu_t *emu, uintptr_t fnc);
 void uFpup(x64emu_t *emu, uintptr_t fnc);
 void uFpfu(x64emu_t *emu, uintptr_t fnc);
+void uFpli(x64emu_t *emu, uintptr_t fnc);
 void uFpLu(x64emu_t *emu, uintptr_t fnc);
 void uFpLL(x64emu_t *emu, uintptr_t fnc);
 void uFpLp(x64emu_t *emu, uintptr_t fnc);
@@ -605,6 +615,7 @@ void fFppp(x64emu_t *emu, uintptr_t fnc);
 void dFuud(x64emu_t *emu, uintptr_t fnc);
 void dFddd(x64emu_t *emu, uintptr_t fnc);
 void dFddp(x64emu_t *emu, uintptr_t fnc);
+void dFpii(x64emu_t *emu, uintptr_t fnc);
 void dFpdd(x64emu_t *emu, uintptr_t fnc);
 void dFppi(x64emu_t *emu, uintptr_t fnc);
 void dFppu(x64emu_t *emu, uintptr_t fnc);
@@ -671,6 +682,7 @@ void pFuup(x64emu_t *emu, uintptr_t fnc);
 void pFulu(x64emu_t *emu, uintptr_t fnc);
 void pFulp(x64emu_t *emu, uintptr_t fnc);
 void pFupi(x64emu_t *emu, uintptr_t fnc);
+void pFupu(x64emu_t *emu, uintptr_t fnc);
 void pFupl(x64emu_t *emu, uintptr_t fnc);
 void pFupL(x64emu_t *emu, uintptr_t fnc);
 void pFupp(x64emu_t *emu, uintptr_t fnc);
@@ -682,6 +694,7 @@ void pFlpi(x64emu_t *emu, uintptr_t fnc);
 void pFLup(x64emu_t *emu, uintptr_t fnc);
 void pFLLp(x64emu_t *emu, uintptr_t fnc);
 void pFLpi(x64emu_t *emu, uintptr_t fnc);
+void pFLpp(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);
@@ -691,6 +704,7 @@ void pFpip(x64emu_t *emu, uintptr_t fnc);
 void pFpCi(x64emu_t *emu, uintptr_t fnc);
 void pFpCC(x64emu_t *emu, uintptr_t fnc);
 void pFpCu(x64emu_t *emu, uintptr_t fnc);
+void pFpWi(x64emu_t *emu, uintptr_t fnc);
 void pFpWW(x64emu_t *emu, uintptr_t fnc);
 void pFpWp(x64emu_t *emu, uintptr_t fnc);
 void pFpui(x64emu_t *emu, uintptr_t fnc);
@@ -827,6 +841,7 @@ void vFLuui(x64emu_t *emu, uintptr_t fnc);
 void vFLppi(x64emu_t *emu, uintptr_t fnc);
 void vFpiii(x64emu_t *emu, uintptr_t fnc);
 void vFpiiu(x64emu_t *emu, uintptr_t fnc);
+void vFpiid(x64emu_t *emu, uintptr_t fnc);
 void vFpiip(x64emu_t *emu, uintptr_t fnc);
 void vFpiui(x64emu_t *emu, uintptr_t fnc);
 void vFpiuu(x64emu_t *emu, uintptr_t fnc);
@@ -890,10 +905,12 @@ void vFpppd(x64emu_t *emu, uintptr_t fnc);
 void vFpppl(x64emu_t *emu, uintptr_t fnc);
 void vFpppL(x64emu_t *emu, uintptr_t fnc);
 void vFpppp(x64emu_t *emu, uintptr_t fnc);
+void cFpipp(x64emu_t *emu, uintptr_t fnc);
 void iFEiip(x64emu_t *emu, uintptr_t fnc);
 void iFEiiN(x64emu_t *emu, uintptr_t fnc);
 void iFEipp(x64emu_t *emu, uintptr_t fnc);
 void iFEipV(x64emu_t *emu, uintptr_t fnc);
+void iFEipA(x64emu_t *emu, uintptr_t fnc);
 void iFEupu(x64emu_t *emu, uintptr_t fnc);
 void iFEupp(x64emu_t *emu, uintptr_t fnc);
 void iFEpii(x64emu_t *emu, uintptr_t fnc);
@@ -931,6 +948,7 @@ void iFilli(x64emu_t *emu, uintptr_t fnc);
 void iFillu(x64emu_t *emu, uintptr_t fnc);
 void iFipii(x64emu_t *emu, uintptr_t fnc);
 void iFipip(x64emu_t *emu, uintptr_t fnc);
+void iFipWp(x64emu_t *emu, uintptr_t fnc);
 void iFipui(x64emu_t *emu, uintptr_t fnc);
 void iFipuL(x64emu_t *emu, uintptr_t fnc);
 void iFipup(x64emu_t *emu, uintptr_t fnc);
@@ -938,18 +956,21 @@ void iFipLi(x64emu_t *emu, uintptr_t fnc);
 void iFipLu(x64emu_t *emu, uintptr_t fnc);
 void iFipLp(x64emu_t *emu, uintptr_t fnc);
 void iFippi(x64emu_t *emu, uintptr_t fnc);
-void iFippu(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 iFuiup(x64emu_t *emu, uintptr_t fnc);
 void iFuipp(x64emu_t *emu, uintptr_t fnc);
+void iFuWWp(x64emu_t *emu, uintptr_t fnc);
 void iFuuuu(x64emu_t *emu, uintptr_t fnc);
 void iFuupi(x64emu_t *emu, uintptr_t fnc);
+void iFuupp(x64emu_t *emu, uintptr_t fnc);
 void iFupLp(x64emu_t *emu, uintptr_t fnc);
 void iFuppi(x64emu_t *emu, uintptr_t fnc);
+void iFuppu(x64emu_t *emu, uintptr_t fnc);
 void iFuppp(x64emu_t *emu, uintptr_t fnc);
 void iFLLiW(x64emu_t *emu, uintptr_t fnc);
+void iFLppp(x64emu_t *emu, uintptr_t fnc);
 void iFpwww(x64emu_t *emu, uintptr_t fnc);
 void iFpwpp(x64emu_t *emu, uintptr_t fnc);
 void iFpiii(x64emu_t *emu, uintptr_t fnc);
@@ -996,6 +1017,7 @@ void iFpUup(x64emu_t *emu, uintptr_t fnc);
 void iFpUUU(x64emu_t *emu, uintptr_t fnc);
 void iFpULp(x64emu_t *emu, uintptr_t fnc);
 void iFpUpp(x64emu_t *emu, uintptr_t fnc);
+void iFpdip(x64emu_t *emu, uintptr_t fnc);
 void iFplii(x64emu_t *emu, uintptr_t fnc);
 void iFplip(x64emu_t *emu, uintptr_t fnc);
 void iFplpi(x64emu_t *emu, uintptr_t fnc);
@@ -1051,6 +1073,7 @@ void IFSIii(x64emu_t *emu, uintptr_t fnc);
 void CFuuff(x64emu_t *emu, uintptr_t fnc);
 void CFpiii(x64emu_t *emu, uintptr_t fnc);
 void CFpupp(x64emu_t *emu, uintptr_t fnc);
+void CFpLLi(x64emu_t *emu, uintptr_t fnc);
 void CFppip(x64emu_t *emu, uintptr_t fnc);
 void uFEipp(x64emu_t *emu, uintptr_t fnc);
 void uFEupp(x64emu_t *emu, uintptr_t fnc);
@@ -1071,6 +1094,7 @@ void uFpupu(x64emu_t *emu, uintptr_t fnc);
 void uFpupp(x64emu_t *emu, uintptr_t fnc);
 void uFppiu(x64emu_t *emu, uintptr_t fnc);
 void uFppip(x64emu_t *emu, uintptr_t fnc);
+void uFppuu(x64emu_t *emu, uintptr_t fnc);
 void uFpplp(x64emu_t *emu, uintptr_t fnc);
 void uFppLp(x64emu_t *emu, uintptr_t fnc);
 void uFpppi(x64emu_t *emu, uintptr_t fnc);
@@ -1138,13 +1162,13 @@ void pFiiuu(x64emu_t *emu, uintptr_t fnc);
 void pFiiup(x64emu_t *emu, uintptr_t fnc);
 void pFiiLp(x64emu_t *emu, uintptr_t fnc);
 void pFiipi(x64emu_t *emu, uintptr_t fnc);
-void pFiipp(x64emu_t *emu, uintptr_t fnc);
 void pFiIIi(x64emu_t *emu, uintptr_t fnc);
 void pFillu(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 pFippp(x64emu_t *emu, uintptr_t fnc);
 void pFuuii(x64emu_t *emu, uintptr_t fnc);
 void pFuuip(x64emu_t *emu, uintptr_t fnc);
 void pFuuuu(x64emu_t *emu, uintptr_t fnc);
@@ -1157,6 +1181,9 @@ void pFdddd(x64emu_t *emu, uintptr_t fnc);
 void pFDipp(x64emu_t *emu, uintptr_t fnc);
 void pFlfff(x64emu_t *emu, uintptr_t fnc);
 void pFLiip(x64emu_t *emu, uintptr_t fnc);
+void pFLLup(x64emu_t *emu, uintptr_t fnc);
+void pFLLpp(x64emu_t *emu, uintptr_t fnc);
+void pFLppp(x64emu_t *emu, uintptr_t fnc);
 void pFpiii(x64emu_t *emu, uintptr_t fnc);
 void pFpiiu(x64emu_t *emu, uintptr_t fnc);
 void pFpiip(x64emu_t *emu, uintptr_t fnc);
@@ -1184,8 +1211,10 @@ void pFpupu(x64emu_t *emu, uintptr_t fnc);
 void pFpupp(x64emu_t *emu, uintptr_t fnc);
 void pFpdIU(x64emu_t *emu, uintptr_t fnc);
 void pFplil(x64emu_t *emu, uintptr_t fnc);
+void pFplip(x64emu_t *emu, uintptr_t fnc);
 void pFplpl(x64emu_t *emu, uintptr_t fnc);
 void pFplpp(x64emu_t *emu, uintptr_t fnc);
+void pFpLii(x64emu_t *emu, uintptr_t fnc);
 void pFpLip(x64emu_t *emu, uintptr_t fnc);
 void pFpLup(x64emu_t *emu, uintptr_t fnc);
 void pFpLLp(x64emu_t *emu, uintptr_t fnc);
@@ -1384,6 +1413,7 @@ void vFpLpiL(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 vFppiui(x64emu_t *emu, uintptr_t fnc);
 void vFppiup(x64emu_t *emu, uintptr_t fnc);
 void vFppiff(x64emu_t *emu, uintptr_t fnc);
 void vFppidd(x64emu_t *emu, uintptr_t fnc);
@@ -1396,6 +1426,7 @@ void vFppuuu(x64emu_t *emu, uintptr_t fnc);
 void vFppuup(x64emu_t *emu, uintptr_t fnc);
 void vFppudd(x64emu_t *emu, uintptr_t fnc);
 void vFppupi(x64emu_t *emu, uintptr_t fnc);
+void vFppupu(x64emu_t *emu, uintptr_t fnc);
 void vFppupp(x64emu_t *emu, uintptr_t fnc);
 void vFppfff(x64emu_t *emu, uintptr_t fnc);
 void vFppddp(x64emu_t *emu, uintptr_t fnc);
@@ -1405,6 +1436,7 @@ void vFpppip(x64emu_t *emu, uintptr_t fnc);
 void vFpppui(x64emu_t *emu, uintptr_t fnc);
 void vFpppuu(x64emu_t *emu, uintptr_t fnc);
 void vFpppup(x64emu_t *emu, uintptr_t fnc);
+void vFpppff(x64emu_t *emu, uintptr_t fnc);
 void vFpppdd(x64emu_t *emu, uintptr_t fnc);
 void vFppppi(x64emu_t *emu, uintptr_t fnc);
 void vFppppu(x64emu_t *emu, uintptr_t fnc);
@@ -1412,6 +1444,7 @@ 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 iFEiipA(x64emu_t *emu, uintptr_t fnc);
 void iFEippi(x64emu_t *emu, uintptr_t fnc);
 void iFEippL(x64emu_t *emu, uintptr_t fnc);
 void iFEippp(x64emu_t *emu, uintptr_t fnc);
@@ -1453,8 +1486,10 @@ void iFippLi(x64emu_t *emu, uintptr_t fnc);
 void iFippLp(x64emu_t *emu, uintptr_t fnc);
 void iFipppi(x64emu_t *emu, uintptr_t fnc);
 void iFipppp(x64emu_t *emu, uintptr_t fnc);
+void iFuuupp(x64emu_t *emu, uintptr_t fnc);
 void iFuppLp(x64emu_t *emu, uintptr_t fnc);
 void iFLppip(x64emu_t *emu, uintptr_t fnc);
+void iFLpppp(x64emu_t *emu, uintptr_t fnc);
 void iFpwwww(x64emu_t *emu, uintptr_t fnc);
 void iFpwppp(x64emu_t *emu, uintptr_t fnc);
 void iFpiiii(x64emu_t *emu, uintptr_t fnc);
@@ -1486,11 +1521,14 @@ void iFpuuip(x64emu_t *emu, uintptr_t fnc);
 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 iFpulup(x64emu_t *emu, uintptr_t fnc);
 void iFpulpp(x64emu_t *emu, uintptr_t fnc);
 void iFpupiU(x64emu_t *emu, uintptr_t fnc);
+void iFpupui(x64emu_t *emu, uintptr_t fnc);
 void iFpupuu(x64emu_t *emu, uintptr_t fnc);
 void iFpupup(x64emu_t *emu, uintptr_t fnc);
+void iFpuppL(x64emu_t *emu, uintptr_t fnc);
 void iFpuppp(x64emu_t *emu, uintptr_t fnc);
 void iFpUiUi(x64emu_t *emu, uintptr_t fnc);
 void iFpUupp(x64emu_t *emu, uintptr_t fnc);
@@ -1519,6 +1557,7 @@ void iFppiup(x64emu_t *emu, uintptr_t fnc);
 void iFppiLi(x64emu_t *emu, uintptr_t fnc);
 void iFppiLL(x64emu_t *emu, uintptr_t fnc);
 void iFppipi(x64emu_t *emu, uintptr_t fnc);
+void iFppipu(x64emu_t *emu, uintptr_t fnc);
 void iFppipp(x64emu_t *emu, uintptr_t fnc);
 void iFppuwp(x64emu_t *emu, uintptr_t fnc);
 void iFppuip(x64emu_t *emu, uintptr_t fnc);
@@ -1558,9 +1597,11 @@ void uFuiiii(x64emu_t *emu, uintptr_t fnc);
 void uFLpppL(x64emu_t *emu, uintptr_t fnc);
 void uFpCCCC(x64emu_t *emu, uintptr_t fnc);
 void uFpWuip(x64emu_t *emu, uintptr_t fnc);
+void uFpuuui(x64emu_t *emu, uintptr_t fnc);
 void uFpuuuu(x64emu_t *emu, uintptr_t fnc);
 void uFpuupp(x64emu_t *emu, uintptr_t fnc);
 void uFpupuu(x64emu_t *emu, uintptr_t fnc);
+void uFpuppp(x64emu_t *emu, uintptr_t fnc);
 void uFppipp(x64emu_t *emu, uintptr_t fnc);
 void uFppuup(x64emu_t *emu, uintptr_t fnc);
 void uFppupp(x64emu_t *emu, uintptr_t fnc);
@@ -1590,6 +1631,7 @@ void LFpLpuu(x64emu_t *emu, uintptr_t fnc);
 void LFpLppL(x64emu_t *emu, uintptr_t fnc);
 void LFpLppp(x64emu_t *emu, uintptr_t fnc);
 void LFppLLp(x64emu_t *emu, uintptr_t fnc);
+void LFppLpL(x64emu_t *emu, uintptr_t fnc);
 void LFpppii(x64emu_t *emu, uintptr_t fnc);
 void LFppppp(x64emu_t *emu, uintptr_t fnc);
 void pFEpiii(x64emu_t *emu, uintptr_t fnc);
@@ -1626,6 +1668,7 @@ 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 pFpiupp(x64emu_t *emu, uintptr_t fnc);
+void pFpiLip(x64emu_t *emu, uintptr_t fnc);
 void pFpipip(x64emu_t *emu, uintptr_t fnc);
 void pFpipup(x64emu_t *emu, uintptr_t fnc);
 void pFpippi(x64emu_t *emu, uintptr_t fnc);
@@ -1640,14 +1683,17 @@ void pFpuuWW(x64emu_t *emu, uintptr_t fnc);
 void pFpuuuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuuup(x64emu_t *emu, uintptr_t fnc);
 void pFpupii(x64emu_t *emu, uintptr_t fnc);
+void pFpuppu(x64emu_t *emu, uintptr_t fnc);
 void pFpuppp(x64emu_t *emu, uintptr_t fnc);
 void pFpUdii(x64emu_t *emu, uintptr_t fnc);
 void pFpfffi(x64emu_t *emu, uintptr_t fnc);
 void pFpdddd(x64emu_t *emu, uintptr_t fnc);
 void pFplppp(x64emu_t *emu, uintptr_t fnc);
 void pFpLiii(x64emu_t *emu, uintptr_t fnc);
+void pFpLLip(x64emu_t *emu, uintptr_t fnc);
 void pFpLLLp(x64emu_t *emu, uintptr_t fnc);
 void pFpLpii(x64emu_t *emu, uintptr_t fnc);
+void pFpLpip(x64emu_t *emu, uintptr_t fnc);
 void pFppiii(x64emu_t *emu, uintptr_t fnc);
 void pFppiiu(x64emu_t *emu, uintptr_t fnc);
 void pFppiip(x64emu_t *emu, uintptr_t fnc);
@@ -1662,11 +1708,13 @@ void pFppuup(x64emu_t *emu, uintptr_t fnc);
 void pFppupp(x64emu_t *emu, uintptr_t fnc);
 void pFppddu(x64emu_t *emu, uintptr_t fnc);
 void pFppLii(x64emu_t *emu, uintptr_t fnc);
+void pFppLLi(x64emu_t *emu, uintptr_t fnc);
+void pFppLpp(x64emu_t *emu, uintptr_t fnc);
 void pFpppii(x64emu_t *emu, uintptr_t fnc);
 void pFpppip(x64emu_t *emu, uintptr_t fnc);
-void pFpppIi(x64emu_t *emu, uintptr_t fnc);
 void pFpppui(x64emu_t *emu, uintptr_t fnc);
 void pFpppup(x64emu_t *emu, uintptr_t fnc);
+void pFpppli(x64emu_t *emu, uintptr_t fnc);
 void pFpppLi(x64emu_t *emu, uintptr_t fnc);
 void pFppppi(x64emu_t *emu, uintptr_t fnc);
 void pFppppu(x64emu_t *emu, uintptr_t fnc);
@@ -1690,6 +1738,7 @@ 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 vFEpuipV(x64emu_t *emu, uintptr_t fnc);
 void vFEpupup(x64emu_t *emu, uintptr_t fnc);
 void vFEpuppp(x64emu_t *emu, uintptr_t fnc);
 void vFEpLLpp(x64emu_t *emu, uintptr_t fnc);
@@ -1779,11 +1828,14 @@ void vFpuiiii(x64emu_t *emu, uintptr_t fnc);
 void vFpuiiiu(x64emu_t *emu, uintptr_t fnc);
 void vFpuiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpuuuiu(x64emu_t *emu, uintptr_t fnc);
+void vFpuuuup(x64emu_t *emu, uintptr_t fnc);
+void vFpuuupp(x64emu_t *emu, uintptr_t fnc);
 void vFpuupuu(x64emu_t *emu, uintptr_t fnc);
 void vFpuuppp(x64emu_t *emu, uintptr_t fnc);
 void vFpudddd(x64emu_t *emu, uintptr_t fnc);
 void vFpupiUu(x64emu_t *emu, uintptr_t fnc);
 void vFpupuuu(x64emu_t *emu, uintptr_t fnc);
+void vFpupupu(x64emu_t *emu, uintptr_t fnc);
 void vFpuppuu(x64emu_t *emu, uintptr_t fnc);
 void vFpupppp(x64emu_t *emu, uintptr_t fnc);
 void vFpUiuup(x64emu_t *emu, uintptr_t fnc);
@@ -1842,11 +1894,13 @@ void iFEpippi(x64emu_t *emu, uintptr_t fnc);
 void iFEpIppp(x64emu_t *emu, uintptr_t fnc);
 void iFEpuppp(x64emu_t *emu, uintptr_t fnc);
 void iFEpUppp(x64emu_t *emu, uintptr_t fnc);
+void iFEppppi(x64emu_t *emu, uintptr_t fnc);
 void iFEppppp(x64emu_t *emu, uintptr_t fnc);
 void iFiiiiip(x64emu_t *emu, uintptr_t fnc);
 void iFiiiipp(x64emu_t *emu, uintptr_t fnc);
 void iFiiiuwp(x64emu_t *emu, uintptr_t fnc);
 void iFiWiipi(x64emu_t *emu, uintptr_t fnc);
+void iFilpppp(x64emu_t *emu, uintptr_t fnc);
 void iFiLpppi(x64emu_t *emu, uintptr_t fnc);
 void iFipiipi(x64emu_t *emu, uintptr_t fnc);
 void iFipipip(x64emu_t *emu, uintptr_t fnc);
@@ -1871,17 +1925,23 @@ void iFpiCCpu(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 iFpipipp(x64emu_t *emu, uintptr_t fnc);
 void iFpipupp(x64emu_t *emu, uintptr_t fnc);
 void iFpippip(x64emu_t *emu, uintptr_t fnc);
+void iFpippup(x64emu_t *emu, uintptr_t fnc);
 void iFpipppL(x64emu_t *emu, uintptr_t fnc);
 void iFpipppp(x64emu_t *emu, uintptr_t fnc);
 void iFpCiipp(x64emu_t *emu, uintptr_t fnc);
 void iFpCpipu(x64emu_t *emu, uintptr_t fnc);
+void iFpWipip(x64emu_t *emu, uintptr_t fnc);
 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 iFpuuuuu(x64emu_t *emu, uintptr_t fnc);
+void iFpuuuup(x64emu_t *emu, uintptr_t fnc);
+void iFpuuupp(x64emu_t *emu, uintptr_t fnc);
 void iFpuupuu(x64emu_t *emu, uintptr_t fnc);
+void iFpuuppp(x64emu_t *emu, uintptr_t fnc);
 void iFpuLLpp(x64emu_t *emu, uintptr_t fnc);
 void iFpupuui(x64emu_t *emu, uintptr_t fnc);
 void iFpupLpL(x64emu_t *emu, uintptr_t fnc);
@@ -1890,6 +1950,7 @@ void iFpUuuLp(x64emu_t *emu, uintptr_t fnc);
 void iFpUuupp(x64emu_t *emu, uintptr_t fnc);
 void iFpUUUip(x64emu_t *emu, uintptr_t fnc);
 void iFpUUUUp(x64emu_t *emu, uintptr_t fnc);
+void iFpdpipp(x64emu_t *emu, uintptr_t fnc);
 void iFpLiiiL(x64emu_t *emu, uintptr_t fnc);
 void iFpLiiip(x64emu_t *emu, uintptr_t fnc);
 void iFpLiiuu(x64emu_t *emu, uintptr_t fnc);
@@ -1908,9 +1969,11 @@ void iFppiiip(x64emu_t *emu, uintptr_t fnc);
 void iFppiipi(x64emu_t *emu, uintptr_t fnc);
 void iFppiipp(x64emu_t *emu, uintptr_t fnc);
 void iFppiupp(x64emu_t *emu, uintptr_t fnc);
+void iFppilpp(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 iFppippu(x64emu_t *emu, uintptr_t fnc);
 void iFppIppp(x64emu_t *emu, uintptr_t fnc);
 void iFppuiii(x64emu_t *emu, uintptr_t fnc);
 void iFppuIII(x64emu_t *emu, uintptr_t fnc);
@@ -1923,12 +1986,15 @@ void iFpplppi(x64emu_t *emu, uintptr_t fnc);
 void iFppLupp(x64emu_t *emu, uintptr_t fnc);
 void iFppLLiL(x64emu_t *emu, uintptr_t fnc);
 void iFppLLup(x64emu_t *emu, uintptr_t fnc);
+void iFppLLpp(x64emu_t *emu, uintptr_t fnc);
 void iFppLpLp(x64emu_t *emu, uintptr_t fnc);
 void iFppLppp(x64emu_t *emu, uintptr_t fnc);
 void iFpppiuu(x64emu_t *emu, uintptr_t fnc);
 void iFpppipi(x64emu_t *emu, uintptr_t fnc);
+void iFpppipu(x64emu_t *emu, uintptr_t fnc);
 void iFpppipp(x64emu_t *emu, uintptr_t fnc);
 void iFpppuii(x64emu_t *emu, uintptr_t fnc);
+void iFpppuup(x64emu_t *emu, uintptr_t fnc);
 void iFpppupu(x64emu_t *emu, uintptr_t fnc);
 void iFpppupp(x64emu_t *emu, uintptr_t fnc);
 void iFpppLpp(x64emu_t *emu, uintptr_t fnc);
@@ -1937,6 +2003,7 @@ void iFppppiu(x64emu_t *emu, uintptr_t fnc);
 void iFppppip(x64emu_t *emu, uintptr_t fnc);
 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);
@@ -1951,6 +2018,9 @@ void uFpWuipp(x64emu_t *emu, uintptr_t fnc);
 void uFpWuuCp(x64emu_t *emu, uintptr_t fnc);
 void uFpuippp(x64emu_t *emu, uintptr_t fnc);
 void uFpuuuup(x64emu_t *emu, uintptr_t fnc);
+void uFpuuupp(x64emu_t *emu, uintptr_t fnc);
+void uFpuuppp(x64emu_t *emu, uintptr_t fnc);
+void uFpupupu(x64emu_t *emu, uintptr_t fnc);
 void uFppippp(x64emu_t *emu, uintptr_t fnc);
 void uFppuuup(x64emu_t *emu, uintptr_t fnc);
 void uFppuupu(x64emu_t *emu, uintptr_t fnc);
@@ -1973,6 +2043,7 @@ void LFEppppi(x64emu_t *emu, uintptr_t fnc);
 void LFpipipi(x64emu_t *emu, uintptr_t fnc);
 void LFpLippp(x64emu_t *emu, uintptr_t fnc);
 void LFpLLLLL(x64emu_t *emu, uintptr_t fnc);
+void LFppLLpL(x64emu_t *emu, uintptr_t fnc);
 void LFSpLiip(x64emu_t *emu, uintptr_t fnc);
 void pFEpiupp(x64emu_t *emu, uintptr_t fnc);
 void pFEpippp(x64emu_t *emu, uintptr_t fnc);
@@ -1991,14 +2062,17 @@ void pFiiiiid(x64emu_t *emu, uintptr_t fnc);
 void pFipippp(x64emu_t *emu, uintptr_t fnc);
 void pFWCiWCi(x64emu_t *emu, uintptr_t fnc);
 void pFuuipip(x64emu_t *emu, uintptr_t fnc);
+void pFuuuiip(x64emu_t *emu, uintptr_t fnc);
 void pFuuuuii(x64emu_t *emu, uintptr_t fnc);
 void pFuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void pFuuuuup(x64emu_t *emu, uintptr_t fnc);
+void pFuuppuu(x64emu_t *emu, uintptr_t fnc);
 void pFdddddd(x64emu_t *emu, uintptr_t fnc);
 void pFpiiiiu(x64emu_t *emu, uintptr_t fnc);
 void pFpiiipp(x64emu_t *emu, uintptr_t fnc);
 void pFpiiCCC(x64emu_t *emu, uintptr_t fnc);
 void pFpiUUUU(x64emu_t *emu, uintptr_t fnc);
+void pFpipipp(x64emu_t *emu, uintptr_t fnc);
 void pFpippip(x64emu_t *emu, uintptr_t fnc);
 void pFpipppp(x64emu_t *emu, uintptr_t fnc);
 void pFpCuuCC(x64emu_t *emu, uintptr_t fnc);
@@ -2009,18 +2083,26 @@ void pFpuuuuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuuupu(x64emu_t *emu, uintptr_t fnc);
 void pFpuuUUU(x64emu_t *emu, uintptr_t fnc);
 void pFpupuui(x64emu_t *emu, uintptr_t fnc);
+void pFpuppip(x64emu_t *emu, uintptr_t fnc);
 void pFpupppp(x64emu_t *emu, uintptr_t fnc);
 void pFplpppp(x64emu_t *emu, uintptr_t fnc);
+void pFpLuLpp(x64emu_t *emu, uintptr_t fnc);
+void pFpLpLLi(x64emu_t *emu, uintptr_t fnc);
 void pFpLppii(x64emu_t *emu, uintptr_t fnc);
+void pFpLppip(x64emu_t *emu, uintptr_t fnc);
+void pFpLppup(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 pFppiupp(x64emu_t *emu, uintptr_t fnc);
+void pFppilpp(x64emu_t *emu, uintptr_t fnc);
 void pFppipip(x64emu_t *emu, uintptr_t fnc);
 void pFppippi(x64emu_t *emu, uintptr_t fnc);
 void pFppippp(x64emu_t *emu, uintptr_t fnc);
+void pFppuupp(x64emu_t *emu, uintptr_t fnc);
 void pFppupii(x64emu_t *emu, uintptr_t fnc);
 void pFppuppp(x64emu_t *emu, uintptr_t fnc);
+void pFpplplp(x64emu_t *emu, uintptr_t fnc);
 void pFpplppp(x64emu_t *emu, uintptr_t fnc);
 void pFpppiup(x64emu_t *emu, uintptr_t fnc);
 void pFpppupp(x64emu_t *emu, uintptr_t fnc);
@@ -2105,6 +2187,7 @@ void vFpipipii(x64emu_t *emu, uintptr_t fnc);
 void vFpippppu(x64emu_t *emu, uintptr_t fnc);
 void vFpuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFpuuUUuu(x64emu_t *emu, uintptr_t fnc);
+void vFpuupupu(x64emu_t *emu, uintptr_t fnc);
 void vFpuupppp(x64emu_t *emu, uintptr_t fnc);
 void vFpupuuup(x64emu_t *emu, uintptr_t fnc);
 void vFpupppui(x64emu_t *emu, uintptr_t fnc);
@@ -2139,6 +2222,7 @@ void vFpppiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpppiupi(x64emu_t *emu, uintptr_t fnc);
 void vFpppippi(x64emu_t *emu, uintptr_t fnc);
 void vFpppuuuu(x64emu_t *emu, uintptr_t fnc);
+void vFpppffff(x64emu_t *emu, uintptr_t fnc);
 void vFppppiip(x64emu_t *emu, uintptr_t fnc);
 void vFppppiui(x64emu_t *emu, uintptr_t fnc);
 void vFppppipi(x64emu_t *emu, uintptr_t fnc);
@@ -2155,6 +2239,7 @@ void iFEpppiiu(x64emu_t *emu, uintptr_t fnc);
 void iFEpppppL(x64emu_t *emu, uintptr_t fnc);
 void iFEpppppp(x64emu_t *emu, uintptr_t fnc);
 void iFiiiiiip(x64emu_t *emu, uintptr_t fnc);
+void iFipupupi(x64emu_t *emu, uintptr_t fnc);
 void iFpiiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFpiiiiip(x64emu_t *emu, uintptr_t fnc);
 void iFpiiiuwp(x64emu_t *emu, uintptr_t fnc);
@@ -2165,10 +2250,12 @@ void iFpiuLiii(x64emu_t *emu, uintptr_t fnc);
 void iFpiupppp(x64emu_t *emu, uintptr_t fnc);
 void iFpiLuupp(x64emu_t *emu, uintptr_t fnc);
 void iFpiLuppp(x64emu_t *emu, uintptr_t fnc);
+void iFpipiiip(x64emu_t *emu, uintptr_t fnc);
 void iFpipipip(x64emu_t *emu, uintptr_t fnc);
 void iFpipippp(x64emu_t *emu, uintptr_t fnc);
 void iFpippLpp(x64emu_t *emu, uintptr_t fnc);
 void iFpippppW(x64emu_t *emu, uintptr_t fnc);
+void iFpippppp(x64emu_t *emu, uintptr_t fnc);
 void iFpIIpppp(x64emu_t *emu, uintptr_t fnc);
 void iFpWCiWCi(x64emu_t *emu, uintptr_t fnc);
 void iFpWppppW(x64emu_t *emu, uintptr_t fnc);
@@ -2214,6 +2301,7 @@ void iFpppiuwu(x64emu_t *emu, uintptr_t fnc);
 void iFpppippi(x64emu_t *emu, uintptr_t fnc);
 void iFpppippp(x64emu_t *emu, uintptr_t fnc);
 void iFpppuiii(x64emu_t *emu, uintptr_t fnc);
+void iFpppLppp(x64emu_t *emu, uintptr_t fnc);
 void iFppppilp(x64emu_t *emu, uintptr_t fnc);
 void iFppppipp(x64emu_t *emu, uintptr_t fnc);
 void iFppppdpu(x64emu_t *emu, uintptr_t fnc);
@@ -2228,6 +2316,8 @@ void uFEpppppp(x64emu_t *emu, uintptr_t fnc);
 void uFiiiuuuu(x64emu_t *emu, uintptr_t fnc);
 void uFuippppp(x64emu_t *emu, uintptr_t fnc);
 void uFpippppp(x64emu_t *emu, uintptr_t fnc);
+void uFpuuuupp(x64emu_t *emu, uintptr_t fnc);
+void uFpuuuppp(x64emu_t *emu, uintptr_t fnc);
 void uFpuupppp(x64emu_t *emu, uintptr_t fnc);
 void uFppiuppp(x64emu_t *emu, uintptr_t fnc);
 void uFppuuuup(x64emu_t *emu, uintptr_t fnc);
@@ -2261,28 +2351,37 @@ void pFpuupwwC(x64emu_t *emu, uintptr_t fnc);
 void pFpupiipp(x64emu_t *emu, uintptr_t fnc);
 void pFpuppipp(x64emu_t *emu, uintptr_t fnc);
 void pFplppppp(x64emu_t *emu, uintptr_t fnc);
+void pFpLLppup(x64emu_t *emu, uintptr_t fnc);
+void pFpLpipip(x64emu_t *emu, uintptr_t fnc);
+void pFpLpLLiL(x64emu_t *emu, uintptr_t fnc);
 void pFpLppiip(x64emu_t *emu, uintptr_t fnc);
+void pFpLppLLi(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 pFppipLpp(x64emu_t *emu, uintptr_t fnc);
 void pFppuippp(x64emu_t *emu, uintptr_t fnc);
 void pFppuuupp(x64emu_t *emu, uintptr_t fnc);
 void pFppuuppp(x64emu_t *emu, uintptr_t fnc);
+void pFppuLLip(x64emu_t *emu, uintptr_t fnc);
 void pFppliuip(x64emu_t *emu, uintptr_t fnc);
 void pFpplipup(x64emu_t *emu, uintptr_t fnc);
 void pFppLipip(x64emu_t *emu, uintptr_t fnc);
+void pFppLLiLi(x64emu_t *emu, uintptr_t fnc);
 void pFpppccci(x64emu_t *emu, uintptr_t fnc);
 void pFpppiiii(x64emu_t *emu, uintptr_t fnc);
 void pFpppCCCi(x64emu_t *emu, uintptr_t fnc);
 void pFpppuipp(x64emu_t *emu, uintptr_t fnc);
 void pFpppuuui(x64emu_t *emu, uintptr_t fnc);
 void pFpppuupp(x64emu_t *emu, uintptr_t fnc);
+void pFpppupup(x64emu_t *emu, uintptr_t fnc);
 void pFpppuppp(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 pFppppiii(x64emu_t *emu, uintptr_t fnc);
 void pFppppuuu(x64emu_t *emu, uintptr_t fnc);
 void pFpppppuu(x64emu_t *emu, uintptr_t fnc);
 void pFppppppu(x64emu_t *emu, uintptr_t fnc);
@@ -2329,6 +2428,7 @@ void vFuuuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFuuufffff(x64emu_t *emu, uintptr_t fnc);
 void vFffffffff(x64emu_t *emu, uintptr_t fnc);
 void vFpiiiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFpiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void vFpiiiipii(x64emu_t *emu, uintptr_t fnc);
 void vFpiiULipp(x64emu_t *emu, uintptr_t fnc);
 void vFpiUuupup(x64emu_t *emu, uintptr_t fnc);
@@ -2366,7 +2466,10 @@ void iFiiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void iFiiupiupi(x64emu_t *emu, uintptr_t fnc);
 void iFipippppp(x64emu_t *emu, uintptr_t fnc);
 void iFuuuuuuuu(x64emu_t *emu, uintptr_t fnc);
+void iFdiippppL(x64emu_t *emu, uintptr_t fnc);
+void iFpipiipip(x64emu_t *emu, uintptr_t fnc);
 void iFpippuuii(x64emu_t *emu, uintptr_t fnc);
+void iFpippuupp(x64emu_t *emu, uintptr_t fnc);
 void iFpCCWWpWu(x64emu_t *emu, uintptr_t fnc);
 void iFpWCuWCuu(x64emu_t *emu, uintptr_t fnc);
 void iFpWWipppp(x64emu_t *emu, uintptr_t fnc);
@@ -2376,6 +2479,8 @@ void iFpuuiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFpuuipppp(x64emu_t *emu, uintptr_t fnc);
 void iFpuuupupu(x64emu_t *emu, uintptr_t fnc);
 void iFpuupuupp(x64emu_t *emu, uintptr_t fnc);
+void iFpuuppiip(x64emu_t *emu, uintptr_t fnc);
+void iFpuuppppp(x64emu_t *emu, uintptr_t fnc);
 void iFpupppWWu(x64emu_t *emu, uintptr_t fnc);
 void iFpupppppp(x64emu_t *emu, uintptr_t fnc);
 void iFpUuuLpUi(x64emu_t *emu, uintptr_t fnc);
@@ -2385,8 +2490,10 @@ void iFpLLLiipi(x64emu_t *emu, uintptr_t fnc);
 void iFpLLppppp(x64emu_t *emu, uintptr_t fnc);
 void iFpLpipppp(x64emu_t *emu, uintptr_t fnc);
 void iFpLppLpip(x64emu_t *emu, uintptr_t fnc);
+void iFpLpppupu(x64emu_t *emu, uintptr_t fnc);
 void iFpLpppppp(x64emu_t *emu, uintptr_t fnc);
 void iFppiiipip(x64emu_t *emu, uintptr_t fnc);
+void iFppillppp(x64emu_t *emu, uintptr_t fnc);
 void iFppIIIppp(x64emu_t *emu, uintptr_t fnc);
 void iFppuiiuuu(x64emu_t *emu, uintptr_t fnc);
 void iFppuuuuuu(x64emu_t *emu, uintptr_t fnc);
@@ -2394,6 +2501,7 @@ void iFppuppppp(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiipi(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiipp(x64emu_t *emu, uintptr_t fnc);
 void iFpppipipi(x64emu_t *emu, uintptr_t fnc);
+void iFppppiiup(x64emu_t *emu, uintptr_t fnc);
 void iFppppippp(x64emu_t *emu, uintptr_t fnc);
 void iFppppppii(x64emu_t *emu, uintptr_t fnc);
 void iFpppppppi(x64emu_t *emu, uintptr_t fnc);
@@ -2407,12 +2515,13 @@ void uFEppppppp(x64emu_t *emu, uintptr_t fnc);
 void uFuipppppp(x64emu_t *emu, uintptr_t fnc);
 void uFuupuuiuf(x64emu_t *emu, uintptr_t fnc);
 void uFulpppppp(x64emu_t *emu, uintptr_t fnc);
+void uFpuupupuu(x64emu_t *emu, uintptr_t fnc);
 void uFpupuuuCp(x64emu_t *emu, uintptr_t fnc);
 void uFppuuuupp(x64emu_t *emu, uintptr_t fnc);
 void uFppuuuppu(x64emu_t *emu, uintptr_t fnc);
 void uFppuppppp(x64emu_t *emu, uintptr_t fnc);
 void uFpppppupp(x64emu_t *emu, uintptr_t fnc);
-void LFELpLpLpi(x64emu_t *emu, uintptr_t fnc);
+void LFELpupupu(x64emu_t *emu, uintptr_t fnc);
 void LFEpiupppp(x64emu_t *emu, uintptr_t fnc);
 void LFpLpuuLLu(x64emu_t *emu, uintptr_t fnc);
 void pFEiplllpp(x64emu_t *emu, uintptr_t fnc);
@@ -2440,7 +2549,14 @@ void pFpuuupwwp(x64emu_t *emu, uintptr_t fnc);
 void pFpupppppp(x64emu_t *emu, uintptr_t fnc);
 void pFpdwwWWui(x64emu_t *emu, uintptr_t fnc);
 void pFplpppppp(x64emu_t *emu, uintptr_t fnc);
+void pFpLuLpLip(x64emu_t *emu, uintptr_t fnc);
+void pFpLpipLup(x64emu_t *emu, uintptr_t fnc);
+void pFpLpLLiLi(x64emu_t *emu, uintptr_t fnc);
+void pFpLppuLLp(x64emu_t *emu, uintptr_t fnc);
+void pFpLppLLiL(x64emu_t *emu, uintptr_t fnc);
 void pFppiiiiii(x64emu_t *emu, uintptr_t fnc);
+void pFpppipipi(x64emu_t *emu, uintptr_t fnc);
+void pFppplippp(x64emu_t *emu, uintptr_t fnc);
 void pFppppuppp(x64emu_t *emu, uintptr_t fnc);
 void pFpppppupp(x64emu_t *emu, uintptr_t fnc);
 void iWEpuuiipp(x64emu_t *emu, uintptr_t fnc);
@@ -2480,6 +2596,7 @@ void vFddddddddd(x64emu_t *emu, uintptr_t fnc);
 void vFpiuippppi(x64emu_t *emu, uintptr_t fnc);
 void vFpipiuiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpipppiipi(x64emu_t *emu, uintptr_t fnc);
+void vFpuuuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFpLpppippp(x64emu_t *emu, uintptr_t fnc);
 void vFppiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFppiiiiipi(x64emu_t *emu, uintptr_t fnc);
@@ -2500,6 +2617,7 @@ void vFppUUiUUUU(x64emu_t *emu, uintptr_t fnc);
 void vFppddddudd(x64emu_t *emu, uintptr_t fnc);
 void vFpplpppppi(x64emu_t *emu, uintptr_t fnc);
 void vFpppiiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFpppffffff(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);
@@ -2520,6 +2638,7 @@ void iFpduuuLuLp(x64emu_t *emu, uintptr_t fnc);
 void iFpLiuiiLLL(x64emu_t *emu, uintptr_t fnc);
 void iFpLLiiuuii(x64emu_t *emu, uintptr_t fnc);
 void iFpLpiiuuii(x64emu_t *emu, uintptr_t fnc);
+void iFpLpppupup(x64emu_t *emu, uintptr_t fnc);
 void iFpLppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFppiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFppippippp(x64emu_t *emu, uintptr_t fnc);
@@ -2534,6 +2653,7 @@ void iFppppppppp(x64emu_t *emu, uintptr_t fnc);
 void uFEipippppp(x64emu_t *emu, uintptr_t fnc);
 void uFEpppufppp(x64emu_t *emu, uintptr_t fnc);
 void uFuulpiuiuf(x64emu_t *emu, uintptr_t fnc);
+void uFpuupuppuu(x64emu_t *emu, uintptr_t fnc);
 void uFppLpLuppp(x64emu_t *emu, uintptr_t fnc);
 void uFppppppppp(x64emu_t *emu, uintptr_t fnc);
 void lFpppipiipp(x64emu_t *emu, uintptr_t fnc);
@@ -2551,6 +2671,8 @@ void pFpiiCpWWup(x64emu_t *emu, uintptr_t fnc);
 void pFpCuWCCuuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuuwwWWww(x64emu_t *emu, uintptr_t fnc);
 void pFpupuuuuup(x64emu_t *emu, uintptr_t fnc);
+void pFpLpLLipui(x64emu_t *emu, uintptr_t fnc);
+void pFpLppLLiLi(x64emu_t *emu, uintptr_t fnc);
 void pFppiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void pFppipppppp(x64emu_t *emu, uintptr_t fnc);
 void pFpppiiiiii(x64emu_t *emu, uintptr_t fnc);
@@ -2599,6 +2721,7 @@ void vFppuuppppii(x64emu_t *emu, uintptr_t fnc);
 void vFppuppuiiii(x64emu_t *emu, uintptr_t fnc);
 void vFppupppiiii(x64emu_t *emu, uintptr_t fnc);
 void vFppdddddddd(x64emu_t *emu, uintptr_t fnc);
+void vFppppppppii(x64emu_t *emu, uintptr_t fnc);
 void vFpppppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFEpiiiiippp(x64emu_t *emu, uintptr_t fnc);
 void iFEpupppLppL(x64emu_t *emu, uintptr_t fnc);
@@ -2613,7 +2736,9 @@ 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 iFpppppiiuup(x64emu_t *emu, uintptr_t fnc);
 void iFpppppppipi(x64emu_t *emu, uintptr_t fnc);
+void iFpppppppppu(x64emu_t *emu, uintptr_t fnc);
 void uFpddpippppp(x64emu_t *emu, uintptr_t fnc);
 void uFpppppppppp(x64emu_t *emu, uintptr_t fnc);
 void pFEiippppppp(x64emu_t *emu, uintptr_t fnc);
@@ -2624,6 +2749,7 @@ void pFpuwwWWuCuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuuuwwwwWW(x64emu_t *emu, uintptr_t fnc);
 void pFpuuuWWWCCi(x64emu_t *emu, uintptr_t fnc);
 void pFplllllllll(x64emu_t *emu, uintptr_t fnc);
+void pFppippLLLip(x64emu_t *emu, uintptr_t fnc);
 void pFppuiipuuii(x64emu_t *emu, uintptr_t fnc);
 void pFpppiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void pFpppppppppp(x64emu_t *emu, uintptr_t fnc);
@@ -2670,6 +2796,7 @@ void iFpLipiiiippp(x64emu_t *emu, uintptr_t fnc);
 void iFpLLpiiuuiiL(x64emu_t *emu, uintptr_t fnc);
 void iFppippipppip(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiuuiiuu(x64emu_t *emu, uintptr_t fnc);
+void iFpppppiiuupp(x64emu_t *emu, uintptr_t fnc);
 void uFEpLiupppLuV(x64emu_t *emu, uintptr_t fnc);
 void uFEpLippppLup(x64emu_t *emu, uintptr_t fnc);
 void uFEpLippppLuA(x64emu_t *emu, uintptr_t fnc);
@@ -2715,6 +2842,7 @@ void pFWWiCCCCiipup(x64emu_t *emu, uintptr_t fnc);
 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 pFppippLLLiLpp(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);
@@ -2736,6 +2864,7 @@ void uFippuuuulllipp(x64emu_t *emu, uintptr_t fnc);
 void uFppppuuupppppp(x64emu_t *emu, uintptr_t fnc);
 void pFpCuuwwWWWWuup(x64emu_t *emu, uintptr_t fnc);
 void pFpuupppwwwwWWC(x64emu_t *emu, uintptr_t fnc);
+void pFppLppppiiLpip(x64emu_t *emu, uintptr_t fnc);
 void pFpppppppuipppp(x64emu_t *emu, uintptr_t fnc);
 void pFppppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void vFippppppppppppp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedatk.c b/src/wrapped/wrappedatk.c
index d6b71c31..773212d9 100644
--- a/src/wrapped/wrappedatk.c
+++ b/src/wrapped/wrappedatk.c
@@ -44,7 +44,7 @@ GO(4)
 static uintptr_t my_AtkEventListenerInit_fct_##A = 0;               \
 static void my_AtkEventListenerInit_##A()                           \
 {                                                                   \
-    RunFunction(my_context, my_AtkEventListenerInit_fct_##A, 0);    \
+    RunFunctionFmt(my_AtkEventListenerInit_fct_##A, "");            \
 }
 SUPER()
 #undef GO
@@ -66,7 +66,7 @@ static void* find_AtkEventListenerInit_Fct(void* fct)
 static uintptr_t my_AtkEventListener_fct_##A = 0;               \
 static void my_AtkEventListener_##A(void* a)                    \
 {                                                               \
-    RunFunction(my_context, my_AtkEventListener_fct_##A, 1, a); \
+    RunFunctionFmt(my_AtkEventListener_fct_##A, "p", a);            \
 }
 SUPER()
 #undef GO
@@ -88,7 +88,7 @@ static void* find_AtkEventListener_Fct(void* fct)
 static uintptr_t my_AtkKeySnoopFunc_fct_##A = 0;                                \
 static int my_AtkKeySnoopFunc_##A(void* a, void* b)                             \
 {                                                                               \
-    return (int)RunFunction(my_context, my_AtkKeySnoopFunc_fct_##A, 2, a, b);   \
+    return (int)RunFunctionFmt(my_AtkKeySnoopFunc_fct_##A, "pp", a, b);             \
 }
 SUPER()
 #undef GO
@@ -110,7 +110,7 @@ static void* find_AtkKeySnoopFunc_Fct(void* fct)
 static uintptr_t my_GSignalEmissionHook_fct_##A = 0;                                    \
 static int my_GSignalEmissionHook_##A(void* a, uint32_t b, void* c, void* d)            \
 {                                                                                       \
-    return (int)RunFunction(my_context, my_GSignalEmissionHook_fct_##A, 4, a, b, c, d); \
+    return (int)RunFunctionFmt(my_GSignalEmissionHook_fct_##A, "pupp", a, b, c, d);             \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedatomic_private.h b/src/wrapped/wrappedatomic_private.h
index 2f8bb767..f98dea62 100644
--- a/src/wrapped/wrappedatomic_private.h
+++ b/src/wrapped/wrappedatomic_private.h
@@ -77,7 +77,7 @@ GO(__atomic_load, vFppi)
 //GO(__atomic_or_fetch_4, 
 //GO(__atomic_or_fetch_8, 
 //GO(atomic_signal_fence, 
-//GO(__atomic_store, 
+GO(__atomic_store, vFppi)
 //GO(__atomic_store_1, 
 //GO(__atomic_store_16, 
 //GO(__atomic_store_2, 
diff --git a/src/wrapped/wrappedatspi.c b/src/wrapped/wrappedatspi.c
index dcf9aa1f..ee1bd0d5 100644
--- a/src/wrapped/wrappedatspi.c
+++ b/src/wrapped/wrappedatspi.c
@@ -40,7 +40,7 @@ GO(4)
 static uintptr_t my_GDestroyNotify_fct_##A = 0;                 \
 static void my_GDestroyNotify_##A(void* a)                      \
 {                                                               \
-    RunFunction(my_context, my_GDestroyNotify_fct_##A, 1, a);   \
+    RunFunctionFmt(my_GDestroyNotify_fct_##A, "p", a);    \
 }
 SUPER()
 #undef GO
@@ -62,7 +62,7 @@ static void* find_GDestroyNotify_Fct(void* fct)
 static uintptr_t my_AtspiEventListenerCB_fct_##A = 0;                   \
 static void my_AtspiEventListenerCB_##A(void* a, void* b)               \
 {                                                                       \
-    RunFunction(my_context, my_AtspiEventListenerCB_fct_##A, 2, a, b);  \
+    RunFunctionFmt(my_AtspiEventListenerCB_fct_##A, "pp", a, b);  \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedbz2.c b/src/wrapped/wrappedbz2.c
index e3ff920e..85033983 100644
--- a/src/wrapped/wrappedbz2.c
+++ b/src/wrapped/wrappedbz2.c
@@ -37,7 +37,7 @@ GO(4)
 static uintptr_t my_alloc_fct_##A = 0;                                          \
 static void* my_alloc_##A(void* opaque, int m, int n)                           \
 {                                                                               \
-    return (void*)RunFunction(my_context, my_alloc_fct_##A, 3, opaque, m, n);   \
+    return (void*)RunFunctionFmt(my_alloc_fct_##A, "pii", opaque, m, n);  \
 }
 SUPER()
 #undef GO
@@ -69,7 +69,7 @@ static void* reverse_alloc_Fct(void* fct)
 static uintptr_t my_free_fct_##A = 0;                       \
 static void my_free_##A(void* opaque, void* p)              \
 {                                                           \
-    RunFunction(my_context, my_free_fct_##A, 2, opaque, p); \
+    RunFunctionFmt(my_free_fct_##A, "pp", opaque, p); \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedcap.c b/src/wrapped/wrappedcap.c
new file mode 100644
index 00000000..a7a3686d
--- /dev/null
+++ b/src/wrapped/wrappedcap.c
@@ -0,0 +1,18 @@
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+
+const char* capName = "libcap.so.2";
+#define LIBNAME cap
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedcap_private.h b/src/wrapped/wrappedcap_private.h
new file mode 100644
index 00000000..c523ad64
--- /dev/null
+++ b/src/wrapped/wrappedcap_private.h
@@ -0,0 +1,62 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh....
+#endif
+
+//GO(cap_clear, 
+//GO(cap_clear_flag, 
+//GO(cap_compare, 
+//GO(cap_copy_ext, 
+//GO(cap_copy_int, 
+//GO(cap_drop_bound, 
+//GO(cap_dup, 
+//GO(cap_free, 
+//GO(cap_from_name, 
+//GO(cap_from_text, 
+//GO(cap_get_ambient, 
+//GO(cap_get_bound, 
+//GO(cap_get_fd, 
+//GO(cap_get_file, 
+//GO(cap_get_flag, 
+//GO(cap_get_mode, 
+//GO(cap_get_nsowner, 
+//GO(capgetp, 
+//GO(cap_get_pid, 
+//GO(cap_get_proc, 
+//GO(cap_get_secbits, 
+//GO(cap_iab_fill, 
+//GO(cap_iab_from_text, 
+//GO(cap_iab_get_proc, 
+//GO(cap_iab_get_vector, 
+//GO(cap_iab_init, 
+//GO(cap_iab_set_proc, 
+//GO(cap_iab_set_vector, 
+//GO(cap_iab_to_text, 
+//GO(cap_init, 
+//GO(cap_launch, 
+//GO(cap_launcher_callback, 
+//GO(cap_launcher_set_chroot, 
+//GO(cap_launcher_setgroups, 
+//GO(cap_launcher_set_iab, 
+//GO(cap_launcher_set_mode, 
+//GO(cap_launcher_setuid, 
+//GO(cap_max_bits, 
+//GO(cap_mode_name, 
+//GO(cap_new_launcher, 
+//GO(cap_reset_ambient, 
+//GO(cap_set_ambient, 
+//GO(cap_set_fd, 
+//GO(cap_set_file, 
+//GO(cap_set_flag, 
+//GO(cap_setgroups, 
+//GO(cap_set_mode, 
+//GO(cap_set_nsowner, 
+//GO(capsetp, 
+//GO(cap_set_proc, 
+//GO(cap_set_secbits, 
+//GO(cap_set_syscall, 
+//GO(cap_setuid, 
+//GO(cap_size, 
+//GO(cap_to_name, 
+//GO(cap_to_text, 
+//GO(_libcap_strdup, 
+//GOW(psx_load_syscalls, 
diff --git a/src/wrapped/wrappedcrypto.c b/src/wrapped/wrappedcrypto.c
index 21941bbf..d768555d 100644
--- a/src/wrapped/wrappedcrypto.c
+++ b/src/wrapped/wrappedcrypto.c
@@ -35,12 +35,180 @@ GO(2)   \
 GO(3)   \
 GO(4)
 
+// BIO_meth_set_write
+#define GO(A)   \
+static uintptr_t my_BIO_meth_set_write_fct_##A = 0;             \
+static int my_BIO_meth_set_write_##A(void* a, void* b, int c)   \
+{                                                               \
+    return (int)RunFunctionFmt(my_BIO_meth_set_write_fct_##A, "ppi", a, b, c);  \
+}
+SUPER()
+#undef GO
+static void* find_BIO_meth_set_write_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_BIO_meth_set_write_fct_##A == (uintptr_t)fct) return my_BIO_meth_set_write_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_BIO_meth_set_write_fct_##A == 0) {my_BIO_meth_set_write_fct_##A = (uintptr_t)fct; return my_BIO_meth_set_write_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto BIO_meth_set_write callback\n");
+    return NULL;
+}
+
+// BIO_meth_set_read
+#define GO(A)   \
+static uintptr_t my_BIO_meth_set_read_fct_##A = 0;          \
+static int my_BIO_meth_set_read_##A(void* a, void* b, int c)\
+{                                                           \
+    return (int)RunFunctionFmt(my_BIO_meth_set_read_fct_##A, "ppi", a, b, c);   \
+}
+SUPER()
+#undef GO
+static void* find_BIO_meth_set_read_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_BIO_meth_set_read_fct_##A == (uintptr_t)fct) return my_BIO_meth_set_read_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_BIO_meth_set_read_fct_##A == 0) {my_BIO_meth_set_read_fct_##A = (uintptr_t)fct; return my_BIO_meth_set_read_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto BIO_meth_set_read callback\n");
+    return NULL;
+}
+
+// BIO_meth_set_puts
+#define GO(A)   \
+static uintptr_t my_BIO_meth_set_puts_fct_##A = 0;      \
+static int my_BIO_meth_set_puts_##A(void* a, void* b)   \
+{                                                       \
+    return (int)RunFunctionFmt(my_BIO_meth_set_puts_fct_##A, "pp", a, b);   \
+}
+SUPER()
+#undef GO
+static void* find_BIO_meth_set_puts_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_BIO_meth_set_puts_fct_##A == (uintptr_t)fct) return my_BIO_meth_set_puts_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_BIO_meth_set_puts_fct_##A == 0) {my_BIO_meth_set_puts_fct_##A = (uintptr_t)fct; return my_BIO_meth_set_puts_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto BIO_meth_set_puts callback\n");
+    return NULL;
+}
+
+// BIO_meth_set_gets
+#define GO(A)   \
+static uintptr_t my_BIO_meth_set_gets_fct_##A = 0;          \
+static int my_BIO_meth_set_gets_##A(void* a, void* b, int c)\
+{                                                           \
+    return (int)RunFunctionFmt(my_BIO_meth_set_gets_fct_##A, "ppi", a, b, c);   \
+}
+SUPER()
+#undef GO
+static void* find_BIO_meth_set_gets_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_BIO_meth_set_gets_fct_##A == (uintptr_t)fct) return my_BIO_meth_set_gets_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_BIO_meth_set_gets_fct_##A == 0) {my_BIO_meth_set_gets_fct_##A = (uintptr_t)fct; return my_BIO_meth_set_gets_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto BIO_meth_set_gets callback\n");
+    return NULL;
+}
+
+// BIO_meth_set_ctrl
+#define GO(A)   \
+static uintptr_t my_BIO_meth_set_ctrl_fct_##A = 0;                      \
+static long my_BIO_meth_set_ctrl_##A(void* a, int b, long c, void* d)   \
+{                                                                       \
+    return (long)RunFunctionFmt(my_BIO_meth_set_ctrl_fct_##A, "pilp", a, b, c, d);  \
+}
+SUPER()
+#undef GO
+static void* find_BIO_meth_set_ctrl_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_BIO_meth_set_ctrl_fct_##A == (uintptr_t)fct) return my_BIO_meth_set_ctrl_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_BIO_meth_set_ctrl_fct_##A == 0) {my_BIO_meth_set_ctrl_fct_##A = (uintptr_t)fct; return my_BIO_meth_set_ctrl_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto BIO_meth_set_ctrl callback\n");
+    return NULL;
+}
+
+// BIO_meth_set_create
+#define GO(A)   \
+static uintptr_t my_BIO_meth_set_create_fct_##A = 0;\
+static int my_BIO_meth_set_create_##A(void* a)      \
+{                                                   \
+    return (int)RunFunctionFmt(my_BIO_meth_set_create_fct_##A, "p", a); \
+}
+SUPER()
+#undef GO
+static void* find_BIO_meth_set_create_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_BIO_meth_set_create_fct_##A == (uintptr_t)fct) return my_BIO_meth_set_create_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_BIO_meth_set_create_fct_##A == 0) {my_BIO_meth_set_create_fct_##A = (uintptr_t)fct; return my_BIO_meth_set_create_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto BIO_meth_set_create callback\n");
+    return NULL;
+}
+
+// BIO_meth_set_destroy
+#define GO(A)   \
+static uintptr_t my_BIO_meth_set_destroy_fct_##A = 0;   \
+static int my_BIO_meth_set_destroy_##A(void* a)         \
+{                                                       \
+    return (int)RunFunctionFmt(my_BIO_meth_set_destroy_fct_##A, "p", a);\
+}
+SUPER()
+#undef GO
+static void* find_BIO_meth_set_destroy_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_BIO_meth_set_destroy_fct_##A == (uintptr_t)fct) return my_BIO_meth_set_destroy_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_BIO_meth_set_destroy_fct_##A == 0) {my_BIO_meth_set_destroy_fct_##A = (uintptr_t)fct; return my_BIO_meth_set_destroy_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto BIO_meth_set_destroy callback\n");
+    return NULL;
+}
+
 // ENGINE_ctrl_cb
 #define GO(A)   \
-static uintptr_t my_ENGINE_ctrl_cb_fct_##A = 0;                                                      \
-static void my_ENGINE_ctrl_cb_##A()                    \
-{                                                                                                   \
-    RunFunction(my_context, my_ENGINE_ctrl_cb_fct_##A, 0);  \
+static uintptr_t my_ENGINE_ctrl_cb_fct_##A = 0; \
+static void my_ENGINE_ctrl_cb_##A()             \
+{                                               \
+    RunFunctionFmt(my_ENGINE_ctrl_cb_fct_##A, "");  \
 }
 SUPER()
 #undef GO
@@ -64,7 +232,7 @@ static void* find_ENGINE_ctrl_cb_Fct(void* fct)
 static uintptr_t my_cmp_fnc_fct_##A = 0;                                \
 static int my_cmp_fnc_##A(void* a, void* b)                             \
 {                                                                       \
-    return (int)RunFunction(my_context, my_cmp_fnc_fct_##A, 2, a, b);   \
+    return (int)RunFunctionFmt(my_cmp_fnc_fct_##A, "pp", a, b);   \
 }
 SUPER()
 #undef GO
@@ -88,7 +256,7 @@ static void* find_cmp_fnc_Fct(void* fct)
 static uintptr_t my_free_fnc_fct_##A = 0;               \
 static void my_free_fnc_##A(void* p)                    \
 {                                                       \
-    RunFunction(my_context, my_free_fnc_fct_##A, 1, p); \
+    RunFunctionFmt(my_free_fnc_fct_##A, "p", p); \
 }
 SUPER()
 #undef GO
@@ -112,7 +280,7 @@ static void* find_free_fnc_Fct(void* fct)
 static uintptr_t my_id_func_fct_##A = 0;                                    \
 static unsigned long my_id_func_##A()                                       \
 {                                                                           \
-    return (unsigned long)RunFunction(my_context, my_id_func_fct_##A, 0);   \
+    return (unsigned long)RunFunctionFmt(my_id_func_fct_##A, "");   \
 }
 SUPER()
 #undef GO
@@ -136,7 +304,7 @@ static void* find_id_func_Fct(void* fct)
 static uintptr_t my_lock_func_fct_##A = 0;                              \
 static void my_lock_func_##A(int mode, int n, void* f, int l)           \
 {                                                                       \
-    RunFunction(my_context, my_lock_func_fct_##A, 4, mode, n, f, l);    \
+    RunFunctionFmt(my_lock_func_fct_##A, "iipi", mode, n, f, l);    \
 }
 SUPER()
 #undef GO
@@ -160,7 +328,7 @@ static void* find_lock_func_Fct(void* fct)
 static uintptr_t my_passphrase_fct_##A = 0;                                             \
 static int my_passphrase_##A(void* buff, int size, int rw, void* u)                     \
 {                                                                                       \
-    return (int)RunFunction(my_context, my_passphrase_fct_##A, 4, buff, size, rw, u);   \
+    return (int)RunFunctionFmt(my_passphrase_fct_##A, "piip", buff, size, rw, u);   \
 }
 SUPER()
 #undef GO
@@ -184,7 +352,7 @@ static void* find_passphrase_Fct(void* fct)
 static uintptr_t my_xnew_fct_##A = 0;                           \
 static void* my_xnew_##A()                                      \
 {                                                               \
-    return (void*)RunFunction(my_context, my_xnew_fct_##A, 0);  \
+    return (void*)RunFunctionFmt(my_xnew_fct_##A, "");  \
 }
 SUPER()
 #undef GO
@@ -208,7 +376,7 @@ static void* find_xnew_Fct(void* fct)
 static uintptr_t my_d2i_fct_##A = 0;                            \
 static void* my_d2i_##A()                                       \
 {                                                               \
-    return (void*)RunFunction(my_context, my_d2i_fct_##A, 0);   \
+    return (void*)RunFunctionFmt(my_d2i_fct_##A, "");   \
 }
 SUPER()
 #undef GO
@@ -232,7 +400,7 @@ static void* find_d2i_Fct(void* fct)
 static uintptr_t my_i2d_fct_##A = 0;                        \
 static int my_i2d_##A()                                     \
 {                                                           \
-    return (int)RunFunction(my_context, my_i2d_fct_##A, 0); \
+    return (int)RunFunctionFmt(my_i2d_fct_##A, ""); \
 }
 SUPER()
 #undef GO
@@ -256,7 +424,7 @@ static void* find_i2d_Fct(void* fct)
 static uintptr_t my_pem_password_cb_fct_##A = 0;                                    \
 static int my_pem_password_cb_##A(void* a, int b, int c, void* d)                   \
 {                                                                                   \
-    return (int)RunFunction(my_context, my_pem_password_cb_fct_##A, 4, a, b, c, d); \
+    return (int)RunFunctionFmt(my_pem_password_cb_fct_##A, "piip", a, b, c, d); \
 }
 SUPER()
 #undef GO
@@ -275,12 +443,37 @@ static void* find_pem_password_cb_Fct(void* fct)
     return NULL;
 }
 
+// ctx_verify_cb
+#define GO(A)   \
+static uintptr_t my_ctx_verify_cb_fct_##A = 0;                          \
+static int my_ctx_verify_cb_##A(int a, void* b)                         \
+{                                                                       \
+    return (int)RunFunctionFmt(my_ctx_verify_cb_fct_##A, "ip", a, b);   \
+}
+SUPER()
+#undef GO
+static void* find_ctx_verify_cb_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_ctx_verify_cb_fct_##A == (uintptr_t)fct) return my_ctx_verify_cb_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_ctx_verify_cb_fct_##A == 0) {my_ctx_verify_cb_fct_##A = (uintptr_t)fct; return my_ctx_verify_cb_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto ctx_verify_cb callback\n");
+    return NULL;
+}
+
+
 // verify_cb
 #define GO(A)   \
 static uintptr_t my_verify_cb_fct_##A = 0;                              \
 static int my_verify_cb_##A(int a, void* b)                             \
 {                                                                       \
-    return (int)RunFunction(my_context, my_verify_cb_fct_##A, 2, a, b); \
+    return (int)RunFunctionFmt(my_verify_cb_fct_##A, "ip", a, b); \
 }
 SUPER()
 #undef GO
@@ -301,6 +494,42 @@ static void* find_verify_cb_Fct(void* fct)
 
 #undef SUPER
 
+EXPORT int32_t my_BIO_meth_set_write(x64emu_t* emu, void* biom, void* cb)
+{
+    (void)emu;
+    return my->BIO_meth_set_write(biom, find_BIO_meth_set_write_Fct(cb));
+}
+EXPORT int32_t my_BIO_meth_set_read(x64emu_t* emu, void* biom, void* cb)
+{
+    (void)emu;
+    return my->BIO_meth_set_read(biom, find_BIO_meth_set_read_Fct(cb));
+}
+EXPORT int32_t my_BIO_meth_set_puts(x64emu_t* emu, void* biom, void* cb)
+{
+    (void)emu;
+    return my->BIO_meth_set_puts(biom, find_BIO_meth_set_puts_Fct(cb));
+}
+EXPORT int32_t my_BIO_meth_set_gets(x64emu_t* emu, void* biom, void* cb)
+{
+    (void)emu;
+    return my->BIO_meth_set_gets(biom, find_BIO_meth_set_gets_Fct(cb));
+}
+EXPORT int32_t my_BIO_meth_set_ctrl(x64emu_t* emu, void* biom, void* cb)
+{
+    (void)emu;
+    return my->BIO_meth_set_ctrl(biom, find_BIO_meth_set_ctrl_Fct(cb));
+}
+EXPORT int32_t my_BIO_meth_set_create(x64emu_t* emu, void* biom, void* cb)
+{
+    (void)emu;
+    return my->BIO_meth_set_create(biom, find_BIO_meth_set_create_Fct(cb));
+}
+EXPORT int32_t my_BIO_meth_set_destroy(x64emu_t* emu, void* biom, void* cb)
+{
+    (void)emu;
+    return my->BIO_meth_set_destroy(biom, find_BIO_meth_set_destroy_Fct(cb));
+}
+
 EXPORT int32_t my_ENGINE_ctrl(x64emu_t* emu, void* e, int32_t cmd, int32_t i, void* p, void* f)
 {
     (void)emu;
@@ -373,6 +602,13 @@ EXPORT int my_PEM_write_bio_RSAPrivateKey(x64emu_t* emu, void* bp, void* x, void
     return my->PEM_write_bio_RSAPrivateKey(bp, x, e, str, len, find_passphrase_Fct(cb), u);
 }
 
+
+EXPORT int my_PEM_write_bio_PrivateKey(x64emu_t* emu, void* bp, void* x, void* e, void* str, int len, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_write_bio_PrivateKey(bp, x, e, str, len, find_passphrase_Fct(cb), u);
+}
+
 EXPORT int my_PEM_write_bio_ECPrivateKey(x64emu_t* emu, void* bp, void* x, void* e, void* str, int len, void* cb, void* u)
 {
     (void)emu;
@@ -409,6 +645,25 @@ EXPORT void* my_PEM_read_bio_PKCS7(x64emu_t* emu, void* bp, void* x, void* cb, v
     return my->PEM_read_bio_PKCS7(bp, x, find_pem_password_cb_Fct(cb), u);
 }
 
+EXPORT void* my_PEM_read_bio_PrivateKey(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_read_bio_PrivateKey(bp, x, find_pem_password_cb_Fct(cb), u);
+}
+
+
+EXPORT void* my_PEM_read_bio_PUBKEY(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_read_bio_PUBKEY(bp, x, find_pem_password_cb_Fct(cb), u);
+}
+
+EXPORT void* my_PEM_read_bio_DHparams(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_read_bio_DHparams(bp, x, find_pem_password_cb_Fct(cb), u);
+}
+
 EXPORT void* my_PEM_read_bio_X509(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
 {
     (void)emu;
@@ -442,7 +697,14 @@ EXPORT void* my_PEM_read_bio_X509_CERT_PAIR(x64emu_t* emu, void* bp, void* x, vo
 EXPORT void my_X509_STORE_CTX_set_verify_cb(x64emu_t* emu, void* ctx, void* cb)
 {
     (void)emu;
-    my->X509_STORE_CTX_set_verify_cb(ctx, find_verify_cb_Fct(cb));
+    my->X509_STORE_CTX_set_verify_cb(ctx, find_ctx_verify_cb_Fct(cb));
+}
+
+
+EXPORT void my_X509_STORE_set_verify_cb(x64emu_t* emu, void* ctx, void* cb)
+{
+    (void)emu;
+    my->X509_STORE_set_verify_cb(ctx, find_verify_cb_Fct(cb));
 }
 
 EXPORT void my_OPENSSL_sk_pop_free(x64emu_t* emu, void* s, void* cb)
diff --git a/src/wrapped/wrappedcrypto3.c b/src/wrapped/wrappedcrypto3.c
index 442237a1..a6317af8 100644
--- a/src/wrapped/wrappedcrypto3.c
+++ b/src/wrapped/wrappedcrypto3.c
@@ -17,6 +17,7 @@
 #include "box64context.h"
 #include "emu/x64emu_private.h"
 #include "callback.h"
+#include "myalign.h"
 
 const char* crypto3Name = "libcrypto.so.3";
 #define LIBNAME crypto3
@@ -35,10 +36,10 @@ GO(4)
 
 // ENGINE_ctrl_cb
 #define GO(A)   \
-static uintptr_t my3_ENGINE_ctrl_cb_fct_##A = 0;                                                      \
-static void my3_ENGINE_ctrl_cb_##A()                    \
-{                                                                                                   \
-    RunFunction(my_context, my3_ENGINE_ctrl_cb_fct_##A, 0);  \
+static uintptr_t my3_ENGINE_ctrl_cb_fct_##A = 0;            \
+static void my3_ENGINE_ctrl_cb_##A()                        \
+{                                                           \
+    RunFunctionFmt(my3_ENGINE_ctrl_cb_fct_##A, "");   \
 }
 SUPER()
 #undef GO
@@ -61,8 +62,8 @@ static void* find_ENGINE_ctrl_cb_Fct(void* fct)
 #define GO(A)   \
 static uintptr_t my3_cmp_fnc_fct_##A = 0;                                \
 static int my3_cmp_fnc_##A(void* a, void* b)                             \
-{                                                                       \
-    return (int)RunFunction(my_context, my3_cmp_fnc_fct_##A, 2, a, b);   \
+{                                                                        \
+    return (int)RunFunctionFmt(my3_cmp_fnc_fct_##A, "pp", a, b);   \
 }
 SUPER()
 #undef GO
@@ -86,7 +87,7 @@ static void* find_cmp_fnc_Fct(void* fct)
 static uintptr_t my3_free_fnc_fct_##A = 0;               \
 static void my3_free_fnc_##A(void* p)                    \
 {                                                       \
-    RunFunction(my_context, my3_free_fnc_fct_##A, 1, p); \
+    RunFunctionFmt(my3_free_fnc_fct_##A, "p", p); \
 }
 SUPER()
 #undef GO
@@ -110,7 +111,7 @@ static void* find_free_fnc_Fct(void* fct)
 static uintptr_t my3_id_func_fct_##A = 0;                                    \
 static unsigned long my3_id_func_##A()                                       \
 {                                                                           \
-    return (unsigned long)RunFunction(my_context, my3_id_func_fct_##A, 0);   \
+    return (unsigned long)RunFunctionFmt(my3_id_func_fct_##A, "");   \
 }
 SUPER()
 #undef GO
@@ -134,7 +135,7 @@ static void* find_id_func_Fct(void* fct)
 static uintptr_t my3_lock_func_fct_##A = 0;                              \
 static void my3_lock_func_##A(int mode, int n, void* f, int l)           \
 {                                                                       \
-    RunFunction(my_context, my3_lock_func_fct_##A, 4, mode, n, f, l);    \
+    RunFunctionFmt(my3_lock_func_fct_##A, "iipi", mode, n, f, l);    \
 }
 SUPER()
 #undef GO
@@ -158,7 +159,7 @@ static void* find_lock_func_Fct(void* fct)
 static uintptr_t my3_passphrase_fct_##A = 0;                                             \
 static int my3_passphrase_##A(void* buff, int size, int rw, void* u)                     \
 {                                                                                       \
-    return (int)RunFunction(my_context, my3_passphrase_fct_##A, 4, buff, size, rw, u);   \
+    return (int)RunFunctionFmt(my3_passphrase_fct_##A, "piip", buff, size, rw, u);   \
 }
 SUPER()
 #undef GO
@@ -182,7 +183,7 @@ static void* find_passphrase_Fct(void* fct)
 static uintptr_t my3_xnew_fct_##A = 0;                           \
 static void* my3_xnew_##A()                                      \
 {                                                               \
-    return (void*)RunFunction(my_context, my3_xnew_fct_##A, 0);  \
+    return (void*)RunFunctionFmt(my3_xnew_fct_##A, "");  \
 }
 SUPER()
 #undef GO
@@ -206,7 +207,7 @@ static void* find_xnew_Fct(void* fct)
 static uintptr_t my3_d2i_fct_##A = 0;                            \
 static void* my3_d2i_##A()                                       \
 {                                                               \
-    return (void*)RunFunction(my_context, my3_d2i_fct_##A, 0);   \
+    return (void*)RunFunctionFmt(my3_d2i_fct_##A, "");   \
 }
 SUPER()
 #undef GO
@@ -230,7 +231,7 @@ static void* find_d2i_Fct(void* fct)
 static uintptr_t my3_i2d_fct_##A = 0;                        \
 static int my3_i2d_##A()                                     \
 {                                                           \
-    return (int)RunFunction(my_context, my3_i2d_fct_##A, 0); \
+    return (int)RunFunctionFmt(my3_i2d_fct_##A, ""); \
 }
 SUPER()
 #undef GO
@@ -254,7 +255,7 @@ static void* find_i2d_Fct(void* fct)
 static uintptr_t my3_pem_password_cb_fct_##A = 0;                                    \
 static int my3_pem_password_cb_##A(void* a, int b, int c, void* d)                   \
 {                                                                                   \
-    return (int)RunFunction(my_context, my3_pem_password_cb_fct_##A, 4, a, b, c, d); \
+    return (int)RunFunctionFmt(my3_pem_password_cb_fct_##A, "piip", a, b, c, d); \
 }
 SUPER()
 #undef GO
@@ -275,10 +276,10 @@ static void* find_pem_password_cb_Fct(void* fct)
 
 // verify_cb
 #define GO(A)   \
-static uintptr_t my3_verify_cb_fct_##A = 0;                              \
-static int my3_verify_cb_##A(int a, void* b)                             \
-{                                                                       \
-    return (int)RunFunction(my_context, my3_verify_cb_fct_##A, 2, a, b); \
+static uintptr_t my3_verify_cb_fct_##A = 0;                                     \
+static int my3_verify_cb_##A(int a, void* b)                                    \
+{                                                                               \
+    return (int)RunFunctionFmt(my3_verify_cb_fct_##A, "ip", a, b);  \
 }
 SUPER()
 #undef GO
@@ -437,6 +438,24 @@ EXPORT void my3_OPENSSL_sk_pop_free(x64emu_t* emu, void* s, void* cb)
     my->OPENSSL_sk_pop_free(s, find_free_fnc_Fct(cb));
 }
 
+EXPORT void my3_ERR_set_error(x64emu_t* emu, int lib, int reason, void* fmt, uintptr_t* b)
+{
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 3);
+    PREPARE_VALIST;
+    my->ERR_vset_error(lib, reason, fmt, VARARGS);
+}
+EXPORT void my3_ERR_vset_error(x64emu_t* emu, int lib, int reason, void* fmt, x64_va_list_t b)
+{
+    #ifdef CONVERT_VALIST
+    CONVERT_VALIST(b);
+    #else
+    myStackAlignValist(emu, (const char*)fmt, emu->scratch, b);
+    PREPARE_VALIST;
+    #endif
+    my->ERR_vset_error(lib, reason, fmt, VARARGS);
+}
+
+
 #define CUSTOM_INIT \
     SETALT(my3_);   \
     getMy(lib);
diff --git a/src/wrapped/wrappedcrypto3_private.h b/src/wrapped/wrappedcrypto3_private.h
index 3e2db7cc..40a0c185 100644
--- a/src/wrapped/wrappedcrypto3_private.h
+++ b/src/wrapped/wrappedcrypto3_private.h
@@ -369,6 +369,7 @@ GO(BIO_sock_init, iFv)
 //GO(BIO_s_socket, 
 GO(BIO_tell, iFp)
 GO(BIO_test_flags, iFpi)
+GO(BIO_up_ref, iFp)
 GO(BIO_vfree, vFp)
 //GO(BIO_vprintf, 
 //GO(BIO_vsnprintf, 
@@ -1191,13 +1192,18 @@ GO(DSA_free, vFp)
 GO(DSA_generate_key, iFp)
 //GO(DSA_generate_parameters, 
 GO(DSA_generate_parameters_ex, iFpipippp)
+GO(DSA_get0_key, vFppp)
+GO(DSA_get0_pqg, vFpppp)
 //GO(DSA_get_default_method, 
 //GO(DSA_get_ex_data, 
 //GO(DSA_get_ex_new_index, 
+GO(DSA_get_method, pFp)
 GO(DSA_new, pFv)
 //GO(DSA_new_method, 
 GO(DSA_OpenSSL, pFv)
 //GO(dsa_paramgen_check_g, 
+GO(DSA_set0_key, iFppp)
+GO(DSA_set0_pqg, iFppp)
 //GO(DSAparams_dup, 
 //GO(DSAparams_print, 
 //GO(DSAparams_print_fp, 
@@ -1690,6 +1696,7 @@ GO(ERR_load_PKCS7_strings, vFv)
 //GO(ERR_load_UI_strings, 
 //GO(ERR_load_X509_strings, 
 //GO(ERR_load_X509V3_strings, 
+GO(ERR_new, vFv)
 GO(ERR_peek_error, LFv)
 GO(ERR_peek_error_line, LFpp)
 GO(ERR_peek_error_line_data, LFpppp)
@@ -1705,6 +1712,9 @@ GO(ERR_reason_error_string, pFu)
 //GO(ERR_release_err_state_table, 
 //GO(ERR_remove_state, 
 GO(ERR_remove_thread_state, vFp)
+GO(ERR_set_debug, vFpip)
+GOM(ERR_set_error, vFEiipV)
+GOM(ERR_vset_error, vFEiipA)
 //GO(ERR_set_error_data, 
 //GO(ERR_set_implementation, 
 //GO(ERR_set_mark, 
@@ -1789,6 +1799,8 @@ GO(EVP_aes_256_gcm, pFv)
 //GO(EVP_cast5_cfb64, 
 //GO(EVP_cast5_ecb, 
 //GO(EVP_cast5_ofb, 
+GO(EVP_chacha20, pFv)
+GO(EVP_chacha20_poly1305, pFv)
 //GO(EVP_Cipher, 
 GO(EVP_CIPHER_asn1_to_param, iFpp)
 //GO(EVP_CIPHER_block_size, 
@@ -1801,12 +1813,15 @@ GO(EVP_CIPHER_CTX_ctrl, iFpiip)
 //GO(EVP_CIPHER_CTX_flags, 
 GO(EVP_CIPHER_CTX_free, vFp)
 //GO(EVP_CIPHER_CTX_get_app_data, 
+GO(EVP_CIPHER_CTX_get_original_iv, iFppL)
+GO(EVP_CIPHER_CTX_get_updated_iv, iFppL)
 GO(EVP_CIPHER_CTX_init, vFp)
 //GO(EVP_CIPHER_CTX_iv_length, 
 //GO(EVP_CIPHER_CTX_key_length, 
 GO(EVP_CIPHER_CTX_new, pFv)
 //GO(EVP_CIPHER_CTX_nid, 
 //GO(EVP_CIPHER_CTX_rand_key, 
+GO(EVP_CIPHER_CTX_reset, iFp)
 //GO(EVP_CIPHER_CTX_set_app_data, 
 //GO(EVP_CIPHER_CTX_set_flags, 
 GO(EVP_CIPHER_CTX_set_key_length, iFpi)
@@ -1912,9 +1927,9 @@ GO(EVP_MD_CTX_set_flags, vFpi)
 //GO(EVP_MD_do_all, 
 //GO(EVP_MD_do_all_sorted, 
 //GO(EVP_MD_flags, 
+GO(EVP_MD_get_size, iFp)
 GO(EVP_md_null, pFv)
 GO(EVP_MD_pkey_type, iFp)
-GO(EVP_MD_size, iFp)
 GO(EVP_MD_type, iFp)
 //GO(EVP_OpenFinal, 
 //GO(EVP_OpenInit, 
@@ -1923,8 +1938,9 @@ GO(EVP_MD_type, iFp)
 //GO(EVP_PBE_CipherInit, 
 //GO(EVP_PBE_cleanup, 
 //GO(EVP_PBE_find, 
-//GO(EVP_PKCS82PKEY, 
-//GO(EVP_PKEY2PKCS8, 
+GO(EVP_PKCS82PKEY, pFp)
+GO(EVP_PKCS82PKEY_ex, pFppp)
+GO(EVP_PKEY2PKCS8, pFp)
 //GO(EVP_PKEY2PKCS8_broken, 
 //GO(EVP_PKEY_add1_attr, 
 //GO(EVP_PKEY_add1_attr_by_NID, 
@@ -1956,8 +1972,8 @@ GO(EVP_PKEY_CTX_ctrl, iFpiiiip)
 GO(EVP_PKEY_CTX_ctrl_str, iFppp)
 GO(EVP_PKEY_CTX_dup, pFp)
 GO(EVP_PKEY_CTX_free, vFp)
-//GO(EVP_PKEY_CTX_get0_peerkey, 
-//GO(EVP_PKEY_CTX_get0_pkey, 
+GO(EVP_PKEY_CTX_get0_peerkey, pFp)
+GO(EVP_PKEY_CTX_get0_pkey, pFp)
 GO(EVP_PKEY_CTX_get_app_data, pFp)
 //GO(EVP_PKEY_CTX_get_cb, 
 //GO(EVP_PKEY_CTX_get_data, 
@@ -1969,19 +1985,26 @@ GO(EVP_PKEY_CTX_new_id, pFip)
 GO(EVP_PKEY_CTX_set_app_data, vFpp)
 //GO(EVP_PKEY_CTX_set_cb, 
 //GO(EVP_PKEY_CTX_set_data, 
-//GO(EVP_PKEY_decrypt, 
-//GO(EVP_PKEY_decrypt_init, 
+GO(EVP_PKEY_CTX_set_rsa_keygen_bits, iFpi)
+GO(EVP_PKEY_CTX_set_rsa_oaep_md, iFpp)
+GO(EVP_PKEY_CTX_set_rsa_padding, iFpi)
+GO(EVP_PKEY_CTX_set_rsa_pss_saltlen, iFpi)
+GO(EVP_PKEY_CTX_set_signature_md, iFpp)
+GO(EVP_PKEY_check, iFp)
+GO(EVP_PKEY_decrypt, iFppppL)
+GO(EVP_PKEY_decrypt_init, iFp)
 //GO(EVP_PKEY_decrypt_old, 
 //GO(EVP_PKEY_delete_attr, 
 GO(EVP_PKEY_derive, iFppp)
 GO(EVP_PKEY_derive_init, iFp)
 GO(EVP_PKEY_derive_set_peer, iFppi)
-//GO(EVP_PKEY_encrypt, 
-//GO(EVP_PKEY_encrypt_init, 
+GO(EVP_PKEY_encrypt, iFppppL)
+GO(EVP_PKEY_encrypt_init, iFp)
 //GO(EVP_PKEY_encrypt_old, 
 GO(EVP_PKEY_free, vFp)
 //GO(EVP_PKEY_get0, 
 //GO(EVP_PKEY_get0_asn1, 
+GO(EVP_PKEY_get0_RSA, pFp)
 //GO(EVP_PKEY_get1_DH, 
 GO(EVP_PKEY_get1_DSA, pFp)
 GO(EVP_PKEY_get1_EC_KEY, pFp)
@@ -1990,7 +2013,9 @@ GO(EVP_PKEY_get1_RSA, pFp)
 //GO(EVP_PKEY_get_attr_by_NID, 
 //GO(EVP_PKEY_get_attr_by_OBJ, 
 //GO(EVP_PKEY_get_attr_count, 
+GO(EVP_PKEY_get_base_id, iFp)
 //GO(EVP_PKEY_get_default_digest_nid, 
+GO(EVP_PKEY_get_size, iFp)
 //GO(EVP_PKEY_id, 
 GO(EVP_PKEY_keygen, iFpp)
 GO(EVP_PKEY_keygen_init, iFp)
@@ -2022,6 +2047,7 @@ GO(EVP_PKEY_paramgen_init, iFp)
 //GO(EVP_PKEY_print_params, 
 //GO(EVP_PKEY_print_private, 
 //GO(EVP_PKEY_print_public, 
+GO(EVP_PKEY_public_check, iFp)
 //GO(EVP_PKEY_save_parameters, 
 //GO(EVP_PKEY_set1_DH, 
 GO(EVP_PKEY_set1_DSA, iFpp)
@@ -2110,7 +2136,9 @@ GO(GENERAL_SUBTREE_new, pFv)
 GO(HMAC, pFppipLpp)
 GO(HMAC_CTX_cleanup, vFp)
 GO(HMAC_CTX_copy, iFpp)
+GO(HMAC_CTX_free, vFp)
 GO(HMAC_CTX_init, vFp)
+GO(HMAC_CTX_new, pFv)
 GO(HMAC_CTX_set_flags, vFpL)
 GO(HMAC_Final, iFppp)
 GO(HMAC_Init, iFppip)
@@ -2639,6 +2667,7 @@ GO(OPENSSL_strcasecmp, iFpp)
 GO(OPENSSL_strncasecmp, iFppL)
 //GO(OPENSSL_uni2asc, 
 //GO(OPENSSL_wipe_cpu, 
+GO(OpenSSL_version_num, LFv)
 //GO(_ossl_096_des_random_seed, 
 //GO(_ossl_old_crypt, 
 //GO(_ossl_old_des_cbc_cksum, 
@@ -2677,6 +2706,7 @@ GO(OPENSSL_strncasecmp, iFppL)
 //GO(_ossl_old_des_string_to_2keys, 
 //GO(_ossl_old_des_string_to_key, 
 //GO(_ossl_old_des_xcbc_encrypt, 
+GO(OSSL_PROVIDER_try_load, pFppi)
 //GO(OTHERNAME_cmp, 
 //GO(OTHERNAME_free, 
 //GO(OTHERNAME_new, 
@@ -2867,8 +2897,8 @@ GO(PKCS12_PBE_keyivgen, iFppipppi)
 //GO(PKCS5_PBE_keyivgen, 
 //GO(PKCS5_pbe_set, 
 //GO(PKCS5_pbe_set0_algor, 
-//GO(PKCS5_PBKDF2_HMAC, 
-//GO(PKCS5_PBKDF2_HMAC_SHA1, 
+GO(PKCS5_PBKDF2_HMAC, iFpipiipip)
+GO(PKCS5_PBKDF2_HMAC_SHA1, iFpipiiip)
 //GO(PKCS5_pbkdf2_set, 
 //GO(PKCS5_v2_PBE_keyivgen, 
 //GO(PKCS5_v2_PBKDF2_keyivgen, 
@@ -2948,8 +2978,8 @@ GO(PKCS7_signatureVerify, iFpppp)
 //GO(PKCS8_encrypt, 
 //GO(PKCS8_pkey_get0, 
 //GO(PKCS8_pkey_set0, 
-//GO(PKCS8_PRIV_KEY_INFO_free, 
-//GO(PKCS8_PRIV_KEY_INFO_new, 
+GO(PKCS8_PRIV_KEY_INFO_free, vFp)
+GO(PKCS8_PRIV_KEY_INFO_new, pFv)
 //GO(PKCS8_set_broken, 
 //GO(PKEY_USAGE_PERIOD_free, 
 //GO(PKEY_USAGE_PERIOD_new, 
@@ -3028,11 +3058,15 @@ GO(RSA_check_key, iFp)
 GO(RSA_free, vFp)
 //GO(RSA_generate_key, 
 GO(RSA_generate_key_ex, iFpipp)
+GO(RSA_get0_crt_params, vFpppp)
+GO(RSA_get0_factors, vFppp)
+GO(RSA_get0_key, vFpppp)
 //GO(RSA_get_default_method, 
 //GO(RSA_get_ex_data, 
 //GO(RSA_get_ex_new_index, 
 GO(RSA_get_method, pFp)
 //GO(RSA_memory_lock, 
+GO(RSA_meth_get_flags, iFp)
 GO(RSA_new, pFv)
 GO(RSA_new_method, pFp)
 //GO(RSA_null_method, 
@@ -3056,6 +3090,7 @@ GO(RSA_new_method, pFp)
 //GO(RSA_padding_check_X931, 
 GO(RSA_PKCS1_OpenSSL, pFv)
 GO(RSA_PKCS1_SSLeay, pFv)
+GO(RSA_pkey_ctx_ctrl, iFpiiip)
 //GO(RSA_print, 
 //GO(RSA_print_fp, 
 GO(RSA_private_decrypt, iFipppi)
@@ -3066,6 +3101,9 @@ GO(RSA_private_encrypt, iFipppi)
 GO(RSA_public_decrypt, iFipppi)
 GO(RSA_public_encrypt, iFipppi)
 //GO(RSAPublicKey_dup, 
+GO(RSA_set0_crt_params, iFpppp)
+GO(RSA_set0_factors, iFppp)
+GO(RSA_set0_key, iFpppp)
 //GO(RSA_set_default_method, 
 //GO(RSA_set_ex_data, 
 GO(RSA_set_method, iFpp)
@@ -3073,6 +3111,7 @@ GO(RSA_set_method, iFpp)
 GO(RSA_sign, iFipuppp)
 GO(RSA_sign_ASN1_OCTET_STRING, iFipuppp)
 GO(RSA_size, iFp)
+GO(RSA_test_flags, iFpi)
 GO(RSA_up_ref, iFp)
 GO(RSA_verify, iFipupup)
 GO(RSA_verify_ASN1_OCTET_STRING, iFipupup)
@@ -3416,7 +3455,7 @@ GO(X509_add1_ext_i2d, iFpipiL)
 //GO(X509_check_akid, 
 //GO(X509_check_ca, 
 //GO(X509_check_email, 
-//GO(X509_check_host, 
+GO(X509_check_host, iFppLup)
 //GO(X509_check_ip, 
 //GO(X509_check_ip_asc, 
 GO(X509_check_issued, iFpp)
@@ -3440,6 +3479,7 @@ GO(X509_CRL_add1_ext_i2d, iFpipiL)
 GO(X509_CRL_free, vFp)
 //GO(X509_CRL_get0_by_cert, 
 //GO(X509_CRL_get0_by_serial, 
+GO(X509_CRL_get0_nextUpdate, pFp)
 //GO(X509_CRL_get_ext, 
 //GO(X509_CRL_get_ext_by_critical, 
 //GO(X509_CRL_get_ext_by_NID, 
@@ -3484,8 +3524,9 @@ GO(X509_EXTENSION_set_object, iFpp)
 //GO(X509_find_by_issuer_and_serial, 
 //GO(X509_find_by_subject, 
 GO(X509_free, vFp)
-//GO(X509_get0_pubkey_bitstr, 
+GO(X509_get0_pubkey_bitstr, pFp)
 //GO(X509_get0_signature, 
+GO(X509_get0_tbs_sigalg, pFp)
 //GO(X509_get1_email, 
 //GO(X509_get1_ocsp, 
 //GO(X509_get_default_cert_area, 
@@ -3505,12 +3546,15 @@ GO(X509_get_ext_d2i, pFpipp)
 GO(X509_get_issuer_name, pFp)
 GO(X509_get_pubkey, pFp)
 //GO(X509_get_pubkey_parameters, 
-GO(X509_get_serialNumber, pFp)
+GO(X509_get0_notAfter, pFp)
+GO(X509_get0_notBefore, pFp)
+GO(X509_get0_pubkey, pFp)
 GO(X509_get0_serialNumber, pFp)
+GO(X509_get_serialNumber, pFp)
 //GO(X509_get_signature_nid, 
 GO(X509_get_subject_name, pFp)
+GO(X509_get_version, lFp)
 GO(X509_get_X509_PUBKEY, pFp)
-GO(X509_get0_pubkey, pFp)
 //GO(X509_gmtime_adj, 
 //GO(X509_http_nbio, 
 //GO(X509_INFO_free, 
@@ -3556,6 +3600,7 @@ GO(X509_NAME_ENTRY_get_object, pFp)
 GO(X509_NAME_ENTRY_set_data, iFpipi)
 GO(X509_NAME_ENTRY_set_object, iFpp)
 GO(X509_NAME_free, vFp)
+GO(X509_NAME_get0_der, iFppp)
 GO(X509_NAME_get_entry, pFpi)
 GO(X509_NAME_get_index_by_NID, iFpii)
 GO(X509_NAME_get_index_by_OBJ, iFppi)
@@ -3663,6 +3708,8 @@ GO(X509_REVOKED_get_ext_d2i, pFpipp)
 //GO(X509_REVOKED_new, 
 //GO(X509_REVOKED_set_revocationDate, 
 //GO(X509_REVOKED_set_serialNumber, 
+GO(X509_set1_notAfter, iFpp)
+GO(X509_set1_notBefore, iFpp)
 //GO(X509_set_ex_data, 
 GO(X509_set_issuer_name, iFpp)
 //GO(X509_set_notAfter, 
@@ -3687,7 +3734,10 @@ GO(X509_STORE_CTX_free, vFp)
 GO(X509_STORE_CTX_get0_param, pFp)
 //GO(X509_STORE_CTX_get0_parent_ctx, 
 //GO(X509_STORE_CTX_get0_policy_tree, 
-//GO(X509_STORE_CTX_get0_store, 
+GO(X509_STORE_CTX_get0_cert, pFp)
+GO(X509_STORE_CTX_get0_chain, pFp)
+GO(X509_STORE_CTX_get0_store, pFp)
+GO(X509_STORE_CTX_get0_untrusted, pFp)
 GO(X509_STORE_CTX_get1_chain, pFp)
 GO(X509_STORE_CTX_get1_issuer, iFppp)
 GO(X509_STORE_CTX_get_chain, pFp)
@@ -3717,6 +3767,7 @@ GO(X509_STORE_CTX_set_purpose, iFpi)
 GOM(X509_STORE_CTX_set_verify_cb, vFEpp)
 //GO(X509_STORE_CTX_trusted_stack, 
 GO(X509_STORE_free, vFp)
+GO(X509_STORE_get0_param, pFp)
 //GO(X509_STORE_get1_certs, 
 //GO(X509_STORE_get1_crls, 
 //GO(X509_STORE_get_by_subject, 
@@ -3751,6 +3802,7 @@ GO(X509_subject_name_hash_old, LFp)
 //GO(X509_TRUST_get_trust, 
 //GO(X509_TRUST_set, 
 //GO(X509_TRUST_set_default, 
+GO(X509_up_ref, iFp)
 GO(X509V3_add1_i2d, iFpipiL)
 //GO(X509v3_add_ext, 
 //GO(X509V3_add_standard_extensions, 
diff --git a/src/wrapped/wrappedcrypto_private.h b/src/wrapped/wrappedcrypto_private.h
index 7c127fc8..ab3b3ba2 100644
--- a/src/wrapped/wrappedcrypto_private.h
+++ b/src/wrapped/wrappedcrypto_private.h
@@ -96,7 +96,7 @@ GOM(ASN1_i2d_bio, iFEppp)
 //GO(ASN1_i2d_fp, 
 //GO(ASN1_IA5STRING_free, 
 //GO(ASN1_IA5STRING_new, 
-//GO(ASN1_INTEGER_cmp, 
+GO(ASN1_INTEGER_cmp, iFpp)
 //GO(ASN1_INTEGER_dup, 
 GO(ASN1_INTEGER_free, vFp)
 GO(ASN1_INTEGER_get, lFp)
@@ -172,6 +172,7 @@ GO(ASN1_STRING_data, pFp)
 GO(ASN1_STRING_dup, pFp)
 GO(ASN1_STRING_free, vFp)
 //GO(ASN1_STRING_get_default_mask, 
+GO(ASN1_STRING_get0_data, pFp)
 GO(ASN1_STRING_length, iFp)
 //GO(ASN1_STRING_length_set, 
 //GO(ASN1_STRING_new, 
@@ -255,12 +256,14 @@ GO(BASIC_CONSTRAINTS_new, pFv)
 //GO(BF_options, 
 //GO(BF_set_key, 
 //GO(BIO_accept, 
+GO(BIO_ADDR_free, vFp)
+GO(BIO_ADDR_new, pFv)
 //GO(BIO_asn1_get_prefix, 
 //GO(BIO_asn1_get_suffix, 
 //GO(BIO_asn1_set_prefix, 
 //GO(BIO_asn1_set_suffix, 
 //GO(BIO_callback_ctrl, 
-//GO(BIO_clear_flags, 
+GO(BIO_clear_flags, vFpi)
 //GO(BIO_CONNECT_free, 
 //GO(BIO_CONNECT_new, 
 //GO(BIO_copy_next_retry, 
@@ -299,17 +302,28 @@ GO(BIO_free_all, vFp)
 //GO(BIO_get_callback, 
 //GO(BIO_get_callback_arg, 
 GO(BIO_get_close, iFp)
-//GO(BIO_get_ex_data, 
+GO(BIO_get_data, pFp)
+GO(BIO_get_ex_data, pFpi)
 //GO(BIO_get_ex_new_index, 
 //GO(BIO_gethostbyname, 
 //GO(BIO_get_host_ip, 
 //GO(BIO_get_port, 
 //GO(BIO_get_retry_BIO, 
 //GO(BIO_get_retry_reason, 
+GO(BIO_get_shutdown, iFp)
 GO(BIO_gets, iFppi)
 //GO(BIO_hex_string, 
 //GO(BIO_indent, 
 GO(BIO_int_ctrl, lFpili)
+GO(BIO_meth_free, vFp)
+GO(BIO_meth_new, pFip)
+GOM(BIO_meth_set_write, iFEpp)
+GOM(BIO_meth_set_read, iFEpp)
+GOM(BIO_meth_set_puts, iFEpp)
+GOM(BIO_meth_set_gets, iFEpp)
+GOM(BIO_meth_set_ctrl, iFEpp)
+GOM(BIO_meth_set_create, iFEpp)
+GOM(BIO_meth_set_destroy, iFEpp)
 //GO(BIO_method_name, 
 //GO(BIO_method_type, 
 GO(BIO_new, pFp)
@@ -350,8 +364,11 @@ GO(BIO_set, iFpp)
 //GO(BIO_set_callback_arg, 
 GO(BIO_set_close, iFpl)
 //GO(BIO_set_cipher, 
-//GO(BIO_set_ex_data, 
-//GO(BIO_set_flags, 
+GO(BIO_set_data, vFpp)
+GO(BIO_set_ex_data, iFpip)
+GO(BIO_set_flags, vFpi)
+GO(BIO_set_init, vFpi)
+GO(BIO_set_shutdown, vFpi)
 //GO(BIO_set_tcp_ndelay, 
 //GO(BIO_s_fd, 
 //GO(BIO_s_file, 
@@ -462,6 +479,7 @@ GO(BN_is_bit_set, iFpi)
 //GO(BN_is_prime_ex, 
 //GO(BN_is_prime_fasttest, 
 //GO(BN_is_prime_fasttest_ex, 
+GO(BN_is_word, iFpL)
 GO(BN_is_zero, iFp) 
 //GO(BN_kronecker, 
 GO(BN_lshift, iFppi)
@@ -848,7 +866,7 @@ GO(CRYPTO_free, vFppi)
 //GO(CRYPTO_get_dynlock_value, 
 //GO(CRYPTO_get_ex_data, 
 //GO(CRYPTO_get_ex_data_implementation, 
-//GO(CRYPTO_get_ex_new_index, 
+GO(CRYPTO_get_ex_new_index, iFilpppp)
 //GO(CRYPTO_get_id_callback, 
 //GO(CRYPTO_get_locked_mem_ex_functions, 
 //GO(CRYPTO_get_locked_mem_functions, 
@@ -1148,7 +1166,8 @@ GO(DES_set_odd_parity, vFp)
 GO(DES_string_to_2keys, vFppp)
 GO(DES_string_to_key, vFpp)
 GO(DES_xcbc_encrypt, vFpplppppi)
-//GO(DH_check, 
+GO(DH_bits, iFp)
+GO(DH_check, iFpp)
 //GO(DH_check_pub_key, 
 //GO(DH_compute_key, 
 //GO(DH_compute_key_padded, 
@@ -1156,6 +1175,7 @@ GO(DH_free, vFp)
 //GO(DH_generate_key, 
 //GO(DH_generate_parameters, 
 //GO(DH_generate_parameters_ex, 
+GO(DH_get0_pqg, vFpppp)
 //GO(DH_get_1024_160, 
 //GO(DH_get_2048_224, 
 //GO(DH_get_2048_256, 
@@ -1185,6 +1205,7 @@ GO(DH_new, pFv)
 //GO(DIST_POINT_set_dpname, 
 //GO(dsa_builtin_paramgen, 
 //GO(dsa_builtin_paramgen2, 
+GO(DSA_bits, iFp)
 //GO(DSA_do_sign, 
 //GO(DSA_do_verify, 
 //GO(DSA_dup_DH, 
@@ -1954,7 +1975,7 @@ GO(EVP_MD_type, iFp)
 //GO(EVP_PKEY_asn1_set_private, 
 //GO(EVP_PKEY_asn1_set_public, 
 GO(EVP_PKEY_assign, iFpip)
-//GO(EVP_PKEY_base_id, 
+GO(EVP_PKEY_base_id, iFp)
 //GO(EVP_PKEY_bits, 
 GO(EVP_PKEY_cmp, iFpp)
 GO(EVP_PKEY_cmp_parameters, iFpp)
@@ -1989,7 +2010,7 @@ GO(EVP_PKEY_derive_set_peer, iFppi)
 GO(EVP_PKEY_free, vFp)
 //GO(EVP_PKEY_get0, 
 //GO(EVP_PKEY_get0_asn1, 
-//GO(EVP_PKEY_get1_DH, 
+GO(EVP_PKEY_get1_DH, pFp)
 GO(EVP_PKEY_get1_DSA, pFp)
 GO(EVP_PKEY_get1_EC_KEY, pFp)
 GO(EVP_PKEY_get1_RSA, pFp)
@@ -2024,13 +2045,14 @@ GO(EVP_PKEY_keygen_init, iFp)
 GO(EVP_PKEY_missing_parameters, iFp)
 GO(EVP_PKEY_new, pFv)
 GO(EVP_PKEY_new_mac_key, pFippi)
+GO(EVP_PKEY_param_check, iFp)
 GO(EVP_PKEY_paramgen, iFpp)
 GO(EVP_PKEY_paramgen_init, iFp)
 //GO(EVP_PKEY_print_params, 
 //GO(EVP_PKEY_print_private, 
 //GO(EVP_PKEY_print_public, 
 //GO(EVP_PKEY_save_parameters, 
-//GO(EVP_PKEY_set1_DH, 
+GO(EVP_PKEY_set1_DH, iFpp)
 GO(EVP_PKEY_set1_DSA, iFpp)
 GO(EVP_PKEY_set1_EC_KEY, iFpp)
 GO(EVP_PKEY_set1_RSA, iFpp)
@@ -2492,7 +2514,7 @@ GO(OBJ_txt2obj, pFpi)
 //GO(OCSP_archive_cutoff_new, 
 //GO(OCSP_basic_add1_cert, 
 //GO(OCSP_basic_add1_nonce, 
-//GO(OCSP_basic_add1_status, 
+GO(OCSP_basic_add1_status, pFppiippp)
 //GO(OCSP_BASICRESP_add1_ext_i2d, 
 //GO(OCSP_BASICRESP_add_ext, 
 //GO(OCSP_BASICRESP_delete_ext, 
@@ -2503,8 +2525,8 @@ GO(OCSP_BASICRESP_free, vFp)
 //GO(OCSP_BASICRESP_get_ext_by_NID, 
 //GO(OCSP_BASICRESP_get_ext_by_OBJ, 
 //GO(OCSP_BASICRESP_get_ext_count, 
-//GO(OCSP_BASICRESP_new, 
-//GO(OCSP_basic_sign, 
+GO(OCSP_BASICRESP_new, pFv)
+GO(OCSP_basic_sign, iFpppppL)
 GO(OCSP_basic_verify, iFpppL)
 //GO(OCSP_CERTID_dup, 
 GO(OCSP_CERTID_free, vFp)
@@ -2515,14 +2537,14 @@ GO(OCSP_CERTID_free, vFp)
 //GO(OCSP_cert_status_str, 
 GO(OCSP_cert_to_id, pFppp)
 GO(OCSP_check_nonce, iFpp)
-//GO(OCSP_check_validity, 
+GO(OCSP_check_validity, iFppll)
 //GO(OCSP_copy_nonce, 
 //GO(OCSP_CRLID_free, 
 //GO(OCSP_crlID_new, 
 //GO(OCSP_CRLID_new, 
 //GO(OCSP_crl_reason_str, 
-//GO(OCSP_id_cmp, 
-//GO(OCSP_id_get0_info, 
+GO(OCSP_id_cmp, iFpp)
+GO(OCSP_id_get0_info, iFppppp)
 //GO(OCSP_id_issuer_cmp, 
 //GO(OCSP_ONEREQ_add1_ext_i2d, 
 //GO(OCSP_ONEREQ_add_ext, 
@@ -2571,21 +2593,22 @@ GO(OCSP_REQUEST_new, pFv)
 //GO(OCSP_request_verify, 
 //GO(OCSP_RESPBYTES_free, 
 //GO(OCSP_RESPBYTES_new, 
-//GO(OCSP_resp_count, 
+GO(OCSP_resp_count, iFp)
 //GO(OCSP_RESPDATA_free, 
 //GO(OCSP_RESPDATA_new, 
 //GO(OCSP_resp_find, 
 GO(OCSP_resp_find_status, iFppppppp)
-//GO(OCSP_resp_get0, 
+GO(OCSP_resp_get0, pFpi)
+GO(OCSP_resp_get0_certs, pFp)
 //GO(OCSP_RESPID_free, 
 //GO(OCSP_RESPID_new, 
-//GO(OCSP_response_create, 
+GO(OCSP_response_create, pFip)
 GO(OCSP_RESPONSE_free, vFp)
 GO(OCSP_response_get1_basic, pFp)
 GO(OCSP_RESPONSE_new, pFv)
 //GO(OCSP_RESPONSE_print, 
-//GO(OCSP_response_status, 
-//GO(OCSP_response_status_str, 
+GO(OCSP_response_status, iFp)
+GO(OCSP_response_status_str, pFl)
 //GO(OCSP_REVOKEDINFO_free, 
 //GO(OCSP_REVOKEDINFO_new, 
 //GO(OCSP_sendreq_bio, 
@@ -2596,11 +2619,12 @@ GO(OCSP_RESPONSE_new, pFv)
 //GO(OCSP_set_max_response_length, 
 //GO(OCSP_SIGNATURE_free, 
 //GO(OCSP_SIGNATURE_new, 
-//GO(OCSP_single_get0_status, 
+GO(OCSP_single_get0_status, iFppppp)
 //GO(OCSP_SINGLERESP_add1_ext_i2d, 
 //GO(OCSP_SINGLERESP_add_ext, 
 //GO(OCSP_SINGLERESP_delete_ext, 
 //GO(OCSP_SINGLERESP_free, 
+GO(OCSP_SINGLERESP_get0_id, pFp)
 //GO(OCSP_SINGLERESP_get1_ext_d2i, 
 //GO(OCSP_SINGLERESP_get_ext, 
 //GO(OCSP_SINGLERESP_get_ext_by_critical, 
@@ -2647,6 +2671,7 @@ GO(OPENSSL_sk_value, pFpi)  //1.1+
 //GO(OPENSSL_strcasecmp, 
 //GO(OPENSSL_strncasecmp, 
 //GO(OPENSSL_uni2asc, 
+GO(OpenSSL_version, pFi)
 GO(OpenSSL_version_num, LFv)
 //GO(OPENSSL_wipe_cpu, 
 //GO(_ossl_096_des_random_seed, 
@@ -2710,7 +2735,7 @@ GO(OpenSSL_version_num, LFv)
 //GO(PEM_read, 
 //GO(PEM_read_bio, 
 //GO(PEM_read_bio_CMS, 
-//GO(PEM_read_bio_DHparams, 
+GOM(PEM_read_bio_DHparams, pFEpppp)
 //GO(PEM_read_bio_DSAparams, 
 GOM(PEM_read_bio_DSAPrivateKey, pFEpppp)
 GOM(PEM_read_bio_DSA_PUBKEY, pFEpppp)
@@ -2722,8 +2747,8 @@ GOM(PEM_read_bio_EC_PUBKEY, pFEpppp)
 GOM(PEM_read_bio_PKCS7, pFEpppp)
 //GO(PEM_read_bio_PKCS8, 
 //GO(PEM_read_bio_PKCS8_PRIV_KEY_INFO, 
-//GO(PEM_read_bio_PrivateKey, 
-//GO(PEM_read_bio_PUBKEY, 
+GOM(PEM_read_bio_PrivateKey, pFEpppp)
+GOM(PEM_read_bio_PUBKEY, pFEpppp)
 GOM(PEM_read_bio_RSAPrivateKey, pFEpppp)
 GOM(PEM_read_bio_RSA_PUBKEY, pFEpppp)
 //GO(PEM_read_bio_RSAPublicKey, 
@@ -2781,8 +2806,8 @@ GO(PEM_write_bio_EC_PUBKEY, iFpp)
 //GO(PEM_write_bio_PKCS8PrivateKey, 
 //GO(PEM_write_bio_PKCS8PrivateKey_nid, 
 //GO(PEM_write_bio_PKCS8_PRIV_KEY_INFO, 
-//GO(PEM_write_bio_PrivateKey, 
-//GO(PEM_write_bio_PUBKEY, 
+GOM(PEM_write_bio_PrivateKey, iFEppppipp)
+GO(PEM_write_bio_PUBKEY, iFpp)
 GOM(PEM_write_bio_RSAPrivateKey, iFEppppipp)
 GO(PEM_write_bio_RSA_PUBKEY, iFpp)
 //GO(PEM_write_bio_RSAPublicKey, 
@@ -3031,6 +3056,7 @@ GO(RAND_write_file, iFp)
 //GO(RIPEMD160_Init, 
 //GO(RIPEMD160_Transform, 
 //GO(RIPEMD160_Update, 
+GO(RSA_bits, iFp)
 //GO(RSA_blinding_off, 
 //GO(RSA_blinding_on, 
 GO(RSA_check_key, iFp)
@@ -3555,7 +3581,9 @@ GO(X509_get_version, lFp)
 GO(X509_get0_notAfter, pFp)
 GO(X509_get0_notBefore, pFp)
 GO(X509_get0_pubkey, pFp)
-//GO(X509_gmtime_adj, 
+GO(X509_getm_notBefore, pFp)
+GO(X509_getm_notAfter, pFp)
+GO(X509_gmtime_adj, pFpl)
 //GO(X509_http_nbio, 
 //GO(X509_INFO_free, 
 //GO(X509_INFO_new, 
@@ -3745,7 +3773,7 @@ GO(X509_STORE_CTX_get_chain, pFp)
 GO(X509_STORE_CTX_get_current_cert, pFp)
 GO(X509_STORE_CTX_get_error, iFp)
 GO(X509_STORE_CTX_get_error_depth, iFp)
-//GO(X509_STORE_CTX_get_ex_data, 
+GO(X509_STORE_CTX_get_ex_data, pFpi)
 //GO(X509_STORE_CTX_get_ex_new_index, 
 //GO(X509_STORE_CTX_get_explicit_policy, 
 GO(X509_STORE_CTX_init, iFpppp)
@@ -3770,7 +3798,8 @@ GOM(X509_STORE_CTX_set_verify_cb, vFEpp)
 GO(X509_STORE_free, vFp)
 //GO(X509_STORE_get1_certs, 
 //GO(X509_STORE_get1_crls, 
-//GO(X509_STORE_get_by_subject, 
+//GO(X509_STORE_get_by_subject,
+GO(X509_STORE_get_ex_data, pFpi) 
 GO(X509_STORE_load_file, iFpp)
 GO(X509_STORE_load_path, iFpp)
 GO(X509_STORE_load_store, iFpp)
@@ -3779,11 +3808,12 @@ GO(X509_STORE_new, pFv)
 //GO(X509_STORE_set1_param, 
 //GO(X509_STORE_set_default_paths, 
 GO(X509_STORE_set_depth, iFpi)
+GO(X509_STORE_set_ex_data, iFpip)
 GO(X509_STORE_set_flags, iFpL)
 //GO(X509_STORE_set_lookup_crls_cb, 
 GO(X509_STORE_set_purpose, iFpi)
 GO(X509_STORE_set_trust, iFpi)
-//GO(X509_STORE_set_verify_cb, 
+GOM(X509_STORE_set_verify_cb, vFEpp)
 //GO(X509_subject_name_cmp, 
 GO(X509_subject_name_hash, LFp)
 GO(X509_subject_name_hash_old, LFp)
diff --git a/src/wrapped/wrappedcurl.c b/src/wrapped/wrappedcurl.c
index ceda973b..490d7f8d 100644
--- a/src/wrapped/wrappedcurl.c
+++ b/src/wrapped/wrappedcurl.c
@@ -346,7 +346,7 @@ typedef enum {
 static uintptr_t my_write_fct_##A = 0;   \
 static size_t my_write_##A(char* ptr, size_t size, size_t nmemb, void* userdata)     \
 {                                       \
-    return (size_t)RunFunction(my_context, my_write_fct_##A, 4, ptr, size, nmemb, userdata);\
+    return (size_t)RunFunctionFmt(my_write_fct_##A, "pLLp", ptr, size, nmemb, userdata);\
 }
 SUPER()
 #undef GO
@@ -369,7 +369,7 @@ static void* find_write_Fct(void* fct)
 static uintptr_t my_read_fct_##A = 0;   \
 static size_t my_read_##A(char* buffer, size_t size, size_t nitems, void* userdata)     \
 {                                       \
-    return (size_t)RunFunction(my_context, my_read_fct_##A, 4, buffer, size, nitems, userdata);\
+    return (size_t)RunFunctionFmt(my_read_fct_##A, "pLLp", buffer, size, nitems, userdata);\
 }
 SUPER()
 #undef GO
@@ -392,7 +392,7 @@ static void* find_read_Fct(void* fct)
 static uintptr_t my_ioctl_fct_##A = 0;   \
 static size_t my_ioctl_##A(void* handle, int32_t fnc, void* userdata)     \
 {                                       \
-    return (size_t)RunFunction(my_context, my_ioctl_fct_##A, 3, handle, fnc, userdata);\
+    return (size_t)RunFunctionFmt(my_ioctl_fct_##A, "pip", handle, fnc, userdata);\
 }
 SUPER()
 #undef GO
@@ -415,7 +415,7 @@ static void* find_ioctl_Fct(void* fct)
 static uintptr_t my_seek_fct_##A = 0;   \
 static int32_t my_seek_##A(void* userdata, int64_t off, int32_t origin)     \
 {                                       \
-    return (int32_t)RunFunction(my_context, my_seek_fct_##A, 4, userdata, (off&0xffffffff), ((off>>32)&0xffffffff), origin);\
+    return (int32_t)RunFunctionFmt(my_seek_fct_##A, "pIi", userdata, off, origin);\
 }
 SUPER()
 #undef GO
@@ -438,7 +438,7 @@ static void* find_seek_Fct(void* fct)
 static uintptr_t my_header_fct_##A = 0;   \
 static size_t my_header_##A(char* buffer, size_t size, size_t nitems, void* userdata)     \
 {                                       \
-    return (size_t)RunFunction(my_context, my_header_fct_##A, 4, buffer, size, nitems, userdata);\
+    return (size_t)RunFunctionFmt(my_header_fct_##A, "pLLp", buffer, size, nitems, userdata);\
 }
 SUPER()
 #undef GO
@@ -461,7 +461,7 @@ static void* find_header_Fct(void* fct)
 static uintptr_t my_progress_fct_##A = 0;   \
 static int my_progress_##A(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow)     \
 {                                       \
-    return (int)RunFunction(my_context, my_progress_fct_##A, 5, clientp, dltotal, dlnow, ultotal, ulnow);\
+    return (int)RunFunctionFmt(my_progress_fct_##A, "pdddd", clientp, dltotal, dlnow, ultotal, ulnow);\
 }
 SUPER()
 #undef GO
@@ -484,7 +484,7 @@ static void* find_progress_Fct(void* fct)
 static uintptr_t my_progress_int_fct_##A = 0;   \
 static int my_progress_int_##A(void *clientp, uint64_t dltotal, uint64_t dlnow, uint64_t ultotal, uint64_t ulnow)     \
 {                                       \
-    return (int)RunFunction(my_context, my_progress_int_fct_##A, 5, clientp, dltotal, dlnow, ultotal, ulnow);\
+    return (int)RunFunctionFmt(my_progress_int_fct_##A, "pUUUU", clientp, dltotal, dlnow, ultotal, ulnow);\
 }
 SUPER()
 #undef GO
@@ -507,7 +507,7 @@ static void* find_progress_int_Fct(void* fct)
 static uintptr_t my_socket_fct_##A = 0;                                         \
 static int my_socket_##A(void *a, int b, int c, void* d, void* e)               \
 {                                                                               \
-    return (int)RunFunction(my_context, my_socket_fct_##A, 5, a, b, c, d, e);   \
+    return (int)RunFunctionFmt(my_socket_fct_##A, "piipp", a, b, c, d, e);   \
 }
 SUPER()
 #undef GO
@@ -530,7 +530,7 @@ static void* find_socket_Fct(void* fct)
 static uintptr_t my_timer_fct_##A = 0;                                  \
 static int my_timer_##A(void *a, long b, void* c)                       \
 {                                                                       \
-    return (int)RunFunction(my_context, my_timer_fct_##A, 3, a, b, c);  \
+    return (int)RunFunctionFmt(my_timer_fct_##A, "plp", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -553,7 +553,7 @@ static void* find_timer_Fct(void* fct)
 static uintptr_t my_push_fct_##A = 0;                                       \
 static int my_push_##A(void *a, void* b, size_t c, void* d, void* e)        \
 {                                                                           \
-    return (int)RunFunction(my_context, my_push_fct_##A, 5, a, b, c, d, e); \
+    return (int)RunFunctionFmt(my_push_fct_##A, "ppLpp", a, b, c, d, e); \
 }
 SUPER()
 #undef GO
@@ -576,7 +576,7 @@ static void* find_push_Fct(void* fct)
 static uintptr_t my_debug_fct_##A = 0;                                          \
 static int my_debug_##A(void *a, int b, void* c, size_t d, void* e)             \
 {                                                                               \
-    return (int)RunFunction(my_context, my_debug_fct_##A, 5, a, b, c, d, e);    \
+    return (int)RunFunctionFmt(my_debug_fct_##A, "pipLp", a, b, c, d, e);    \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedd3dadapter9.c b/src/wrapped/wrappedd3dadapter9.c
index c43331dc..3701bbaa 100644
--- a/src/wrapped/wrappedd3dadapter9.c
+++ b/src/wrapped/wrappedd3dadapter9.c
@@ -225,7 +225,7 @@ static void freeMy()
 #define GOV(ns, ret, fn, args, call) \
     static uintptr_t my_##ns##_##fn##_fct = 0; \
     static ret my_##ns##_##fn(UNPACK args) { \
-        ret r = (ret)RunFunctionWindows(my_context, my_##ns##_##fn##_fct, UNPACK call); \
+        ret r = (ret)RunFunctionWindows(my_##ns##_##fn##_fct, UNPACK call); \
 /* no closing brace */
 
 #define GOV_1(ns, ret, fn, t1) \
@@ -319,13 +319,13 @@ typedef struct my_Direct3D9 {
 unsigned my_Direct3D9_AddRef(void *This)
 {
     my_Direct3D9 *my = This;
-    return RunFunctionWindows(my_context, (uintptr_t)(*my->real)->AddRef, 1, my->real);
+    return RunFunctionWindows((uintptr_t)(*my->real)->AddRef, 1, my->real);
 }
 
 unsigned my_Direct3D9_Release(void *This)
 {
     my_Direct3D9 *my = This;
-    return RunFunctionWindows(my_context, (uintptr_t)(*my->real)->Release, 1, my->real);
+    return RunFunctionWindows((uintptr_t)(*my->real)->Release, 1, my->real);
 }
 
 IDirect3D9Vtbl my_Direct3D9_vtbl = {
@@ -341,13 +341,13 @@ typedef struct my_Direct3D9Ex {
 unsigned my_Direct3D9Ex_AddRef(void *This)
 {
     my_Direct3D9Ex *my = This;
-    return RunFunction(my_context, (uintptr_t)(*my->real)->AddRef, 1, my->real);
+    return RunFunctionFmt((uintptr_t)(*my->real)->AddRef, "p", my->real);
 }
 
 unsigned my_Direct3D9Ex_Release(void *This)
 {
     my_Direct3D9Ex *my = This;
-    return RunFunction(my_context, (uintptr_t)(*my->real)->Release, 1, my->real);
+    return RunFunctionFmt((uintptr_t)(*my->real)->Release, "p", my->real);
 }
 
 IDirect3D9ExVtbl my_Direct3D9Ex_vtbl = {
diff --git a/src/wrapped/wrappeddbus.c b/src/wrapped/wrappeddbus.c
index 5f554771..7f040916 100644
--- a/src/wrapped/wrappeddbus.c
+++ b/src/wrapped/wrappeddbus.c
@@ -38,7 +38,7 @@ GO(3)
 static uintptr_t my_DBusFreeFunction_fct_##A = 0;               \
 static void my_DBusFreeFunction_##A(void* p)                    \
 {                                                               \
-    RunFunction(my_context, my_DBusFreeFunction_fct_##A, 1, p); \
+    RunFunctionFmt(my_DBusFreeFunction_fct_##A, "p", p); \
 }
 SUPER()
 #undef GO
@@ -60,7 +60,7 @@ static void* find_DBusFreeFunction_Fct(void* fct)
 static uintptr_t my_DBusHandleMessageFunction_fct_##A = 0;                              \
 static int my_DBusHandleMessageFunction_##A(void* a, void* b, void* c)                  \
 {                                                                                       \
-    return RunFunction(my_context, my_DBusHandleMessageFunction_fct_##A, 3, a, b, c);   \
+    return RunFunctionFmt(my_DBusHandleMessageFunction_fct_##A, "ppp", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -82,7 +82,7 @@ static void* find_DBusHandleMessageFunction_Fct(void* fct)
 static uintptr_t my_DBusAddTimeoutFunction_fct_##A = 0;                         \
 static int my_DBusAddTimeoutFunction_##A(void* a, void* b)                      \
 {                                                                               \
-    return RunFunction(my_context, my_DBusAddTimeoutFunction_fct_##A, 2, a, b); \
+    return RunFunctionFmt(my_DBusAddTimeoutFunction_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -104,7 +104,7 @@ static void* find_DBusAddTimeoutFunction_Fct(void* fct)
 static uintptr_t my_DBusRemoveTimeoutFunction_fct_##A = 0;                  \
 static void my_DBusRemoveTimeoutFunction_##A(void* a, void* b)              \
 {                                                                           \
-    RunFunction(my_context, my_DBusRemoveTimeoutFunction_fct_##A, 2, a, b); \
+    RunFunctionFmt(my_DBusRemoveTimeoutFunction_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -126,7 +126,7 @@ static void* find_DBusRemoveTimeoutFunction_Fct(void* fct)
 static uintptr_t my_DBusTimeoutToggledFunction_fct_##A = 0;                     \
 static void my_DBusTimeoutToggledFunction_##A(void* a, void* b)                 \
 {                                                                               \
-    RunFunction(my_context, my_DBusTimeoutToggledFunction_fct_##A, 2, a, b);    \
+    RunFunctionFmt(my_DBusTimeoutToggledFunction_fct_##A, "pp", a, b);    \
 }
 SUPER()
 #undef GO
@@ -148,7 +148,7 @@ static void* find_DBusTimeoutToggledFunction_Fct(void* fct)
 static uintptr_t my_DBusWakeupMainFunction_fct_##A = 0;                 \
 static void my_DBusWakeupMainFunction_##A(void* a)                      \
 {                                                                       \
-    RunFunction(my_context, my_DBusWakeupMainFunction_fct_##A, 1, a);   \
+    RunFunctionFmt(my_DBusWakeupMainFunction_fct_##A, "p", a);   \
 }
 SUPER()
 #undef GO
@@ -171,7 +171,7 @@ static void* find_DBusWakeupMainFunction_Fct(void* fct)
 static uintptr_t my_DBusPendingCallNotifyFunction_fct_##A = 0;   \
 static void my_DBusPendingCallNotifyFunction_##A(void* pending, void* data)     \
 {                                       \
-    RunFunction(my_context, my_DBusPendingCallNotifyFunction_fct_##A, 2, pending, data);\
+    RunFunctionFmt(my_DBusPendingCallNotifyFunction_fct_##A, "pp", pending, data);\
 }
 SUPER()
 #undef GO
@@ -194,7 +194,7 @@ static void* findDBusPendingCallNotifyFunctionFct(void* fct)
 static uintptr_t my_DBusDispatchStatusFunction_fct_##A = 0;   \
 static void my_DBusDispatchStatusFunction_##A(void* connection, int new_status, void* data)     \
 {                                       \
-    RunFunction(my_context, my_DBusDispatchStatusFunction_fct_##A, 3, connection, new_status, data);\
+    RunFunctionFmt(my_DBusDispatchStatusFunction_fct_##A, "pip", connection, new_status, data);\
 }
 SUPER()
 #undef GO
@@ -217,7 +217,7 @@ static void* findDBusDispatchStatusFunctionFct(void* fct)
 static uintptr_t my_DBusAddWatchFunction_fct_##A = 0;   \
 static int my_DBusAddWatchFunction_##A(void* watch, void* data)     \
 {                                       \
-    return (int)RunFunction(my_context, my_DBusAddWatchFunction_fct_##A, 2, watch, data);\
+    return (int)RunFunctionFmt(my_DBusAddWatchFunction_fct_##A, "pp", watch, data);\
 }
 SUPER()
 #undef GO
@@ -240,7 +240,7 @@ static void* findDBusAddWatchFunctionFct(void* fct)
 static uintptr_t my_DBusRemoveWatchFunction_fct_##A = 0;   \
 static void my_DBusRemoveWatchFunction_##A(void* watch, void* data)     \
 {                                       \
-    RunFunction(my_context, my_DBusRemoveWatchFunction_fct_##A, 2, watch, data);\
+    RunFunctionFmt(my_DBusRemoveWatchFunction_fct_##A, "pp", watch, data);\
 }
 SUPER()
 #undef GO
@@ -263,7 +263,7 @@ static void* findDBusRemoveWatchFunctionFct(void* fct)
 static uintptr_t my_DBusWatchToggledFunction_fct_##A = 0;   \
 static void my_DBusWatchToggledFunction_##A(void* watch, void* data)     \
 {                                       \
-    RunFunction(my_context, my_DBusWatchToggledFunction_fct_##A, 2, watch, data);\
+    RunFunctionFmt(my_DBusWatchToggledFunction_fct_##A, "pp", watch, data);\
 }
 SUPER()
 #undef GO
@@ -286,7 +286,7 @@ static void* findDBusWatchToggledFunctionFct(void* fct)
 static uintptr_t my_DBusObjectPathUnregisterFunction_fct_##A = 0;   \
 static void my_DBusObjectPathUnregisterFunction_##A(void* connection, void* data)     \
 {                                       \
-    RunFunction(my_context, my_DBusObjectPathUnregisterFunction_fct_##A, 2, connection, data);\
+    RunFunctionFmt(my_DBusObjectPathUnregisterFunction_fct_##A, "pp", connection, data);\
 }
 SUPER()
 #undef GO
@@ -309,7 +309,7 @@ static void* findDBusObjectPathUnregisterFunctionFct(void* fct)
 static uintptr_t my_DBusObjectPathMessageFunction_fct_##A = 0;   \
 static void my_DBusObjectPathMessageFunction_##A(void* connection, void* message, void* data)     \
 {                                       \
-    RunFunction(my_context, my_DBusObjectPathMessageFunction_fct_##A, 3, connection, message, data);\
+    RunFunctionFmt(my_DBusObjectPathMessageFunction_fct_##A, "ppp", connection, message, data);\
 }
 SUPER()
 #undef GO
@@ -332,7 +332,7 @@ static void* findDBusObjectPathMessageFunctionFct(void* fct)
 static uintptr_t my_dbus_internal_pad_fct_##A = 0;   \
 static void my_dbus_internal_pad_##A(void* a, void* b, void* c, void* d)     \
 {                                       \
-    RunFunction(my_context, my_dbus_internal_pad_fct_##A, 4, a, b, c, d);\
+    RunFunctionFmt(my_dbus_internal_pad_fct_##A, "pppp", a, b, c, d);\
 }
 SUPER()
 #undef GO
@@ -355,7 +355,7 @@ static void* finddbus_internal_padFct(void* fct)
 static uintptr_t my_DBusNewConnectionFunction_fct_##A = 0;                      \
 static void my_DBusNewConnectionFunction_##A(void* a, void* b, void* c)         \
 {                                                                               \
-    RunFunction(my_context, my_DBusNewConnectionFunction_fct_##A, 3, a, b, c);  \
+    RunFunctionFmt(my_DBusNewConnectionFunction_fct_##A, "pppp", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -560,6 +560,22 @@ EXPORT int my_dbus_connection_try_register_object_path(x64emu_t* emu, void* conn
     return my->dbus_connection_try_register_object_path(connection, path, vtable?&vt:NULL, data, error);
 }
 
+EXPORT int my_dbus_connection_register_fallback(x64emu_t* emu, void* connection, void* path, my_DBusObjectPathVTable_t* vtable, void* data)
+{
+    (void)emu;
+    my_DBusObjectPathVTable_t vt = {0};
+    if(vtable) {
+        vt.unregister_function = findDBusObjectPathUnregisterFunctionFct(vtable->unregister_function);
+        vt.message_function = findDBusObjectPathMessageFunctionFct(vtable->message_function);
+        vt.pad1 = finddbus_internal_padFct(vtable->pad1);
+        vt.pad2 = finddbus_internal_padFct(vtable->pad2);
+        vt.pad3 = finddbus_internal_padFct(vtable->pad3);
+        vt.pad4 = finddbus_internal_padFct(vtable->pad4);
+    }
+
+    return my->dbus_connection_register_fallback(connection, path, vtable?&vt:NULL, data);
+}
+
 EXPORT int my_dbus_connection_set_data(x64emu_t* emu, void* connection, int slot, void* data, void* free_func)
 {
     (void)emu;
diff --git a/src/wrapped/wrappeddbus_private.h b/src/wrapped/wrappeddbus_private.h
index 5c546fd2..ccbe2a9b 100644
--- a/src/wrapped/wrappeddbus_private.h
+++ b/src/wrapped/wrappeddbus_private.h
@@ -54,7 +54,7 @@ GO(dbus_connection_preallocate_send, pFp)
 GO(dbus_connection_read_write, iFpi)
 GO(dbus_connection_read_write_dispatch, iFpi)
 GO(dbus_connection_ref, pFp)
-//GO(dbus_connection_register_fallback, 
+GOM(dbus_connection_register_fallback, iFEpppp)
 //GO(dbus_connection_register_object_path, 
 GOM(dbus_connection_remove_filter, vFEppp)
 GO(dbus_connection_return_message, vFpp)
diff --git a/src/wrapped/wrappeddbusglib1.c b/src/wrapped/wrappeddbusglib1.c
index b6680460..6c9555a2 100644
--- a/src/wrapped/wrappeddbusglib1.c
+++ b/src/wrapped/wrappeddbusglib1.c
@@ -33,10 +33,10 @@ const char* dbusglib1Name = "libdbus-glib-1.so.2";
 
 // 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);\
+static uintptr_t my_GDestroyNotify_fct_##A = 0;                         \
+static void my_GDestroyNotify_##A(void* data)                           \
+{                                                                       \
+    RunFunctionFmt(my_GDestroyNotify_fct_##A, "p", data);         \
 }
 SUPER()
 #undef GO
@@ -56,10 +56,10 @@ static void* findGDestroyNotifyFct(void* fct)
 
 // 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);\
+static uintptr_t my_GClosureNotify_fct_##A = 0;                                 \
+static void my_GClosureNotify_##A(void* data, void* closure)                    \
+{                                                                               \
+    RunFunctionFmt(my_GClosureNotify_fct_##A, "pp", data, closure);       \
 }
 SUPER()
 #undef GO
@@ -79,10 +79,10 @@ static void* findGClosureNotifyFct(void* fct)
 
 // 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);\
+static uintptr_t my_DBusGProxyCallNotify_fct_##A = 0;                                           \
+static void my_DBusGProxyCallNotify_##A(void* proxy, void* call_id, void* data)                 \
+{                                                                                               \
+    RunFunctionFmt(my_DBusGProxyCallNotify_fct_##A, "ppp", proxy, call_id, data);         \
 }
 SUPER()
 #undef GO
@@ -102,10 +102,10 @@ static void* findDBusGProxyCallNotifyFct(void* fct)
 
 // 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);\
+static uintptr_t my_GCallback_fct_##A = 0;                                  \
+static void my_GCallback_##A(void* a, void* b, void* c, void* d)            \
+{                                                                           \
+    RunFunctionFmt(my_GCallback_fct_##A, "pppp", a, b, c, d);         \
 }
 SUPER()
 #undef GO
@@ -125,10 +125,10 @@ static void* findGCallbackFct(void* fct)
 
 // 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);    \
+static uintptr_t my_DBusGTypeSpecializedCollectionIterator_fct_##A = 0;                         \
+static void my_DBusGTypeSpecializedCollectionIterator_##A(void* a, void* b)                     \
+{                                                                                               \
+    RunFunctionFmt(my_DBusGTypeSpecializedCollectionIterator_fct_##A, "pp", a, b);        \
 }
 SUPER()
 #undef GO
@@ -147,10 +147,10 @@ static void* findDBusGTypeSpecializedCollectionIteratorFct(void* fct)
 }
 // 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);    \
+static uintptr_t my_DBusGTypeSpecializedMapIterator_fct_##A = 0;                            \
+static void my_DBusGTypeSpecializedMapIterator_##A(void* a, void* b, void* c)               \
+{                                                                                           \
+    RunFunctionFmt(my_DBusGTypeSpecializedMapIterator_fct_##A, "ppp", a, b, c);       \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedexpat.c b/src/wrapped/wrappedexpat.c
index 4891e375..783b0ca0 100644
--- a/src/wrapped/wrappedexpat.c
+++ b/src/wrapped/wrappedexpat.c
@@ -34,10 +34,10 @@ GO(4)
 
 // Start ...
 #define GO(A)   \
-static uintptr_t my_Start_fct_##A = 0;                                              \
-static void* my_Start_##A(void* data, void* name, void* attr)                       \
-{                                                                                   \
-    return (void*)RunFunction(my_context, my_Start_fct_##A, 3, data, name, attr);   \
+static uintptr_t my_Start_fct_##A = 0;                                                      \
+static void* my_Start_##A(void* data, void* name, void* attr)                               \
+{                                                                                           \
+    return (void*)RunFunctionFmt(my_Start_fct_##A, "ppp", data, name, attr);          \
 }
 SUPER()
 #undef GO
@@ -56,10 +56,10 @@ static void* find_Start_Fct(void* fct)
 }
 // End ...
 #define GO(A)   \
-static uintptr_t my_End_fct_##A = 0;                       \
-static void my_End_##A(void* data, void* name)             \
-{                                                          \
-    RunFunction(my_context, my_End_fct_##A, 2, data, name);\
+static uintptr_t my_End_fct_##A = 0;                                \
+static void my_End_##A(void* data, void* name)                      \
+{                                                                   \
+    RunFunctionFmt(my_End_fct_##A, "pp", data, name);         \
 }
 SUPER()
 #undef GO
@@ -78,10 +78,10 @@ static void* find_End_Fct(void* fct)
 }
 // CharData ...
 #define GO(A)   \
-static uintptr_t my_CharData_fct_##A = 0;                       \
-static void my_CharData_##A(void* data, void* s, int l)         \
-{                                                               \
-    RunFunction(my_context, my_CharData_fct_##A, 3, data, s, l);\
+static uintptr_t my_CharData_fct_##A = 0;                               \
+static void my_CharData_##A(void* data, void* s, int l)                 \
+{                                                                       \
+    RunFunctionFmt(my_CharData_fct_##A, "ppi", data, s, l);       \
 }
 SUPER()
 #undef GO
@@ -100,10 +100,10 @@ static void* find_CharData_Fct(void* fct)
 }
 // StartNamespaceDecl ...
 #define GO(A)   \
-static uintptr_t my_StartNamespaceDecl_fct_##A = 0;                                 \
-static void my_StartNamespaceDecl_##A(void* data, void* name, void* attr)           \
-{                                                                               \
-    RunFunction(my_context, my_StartNamespaceDecl_fct_##A, 3, data, name, attr);    \
+static uintptr_t my_StartNamespaceDecl_fct_##A = 0;                                     \
+static void my_StartNamespaceDecl_##A(void* data, void* name, void* attr)               \
+{                                                                                       \
+    RunFunctionFmt(my_StartNamespaceDecl_fct_##A, "ppp", data, name, attr);       \
 }
 SUPER()
 #undef GO
@@ -122,10 +122,10 @@ static void* find_StartNamespaceDecl_Fct(void* fct)
 }
 // EndNamespaceDecl ...
 #define GO(A)   \
-static uintptr_t my_EndNamespaceDecl_fct_##A = 0;                       \
-static void my_EndNamespaceDecl_##A(void* data, void* name)             \
-{                                                          \
-    RunFunction(my_context, my_EndNamespaceDecl_fct_##A, 2, data, name);\
+static uintptr_t my_EndNamespaceDecl_fct_##A = 0;                               \
+static void my_EndNamespaceDecl_##A(void* data, void* name)                     \
+{                                                                               \
+    RunFunctionFmt(my_EndNamespaceDecl_fct_##A, "pp", data, name);        \
 }
 SUPER()
 #undef GO
@@ -144,10 +144,10 @@ static void* find_EndNamespaceDecl_Fct(void* fct)
 }
 // StartElement ...
 #define GO(A)   \
-static uintptr_t my_StartElement_fct_##A = 0;                                 \
-static void my_StartElement_##A(void* data, void* name, void* attr)           \
-{                                                                               \
-    RunFunction(my_context, my_StartElement_fct_##A, 3, data, name, attr);    \
+static uintptr_t my_StartElement_fct_##A = 0;                                       \
+static void my_StartElement_##A(void* data, void* name, void* attr)                 \
+{                                                                                   \
+    RunFunctionFmt(my_StartElement_fct_##A, "ppp", data, name, attr);         \
 }
 SUPER()
 #undef GO
@@ -166,10 +166,10 @@ static void* find_StartElement_Fct(void* fct)
 }
 // EndElement ...
 #define GO(A)   \
-static uintptr_t my_EndElement_fct_##A = 0;                       \
-static void my_EndElement_##A(void* data, void* name)             \
-{                                                          \
-    RunFunction(my_context, my_EndElement_fct_##A, 2, data, name);\
+static uintptr_t my_EndElement_fct_##A = 0;                                 \
+static void my_EndElement_##A(void* data, void* name)                       \
+{                                                                           \
+    RunFunctionFmt(my_EndElement_fct_##A, "pp", data, name);          \
 }
 SUPER()
 #undef GO
@@ -188,10 +188,10 @@ static void* find_EndElement_Fct(void* fct)
 }
 // CharacterData ...
 #define GO(A)   \
-static uintptr_t my_CharacterData_fct_##A = 0;                              \
-static void my_CharacterData_##A(void* data, void* name, int len)           \
-{                                                                           \
-    RunFunction(my_context, my_CharacterData_fct_##A, 3, data, name, len);  \
+static uintptr_t my_CharacterData_fct_##A = 0;                                    \
+static void my_CharacterData_##A(void* data, void* name, int len)                 \
+{                                                                                 \
+    RunFunctionFmt(my_CharacterData_fct_##A, "ppi", data, name, len);         \
 }
 SUPER()
 #undef GO
@@ -210,10 +210,10 @@ static void* find_CharacterData_Fct(void* fct)
 }
 // ProcessingInstruction ...
 #define GO(A)   \
-static uintptr_t my_ProcessingInstruction_fct_##A = 0;                      \
-static void my_ProcessingInstruction_##A(void* a, void* b, void* c)         \
-{                                                                           \
-    RunFunction(my_context, my_ProcessingInstruction_fct_##A, 3, a, b, c);  \
+static uintptr_t my_ProcessingInstruction_fct_##A = 0;                            \
+static void my_ProcessingInstruction_##A(void* a, void* b, void* c)               \
+{                                                                                 \
+    RunFunctionFmt(my_ProcessingInstruction_fct_##A, "ppp", a, b, c);         \
 }
 SUPER()
 #undef GO
@@ -232,10 +232,10 @@ static void* find_ProcessingInstruction_Fct(void* fct)
 }
 // Comment ...
 #define GO(A)   \
-static uintptr_t my_Comment_fct_##A = 0;                    \
-static void my_Comment_##A(void* a, void* b)                \
-{                                                           \
-    RunFunction(my_context, my_Comment_fct_##A, 2, a, b);   \
+static uintptr_t my_Comment_fct_##A = 0;                        \
+static void my_Comment_##A(void* a, void* b)                    \
+{                                                               \
+    RunFunctionFmt(my_Comment_fct_##A, "pp", a, b);       \
 }
 SUPER()
 #undef GO
@@ -254,10 +254,10 @@ static void* find_Comment_Fct(void* fct)
 }
 // StartCdataSection ...
 #define GO(A)   \
-static uintptr_t my_StartCdataSection_fct_##A = 0;                     \
-static void my_StartCdataSection_##A(void* data)                       \
-{                                                                      \
-    RunFunction(my_context, my_StartCdataSection_fct_##A, 1, data);    \
+static uintptr_t my_StartCdataSection_fct_##A = 0;                       \
+static void my_StartCdataSection_##A(void* data)                         \
+{                                                                        \
+    RunFunctionFmt(my_StartCdataSection_fct_##A, "p", data);      \
 }
 SUPER()
 #undef GO
@@ -276,10 +276,10 @@ static void* find_StartCdataSection_Fct(void* fct)
 }
 // EndCdataSection ...
 #define GO(A)   \
-static uintptr_t my_EndCdataSection_fct_##A = 0;                   \
-static void my_EndCdataSection_##A(void* data)                     \
-{                                                                  \
-    RunFunction(my_context, my_EndCdataSection_fct_##A, 1, data);  \
+static uintptr_t my_EndCdataSection_fct_##A = 0;                       \
+static void my_EndCdataSection_##A(void* data)                         \
+{                                                                      \
+    RunFunctionFmt(my_EndCdataSection_fct_##A, "p", data);        \
 }
 SUPER()
 #undef GO
@@ -298,10 +298,10 @@ static void* find_EndCdataSection_Fct(void* fct)
 }
 // Default ...
 #define GO(A)   \
-static uintptr_t my_Default_fct_##A = 0;                              \
-static void my_Default_##A(void* data, void* name, int len)           \
-{                                                                     \
-    RunFunction(my_context, my_Default_fct_##A, 3, data, name, len);  \
+static uintptr_t my_Default_fct_##A = 0;                                    \
+static void my_Default_##A(void* data, void* name, int len)                 \
+{                                                                           \
+    RunFunctionFmt(my_Default_fct_##A, "ppi", data, name, len);       \
 }
 SUPER()
 #undef GO
@@ -320,10 +320,10 @@ static void* find_Default_Fct(void* fct)
 }
 // StartDoctypeDecl ...
 #define GO(A)   \
-static uintptr_t my_StartDoctypeDecl_fct_##A = 0;                               \
-static void my_StartDoctypeDecl_##A(void* a, void* b, void* c, void* d, int e)  \
-{                                                                               \
-    RunFunction(my_context, my_StartDoctypeDecl_fct_##A, 5, a, b, c, d, e);     \
+static uintptr_t my_StartDoctypeDecl_fct_##A = 0;                                    \
+static void my_StartDoctypeDecl_##A(void* a, void* b, void* c, void* d, int e)       \
+{                                                                                    \
+    RunFunctionFmt(my_StartDoctypeDecl_fct_##A, "ppppi", a, b, c, d, e);      \
 }
 SUPER()
 #undef GO
@@ -342,10 +342,10 @@ static void* find_StartDoctypeDecl_Fct(void* fct)
 }
 // EndDoctypeDecl ...
 #define GO(A)   \
-static uintptr_t my_EndDoctypeDecl_fct_##A = 0;                     \
-static void my_EndDoctypeDecl_##A(void* data)                       \
-{                                                                   \
-    RunFunction(my_context, my_EndDoctypeDecl_fct_##A, 1, data);    \
+static uintptr_t my_EndDoctypeDecl_fct_##A = 0;                       \
+static void my_EndDoctypeDecl_##A(void* data)                         \
+{                                                                     \
+    RunFunctionFmt(my_EndDoctypeDecl_fct_##A, "p", data);         \
 }
 SUPER()
 #undef GO
@@ -364,10 +364,10 @@ static void* find_EndDoctypeDecl_Fct(void* fct)
 }
 // EntityDecl ...
 #define GO(A)   \
-static uintptr_t my_EntityDecl_fct_##A = 0;                                                                 \
-static void my_EntityDecl_##A(void* a, void* b, int c, void* d, int e, void* f, void* g, void* h, void* i)  \
-{                                                                                                           \
-    RunFunction(my_context, my_EntityDecl_fct_##A, 9, a, b, c, d, e, f, g, h, i);                           \
+static uintptr_t my_EntityDecl_fct_##A = 0;                                                                \
+static void my_EntityDecl_##A(void* a, void* b, int c, void* d, int e, void* f, void* g, void* h, void* i) \
+{                                                                                                          \
+    RunFunctionFmt(my_EntityDecl_fct_##A, "ppipipppp", a, b, c, d, e, f, g, h, i);                    \
 }
 SUPER()
 #undef GO
@@ -386,10 +386,10 @@ static void* find_EntityDecl_Fct(void* fct)
 }
 // ElementDecl ...
 #define GO(A)   \
-static uintptr_t my_ElementDecl_fct_##A = 0;                        \
-static void my_ElementDecl_##A(void* a, void* b, void* c)           \
-{                                                                   \
-    RunFunction(my_context, my_ElementDecl_fct_##A, 3, a, b, c);    \
+static uintptr_t my_ElementDecl_fct_##A = 0;                            \
+static void my_ElementDecl_##A(void* a, void* b, void* c)               \
+{                                                                       \
+    RunFunctionFmt(my_ElementDecl_fct_##A, "ppp", a, b, c);       \
 }
 SUPER()
 #undef GO
@@ -408,10 +408,10 @@ static void* find_ElementDecl_Fct(void* fct)
 }
 // UnknownEncoding ...
 #define GO(A)   \
-static uintptr_t my_UnknownEncoding_fct_##A = 0;                                    \
-static int my_UnknownEncoding_##A(void* a, void* b, void* c)                        \
-{                                                                                   \
-    return (int)RunFunction(my_context, my_UnknownEncoding_fct_##A, 3, a, b, c);    \
+static uintptr_t my_UnknownEncoding_fct_##A = 0;                                        \
+static int my_UnknownEncoding_##A(void* a, void* b, void* c)                            \
+{                                                                                       \
+    return (int)RunFunctionFmt(my_UnknownEncoding_fct_##A, "ppp", a, b, c);       \
 }
 SUPER()
 #undef GO
@@ -433,7 +433,7 @@ static void* find_UnknownEncoding_Fct(void* fct)
 static uintptr_t my_UnparsedEntityDecl_fct_##A = 0;                                         \
 static void my_UnparsedEntityDecl_##A(void* a, void* b, void* c, void* d, void* e, void* f) \
 {                                                                                           \
-    RunFunction(my_context, my_UnparsedEntityDecl_fct_##A, 6, a, b, c, d, e, f);            \
+    RunFunctionFmt(my_UnparsedEntityDecl_fct_##A, "pppppp", a, b, c, d, e, f);        \
 }
 SUPER()
 #undef GO
@@ -452,10 +452,10 @@ static void* find_UnparsedEntityDecl_Fct(void* fct)
 }
 // NotationDecl ...
 #define GO(A)   \
-static uintptr_t my_NotationDecl_fct_##A = 0;                                   \
-static void my_NotationDecl_##A(void* a, void* b, void* c, void* d, void* e)    \
-{                                                                               \
-    RunFunction(my_context, my_NotationDecl_fct_##A, 5, a, b, c, d, e);         \
+static uintptr_t my_NotationDecl_fct_##A = 0;                                    \
+static void my_NotationDecl_##A(void* a, void* b, void* c, void* d, void* e)     \
+{                                                                                \
+    RunFunctionFmt(my_NotationDecl_fct_##A, "ppppp", a, b, c, d, e);      \
 }
 SUPER()
 #undef GO
@@ -474,10 +474,10 @@ static void* find_NotationDecl_Fct(void* fct)
 }
 // NotStandalone ...
 #define GO(A)   \
-static uintptr_t my_NotStandalone_fct_##A = 0;                              \
-static int my_NotStandalone_##A(void* data)                                 \
-{                                                                           \
-    return (int)RunFunction(my_context, my_NotStandalone_fct_##A, 1, data); \
+static uintptr_t my_NotStandalone_fct_##A = 0;                                   \
+static int my_NotStandalone_##A(void* data)                                      \
+{                                                                                \
+    return (int)RunFunctionFmt(my_NotStandalone_fct_##A, "p", data);      \
 }
 SUPER()
 #undef GO
@@ -496,10 +496,10 @@ static void* find_NotStandalone_Fct(void* fct)
 }
 // ExternalEntityRef ...
 #define GO(A)   \
-static uintptr_t my_ExternalEntityRef_fct_##A = 0;                                          \
-static int my_ExternalEntityRef_##A(void* a, void* b, void* c, void* d, void* e)            \
-{                                                                                           \
-    return (int)RunFunction(my_context, my_ExternalEntityRef_fct_##A, 5, a, b, c, d, e);    \
+static uintptr_t my_ExternalEntityRef_fct_##A = 0;                                                \
+static int my_ExternalEntityRef_##A(void* a, void* b, void* c, void* d, void* e)                  \
+{                                                                                                 \
+    return (int)RunFunctionFmt(my_ExternalEntityRef_fct_##A, "ppppp", a, b, c, d, e);         \
 }
 SUPER()
 #undef GO
@@ -518,10 +518,10 @@ static void* find_ExternalEntityRef_Fct(void* fct)
 }
 // XmlDecl ...
 #define GO(A)   \
-static uintptr_t my_XmlDecl_fct_##A = 0;                        \
-static void my_XmlDecl_##A(void* a, void* b, void* c, int d)    \
-{                                                               \
-    RunFunction(my_context, my_XmlDecl_fct_##A, 4, a, b, c, d); \
+static uintptr_t my_XmlDecl_fct_##A = 0;                                \
+static void my_XmlDecl_##A(void* a, void* b, void* c, int d)            \
+{                                                                       \
+    RunFunctionFmt(my_XmlDecl_fct_##A, "pppi", a, b, c, d);       \
 }
 SUPER()
 #undef GO
@@ -543,7 +543,7 @@ static void* find_XmlDecl_Fct(void* fct)
 static uintptr_t my_AttlistDecl_fct_##A = 0;                                        \
 static void my_AttlistDecl_##A(void* a, void* b, void* c, void* d, void* e, int f)  \
 {                                                                                   \
-    RunFunction(my_context, my_AttlistDecl_fct_##A, 6, a, b, c, d, e, f);           \
+    RunFunctionFmt(my_AttlistDecl_fct_##A, "pppppi", a, b, c, d, e, f);       \
 }
 SUPER()
 #undef GO
@@ -562,10 +562,10 @@ static void* find_AttlistDecl_Fct(void* fct)
 }
 // SkippedEntity ...
 #define GO(A)   \
-static uintptr_t my_SkippedEntity_fct_##A = 0;                      \
-static void my_SkippedEntity_##A(void* a, void* b, int c)           \
-{                                                                   \
-    RunFunction(my_context, my_SkippedEntity_fct_##A, 3, a, b, c);  \
+static uintptr_t my_SkippedEntity_fct_##A = 0;                            \
+static void my_SkippedEntity_##A(void* a, void* b, int c)                 \
+{                                                                         \
+    RunFunctionFmt(my_SkippedEntity_fct_##A, "ppi", a, b, c);         \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedfaudio.c b/src/wrapped/wrappedfaudio.c
index ae4d3379..619799ec 100644
--- a/src/wrapped/wrappedfaudio.c
+++ b/src/wrapped/wrappedfaudio.c
@@ -34,10 +34,10 @@ GO(4)
 
 // FAudioMalloc ...
 #define GO(A)   \
-static uintptr_t my_FAudioMalloc_fct_##A = 0;                               \
-static void* my_FAudioMalloc_##A(size_t a)                                  \
-{                                                                           \
-    return (void*)RunFunction(my_context, my_FAudioMalloc_fct_##A, 1, a);   \
+static uintptr_t my_FAudioMalloc_fct_##A = 0;                                  \
+static void* my_FAudioMalloc_##A(size_t a)                                     \
+{                                                                              \
+    return (void*)RunFunctionFmt(my_FAudioMalloc_fct_##A, "L", a);        \
 }
 SUPER()
 #undef GO
@@ -56,10 +56,10 @@ static void* find_FAudioMalloc_Fct(void* fct)
 }
 // FAudioFree ...
 #define GO(A)   \
-static uintptr_t my_FAudioFree_fct_##A = 0;                 \
-static void my_FAudioFree_##A(void* a)                      \
-{                                                           \
-    RunFunction(my_context, my_FAudioFree_fct_##A, 1, a);   \
+static uintptr_t my_FAudioFree_fct_##A = 0;                    \
+static void my_FAudioFree_##A(void* a)                         \
+{                                                              \
+    RunFunctionFmt(my_FAudioFree_fct_##A, "p", a);        \
 }
 SUPER()
 #undef GO
@@ -78,10 +78,10 @@ static void* find_FAudioFree_Fct(void* fct)
 }
 // FAudioRealloc ...
 #define GO(A)   \
-static uintptr_t my_FAudioRealloc_fct_##A = 0;                                  \
-static void* my_FAudioRealloc_##A(void* a, size_t b)                            \
-{                                                                               \
-    return (void*)RunFunction(my_context, my_FAudioRealloc_fct_##A, 2, a, b);   \
+static uintptr_t my_FAudioRealloc_fct_##A = 0;                                      \
+static void* my_FAudioRealloc_##A(void* a, size_t b)                                \
+{                                                                                   \
+    return (void*)RunFunctionFmt(my_FAudioRealloc_fct_##A, "pL", a, b);       \
 }
 SUPER()
 #undef GO
@@ -100,10 +100,10 @@ static void* find_FAudioRealloc_Fct(void* fct)
 }
 // OnCriticalErrorFunc ...
 #define GO(A)   \
-static uintptr_t my_OnCriticalErrorFunc_fct_##A = 0;                    \
-static void my_OnCriticalErrorFunc_##A(void* a, uint32_t b)             \
-{                                                                       \
-    RunFunction(my_context, my_OnCriticalErrorFunc_fct_##A, 2, a, b);   \
+static uintptr_t my_OnCriticalErrorFunc_fct_##A = 0;                        \
+static void my_OnCriticalErrorFunc_##A(void* a, uint32_t b)                 \
+{                                                                           \
+    RunFunctionFmt(my_OnCriticalErrorFunc_fct_##A, "pu", a, b);       \
 }
 SUPER()
 #undef GO
@@ -122,10 +122,10 @@ static void* find_OnCriticalErrorFunc_Fct(void* fct)
 }
 // OnProcessingPassEndFunc ...
 #define GO(A)   \
-static uintptr_t my_OnProcessingPassEndFunc_fct_##A = 0;                \
-static void my_OnProcessingPassEndFunc_##A(void* a)                     \
-{                                                                       \
-    RunFunction(my_context, my_OnProcessingPassEndFunc_fct_##A, 1, a);  \
+static uintptr_t my_OnProcessingPassEndFunc_fct_##A = 0;                    \
+static void my_OnProcessingPassEndFunc_##A(void* a)                         \
+{                                                                           \
+    RunFunctionFmt(my_OnProcessingPassEndFunc_fct_##A, "p", a);       \
 }
 SUPER()
 #undef GO
@@ -144,10 +144,10 @@ static void* find_OnProcessingPassEndFunc_Fct(void* fct)
 }
 // OnProcessingPassStartFunc ...
 #define GO(A)   \
-static uintptr_t my_OnProcessingPassStartFunc_fct_##A = 0;                \
-static void my_OnProcessingPassStartFunc_##A(void* a)                     \
-{                                                                       \
-    RunFunction(my_context, my_OnProcessingPassStartFunc_fct_##A, 1, a);  \
+static uintptr_t my_OnProcessingPassStartFunc_fct_##A = 0;                    \
+static void my_OnProcessingPassStartFunc_##A(void* a)                         \
+{                                                                             \
+    RunFunctionFmt(my_OnProcessingPassStartFunc_fct_##A, "p", a);         \
 }
 SUPER()
 #undef GO
@@ -172,10 +172,10 @@ typedef struct my_FAudioEngineCallback_s
 } my_FAudioEngineCallback_t;
 // OnBufferEndFunc ...
 #define GO(A)   \
-static uintptr_t my_OnBufferEndFunc_fct_##A = 0;                    \
-static void my_OnBufferEndFunc_##A(void* a, void* b)                \
-{                                                                   \
-    RunFunction(my_context, my_OnBufferEndFunc_fct_##A, 2, a, b);   \
+static uintptr_t my_OnBufferEndFunc_fct_##A = 0;                        \
+static void my_OnBufferEndFunc_##A(void* a, void* b)                    \
+{                                                                       \
+    RunFunctionFmt(my_OnBufferEndFunc_fct_##A, "pp", a, b);       \
 }
 SUPER()
 #undef GO
@@ -194,10 +194,10 @@ static void* find_OnBufferEndFunc_Fct(void* fct)
 }
 // OnBufferStartFunc ...
 #define GO(A)   \
-static uintptr_t my_OnBufferStartFunc_fct_##A = 0;                    \
-static void my_OnBufferStartFunc_##A(void* a, void* b)                \
-{                                                                   \
-    RunFunction(my_context, my_OnBufferStartFunc_fct_##A, 2, a, b);   \
+static uintptr_t my_OnBufferStartFunc_fct_##A = 0;                        \
+static void my_OnBufferStartFunc_##A(void* a, void* b)                    \
+{                                                                         \
+    RunFunctionFmt(my_OnBufferStartFunc_fct_##A, "pp", a, b);         \
 }
 SUPER()
 #undef GO
@@ -216,10 +216,10 @@ static void* find_OnBufferStartFunc_Fct(void* fct)
 }
 // OnLoopEndFunc ...
 #define GO(A)   \
-static uintptr_t my_OnLoopEndFunc_fct_##A = 0;                    \
-static void my_OnLoopEndFunc_##A(void* a, void* b)                \
-{                                                                   \
-    RunFunction(my_context, my_OnLoopEndFunc_fct_##A, 2, a, b);   \
+static uintptr_t my_OnLoopEndFunc_fct_##A = 0;                        \
+static void my_OnLoopEndFunc_##A(void* a, void* b)                    \
+{                                                                     \
+    RunFunctionFmt(my_OnLoopEndFunc_fct_##A, "pp", a, b);         \
 }
 SUPER()
 #undef GO
@@ -238,10 +238,10 @@ static void* find_OnLoopEndFunc_Fct(void* fct)
 }
 // OnStreamEndFunc ...
 #define GO(A)   \
-static uintptr_t my_OnStreamEndFunc_fct_##A = 0;                \
-static void my_OnStreamEndFunc_##A(void* a)                     \
-{                                                               \
-    RunFunction(my_context, my_OnStreamEndFunc_fct_##A, 1, a);  \
+static uintptr_t my_OnStreamEndFunc_fct_##A = 0;                    \
+static void my_OnStreamEndFunc_##A(void* a)                         \
+{                                                                   \
+    RunFunctionFmt(my_OnStreamEndFunc_fct_##A, "p", a);       \
 }
 SUPER()
 #undef GO
@@ -260,10 +260,10 @@ static void* find_OnStreamEndFunc_Fct(void* fct)
 }
 // OnVoiceErrorFunc ...
 #define GO(A)   \
-static uintptr_t my_OnVoiceErrorFunc_fct_##A = 0;                       \
-static void my_OnVoiceErrorFunc_##A(void* a, void* b, uint32_t c)       \
-{                                                                       \
-    RunFunction(my_context, my_OnVoiceErrorFunc_fct_##A, 3, a, b, c);   \
+static uintptr_t my_OnVoiceErrorFunc_fct_##A = 0;                            \
+static void my_OnVoiceErrorFunc_##A(void* a, void* b, uint32_t c)            \
+{                                                                            \
+    RunFunctionFmt(my_OnVoiceErrorFunc_fct_##A, "ppu", a, b, c);      \
 }
 SUPER()
 #undef GO
@@ -282,10 +282,10 @@ static void* find_OnVoiceErrorFunc_Fct(void* fct)
 }
 // OnVoiceProcessingPassEndFunc ...
 #define GO(A)   \
-static uintptr_t my_OnVoiceProcessingPassEndFunc_fct_##A = 0;                \
-static void my_OnVoiceProcessingPassEndFunc_##A(void* a)                     \
-{                                                               \
-    RunFunction(my_context, my_OnVoiceProcessingPassEndFunc_fct_##A, 1, a);  \
+static uintptr_t my_OnVoiceProcessingPassEndFunc_fct_##A = 0;                    \
+static void my_OnVoiceProcessingPassEndFunc_##A(void* a)                         \
+{                                                                                \
+    RunFunctionFmt(my_OnVoiceProcessingPassEndFunc_fct_##A, "p", a);      \
 }
 SUPER()
 #undef GO
@@ -304,10 +304,10 @@ static void* find_OnVoiceProcessingPassEndFunc_Fct(void* fct)
 }
 // OnVoiceProcessingPassStartFunc ...
 #define GO(A)   \
-static uintptr_t my_OnVoiceProcessingPassStartFunc_fct_##A = 0;                     \
-static void my_OnVoiceProcessingPassStartFunc_##A(void* a, uint32_t b)              \
-{                                                                                   \
-    RunFunction(my_context, my_OnVoiceProcessingPassStartFunc_fct_##A, 2, a, b);    \
+static uintptr_t my_OnVoiceProcessingPassStartFunc_fct_##A = 0;                        \
+static void my_OnVoiceProcessingPassStartFunc_##A(void* a, uint32_t b)                 \
+{                                                                                      \
+    RunFunctionFmt(my_OnVoiceProcessingPassStartFunc_fct_##A, "pu", a, b);        \
 }
 SUPER()
 #undef GO
@@ -336,10 +336,10 @@ typedef struct my_FAudioVoiceCallback_s
 } my_FAudioVoiceCallback_t;
 // FAudioEngineCallEXT ...
 #define GO(A)   \
-static uintptr_t my_FAudioEngineCallEXT_fct_##A = 0;                    \
-static void my_FAudioEngineCallEXT_##A(void* a, void* b)                \
-{                                                                       \
-    RunFunction(my_context, my_FAudioEngineCallEXT_fct_##A, 2, a, b);   \
+static uintptr_t my_FAudioEngineCallEXT_fct_##A = 0;                        \
+static void my_FAudioEngineCallEXT_##A(void* a, void* b)                    \
+{                                                                           \
+    RunFunctionFmt(my_FAudioEngineCallEXT_fct_##A, "pp", a, b);       \
 }
 SUPER()
 #undef GO
@@ -358,10 +358,10 @@ static void* find_FAudioEngineCallEXT_Fct(void* fct)
 }
 // FAudioEngineProcedureEXT ...
 #define GO(A)   \
-static uintptr_t my_FAudioEngineProcedureEXT_fct_##A = 0;                                                       \
-static void my_FAudioEngineProcedureEXT_##A(void* a, void* b, void* c, void* d)                                 \
-{                                                                                                               \
-    RunFunction(my_context, my_FAudioEngineProcedureEXT_fct_##A, 4, find_FAudioEngineCallEXT_Fct(a), b, c, d);  \
+static uintptr_t my_FAudioEngineProcedureEXT_fct_##A = 0;                                                              \
+static void my_FAudioEngineProcedureEXT_##A(void* a, void* b, void* c, void* d)                                        \
+{                                                                                                                      \
+    RunFunctionFmt(my_FAudioEngineProcedureEXT_fct_##A, "pppp", find_FAudioEngineCallEXT_Fct(a), b, c, d);        \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedflac.c b/src/wrapped/wrappedflac.c
index 4bff742f..bc1919ca 100644
--- a/src/wrapped/wrappedflac.c
+++ b/src/wrapped/wrappedflac.c
@@ -51,10 +51,10 @@ GO(7)
 
 // read_write
 #define GO(A)   \
-static uintptr_t my_read_write_fct_##A = 0;   \
-static unsigned long my_read_write_##A(void* ptr, unsigned long size, unsigned long nmemb, void* handle)     \
-{                                       \
-    return RunFunction(my_context, my_read_write_fct_##A, 4, ptr, size, nmemb, handle);\
+static uintptr_t my_read_write_fct_##A = 0;                                                              \
+static unsigned long my_read_write_##A(void* ptr, unsigned long size, unsigned long nmemb, void* handle) \
+{                                                                                                        \
+    return RunFunctionFmt(my_read_write_fct_##A, "pLLp", ptr, size, nmemb, handle);               \
 }
 SUPER()
 #undef GO
@@ -73,10 +73,10 @@ static void* findread_writeFct(void* fct)
 }
 // seek
 #define GO(A)   \
-static uintptr_t my_seek_fct_##A = 0;   \
-static int my_seek_##A(void* ptr, int64_t offset, int whence)     \
-{                                       \
-    return (int)RunFunction(my_context, my_seek_fct_##A, 3, ptr, offset, whence);\
+static uintptr_t my_seek_fct_##A = 0;                                                    \
+static int my_seek_##A(void* ptr, int64_t offset, int whence)                            \
+{                                                                                        \
+    return (int)RunFunctionFmt(my_seek_fct_##A, "pIi", ptr, offset, whence);      \
 }
 SUPER()
 #undef GO
@@ -95,10 +95,10 @@ static void* findseekFct(void* fct)
 }
 // close_eof
 #define GO(A)   \
-static uintptr_t my_close_eof_fct_##A = 0;   \
-static int my_close_eof_##A(void* ptr)     \
-{                   \
-    return (int)RunFunction(my_context, my_close_eof_fct_##A, 1, ptr);\
+static uintptr_t my_close_eof_fct_##A = 0;                                  \
+static int my_close_eof_##A(void* ptr)                                      \
+{                                                                           \
+    return (int)RunFunctionFmt(my_close_eof_fct_##A, "p", ptr);       \
 }
 SUPER()
 #undef GO
@@ -117,10 +117,10 @@ static void* findclose_eofFct(void* fct)
 }
 // tell
 #define GO(A)   \
-static uintptr_t my_tell_fct_##A = 0;   \
-static long my_tell_##A(void* ptr)     \
-{                                       \
-    return (long)RunFunction(my_context, my_tell_fct_##A, 1, ptr);\
+static uintptr_t my_tell_fct_##A = 0;                                   \
+static long my_tell_##A(void* ptr)                                      \
+{                                                                       \
+    return (long)RunFunctionFmt(my_tell_fct_##A, "p", ptr);       \
 }
 SUPER()
 #undef GO
@@ -138,11 +138,11 @@ static void* findtellFct(void* fct)
     return NULL;
 }
 // Read
-#define GO(A)                                                                               \
-static uintptr_t my_Read_fct_##A = 0;                                                       \
-static int my_Read_##A(void* decoder, void* buffer, size_t* bytes, void* data)              \
-{                                                                                           \
-    return (int)RunFunction(my_context, my_Read_fct_##A, 4, decoder, buffer, bytes, data);  \
+#define GO(A)   \
+static uintptr_t my_Read_fct_##A = 0;                                                              \
+static int my_Read_##A(void* decoder, void* buffer, size_t* bytes, void* data)                     \
+{                                                                                                  \
+    return (int)RunFunctionFmt(my_Read_fct_##A, "pppp", decoder, buffer, bytes, data);        \
 }
 SUPER()
 #undef GO
@@ -160,11 +160,11 @@ static void* findReadFct(void* fct)
     return NULL;
 }
 // Seek
-#define GO(A)                                                                       \
-static uintptr_t my_Seek_fct_##A = 0;                                               \
-static int my_Seek_##A(void* decoder, uint64_t offset, void* data)                  \
-{                                                                                   \
-    return (int)RunFunction(my_context, my_Seek_fct_##A, 3, decoder, offset, data); \
+#define GO(A)   \
+static uintptr_t my_Seek_fct_##A = 0;                                                      \
+static int my_Seek_##A(void* decoder, uint64_t offset, void* data)                         \
+{                                                                                          \
+    return (int)RunFunctionFmt(my_Seek_fct_##A, "pUp", decoder, offset, data);        \
 }
 SUPER()
 #undef GO
@@ -182,11 +182,11 @@ static void* findSeekFct(void* fct)
     return NULL;
 }
 // Tell
-#define GO(A)                                                                       \
-static uintptr_t my_Tell_fct_##A = 0;                                               \
-static int my_Tell_##A(void* decoder, uint64_t *offset, void* data)                 \
-{                                                                                   \
-    return (int)RunFunction(my_context, my_Tell_fct_##A, 3, decoder, offset, data); \
+#define GO(A)   \
+static uintptr_t my_Tell_fct_##A = 0;                                                      \
+static int my_Tell_##A(void* decoder, uint64_t *offset, void* data)                        \
+{                                                                                          \
+    return (int)RunFunctionFmt(my_Tell_fct_##A, "ppp", decoder, offset, data);        \
 }
 SUPER()
 #undef GO
@@ -204,11 +204,11 @@ static void* findTellFct(void* fct)
     return NULL;
 }
 // Length
-#define GO(A)                                                                           \
-static uintptr_t my_Length_fct_##A = 0;                                                 \
-static int my_Length_##A(void* decoder, uint64_t *length, void* data)                   \
-{                                                                                       \
-    return (int)RunFunction(my_context, my_Length_fct_##A, 3, decoder, length, data);   \
+#define GO(A)                                                                                \
+static uintptr_t my_Length_fct_##A = 0;                                                      \
+static int my_Length_##A(void* decoder, uint64_t *length, void* data)                        \
+{                                                                                            \
+    return (int)RunFunctionFmt(my_Length_fct_##A, "ppp", decoder, length, data);      \
 }
 SUPER()
 #undef GO
@@ -226,11 +226,11 @@ static void* findLengthFct(void* fct)
     return NULL;
 }
 // Eof
-#define GO(A)                                                               \
-static uintptr_t my_Eof_fct_##A = 0;                                        \
-static int my_Eof_##A(void* decoder, void* data)                            \
-{                                                                           \
-    return (int)RunFunction(my_context, my_Eof_fct_##A, 2, decoder, data);  \
+#define GO(A)   \
+static uintptr_t my_Eof_fct_##A = 0;                                             \
+static int my_Eof_##A(void* decoder, void* data)                                 \
+{                                                                                \
+    return (int)RunFunctionFmt(my_Eof_fct_##A, "pp", decoder, data);      \
 }
 SUPER()
 #undef GO
@@ -248,11 +248,11 @@ static void* findEofFct(void* fct)
     return NULL;
 }
 // Write
-#define GO(A)                                                                               \
-static uintptr_t my_Write_fct_##A = 0;                                                      \
-static int my_Write_##A(void* decoder, void* frame, void* buffer, void* data)               \
-{                                                                                           \
-    return (int)RunFunction(my_context, my_Write_fct_##A, 4, decoder, frame, buffer, data); \
+#define GO(A)   \
+static uintptr_t my_Write_fct_##A = 0;                                                              \
+static int my_Write_##A(void* decoder, void* frame, void* buffer, void* data)                       \
+{                                                                                                   \
+    return (int)RunFunctionFmt(my_Write_fct_##A, "pppp", decoder, frame, buffer, data);       \
 }
 SUPER()
 #undef GO
@@ -270,11 +270,11 @@ static void* findWriteFct(void* fct)
     return NULL;
 }
 // Metadata
-#define GO(A)                                                                               \
-static uintptr_t my_Metadata_fct_##A = 0;                                                   \
-static int my_Metadata_##A(void* decoder, void* metadata, void* data)                       \
-{                                                                                           \
-    return (int)RunFunction(my_context, my_Metadata_fct_##A, 3, decoder, metadata, data);   \
+#define GO(A)   \
+static uintptr_t my_Metadata_fct_##A = 0;                                                        \
+static int my_Metadata_##A(void* decoder, void* metadata, void* data)                            \
+{                                                                                                \
+    return (int)RunFunctionFmt(my_Metadata_fct_##A, "ppp", decoder, metadata, data);      \
 }
 SUPER()
 #undef GO
@@ -292,11 +292,11 @@ static void* findMetadataFct(void* fct)
     return NULL;
 }
 // Error
-#define GO(A)                                                               \
-static uintptr_t my_Error_fct_##A = 0;                                      \
-static void my_Error_##A(void* decoder, int status, void* data)             \
-{                                                                           \
-    RunFunction(my_context, my_Error_fct_##A, 3, decoder, status, data);    \
+#define GO(A)   \
+static uintptr_t my_Error_fct_##A = 0;                                          \
+static void my_Error_##A(void* decoder, int status, void* data)                 \
+{                                                                               \
+    RunFunctionFmt(my_Error_fct_##A, "pip", decoder, status, data);       \
 }
 SUPER()
 #undef GO
@@ -317,7 +317,7 @@ static void* findErrorFct(void* fct)
 
 #undef SUPER
 
-EXPORT int my_FLAC__metadata_chain_read_with_callbacks(x64emu_t* emu, void* chain, void* handle, 
+EXPORT int my_FLAC__metadata_chain_read_with_callbacks(x64emu_t* emu, void* chain, void* handle,
     void* read_fnc, void* write_fnc, void* seek_fnc, void* tell_fnc, void* eof_fnc, void* close_fnc)
 {
     flac_callbacks cbs = {0};
@@ -332,10 +332,10 @@ EXPORT int my_FLAC__metadata_chain_read_with_callbacks(x64emu_t* emu, void* chai
 }
 
 EXPORT int my_FLAC__stream_decoder_init_stream(x64emu_t* emu, void* decoder,
-    void* read_fnc, void* seek_fnc, void* tell_fnc, void* length_fnc, void* eof_fnc, 
+    void* read_fnc, void* seek_fnc, void* tell_fnc, void* length_fnc, void* eof_fnc,
     void* write_fnc, void* metadata_fnc, void* error_fnc, void* data)
 {
-    int ret =  my->FLAC__stream_decoder_init_stream(decoder, 
+    int ret =  my->FLAC__stream_decoder_init_stream(decoder,
         findReadFct(read_fnc), findSeekFct(seek_fnc), findTellFct(tell_fnc),
         findLengthFct(length_fnc), findEofFct(eof_fnc), findWriteFct(write_fnc),
         findMetadataFct(metadata_fnc), findErrorFct(error_fnc), data);
diff --git a/src/wrapped/wrappedfreetype.c b/src/wrapped/wrappedfreetype.c
index aacad276..4ced9be3 100644
--- a/src/wrapped/wrappedfreetype.c
+++ b/src/wrapped/wrappedfreetype.c
@@ -133,10 +133,10 @@ GO(4)
 
 // FT_Generic_Finalizer
 #define GO(A)   \
-static uintptr_t my_FT_Generic_Finalizer_fct_##A = 0;                       \
-static void my_FT_Generic_Finalizer_##A(void* object)                       \
-{                                                                           \
-    RunFunction(my_context, my_FT_Generic_Finalizer_fct_##A, 1, object);    \
+static uintptr_t my_FT_Generic_Finalizer_fct_##A = 0;                         \
+static void my_FT_Generic_Finalizer_##A(void* object)                         \
+{                                                                             \
+    RunFunctionFmt(my_FT_Generic_Finalizer_fct_##A, "p", object);         \
 }
 SUPER()
 #undef GO
@@ -156,15 +156,15 @@ static void* find_FT_Generic_Finalizer_Fct(void* fct)
 }
 // FTC_Face_Requester
 #define GO(A)   \
-static uintptr_t my_FTC_Face_Requester_fct_##A = 0;                                                     \
-static int my_FTC_Face_Requester_##A(void* face_id, void* lib, void* req, void* aface)                  \
-{                                                                                                       \
-    int ret = (int)RunFunction(my_context, my_FTC_Face_Requester_fct_##A, 4, face_id, lib, req, aface); \
-    if(aface && *(void**)aface) {                                                                       \
-        FT_FaceRec_t *f = *(FT_FaceRec_t**)aface;                                                       \
-        f->generic.finalizer = find_FT_Generic_Finalizer_Fct(f->generic.finalizer);                     \
-    }                                                                                                   \
-    return ret;                                                                                         \
+static uintptr_t my_FTC_Face_Requester_fct_##A = 0;                                                             \
+static int my_FTC_Face_Requester_##A(void* face_id, void* lib, void* req, void* aface)                          \
+{                                                                                                               \
+    int ret = (int)RunFunctionFmt(my_FTC_Face_Requester_fct_##A, "pppp", face_id, lib, req, aface);       \
+    if(aface && *(void**)aface) {                                                                               \
+        FT_FaceRec_t *f = *(FT_FaceRec_t**)aface;                                                               \
+        f->generic.finalizer = find_FT_Generic_Finalizer_Fct(f->generic.finalizer);                             \
+    }                                                                                                           \
+    return ret;                                                                                                 \
 }
 SUPER()
 #undef GO
@@ -184,10 +184,10 @@ static void* find_FTC_Face_Requester_Fct(void* fct)
 }
 // FT_Alloc
 #define GO(A)   \
-static uintptr_t my_FT_Alloc_fct_##A = 0;                                       \
-static void* my_FT_Alloc_##A(void* memory, long size)                           \
-{                                                                               \
-    return (void*)RunFunction(my_context, my_FT_Alloc_fct_##A, 2, memory, size);\
+static uintptr_t my_FT_Alloc_fct_##A = 0;                                              \
+static void* my_FT_Alloc_##A(void* memory, long size)                                  \
+{                                                                                      \
+    return (void*)RunFunctionFmt(my_FT_Alloc_fct_##A, "pl", memory, size);        \
 }
 SUPER()
 #undef GO
@@ -207,10 +207,10 @@ static void* find_FT_Alloc_Fct(void* fct)
 }
 // FT_Free
 #define GO(A)   \
-static uintptr_t my_FT_Free_fct_##A = 0;                        \
-static void my_FT_Free_##A(void* memory, void* p)               \
-{                                                               \
-    RunFunction(my_context, my_FT_Free_fct_##A, 2, memory, p);  \
+static uintptr_t my_FT_Free_fct_##A = 0;                             \
+static void my_FT_Free_##A(void* memory, void* p)                    \
+{                                                                    \
+    RunFunctionFmt(my_FT_Free_fct_##A, "pp", memory, p);      \
 }
 SUPER()
 #undef GO
@@ -230,10 +230,10 @@ static void* find_FT_Free_Fct(void* fct)
 }
 // FT_Realloc
 #define GO(A)   \
-static uintptr_t my_FT_Realloc_fct_##A = 0;                                                 \
-static void* my_FT_Realloc_##A(void* memory, long cur, long size, void* p)                  \
-{                                                                                           \
-    return (void*)RunFunction(my_context, my_FT_Realloc_fct_##A, 4, memory, cur, size, p);  \
+static uintptr_t my_FT_Realloc_fct_##A = 0;                                                        \
+static void* my_FT_Realloc_##A(void* memory, long cur, long size, void* p)                         \
+{                                                                                                  \
+    return (void*)RunFunctionFmt(my_FT_Realloc_fct_##A, "pllp", memory, cur, size, p);        \
 }
 SUPER()
 #undef GO
@@ -253,10 +253,10 @@ static void* find_FT_Realloc_Fct(void* fct)
 }
 // FT_Outline_MoveToFunc
 #define GO(A)   \
-static uintptr_t my_FT_Outline_MoveToFunc_fct_##A = 0;                                  \
-static int my_FT_Outline_MoveToFunc_##A(void* to, void* user)                           \
-{                                                                                       \
-    return (int)RunFunction(my_context, my_FT_Outline_MoveToFunc_fct_##A, 2, to, user); \
+static uintptr_t my_FT_Outline_MoveToFunc_fct_##A = 0;                                        \
+static int my_FT_Outline_MoveToFunc_##A(void* to, void* user)                                 \
+{                                                                                             \
+    return (int)RunFunctionFmt(my_FT_Outline_MoveToFunc_fct_##A, "pp", to, user);         \
 }
 SUPER()
 #undef GO
@@ -277,10 +277,10 @@ static void* find_FT_Outline_MoveToFunc_Fct(void* fct)
 
 // FT_Outline_LineToFunc
 #define GO(A)   \
-static uintptr_t my_FT_Outline_LineToFunc_fct_##A = 0;                                  \
-static int my_FT_Outline_LineToFunc_##A(void* to, void* user)                           \
-{                                                                                       \
-    return (int)RunFunction(my_context, my_FT_Outline_LineToFunc_fct_##A, 2, to, user); \
+static uintptr_t my_FT_Outline_LineToFunc_fct_##A = 0;                                        \
+static int my_FT_Outline_LineToFunc_##A(void* to, void* user)                                 \
+{                                                                                             \
+    return (int)RunFunctionFmt(my_FT_Outline_LineToFunc_fct_##A, "pp", to, user);         \
 }
 SUPER()
 #undef GO
@@ -301,10 +301,10 @@ static void* find_FT_Outline_LineToFunc_Fct(void* fct)
 
 // FT_Outline_ConicToFunc
 #define GO(A)   \
-static uintptr_t my_FT_Outline_ConicToFunc_fct_##A = 0;                                         \
-static int my_FT_Outline_ConicToFunc_##A(void* ctl, void* to, void* user)                       \
-{                                                                                               \
-    return (int)RunFunction(my_context, my_FT_Outline_ConicToFunc_fct_##A, 3, ctl, to, user);   \
+static uintptr_t my_FT_Outline_ConicToFunc_fct_##A = 0;                                              \
+static int my_FT_Outline_ConicToFunc_##A(void* ctl, void* to, void* user)                            \
+{                                                                                                    \
+    return (int)RunFunctionFmt(my_FT_Outline_ConicToFunc_fct_##A, "ppp", ctl, to, user);      \
 }
 SUPER()
 #undef GO
@@ -325,10 +325,10 @@ static void* find_FT_Outline_ConicToFunc_Fct(void* fct)
 
 // FT_Outline_CubicToFunc
 #define GO(A)   \
-static uintptr_t my_FT_Outline_CubicToFunc_fct_##A = 0;                                                 \
-static int my_FT_Outline_CubicToFunc_##A(void* ctl1, void* ctl2, void* to, void* user)                  \
-{                                                                                                       \
-    return (int)RunFunction(my_context, my_FT_Outline_CubicToFunc_fct_##A, 4, ctl1, ctl2, to, user);    \
+static uintptr_t my_FT_Outline_CubicToFunc_fct_##A = 0;                                                      \
+static int my_FT_Outline_CubicToFunc_##A(void* ctl1, void* ctl2, void* to, void* user)                       \
+{                                                                                                            \
+    return (int)RunFunctionFmt(my_FT_Outline_CubicToFunc_fct_##A, "pppp", ctl1, ctl2, to, user);      \
 }
 SUPER()
 #undef GO
@@ -378,13 +378,13 @@ static FT_MemoryRec_t* find_FT_MemoryRec_Struct(FT_MemoryRec_t* s)
 static uintptr_t my_iofunc = 0;
 static unsigned long my_FT_Stream_IoFunc(FT_StreamRec_t* stream, unsigned long offset, unsigned char* buffer, unsigned long count )
 {
-    return (unsigned long)RunFunction(my_context, my_iofunc, 4, stream, offset, buffer, count);
+    return (unsigned long)RunFunctionFmt(my_iofunc, "pLpL", stream, offset, buffer, count)        ;
 }
 
 static uintptr_t my_closefunc = 0;
 static void my_FT_Stream_CloseFunc(FT_StreamRec_t* stream)
 {
-    RunFunction(my_context, my_closefunc, 1, stream);
+    RunFunctionFmt(my_closefunc, "p", stream)     ;
 }
 
 EXPORT int my_FT_Open_Face(x64emu_t* emu, void* library, FT_Open_Args_t* args, long face_index, void* aface)
diff --git a/src/wrapped/wrappedgconf2.c b/src/wrapped/wrappedgconf2.c
index 6e656f71..ec651e6e 100644
--- a/src/wrapped/wrappedgconf2.c
+++ b/src/wrapped/wrappedgconf2.c
@@ -34,10 +34,10 @@ GO(3)
 
 // GFreeFct
 #define GO(A)   \
-static uintptr_t my_GFreeFct_fct_##A = 0;               \
-static void my_GFreeFct_##A(void* a)                    \
-{                                                       \
-    RunFunction(my_context, my_GFreeFct_fct_##A, 1, a); \
+static uintptr_t my_GFreeFct_fct_##A = 0;                    \
+static void my_GFreeFct_##A(void* a)                         \
+{                                                            \
+    RunFunctionFmt(my_GFreeFct_fct_##A, "p", a);      \
 }
 SUPER()
 #undef GO
@@ -56,10 +56,10 @@ static void* findGFreeFctFct(void* fct)
 }
 // GConfClientNotifyFunc
 #define GO(A)   \
-static uintptr_t my_GConfClientNotifyFunc_fct_##A = 0;                          \
-static void my_GConfClientNotifyFunc_##A(void* a, uint32_t b, void* c, void* d) \
-{                                                                               \
-    RunFunction(my_context, my_GConfClientNotifyFunc_fct_##A, 4, a, b, c, d);   \
+static uintptr_t my_GConfClientNotifyFunc_fct_##A = 0;                                \
+static void my_GConfClientNotifyFunc_##A(void* a, uint32_t b, void* c, void* d)       \
+{                                                                                     \
+    RunFunctionFmt(my_GConfClientNotifyFunc_fct_##A, "pupp", a, b, c, d);         \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedgcrypt_private.h b/src/wrapped/wrappedgcrypt_private.h
index 07830c3d..39b2e55e 100644
--- a/src/wrapped/wrappedgcrypt_private.h
+++ b/src/wrapped/wrappedgcrypt_private.h
@@ -201,7 +201,7 @@ GO(gcry_sexp_find_token, pFppL)
 //GO(gcry_sexp_new, 
 //GO(gcry_sexp_nth, 
 //GO(gcry_sexp_nth_buffer, 
-//GO(gcry_sexp_nth_data, 
+GO(gcry_sexp_nth_data, pFpip)
 GO(gcry_sexp_nth_mpi, pFpii)
 //GO(gcry_sexp_nth_string, 
 //GO(gcry_sexp_prepend, 
diff --git a/src/wrapped/wrappedgdk3.c b/src/wrapped/wrappedgdk3.c
index 671301b9..aea28c68 100644
--- a/src/wrapped/wrappedgdk3.c
+++ b/src/wrapped/wrappedgdk3.c
@@ -37,10 +37,10 @@ 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);\
+static uintptr_t my_filter_fct_##A = 0;                                                    \
+static int my_filter_##A(void* xevent, void* event, void* data)                            \
+{                                                                                          \
+    return (int)RunFunctionFmt(my_filter_fct_##A, "ppp", xevent, event, data);        \
 }
 SUPER()
 #undef GO
@@ -54,14 +54,60 @@ static void* findFilterFct(void* fct)
     #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");
+    printf_log(LOG_NONE, "Warning, no more slot for gdk-3 GdkFilterFunc callback\n");
+    return NULL;
+}
+// GSourceFunc
+#define GO(A)   \
+static uintptr_t my_GSourceFunc_fct_##A = 0;                                \
+static int my_GSourceFunc_##A(void* a)                                      \
+{                                                                           \
+    return (int)RunFunctionFmt(my_GSourceFunc_fct_##A, "p", a);       \
+}
+SUPER()
+#undef GO
+static void* findGSourceFunc(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 gdk-3 GSourceFunc callback\n");
+    return NULL;
+}
+// GDestroyNotify
+#define GO(A)   \
+static uintptr_t my_GDestroyNotify_fct_##A = 0;                         \
+static void my_GDestroyNotify_##A(void* data)                           \
+{                                                                       \
+    RunFunctionFmt(my_GDestroyNotify_fct_##A, "p", 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 gdk-3 GDestroyNotify callback\n");
     return NULL;
 }
 
+#undef SUPER
+
 
 static void my3_event_handler(void* event, my_signal_t* sig)
 {
-    RunFunction(my_context, sig->c_handler, 2, event, sig->data);
+    RunFunctionFmt(sig->c_handler, "pp", event, sig->data)        ;
 }
 
 EXPORT void my3_gdk_event_handler_set(x64emu_t* emu, void* func, void* data, void* notify)
@@ -76,7 +122,7 @@ EXPORT void my3_gdk_event_handler_set(x64emu_t* emu, void* func, void* data, voi
 
 static void my3_input_function(my_signal_t* sig, int source, int condition)
 {
-    RunFunction(my_context, sig->c_handler, 3, sig->data, source, condition);
+    RunFunctionFmt(sig->c_handler, "pii", sig->data, source, condition)       ;
 }
 
 EXPORT int my3_gdk_input_add(x64emu_t* emu, int source, int condition, void* f, void* data)
@@ -92,7 +138,7 @@ EXPORT int my3_gdk_input_add_full(x64emu_t* emu, int source, int condition, void
 {
     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, my3_input_function, sig, my_signal_delete);
 }
@@ -120,6 +166,11 @@ EXPORT void my3_gdk_window_remove_filter(x64emu_t* emu, void* window, void* f, v
     my->gdk_window_remove_filter(window, findFilterFct(f), data);
 }
 
+EXPORT uint32_t my3_gdk_threads_add_idle_full(x64emu_t* emu, int priority, void* f, void* data, void* d)
+{
+    return my->gdk_threads_add_idle_full(priority, findGSourceFunc(f), data, findGDestroyNotifyFct(d));
+}
+
 #define PRE_INIT    \
     if(box64_nogtk) \
         return -1;
diff --git a/src/wrapped/wrappedgdk3_private.h b/src/wrapped/wrappedgdk3_private.h
index 298dbc9e..97455ee0 100644
--- a/src/wrapped/wrappedgdk3_private.h
+++ b/src/wrapped/wrappedgdk3_private.h
@@ -227,6 +227,7 @@ GO(gdk_event_get_modifier_state, iFp)
 GO(gdk_event_get_root_coords, iFppp)
 GO(gdk_event_get_screen, pFp)
 GO(gdk_event_get_state, iFpp)
+GO(gdk_event_get_source_device, pFp)
 GO(gdk_event_get_surface, pFp)
 GO(gdk_event_get_time, uFp)
 GO(gdk_event_get_type, iFv)
@@ -304,6 +305,11 @@ 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_gl_context_get_type, LFv)
+GO(gdk_gl_context_clear_current, vFv)
+GO(gdk_gl_context_get_current, pFv)
+GO(gdk_gl_context_make_current, vFp)
+GO(gdk_gl_context_realize, iFpp)
 GO(gdk_grab_status_get_type, iFv)
 GO(gdk_gravity_get_type, iFv)
 GO(gdk_image_get, pFpiiii)
@@ -559,7 +565,7 @@ GO(gdk_texture_download, vFppL)
 GO(gdk_texture_get_width, uFp)
 GO(gdk_texture_get_height, uFp)
 //GOM(gdk_threads_add_idle, uFEpp)
-//GOM(gdk_threads_add_idle_full, uFEippp)
+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)
@@ -611,6 +617,7 @@ 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_gl_context, pFpp)
 GO(gdk_window_create_similar_image_surface, pFpiiii)
 GO(gdk_window_create_similar_surface, pFpuii)
 GO(gdk_window_deiconify, vFp)
@@ -704,6 +711,7 @@ 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_background_rgba, vFpp)
 GO(gdk_window_set_back_pixmap, vFppi)
 GO(gdk_window_set_child_input_shapes, vFp)
 GO(gdk_window_set_child_shapes, vFp)
diff --git a/src/wrapped/wrappedgdkpixbuf2.c b/src/wrapped/wrappedgdkpixbuf2.c
index 1f82399d..34770c8c 100644
--- a/src/wrapped/wrappedgdkpixbuf2.c
+++ b/src/wrapped/wrappedgdkpixbuf2.c
@@ -32,10 +32,10 @@ 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);    \
+static uintptr_t my_destroy_pixbuf_fct_##A = 0;                                \
+static void my_destroy_pixbuf_##A(void* pixels, void* data)                    \
+{                                                                              \
+    RunFunctionFmt(my_destroy_pixbuf_fct_##A, "pp", pixels, data);        \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedgdkx112.c b/src/wrapped/wrappedgdkx112.c
index 4f3aeba4..cb627311 100644
--- a/src/wrapped/wrappedgdkx112.c
+++ b/src/wrapped/wrappedgdkx112.c
@@ -37,10 +37,10 @@ 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);\
+static uintptr_t my_filter_fct_##A = 0;                                                    \
+static int my_filter_##A(void* xevent, void* event, void* data)                            \
+{                                                                                          \
+    return (int)RunFunctionFmt(my_filter_fct_##A, "ppp", xevent, event, data); \
 }
 SUPER()
 #undef GO
@@ -61,7 +61,7 @@ static void* findFilterFct(void* fct)
 
 static void my_event_handler(void* event, my_signal_t* sig)
 {
-    RunFunction(my_context, sig->c_handler, 2, event, sig->data);
+    RunFunctionFmt(sig->c_handler, "pp", event, sig->data);
 }
 
 EXPORT void my_gdk_event_handler_set(x64emu_t* emu, void* func, void* data, void* notify)
@@ -76,7 +76,7 @@ EXPORT void my_gdk_event_handler_set(x64emu_t* emu, void* func, void* data, void
 
 static void my_input_function(my_signal_t* sig, int source, int condition)
 {
-    RunFunction(my_context, sig->c_handler, 3, sig->data, source, condition);
+    RunFunctionFmt(sig->c_handler, "pii", sig->data, source, condition);
 }
 
 EXPORT int my_gdk_input_add(x64emu_t* emu, int source, int condition, void* f, void* data)
@@ -92,7 +92,7 @@ EXPORT int my_gdk_input_add_full(x64emu_t* emu, int source, int condition, void*
 {
     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);
 }
diff --git a/src/wrapped/wrappedgio2.c b/src/wrapped/wrappedgio2.c
index ef379ef1..e4837e7e 100644
--- a/src/wrapped/wrappedgio2.c
+++ b/src/wrapped/wrappedgio2.c
@@ -26,8 +26,9 @@ const char* gio2Name = "libgio-2.0.so.0";
 typedef size_t(*LFv_t)(void);
 
 #define ADDED_FUNCTIONS() \
- GO(g_application_get_type, LFv_t)           \
- 
+ GO(g_application_get_type, LFv_t)          \
+ GO(g_dbus_proxy_get_type, LFv_t)           \
+
 #include "wrappedgio2types.h"
 
 #include "wrappercallback.h"
@@ -40,10 +41,10 @@ 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);\
+static uintptr_t my_GAsyncReadyCallback_fct_##A = 0;                                      \
+static void my_GAsyncReadyCallback_##A(void* source, void* res, void* data)               \
+{                                                                                         \
+    RunFunctionFmt(my_GAsyncReadyCallback_fct_##A, "ppp", source, res, data); \
 }
 SUPER()
 #undef GO
@@ -63,10 +64,10 @@ static void* findGAsyncReadyCallbackFct(void* fct)
 
 // 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);\
+static uintptr_t my_GDestroyNotify_fct_##A = 0;                       \
+static void my_GDestroyNotify_##A(void* data)                         \
+{                                                                     \
+    RunFunctionFmt(my_GDestroyNotify_fct_##A, "p", data); \
 }
 SUPER()
 #undef GO
@@ -86,10 +87,10 @@ static void* findGDestroyNotifyFct(void* fct)
 
 // 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);\
+static uintptr_t my_GDBusProxyTypeFunc_fct_##A = 0;                                                           \
+static int my_GDBusProxyTypeFunc_##A(void* manager, void* path, void* name, void* data)                       \
+{                                                                                                             \
+    return (int)RunFunctionFmt(my_GDBusProxyTypeFunc_fct_##A, "pppp", manager, path, name, data); \
 }
 SUPER()
 #undef GO
@@ -109,10 +110,10 @@ static void* findGDBusProxyTypeFuncFct(void* fct)
 
 // 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);\
+static uintptr_t my_GSimpleAsyncThreadFunc_fct_##A = 0;                                             \
+static void my_GSimpleAsyncThreadFunc_##A(void* res, void* object, void* cancellable)               \
+{                                                                                                   \
+    RunFunctionFmt(my_GSimpleAsyncThreadFunc_fct_##A, "ppp", res, object, cancellable); \
 }
 SUPER()
 #undef GO
@@ -132,10 +133,10 @@ static void* findGSimpleAsyncThreadFuncFct(void* fct)
 
 // 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);\
+static uintptr_t my_GCallback_fct_##A = 0;                                \
+static void my_GCallback_##A(void* a, void* b, void* c, void* d)          \
+{                                                                         \
+    RunFunctionFmt(my_GCallback_fct_##A, "pppp", a, b, c, d); \
 }
 SUPER()
 #undef GO
@@ -155,10 +156,10 @@ static void* findGCallbackFct(void* fct)
 
 // 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);\
+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) \
+{                                                                                                                                            \
+    RunFunctionFmt(my_GDBusSignalCallback_fct_##A, "ppppppp", connection, sender, object, interface, signal, param, data);       \
 }
 SUPER()
 #undef GO
@@ -178,10 +179,10 @@ static void* findGDBusSignalCallbackFct(void* fct)
 
 // 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);\
+static uintptr_t my_GDBusMessageFilterFunction_fct_##A = 0;                                                         \
+static void my_GDBusMessageFilterFunction_##A(void* connection, void* message, int incoming, void* data)            \
+{                                                                                                                   \
+    RunFunctionFmt(my_GDBusMessageFilterFunction_fct_##A, "ppip", connection, message, incoming, data); \
 }
 SUPER()
 #undef GO
@@ -201,10 +202,10 @@ static void* findGDBusMessageFilterFunctionFct(void* fct)
 
 // 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); \
+static uintptr_t my_GBusNameAppearedCallback_fct_##A = 0;                                                   \
+static void my_GBusNameAppearedCallback_##A(void* connection, void* name, void* owner, void* data)          \
+{                                                                                                           \
+    RunFunctionFmt(my_GBusNameAppearedCallback_fct_##A, "pppp", connection, name, owner, data); \
 }
 SUPER()
 #undef GO
@@ -224,10 +225,10 @@ static void* findGBusNameAppearedCallbackFct(void* fct)
 
 // 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);\
+static uintptr_t my_GBusNameVanishedCallback_fct_##A = 0;                                           \
+static void my_GBusNameVanishedCallback_##A(void* connection, void* name, void* data)               \
+{                                                                                                   \
+    RunFunctionFmt(my_GBusNameVanishedCallback_fct_##A, "ppp", connection, name, data); \
 }
 SUPER()
 #undef GO
@@ -247,10 +248,10 @@ static void* findGBusNameVanishedCallbackFct(void* fct)
 
 // 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);\
+static uintptr_t my_GBusAcquiredCallback_fct_##A = 0;                                           \
+static void my_GBusAcquiredCallback_##A(void* connection, void* name, void* data)               \
+{                                                                                               \
+    RunFunctionFmt(my_GBusAcquiredCallback_fct_##A, "ppp", connection, name, data); \
 }
 SUPER()
 #undef GO
@@ -270,10 +271,10 @@ static void* findGBusAcquiredCallbackFct(void* fct)
 
 // 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);\
+static uintptr_t my_GBusNameAcquiredCallback_fct_##A = 0;                                           \
+static void my_GBusNameAcquiredCallback_##A(void* connection, void* name, void* data)               \
+{                                                                                                   \
+    RunFunctionFmt(my_GBusNameAcquiredCallback_fct_##A, "ppp", connection, name, data); \
 }
 SUPER()
 #undef GO
@@ -293,10 +294,10 @@ static void* findGBusNameAcquiredCallbackFct(void* fct)
 
 // 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);\
+static uintptr_t my_GBusNameLostCallback_fct_##A = 0;                                           \
+static void my_GBusNameLostCallback_##A(void* connection, void* name, void* data)               \
+{                                                                                               \
+    RunFunctionFmt(my_GBusNameLostCallback_fct_##A, "ppp", connection, name, data); \
 }
 SUPER()
 #undef GO
@@ -322,24 +323,24 @@ typedef struct my_GDBusInterfaceVTable_s {
   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) \
+#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);                   \
+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* parameters, void* invocation, void* user_data) { \
+    RunFunctionFmt(fct_funcs_method_call_##A, "pppppppp", connection, sender, object_path, interface_name, method_name, parameters, 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* property_name, void* error, void* user_data) { \
+    return (void*)RunFunctionFmt(fct_funcs_get_property_##A, "ppppppp", connection, sender, object_path, interface_name, property_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* property_name, void* value, void* error, void* user_data) { \
+    return (int)RunFunctionFmt(fct_funcs_set_property_##A, "pppppppp", connection, sender, object_path, interface_name, property_name, value, error, user_data); \
 }
 
 SUPER()
@@ -368,6 +369,16 @@ static my_GDBusInterfaceVTable_t* findFreeGDBusInterfaceVTable(my_GDBusInterface
 }
 #undef SUPER
 
+EXPORT void* my_g_task_new(x64emu_t* emu, void* source_object, void* cancellable, void* cb, void* data)
+{
+    return my->g_task_new(source_object, cancellable, findGAsyncReadyCallbackFct(cb), data);
+}
+
+EXPORT void my_g_task_return_pointer(x64emu_t* emu, void* task, void* result, void* destroy)
+{
+    my->g_task_return_pointer(task, result, findGDestroyNotifyFct(destroy));
+}
+
 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)
 {
     my->g_dbus_proxy_new(connection, flags, info, name, path, interface, cancellable, findGAsyncReadyCallbackFct(cb), data);
@@ -567,8 +578,22 @@ EXPORT void my_g_simple_async_result_set_error(x64emu_t* emu, void* simple, void
 
 EXPORT void* my_g_initable_new(x64emu_t* emu, void* type, void* cancel, void* err, void* first, uintptr_t* b)
 {
-    myStackAlign(emu, first, b, emu->scratch, R_EAX, 4);
+    #if 0
+    // look for number of pairs
+    int n = 1;
+    emu->scratch[0] = (uint64_t)first;
+    emu->scratch[1] = getVArgs(emu, 4, b, 0);
+    while(getVArgs(emu, 4, b, n)) {
+        emu->scratch[n+1] = getVArgs(emu, 4, b, n);
+        emu->scratch[n+2] = getVArgs(emu, 4, b, n+1);
+        n+=2;
+    }
+    emu->scratch[n+1] = 0;
+    emu->scratch[n+2] = 0;
     PREPARE_VALIST;
+    #else
+    CREATE_VALIST_FROM_VAARG(b, emu->scratch, 4);
+    #endif
     return my->g_initable_new_valist(type, first, VARARGS, cancel, err);
 }
 
@@ -582,14 +607,23 @@ EXPORT void* my_g_initable_new_valist(x64emu_t* emu, void* type, void* first, x6
     return my->g_initable_new_valist(type, first, VARARGS, cancel, err);
 }
 
+EXPORT void my_g_task_return_new_error(x64emu_t* emu, void* task, uint32_t domain, int code, void *fmt, va_list b)
+{
+    char* tmp;
+    int dummy = vasprintf(&tmp, fmt, b);
+    (void)dummy;
+    my->g_task_return_new_error(task, domain, code, tmp);
+    free(tmp);
+}
 
 #define PRE_INIT    \
     if(box64_nogtk) \
         return -1;
 
 #define CUSTOM_INIT \
-    getMy(lib);                         \
-    SetGApplicationID(my->g_application_get_type());            \
+    getMy(lib);                                         \
+    SetGApplicationID(my->g_application_get_type());    \
+    SetGDBusProxyID(my->g_dbus_proxy_get_type());       \
     setNeededLibs(lib, 1, "libgmodule-2.0.so.0");
 
 #define CUSTOM_FINI \
diff --git a/src/wrapped/wrappedgio2_private.h b/src/wrapped/wrappedgio2_private.h
index bb5c80eb..560b2518 100644
--- a/src/wrapped/wrappedgio2_private.h
+++ b/src/wrapped/wrappedgio2_private.h
@@ -135,7 +135,7 @@ GO(g_async_initable_new_finish, pFppp)
 GOM(g_async_initable_new_valist_async, vFEipAippp)
 GOM(g_async_initable_newv_async, vFEiupippp)
 GO(g_async_result_get_source_object, pFp)
-//GO(g_async_result_get_type, 
+GO(g_async_result_get_type, LFv)
 GO(g_async_result_get_user_data, pFp)
 GO(g_async_result_is_tagged, iFpp)
 //GO(g_async_result_legacy_propagate_error, 
@@ -341,7 +341,7 @@ GO(g_dbus_error_encode_gerror, pFp)
 //GO(g_dbus_error_get_type, 
 GO(g_dbus_error_is_remote_error, iFp)
 GO(g_dbus_error_new_for_dbus_error, pFpp)
-//GO(g_dbus_error_quark, 
+GO(g_dbus_error_quark, uFv)
 //GO(g_dbus_error_register_error, 
 GO(g_dbus_error_register_error_domain, vFpppu)
 //GO(g_dbus_error_set_dbus_error, 
@@ -1322,7 +1322,7 @@ GO(g_settings_get_int, iFpp)
 GO(g_settings_get_string, pFpp)
 GO(g_settings_get_strv, pFpp)
 GO(g_settings_get_type, pFv)
-//GO(g_settings_get_uint, 
+GO(g_settings_get_uint, uFpp)
 GO(g_settings_get_user_value, pFpp)
 GO(g_settings_get_value, pFpp)
 GO(g_settings_is_writable, iFpp)
@@ -1623,10 +1623,10 @@ GO(g_task_get_priority, iFp)
 //GO(g_task_get_source_object, 
 GO(g_task_get_source_tag, pFp)
 //GO(g_task_get_task_data, 
-//GO(g_task_get_type, 
+GO(g_task_get_type, LFv)
 //GO(g_task_had_error, 
 GO(g_task_is_valid, iFpp)
-//GO(g_task_new, 
+GOM(g_task_new, pFEpppp)
 GO(g_task_propagate_boolean, iFpp)
 GO(g_task_propagate_int, lFpp)
 GO(g_task_propagate_pointer, pFpp)
@@ -1636,8 +1636,8 @@ GO(g_task_return_boolean, vFpi)
 GO(g_task_return_error, vFpp)
 //GO(g_task_return_error_if_cancelled, 
 GO(g_task_return_int, vFpl)
-//GO(g_task_return_new_error, 
-//GO(g_task_return_pointer, 
+GOM(g_task_return_new_error, vFEpuipV)
+GOM(g_task_return_pointer, vFEppp)
 //GO(g_task_run_in_thread, 
 //GO(g_task_run_in_thread_sync, 
 //GO(g_task_set_check_cancellable, 
diff --git a/src/wrapped/wrappedglib2.c b/src/wrapped/wrappedglib2.c
index 30bfbdd6..5614314d 100644
--- a/src/wrapped/wrappedglib2.c
+++ b/src/wrapped/wrappedglib2.c
@@ -57,7 +57,7 @@ EXPORT void* my_g_build_filename(x64emu_t* emu, void* first, uintptr_t* b)
 
 static int my_timeout_cb(my_signal_t* sig)
 {
-    return (int)RunFunction(my_context, sig->c_handler, 1, sig->data);
+    return (int)RunFunctionFmt(sig->c_handler, "p", sig->data);
 }
 EXPORT uint32_t my_g_timeout_add(x64emu_t* emu, uint32_t interval, void* func, void* data)
 {
@@ -89,10 +89,10 @@ GO(9)   \
 
 // 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);\
+static uintptr_t my_copy_fct_##A = 0;                                     \
+static void* my_copy_##A(void* data)                                      \
+{                                                                         \
+    return (void*)RunFunctionFmt(my_copy_fct_##A, "p", data); \
 }
 SUPER()
 #undef GO
@@ -111,10 +111,10 @@ static void* findCopyFct(void* fct)
 }
 // 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);\
+static uintptr_t my_free_fct_##A = 0;                       \
+static void my_free_##A(void* data)                         \
+{                                                           \
+    RunFunctionFmt(my_free_fct_##A, "p", data); \
 }
 SUPER()
 #undef GO
@@ -133,10 +133,10 @@ static void* findFreeFct(void* fct)
 }
 // 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);\
+static uintptr_t my_duplicate_fct_##A = 0;                                     \
+static void* my_duplicate_##A(void* data)                                      \
+{                                                                              \
+    return (void*)RunFunctionFmt(my_duplicate_fct_##A, "p", data); \
 }
 SUPER()
 #undef GO
@@ -155,35 +155,35 @@ static void* findDuplicateFct(void* fct)
 }
 // GSourceFuncs....
 // g_source_new callback. First the structure GSourceFuncs statics, with paired x64 source pointer
-#define GO(A) \
+#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);    \
+static uintptr_t fct_funcs_prepare_##A = 0;                                                \
+static int my_funcs_prepare_##A(void* source, int *timeout_) {                             \
+    return (int)RunFunctionFmt(fct_funcs_prepare_##A, "pp", source, timeout_); \
+}                                                                                          \
+static uintptr_t fct_funcs_check_##A = 0;                                     \
+static int my_funcs_check_##A(void* source) {                                 \
+    return (int)RunFunctionFmt(fct_funcs_check_##A, "p", 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)RunFunctionFmt(fct_funcs_dispatch_cb_##A, "pppp", 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)RunFunctionFmt(fct_funcs_dispatch_##A, "ppp", 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)RunFunctionFmt(fct_funcs_finalize_##A, "p", source); \
 }
 SUPER()
 #undef GO
@@ -214,10 +214,10 @@ static my_GSourceFuncs_t* findFreeGSourceFuncs(my_GSourceFuncs_t* fcts)
 
 // 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_);\
+static uintptr_t my_poll_fct_##A = 0;                                                \
+static int my_poll_##A(void* ufds, uint32_t nfsd, int32_t timeout_)                  \
+{                                                                                    \
+    return RunFunctionFmt(my_poll_fct_##A, "pui", ufds, nfsd, timeout_); \
 }
 SUPER()
 #undef GO
@@ -246,10 +246,10 @@ static void* reversePollFct(void* fct)
 
 // 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);\
+static uintptr_t my_hashfunc_fct_##A = 0;                                       \
+static uint32_t my_hashfunc_##A(void* key)                                      \
+{                                                                               \
+    return (uint32_t)RunFunctionFmt(my_hashfunc_fct_##A, "p", key); \
 }
 SUPER()
 #undef GO
@@ -268,10 +268,10 @@ static void* findHashFct(void* fct)
 }
 // 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);\
+static uintptr_t my_equalfunc_fct_##A = 0;                               \
+static int my_equalfunc_##A(void* a, void* b)                            \
+{                                                                        \
+    return RunFunctionFmt(my_equalfunc_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -290,10 +290,10 @@ static void* findEqualFct(void* fct)
 }
 // 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);\
+static uintptr_t my_destroyfunc_fct_##A = 0;                               \
+static int my_destroyfunc_##A(void* a, void* b)                            \
+{                                                                          \
+    return RunFunctionFmt(my_destroyfunc_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -312,10 +312,10 @@ static void* findDestroyFct(void* fct)
 }
 // 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);\
+static uintptr_t my_spwnchildsetup_fct_##A = 0;                       \
+static void my_spwnchildsetup_##A(void* data)                         \
+{                                                                     \
+    RunFunctionFmt(my_spwnchildsetup_fct_##A, "p", data); \
 }
 SUPER()
 #undef GO
@@ -334,10 +334,10 @@ static void* findSpawnChildSetupFct(void* fct)
 }
 // 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);\
+static uintptr_t my_GSourceFunc_fct_##A = 0;                                \
+static void my_GSourceFunc_##A(void* a, void* b, void* c, void* d)          \
+{                                                                           \
+    RunFunctionFmt(my_GSourceFunc_fct_##A, "pppp", a, b, c, d); \
 }
 SUPER()
 #undef GO
@@ -356,10 +356,10 @@ static void* findGSourceFuncFct(void* fct)
 }
 // 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);\
+static uintptr_t my_GCompareFunc_fct_##A = 0;                                    \
+static int my_GCompareFunc_##A(void* a, void* b)                                 \
+{                                                                                \
+    return (int)RunFunctionFmt(my_GCompareFunc_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -378,10 +378,10 @@ static void* findGCompareFuncFct(void* fct)
 }
 // 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);\
+static uintptr_t my_GCompareDataFunc_fct_##A = 0;                                           \
+static int my_GCompareDataFunc_##A(void* a, void* b, void* data)                            \
+{                                                                                           \
+    return (int)RunFunctionFmt(my_GCompareDataFunc_fct_##A, "ppp", a, b, data); \
 }
 SUPER()
 #undef GO
@@ -400,10 +400,10 @@ static void* findGCompareDataFuncFct(void* fct)
 }
 // 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);\
+static uintptr_t my_GCompletionFunc_fct_##A = 0;                                  \
+static void* my_GCompletionFunc_##A(void* a)                                      \
+{                                                                                 \
+    return (void*)RunFunctionFmt(my_GCompletionFunc_fct_##A, "p", a); \
 }
 SUPER()
 #undef GO
@@ -422,10 +422,10 @@ static void* findGCompletionFct(void* fct)
 }
 // 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); \
+static uintptr_t my_GCompletionStrncmpFunc_fct_##A = 0;                                        \
+static int my_GCompletionStrncmpFunc_##A(void* a, void* b, unsigned long n)                    \
+{                                                                                              \
+    return (int)RunFunctionFmt(my_GCompletionStrncmpFunc_fct_##A, "ppL", a, b, n); \
 }
 SUPER()
 #undef GO
@@ -444,10 +444,10 @@ static void* findGCompletionStrncmpFuncFct(void* fct)
 }
 // 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); \
+static uintptr_t my_GIOFunc_fct_##A = 0;                                        \
+static int my_GIOFunc_##A(void* a, int b, void* c)                              \
+{                                                                               \
+    return (int)RunFunctionFmt(my_GIOFunc_fct_##A, "pip", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -466,10 +466,10 @@ static void* findGIOFuncFct(void* fct)
 }
 // 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);   \
+static uintptr_t my_GDestroyNotify_fct_##A = 0;                    \
+static void my_GDestroyNotify_##A(void* a)                         \
+{                                                                  \
+    RunFunctionFmt(my_GDestroyNotify_fct_##A, "p", a); \
 }
 SUPER()
 #undef GO
@@ -488,10 +488,10 @@ static void* findGDestroyNotifyFct(void* fct)
 }
 // 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); \
+static uintptr_t my_GFunc_fct_##A = 0;                        \
+static void my_GFunc_##A(void* a, void* b)                    \
+{                                                             \
+    RunFunctionFmt(my_GFunc_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -510,10 +510,10 @@ static void* findGFuncFct(void* fct)
 }
 // 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); \
+static uintptr_t my_GHFunc_fct_##A = 0;                            \
+static void my_GHFunc_##A(void* a, void* b, void* c)               \
+{                                                                  \
+    RunFunctionFmt(my_GHFunc_fct_##A, "ppp", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -532,10 +532,10 @@ static void* findGHFuncFct(void* fct)
 }
 // 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); \
+static uintptr_t my_GHRFunc_fct_##A = 0;                                 \
+static int my_GHRFunc_##A(void* a, void* b, void* c)                     \
+{                                                                        \
+    return RunFunctionFmt(my_GHRFunc_fct_##A, "ppp", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -554,10 +554,10 @@ static void* findGHRFuncFct(void* fct)
 }
 // 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);    \
+static uintptr_t my_GChildWatchFunc_fct_##A = 0;                            \
+static void my_GChildWatchFunc_##A(int a, int b, void* c)                   \
+{                                                                           \
+    RunFunctionFmt(my_GChildWatchFunc_fct_##A, "iip", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -576,10 +576,10 @@ static void* findGChildWatchFuncFct(void* fct)
 }
 // 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);    \
+static uintptr_t my_GLogFunc_fct_##A = 0;                                \
+static void my_GLogFunc_##A(void* a, int b, void* c, void* d)            \
+{                                                                        \
+    RunFunctionFmt(my_GLogFunc_fct_##A, "pipp", a, b, c, d); \
 }
 SUPER()
 #undef GO
@@ -606,10 +606,10 @@ static void* reverseGLogFuncFct(void* fct)
 }
 // 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);       \
+static uintptr_t my_GPrintFunc_fct_##A = 0;                    \
+static void my_GPrintFunc_##A(void* a)                         \
+{                                                              \
+    RunFunctionFmt(my_GPrintFunc_fct_##A, "p", a); \
 }
 SUPER()
 #undef GO
@@ -636,10 +636,10 @@ static void* reverseGPrintFuncFct(void* fct)
 }
 // GOptionArg ...
 #define GO(A)   \
-static uintptr_t my_GOptionArg_fct_##A = 0;                                     \
-static int my_GOptionArg_##A(void* a, void* b, void* c, void* d)                \
-{                                                                               \
-    return (int)RunFunction(my_context, my_GOptionArg_fct_##A, 4, a, b, c, d);  \
+static uintptr_t my_GOptionArg_fct_##A = 0;                                            \
+static int my_GOptionArg_##A(void* a, void* b, void* c, void* d)                       \
+{                                                                                      \
+    return (int)RunFunctionFmt(my_GOptionArg_fct_##A, "pppp", a, b, c, d); \
 }
 SUPER()
 #undef GO
@@ -666,10 +666,10 @@ static void* reverseGOptionArgFct(void* fct)
 }
 // GNodeTraverseFunc ...
 #define GO(A)   \
-static uintptr_t my_GNodeTraverseFunc_fct_##A = 0;                              \
-static int my_GNodeTraverseFunc_##A(void* a, void* b)                           \
-{                                                                               \
-    return (int)RunFunction(my_context, my_GNodeTraverseFunc_fct_##A, 2, a, b); \
+static uintptr_t my_GNodeTraverseFunc_fct_##A = 0;                                    \
+static int my_GNodeTraverseFunc_##A(void* a, void* b)                                 \
+{                                                                                     \
+    return (int)RunFunctionFmt(my_GNodeTraverseFunc_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -688,10 +688,10 @@ static void* findGNodeTraverseFuncFct(void* fct)
 }
 // GThreadFunc ...
 #define GO(A)   \
-static uintptr_t my_GThreadFunc_fct_##A = 0;                            \
-static void* my_GThreadFunc_##A(void* a)                                \
-{                                                                       \
-    return (void*)RunFunction(my_context, my_GThreadFunc_fct_##A, 1, a);\
+static uintptr_t my_GThreadFunc_fct_##A = 0;                                  \
+static void* my_GThreadFunc_##A(void* a)                                      \
+{                                                                             \
+    return (void*)RunFunctionFmt(my_GThreadFunc_fct_##A, "p", a); \
 }
 SUPER()
 #undef GO
@@ -863,7 +863,7 @@ EXPORT void* my_g_main_context_get_poll_func(x64emu_t* emu, void* context)
     // needs to bridge....
     return (void*)AddCheckBridge(my_lib->w.bridge, iFpui, ret, 0, NULL);
 }
-    
+
 EXPORT void my_g_main_context_set_poll_func(x64emu_t* emu, void* context, void* func)
 {
     my->g_main_context_set_poll_func(context, findPollFct(func));
@@ -896,17 +896,17 @@ EXPORT void my_g_hash_table_foreach(x64emu_t* emu, void* table, void* f, void* d
 
 EXPORT uint32_t my_g_hash_table_foreach_remove(x64emu_t* emu, void* table, void* f, void* data)
 {
-    
+
     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)
 {
-    
+
     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)
 {
-    
+
     return my->g_hash_table_find(table, findGHRFuncFct(f), data);
 }
 
diff --git a/src/wrapped/wrappedglib2_private.h b/src/wrapped/wrappedglib2_private.h
index b148298e..0102e01d 100644
--- a/src/wrapped/wrappedglib2_private.h
+++ b/src/wrapped/wrappedglib2_private.h
@@ -754,7 +754,7 @@ GO(g_nullify_pointer, vFp)
 //GO(g_once_impl, 
 GO(g_once_init_enter, iFp)
 GO(g_once_init_enter_impl, iFp)
-GO(g_once_init_leave, vFpL)
+GO(g_once_init_leave, vFpi)
 GO(g_on_error_query, vFp)
 GO(g_on_error_stack_trace, vFp)
 GO(g_open, iFpii)
@@ -1263,7 +1263,7 @@ GO(g_test_trap_fork, iFLu)
 GO(g_test_trap_subprocess, vFpLu)
 GOM(g_thread_create, pFEppip)
 GOM(g_thread_create_full, pFEppLiiip)
-//GO(g_thread_error_quark, 
+GO(g_thread_error_quark, pFv)
 GO(g_thread_exit, vFp)
 GOM(g_thread_foreach, vFEpp)
 GO(g_thread_get_initialized, iFv)
diff --git a/src/wrapped/wrappedgnutls.c b/src/wrapped/wrappedgnutls.c
index cc89e69c..dd4cde20 100644
--- a/src/wrapped/wrappedgnutls.c
+++ b/src/wrapped/wrappedgnutls.c
@@ -35,10 +35,10 @@ GO(4)
 
 // gnutls_log
 #define GO(A)   \
-static uintptr_t my_gnutls_log_fct_##A = 0;                       \
-static void my_gnutls_log_##A(int level, const char* p)           \
-{                                                                 \
-    RunFunction(my_context, my_gnutls_log_fct_##A, 2, level, p);  \
+static uintptr_t my_gnutls_log_fct_##A = 0;                            \
+static void my_gnutls_log_##A(int level, const char* p)                \
+{                                                                      \
+    RunFunctionFmt(my_gnutls_log_fct_##A, "ip", level, p);        \
 }
 SUPER()
 #undef GO
@@ -59,10 +59,10 @@ static void* find_gnutls_log_Fct(void* fct)
 
 // pullpush
 #define GO(A)   \
-static uintptr_t my_pullpush_fct_##A = 0;                                   \
-static long my_pullpush_##A(void* p, void* d, size_t l)                     \
-{                                                                           \
-    return (long)RunFunction(my_context, my_pullpush_fct_##A, 3, p, d, l);  \
+static uintptr_t my_pullpush_fct_##A = 0;                                         \
+static long my_pullpush_##A(void* p, void* d, size_t l)                           \
+{                                                                                 \
+    return (long)RunFunctionFmt(my_pullpush_fct_##A, "ppL", p, d, l);         \
 }
 SUPER()
 #undef GO
@@ -83,10 +83,10 @@ static void* find_pullpush_Fct(void* fct)
 
 // timeout
 #define GO(A)   \
-static uintptr_t my_timeout_fct_##A = 0;                                \
-static int my_timeout_##A(void* p, uint32_t t)                          \
-{                                                                       \
-    return (int)RunFunction(my_context, my_timeout_fct_##A, 2, p, t);   \
+static uintptr_t my_timeout_fct_##A = 0;                                    \
+static int my_timeout_##A(void* p, uint32_t t)                              \
+{                                                                           \
+    return (int)RunFunctionFmt(my_timeout_fct_##A, "pu", p, t);       \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedgnutls_private.h b/src/wrapped/wrappedgnutls_private.h
index 3697259b..13363b03 100644
--- a/src/wrapped/wrappedgnutls_private.h
+++ b/src/wrapped/wrappedgnutls_private.h
@@ -189,6 +189,8 @@ GO(gnutls_dtls_set_timeouts, vFpuu)
 //GO(gnutls_ecc_curve_get_pk, 
 //GO(gnutls_ecc_curve_get_size, 
 //GO(gnutls_ecc_curve_list, 
+GO(_gnutls_ecdh_compute_key, iFppp)
+GO(gnutls_ecdh_compute_key, iFppp)
 //GO(gnutls_encode_ber_digest_info, 
 //GO(_gnutls_encode_ber_rs_raw, 
 //GO(gnutls_error_is_fatal, 
@@ -560,6 +562,7 @@ GO(gnutls_privkey_import_rsa_raw, iFppppppppp)
 GO(gnutls_privkey_init, iFp)
 //GO(gnutls_privkey_set_flags, 
 //GO(gnutls_privkey_set_pin_function, 
+GO(gnutls_privkey_set_spki, iFppu)
 //GO(gnutls_privkey_sign_data, 
 GO(gnutls_privkey_sign_hash, iFppupp)
 //GO(gnutls_privkey_status, 
@@ -616,6 +619,7 @@ GO(gnutls_pubkey_init, iFp)
 //GO(gnutls_pubkey_print, 
 //GO(gnutls_pubkey_set_key_usage, 
 //GO(gnutls_pubkey_set_pin_function, 
+GO(gnutls_pubkey_set_spki, iFppu)
 //GO(gnutls_pubkey_verify_data2, 
 GO(gnutls_pubkey_verify_hash2, iFppupp)
 //GO(gnutls_pubkey_verify_params, 
@@ -1092,6 +1096,9 @@ GO(gnutls_x509_privkey_get_pk_algorithm2, iFpp)
 //GO(gnutls_x509_rdn_get2, 
 //GO(gnutls_x509_rdn_get_by_oid, 
 //GO(gnutls_x509_rdn_get_oid, 
+GO(gnutls_x509_spki_deinit, vFp)
+GO(gnutls_x509_spki_init, vFp)
+GO(gnutls_x509_spki_set_rsa_pss_params, vFppu)
 //GO(gnutls_x509_tlsfeatures_add, 
 //GO(gnutls_x509_tlsfeatures_check_crt, 
 //GO(gnutls_x509_tlsfeatures_deinit, 
diff --git a/src/wrapped/wrappedgobject2.c b/src/wrapped/wrappedgobject2.c
index f9fc35b9..d51a736f 100644
--- a/src/wrapped/wrappedgobject2.c
+++ b/src/wrapped/wrappedgobject2.c
@@ -67,11 +67,11 @@ static int signal_cb(void* a, void* b, void* c, void* d, void* e)
     }
     printf_log(LOG_DEBUG, "gobject2 Signal called, sig=%p, handler=%p, NArgs=%d\n", sig, sig?(void*)sig->c_handler:NULL, 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);
-        case 5: return (int)RunFunction(my_context, sig->c_handler, 5, a, b, c, d, sig->data);
+        case 1: return (int)RunFunctionFmt(sig->c_handler, "p", sig->data);
+        case 2: return (int)RunFunctionFmt(sig->c_handler, "pp", a, sig->data);
+        case 3: return (int)RunFunctionFmt(sig->c_handler, "ppp", a, b, sig->data);
+        case 4: return (int)RunFunctionFmt(sig->c_handler, "pppp", a, b, c, sig->data);
+        case 5: return (int)RunFunctionFmt(sig->c_handler, "ppppp", a, b, c, d, sig->data);
     }
     printf_log(LOG_NONE, "Warning, GObject2 signal callback but no data found!\n");
     return 0;
@@ -80,47 +80,47 @@ 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);
+    return (int)RunFunctionFmt(sig->c_handler, "pppp", 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);
+    return (int)RunFunctionFmt(sig->c_handler, "ppppp", 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);
+    return (int)RunFunctionFmt(sig->c_handler, "ppppp", 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);
+    return (int)RunFunctionFmt(sig->c_handler, "pppppp", 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);
+    return (int)RunFunctionFmt(sig->c_handler, "pppppp", 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);
+    return (int)RunFunctionFmt(sig->c_handler, "pppppppp", 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);
+    return (int)RunFunctionFmt(sig->c_handler, "pppppppp", 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);
+        RunFunctionFmt(d, "pp", sig->data, b);
     }
     printf_log(LOG_DEBUG, "gobject2 Signal deleted, sig=%p, destroy=%p\n", sig, (void*)d);
     free(sig);
@@ -128,7 +128,7 @@ static void signal_delete(my_signal_t* sig, void* b)
 
 static void addGObject2Alternate(library_t* lib)
 {
-    #define GO(A, W) AddAutomaticBridge(thread_get_emu(), lib->w.bridge, W, dlsym(lib->w.lib, #A), 0)
+    #define GO(A, W) AddAutomaticBridge(thread_get_emu(), lib->w.bridge, W, dlsym(lib->w.lib, #A), 0, #A)
     GO(g_cclosure_marshal_VOID__VOID,               vFppuppp);
     GO(g_cclosure_marshal_VOID__BOOLEAN,            vFppuppp);
     GO(g_cclosure_marshal_VOID__UCHAR,              vFppuppp);
@@ -174,7 +174,7 @@ static void addGObject2Alternate(library_t* lib)
     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->w.bridge, W, A, 0)
+    #define GO(A, W) AddAutomaticBridge(thread_get_emu(), lib->w.bridge, W, A, 0, #A)
     GO(signal_cb, iFpppp);
     GO(signal_cb_swapped, iFpppp);
     GO(signal_cb_5, iFppppp);
@@ -267,10 +267,10 @@ GO(11)  \
 GO(12)  \
 
 #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);\
+static uintptr_t my_copy_fct_##A = 0;                                     \
+static void* my_copy_##A(void* data)                                      \
+{                                                                         \
+    return (void*)RunFunctionFmt(my_copy_fct_##A, "p", data); \
 }
 SUPER()
 #undef GO
@@ -288,10 +288,10 @@ static void* findCopyFct(void* fct)
 }
 
 #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);\
+static uintptr_t my_free_fct_##A = 0;                       \
+static void my_free_##A(void* data)                         \
+{                                                           \
+    RunFunctionFmt(my_free_fct_##A, "p", data); \
 }
 SUPER()
 #undef GO
@@ -309,10 +309,10 @@ static void* findFreeFct(void* fct)
 }
 // 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);\
+static uintptr_t my_accumulator_fct_##A = 0;                                                                     \
+static int my_accumulator_##A(void* ihint, void* return_accu, void* handler_return, void* data)                  \
+{                                                                                                                \
+    return RunFunctionFmt(my_accumulator_fct_##A, "pppp", ihint, return_accu, handler_return, data); \
 }
 SUPER()
 #undef GO
@@ -332,10 +332,10 @@ static void* findAccumulatorFct(void* fct)
 
 // GClosureMarshal
 #define GO(A)   \
-static uintptr_t my_marshal_fct_##A = 0;   \
+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);               \
+    RunFunctionFmt(my_marshal_fct_##A, "ppuppp", closure, return_value, n, values, hint, data);     \
 }
 SUPER()
 #undef GO
@@ -346,7 +346,7 @@ static void* findMarshalFct(void* 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->w.bridge, vFppuppp, my_marshal_##A, 0); my_marshal_fct_##A = (uintptr_t)fct; return my_marshal_##A; }
+    #define GO(A) if(my_marshal_fct_##A == 0) {AddAutomaticBridge(thread_get_emu(), my_lib->w.bridge, vFppuppp, my_marshal_##A, 0, #A); 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");
@@ -355,10 +355,10 @@ static void* findMarshalFct(void* fct)
 
 // GClosureNotify
 #define GO(A)   \
-static uintptr_t my_GClosureNotify_fct_##A = 0;   \
-static int my_GClosureNotify_func_##A(void* a, void* b)     \
-{                                       \
-    return RunFunction(my_context, my_GClosureNotify_fct_##A, 2, a, b);\
+static uintptr_t my_GClosureNotify_fct_##A = 0;                               \
+static int my_GClosureNotify_func_##A(void* a, void* b)                       \
+{                                                                             \
+    return RunFunctionFmt(my_GClosureNotify_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -378,10 +378,10 @@ static void* findGClosureNotify_Fct(void* fct)
 
 // 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);\
+static uintptr_t my_valuetransform_fct_##A = 0;                            \
+static void my_valuetransform_##A(void* src, void* dst)                    \
+{                                                                          \
+    RunFunctionFmt(my_valuetransform_fct_##A, "pp", src, dst); \
 }
 SUPER()
 #undef GO
@@ -401,10 +401,10 @@ static void* findValueTransformFct(void* fct)
 
 // 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);\
+static uintptr_t my_destroyfunc_fct_##A = 0;                               \
+static int my_destroyfunc_##A(void* a, void* b)                            \
+{                                                                          \
+    return RunFunctionFmt(my_destroyfunc_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -424,10 +424,10 @@ static void* findDestroyFct(void* fct)
 
 // GWeakNotify
 #define GO(A)   \
-static uintptr_t my_weaknotifyfunc_fct_##A = 0;   \
-static int my_weaknotifyfunc_##A(void* a, void* b)     \
-{                                       \
-    return RunFunction(my_context, my_weaknotifyfunc_fct_##A, 2, a, b);\
+static uintptr_t my_weaknotifyfunc_fct_##A = 0;                               \
+static int my_weaknotifyfunc_##A(void* a, void* b)                            \
+{                                                                             \
+    return RunFunctionFmt(my_weaknotifyfunc_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -447,10 +447,10 @@ static void* findWeakNotifyFct(void* fct)
 
 // GCallback  (generic function with 6 arguments, hopefully it's enough)
 #define GO(A)   \
-static uintptr_t my_GCallback_fct_##A = 0;                                             \
-static void* my_GCallback_##A(void* a, void* b, void* c, void* d, void* e, void* f)    \
-{                                                                                           \
-    return (void*)RunFunction(my_context, my_GCallback_fct_##A, 6, a, b, c, d, e, f);  \
+static uintptr_t my_GCallback_fct_##A = 0;                                                      \
+static void* my_GCallback_##A(void* a, void* b, void* c, void* d, void* e, void* f)             \
+{                                                                                               \
+    return (void*)RunFunctionFmt(my_GCallback_fct_##A, "pppppp", a, b, c, d, e, f); \
 }
 SUPER()
 #undef GO
@@ -481,32 +481,32 @@ typedef struct my_GParamSpecTypeInfo_s {
   int       (*values_cmp)       (void* pspec, void* value1, void* value2);
 } my_GParamSpecTypeInfo_t;
 
-#define GO(A) \
+#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_instance_init_##A = 0;                           \
+static void my_funcs_instance_init_##A(void* pspec) {                       \
+    RunFunctionFmt(fct_funcs_instance_init_##A, "p", 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_finalize_##A = 0;                                \
+static void my_funcs_finalize_##A(void* pspec) {                            \
+    RunFunctionFmt(fct_funcs_finalize_##A, "p", 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_set_default_##A = 0;                   \
+static void my_funcs_value_set_default_##A(void* pspec, void* value) {  \
+    RunFunctionFmt(fct_funcs_value_set_default_##A, "pp", 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_value_validate_##A = 0;                      \
+static int my_funcs_value_validate_##A(void* pspec, void* value) {      \
+    return (int)RunFunctionFmt(fct_funcs_value_validate_##A, "pp", pspec, value); \
 }   \
-static uintptr_t fct_funcs_values_cmp_##A = 0;                      \
+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);    \
+    return (int)RunFunctionFmt(fct_funcs_values_cmp_##A, "ppp", pspec, value1, value2); \
 }
 
 SUPER()
@@ -540,10 +540,10 @@ static my_GParamSpecTypeInfo_t* findFreeGParamSpecTypeInfo(my_GParamSpecTypeInfo
 
 // 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);\
+static uintptr_t my_GInterfaceInitFunc_fct_##A = 0;                             \
+static void my_GInterfaceInitFunc_##A(void* src, void* dst)                     \
+{                                                                               \
+    RunFunctionFmt(my_GInterfaceInitFunc_fct_##A, "pp", src, dst);  \
 }
 SUPER()
 #undef GO
@@ -562,10 +562,10 @@ static void* findGInterfaceInitFuncFct(void* fct)
 }
 // 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);\
+static uintptr_t my_GInterfaceFinalizeFunc_fct_##A = 0;                             \
+static void my_GInterfaceFinalizeFunc_##A(void* src, void* dst)                     \
+{                                                                                   \
+    RunFunctionFmt(my_GInterfaceFinalizeFunc_fct_##A, "pp", src, dst);  \
 }
 SUPER()
 #undef GO
@@ -584,10 +584,10 @@ static void* findGInterfaceFinalizeFuncFct(void* fct)
 }
 // 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);  \
+static uintptr_t my_compare_fct_##A = 0;                                        \
+static int my_compare_##A(void* a, void* b, void* data)                         \
+{                                                                               \
+    return RunFunctionFmt(my_compare_fct_##A, "ppp", a, b, data);   \
 }
 SUPER()
 #undef GO
@@ -623,7 +623,7 @@ EXPORT int my_g_boxed_type_register_static(x64emu_t* emu, void* name, void* boxe
 EXPORT uint32_t my_g_signal_new(x64emu_t* emu, void* name, size_t itype, int flags, uint32_t offset, void* acc, void* accu_data, void* marsh, size_t rtype, uint32_t n, void** b)
 {
     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);
     my_add_signal_offset(itype, offset, n); // register the signal for later use
@@ -644,7 +644,7 @@ EXPORT uint32_t my_g_signal_new(x64emu_t* emu, void* name, size_t itype, int fla
 EXPORT uint32_t my_g_signal_newv(x64emu_t* emu, void* name, size_t itype, int flags, void* closure, void* acc, void* accu_data, void* marsh, size_t rtype, uint32_t n, void* types)
 {
     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);
 }
 
@@ -732,7 +732,7 @@ EXPORT void my_g_value_register_transform_func(x64emu_t* emu, size_t src, size_t
 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);
+    return (int)RunFunctionFmt(sig->c_handler, "pupp", 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)
 {
@@ -745,7 +745,7 @@ EXPORT unsigned long my_g_signal_add_emission_hook(x64emu_t* emu, uint32_t signa
     return my->g_signal_add_emission_hook(signal, detail, my_signal_emission_hook, sig, my_signal_delete);
 }
 
-EXPORT size_t my_g_type_register_static_simple(x64emu_t* emu, size_t parent, void* name, size_t class_size, void* class_init, size_t instance_size, void* instance_init, int flags)
+EXPORT size_t my_g_type_register_static_simple(x64emu_t* emu, size_t parent, void* name, uint32_t class_size, void* class_init, uint32_t instance_size, void* instance_init, uint32_t flags)
 {
         //gobject2_my_t *my = (gobject2_my_t*)my_lib->w.p2;
 
@@ -821,7 +821,7 @@ EXPORT void my_g_signal_emit_valist(x64emu_t* emu, void* inst, uint32_t id, void
     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)
+EXPORT void my_g_signal_emit(x64emu_t* emu, void* inst, uint32_t id, void* quark, uintptr_t* b)
 {
     CREATE_VALIST_FROM_VAARG(b, emu->scratch, 3);
     my->g_signal_emit_valist(inst, id, quark, VARARGS);
diff --git a/src/wrapped/wrappedgobject2_private.h b/src/wrapped/wrappedgobject2_private.h
index 76f0b2f6..b81d036d 100644
--- a/src/wrapped/wrappedgobject2_private.h
+++ b/src/wrapped/wrappedgobject2_private.h
@@ -338,7 +338,7 @@ GO(g_type_query, vFLp)
 //GOM(type_register_dynamic, iFEpippi)
 GOM(g_type_register_fundamental, LFELpppi)
 GOM(g_type_register_static, LFELppi)
-GOM(g_type_register_static_simple, LFELpLpLpi)
+GOM(g_type_register_static_simple, LFELpupupu)
 //GOM(g_type_remove_class_cache_func, vFEpB)
 //GOM(g_type_remove_interface_check, vFEpB)
 GO(g_type_set_qdata, vFLup)
diff --git a/src/wrapped/wrappedgomp.c b/src/wrapped/wrappedgomp.c
new file mode 100644
index 00000000..650da53a
--- /dev/null
+++ b/src/wrapped/wrappedgomp.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+
+const char* gompName = "libgomp.so.1";
+#define LIBNAME gomp
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedgomp_private.h b/src/wrapped/wrappedgomp_private.h
new file mode 100644
index 00000000..33b19706
--- /dev/null
+++ b/src/wrapped/wrappedgomp_private.h
@@ -0,0 +1,477 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+//GO(acc_async_test, 
+//GO(acc_async_test_all, 
+//GO(acc_async_test_all_h_, 
+//GO(acc_async_test_h_, 
+//GO(acc_async_wait, 
+//GO(acc_async_wait_all, 
+//GO(acc_attach, 
+//GO(acc_attach_async, 
+//GO(acc_copyin, 
+//GO(acc_copyin_32_h_, 
+//GO(acc_copyin_64_h_, 
+//GO(acc_copyin_array_h_, 
+//GO(acc_copyin_async, 
+//GO(acc_copyin_async_32_h_, 
+//GO(acc_copyin_async_64_h_, 
+//GO(acc_copyin_async_array_h_, 
+//GO(acc_copyout, 
+//GO(acc_copyout_32_h_, 
+//GO(acc_copyout_64_h_, 
+//GO(acc_copyout_array_h_, 
+//GO(acc_copyout_async, 
+//GO(acc_copyout_async_32_h_, 
+//GO(acc_copyout_async_64_h_, 
+//GO(acc_copyout_async_array_h_, 
+//GO(acc_copyout_finalize, 
+//GO(acc_copyout_finalize_32_h_, 
+//GO(acc_copyout_finalize_64_h_, 
+//GO(acc_copyout_finalize_array_h_, 
+//GO(acc_copyout_finalize_async, 
+//GO(acc_create, 
+//GO(acc_create_32_h_, 
+//GO(acc_create_64_h_, 
+//GO(acc_create_array_h_, 
+//GO(acc_create_async, 
+//GO(acc_create_async_32_h_, 
+//GO(acc_create_async_64_h_, 
+//GO(acc_create_async_array_h_, 
+//GO(acc_delete, 
+//GO(acc_delete_32_h_, 
+//GO(acc_delete_64_h_, 
+//GO(acc_delete_array_h_, 
+//GO(acc_delete_async, 
+//GO(acc_delete_async_32_h_, 
+//GO(acc_delete_async_64_h_, 
+//GO(acc_delete_async_array_h_, 
+//GO(acc_delete_finalize, 
+//GO(acc_delete_finalize_32_h_, 
+//GO(acc_delete_finalize_64_h_, 
+//GO(acc_delete_finalize_array_h_, 
+//GO(acc_delete_finalize_async, 
+//GO(acc_detach, 
+//GO(acc_detach_async, 
+//GO(acc_detach_finalize, 
+//GO(acc_detach_finalize_async, 
+//GO(acc_deviceptr, 
+//GO(acc_free, 
+//GO(acc_get_cuda_stream, 
+//GO(acc_get_current_cuda_context, 
+//GO(acc_get_current_cuda_device, 
+//GO(acc_get_device_num, 
+//GO(acc_get_device_num_h_, 
+//GO(acc_get_device_type, 
+//GO(acc_get_device_type_h_, 
+//GO(acc_get_num_devices, 
+//GO(acc_get_num_devices_h_, 
+//GO(acc_get_property, 
+//GO(acc_get_property_h_, 
+//GO(acc_get_property_string, 
+//GO(acc_get_property_string_h_, 
+//GO(acc_hostptr, 
+//GO(acc_init, 
+//GO(acc_init_h_, 
+//GO(acc_is_present, 
+//GO(acc_is_present_32_h_, 
+//GO(acc_is_present_64_h_, 
+//GO(acc_is_present_array_h_, 
+//GO(acc_malloc, 
+//GO(acc_map_data, 
+//GO(acc_memcpy_from_device, 
+//GO(acc_memcpy_from_device_async, 
+//GO(acc_memcpy_to_device, 
+//GO(acc_memcpy_to_device_async, 
+//GO(acc_on_device, 
+//GO(acc_on_device_h_, 
+//GO(acc_pcopyin, 
+//GO(acc_pcreate, 
+//GO(acc_present_or_copyin, 
+//GO(acc_present_or_copyin_32_h_, 
+//GO(acc_present_or_copyin_64_h_, 
+//GO(acc_present_or_copyin_array_h_, 
+//GO(acc_present_or_create, 
+//GO(acc_present_or_create_32_h_, 
+//GO(acc_present_or_create_64_h_, 
+//GO(acc_present_or_create_array_h_, 
+//GO(acc_prof_lookup, 
+//GO(acc_prof_register, 
+//GO(acc_prof_unregister, 
+//GO(acc_register_library, 
+//GO(acc_set_cuda_stream, 
+//GO(acc_set_device_num, 
+//GO(acc_set_device_num_h_, 
+//GO(acc_set_device_type, 
+//GO(acc_set_device_type_h_, 
+//GO(acc_shutdown, 
+//GO(acc_shutdown_h_, 
+//GO(acc_unmap_data, 
+//GO(acc_update_device, 
+//GO(acc_update_device_32_h_, 
+//GO(acc_update_device_64_h_, 
+//GO(acc_update_device_array_h_, 
+//GO(acc_update_device_async, 
+//GO(acc_update_device_async_32_h_, 
+//GO(acc_update_device_async_64_h_, 
+//GO(acc_update_device_async_array_h_, 
+//GO(acc_update_self, 
+//GO(acc_update_self_32_h_, 
+//GO(acc_update_self_64_h_, 
+//GO(acc_update_self_array_h_, 
+//GO(acc_update_self_async, 
+//GO(acc_update_self_async_32_h_, 
+//GO(acc_update_self_async_64_h_, 
+//GO(acc_update_self_async_array_h_, 
+//GO(acc_wait, 
+//GO(acc_wait_all, 
+//GO(acc_wait_all_async, 
+//GO(acc_wait_all_async_h_, 
+//GO(acc_wait_all_h_, 
+//GO(acc_wait_async, 
+//GO(acc_wait_async_h_, 
+//GO(acc_wait_h_, 
+
+//GO(GOMP_alloc, 
+//GO(GOMP_atomic_end, 
+//GO(GOMP_atomic_start, 
+//GO(GOMP_barrier, 
+//GO(GOMP_barrier_cancel, 
+//GO(GOMP_cancel, 
+//GO(GOMP_cancellation_point, 
+//GO(GOMP_critical_end, 
+//GO(GOMP_critical_name_end, 
+//GO(GOMP_critical_name_start, 
+//GO(GOMP_critical_start, 
+//GO(GOMP_doacross_post, 
+//GO(GOMP_doacross_ull_post, 
+//GO(GOMP_doacross_ull_wait, 
+//GO(GOMP_doacross_wait, 
+//GO(GOMP_error, 
+//GO(GOMP_free, 
+//GO(GOMP_loop_doacross_dynamic_start, 
+//GO(GOMP_loop_doacross_guided_start, 
+//GO(GOMP_loop_doacross_runtime_start, 
+//GO(GOMP_loop_doacross_start, 
+//GO(GOMP_loop_doacross_static_start, 
+//GO(GOMP_loop_dynamic_next, 
+//GO(GOMP_loop_dynamic_start, 
+//GO(GOMP_loop_end, 
+//GO(GOMP_loop_end_cancel, 
+//GO(GOMP_loop_end_nowait, 
+//GO(GOMP_loop_guided_next, 
+//GO(GOMP_loop_guided_start, 
+//GO(GOMP_loop_maybe_nonmonotonic_runtime_next, 
+//GO(GOMP_loop_maybe_nonmonotonic_runtime_start, 
+//GO(GOMP_loop_nonmonotonic_dynamic_next, 
+//GO(GOMP_loop_nonmonotonic_dynamic_start, 
+//GO(GOMP_loop_nonmonotonic_guided_next, 
+//GO(GOMP_loop_nonmonotonic_guided_start, 
+//GO(GOMP_loop_nonmonotonic_runtime_next, 
+//GO(GOMP_loop_nonmonotonic_runtime_start, 
+//GO(GOMP_loop_ordered_dynamic_next, 
+//GO(GOMP_loop_ordered_dynamic_start, 
+//GO(GOMP_loop_ordered_guided_next, 
+//GO(GOMP_loop_ordered_guided_start, 
+//GO(GOMP_loop_ordered_runtime_next, 
+//GO(GOMP_loop_ordered_runtime_start, 
+//GO(GOMP_loop_ordered_start, 
+//GO(GOMP_loop_ordered_static_next, 
+//GO(GOMP_loop_ordered_static_start, 
+//GO(GOMP_loop_runtime_next, 
+//GO(GOMP_loop_runtime_start, 
+//GO(GOMP_loop_start, 
+//GO(GOMP_loop_static_next, 
+//GO(GOMP_loop_static_start, 
+//GO(GOMP_loop_ull_doacross_dynamic_start, 
+//GO(GOMP_loop_ull_doacross_guided_start, 
+//GO(GOMP_loop_ull_doacross_runtime_start, 
+//GO(GOMP_loop_ull_doacross_start, 
+//GO(GOMP_loop_ull_doacross_static_start, 
+//GO(GOMP_loop_ull_dynamic_next, 
+//GO(GOMP_loop_ull_dynamic_start, 
+//GO(GOMP_loop_ull_guided_next, 
+//GO(GOMP_loop_ull_guided_start, 
+//GO(GOMP_loop_ull_maybe_nonmonotonic_runtime_next, 
+//GO(GOMP_loop_ull_maybe_nonmonotonic_runtime_start, 
+//GO(GOMP_loop_ull_nonmonotonic_dynamic_next, 
+//GO(GOMP_loop_ull_nonmonotonic_dynamic_start, 
+//GO(GOMP_loop_ull_nonmonotonic_guided_next, 
+//GO(GOMP_loop_ull_nonmonotonic_guided_start, 
+//GO(GOMP_loop_ull_nonmonotonic_runtime_next, 
+//GO(GOMP_loop_ull_nonmonotonic_runtime_start, 
+//GO(GOMP_loop_ull_ordered_dynamic_next, 
+//GO(GOMP_loop_ull_ordered_dynamic_start, 
+//GO(GOMP_loop_ull_ordered_guided_next, 
+//GO(GOMP_loop_ull_ordered_guided_start, 
+//GO(GOMP_loop_ull_ordered_runtime_next, 
+//GO(GOMP_loop_ull_ordered_runtime_start, 
+//GO(GOMP_loop_ull_ordered_start, 
+//GO(GOMP_loop_ull_ordered_static_next, 
+//GO(GOMP_loop_ull_ordered_static_start, 
+//GO(GOMP_loop_ull_runtime_next, 
+//GO(GOMP_loop_ull_runtime_start, 
+//GO(GOMP_loop_ull_start, 
+//GO(GOMP_loop_ull_static_next, 
+//GO(GOMP_loop_ull_static_start, 
+//GO(GOMP_offload_register, 
+//GO(GOMP_offload_register_ver, 
+//GO(GOMP_offload_unregister, 
+//GO(GOMP_offload_unregister_ver, 
+//GO(GOMP_ordered_end, 
+//GO(GOMP_ordered_start, 
+//GO(GOMP_parallel, 
+//GO(GOMP_parallel_end, 
+//GO(GOMP_parallel_loop_dynamic, 
+//GO(GOMP_parallel_loop_dynamic_start, 
+//GO(GOMP_parallel_loop_guided, 
+//GO(GOMP_parallel_loop_guided_start, 
+//GO(GOMP_parallel_loop_maybe_nonmonotonic_runtime, 
+//GO(GOMP_parallel_loop_nonmonotonic_dynamic, 
+//GO(GOMP_parallel_loop_nonmonotonic_guided, 
+//GO(GOMP_parallel_loop_nonmonotonic_runtime, 
+//GO(GOMP_parallel_loop_runtime, 
+//GO(GOMP_parallel_loop_runtime_start, 
+//GO(GOMP_parallel_loop_static, 
+//GO(GOMP_parallel_loop_static_start, 
+//GO(GOMP_parallel_reductions, 
+//GO(GOMP_parallel_sections, 
+//GO(GOMP_parallel_sections_start, 
+//GO(GOMP_parallel_start, 
+//GO(GOMP_PLUGIN_acc_default_dim, 
+//GO(GOMP_PLUGIN_acc_thread, 
+//GO(GOMP_PLUGIN_async_unmap_vars, 
+//GO(GOMP_PLUGIN_debug, 
+//GO(GOMP_PLUGIN_error, 
+//GO(GOMP_PLUGIN_fatal, 
+//GO(GOMP_PLUGIN_goacc_profiling_dispatch, 
+//GO(GOMP_PLUGIN_goacc_thread, 
+//GO(GOMP_PLUGIN_malloc, 
+//GO(GOMP_PLUGIN_malloc_cleared, 
+//GO(GOMP_PLUGIN_realloc, 
+//GO(GOMP_PLUGIN_target_rev, 
+//GO(GOMP_PLUGIN_target_task_completion, 
+//GO(GOMP_scope_start, 
+//GO(GOMP_sections2_start, 
+//GO(GOMP_sections_end, 
+//GO(GOMP_sections_end_cancel, 
+//GO(GOMP_sections_end_nowait, 
+//GO(GOMP_sections_next, 
+//GO(GOMP_sections_start, 
+//GO(GOMP_single_copy_end, 
+//GO(GOMP_single_copy_start, 
+//GO(GOMP_single_start, 
+//GO(GOMP_target, 
+//GO(GOMP_target_data, 
+//GO(GOMP_target_data_ext, 
+//GO(GOMP_target_end_data, 
+//GO(GOMP_target_enter_exit_data, 
+//GO(GOMP_target_ext, 
+//GO(GOMP_target_update, 
+//GO(GOMP_target_update_ext, 
+//GO(GOMP_task, 
+//GO(GOMP_taskgroup_end, 
+//GO(GOMP_taskgroup_reduction_register, 
+//GO(GOMP_taskgroup_reduction_unregister, 
+//GO(GOMP_taskgroup_start, 
+//GO(GOMP_taskloop, 
+//GO(GOMP_taskloop_ull, 
+//GO(GOMP_task_reduction_remap, 
+//GO(GOMP_taskwait, 
+//GO(GOMP_taskwait_depend, 
+//GO(GOMP_taskwait_depend_nowait, 
+//GO(GOMP_taskyield, 
+//GO(GOMP_teams, 
+//GO(GOMP_teams4, 
+//GO(GOMP_teams_reg, 
+//GO(GOMP_warning, 
+//GO(GOMP_workshare_task_reduction_unregister, 
+
+//GO(omp_aligned_alloc, 
+//GO(omp_aligned_calloc, 
+//GO(omp_alloc, 
+//GO(omp_calloc, 
+//GO(omp_capture_affinity, 
+//GO(omp_capture_affinity_, 
+//GO(omp_destroy_allocator, 
+//GO(omp_destroy_allocator_, 
+//GO(omp_destroy_lock@OMP_1.0
+//GO(omp_destroy_lock, 
+//GO(omp_destroy_lock_, 
+//GO(omp_destroy_lock_@OMP_1.0
+//GO(omp_destroy_nest_lock@OMP_1.0
+//GO(omp_destroy_nest_lock, 
+//GO(omp_destroy_nest_lock_, 
+//GO(omp_destroy_nest_lock_@OMP_1.0
+//GO(omp_display_affinity, 
+//GO(omp_display_affinity_, 
+//GO(omp_display_env, 
+//GO(omp_display_env_, 
+//GO(omp_display_env_8_, 
+//GO(omp_free, 
+//GO(omp_fulfill_event, 
+//GO(omp_fulfill_event_, 
+//GO(omp_get_active_level, 
+//GO(omp_get_active_level_, 
+//GO(omp_get_affinity_format, 
+//GO(omp_get_affinity_format_, 
+//GO(omp_get_ancestor_thread_num, 
+//GO(omp_get_ancestor_thread_num_, 
+//GO(omp_get_ancestor_thread_num_8_, 
+//GO(omp_get_cancellation, 
+//GO(omp_get_cancellation_, 
+//GO(omp_get_default_allocator, 
+//GO(omp_get_default_allocator_, 
+//GO(omp_get_default_device, 
+//GO(omp_get_default_device_, 
+//GO(omp_get_device_num, 
+//GO(omp_get_device_num_, 
+//GO(omp_get_dynamic, 
+//GO(omp_get_dynamic_, 
+//GO(omp_get_initial_device, 
+//GO(omp_get_initial_device_, 
+//GO(omp_get_level, 
+//GO(omp_get_level_, 
+//GO(omp_get_mapped_ptr, 
+//GO(omp_get_max_active_levels, 
+//GO(omp_get_max_active_levels_, 
+//GO(omp_get_max_task_priority, 
+//GO(omp_get_max_task_priority_, 
+//GO(omp_get_max_teams, 
+//GO(omp_get_max_teams_, 
+//GO(omp_get_max_threads, 
+//GO(omp_get_max_threads_, 
+//GO(omp_get_nested, 
+//GO(omp_get_nested_, 
+//GO(omp_get_num_devices, 
+//GO(omp_get_num_devices_, 
+//GO(omp_get_num_places, 
+//GO(omp_get_num_places_, 
+//GO(omp_get_num_procs, 
+//GO(omp_get_num_procs_, 
+//GO(omp_get_num_teams, 
+//GO(omp_get_num_teams_, 
+//GO(omp_get_num_threads, 
+//GO(omp_get_num_threads_, 
+//GO(omp_get_partition_num_places, 
+//GO(omp_get_partition_num_places_, 
+//GO(omp_get_partition_place_nums, 
+//GO(omp_get_partition_place_nums_, 
+//GO(omp_get_partition_place_nums_8_, 
+//GO(omp_get_place_num, 
+//GO(omp_get_place_num_, 
+//GO(omp_get_place_num_procs, 
+//GO(omp_get_place_num_procs_, 
+//GO(omp_get_place_num_procs_8_, 
+//GO(omp_get_place_proc_ids, 
+//GO(omp_get_place_proc_ids_, 
+//GO(omp_get_place_proc_ids_8_, 
+//GO(omp_get_proc_bind, 
+//GO(omp_get_proc_bind_, 
+//GO(omp_get_schedule, 
+//GO(omp_get_schedule_, 
+//GO(omp_get_schedule_8_, 
+//GO(omp_get_supported_active_levels, 
+//GO(omp_get_supported_active_levels_, 
+//GO(omp_get_team_num, 
+//GO(omp_get_team_num_, 
+//GO(omp_get_team_size, 
+//GO(omp_get_team_size_, 
+//GO(omp_get_team_size_8_, 
+//GO(omp_get_teams_thread_limit, 
+//GO(omp_get_teams_thread_limit_, 
+//GO(omp_get_thread_limit, 
+//GO(omp_get_thread_limit_, 
+//GO(omp_get_thread_num, 
+//GO(omp_get_thread_num_, 
+//GO(omp_get_wtick, 
+//GO(omp_get_wtick_, 
+//GO(omp_get_wtime, 
+//GO(omp_get_wtime_, 
+//GO(omp_in_explicit_task, 
+//GO(omp_in_explicit_task_, 
+//GO(omp_in_final, 
+//GO(omp_in_final_, 
+//GO(omp_init_allocator, 
+//GO(omp_init_allocator_, 
+//GO(omp_init_allocator_8_, 
+//GO(omp_init_lock, 
+//GO(omp_init_lock@OMP_1.0
+//GO(omp_init_lock_, 
+//GO(omp_init_lock_@OMP_1.0
+//GO(omp_init_nest_lock, 
+//GO(omp_init_nest_lock@OMP_1.0
+//GO(omp_init_nest_lock_, 
+//GO(omp_init_nest_lock_@OMP_1.0
+//GO(omp_in_parallel, 
+//GO(omp_in_parallel_, 
+//GO(omp_is_initial_device, 
+//GO(omp_is_initial_device_, 
+//GO(omp_pause_resource, 
+//GO(omp_pause_resource_, 
+//GO(omp_pause_resource_all, 
+//GO(omp_pause_resource_all_, 
+//GO(omp_realloc, 
+//GO(omp_set_affinity_format, 
+//GO(omp_set_affinity_format_, 
+//GO(omp_set_default_allocator, 
+//GO(omp_set_default_allocator_, 
+//GO(omp_set_default_device, 
+//GO(omp_set_default_device_, 
+//GO(omp_set_default_device_8_, 
+//GO(omp_set_dynamic, 
+//GO(omp_set_dynamic_, 
+//GO(omp_set_dynamic_8_, 
+//GO(omp_set_lock, 
+//GO(omp_set_lock@OMP_1.0
+//GO(omp_set_lock_, 
+//GO(omp_set_lock_@OMP_1.0
+//GO(omp_set_max_active_levels, 
+//GO(omp_set_max_active_levels_, 
+//GO(omp_set_max_active_levels_8_, 
+//GO(omp_set_nested, 
+//GO(omp_set_nested_, 
+//GO(omp_set_nested_8_, 
+//GO(omp_set_nest_lock@OMP_1.0
+//GO(omp_set_nest_lock, 
+//GO(omp_set_nest_lock_, 
+//GO(omp_set_nest_lock_@OMP_1.0
+//GO(omp_set_num_teams, 
+//GO(omp_set_num_teams_, 
+//GO(omp_set_num_teams_8_, 
+//GO(omp_set_num_threads, 
+//GO(omp_set_num_threads_, 
+//GO(omp_set_num_threads_8_, 
+//GO(omp_set_schedule, 
+//GO(omp_set_schedule_, 
+//GO(omp_set_schedule_8_, 
+//GO(omp_set_teams_thread_limit, 
+//GO(omp_set_teams_thread_limit_, 
+//GO(omp_set_teams_thread_limit_8_, 
+//GO(omp_target_alloc, 
+//GO(omp_target_associate_ptr, 
+//GO(omp_target_disassociate_ptr, 
+//GO(omp_target_free, 
+//GO(omp_target_is_accessible, 
+//GO(omp_target_is_present, 
+//GO(omp_target_memcpy, 
+//GO(omp_target_memcpy_async, 
+//GO(omp_target_memcpy_rect, 
+//GO(omp_target_memcpy_rect_async, 
+//GO(omp_test_lock@OMP_1.0
+//GO(omp_test_lock, 
+//GO(omp_test_lock_, 
+//GO(omp_test_lock_@OMP_1.0
+//GO(omp_test_nest_lock@OMP_1.0
+//GO(omp_test_nest_lock, 
+//GO(omp_test_nest_lock_@OMP_1.0
+//GO(omp_test_nest_lock_, 
+//GO(omp_unset_lock, 
+//GO(omp_unset_lock@OMP_1.0
+//GO(omp_unset_lock_@OMP_1.0
+//GO(omp_unset_lock_, 
+//GO(omp_unset_nest_lock, 
+//GO(omp_unset_nest_lock@OMP_1.0
+//GO(omp_unset_nest_lock_, 
+//GO(omp_unset_nest_lock_@OMP_1.0
+
diff --git a/src/wrapped/wrappedgstbase_private.h b/src/wrapped/wrappedgstbase_private.h
index facb23f6..f203a1b5 100644
--- a/src/wrapped/wrappedgstbase_private.h
+++ b/src/wrapped/wrappedgstbase_private.h
@@ -370,7 +370,7 @@ GO(gst_queue_array_push_tail_struct, vFpp)
 //GO(gst_type_find_helper_for_buffer, 
 //GO(gst_type_find_helper_for_buffer_with_extension, 
 //GO(gst_type_find_helper_for_data, 
-//GO(gst_type_find_helper_for_data_with_extension, 
+GO(gst_type_find_helper_for_data_with_extension, pFppLpp)
 //GO(gst_type_find_helper_for_extension, 
 //GO(gst_type_find_helper_get_range, 
 //GO(gst_type_find_helper_get_range_full, 
diff --git a/src/wrapped/wrappedgstreamer.c b/src/wrapped/wrappedgstreamer.c
index 7c22cc6c..8a279866 100644
--- a/src/wrapped/wrappedgstreamer.c
+++ b/src/wrapped/wrappedgstreamer.c
@@ -32,6 +32,7 @@ typedef int     (*iFpp_t)(void*, void*);
 #define ADDED_FUNCTIONS()                   \
     GO(gst_object_get_type, LFv_t)          \
     GO(gst_allocator_get_type, LFv_t)       \
+    GO(gst_task_pool_get_type, LFv_t)       \
     GO(gst_structure_new_valist, pFppA_t)   \
     GO(gst_structure_new_empty, pFp_t)      \
     GO(gst_caps_new_empty, pFv_t)           \
@@ -50,10 +51,10 @@ GO(3)   \
 
 // 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);\
+static uintptr_t my_destroyfunc_fct_##A = 0;                                \
+static int my_destroyfunc_##A(void* a, void* b)                             \
+{                                                                           \
+    return RunFunctionFmt(my_destroyfunc_fct_##A, "pp", a, b);  \
 }
 SUPER()
 #undef GO
@@ -74,10 +75,10 @@ static void* findDestroyFct(void* fct)
 }
 //GstPadActivateModeFunction
 #define GO(A)   \
-static uintptr_t my_GstPadActivateModeFunction_fct_##A = 0;                                     \
-static int my_GstPadActivateModeFunction_##A(void* a, void* b, int c, int d)                    \
-{                                                                                               \
-    return (int)RunFunction(my_context, my_GstPadActivateModeFunction_fct_##A, 4, a, b, c, d);  \
+static uintptr_t my_GstPadActivateModeFunction_fct_##A = 0;                                             \
+static int my_GstPadActivateModeFunction_##A(void* a, void* b, int c, int d)                            \
+{                                                                                                       \
+    return (int)RunFunctionFmt(my_GstPadActivateModeFunction_fct_##A, "ppii", a, b, c, d);  \
 }
 SUPER()
 #undef GO
@@ -97,10 +98,10 @@ static void* findGstPadActivateModeFunctionFct(void* fct)
 }
 //GstPadQueryFunction
 #define GO(A)   \
-static uintptr_t my_GstPadQueryFunction_fct_##A = 0;                                    \
-static int my_GstPadQueryFunction_##A(void* a, void* b, void* c)                        \
-{                                                                                       \
-    return (int)RunFunction(my_context, my_GstPadQueryFunction_fct_##A, 3, a, b, c);    \
+static uintptr_t my_GstPadQueryFunction_fct_##A = 0;                                        \
+static int my_GstPadQueryFunction_##A(void* a, void* b, void* c)                            \
+{                                                                                           \
+    return (int)RunFunctionFmt(my_GstPadQueryFunction_fct_##A, "ppp", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -120,10 +121,10 @@ static void* findGstPadQueryFunctionFct(void* fct)
 }
 //GstPadGetRangeFunction
 #define GO(A)   \
-static uintptr_t my_GstPadGetRangeFunction_fct_##A = 0;                                         \
-static int my_GstPadGetRangeFunction_##A(void* a, void* b, uint64_t c, uint32_t d, void* e)     \
-{                                                                                               \
-    return (int)RunFunction(my_context, my_GstPadGetRangeFunction_fct_##A, 5, a, b, c, d, e);   \
+static uintptr_t my_GstPadGetRangeFunction_fct_##A = 0;                                                 \
+static int my_GstPadGetRangeFunction_##A(void* a, void* b, uint64_t c, uint32_t d, void* e)             \
+{                                                                                                       \
+    return (int)RunFunctionFmt(my_GstPadGetRangeFunction_fct_##A, "ppUup", a, b, c, d, e);  \
 }
 SUPER()
 #undef GO
@@ -143,10 +144,10 @@ static void* findGstPadGetRangeFunctionFct(void* fct)
 }
 //GstPadChainFunction
 #define GO(A)   \
-static uintptr_t my_GstPadChainFunction_fct_##A = 0;                                    \
-static int my_GstPadChainFunction_##A(void* a, void* b, void* c)                        \
-{                                                                                       \
-    return (int)RunFunction(my_context, my_GstPadChainFunction_fct_##A, 3, a, b, c);    \
+static uintptr_t my_GstPadChainFunction_fct_##A = 0;                                        \
+static int my_GstPadChainFunction_##A(void* a, void* b, void* c)                            \
+{                                                                                           \
+    return (int)RunFunctionFmt(my_GstPadChainFunction_fct_##A, "ppp", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -166,10 +167,10 @@ static void* findGstPadChainFunctionFct(void* fct)
 }
 //GstPadEventFunction
 #define GO(A)   \
-static uintptr_t my_GstPadEventFunction_fct_##A = 0;                                    \
-static int my_GstPadEventFunction_##A(void* a, void* b, void* c)                        \
-{                                                                                       \
-    return (int)RunFunction(my_context, my_GstPadEventFunction_fct_##A, 3, a, b, c);    \
+static uintptr_t my_GstPadEventFunction_fct_##A = 0;                                        \
+static int my_GstPadEventFunction_##A(void* a, void* b, void* c)                            \
+{                                                                                           \
+    return (int)RunFunctionFmt(my_GstPadEventFunction_fct_##A, "ppp", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -187,10 +188,10 @@ static void* findGstPadEventFunctionFct(void* fct)
 }
 //GstBusSyncHandler
 #define GO(A)   \
-static uintptr_t my_GstBusSyncHandler_fct_##A = 0;                                    \
-static int my_GstBusSyncHandler_##A(void* a, void* b, void* c)                        \
-{                                                                                       \
-    return (int)RunFunction(my_context, my_GstBusSyncHandler_fct_##A, 3, a, b, c);    \
+static uintptr_t my_GstBusSyncHandler_fct_##A = 0;                                          \
+static int my_GstBusSyncHandler_##A(void* a, void* b, void* c)                              \
+{                                                                                           \
+    return (int)RunFunctionFmt(my_GstBusSyncHandler_fct_##A, "ppp", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -209,10 +210,10 @@ static void* findGstBusSyncHandlerFct(void* fct)
 
 //GstPluginFeatureFilter
 #define GO(A)   \
-static uintptr_t my_GstPluginFeatureFilter_fct_##A = 0;                                 \
-static int my_GstPluginFeatureFilter_##A(void* a, void* b)                              \
-{                                                                                       \
-    return (int)RunFunction(my_context, my_GstPluginFeatureFilter_fct_##A, 2, a, b);    \
+static uintptr_t my_GstPluginFeatureFilter_fct_##A = 0;                                     \
+static int my_GstPluginFeatureFilter_##A(void* a, void* b)                                  \
+{                                                                                           \
+    return (int)RunFunctionFmt(my_GstPluginFeatureFilter_fct_##A, "pp", a, b);  \
 }
 SUPER()
 #undef GO
@@ -229,6 +230,28 @@ static void* findGstPluginFeatureFilterFct(void* fct)
     return NULL;
 }
 
+//GstCapsFilterMapFunc
+#define GO(A)   \
+static uintptr_t my_GstCapsFilterMapFunc_fct_##A = 0;                                           \
+static int my_GstCapsFilterMapFunc_##A(void* a, void* b, void* c)                               \
+{                                                                                               \
+    return (int)RunFunctionFmt(my_GstCapsFilterMapFunc_fct_##A, "ppp", a, b, c);    \
+}
+SUPER()
+#undef GO
+static void* findGstCapsFilterMapFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my_GstCapsFilterMapFunc_fct_##A == (uintptr_t)fct) return my_GstCapsFilterMapFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GstCapsFilterMapFunc_fct_##A == 0) {my_GstCapsFilterMapFunc_fct_##A = (uintptr_t)fct; return my_GstCapsFilterMapFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gstreamer GstCapsFilterMapFunc callback\n");
+    return NULL;
+}
+
 #undef SUPER
 
 EXPORT void my_gst_caps_set_simple(x64emu_t* emu, void* caps, void* field, void* b) {
@@ -332,7 +355,7 @@ EXPORT void* my_gst_buffer_new_wrapped_full(x64emu_t* emu, uint32_t f, void* dat
 
 EXPORT void* my_gst_structure_new(x64emu_t* emu, void* name, void* first, uint64_t* b)
 {
-    if(!first)    
+    if(!first)
         return my->gst_structure_new_empty(name);
     CREATE_VALIST_FROM_VAARG(b, emu->scratch, 2);
     return my->gst_structure_new_valist(name, first, VARARGS);
@@ -362,6 +385,11 @@ EXPORT void* my_gst_registry_feature_filter(x64emu_t* emu, void* reg, void* filt
     return my->gst_registry_feature_filter(reg, findGstPluginFeatureFilterFct(filter), first, data);
 }
 
+EXPORT int my_gst_caps_foreach(x64emu_t* emu, void* caps, void* f, void* data)
+{
+    return my->gst_caps_foreach(caps, findGstCapsFilterMapFuncFct(f), data);
+}
+
 #define PRE_INIT    \
     if(box64_nogtk) \
         return -1;
@@ -370,6 +398,7 @@ EXPORT void* my_gst_registry_feature_filter(x64emu_t* emu, void* reg, void* filt
     getMy(lib);     \
     SetGstObjectID(my->gst_object_get_type());                 \
     SetGstAllocatorID(my->gst_allocator_get_type());           \
+    SetGstTaskPoolID(my->gst_task_pool_get_type());            \
     setNeededLibs(lib, 1, "libgtk-3.so.0");
 
 #define CUSTOM_FINI \
diff --git a/src/wrapped/wrappedgstreamer_private.h b/src/wrapped/wrappedgstreamer_private.h
index aad6a81c..cd6bfd61 100644
--- a/src/wrapped/wrappedgstreamer_private.h
+++ b/src/wrapped/wrappedgstreamer_private.h
@@ -212,7 +212,7 @@ GO(gst_caps_features_to_string, pFp)
 //GO(gst_caps_filter_and_map_in_place, 
 GO(gst_caps_fixate, pFp)
 GO(gst_caps_flags_get_type, pFv)
-//GOM(gst_caps_foreach, iFEpBp)
+GOM(gst_caps_foreach, iFEppp)
 GO(gst_caps_from_string, pFp)
 GO(gst_caps_get_features, pFpu)
 GO(gst_caps_get_size, uFp)
@@ -895,7 +895,7 @@ GO(gst_meta_api_type_register, LFpp)
 //DATAB(_gst_meta_tag_memory, 
 //DATAB(_gst_meta_transform_copy, 
 //GO(gst_mini_object_add_parent, 
-//GO(gst_mini_object_copy, 
+GO(gst_mini_object_copy, pFp)
 //GO(gst_mini_object_flags_get_type, 
 GO(gst_mini_object_get_qdata, pFpp)
 //GO(gst_mini_object_init, 
@@ -1371,17 +1371,17 @@ GO(gst_stream_collection_new, pFp)
 //GO(gst_stream_error_get_type, 
 //GO(gst_stream_error_quark, 
 //GO(gst_stream_flags_get_type, 
-//GO(gst_stream_get_caps, 
+GO(gst_stream_get_caps, pFp)
 GO(gst_stream_get_stream_flags, uFp)
 GO(gst_stream_get_stream_id, pFp)
 GO(gst_stream_get_stream_type, uFp)
-//GO(gst_stream_get_tags, 
+GO(gst_stream_get_tags, pFp)
 //GO(gst_stream_get_type, 
-//GO(gst_stream_new, 
-//GO(gst_stream_set_caps, 
+GO(gst_stream_new, pFppuu)
+GO(gst_stream_set_caps, vFpp)
 GO(gst_stream_set_stream_flags, vFpu)
 GO(gst_stream_set_stream_type, vFpu)
-//GO(gst_stream_set_tags, 
+GO(gst_stream_set_tags, vFpp)
 //GO(gst_stream_status_type_get_type, 
 GO(gst_stream_type_get_name, pFu)
 //GO(gst_stream_type_get_type, 
@@ -1545,21 +1545,21 @@ GO(gst_tag_setter_set_tag_merge_mode, vFpu)
 //GO(gst_task_cleanup_all, 
 //GO(gst_task_get_pool, 
 //GO(gst_task_get_state, 
-//GO(gst_task_get_type, 
+GO(gst_task_get_type, pFv)
 //GO(gst_task_join, 
 //GO(gst_task_new, 
 //GO(gst_task_pause, 
-//GO(gst_task_pool_cleanup, 
-//GO(gst_task_pool_get_type, 
+GO(gst_task_pool_cleanup, vFp)
+GO(gst_task_pool_get_type, pFv)
 //GO(gst_task_pool_join, 
 //GO(gst_task_pool_new, 
-//GO(gst_task_pool_prepare, 
+GO(gst_task_pool_prepare, vFp)
 //GO(gst_task_pool_push, 
 //GO(gst_task_resume, 
 //GO(gst_task_set_enter_callback, 
 //GO(gst_task_set_leave_callback, 
 //GO(gst_task_set_lock, 
-//GO(gst_task_set_pool, 
+GO(gst_task_set_pool, vFpp)
 //GO(gst_task_set_state, 
 //GO(gst_task_start, 
 //GO(gst_task_state_get_type, 
diff --git a/src/wrapped/wrappedgtk3.c b/src/wrapped/wrappedgtk3.c
index b2e459d1..87a7bd7a 100644
--- a/src/wrapped/wrappedgtk3.c
+++ b/src/wrapped/wrappedgtk3.c
@@ -99,10 +99,10 @@ GO(3)
 
 // 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);\
+static uintptr_t my_menudetach_fct_##A = 0;                                 \
+static void my_menudetach_##A(void* widget, void* menu)                     \
+{                                                                           \
+    RunFunctionFmt(my_menudetach_fct_##A, "pp", widget, menu);        \
 }
 SUPER()
 #undef GO
@@ -122,10 +122,10 @@ static void* findMenuDetachFct(void* fct)
 
 // 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);\
+static uintptr_t my_menuposition_fct_##A = 0;                                                   \
+static void my_menuposition_##A(void* menu, void* x, void* y, void* push_in, void* data)        \
+{                                                                                               \
+    RunFunctionFmt(my_menuposition_fct_##A, "ppppp", menu, x, y, push_in, data);          \
 }
 SUPER()
 #undef GO
@@ -145,10 +145,10 @@ static void* findMenuPositionFct(void* fct)
 
 // GtkFunction
 #define GO(A)   \
-static uintptr_t my3_gtkfunction_fct_##A = 0;   \
-static int my3_gtkfunction_##A(void* data)     \
-{                                       \
-    return RunFunction(my_context, my3_gtkfunction_fct_##A, 1, data);\
+static uintptr_t my3_gtkfunction_fct_##A = 0;                               \
+static int my3_gtkfunction_##A(void* data)                                  \
+{                                                                           \
+    return RunFunctionFmt(my3_gtkfunction_fct_##A, "p", data);        \
 }
 SUPER()
 #undef GO
@@ -168,10 +168,10 @@ static void* findGtkFunctionFct(void* fct)
 
 // 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);\
+static uintptr_t my_clipboardget_fct_##A = 0;                                                       \
+static void my_clipboardget_##A(void* clipboard, void* selection, uint32_t info, void* data)        \
+{                                                                                                   \
+    RunFunctionFmt(my_clipboardget_fct_##A, "ppup", clipboard, selection, info, data);        \
 }
 SUPER()
 #undef GO
@@ -191,10 +191,10 @@ static void* findClipboadGetFct(void* fct)
 
 // 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);\
+static uintptr_t my_clipboardclear_fct_##A = 0;                                     \
+static void my_clipboardclear_##A(void* clipboard, void* data)                      \
+{                                                                                   \
+    RunFunctionFmt(my_clipboardclear_fct_##A, "pp", clipboard, data);         \
 }
 SUPER()
 #undef GO
@@ -213,11 +213,11 @@ static void* findClipboadClearFct(void* fct)
 }
 
 // GtkCallback
-#define GO(A)   \
-static uintptr_t my3_gtkcallback_fct_##A = 0;   \
-static void my3_gtkcallback_##A(void* widget, void* data)     \
-{                                       \
-    RunFunction(my_context, my3_gtkcallback_fct_##A, 2, widget, data);\
+#define GO(A)                                                                   \
+static uintptr_t my3_gtkcallback_fct_##A = 0;                                   \
+static void my3_gtkcallback_##A(void* widget, void* data)                       \
+{                                                                               \
+    RunFunctionFmt(my3_gtkcallback_fct_##A, "pp", widget, data);          \
 }
 SUPER()
 #undef GO
@@ -237,10 +237,10 @@ static void* findGtkCallbackFct(void* fct)
 
 // 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);\
+static uintptr_t my_textcharpredicate_fct_##A = 0;                                          \
+static int my_textcharpredicate_##A(uint32_t ch, void* data)                                \
+{                                                                                           \
+    return (int)RunFunctionFmt(my_textcharpredicate_fct_##A, "up", ch, data);         \
 }
 SUPER()
 #undef GO
@@ -260,10 +260,10 @@ static void* findGtkTextCharPredicateFct(void* fct)
 
 // 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);\
+static uintptr_t my_toolbar_fct_##A = 0;                                \
+static void my_toolbar_##A(void* widget, void* data)                    \
+{                                                                       \
+    RunFunctionFmt(my_toolbar_fct_##A, "pp", widget, data);       \
 }
 SUPER()
 #undef GO
@@ -283,10 +283,10 @@ static void* findToolbarFct(void* fct)
 
 // 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);\
+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)   \
+{                                                                                                                                   \
+    RunFunctionFmt(my_builderconnect_fct_##A, "pppppip", builder, object, signal, handler, connect, flags, data);             \
 }
 SUPER()
 #undef GO
@@ -306,10 +306,10 @@ static void* findBuilderConnectFct(void* fct)
 
 // 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);   \
+static uintptr_t my_GtkTreeViewSearchEqualFunc_fct_##A = 0;                                                             \
+static int my_GtkTreeViewSearchEqualFunc_##A(void* model, int column, void* key, void* iter, void* data)                \
+{                                                                                                                       \
+    return RunFunctionFmt(my_GtkTreeViewSearchEqualFunc_fct_##A, "pippp", model, column, key, iter, data);        \
 }
 SUPER()
 #undef GO
@@ -328,10 +328,10 @@ static void* findGtkTreeViewSearchEqualFuncFct(void* fct)
 }
 // GtkTreeCellDataFunc
 #define GO(A)   \
-static uintptr_t my_GtkTreeCellDataFunc_fct_##A = 0;                                                \
-static void my_GtkTreeCellDataFunc_##A(void* tree, void* cell, void* model, void* iter, void* data) \
-{                                                                                                   \
-    RunFunction(my_context, my_GtkTreeCellDataFunc_fct_##A, 5, tree, cell, model, iter, data);      \
+static uintptr_t my_GtkTreeCellDataFunc_fct_##A = 0;                                                    \
+static void my_GtkTreeCellDataFunc_##A(void* tree, void* cell, void* model, void* iter, void* data)     \
+{                                                                                                       \
+    RunFunctionFmt(my_GtkTreeCellDataFunc_fct_##A, "ppppp", tree, cell, model, iter, data);       \
 }
 SUPER()
 #undef GO
@@ -351,10 +351,10 @@ static void* findGtkTreeCellDataFuncFct(void* fct)
 
 // 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);    \
+static uintptr_t my_GDestroyNotify_fct_##A = 0;                         \
+static void my_GDestroyNotify_##A(void* data)                           \
+{                                                                       \
+    RunFunctionFmt(my_GDestroyNotify_fct_##A, "p", data);         \
 }
 SUPER()
 #undef GO
@@ -374,10 +374,10 @@ static void* findGDestroyNotifyFct(void* fct)
 
 // 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);    \
+static uintptr_t my_GtkTreeIterCompareFunc_fct_##A = 0;                                                 \
+static int my_GtkTreeIterCompareFunc_##A(void* model, void* a, void* b, void* data)                     \
+{                                                                                                       \
+    return RunFunctionFmt(my_GtkTreeIterCompareFunc_fct_##A, "pppp", model, a, b, data);          \
 }
 SUPER()
 #undef GO
@@ -397,10 +397,10 @@ static void* findGtkTreeIterCompareFuncFct(void* fct)
 
 // GtkPrinterFunc
 #define GO(A)   \
-static uintptr_t my_GtkPrinterFunc_fct_##A = 0;                                     \
-static int my_GtkPrinterFunc_##A(void* printer, void* data)                         \
-{                                                                                   \
-    return RunFunction(my_context, my_GtkPrinterFunc_fct_##A, 2, printer, data);    \
+static uintptr_t my_GtkPrinterFunc_fct_##A = 0;                                         \
+static int my_GtkPrinterFunc_##A(void* printer, void* data)                             \
+{                                                                                       \
+    return RunFunctionFmt(my_GtkPrinterFunc_fct_##A, "pp", printer, data);        \
 }
 SUPER()
 #undef GO
@@ -420,10 +420,10 @@ static void* findGtkPrinterFuncFct(void* fct)
 
 // GtkPrintJobCompleteHunc
 #define GO(A)   \
-static uintptr_t my_GtkPrintJobCompleteHunc_fct_##A = 0;                                \
-static void my_GtkPrintJobCompleteHunc_##A(void* job, void* data, void* error)          \
-{                                                                                       \
-    RunFunction(my_context, my_GtkPrintJobCompleteHunc_fct_##A, 3, job, data, error);   \
+static uintptr_t my_GtkPrintJobCompleteHunc_fct_##A = 0;                                        \
+static void my_GtkPrintJobCompleteHunc_##A(void* job, void* data, void* error)                  \
+{                                                                                               \
+    RunFunctionFmt(my_GtkPrintJobCompleteHunc_fct_##A, "ppp", job, data, error);          \
 }
 SUPER()
 #undef GO
@@ -441,6 +441,30 @@ static void* findGtkPrintJobCompleteHuncFct(void* fct)
     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)                \
+{                                                                                                       \
+    RunFunctionFmt(my_GtkClipboardTextReceivedFunc_fct_##A, "ppp", 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-3 GtkClipboardTextReceivedFunc callback\n");
+    return NULL;
+}
+
 #undef SUPER
 /*
 EXPORT void my3_gtk_dialog_add_buttons(x64emu_t* emu, void* dialog, void* first, uintptr_t* b)
@@ -533,7 +557,7 @@ EXPORT int my3_gtk_clipboard_set_with_owner(x64emu_t* emu, void* clipboard, void
 
 static void* my_translate_func(void* path, my_signal_t* sig)
 {
-    return (void*)RunFunction(my_context, sig->c_handler, 2, path, sig->data);
+    return (void*)RunFunctionFmt(sig->c_handler, "pp", path, sig->data)       ;
 }
 
 EXPORT void my3_gtk_stock_set_translate_func(x64emu_t* emu, void* domain, void* f, void* data, void* notify)
@@ -639,7 +663,7 @@ typedef struct my_connectargs_s {
 //defined in gobject2...
 uintptr_t my_g_signal_connect_object(x64emu_t* emu, void* instance, void* detailed, void* c_handler, void* object, uint32_t flags);
 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 my3_gtk_builder_connect_signals_default(void* builder, void* object, 
+static void my3_gtk_builder_connect_signals_default(void* builder, void* object,
                                                     char* signal_name, char* handler_name,
                                                     void* connect_object, uint32_t flags, my_connectargs_t* args)
 {
@@ -723,6 +747,11 @@ EXPORT void my3_gtk_container_foreach(x64emu_t* emu, void* container, void* cb,
     my->gtk_container_foreach(container, findGtkCallbackFct(cb), data);
 }
 
+EXPORT void my3_gtk_clipboard_request_text(x64emu_t* emu, void* clipboard, void* f, void* data)
+{
+    my->gtk_clipboard_request_text(clipboard, findGtkClipboardTextReceivedFuncFct(f), data);
+}
+
 #define PRE_INIT    \
     if(box64_nogtk) \
         return -1;
diff --git a/src/wrapped/wrappedgtk3_private.h b/src/wrapped/wrappedgtk3_private.h
index 3c914c19..a6e4e3ee 100644
--- a/src/wrapped/wrappedgtk3_private.h
+++ b/src/wrapped/wrappedgtk3_private.h
@@ -193,7 +193,7 @@ GO(gtk_alternative_dialog_button_order, iFp)
 GO(gtk_anchor_type_get_type, pFv)
 GO(gtk_application_add_window, vFpp)
 GO(gtk_application_get_new, pFpi)
-GO(gtk_application_get_type, pFv)
+GO(gtk_application_get_type, LFv)
 GO(gtk_application_new, pFpu)
 GO(gtk_application_set_accels_for_action, vFppp)
 GO(gtk_application_window_new, pFp)
@@ -446,6 +446,7 @@ 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_default, pFp)
 GO(gtk_clipboard_get_display, pFp)
 GO(gtk_clipboard_get_for_display, pFpp)
 GO(gtk_clipboard_get_owner, pFp)
@@ -454,7 +455,7 @@ GO(gtk_clipboard_get_type, pFv)
 //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_text, vFEppp)
 //GOM(gtk_clipboard_request_uris, vFEppp)
 GO(gtk_clipboard_set_can_store, vFppi)
 GO(gtk_clipboard_set_image, vFpp)
@@ -650,6 +651,7 @@ 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_accessible_get_type, LFv)
 GO(gtk_container_add, vFpp)
 GO(gtk_container_add_with_properties, vFpppppppppppp)    //vaarg
 GO(gtk_container_check_resize, vFp)
@@ -2649,6 +2651,7 @@ GO(gtk_settings_set_string_property, vFpppp)
 GO(gtk_shadow_type_get_type, pFv)
 GO(gtk_show_about_dialog, vFpppppppppppppppppppppppp)   //vaarg
 GO(gtk_show_uri, iFppup)
+GO(gtk_show_uri_on_window, iFppup)
 GO(gtk_side_type_get_type, pFv)
 //GO(gtk_signal_compat_matched, 
 GOM(gtk_signal_connect_full, LFEppppppii)
@@ -3824,6 +3827,8 @@ 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_class_set_accessible_role, vFpu)
+GO(gtk_widget_class_set_accessible_type, vFpL)
 //GOM(gtk_widget_class_set_connect_func, vFEpBpB)
 GO(gtk_widget_compute_expand, iFpu)
 GO(gtk_widget_create_pango_context, pFp)
@@ -4000,6 +4005,7 @@ 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_register_window, vFpp)
 GO(gtk_widget_remove_accelerator, iFppuu)
 GO(gtk_widget_remove_mnemonic_label, vFpp)
 GO(gtk_widget_render_icon, pFppup)
@@ -4202,6 +4208,8 @@ GO(gtk_wrap_mode_get_type, pFv)
 GO(gtk_gesture_long_press_get_type, LFv)
 GO(gtk_gesture_single_get_type, LFv)
 GO(gtk_gesture_get_type, LFv)
+GO(gtk_gesture_rotate_new, pFp)
+GO(gtk_gesture_zoom_new, pFp)
 GO(gtk_event_controller_get_type, LFv)
 GO(gtk_stack_set_visible_child_name, vFpp)
 GO(gtk_stack_get_visible_child_name, pFp)
diff --git a/src/wrapped/wrappedgtkx112.c b/src/wrapped/wrappedgtkx112.c
index 93a29bc2..462f924f 100644
--- a/src/wrapped/wrappedgtkx112.c
+++ b/src/wrapped/wrappedgtkx112.c
@@ -150,10 +150,10 @@ 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);\
+static uintptr_t my_menudetach_fct_##A = 0;                                 \
+static void my_menudetach_##A(void* widget, void* menu)                     \
+{                                                                           \
+    RunFunctionFmt(my_menudetach_fct_##A, "pp", widget, menu);        \
 }
 SUPER()
 #undef GO
@@ -173,10 +173,10 @@ static void* findMenuDetachFct(void* fct)
 
 // 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);\
+static uintptr_t my_menuposition_fct_##A = 0;                                                   \
+static void my_menuposition_##A(void* menu, void* x, void* y, void* push_in, void* data)        \
+{                                                                                               \
+    RunFunctionFmt(my_menuposition_fct_##A, "ppppp", menu, x, y, push_in, data);          \
 }
 SUPER()
 #undef GO
@@ -196,10 +196,10 @@ static void* findMenuPositionFct(void* fct)
 
 // 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);\
+static uintptr_t my_gtkfunction_fct_##A = 0;                                \
+static int my_gtkfunction_##A(void* data)                                   \
+{                                                                           \
+    return RunFunctionFmt(my_gtkfunction_fct_##A, "p", data);         \
 }
 SUPER()
 #undef GO
@@ -219,10 +219,10 @@ static void* findGtkFunctionFct(void* fct)
 
 // 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);\
+static uintptr_t my_clipboardget_fct_##A = 0;                                                       \
+static void my_clipboardget_##A(void* clipboard, void* selection, uint32_t info, void* data)        \
+{                                                                                                   \
+    RunFunctionFmt(my_clipboardget_fct_##A, "ppup", clipboard, selection, info, data);        \
 }
 SUPER()
 #undef GO
@@ -242,10 +242,10 @@ static void* findClipboadGetFct(void* fct)
 
 // 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);\
+static uintptr_t my_clipboardclear_fct_##A = 0;                                     \
+static void my_clipboardclear_##A(void* clipboard, void* data)                      \
+{                                                                                   \
+    RunFunctionFmt(my_clipboardclear_fct_##A, "pp", clipboard, data);         \
 }
 SUPER()
 #undef GO
@@ -265,10 +265,10 @@ static void* findClipboadClearFct(void* fct)
 
 // 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);\
+static uintptr_t my_gtkcallback_fct_##A = 0;                                \
+static void my_gtkcallback_##A(void* widget, void* data)                    \
+{                                                                           \
+    RunFunctionFmt(my_gtkcallback_fct_##A, "pp", widget, data);       \
 }
 SUPER()
 #undef GO
@@ -288,10 +288,10 @@ static void* findGtkCallbackFct(void* fct)
 
 // 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);\
+static uintptr_t my_textcharpredicate_fct_##A = 0;                                          \
+static int my_textcharpredicate_##A(uint32_t ch, void* data)                                \
+{                                                                                           \
+    return (int)RunFunctionFmt(my_textcharpredicate_fct_##A, "up", ch, data);         \
 }
 SUPER()
 #undef GO
@@ -311,10 +311,10 @@ static void* findGtkTextCharPredicateFct(void* fct)
 
 // 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);\
+static uintptr_t my_toolbar_fct_##A = 0;                                \
+static void my_toolbar_##A(void* widget, void* data)                    \
+{                                                                       \
+    RunFunctionFmt(my_toolbar_fct_##A, "pp", widget, data);       \
 }
 SUPER()
 #undef GO
@@ -334,10 +334,10 @@ static void* findToolbarFct(void* fct)
 
 // 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);\
+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)   \
+{                                                                                                                                   \
+    RunFunctionFmt(my_builderconnect_fct_##A, "pppppip", builder, object, signal, handler, connect, flags, data);             \
 }
 SUPER()
 #undef GO
@@ -357,10 +357,10 @@ static void* findBuilderConnectFct(void* fct)
 
 // 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);\
+static uintptr_t my_GtkCellLayoutDataFunc_fct_##A = 0;                                                      \
+static void my_GtkCellLayoutDataFunc_##A(void* layout, void* cell, void* tree, void* iter, void* data)      \
+{                                                                                                           \
+    RunFunctionFmt(my_GtkCellLayoutDataFunc_fct_##A, "ppppp", layout, cell, tree, iter, data);        \
 }
 SUPER()
 #undef GO
@@ -380,10 +380,10 @@ static void* findGtkCellLayoutDataFuncFct(void* fct)
 
 // GtkTreeCellDataFunc
 #define GO(A)   \
-static uintptr_t my_GtkTreeCellDataFunc_fct_##A = 0;                                                  \
-static void my_GtkTreeCellDataFunc_##A(void* column, void* cell, void* tree, void* iter, void* data)  \
-{                                       \
-    RunFunction(my_context, my_GtkTreeCellDataFunc_fct_##A, 5, column, cell, tree, iter, data);\
+static uintptr_t my_GtkTreeCellDataFunc_fct_##A = 0;                                                        \
+static void my_GtkTreeCellDataFunc_##A(void* column, void* cell, void* tree, void* iter, void* data)        \
+{                                                                                                           \
+    RunFunctionFmt(my_GtkTreeCellDataFunc_fct_##A, "ppppp", column, cell, tree, iter, data);          \
 }
 SUPER()
 #undef GO
@@ -404,10 +404,10 @@ static void* findGtkTreeCellDataFuncFct(void* fct)
 
 // 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);    \
+static uintptr_t my_GDestroyNotify_fct_##A = 0;                         \
+static void my_GDestroyNotify_##A(void* data)                           \
+{                                                                       \
+    RunFunctionFmt(my_GDestroyNotify_fct_##A, "p", data);         \
 }
 SUPER()
 #undef GO
@@ -427,10 +427,10 @@ static void* findGDestroyNotifyFct(void* fct)
 
 // 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);    \
+static uintptr_t my_GtkTreeModelForeachFunc_fct_##A = 0;                                                            \
+static int my_GtkTreeModelForeachFunc_##A(void* model, void* path, void* iter, void* data)                          \
+{                                                                                                                   \
+    return (int)RunFunctionFmt(my_GtkTreeModelForeachFunc_fct_##A, "pppp", model, path, iter, data);          \
 }
 SUPER()
 #undef GO
@@ -450,10 +450,10 @@ static void* findGtkTreeModelForeachFuncFct(void* fct)
 
 // GtkTreeSelectionSelectedForeachFunc
 #define GO(A)   \
-static uintptr_t my_GtkTreeSelectionSelectedForeachFunc_fct_##A = 0;                                                    \
-static int my_GtkTreeSelectionSelectedForeachFunc_##A(void* selection, void* path, void* iter, void* data)                  \
-{                                                                                                           \
-    return (int)RunFunction(my_context, my_GtkTreeSelectionSelectedForeachFunc_fct_##A, 4, selection, path, iter, data);    \
+static uintptr_t my_GtkTreeSelectionSelectedForeachFunc_fct_##A = 0;                                                                \
+static int my_GtkTreeSelectionSelectedForeachFunc_##A(void* selection, void* path, void* iter, void* data)                          \
+{                                                                                                                                   \
+    return (int)RunFunctionFmt(my_GtkTreeSelectionSelectedForeachFunc_fct_##A, "pppp", selection, path, iter, data);          \
 }
 SUPER()
 #undef GO
@@ -473,10 +473,10 @@ static void* findGtkTreeSelectionSelectedForeachFuncFct(void* fct)
 
 // 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); \
+static uintptr_t my_GtkClipboardReceivedFunc_fct_##A = 0;                                           \
+static void my_GtkClipboardReceivedFunc_##A(void* clipboard, void* sel, void* data)                 \
+{                                                                                                   \
+    RunFunctionFmt(my_GtkClipboardReceivedFunc_fct_##A, "ppp", clipboard, sel, data);         \
 }
 SUPER()
 #undef GO
@@ -496,10 +496,10 @@ static void* findGtkClipboardReceivedFuncFct(void* fct)
 
 // 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); \
+static uintptr_t my_GtkClipboardTextReceivedFunc_fct_##A = 0;                                           \
+static void my_GtkClipboardTextReceivedFunc_##A(void* clipboard, void* text, void* data)                \
+{                                                                                                       \
+    RunFunctionFmt(my_GtkClipboardTextReceivedFunc_fct_##A, "ppp", clipboard, text, data);        \
 }
 SUPER()
 #undef GO
@@ -519,10 +519,10 @@ static void* findGtkClipboardTextReceivedFuncFct(void* fct)
 
 // 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);   \
+static uintptr_t my_GtkTreeViewSearchEqualFunc_fct_##A = 0;                                                             \
+static int my_GtkTreeViewSearchEqualFunc_##A(void* model, int column, void* key, void* iter, void* data)                \
+{                                                                                                                       \
+    return RunFunctionFmt(my_GtkTreeViewSearchEqualFunc_fct_##A, "pippp", model, column, key, iter, data);        \
 }
 SUPER()
 #undef GO
@@ -542,10 +542,10 @@ static void* findGtkTreeViewSearchEqualFuncFct(void* fct)
 
 // 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);    \
+static uintptr_t my_GtkTreeIterCompareFunc_fct_##A = 0;                                                 \
+static int my_GtkTreeIterCompareFunc_##A(void* model, void* a, void* b, void* data)                     \
+{                                                                                                       \
+    return RunFunctionFmt(my_GtkTreeIterCompareFunc_fct_##A, "pppp", model, a, b, data);          \
 }
 SUPER()
 #undef GO
@@ -565,10 +565,10 @@ static void* findGtkTreeIterCompareFuncFct(void* fct)
 
 // 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);   \
+static uintptr_t my_GdkInputFunction_fct_##A = 0;                                       \
+static void my_GdkInputFunction_##A(void* data, int source, int cond)                   \
+{                                                                                       \
+    RunFunctionFmt(my_GdkInputFunction_fct_##A, "pii", data, source, cond);       \
 }
 SUPER()
 #undef GO
@@ -588,10 +588,10 @@ static void* findGdkInputFunctionFct(void* fct)
 
 // 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);  \
+static uintptr_t my_GtkCallbackMarshal_fct_##A = 0;                                         \
+static void my_GtkCallbackMarshal_##A(void* obj, void* data, uint32_t n, void* args)        \
+{                                                                                           \
+    RunFunctionFmt(my_GtkCallbackMarshal_fct_##A, "ppup", obj, data, n, args);        \
 }
 SUPER()
 #undef GO
@@ -610,10 +610,10 @@ static void* findGtkCallbackMarshalFct(void* fct)
 }
 // GtkPrinterFunc ...
 #define GO(A)   \
-static uintptr_t my_GtkPrinterFunc_fct_##A = 0;                         \
-static int my_GtkPrinterFunc_##A(void* a, void* b)                      \
-{                                                                       \
-    return (int)RunFunction(my_context, my_GtkPrinterFunc_fct_##A, 2, a, b); \
+static uintptr_t my_GtkPrinterFunc_fct_##A = 0;                                     \
+static int my_GtkPrinterFunc_##A(void* a, void* b)                                  \
+{                                                                                   \
+    return (int)RunFunctionFmt(my_GtkPrinterFunc_fct_##A, "pp", a, b);        \
 }
 SUPER()
 #undef GO
@@ -632,10 +632,10 @@ static void* find_GtkPrinterFunc_Fct(void* fct)
 }
 // GtkFileFilterFunc ...
 #define GO(A)   \
-static uintptr_t my_GtkFileFilterFunc_fct_##A = 0;                              \
-static int my_GtkFileFilterFunc_##A(void* a, void* b)                           \
-{                                                                               \
-    return (int)RunFunction(my_context, my_GtkFileFilterFunc_fct_##A, 2, a, b); \
+static uintptr_t my_GtkFileFilterFunc_fct_##A = 0;                                      \
+static int my_GtkFileFilterFunc_##A(void* a, void* b)                                   \
+{                                                                                       \
+    return (int)RunFunctionFmt(my_GtkFileFilterFunc_fct_##A, "pp", a, b);         \
 }
 SUPER()
 #undef GO
@@ -654,10 +654,10 @@ static void* find_GtkFileFilterFunc_Fct(void* fct)
 }
 // GtkPrintJobCompleteFunc ...
 #define GO(A)   \
-static uintptr_t my_GtkPrintJobCompleteFunc_fct_##A = 0;                        \
-static void my_GtkPrintJobCompleteFunc_##A(void* a, void* b, void* c)           \
-{                                                                               \
-    RunFunction(my_context, my_GtkPrintJobCompleteFunc_fct_##A, 3, a, b, c);    \
+static uintptr_t my_GtkPrintJobCompleteFunc_fct_##A = 0;                            \
+static void my_GtkPrintJobCompleteFunc_##A(void* a, void* b, void* c)               \
+{                                                                                   \
+    RunFunctionFmt(my_GtkPrintJobCompleteFunc_fct_##A, "ppp", a, b, c);       \
 }
 SUPER()
 #undef GO
@@ -677,10 +677,10 @@ static void* find_GtkPrintJobCompleteFunc_Fct(void* fct)
 
 // GtkLinkButtonUri ...
 #define GO(A)   \
-static uintptr_t my_GtkLinkButtonUri_fct_##A = 0;                       \
-static void my_GtkLinkButtonUri_##A(void* a, void* b, void* c)          \
-{                                                                       \
-    RunFunction(my_context, my_GtkLinkButtonUri_fct_##A, 3, a, b, c);   \
+static uintptr_t my_GtkLinkButtonUri_fct_##A = 0;                               \
+static void my_GtkLinkButtonUri_##A(void* a, void* b, void* c)                  \
+{                                                                               \
+    RunFunctionFmt(my_GtkLinkButtonUri_fct_##A, "ppp", a, b, c);          \
 }
 SUPER()
 #undef GO
@@ -833,7 +833,7 @@ EXPORT int my_gtk_clipboard_set_with_owner(x64emu_t* emu, void* clipboard, void*
 
 static void* my_translate_func(void* path, my_signal_t* sig)
 {
-    return (void*)RunFunction(my_context, sig->c_handler, 2, path, sig->data);
+    return (void*)RunFunctionFmt(sig->c_handler, "pp", path, sig->data)       ;
 }
 
 EXPORT void my_gtk_stock_set_translate_func(x64emu_t* emu, void* domain, void* f, void* data, void* notify)
diff --git a/src/wrapped/wrappedicui18n67_private.h b/src/wrapped/wrappedicui18n67_private.h
index b32f447a..431164b6 100644
--- a/src/wrapped/wrappedicui18n67_private.h
+++ b/src/wrapped/wrappedicui18n67_private.h
@@ -3,17 +3,57 @@
 #endif
 
 GO(ucal_add_67, vFpiip)
+GO(ucal_clear_67, vFp)
+GO(ucal_clearField_67, vFpi)
+GO(ucal_clone_67, pFpp)
 GO(ucal_close_67, vFp)
+GO(ucal_countAvailable_67, iFv)
+GO(ucal_equivalentTo_67, cFpp)
 GO(ucal_get_67, iFpip)
 GO(ucal_getAttribute_67, iFpi)
+GO(ucal_getAvailable_67, pFi)
+GO(ucal_getCanonicalTimeZoneID_67, iFpipipp)
+GO(ucal_getDayOfWeekType_67, iFpip)
+GO(ucal_getDefaultTimeZone_67, iFpip)
+GO(ucal_getDSTSavings_67, iFpp)
+GO(ucal_getFieldDifference_67, iFpdip)
+GO(ucal_getGregorianChange_67, dFpp)
+GO(ucal_getHostTimeZone_67, iFpip)
 GO(ucal_getKeywordValuesForLocale_67, pFppCp)
 GO(ucal_getLimit_67, iFpiip)
+GO(ucal_getLocaleByType_67, pFpip)
+GO(ucal_getMillis_67, dFpp)
+GO(ucal_getNow_67, dFv)
 GO(ucal_getTimeZoneDisplayName_67, iFpippip)
+GO(ucal_getTimeZoneID_67, iFppip)
+GO(ucal_getTimeZoneIDForWindowsID_67, iFpippip)
+GO(ucal_getTimeZoneOffsetFromLocal_67, vFpiippp)
+GO(ucal_getTimeZoneTransitionDate_67, cFpipp)
+GO(ucal_getType_67, pFpp)
+GO(ucal_getTZDataVersion_67, pFp)
+GO(ucal_getWeekendTransition_67, iFpip)
+GO(ucal_getWindowsTimeZoneID_67, iFpipip)
+GO(ucal_inDaylightTime_67, cFpp)
+GO(ucal_isSet_67, cFpi)
+GO(ucal_isWeekend_67, cFpdp)
 GO(ucal_open_67, pFpipip)
+GO(ucal_openCountryTimeZones_67, pFpp)
+GO(ucal_openTimeZoneIDEnumeration_67, pFippp)
+GO(ucal_openTimeZones_67, pFp)
+GO(ucal_roll_67, vFpiip)
 GO(ucal_set_67, vFpii)
+GO(ucal_setAttribute_67, vFpii)
+GO(ucal_setDate_67, vFpiiip)
+GO(ucal_setDateTime_67, vFpiiiiiip)
+GO(ucal_setDefaultTimeZone_67, vFpp)
+GO(ucal_setGregorianChange_67, vFpdp)
+GO(ucal_setMillis_67, vFpdp)
+GO(ucal_setTimeZone_67, vFppip)
 
+GO(ucol_clone_67, pFpp)
 GO(ucol_close_67, vFp)
 GO(ucol_closeElements_67, vFp)
+GO(ucol_setMaxVariable_67, vFpip)
 GO(ucol_getOffset_67, iFp)
 GO(ucol_getRules_67, pFpp)
 GO(ucol_getSortKey_67, iFppipi)
@@ -32,6 +72,7 @@ GO(ucol_strcoll_67, iFppipi)
 GO(udat_close_67, vFp)
 GO(udat_countSymbols_67, iFpi)
 GO(udat_getSymbols_67, iFpiipip)
+GO(udat_format_67, iFpdpipp)
 GO(udat_open_67, pFiippipip)
 GO(udat_setCalendar_67, vFpp)
 GO(udat_toPattern_67, iFpCpip)
@@ -51,6 +92,9 @@ GO(ulocdata_getMeasurementSystem_67, iFpp)
 
 GO(usearch_close_67, vFp)
 GO(usearch_first_67, iFpp)
+GO(usearch_getBreakIterator_67, pFp)
 GO(usearch_getMatchedLength_67, iFp)
 GO(usearch_last_67, iFpp)
 GO(usearch_openFromCollator_67, pFpipippp)
+GO(usearch_setPattern_67, vFppip)
+GO(usearch_setText_67, vFppip)
diff --git a/src/wrapped/wrappedicui18n72_private.h b/src/wrapped/wrappedicui18n72_private.h
index eb6b84de..351b7e69 100644
--- a/src/wrapped/wrappedicui18n72_private.h
+++ b/src/wrapped/wrappedicui18n72_private.h
@@ -2,18 +2,61 @@
 #error meh!
 #endif
 
+// UDate is double
+// UBool is int8_t
+
 GO(ucal_add_72, vFpiip)
+GO(ucal_clear_72, vFp)
+GO(ucal_clearField_72, vFpi)
+GO(ucal_clone_72, pFpp)
 GO(ucal_close_72, vFp)
+GO(ucal_countAvailable_72, iFv)
+GO(ucal_equivalentTo_72, cFpp)
 GO(ucal_get_72, iFpip)
 GO(ucal_getAttribute_72, iFpi)
+GO(ucal_getAvailable_72, pFi)
+GO(ucal_getCanonicalTimeZoneID_72, iFpipipp)
+GO(ucal_getDayOfWeekType_72, iFpip)
+GO(ucal_getDefaultTimeZone_72, iFpip)
+GO(ucal_getDSTSavings_72, iFpp)
+GO(ucal_getFieldDifference_72, iFpdip)
+GO(ucal_getGregorianChange_72, dFpp)
+GO(ucal_getHostTimeZone_72, iFpip)
 GO(ucal_getKeywordValuesForLocale_72, pFppCp)
 GO(ucal_getLimit_72, iFpiip)
+GO(ucal_getLocaleByType_72, pFpip)
+GO(ucal_getMillis_72, dFpp)
+GO(ucal_getNow_72, dFv)
 GO(ucal_getTimeZoneDisplayName_72, iFpippip)
+GO(ucal_getTimeZoneID_72, iFppip)
+GO(ucal_getTimeZoneIDForWindowsID_72, iFpippip)
+GO(ucal_getTimeZoneOffsetFromLocal_72, vFpiippp)
+GO(ucal_getTimeZoneTransitionDate_72, cFpipp)
+GO(ucal_getType_72, pFpp)
+GO(ucal_getTZDataVersion_72, pFp)
+GO(ucal_getWeekendTransition_72, iFpip)
+GO(ucal_getWindowsTimeZoneID_72, iFpipip)
+GO(ucal_inDaylightTime_72, cFpp)
+GO(ucal_isSet_72, cFpi)
+GO(ucal_isWeekend_72, cFpdp)
 GO(ucal_open_72, pFpipip)
+GO(ucal_openCountryTimeZones_72, pFpp)
+GO(ucal_openTimeZoneIDEnumeration_72, pFippp)
+GO(ucal_openTimeZones_72, pFp)
+GO(ucal_roll_72, vFpiip)
 GO(ucal_set_72, vFpii)
+GO(ucal_setAttribute_72, vFpii)
+GO(ucal_setDate_72, vFpiiip)
+GO(ucal_setDateTime_72, vFpiiiiiip)
+GO(ucal_setDefaultTimeZone_72, vFpp)
+GO(ucal_setGregorianChange_72, vFpdp)
+GO(ucal_setMillis_72, vFpdp)
+GO(ucal_setTimeZone_72, vFppip)
 
+GO(ucol_clone_72, pFpp)
 GO(ucol_close_72, vFp)
 GO(ucol_closeElements_72, vFp)
+GO(ucol_setMaxVariable_72, vFpip)
 GO(ucol_getOffset_72, iFp)
 GO(ucol_getRules_72, pFpp)
 GO(ucol_getSortKey_72, iFppipi)
@@ -32,6 +75,7 @@ GO(ucol_strcoll_72, iFppipi)
 GO(udat_close_72, vFp)
 GO(udat_countSymbols_72, iFpi)
 GO(udat_getSymbols_72, iFpiipip)
+GO(udat_format_72, iFpdpipp)
 GO(udat_open_72, pFiippipip)
 GO(udat_setCalendar_72, vFpp)
 GO(udat_toPattern_72, iFpCpip)
@@ -51,6 +95,9 @@ GO(ulocdata_getMeasurementSystem_72, iFpp)
 
 GO(usearch_close_72, vFp)
 GO(usearch_first_72, iFpp)
+GO(usearch_getBreakIterator_72, pFp)
 GO(usearch_getMatchedLength_72, iFp)
 GO(usearch_last_72, iFpp)
 GO(usearch_openFromCollator_72, pFpipippp)
+GO(usearch_setPattern_72, vFppip)
+GO(usearch_setText_72, vFppip)
diff --git a/src/wrapped/wrappedicuuc67_private.h b/src/wrapped/wrappedicuuc67_private.h
index 8365722e..276342df 100644
--- a/src/wrapped/wrappedicuuc67_private.h
+++ b/src/wrapped/wrappedicuuc67_private.h
@@ -2,6 +2,31 @@
 #error meh!
 #endif
 
+GO(ubrk_clone_67, pFpp)
+GO(ubrk_close_67, vFp)
+GO(ubrk_countAvailable_67, iFv)
+GO(ubrk_current_67, iFp)
+GO(ubrk_first_67, iFp)
+GO(ubrk_following_67, iFpi)
+GO(ubrk_getAvailable_67, pFi)
+GO(ubrk_getBinaryRules_67, iFppip)
+GO(ubrk_getLocaleByType_67, pFpip)
+GO(ubrk_getRuleStatus_67, iFp)
+GO(ubrk_getRuleStatusVec_67, iFppip)
+GO(ubrk_isBoundary_67, cFpi)
+GO(ubrk_last_67, iFp)
+GO(ubrk_next_67, iFp)
+GO(ubrk_open_67, pFppip)
+GO(ubrk_openBinaryRules_67, pFpipip)
+GO(ubrk_openRules_67, pFpipipp)
+GO(ubrk_preceding_67, iFpi)
+GO(ubrk_previous_67, iFp)
+GO(ubrk_refreshUText_67, vFppp)
+GO(ubrk_safeClone_67, pFpppp)
+GO(ubrk_setText_67, vFppip)
+GO(ubrk_setUText_67, vFppp)
+GO(ubrk_swap_67, iFppipp)
+
 GO(ucurr_forLocale_67, iFppip)
 GO(ucurr_getName_67, pFppippp)
 
@@ -17,7 +42,7 @@ GO(uloc_getDisplayLanguage_67, iFpppip)
 GO(uloc_getDisplayName_67, iFpppip)
 GO(uloc_getISO3Country_67, pFp)
 GO(uloc_getISO3Language_67, pFp)
-GO(uloc_getKeywordValue_67, iFppip)
+GO(uloc_getKeywordValue_67, iFpppip)
 GO(uloc_getLanguage_67, iFppip)
 GO(uloc_getLCID_67, uFp)
 GO(uloc_getName_67, iFppip)
@@ -58,3 +83,4 @@ GO(u_strlen_67, iFp)
 GO(u_strncpy_67, pFppi)
 GO(u_tolower_67, uFu)
 GO(u_toupper_67, uFu)
+GO(u_uastrncpy_67, pFppi)
diff --git a/src/wrapped/wrappedicuuc72_private.h b/src/wrapped/wrappedicuuc72_private.h
index 3e74c8ba..99d2dd8b 100644
--- a/src/wrapped/wrappedicuuc72_private.h
+++ b/src/wrapped/wrappedicuuc72_private.h
@@ -2,6 +2,31 @@
 #error meh!
 #endif
 
+GO(ubrk_clone_72, pFpp)
+GO(ubrk_close_72, vFp)
+GO(ubrk_countAvailable_72, iFv)
+GO(ubrk_current_72, iFp)
+GO(ubrk_first_72, iFp)
+GO(ubrk_following_72, iFpi)
+GO(ubrk_getAvailable_72, pFi)
+GO(ubrk_getBinaryRules_72, iFppip)
+GO(ubrk_getLocaleByType_72, pFpip)
+GO(ubrk_getRuleStatus_72, iFp)
+GO(ubrk_getRuleStatusVec_72, iFppip)
+GO(ubrk_isBoundary_72, cFpi)
+GO(ubrk_last_72, iFp)
+GO(ubrk_next_72, iFp)
+GO(ubrk_open_72, pFppip)
+GO(ubrk_openBinaryRules_72, pFpipip)
+GO(ubrk_openRules_72, pFpipipp)
+GO(ubrk_preceding_72, iFpi)
+GO(ubrk_previous_72, iFp)
+GO(ubrk_refreshUText_72, vFppp)
+GO(ubrk_safeClone_72, pFpppp)
+GO(ubrk_setText_72, vFppip)
+GO(ubrk_setUText_72, vFppp)
+GO(ubrk_swap_72, iFppipp)
+
 GO(ucurr_forLocale_72, iFppip)
 GO(ucurr_getName_72, pFppippp)
 
@@ -17,7 +42,7 @@ GO(uloc_getDisplayLanguage_72, iFpppip)
 GO(uloc_getDisplayName_72, iFpppip)
 GO(uloc_getISO3Country_72, pFp)
 GO(uloc_getISO3Language_72, pFp)
-GO(uloc_getKeywordValue_72, iFppip)
+GO(uloc_getKeywordValue_72, iFpppip)
 GO(uloc_getLanguage_72, iFppip)
 GO(uloc_getLCID_72, uFp)
 GO(uloc_getName_72, iFppip)
@@ -58,3 +83,4 @@ GO(u_strlen_72, iFp)
 GO(u_strncpy_72, pFppi)
 GO(u_tolower_72, uFu)
 GO(u_toupper_72, uFu)
+GO(u_uastrncpy_72, pFppi)
diff --git a/src/wrapped/wrappedkrb5.c b/src/wrapped/wrappedkrb5.c
index 26419814..abad8c5d 100644
--- a/src/wrapped/wrappedkrb5.c
+++ b/src/wrapped/wrappedkrb5.c
@@ -34,10 +34,10 @@ GO(4)
 
 // krb5_prompter ...
 #define GO(A)   \
-static uintptr_t my_krb5_prompter_fct_##A = 0;                                      \
-static int my_krb5_prompter_##A(void* a, void* b, void* c, void* d, int e, void* f) \
-{                                                                                   \
-    return RunFunction(my_context, my_krb5_prompter_fct_##A, 6, a, b, c, d, e, f);  \
+static uintptr_t my_krb5_prompter_fct_##A = 0;                                                  \
+static int my_krb5_prompter_##A(void* a, void* b, void* c, void* d, int e, void* f)             \
+{                                                                                               \
+    return RunFunctionFmt(my_krb5_prompter_fct_##A, "ppppip", a, b, c, d, e, f);          \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedldapr.c b/src/wrapped/wrappedldapr.c
index 7b5087e4..fbaee982 100644
--- a/src/wrapped/wrappedldapr.c
+++ b/src/wrapped/wrappedldapr.c
@@ -41,10 +41,10 @@ GO(4)
 
 // LDAP_SASL_INTERACT_PROC ...
 #define GO(A)   \
-static uintptr_t my_LDAP_SASL_INTERACT_PROC_fct_##A = 0;                                \
-static int my_LDAP_SASL_INTERACT_PROC_##A(void* a, unsigned b, void* c, void* d)        \
-{                                                                                       \
-    return RunFunction(my_context, my_LDAP_SASL_INTERACT_PROC_fct_##A, 4, a, b, c, d);  \
+static uintptr_t my_LDAP_SASL_INTERACT_PROC_fct_##A = 0;                                        \
+static int my_LDAP_SASL_INTERACT_PROC_##A(void* a, unsigned b, void* c, void* d)                \
+{                                                                                               \
+    return RunFunctionFmt(my_LDAP_SASL_INTERACT_PROC_fct_##A, "pupp", a, b, c, d);        \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedldlinux.c b/src/wrapped/wrappedldlinux.c
index b5dc0da6..83245e93 100644
--- a/src/wrapped/wrappedldlinux.c
+++ b/src/wrapped/wrappedldlinux.c
@@ -28,6 +28,12 @@ EXPORT void* my___tls_get_addr(void* p)
     return ptr->data+GetTLSBase(my_context->elfs[t->i])+t->o;
 }
 
+EXPORT void* my___libc_stack_end;
+void stSetup(box64context_t* context)
+{
+    my___libc_stack_end = context->stack;   // is this the end, or should I add stasz?
+}
+
 // don't try to load the actual ld-linux (because name is variable), just use box64 itself, as it's linked to ld-linux
 const char* ldlinuxName = "ld-linux.so.2";
 #define LIBNAME ldlinux
@@ -37,6 +43,9 @@ const char* ldlinuxName = "ld-linux.so.2";
         lib->w.lib = dlopen(NULL, RTLD_LAZY | RTLD_GLOBAL);    \
     else
 
+#define CUSTOM_INIT         \
+    stSetup(box64);         \
+
 // define all standard library functions
 #include "wrappedlib_init.h"
 
diff --git a/src/wrapped/wrappedldlinux_private.h b/src/wrapped/wrappedldlinux_private.h
index 7b863d14..9bdcccb1 100644
--- a/src/wrapped/wrappedldlinux_private.h
+++ b/src/wrapped/wrappedldlinux_private.h
@@ -14,7 +14,7 @@
 // _dl_rtld_di_serinfo
 // _dl_tls_setup
 DATA(__libc_enable_secure, sizeof(void*))
-DATA(__libc_stack_end, sizeof(void*))
+DATAM(__libc_stack_end, sizeof(void*))
 DATA(__pointer_chk_guard, sizeof(void*))
 DATAB(_r_debug, 40)
 DATA(_rtld_global, sizeof(void*))
diff --git a/src/wrapped/wrappedlibasound.c b/src/wrapped/wrappedlibasound.c
index b28a36ba..c49f3912 100644
--- a/src/wrapped/wrappedlibasound.c
+++ b/src/wrapped/wrappedlibasound.c
@@ -47,10 +47,10 @@ GO(3)
 
 // snd_async_callback_t
 #define GO(A)   \
-static uintptr_t my_async_fct_##A = 0;   \
-static void* my_async_##A(void* handler)     \
-{                                       \
-    return (void*)RunFunction(my_context, my_async_fct_##A, 1, handler);\
+static uintptr_t my_async_fct_##A = 0;                                          \
+static void* my_async_##A(void* handler)                                        \
+{                                                                               \
+    return (void*)RunFunctionFmt(my_async_fct_##A, "p", handler);         \
 }
 SUPER()
 #undef GO
@@ -69,10 +69,10 @@ static void* findAsyncFct(void* fct)
 }
 // snd_mixer_elem_callback_t
 #define GO(A)   \
-static uintptr_t my_elem_fct_##A = 0;   \
-static int my_elem_##A(void* elem, uint32_t mask)                       \
-{                                                                       \
-    return (int)RunFunction(my_context, my_elem_fct_##A, 2, elem, mask);\
+static uintptr_t my_elem_fct_##A = 0;                                           \
+static int my_elem_##A(void* elem, uint32_t mask)                               \
+{                                                                               \
+    return (int)RunFunctionFmt(my_elem_fct_##A, "pu", elem, mask);        \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c
index cc68c216..ff20404e 100644
--- a/src/wrapped/wrappedlibc.c
+++ b/src/wrapped/wrappedlibc.c
@@ -24,7 +24,7 @@
 #include <poll.h>
 #include <sys/epoll.h>
 #include <ftw.h>
-#include <sys/syscall.h> 
+#include <sys/syscall.h>
 #include <sys/socket.h>
 #include <sys/utsname.h>
 #include <sys/mman.h>
@@ -131,10 +131,10 @@ GO(15)
 
 // compare
 #define GO(A)   \
-static uintptr_t my_compare_fct_##A = 0;        \
-static int my_compare_##A(void* a, void* b)     \
-{                                               \
-    return (int)RunFunction(my_context, my_compare_fct_##A, 2, a, b);\
+static uintptr_t my_compare_fct_##A = 0;                                    \
+static int my_compare_##A(void* a, void* b)                                 \
+{                                                                           \
+    return (int)RunFunctionFmt(my_compare_fct_##A, "pp", a, b);       \
 }
 SUPER()
 #undef GO
@@ -160,7 +160,7 @@ static int my_ftw64_##A(void* fpath, void* sb, int flag)    \
 {                                                           \
     struct x64_stat64 x64st;                                \
     UnalignStat64(sb, &x64st);                              \
-    return (int)RunFunction(my_context, my_ftw64_fct_##A, 3, fpath, &x64st, flag);  \
+    return (int)RunFunctionFmt(my_ftw64_fct_##A, "ppi", fpath, &x64st, flag);         \
 }
 SUPER()
 #undef GO
@@ -182,9 +182,9 @@ static void* findftw64Fct(void* fct)
 static uintptr_t my_nftw64_fct_##A = 0;                                     \
 static int my_nftw64_##A(void* fpath, void* sb, int flag, void* ftwbuff)    \
 {                                                                           \
-    struct x64_stat64 x64st;                                              \
-    UnalignStat64(sb, &x64st);                                             \
-    return (int)RunFunction(my_context, my_nftw64_fct_##A, 4, fpath, &x64st, flag, ftwbuff);   \
+    struct x64_stat64 x64st;                                                \
+    UnalignStat64(sb, &x64st);                                              \
+    return (int)RunFunctionFmt(my_nftw64_fct_##A, "ppip", fpath, &x64st, flag, ftwbuff);          \
 }
 SUPER()
 #undef GO
@@ -202,10 +202,10 @@ static void* findnftw64Fct(void* fct)
 }
 // globerr
 #define GO(A)   \
-static uintptr_t my_globerr_fct_##A = 0;                                        \
-static int my_globerr_##A(void* epath, int eerrno)                              \
-{                                                                               \
-    return (int)RunFunction(my_context, my_globerr_fct_##A, 2, epath, eerrno);  \
+static uintptr_t my_globerr_fct_##A = 0;                                                \
+static int my_globerr_##A(void* epath, int eerrno)                                      \
+{                                                                                       \
+    return (int)RunFunctionFmt(my_globerr_fct_##A, "pi", epath, eerrno);          \
 }
 SUPER()
 #undef GO
@@ -225,10 +225,10 @@ static void* findgloberrFct(void* fct)
 }
 // free
 #define GO(A)   \
-static uintptr_t my_free_fct_##A = 0;               \
-static void my_free_##A(void* p)                    \
-{                                                   \
-    RunFunction(my_context, my_free_fct_##A, 1, p); \
+static uintptr_t my_free_fct_##A = 0;                       \
+static void my_free_##A(void* p)                            \
+{                                                           \
+    RunFunctionFmt(my_free_fct_##A, "p", p);          \
 }
 SUPER()
 #undef GO
@@ -251,10 +251,10 @@ static void* findfreeFct(void* fct)
 #undef dirent
 // filter_dir
 #define GO(A)   \
-static uintptr_t my_filter_dir_fct_##A = 0;                               \
-static int my_filter_dir_##A(const struct dirent* a)                    \
-{                                                                       \
-    return (int)RunFunction(my_context, my_filter_dir_fct_##A, 1, a);     \
+static uintptr_t my_filter_dir_fct_##A = 0;                                 \
+static int my_filter_dir_##A(const struct dirent* a)                        \
+{                                                                           \
+    return (int)RunFunctionFmt(my_filter_dir_fct_##A, "p", a);        \
 }
 SUPER()
 #undef GO
@@ -274,10 +274,10 @@ static void* findfilter_dirFct(void* fct)
 }
 // compare_dir
 #define GO(A)   \
-static uintptr_t my_compare_dir_fct_##A = 0;                                  \
-static int my_compare_dir_##A(const struct dirent* a, const struct dirent* b)    \
-{                                                                           \
-    return (int)RunFunction(my_context, my_compare_dir_fct_##A, 2, a, b);     \
+static uintptr_t my_compare_dir_fct_##A = 0;                                    \
+static int my_compare_dir_##A(const struct dirent* a, const struct dirent* b)   \
+{                                                                               \
+    return (int)RunFunctionFmt(my_compare_dir_fct_##A, "pp", a, b);       \
 }
 SUPER()
 #undef GO
@@ -299,10 +299,10 @@ static void* findcompare_dirFct(void* fct)
 
 // filter64
 #define GO(A)   \
-static uintptr_t my_filter64_fct_##A = 0;                               \
-static int my_filter64_##A(const struct dirent64* a)                    \
-{                                                                       \
-    return (int)RunFunction(my_context, my_filter64_fct_##A, 1, a);     \
+static uintptr_t my_filter64_fct_##A = 0;                                   \
+static int my_filter64_##A(const struct dirent64* a)                        \
+{                                                                           \
+    return (int)RunFunctionFmt(my_filter64_fct_##A, "p", a);          \
 }
 SUPER()
 #undef GO
@@ -325,7 +325,7 @@ static void* findfilter64Fct(void* fct)
 static uintptr_t my_compare64_fct_##A = 0;                                      \
 static int my_compare64_##A(const struct dirent64* a, const struct dirent64* b) \
 {                                                                               \
-    return (int)RunFunction(my_context, my_compare64_fct_##A, 2, a, b);         \
+    return (int)RunFunctionFmt(my_compare64_fct_##A, "pp", a, b);         \
 }
 SUPER()
 #undef GO
@@ -345,10 +345,10 @@ static void* findcompare64Fct(void* fct)
 }
 // printf_output
 #define GO(A)   \
-static uintptr_t my_printf_output_fct_##A = 0;                                  \
-static int my_printf_output_##A(void* a, void* b, void* c)                      \
-{                                                                               \
-    return (int)RunFunction(my_context, my_printf_output_fct_##A, 3, a, b, c);  \
+static uintptr_t my_printf_output_fct_##A = 0;                                          \
+static int my_printf_output_##A(void* a, void* b, void* c)                              \
+{                                                                                       \
+    return (int)RunFunctionFmt(my_printf_output_fct_##A, "ppp", a, b, c);         \
 }
 SUPER()
 #undef GO
@@ -368,10 +368,10 @@ static void* findprintf_outputFct(void* fct)
 }
 // printf_arginfo
 #define GO(A)   \
-static uintptr_t my_printf_arginfo_fct_##A = 0;                                     \
-static int my_printf_arginfo_##A(void* a, size_t b, void* c, void* d)               \
-{                                                                                   \
-    return (int)RunFunction(my_context, my_printf_arginfo_fct_##A, 4, a, b, c, d);  \
+static uintptr_t my_printf_arginfo_fct_##A = 0;                                             \
+static int my_printf_arginfo_##A(void* a, size_t b, void* c, void* d)                       \
+{                                                                                           \
+    return (int)RunFunctionFmt(my_printf_arginfo_fct_##A, "pLpp", a, b, c, d);        \
 }
 SUPER()
 #undef GO
@@ -391,10 +391,10 @@ static void* findprintf_arginfoFct(void* fct)
 }
 // printf_type
 #define GO(A)   \
-static uintptr_t my_printf_type_fct_##A = 0;                   \
-static void my_printf_type_##A(void* a, va_list* b)            \
-{                                                              \
-    RunFunction(my_context, my_printf_type_fct_##A, 2, a, b);  \
+static uintptr_t my_printf_type_fct_##A = 0;                        \
+static void my_printf_type_##A(void* a, va_list* b)                 \
+{                                                                   \
+    RunFunctionFmt(my_printf_type_fct_##A, "pp", a, b);       \
 }
 SUPER()
 #undef GO
@@ -416,8 +416,8 @@ static void* findprintf_typeFct(void* fct)
 #undef SUPER
 
 // some my_XXX declare and defines
-int32_t my___libc_start_main(x64emu_t* emu, int *(main) (int, char * *, char * *), 
-    int argc, char * * ubp_av, void (*init) (void), void (*fini) (void), 
+int32_t my___libc_start_main(x64emu_t* emu, int *(main) (int, char * *, char * *),
+    int argc, char * * ubp_av, void (*init) (void), void (*fini) (void),
     void (*rtld_fini) (void), void (* stack_end)); // implemented in x64run_private.c
 EXPORT void my___libc_init_first(x64emu_t* emu, int argc, char* arg0, char** b)
 {
@@ -437,7 +437,7 @@ void EXPORT my___stack_chk_fail(x64emu_t* emu)
     if(cycle_log) {
         print_cycle_log(LOG_INFO);
     }
-    StopEmu(emu, buff);
+    StopEmu(emu, buff, emu->segs[_CS]==0x23);
 }
 void EXPORT my___gmon_start__(x64emu_t *emu)
 {
@@ -482,6 +482,11 @@ int my_dl_iterate_phdr(x64emu_t *emu, void* F, void *data);
 
 pid_t EXPORT my_fork(x64emu_t* emu)
 {
+    #if 1
+    emu->quit = 1;
+    emu->fork = 3;  // use regular fork...
+    return 0;
+    #else
     // execute atforks prepare functions, in reverse order
     for (int i=my_context->atfork_sz-1; i>=0; --i)
         if(my_context->atforks[i].prepare)
@@ -494,7 +499,7 @@ pid_t EXPORT my_fork(x64emu_t* emu)
     if(v<0) {
         printf_log(LOG_NONE, "BOX64: Warning, fork errored... (%d)\n", v);
         // error...
-    } else if(v>0) {  
+    } else if(v>0) {
         // execute atforks parent functions
         for (int i=0; i<my_context->atfork_sz; --i)
             if(my_context->atforks[i].parent)
@@ -507,6 +512,7 @@ pid_t EXPORT my_fork(x64emu_t* emu)
                 RunFunctionWithEmu(emu, 0, my_context->atforks[i].child, 0);
     }
     return v;
+    #endif
 }
 pid_t EXPORT my___fork(x64emu_t* emu) __attribute__((alias("my_fork")));
 pid_t EXPORT my_vfork(x64emu_t* emu)
@@ -684,32 +690,17 @@ EXPORT int my___fprintf_chk(x64emu_t *emu, void* F, int flag, void* fmt, void* b
     return vfprintf(F, fmt, VARARGS);
 }
 
-#if 0
-EXPORT int my_wprintf(x64emu_t *emu, void* fmt, void* b, va_list V) {
-    #ifndef NOALIGN
-    // need to align on arm
-    myStackAlignW((const char*)fmt, b, emu->scratch);
-    PREPARE_VALIST;
-    void* f = vwprintf;
-    return ((iFpp_t)f)(fmt, VARARGS);
+EXPORT int my_vwprintf(x64emu_t *emu, void* fmt, x64_va_list_t b) {
+    (void)emu;
+    #ifdef CONVERT_VALIST
+    CONVERT_VALIST(b);
     #else
-    // other platform don't need that
-    return vwprintf((const wchar_t*)fmt, V);
-    #endif
-}
-EXPORT int my___wprintf_chk(x64emu_t *emu, int flag, void* fmt, void* b, va_list V) {
-    #ifndef NOALIGN
-    // need to align on arm
-    myStackAlignW((const char*)fmt, b, emu->scratch);
+    myStackAlignWValist(emu, (const char*)fmt, emu->scratch, b);
     PREPARE_VALIST;
-    void* f = vwprintf;
-    return ((iFpp_t)f)(fmt, VARARGS);
-    #else
-    // other platform don't need that
-    return vwprintf((const wchar_t*)fmt, V);
     #endif
+    int r = vwprintf(fmt, VARARGS);
+    return r;
 }
-#endif
 
 EXPORT int my_fwprintf(x64emu_t *emu, void* F, void* fmt, void* b)  {
     myStackAlignW(emu, (const char*)fmt, b, emu->scratch, R_EAX, 2);
@@ -742,19 +733,42 @@ EXPORT int my___vfwprintf_chk(x64emu_t *emu, void* F, int flag, void* fmt, x64_v
     return vfwprintf(F, fmt, VARARGS);
 }
 
-#if 0
-EXPORT int my_vwprintf(x64emu_t *emu, void* fmt, void* b) {
-    #ifndef NOALIGN
-    myStackAlignW((const char*)fmt, b, emu->scratch);
+EXPORT int my_dprintf(x64emu_t *emu, int d, void* fmt, void* b) {
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 2);
     PREPARE_VALIST;
-    void* f = vwprintf;
-    return ((iFpp_t)f)(fmt, VARARGS);
+    return vdprintf(d, fmt, VARARGS);
+}
+
+EXPORT int my___dprintf_chk(x64emu_t *emu, int d, int flag, void* fmt, void* b)  {
+    (void)flag;
+    myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 3);
+    PREPARE_VALIST;
+    return vdprintf(d, fmt, VARARGS);
+}
+
+
+EXPORT int my_vdprintf(x64emu_t *emu, int d, void* fmt, x64_va_list_t b) {
+    #ifdef CONVERT_VALIST
+    CONVERT_VALIST(b);
     #else
-    void* f = vwprintf;
-    return ((iFpp_t)f)(fmt, b);
+    myStackAlignValist(emu, (const char*)fmt, emu->scratch, b);
+    PREPARE_VALIST;
     #endif
+    return vdprintf(d, fmt, VARARGS);
 }
 
+EXPORT int my___vdprintf_chk(x64emu_t *emu, int d, int flag, void* fmt, x64_va_list_t b)  {
+    (void)flag;
+    #ifdef CONVERT_VALIST
+    CONVERT_VALIST(b);
+    #else
+    myStackAlignValist(emu, (const char*)fmt, emu->scratch, b);
+    PREPARE_VALIST;
+    #endif
+    return vdprintf(d, fmt, VARARGS);
+}
+
+#if 0
 EXPORT void *my_div(void *result, int numerator, int denominator) {
     *(div_t *)result = div(numerator, denominator);
     return result;
@@ -909,6 +923,14 @@ EXPORT int my___isoc99_sscanf(x64emu_t* emu, void* stream, void* fmt, uint64_t*
   return vsscanf(stream, fmt, VARARGS);
 }
 
+EXPORT int my___isoc99_swscanf(x64emu_t* emu, void* stream, void* fmt, uint64_t* b)
+{
+  myStackAlignScanf(emu, (const char*)fmt, b, emu->scratch, 2);
+  PREPARE_VALIST;
+
+  return vswscanf(stream, fmt, VARARGS);
+}
+
 EXPORT int my_vsnprintf(x64emu_t* emu, void* buff, size_t s, void * fmt, x64_va_list_t b) {
     (void)emu;
     #ifdef CONVERT_VALIST
@@ -1649,7 +1671,7 @@ EXPORT int32_t my___open(x64emu_t* emu, void* pathname, int32_t flags, uint32_t
 //            unprotectDB((uintptr_t)p, count-ret, 1);
 //            int l;
 //            do {
-//                l = read(fd, p, count-ret); 
+//                l = read(fd, p, count-ret);
 //                if(l>0) {
 //                    p+=l; ret+=l;
 //                }
@@ -1873,11 +1895,11 @@ EXPORT int32_t my_execv(x64emu_t* emu, const char* path, char* const argv[])
         int n=skip_first;
         while(argv[n]) ++n;
         int toadd = script?2:1;
-        const char** newargv = (const char**)box_calloc(n+toadd+1, sizeof(char*));
+        const char** newargv = (const char**)box_calloc(n+toadd+2, sizeof(char*));
         newargv[0] = x86?emu->context->box86path:emu->context->box64path;
         if(script) newargv[1] = emu->context->bashpath; // script needs to be launched with bash
         memcpy(newargv+toadd, argv+skip_first, sizeof(char*)*(n+toadd));
-        if(self) 
+        if(self)
             newargv[1] = emu->context->fullpath;
         else {
             // TODO check if envp is not environ and add the value on a copy
@@ -2053,7 +2075,7 @@ EXPORT int32_t my_execvp(x64emu_t* emu, const char* path, char* const argv[])
         // uname -m is redirected to box64 -m
         path = my_context->box64path;
         char *argv2[3] = { my_context->box64path, argv[1], NULL };
-        
+
         return execvp(path, argv2);
     }
 
@@ -2067,7 +2089,7 @@ EXPORT int32_t my_execl(x64emu_t* emu, const char* path)
     int x64 = FileIsX64ELF(path);
     int x86 = my_context->box86path?FileIsX86ELF(path):0;
     int script = (my_context->bashpath && FileIsShell(path))?1:0;
-    printf_log(LOG_DEBUG, "execl(\"%s\", ...), IsX86=%d, self=%d\n", path, x64, self);
+    printf_log(LOG_DEBUG, "execle(\"%s\", ...), IsX86=%d, self=%d\n", path, x64, self);
     // count argv...
     int i=0;
     while(getVargN(emu, i+1)) ++i;
@@ -2080,12 +2102,42 @@ EXPORT int32_t my_execl(x64emu_t* emu, const char* path)
     for (int k=0; k<i; ++k)
         newargv[j++] = getVargN(emu, k+1);
     if(self) newargv[1] = emu->context->fullpath;
-    printf_log(LOG_DEBUG, " => execl(\"%s\", %p [\"%s\", \"%s\"...:%d])\n", newargv[0], newargv, newargv[1], i?newargv[2]:"", i);
+    printf_log(LOG_DEBUG, " => execle(\"%s\", %p [\"%s\", \"%s\"...:%d])\n", newargv[0], newargv, newargv[1], i?newargv[2]:"", i);
     int ret = execv(newargv[0], newargv);
     box_free(newargv);
     return ret;
 }
 
+EXPORT int32_t my_execle(x64emu_t* emu, const char* path)
+{
+    int self = isProcSelf(path, "exe");
+    int x64 = FileIsX64ELF(path);
+    int x86 = my_context->box86path?FileIsX86ELF(path):0;
+    int script = (my_context->bashpath && FileIsShell(path))?1:0;
+    printf_log(LOG_DEBUG, "execl(\"%s\", ...), IsX86=%d, self=%d\n", path, x64, self);
+    // hack to update the environ var if needed
+    // count argv...
+    int i=0;
+    while(getVargN(emu, i+1)) ++i;
+    int toadd = script?2:((x64||self)?1:0);
+    char** newargv = (char**)box_calloc(i+toadd+1, sizeof(char*));
+    char** envp = (char**)getVargN(emu, i+2);
+    if(envp == my_context->envv && environ) {
+        envp = environ;
+    }
+    int j=0;
+    if ((x64 || x86 || script || self))
+        newargv[j++] = x86?emu->context->box86path:emu->context->box64path;
+    if(script) newargv[j++] = emu->context->bashpath;
+    for (int k=0; k<i; ++k)
+        newargv[j++] = getVargN(emu, k+1);
+    if(self) newargv[1] = emu->context->fullpath;
+    printf_log(LOG_DEBUG, " => execle(\"%s\", %p [\"%s\", \"%s\"...:%d], %p)\n", newargv[0], newargv, newargv[1], i?newargv[2]:"", i, envp);
+    int ret = execve(newargv[0], newargv, envp);
+    box_free(newargv);
+    return ret;
+}
+
 EXPORT int32_t my_execlp(x64emu_t* emu, const char* path)
 {
     // need to use BOX64_PATH / PATH here...
@@ -2124,7 +2176,7 @@ EXPORT int32_t my_execlp(x64emu_t* emu, const char* path)
     return ret;
 }
 
-EXPORT int32_t my_posix_spawn(x64emu_t* emu, pid_t* pid, const char* fullpath, 
+EXPORT int32_t my_posix_spawn(x64emu_t* emu, pid_t* pid, const char* fullpath,
     const posix_spawn_file_actions_t *actions, const posix_spawnattr_t* attrp,  char* const argv[], char* const envp[])
 {
     int self = isProcSelf(fullpath, "exe");
@@ -2157,13 +2209,13 @@ EXPORT int32_t my_posix_spawn(x64emu_t* emu, pid_t* pid, const char* fullpath,
         ret = posix_spawn(pid, newargv[0], actions, attrp, (char* const*)newargv, envp);
         printf_log(/*LOG_DEBUG*/LOG_INFO, "posix_spawn returned %d\n", ret);
         //box_free(newargv);
-    } else 
+    } else
         ret = posix_spawn(pid, fullpath, actions, attrp, argv, envp);
     return ret;
 }
 
 // execvp should use PATH to search for the program first
-EXPORT int32_t my_posix_spawnp(x64emu_t* emu, pid_t* pid, const char* path, 
+EXPORT int32_t my_posix_spawnp(x64emu_t* emu, pid_t* pid, const char* path,
     const posix_spawn_file_actions_t *actions, const posix_spawnattr_t* attrp,  char* const argv[], char* const envp[])
 {
     // need to use BOX64_PATH / PATH here...
@@ -2232,7 +2284,7 @@ EXPORT int32_t my___register_atfork(x64emu_t *emu, void* prepare, void* parent,
 EXPORT uint64_t my___umoddi3(uint64_t a, uint64_t b)
 {
     return a%b;
-}  
+}
 EXPORT uint64_t my___udivdi3(uint64_t a, uint64_t b)
 {
     return a/b;
@@ -2297,8 +2349,8 @@ EXPORT int32_t my_fcntl(x64emu_t* emu, int32_t a, int32_t b, void* c)
     int ret = fcntl(a, b, c);
     if(b==F_GETFL && ret!=-1)
         ret = of_unconvert(ret);
-    
-    return ret;    
+
+    return ret;
 }
 EXPORT int32_t my___fcntl(x64emu_t* emu, int32_t a, int32_t b, void* c) __attribute__((alias("my_fcntl")));
 
@@ -2371,10 +2423,10 @@ void InitCpuModel()
     my___cpu_model.__cpu_vendor = VENDOR_INTEL;
     my___cpu_model.__cpu_type = INTEL_PENTIUM_M;
     my___cpu_model.__cpu_subtype = 0; // N/A
-    my___cpu_model.__cpu_features[0] = (1<<FEATURE_CMOV) 
-                                     | (1<<FEATURE_MMX) 
-                                     | (1<<FEATURE_SSE) 
-                                     | (1<<FEATURE_SSE2) 
+    my___cpu_model.__cpu_features[0] = (1<<FEATURE_CMOV)
+                                     | (1<<FEATURE_MMX)
+                                     | (1<<FEATURE_SSE)
+                                     | (1<<FEATURE_SSE2)
                                      | (1<<FEATURE_SSE3)
                                      | (1<<FEATURE_SSSE3)
                                      | (1<<FEATURE_MOVBE)
@@ -2393,12 +2445,6 @@ void ctSetup()
     my___ctype_tolower = *(__ctype_tolower_loc());
 }
 
-EXPORT void* my___libc_stack_end;
-void stSetup(box64context_t* context)
-{
-    my___libc_stack_end = context->stack;   // is this the end, or should I add stasz?
-}
-
 EXPORT void my___register_frame_info(void* a, void* b)
 {
     // nothing
@@ -2514,7 +2560,7 @@ EXPORT int my_readlinkat(x64emu_t* emu, int fd, void* path, void* buf, size_t bu
 EXPORT void* my_mmap64(x64emu_t* emu, void *addr, unsigned long length, int prot, int flags, int fd, int64_t offset)
 {
     (void)emu;
-    if(prot&PROT_WRITE) 
+    if(prot&PROT_WRITE)
         prot|=PROT_READ;    // PROT_READ is implicit with PROT_WRITE on i386
     if(box64_log<LOG_DEBUG) {dynarec_log(LOG_DEBUG, "mmap64(%p, %lu, 0x%x, 0x%x, %d, %ld) => ", addr, length, prot, flags, fd, offset);}
     #ifndef NOALIGN
@@ -2530,7 +2576,7 @@ EXPORT void* my_mmap64(x64emu_t* emu, void *addr, unsigned long length, int prot
     #endif
     void* ret = mmap64(addr, length, prot, flags, fd, offset);
     #ifndef NOALIGN
-    if((ret!=(void*)-1) && (flags&0x40) && 
+    if((ret!=(void*)-1) && (flags&0x40) &&
       (((uintptr_t)ret>0xffffffffLL) || (box64_wine && ((uintptr_t)ret&0xffff)))) {
         printf_log(LOG_DEBUG, "Warning, mmap on 32bits didn't worked, ask %p, got %p ", addr, ret);
         munmap(ret, length);
@@ -2581,7 +2627,7 @@ EXPORT void* my_mremap(x64emu_t* emu, void* old_addr, size_t old_size, size_t ne
     uint32_t prot = getProtection((uintptr_t)old_addr)&~PROT_CUSTOM;
     if(ret==old_addr) {
         if(old_size && old_size<new_size) {
-            setProtection((uintptr_t)ret+old_size, new_size-old_size, prot);
+            setProtection_mmap((uintptr_t)ret+old_size, new_size-old_size, prot);
             #ifdef DYNAREC
             if(box64_dynarec)
                 addDBFromAddressRange((uintptr_t)ret+old_size, new_size-old_size);
@@ -2590,10 +2636,10 @@ EXPORT void* my_mremap(x64emu_t* emu, void* old_addr, size_t old_size, size_t ne
             freeProtection((uintptr_t)ret+new_size, old_size-new_size);
             #ifdef DYNAREC
             if(box64_dynarec)
-                cleanDBFromAddressRange((uintptr_t)ret+new_size, new_size-old_size, 1);
+                cleanDBFromAddressRange((uintptr_t)ret+new_size, old_size-new_size, 1);
             #endif
         } else if(!old_size) {
-            setProtection((uintptr_t)ret, new_size, prot);
+            setProtection_mmap((uintptr_t)ret, new_size, prot);
             #ifdef DYNAREC
             if(box64_dynarec)
                 addDBFromAddressRange((uintptr_t)ret, new_size);
@@ -2640,19 +2686,26 @@ EXPORT int my_mprotect(x64emu_t* emu, void *addr, unsigned long len, int prot)
 {
     (void)emu;
     dynarec_log(LOG_DEBUG, "mprotect(%p, %lu, 0x%x)\n", addr, len, prot);
-    if(prot&PROT_WRITE) 
+    if(prot&PROT_WRITE)
         prot|=PROT_READ;    // PROT_READ is implicit with PROT_WRITE on x86_64
     int ret = mprotect(addr, len, prot);
     #ifdef DYNAREC
-    if(box64_dynarec && !ret) {
+    if(box64_dynarec && !ret && len) {
         if(prot& PROT_EXEC)
             addDBFromAddressRange((uintptr_t)addr, len);
         else
-            cleanDBFromAddressRange((uintptr_t)addr, len, 0);
+            cleanDBFromAddressRange((uintptr_t)addr, len, 1);
     }
     #endif
-    if(!ret)
-        updateProtection((uintptr_t)addr, len, prot);
+    if(!ret && len) {
+        if(prot)
+            updateProtection((uintptr_t)addr, len, prot);
+        else {
+            // avoid allocating detailled protection for a no prot 0
+            freeProtection((uintptr_t)addr, len);
+            setProtection_mmap((uintptr_t)addr, len, prot);
+        }
+    }
     return ret;
 }
 
@@ -2696,7 +2749,13 @@ EXPORT int my_getopt_long_only(int argc, char* const argv[], const char* optstri
     return ret;
 }
 
-#if 0
+typedef struct {
+   void  *read;
+   void *write;
+   void  *seek;
+   void *close;
+} my_cookie_io_functions_t;
+
 typedef struct my_cookie_s {
     uintptr_t r, w, s, c;
     void* cookie;
@@ -2705,39 +2764,41 @@ typedef struct my_cookie_s {
 static ssize_t my_cookie_read(void *p, char *buf, size_t size)
 {
     my_cookie_t* cookie = (my_cookie_t*)p;
-    return (ssize_t)RunFunction(my_context, cookie->r, 3, cookie->cookie, buf, size);
+    return (ssize_t)RunFunctionFmt(cookie->r, "ppL", cookie->cookie, buf, size)       ;
 }
 static ssize_t my_cookie_write(void *p, const char *buf, size_t size)
 {
     my_cookie_t* cookie = (my_cookie_t*)p;
-    return (ssize_t)RunFunction(my_context, cookie->w, 3, cookie->cookie, buf, size);
+    return (ssize_t)RunFunctionFmt(cookie->w, "ppL", cookie->cookie, buf, size)       ;
 }
 static int my_cookie_seek(void *p, off64_t *offset, int whence)
 {
     my_cookie_t* cookie = (my_cookie_t*)p;
-    return RunFunction(my_context, cookie->s, 3, cookie->cookie, offset, whence);
+    return RunFunctionFmt(cookie->s, "ppi", cookie->cookie, offset, whence)       ;
 }
 static int my_cookie_close(void *p)
 {
     my_cookie_t* cookie = (my_cookie_t*)p;
     int ret = 0;
     if(cookie->c)
-        ret = RunFunction(my_context, cookie->c, 1, cookie->cookie);
+        ret = RunFunctionFmt(cookie->c, "p", cookie->cookie)      ;
     box_free(cookie);
     return ret;
 }
-EXPORT void* my_fopencookie(x64emu_t* emu, void* cookie, void* mode, void* read, void* write, void* seek, void* close)
+EXPORT void* my_fopencookie(x64emu_t* emu, void* cookie, void* mode, my_cookie_io_functions_t *s)
 {
-    cookie_io_functions_t io_funcs = {read?my_cookie_read:NULL, write?my_cookie_write:NULL, seek?my_cookie_seek:NULL, my_cookie_close};
+    cookie_io_functions_t io_funcs = {s->read?my_cookie_read:NULL, s->write?my_cookie_write:NULL, s->seek?my_cookie_seek:NULL, my_cookie_close};
     my_cookie_t *cb = (my_cookie_t*)box_calloc(1, sizeof(my_cookie_t));
-    cb->r = (uintptr_t)read;
-    cb->w = (uintptr_t)write;
-    cb->s = (uintptr_t)seek;
-    cb->c = (uintptr_t)close;
+    cb->r = (uintptr_t)s->read;
+    cb->w = (uintptr_t)s->write;
+    cb->s = (uintptr_t)s->seek;
+    cb->c = (uintptr_t)s->close;
     cb->cookie = cookie;
     return fopencookie(cb, mode, io_funcs);
 }
 
+#if 0
+
 EXPORT long my_prlimit64(void* pid, uint32_t res, void* new_rlim, void* old_rlim)
 {
     return syscall(__NR_prlimit64, pid, res, new_rlim, old_rlim);
@@ -2933,7 +2994,7 @@ EXPORT int my_backtrace(x64emu_t* emu, void** buffer, int size)
     buffer[0] = (void*)addr;
     while (++idx < size) {
         uintptr_t ret_addr = get_parent_registers(unwind, FindElfAddress(my_context, addr), addr, &success);
-        if (ret_addr == (uintptr_t)GetExit()) {
+        if (ret_addr == my_context->exit_bridge) {
             // TODO: do something to be able to get the function name
             buffer[idx] = (void*)ret_addr;
             success = 2;
@@ -2963,7 +3024,7 @@ EXPORT int my_backtrace_ip(x64emu_t* emu, void** buffer, int size)
     buffer[0] = (void*)addr;
     while ((++idx < size) && success) {
         uintptr_t ret_addr = get_parent_registers(unwind, FindElfAddress(my_context, addr), addr, &success);
-        if (ret_addr == (uintptr_t)GetExit()) {
+        if (ret_addr == my_context->exit_bridge) {
             // TODO: do something to be able to get the function name
             buffer[idx] = (void*)ret_addr;
             success = 2;
@@ -2994,7 +3055,7 @@ EXPORT int my_backtrace_ip(x64emu_t* emu, void** buffer, int size)
                         unwind->regs[7] += 8;
                         buffer[idx] = (void*)ret_addr;
                         success = 2;
-                    } else 
+                    } else
                         break;
                 }
             } else
@@ -3041,7 +3102,7 @@ EXPORT void my_backtrace_symbols_fd(x64emu_t* emu, uintptr_t* buffer, int size,
         if(!sz) sz=0x100;   // arbitrary value...
         if(symbname && buffer[i]>=start && (buffer[i]<(start+sz) || !sz))
             snprintf(s, 200, "%s+%ld [%p]\n", symbname, buffer[i] - start, (void*)buffer[i]);
-        else 
+        else
             snprintf(s, 200, "??? [%p]\n", (void*)buffer[i]);
         int dummy = write(fd, s, strlen(s));
         (void)dummy;
@@ -3138,8 +3199,8 @@ EXPORT int my_clone(x64emu_t* emu, void* fn, void* stack, int flags, void* args,
     void* mystack = NULL;
     clone_arg_t* arg = (clone_arg_t*)box_calloc(1, sizeof(clone_arg_t));
     x64emu_t * newemu = NewX64Emu(emu->context, R_RIP, (uintptr_t)stack, 0, 0);
-    SetupX64Emu(newemu);
-    CloneEmu(newemu, emu);
+    SetupX64Emu(newemu, emu);
+    //CloneEmu(newemu, emu);
     if(my_context->stack_clone_used) {
         printf_log(LOG_DEBUG, " no free stack_clone ");
         mystack = box_malloc(1024*1024);  // stack for own process... memory leak, but no practical way to remove it
@@ -3197,6 +3258,7 @@ EXPORT int my_register_printf_type(x64emu_t* emu, void* f)
     return my->register_printf_type(findprintf_typeFct(f));
 }
 
+extern int box64_quit;
 EXPORT void my_exit(x64emu_t* emu, int code)
 {
     if(emu->quitonexit) {
@@ -3206,6 +3268,7 @@ EXPORT void my_exit(x64emu_t* emu, int code)
         return;
     }
     emu->quit = 1;
+    box64_quit = 1;
     exit(code);
 }
 
@@ -3242,7 +3305,6 @@ EXPORT char my___libc_single_threaded = 0;
     box64->libclib = lib;   \
     /*InitCpuModel();*/         \
     ctSetup();              \
-    stSetup(box64);         \
     obstackSetup();         \
     my_environ = my__environ = my___environ = box64->envv;                      \
     my___progname_full = my_program_invocation_name = box64->argv[0];           \
diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h
index ff3ca47b..bcef070d 100644
--- a/src/wrapped/wrappedlibc_private.h
+++ b/src/wrapped/wrappedlibc_private.h
@@ -219,8 +219,8 @@ GOWM(dl_iterate_phdr, iFEpp)
 //GO(_dl_sym, 
 //GO(_dl_vsym, 
 GOW(dngettext, pFpppL)
-//GO(dprintf, iFipV)
-//GO(__dprintf_chk, 
+GOM(dprintf, iFEipV)
+GOM(__dprintf_chk, iFEiipV)
 GO(drand48, dFv)
 GO(drand48_r, iFpp)
 GOW(dup, iFi)
@@ -294,7 +294,7 @@ GO(eventfd, iFui)
 GO(eventfd_read, iFip)
 GO(eventfd_write, iFiL)
 GOM(execl, iFEpV) // First argument is also part of the variadic
-//GOM(execle, iFEpV) // First argument is also part of the variadic
+GOM(execle, iFEpV) // First argument is also part of the variadic
 GOM(execlp, iFEpV) // First argument is also part of the variadic
 GOM(execv, iFEpp)
 GOWM(execve, iFEppp)
@@ -384,7 +384,7 @@ GO(fmtmsg, iFlpippp)
 GO(fnmatch, iFppi)
 GOM(fopen, pFEpp)
 GOWM(fopen64, pFEpp)
-//GO(fopencookie, pFpp?)
+GOM(fopencookie, pFEppV)
 //GO(__fork, 
 GOWM(fork, iFEv)
 //GO(__fortify_fail, 
@@ -929,7 +929,7 @@ GOM(__isoc99_fscanf, iFEppV)
 //GO(__isoc99_fwscanf, iFppV)
 GOM(__isoc99_scanf, iFEpV)
 GOM(__isoc99_sscanf, iFEppV)
-//GO(__isoc99_swscanf, iFppV)
+GOM(__isoc99_swscanf, iFEppV)
 GOM(__isoc99_vfscanf, iFEppp)
 //GO(__isoc99_vfwscanf, iFppA)
 //GO(__isoc99_vscanf, iFpA)
@@ -1136,9 +1136,9 @@ GO(__mbrtowc, LFppLp)
 GO(mbrtowc, LFppLp)
 GOW(mbsinit, iFp)
 GO(mbsnrtowcs, LFppLLp)
-//GO(__mbsnrtowcs_chk, 
+GO(__mbsnrtowcs_chk, LFppLLpL)
 GO(mbsrtowcs, LFppLp)
-//GO(__mbsrtowcs_chk, 
+GO(__mbsrtowcs_chk, LFppLpL)
 GO(mbstowcs, LFppL)
 //GO(__mbstowcs_chk, 
 GO(mbtowc, iFppL)
@@ -1304,7 +1304,7 @@ DATA(opterr, sizeof(int))
 DATA(optind, sizeof(int))
 DATA(optopt, sizeof(int))
 GO(__overflow, iFpi)
-//GO(parse_printf_format, 
+GO(parse_printf_format, LFpLp)
 //GO(passwd2des, // Deprecated
 GO(pathconf, lFpi)
 GOW(pause, iFv)
@@ -1362,7 +1362,7 @@ GOW(posix_spawn_file_actions_destroy, iFp)
 GOW(posix_spawn_file_actions_init, iFp)
 GOM(posix_spawnp, iFEpppppp)
 GO(ppoll, iFpLpp)
-//GO(__ppoll_chk, 
+GO(__ppoll_chk, iFpuppL)
 GOWM(prctl, iFEiLLLL)
 GO(pread, IFipUI)
 GOW(__pread64, lFipLI)
@@ -1693,7 +1693,7 @@ GO(siggetmask, iFv)
 GO(sighold, iFi)
 GO(sigignore, iFi)
 GO(siginterrupt, iFii)
-//GO(sigisemptyset, iF!)
+GO(sigisemptyset, iFp)
 //GO(__sigismember, 
 GO(sigismember, iFpi)
 GOM(siglongjmp, vFEpi)
@@ -2051,8 +2051,8 @@ GO(utmpxname, iFp)
 GO(valloc, pFL)
 GOWM(vasprintf, iFEppA)
 GOM(__vasprintf_chk, iFEpipp)
-//GOW(vdprintf, iFipA)
-//GO(__vdprintf_chk, 
+GOM(vdprintf, iFEipA)
+GOM(__vdprintf_chk, iFEiipA)
 //GO(verr, vFipA)
 //GO(verrx, vFipA)
 GOW(versionsort, iFpp)
@@ -2087,7 +2087,7 @@ GOM(__vsyslog_chk, vFEiipA)
 //GO(vtimes, // Deprecated
 //GO(vwarn, vFpA)
 //GO(vwarnx, vFpA)
-//GO(vwprintf, iFpA)
+GOM(vwprintf, iFEpA)
 //GO(__vwprintf_chk, 
 //GO(vwscanf, iFpA)
 GOW(__wait, iFp)
@@ -2207,11 +2207,11 @@ GO(wmemcmp, iFppL)
 GOW(wmemcpy, pFppL)
 GO(__wmemcpy_chk, pFppLL)
 GO(wmemmove, pFppL)
-//GO(__wmemmove_chk, 
+GO(__wmemmove_chk, pFppLL)
 GOW(wmempcpy, pFppL)
 //GO(__wmempcpy_chk, 
 GO(wmemset, pFpuL)
-//GO(__wmemset_chk, 
+GO(__wmemset_chk, pFpuLL)
 GO(wordexp, iFppi)
 GO(wordfree, vFp)
 //GO(__woverflow, 
diff --git a/src/wrapped/wrappedlibcups.c b/src/wrapped/wrappedlibcups.c
index 23541940..16ea4725 100644
--- a/src/wrapped/wrappedlibcups.c
+++ b/src/wrapped/wrappedlibcups.c
@@ -36,10 +36,10 @@ GO(4)
 
 // cups_dest_cb_t ...
 #define GO(A)   \
-static uintptr_t my_cups_dest_cb_t_fct_##A = 0;                                 \
-static int my_cups_dest_cb_t_##A(void* a, uint32_t b, void* c)                  \
-{                                                                               \
-    return (int)RunFunction(my_context, my_cups_dest_cb_t_fct_##A, 3, a, b, c); \
+static uintptr_t my_cups_dest_cb_t_fct_##A = 0;                                         \
+static int my_cups_dest_cb_t_##A(void* a, uint32_t b, void* c)                          \
+{                                                                                       \
+    return (int)RunFunctionFmt(my_cups_dest_cb_t_fct_##A, "pup", a, b, c);        \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedlibdl.c b/src/wrapped/wrappedlibdl.c
index 9caaba56..47c47c6b 100644
--- a/src/wrapped/wrappedlibdl.c
+++ b/src/wrapped/wrappedlibdl.c
@@ -139,6 +139,8 @@ void* my_dlopen(x64emu_t* emu, void *filename, int flag)
                 }
                 IncRefCount(dl->dllibs[i].lib, emu);
                 ++dl->dllibs[i].count;
+                if(!is_local && isLibLocal(dl->dllibs[i].lib))
+                    promoteLocalLibGlobal(dl->dllibs[i].lib);
                 printf_dlsym(LOG_DEBUG, "dlopen: Recycling %s/%p count=%ld (dlopened=%ld, elf_index=%d)\n", rfilename, (void*)(i+1), dl->dllibs[i].count, dl->dllibs[i].dlopened, GetElfIndex(dl->dllibs[i].lib));
                 return (void*)(i+1);
             }
@@ -175,7 +177,7 @@ void* my_dlopen(x64emu_t* emu, void *filename, int flag)
         int bindnow = (!box64_musl && (flag&0x2))?1:0;
         needed_libs_t *tmp = new_neededlib(1);
         tmp->names[0] = rfilename;
-        if(AddNeededLib(NULL, is_local, bindnow, tmp, my_context, emu)) {
+        if(AddNeededLib(NULL, is_local, bindnow, tmp, NULL, my_context, emu)) {
             printf_dlsym(strchr(rfilename,'/')?LOG_DEBUG:LOG_INFO, "Warning: Cannot dlopen(\"%s\"/%p, %X)\n", rfilename, filename, flag);
             if(!dl->last_error)
                 dl->last_error = box_malloc(129);
@@ -267,26 +269,31 @@ int my_dlsym_lib(library_t* lib, const char* rsymbol, uintptr_t *start, uintptr_
 
     return ret;
 }
+int GetTID();
 void* my_dlsym(x64emu_t* emu, void *handle, void *symbol)
 {
     (void)emu;
+    static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
+    pthread_mutex_lock(&mutex);
     dlprivate_t *dl = my_context->dlprivate;
     uintptr_t start = 0, end = 0;
     char* rsymbol = (char*)symbol;
     CLEARERR
-    printf_dlsym(LOG_DEBUG, "Call to dlsym(%p, \"%s\")%s", handle, rsymbol, dlsym_error?"":"\n");
+    printf_dlsym(LOG_DEBUG, "%04d|Call to dlsym(%p, \"%s\")%s", GetTID(), handle, rsymbol, dlsym_error?"":"\n");
     if(handle==NULL) {
         // special case, look globably
         const char* globdefver = GetMaplibDefaultVersion(my_context->maplib, NULL, 0, rsymbol);
         const char* weakdefver = GetMaplibDefaultVersion(my_context->maplib, NULL, 1, rsymbol);
         if(GetGlobalSymbolStartEnd(my_context->maplib, rsymbol, &start, &end, NULL, -1, NULL, globdefver, weakdefver)) {
             printf_dlsym(LOG_NEVER, "%p\n", (void*)start);
+            pthread_mutex_unlock(&mutex);
             return (void*)start;
         }
         if(!dl->last_error)
             dl->last_error = box_malloc(129);
         snprintf(dl->last_error, 129, "Symbol \"%s\" not found in %p)\n", rsymbol, handle);
         printf_dlsym(LOG_NEVER, "%p\n", NULL);
+        pthread_mutex_unlock(&mutex);
         return NULL;
     }
     if(handle==(void*)~0LL) {
@@ -296,12 +303,14 @@ void* my_dlsym(x64emu_t* emu, void *handle, void *symbol)
         elfheader_t *elf = FindElfAddress(my_context, *(uintptr_t*)R_RSP); // use return address to guess "self"
         if(GetNoSelfSymbolStartEnd(my_context->maplib, rsymbol, &start, &end, elf, 0, -1, NULL, globdefver, weakdefver)) {
             printf_dlsym(LOG_NEVER, "%p\n", (void*)start);
+            pthread_mutex_unlock(&mutex);
             return (void*)start;
         }
         if(!dl->last_error)
             dl->last_error = box_malloc(129);
         snprintf(dl->last_error, 129, "Symbol \"%s\" not found in %p)\n", rsymbol, handle);
         printf_dlsym(LOG_NEVER, "%p\n", NULL);
+        pthread_mutex_unlock(&mutex);
         return NULL;
     }
     size_t nlib = (size_t)handle;
@@ -312,6 +321,7 @@ void* my_dlsym(x64emu_t* emu, void *handle, void *symbol)
             dl->last_error = box_malloc(129);
         snprintf(dl->last_error, 129, "Bad handle %p)\n", handle);
         printf_dlsym(LOG_NEVER, "%p\n", NULL);
+        pthread_mutex_unlock(&mutex);
         return NULL;
     }
     if(!dl->dllibs[nlib].count || !dl->dllibs[nlib].full) {
@@ -319,6 +329,7 @@ void* my_dlsym(x64emu_t* emu, void *handle, void *symbol)
             dl->last_error = box_malloc(129);
         snprintf(dl->last_error, 129, "Bad handle %p (already closed))\n", handle);
         printf_dlsym(LOG_NEVER, "%p\n", (void*)NULL);
+        pthread_mutex_unlock(&mutex);
         return NULL;
     }
     if(dl->dllibs[nlib].lib) {
@@ -331,6 +342,7 @@ void* my_dlsym(x64emu_t* emu, void *handle, void *symbol)
             if(!dl->last_error)
                 dl->last_error = box_malloc(129);
             snprintf(dl->last_error, 129, "Symbol \"%s\" not found in %p(%s)", rsymbol, handle, GetNameLib(dl->dllibs[nlib].lib));
+            pthread_mutex_unlock(&mutex);
             return NULL;
         }
     } else {
@@ -340,15 +352,18 @@ void* my_dlsym(x64emu_t* emu, void *handle, void *symbol)
         const char* weakdefver = GetMaplibDefaultVersion(my_context->maplib, NULL, 1, rsymbol);
         if(GetGlobalSymbolStartEnd(my_context->maplib, rsymbol, &start, &end, NULL, -1, NULL, globdefver, weakdefver)) {
             printf_dlsym(LOG_NEVER, "%p\n", (void*)start);
+            pthread_mutex_unlock(&mutex);
             return (void*)start;
         }
         if(!dl->last_error)
             dl->last_error = box_malloc(129);
         snprintf(dl->last_error, 129, "Symbol \"%s\" not found in %p)\n", rsymbol, handle);
         printf_dlsym(LOG_NEVER, "%p\n", NULL);
+        pthread_mutex_unlock(&mutex);
         return NULL;
     }
     printf_dlsym(LOG_NEVER, "%p\n", (void*)start);
+    pthread_mutex_unlock(&mutex);
     return (void*)start;
 }
 int my_dlclose(x64emu_t* emu, void *handle)
diff --git a/src/wrapped/wrappedlibfuse.c b/src/wrapped/wrappedlibfuse.c
index ee75fa3d..2bac5099 100644
--- a/src/wrapped/wrappedlibfuse.c
+++ b/src/wrapped/wrappedlibfuse.c
@@ -140,10 +140,10 @@ GO(3)
 
 // fuse_opt_proc
 #define GO(A)   \
-static uintptr_t my_fuse_opt_proc_fct_##A = 0;                                      \
-static int my_fuse_opt_proc_##A(void* a, void* b, int c, void* d)                   \
-{                                                                                   \
-    return (int)RunFunction(my_context, my_fuse_opt_proc_fct_##A, 4, a, b, c, d);   \
+static uintptr_t my_fuse_opt_proc_fct_##A = 0;                                              \
+static int my_fuse_opt_proc_##A(void* a, void* b, int c, void* d)                           \
+{                                                                                           \
+    return (int)RunFunctionFmt(my_fuse_opt_proc_fct_##A, "ppip", a, b, c, d);   \
 }
 SUPER()
 #undef GO
@@ -163,11 +163,11 @@ static void* findfuse_opt_procFct(void* fct)
 
 // init
 #define GO(A)   \
-static uintptr_t my_init_fct_##A = 0;                 \
-static void my_init_##A(void* a, void* b)             \
-{                                                     \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "init");               \
-    RunFunction(my_context, my_init_fct_##A, 2, a, b);\
+static uintptr_t my_init_fct_##A = 0;                           \
+static void my_init_##A(void* a, void* b)                       \
+{                                                               \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "init");           \
+    RunFunctionFmt(my_init_fct_##A, "pp", a, b);    \
 }
 SUPER()
 #undef GO
@@ -187,11 +187,11 @@ static void* find_init_Fct(void* fct)
 
 // destroy
 #define GO(A)   \
-static uintptr_t my_destroy_fct_##A = 0;                \
-static void my_destroy_##A(void* a)                     \
-{                                                       \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "destroy");                \
-    RunFunction(my_context, my_destroy_fct_##A, 1, a);  \
+static uintptr_t my_destroy_fct_##A = 0;                    \
+static void my_destroy_##A(void* a)                         \
+{                                                           \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "destroy");    \
+    RunFunctionFmt(my_destroy_fct_##A, "p", a); \
 }
 SUPER()
 #undef GO
@@ -215,7 +215,7 @@ static uintptr_t my_lookup_fct_##A = 0;
 static void my_lookup_##A(void* a, unsigned long b, const char* c)              \
 {                                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s(%p, %lu, %s)\n", "lookup", a, b, c);   \
-    RunFunction(my_context, my_lookup_fct_##A, 3, a, b, c);                     \
+    RunFunctionFmt(my_lookup_fct_##A, "pLp", a, b, c);              \
 }
 SUPER()
 #undef GO
@@ -235,11 +235,11 @@ static void* find_lookup_Fct(void* fct)
 
 // forget
 #define GO(A)   \
-static uintptr_t my_forget_fct_##A = 0;                     \
-static void my_forget_##A(void* a, unsigned long b, unsigned long c)\
-{                                                           \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "forget");             \
-    RunFunction(my_context, my_forget_fct_##A, 3, a, b, c); \
+static uintptr_t my_forget_fct_##A = 0;                                 \
+static void my_forget_##A(void* a, unsigned long b, unsigned long c)    \
+{                                                                       \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "forget");                 \
+    RunFunctionFmt(my_forget_fct_##A, "pLL", a, b, c);      \
 }
 SUPER()
 #undef GO
@@ -259,11 +259,11 @@ static void* find_forget_Fct(void* fct)
 
 // getattr
 #define GO(A)   \
-static uintptr_t my_getattr_fct_##A = 0;                        \
-static void my_getattr_##A(void* a, unsigned long b, void* c)   \
-{                                                               \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "getattr");        \
-    RunFunction(my_context, my_getattr_fct_##A, 3, a, b, c);    \
+static uintptr_t my_getattr_fct_##A = 0;                            \
+static void my_getattr_##A(void* a, unsigned long b, void* c)       \
+{                                                                   \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "getattr");            \
+    RunFunctionFmt(my_getattr_fct_##A, "pLp", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -283,13 +283,13 @@ static void* find_getattr_Fct(void* fct)
 
 // setattr
 #define GO(A)   \
-static uintptr_t my_setattr_fct_##A = 0;                        \
-static void my_setattr_##A(void* a, unsigned long b, struct stat* c, int d, void* e)   \
-{                                                               \
-    struct stat c_;                                             \
-    AlignStat64(c, &c_);                                        \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "setattr");        \
-    RunFunction(my_context, my_setattr_fct_##A, 5, a, b, &c_, d, e);    \
+static uintptr_t my_setattr_fct_##A = 0;                                            \
+static void my_setattr_##A(void* a, unsigned long b, struct stat* c, int d, void* e)\
+{                                                                                   \
+    struct stat c_;                                                                 \
+    AlignStat64(c, &c_);                                                            \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "setattr");                            \
+    RunFunctionFmt(my_setattr_fct_##A, "pLpip", a, b, &c_, d, e);       \
 }
 SUPER()
 #undef GO
@@ -309,11 +309,11 @@ static void* find_setattr_Fct(void* fct)
 
 // readlink
 #define GO(A)   \
-static uintptr_t my_readlink_fct_##A = 0;                   \
-static void my_readlink_##A(void* a, unsigned long b)       \
-{                                                           \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "readlink");               \
-    RunFunction(my_context, my_readlink_fct_##A, 2, a, b);  \
+static uintptr_t my_readlink_fct_##A = 0;                           \
+static void my_readlink_##A(void* a, unsigned long b)               \
+{                                                                   \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "readlink");           \
+    RunFunctionFmt(my_readlink_fct_##A, "pL", a, b);    \
 }
 SUPER()
 #undef GO
@@ -336,8 +336,8 @@ static void* find_readlink_Fct(void* fct)
 static uintptr_t my_mknod_fct_##A = 0;                                                  \
 static void my_mknod_##A(void* a, unsigned long b, const char* c, mode_t d, dev_t e)    \
 {                                                                                       \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "mknod");              \
-    RunFunction(my_context, my_mknod_fct_##A, 5, a, b, c, of_convert(d), e);            \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "mknod");                                  \
+    RunFunctionFmt(my_mknod_fct_##A, "pLpuL", a, b, c, of_convert(d), e);   \
 }
 SUPER()
 #undef GO
@@ -357,11 +357,11 @@ static void* find_mknod_Fct(void* fct)
 
 // mkdir
 #define GO(A)   \
-static uintptr_t my_mkdir_fct_##A = 0;                                      \
-static void my_mkdir_##A(void* a, unsigned long b, const char* c, mode_t d) \
-{                                                                           \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "mkdir");              \
-    RunFunction(my_context, my_mkdir_fct_##A, 4, a, b, c, of_convert(d));   \
+static uintptr_t my_mkdir_fct_##A = 0;                                              \
+static void my_mkdir_##A(void* a, unsigned long b, const char* c, mode_t d)         \
+{                                                                                   \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "mkdir");                              \
+    RunFunctionFmt(my_mkdir_fct_##A, "pLpu", a, b, c, of_convert(d));   \
 }
 SUPER()
 #undef GO
@@ -385,7 +385,7 @@ static uintptr_t my_unlink_fct_##A = 0;                             \
 static void my_unlink_##A(void* a, unsigned long b, const char* c)  \
 {                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "unlink");             \
-    RunFunction(my_context, my_unlink_fct_##A, 3, a, b, c);         \
+    RunFunctionFmt(my_unlink_fct_##A, "pLp", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -405,11 +405,11 @@ static void* find_unlink_Fct(void* fct)
 
 // rmdir
 #define GO(A)   \
-static uintptr_t my_rmdir_fct_##A = 0;                             \
-static void my_rmdir_##A(void* a, unsigned long b, const char* c)  \
+static uintptr_t my_rmdir_fct_##A = 0;                              \
+static void my_rmdir_##A(void* a, unsigned long b, const char* c)   \
 {                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "rmdir");              \
-    RunFunction(my_context, my_rmdir_fct_##A, 3, a, b, c);         \
+    RunFunctionFmt(my_rmdir_fct_##A, "pLp", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -429,11 +429,11 @@ static void* find_rmdir_Fct(void* fct)
 
 // symlink
 #define GO(A)   \
-static uintptr_t my_symlink_fct_##A = 0;                                            \
+static uintptr_t my_symlink_fct_##A = 0;                                \
 static void my_symlink_##A(void* a, const char* b, unsigned long c, const char* d)  \
-{                                                                                   \
+{                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "symlink");                \
-    RunFunction(my_context, my_symlink_fct_##A, 4, a, b, c, d);                     \
+    RunFunctionFmt(my_symlink_fct_##A, "ppLp", a, b, c, d); \
 }
 SUPER()
 #undef GO
@@ -453,11 +453,11 @@ static void* find_symlink_Fct(void* fct)
 
 // rename
 #define GO(A)   \
-static uintptr_t my_rename_fct_##A = 0;                                                             \
+static uintptr_t my_rename_fct_##A = 0;                                     \
 static void my_rename_##A(void* a, unsigned long b, const char* c, unsigned long d, const char* e)  \
-{                                                                                                   \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "rename");             \
-    RunFunction(my_context, my_rename_fct_##A, 5, a, b, c, d, e);                                   \
+{                                                                           \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "rename");                     \
+    RunFunctionFmt(my_rename_fct_##A, "pLpLp", a, b, c, d, e);  \
 }
 SUPER()
 #undef GO
@@ -477,11 +477,11 @@ static void* find_rename_Fct(void* fct)
 
 // link
 #define GO(A)   \
-static uintptr_t my_link_fct_##A = 0;                                               \
+static uintptr_t my_link_fct_##A = 0;                                   \
 static void my_link_##A(void* a, unsigned long b, unsigned long c, const char* d)   \
-{                                                                                   \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "link");               \
-    RunFunction(my_context, my_link_fct_##A, 4, a, b, c, d);                        \
+{                                                                       \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "link");                   \
+    RunFunctionFmt(my_link_fct_##A, "pLLp", a, b, c, d);    \
 }
 SUPER()
 #undef GO
@@ -501,11 +501,11 @@ static void* find_link_Fct(void* fct)
 
 // open
 #define GO(A)   \
-static uintptr_t my_open_fct_##A = 0;                           \
-static void my_open_##A(void* a, unsigned long b, const char* c)\
-{                                                               \
+static uintptr_t my_open_fct_##A = 0;                               \
+static void my_open_##A(void* a, unsigned long b, const char* c)    \
+{                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "open");               \
-    RunFunction(my_context, my_open_fct_##A, 3, a, b, c);       \
+    RunFunctionFmt(my_open_fct_##A, "pLp", a, b, c);    \
 }
 SUPER()
 #undef GO
@@ -525,11 +525,11 @@ static void* find_open_Fct(void* fct)
 
 // read
 #define GO(A)   \
-static uintptr_t my_read_fct_##A = 0;                                                           \
+static uintptr_t my_read_fct_##A = 0;                                           \
 static void my_read_##A(void* a, unsigned long b, const char* c, size_t d, off_t e, void* f)    \
-{                                                                                               \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "read");               \
-    RunFunction(my_context, my_read_fct_##A, 6, a, b, c, d, e, f);                              \
+{                                                                               \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "read");                           \
+    RunFunctionFmt(my_read_fct_##A, "pLpLlp", a, b, c, d, e, f);    \
 }
 SUPER()
 #undef GO
@@ -549,11 +549,11 @@ static void* find_read_Fct(void* fct)
 
 // write
 #define GO(A)   \
-static uintptr_t my_write_fct_##A = 0;                                                          \
+static uintptr_t my_write_fct_##A = 0;                                          \
 static void my_write_##A(void* a, unsigned long b, const char* c, size_t d, off_t e, void* f)   \
-{                                                                                               \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "write");              \
-    RunFunction(my_context, my_write_fct_##A, 6, a, b, c, d, e, f);                             \
+{                                                                               \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "write");                          \
+    RunFunctionFmt(my_write_fct_##A, "pLpLlp", a, b, c, d, e, f);   \
 }
 SUPER()
 #undef GO
@@ -577,7 +577,7 @@ static uintptr_t my_flush_fct_##A = 0;                              \
 static void my_flush_##A(void* a, unsigned long b, const char* c)   \
 {                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "flush");              \
-    RunFunction(my_context, my_flush_fct_##A, 3, a, b, c);          \
+    RunFunctionFmt(my_flush_fct_##A, "pLp", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -597,11 +597,11 @@ static void* find_flush_Fct(void* fct)
 
 // release
 #define GO(A)   \
-static uintptr_t my_release_fct_##A = 0;                              \
-static void my_release_##A(void* a, unsigned long b, const char* c)   \
+static uintptr_t my_release_fct_##A = 0;                            \
+static void my_release_##A(void* a, unsigned long b, const char* c) \
 {                                                                   \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "release");                \
-    RunFunction(my_context, my_release_fct_##A, 3, a, b, c);          \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "release");            \
+    RunFunctionFmt(my_release_fct_##A, "pLp", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -621,11 +621,11 @@ static void* find_release_Fct(void* fct)
 
 // fsync
 #define GO(A)   \
-static uintptr_t my_fsync_fct_##A = 0;                              \
-static void my_fsync_##A(void* a, unsigned long b, int c, void* d)  \
-{                                                                   \
-    printf_log(LOG_DEBUG, "fuse: call %s\n", "fsync");              \
-    RunFunction(my_context, my_fsync_fct_##A, 4, a, b, c, d);       \
+static uintptr_t my_fsync_fct_##A = 0;                                  \
+static void my_fsync_##A(void* a, unsigned long b, int c, void* d)      \
+{                                                                       \
+    printf_log(LOG_DEBUG, "fuse: call %s\n", "fsync");                  \
+    RunFunctionFmt(my_fsync_fct_##A, "pLip", a, b, c, d);   \
 }
 SUPER()
 #undef GO
@@ -649,7 +649,7 @@ static uintptr_t my_opendir_fct_##A = 0;
 static void my_opendir_##A(void* a, unsigned long b, void* c)                   \
 {                                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s(%p, %lu, %p)\n", "opendir", a, b, c);  \
-    RunFunction(my_context, my_opendir_fct_##A, 3, a, b, c);                    \
+    RunFunctionFmt(my_opendir_fct_##A, "pLp", a, b, c);                    \
 }
 SUPER()
 #undef GO
@@ -673,7 +673,7 @@ static uintptr_t my_readdir_fct_##A = 0;
 static void my_readdir_##A(void* a, unsigned long b, size_t c, off_t d, void* e)    \
 {                                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "readdir");                \
-    RunFunction(my_context, my_readdir_fct_##A, 5, a, b, c, d, e);                  \
+    RunFunctionFmt(my_readdir_fct_##A, "pLLlp", a, b, c, d, e);                  \
 }
 SUPER()
 #undef GO
@@ -697,7 +697,7 @@ static uintptr_t my_releasedir_fct_##A = 0;
 static void my_releasedir_##A(void* a, unsigned long b, void* c)                    \
 {                                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s(%p, %lu, %p)\n", "releasedir", a, b, c);   \
-    RunFunction(my_context, my_releasedir_fct_##A, 3, a, b, c);                     \
+    RunFunctionFmt(my_releasedir_fct_##A, "pLp", a, b, c);                     \
 }
 SUPER()
 #undef GO
@@ -721,7 +721,7 @@ static uintptr_t my_fsyncdir_fct_##A = 0;                               \
 static void my_fsyncdir_##A(void* a, unsigned long b, int c, void* d)   \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "fsyncdir");               \
-    RunFunction(my_context, my_fsyncdir_fct_##A, 4, a, b, c, d);        \
+    RunFunctionFmt(my_fsyncdir_fct_##A, "pLip", a, b, c, d);        \
 }
 SUPER()
 #undef GO
@@ -745,7 +745,7 @@ static uintptr_t my_statfs_fct_##A = 0;                     \
 static void my_statfs_##A(void* a, unsigned long b)         \
 {                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "statfs");             \
-    RunFunction(my_context, my_statfs_fct_##A, 2, a, b);    \
+    RunFunctionFmt(my_statfs_fct_##A, "pL", a, b);    \
 }
 SUPER()
 #undef GO
@@ -769,7 +769,7 @@ static uintptr_t my_setxattr_fct_##A = 0;
 static void my_setxattr_##A(void* a, unsigned long b, const char* c, const char* d, size_t e, int f)    \
 {                                                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "setxattr");               \
-    RunFunction(my_context, my_setxattr_fct_##A, 6, a, b, c, d, e, f);                                  \
+    RunFunctionFmt(my_setxattr_fct_##A, "pLppLi", a, b, c, d, e, f);                                  \
 }
 SUPER()
 #undef GO
@@ -793,7 +793,7 @@ static uintptr_t my_getxattr_fct_##A = 0;
 static void my_getxattr_##A(void* a, unsigned long b, const char* c, const char* d, size_t e)   \
 {                                                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "getxattr");               \
-    RunFunction(my_context, my_getxattr_fct_##A, 5, a, b, c, d, e);                             \
+    RunFunctionFmt(my_getxattr_fct_##A, "pLppL", a, b, c, d, e);                             \
 }
 SUPER()
 #undef GO
@@ -817,7 +817,7 @@ static uintptr_t my_listxattr_fct_##A = 0;                      \
 static void my_listxattr_##A(void* a, unsigned long b, size_t c)\
 {                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "listxattr");              \
-    RunFunction(my_context, my_listxattr_fct_##A, 3, a, b, c);  \
+    RunFunctionFmt(my_listxattr_fct_##A, "pLL", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -841,7 +841,7 @@ static uintptr_t my_removexattr_fct_##A = 0;                            \
 static void my_removexattr_##A(void* a, unsigned long b, const char* c) \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "removexattr");                \
-    RunFunction(my_context, my_removexattr_fct_##A, 3, a, b, c);        \
+    RunFunctionFmt(my_removexattr_fct_##A, "pLp", a, b, c);        \
 }
 SUPER()
 #undef GO
@@ -865,7 +865,7 @@ static uintptr_t my_access_fct_##A = 0;                     \
 static void my_access_##A(void* a, unsigned long b, int c)  \
 {                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "access");             \
-    RunFunction(my_context, my_access_fct_##A, 3, a, b, c); \
+    RunFunctionFmt(my_access_fct_##A, "pLi", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -889,7 +889,7 @@ static uintptr_t my_create_fct_##A = 0;
 static void my_create_##A(void* a, unsigned long b, const char* c, mode_t d, void* e)   \
 {                                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "create");             \
-    RunFunction(my_context, my_create_fct_##A, 5, a, b, c, of_convert(d), e);           \
+    RunFunctionFmt(my_create_fct_##A, "pLpup", a, b, c, of_convert(d), e);           \
 }
 SUPER()
 #undef GO
@@ -913,7 +913,7 @@ static uintptr_t my_getlk_fct_##A = 0;                              \
 static void my_getlk_##A(void* a, unsigned long b, void* c, void* d)\
 {                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "getlk");              \
-    RunFunction(my_context, my_getlk_fct_##A, 4, a, b, c, d);       \
+    RunFunctionFmt(my_getlk_fct_##A, "pLpp", a, b, c, d);       \
 }
 SUPER()
 #undef GO
@@ -937,7 +937,7 @@ static uintptr_t my_setlk_fct_##A = 0;                                      \
 static void my_setlk_##A(void* a, unsigned long b, void* c, void* d, int e) \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "setlk");              \
-    RunFunction(my_context, my_setlk_fct_##A, 5, a, b, c, d, e);            \
+    RunFunctionFmt(my_setlk_fct_##A, "pLppi", a, b, c, d, e);            \
 }
 SUPER()
 #undef GO
@@ -961,7 +961,7 @@ static uintptr_t my_bmap_fct_##A = 0;                                   \
 static void my_bmap_##A(void* a, unsigned long b, size_t c, uint64_t d) \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "bmap");               \
-    RunFunction(my_context, my_bmap_fct_##A, 4, a, b, c, d);            \
+    RunFunctionFmt(my_bmap_fct_##A, "pLLU", a, b, c, d);            \
 }
 SUPER()
 #undef GO
@@ -985,7 +985,7 @@ static uintptr_t my_ioctl_fct_##A = 0;
 static void my_ioctl_##A(void* a, unsigned long b, int c, void* d, void* e, unsigned f, void* g, size_t h, size_t i)\
 {                                                                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "ioctl");                                                              \
-    RunFunction(my_context, my_ioctl_fct_##A, 9, a, b, c, d, e, f, g, h, i);                                        \
+    RunFunctionFmt(my_ioctl_fct_##A, "pLippupLL", a, b, c, d, e, f, g, h, i);                                        \
 }
 SUPER()
 #undef GO
@@ -1009,7 +1009,7 @@ static uintptr_t my_poll_fct_##A = 0;                                  \
 static void my_poll_##A(void* a, unsigned long b, void* c, void* d)    \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "poll");                  \
-    RunFunction(my_context, my_poll_fct_##A, 4, a, b, c, d);           \
+    RunFunctionFmt(my_poll_fct_##A, "pLpp", a, b, c, d);           \
 }
 SUPER()
 #undef GO
@@ -1033,7 +1033,7 @@ static uintptr_t my_write_buf_fct_##A = 0;
 static void my_write_buf_##A(void* a, unsigned long b, void* c, off_t d, void* e)   \
 {                                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "write_buf");                          \
-    RunFunction(my_context, my_write_buf_fct_##A, 5, a, b, c, d, e);                \
+    RunFunctionFmt(my_write_buf_fct_##A, "pLplp", a, b, c, d, e);                \
 }
 SUPER()
 #undef GO
@@ -1057,7 +1057,7 @@ static uintptr_t my_retrieve_reply_fct_##A = 0;
 static void my_retrieve_reply_##A(void* a, void* b, unsigned long c, off_t d, void* e)  \
 {                                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "retrieve_reply");                         \
-    RunFunction(my_context, my_retrieve_reply_fct_##A, 5, a, b, c, d, e);               \
+    RunFunctionFmt(my_retrieve_reply_fct_##A, "ppLlp", a, b, c, d, e);               \
 }
 SUPER()
 #undef GO
@@ -1081,7 +1081,7 @@ static uintptr_t my_forget_multi_fct_##A = 0;                       \
 static void my_forget_multi_##A(void* a, size_t b, void* c)         \
 {                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "forget_multi");       \
-    RunFunction(my_context, my_forget_multi_fct_##A, 3, a, b, c);   \
+    RunFunctionFmt(my_forget_multi_fct_##A, "pLp", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -1105,7 +1105,7 @@ static uintptr_t my_flock_fct_##A = 0;                              \
 static void my_flock_##A(void* a, unsigned long b, void* c, int d)  \
 {                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "flock");              \
-    RunFunction(my_context, my_flock_fct_##A, 4, a, b, c, d);       \
+    RunFunctionFmt(my_flock_fct_##A, "pLpi", a, b, c, d);       \
 }
 SUPER()
 #undef GO
@@ -1129,7 +1129,7 @@ static uintptr_t my_fallocate_fct_##A = 0;
 static void my_fallocate_##A(void* a, unsigned long b, int c, off_t d, off_t e, void* f)    \
 {                                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "fallocate");                                  \
-    RunFunction(my_context, my_fallocate_fct_##A, 6, a, b, c, d, e, f);                     \
+    RunFunctionFmt(my_fallocate_fct_##A, "pLillp", a, b, c, d, e, f);                     \
 }
 SUPER()
 #undef GO
@@ -1155,7 +1155,7 @@ static int my_getattr_op_##A(const char * a, struct stat * b)
     printf_log(LOG_DEBUG, "fuse: call %s\n", "getattr_op");                         \
     struct x64_stat64 b_;                                                           \
     UnalignStat64(b, &b_);                                                          \
-    int ret = (int)RunFunction(my_context, my_getattr_op_fct_##A, 2, a, &b_);       \
+    int ret = (int)RunFunctionFmt(my_getattr_op_fct_##A, "pp", a, &b_);       \
     AlignStat64(&b_, b);                                                            \
     return ret;                                                                     \
 }
@@ -1181,7 +1181,7 @@ static uintptr_t my_readlink_op_fct_##A = 0;                            \
 static int my_readlink_op_##A(const char * a, char * b, size_t c)       \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "readlink_op");            \
-    return (int)RunFunction(my_context, my_readlink_op_fct_##A, 3, a, b, c);\
+    return (int)RunFunctionFmt(my_readlink_op_fct_##A, "ppL", a, b, c);\
 }
 SUPER()
 #undef GO
@@ -1205,7 +1205,7 @@ static uintptr_t my_getdir_op_fct_##A = 0;
 static int my_getdir_op_##A(const char * a, void* b, void* c)                                                                   \
 {                                                                                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "getdir_op");                                                                      \
-    return (int)RunFunction(my_context, my_getdir_op_fct_##A, 3, a, b, AddCheckBridge(my_lib->w.bridge, iFppiU, c, 0, NULL));   \
+    return (int)RunFunctionFmt(my_getdir_op_fct_##A, "ppp", a, b, AddCheckBridge(my_lib->w.bridge, iFppiU, c, 0, NULL));   \
 }
 SUPER()
 #undef GO
@@ -1229,7 +1229,7 @@ static uintptr_t my_mknod_op_fct_##A = 0;                                   \
 static int my_mknod_op_##A(const char * a, mode_t b, dev_t c)               \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "mknod_op");                   \
-    return (int)RunFunction(my_context, my_mknod_op_fct_##A, 3, a, b, c);   \
+    return (int)RunFunctionFmt(my_mknod_op_fct_##A, "puU", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -1253,7 +1253,7 @@ static uintptr_t my_mkdir_op_fct_##A = 0;                               \
 static int my_mkdir_op_##A(const char * a, mode_t b)                    \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "mkdir_op");               \
-    return (int)RunFunction(my_context, my_mkdir_op_fct_##A, 2, a, b);  \
+    return (int)RunFunctionFmt(my_mkdir_op_fct_##A, "pu", a, b);  \
 }
 SUPER()
 #undef GO
@@ -1277,7 +1277,7 @@ static uintptr_t my_unlink_op_fct_##A = 0;                              \
 static int my_unlink_op_##A(const char * a)                             \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "unlink_op");              \
-    return (int)RunFunction(my_context, my_unlink_op_fct_##A, 1, a);    \
+    return (int)RunFunctionFmt(my_unlink_op_fct_##A, "p", a);    \
 }
 SUPER()
 #undef GO
@@ -1301,7 +1301,7 @@ static uintptr_t my_rmdir_op_fct_##A = 0;                           \
 static int my_rmdir_op_##A(const char * a)                          \
 {                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "rmdir_op");           \
-    return (int)RunFunction(my_context, my_rmdir_op_fct_##A, 1, a); \
+    return (int)RunFunctionFmt(my_rmdir_op_fct_##A, "p", a); \
 }
 SUPER()
 #undef GO
@@ -1325,7 +1325,7 @@ static uintptr_t my_symlink_op_fct_##A = 0;                                 \
 static int my_symlink_op_##A(const char * a, const char * b)                \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "symlink_op");                 \
-    return (int)RunFunction(my_context, my_symlink_op_fct_##A, 2, a, b);    \
+    return (int)RunFunctionFmt(my_symlink_op_fct_##A, "pp", a, b);    \
 }
 SUPER()
 #undef GO
@@ -1349,7 +1349,7 @@ static uintptr_t my_rename_op_fct_##A = 0;                              \
 static int my_rename_op_##A(const char * a, const char * b)             \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "rename_op");              \
-    return (int)RunFunction(my_context, my_rename_op_fct_##A, 2, a, b); \
+    return (int)RunFunctionFmt(my_rename_op_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -1373,7 +1373,7 @@ static uintptr_t my_link_op_fct_##A = 0;                                \
 static int my_link_op_##A(const char * a, const char * b)               \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "link_op");                \
-    return (int)RunFunction(my_context, my_link_op_fct_##A, 2, a, b);   \
+    return (int)RunFunctionFmt(my_link_op_fct_##A, "pp", a, b);   \
 }
 SUPER()
 #undef GO
@@ -1397,7 +1397,7 @@ static uintptr_t my_chmod_op_fct_##A = 0;                               \
 static int my_chmod_op_##A(const char * a, mode_t b)                    \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "chmod_op");               \
-    return (int)RunFunction(my_context, my_chmod_op_fct_##A, 2, a, b);  \
+    return (int)RunFunctionFmt(my_chmod_op_fct_##A, "pu", a, b);  \
 }
 SUPER()
 #undef GO
@@ -1421,7 +1421,7 @@ static uintptr_t my_chown_op_fct_##A = 0;                                   \
 static int my_chown_op_##A(const char * a, uid_t b, gid_t c)                \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "chown_op");                   \
-    return (int)RunFunction(my_context, my_chown_op_fct_##A, 3, a, b, c);   \
+    return (int)RunFunctionFmt(my_chown_op_fct_##A, "puu", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -1445,7 +1445,7 @@ static uintptr_t my_truncate_op_fct_##A = 0;                                \
 static int my_truncate_op_##A(const char * a, off_t b)                      \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "truncate_op");                \
-    return (int)RunFunction(my_context, my_truncate_op_fct_##A, 2, a, b);   \
+    return (int)RunFunctionFmt(my_truncate_op_fct_##A, "pl", a, b);   \
 }
 SUPER()
 #undef GO
@@ -1469,7 +1469,7 @@ static uintptr_t my_utime_op_fct_##A = 0;                               \
 static int my_utime_op_##A(const char * a, void* b)                     \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "utime_op");               \
-    return (int)RunFunction(my_context, my_utime_op_fct_##A, 2, a, b);  \
+    return (int)RunFunctionFmt(my_utime_op_fct_##A, "pp", a, b);  \
 }
 SUPER()
 #undef GO
@@ -1493,7 +1493,7 @@ static uintptr_t my_open_op_fct_##A = 0;                                \
 static int my_open_op_##A(const char * a, void* b)                      \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "open_op");                \
-    return (int)RunFunction(my_context, my_open_op_fct_##A, 2, a, b);   \
+    return (int)RunFunctionFmt(my_open_op_fct_##A, "pp", a, b);   \
 }
 SUPER()
 #undef GO
@@ -1517,7 +1517,7 @@ static uintptr_t my_read_op_fct_##A = 0;
 static int my_read_op_##A(const char * a, char * b, size_t c, off_t d, void* e) \
 {                                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "read_op");                        \
-    return (int)RunFunction(my_context, my_read_op_fct_##A, 5, a, b, c, d, e);  \
+    return (int)RunFunctionFmt(my_read_op_fct_##A, "ppLlp", a, b, c, d, e);  \
 }
 SUPER()
 #undef GO
@@ -1541,7 +1541,7 @@ static uintptr_t my_write_op_fct_##A = 0;
 static int my_write_op_##A(const char * a, const char * b, size_t c, off_t d, void* e)  \
 {                                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "write_op");                               \
-    return (int)RunFunction(my_context, my_write_op_fct_##A, 5, a, b, c, d, e);         \
+    return (int)RunFunctionFmt(my_write_op_fct_##A, "ppLlp", a, b, c, d, e);         \
 }
 SUPER()
 #undef GO
@@ -1565,7 +1565,7 @@ static uintptr_t my_statfs_op_fct_##A = 0;                              \
 static int my_statfs_op_##A(const char * a, void* b)         \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "statfs_op");              \
-    return (int)RunFunction(my_context, my_statfs_op_fct_##A, 2, a, b); \
+    return (int)RunFunctionFmt(my_statfs_op_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -1589,7 +1589,7 @@ static uintptr_t my_flush_op_fct_##A = 0;                               \
 static int my_flush_op_##A(const char * a, void* b)                     \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "flush_op");               \
-    return (int)RunFunction(my_context, my_flush_op_fct_##A, 2, a, b);  \
+    return (int)RunFunctionFmt(my_flush_op_fct_##A, "pp", a, b);  \
 }
 SUPER()
 #undef GO
@@ -1613,7 +1613,7 @@ static uintptr_t my_release_op_fct_##A = 0;                                 \
 static int my_release_op_##A(const char * a, void* b)                       \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "release_op");                 \
-    return (int)RunFunction(my_context, my_release_op_fct_##A, 2, a, b);    \
+    return (int)RunFunctionFmt(my_release_op_fct_##A, "pp", a, b);    \
 }
 SUPER()
 #undef GO
@@ -1637,7 +1637,7 @@ static uintptr_t my_fsync_op_fct_##A = 0;                                   \
 static int my_fsync_op_##A(const char * a, int b, void* c)                  \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "fsync_op");                   \
-    return (int)RunFunction(my_context, my_fsync_op_fct_##A, 3, a, b, c);   \
+    return (int)RunFunctionFmt(my_fsync_op_fct_##A, "pip", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -1661,7 +1661,7 @@ static uintptr_t my_setxattr_op_fct_##A = 0;
 static int my_setxattr_op_##A(const char * a, const char * b, const char * c, size_t d, int e)  \
 {                                                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "setxattr_op");                                    \
-    return (int)RunFunction(my_context, my_setxattr_op_fct_##A, 5, a, b, c, d, e);                  \
+    return (int)RunFunctionFmt(my_setxattr_op_fct_##A, "pppLi", a, b, c, d, e);                  \
 }
 SUPER()
 #undef GO
@@ -1685,7 +1685,7 @@ static uintptr_t my_getxattr_op_fct_##A = 0;
 static int my_getxattr_op_##A(const char * a, const char * b, char * c, size_t d)   \
 {                                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "getxattr_op");                        \
-    return (int)RunFunction(my_context, my_getxattr_op_fct_##A, 4, a, b, c, d);     \
+    return (int)RunFunctionFmt(my_getxattr_op_fct_##A, "pppL", a, b, c, d);     \
 }
 SUPER()
 #undef GO
@@ -1709,7 +1709,7 @@ static uintptr_t my_listxattr_op_fct_##A = 0;
 static int my_listxattr_op_##A(const char * a, char * b, size_t c)              \
 {                                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "listxattr_op");                   \
-    return (int)RunFunction(my_context, my_listxattr_op_fct_##A, 3, a, b, c);   \
+    return (int)RunFunctionFmt(my_listxattr_op_fct_##A, "ppL", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -1733,7 +1733,7 @@ static uintptr_t my_removexattr_op_fct_##A = 0;
 static int my_removexattr_op_##A(const char * a, const char * b)                \
 {                                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "removexattr_op");                 \
-    return (int)RunFunction(my_context, my_removexattr_op_fct_##A, 2, a, b);    \
+    return (int)RunFunctionFmt(my_removexattr_op_fct_##A, "pp", a, b);    \
 }
 SUPER()
 #undef GO
@@ -1757,7 +1757,7 @@ static uintptr_t my_opendir_op_fct_##A = 0;                                 \
 static int my_opendir_op_##A(const char * a, void* b)                       \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "opendir_op");                 \
-    return (int)RunFunction(my_context, my_opendir_op_fct_##A, 2, a, b);    \
+    return (int)RunFunctionFmt(my_opendir_op_fct_##A, "pp", a, b);    \
 }
 SUPER()
 #undef GO
@@ -1781,7 +1781,7 @@ static uintptr_t my_readdir_op_fct_##A = 0;
 static int my_readdir_op_##A(const char * a, void * b, fuse_fill_dir_t c, off_t d, void* e)                                             \
 {                                                                                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "readdir_op");                                                                             \
-    return (int)RunFunction(my_context, my_readdir_op_fct_##A, 5, a, b, AddCheckBridge(my_lib->w.bridge, iFpppUi, c, 0, NULL), d, e);   \
+    return (int)RunFunctionFmt(my_readdir_op_fct_##A, "ppplp", a, b, AddCheckBridge(my_lib->w.bridge, iFpppUi, c, 0, NULL), d, e);   \
 }
 SUPER()
 #undef GO
@@ -1805,7 +1805,7 @@ static uintptr_t my_releasedir_op_fct_##A = 0;                              \
 static int my_releasedir_op_##A(const char * a, void* b)                    \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "releasedir_op");              \
-    return (int)RunFunction(my_context, my_releasedir_op_fct_##A,2, a, b);  \
+    return (int)RunFunctionFmt(my_releasedir_op_fct_##A, "pp", a, b);  \
 }
 SUPER()
 #undef GO
@@ -1829,7 +1829,7 @@ static uintptr_t my_fsyncdir_op_fct_##A = 0;                                \
 static int my_fsyncdir_op_##A(const char * a, int b, void* c)               \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "fsyncdir_op");                \
-    return (int)RunFunction(my_context, my_fsyncdir_op_fct_##A, 3, a, b, c);\
+    return (int)RunFunctionFmt(my_fsyncdir_op_fct_##A, "pip", a, b, c);\
 }
 SUPER()
 #undef GO
@@ -1853,7 +1853,7 @@ static uintptr_t my_init_op_fct_##A = 0;                                \
 static void* my_init_op_##A(void* a)                                    \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "init_op");                \
-    return (void*)RunFunction(my_context, my_init_op_fct_##A, 1, a);    \
+    return (void*)RunFunctionFmt(my_init_op_fct_##A, "p", a);    \
 }
 SUPER()
 #undef GO
@@ -1877,7 +1877,7 @@ static uintptr_t my_destroy_op_fct_##A = 0;                 \
 static void my_destroy_op_##A(void * a)                     \
 {                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "destroy_op"); \
-    RunFunction(my_context, my_destroy_op_fct_##A, 1, a);   \
+    RunFunctionFmt(my_destroy_op_fct_##A, "p", a);   \
 }
 SUPER()
 #undef GO
@@ -1901,7 +1901,7 @@ static uintptr_t my_access_op_fct_##A = 0;                              \
 static int my_access_op_##A(const char * a, int b)                      \
 {                                                                       \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "access_op");              \
-    return (int)RunFunction(my_context, my_access_op_fct_##A, 2, a, b); \
+    return (int)RunFunctionFmt(my_access_op_fct_##A, "pi", a, b); \
 }
 SUPER()
 #undef GO
@@ -1925,7 +1925,7 @@ static uintptr_t my_create_op_fct_##A = 0;                                  \
 static int my_create_op_##A(const char * a, mode_t b, void* c)              \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "create_op");                  \
-    return (int)RunFunction(my_context, my_create_op_fct_##A, 3, a, b, c);  \
+    return (int)RunFunctionFmt(my_create_op_fct_##A, "pup", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -1949,7 +1949,7 @@ static uintptr_t my_ftruncate_op_fct_##A = 0;
 static int my_ftruncate_op_##A(const char * a, off_t b, void* c)                \
 {                                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "ftruncate_op");                   \
-    return (int)RunFunction(my_context, my_ftruncate_op_fct_##A, 3, a, b, c);   \
+    return (int)RunFunctionFmt(my_ftruncate_op_fct_##A, "plp", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -1975,7 +1975,7 @@ static int my_fgetattr_op_##A(const char * a, struct stat* b, void* c)
     printf_log(LOG_DEBUG, "fuse: call %s\n", "fgetattr_op");                        \
     struct x64_stat64 b_;                                                           \
     UnalignStat64(b, &b_);                                                          \
-    int ret = (int)RunFunction(my_context, my_fgetattr_op_fct_##A, 3, a, &b_, c);   \
+    int ret = (int)RunFunctionFmt(my_fgetattr_op_fct_##A, "ppp", a, &b_, c);   \
     AlignStat64(&b_, b);                                                            \
     return ret;                                                                     \
 }
@@ -2001,7 +2001,7 @@ static uintptr_t my_lock_op_fct_##A = 0;
 static int my_lock_op_##A(const char * a, void* b, int c, void* d)              \
 {                                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "lock_op");                        \
-    return (int)RunFunction(my_context, my_lock_op_fct_##A, 4, a, b, c, d);     \
+    return (int)RunFunctionFmt(my_lock_op_fct_##A, "ppip", a, b, c, d);     \
 }
 SUPER()
 #undef GO
@@ -2025,7 +2025,7 @@ static uintptr_t my_utimens_op_fct_##A = 0;                                 \
 static int my_utimens_op_##A(const char * a, const struct timespec b[2])    \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "utimens_op");                 \
-    return (int)RunFunction(my_context, my_utimens_op_fct_##A, 2, a, b);    \
+    return (int)RunFunctionFmt(my_utimens_op_fct_##A, "pp", a, b);    \
 }
 SUPER()
 #undef GO
@@ -2049,7 +2049,7 @@ static uintptr_t my_bmap_op_fct_##A = 0;                                    \
 static int my_bmap_op_##A(const char * a, size_t b, uint64_t *c)            \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "bmap_op");                    \
-    return (int)RunFunction(my_context, my_bmap_op_fct_##A, 3, a, b, c);    \
+    return (int)RunFunctionFmt(my_bmap_op_fct_##A, "pLp", a, b, c);    \
 }
 SUPER()
 #undef GO
@@ -2073,7 +2073,7 @@ static uintptr_t my_ioctl_op_fct_##A = 0;
 static int my_ioctl_op_##A(const char * a, int b, void* c, void* d, unsigned int e, void* f)    \
 {                                                                                               \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "ioctl_op");                                       \
-    return (int)RunFunction(my_context, my_ioctl_op_fct_##A, 6, a, b, c, d, e, f);              \
+    return (int)RunFunctionFmt(my_ioctl_op_fct_##A, "pippup", a, b, c, d, e, f);              \
 }
 SUPER()
 #undef GO
@@ -2097,7 +2097,7 @@ static uintptr_t my_poll_op_fct_##A = 0;                                    \
 static int my_poll_op_##A(const char * a, void* b, void* c, unsigned * d)   \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "poll_op");                    \
-    return (int)RunFunction(my_context, my_poll_op_fct_##A, 4, a, b, c, d); \
+    return (int)RunFunctionFmt(my_poll_op_fct_##A, "pppp", a, b, c, d); \
 }
 SUPER()
 #undef GO
@@ -2121,7 +2121,7 @@ static uintptr_t my_write_buf_op_fct_##A = 0;
 static int my_write_buf_op_##A(const char * a, void* b, off_t c, void* d)           \
 {                                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "write_buf_op");                       \
-    return (int)RunFunction(my_context, my_write_buf_op_fct_##A, 4, a, b, c, d);    \
+    return (int)RunFunctionFmt(my_write_buf_op_fct_##A, "pplp", a, b, c, d);    \
 }
 SUPER()
 #undef GO
@@ -2145,7 +2145,7 @@ static uintptr_t my_read_buf_op_fct_##A = 0;
 static int my_read_buf_op_##A(const char * a, void* b, size_t c, off_t d, void* e)  \
 {                                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "read_buf_op");                        \
-    return (int)RunFunction(my_context, my_read_buf_op_fct_##A, 5, a, b, c, d, e);  \
+    return (int)RunFunctionFmt(my_read_buf_op_fct_##A, "ppLlp", a, b, c, d, e);  \
 }
 SUPER()
 #undef GO
@@ -2169,7 +2169,7 @@ static uintptr_t my_flock_op_fct_##A = 0;                                   \
 static int my_flock_op_##A(const char * a, void* b, int c)                  \
 {                                                                           \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "flock_op");                   \
-    return (int)RunFunction(my_context, my_flock_op_fct_##A, 3, a, b, c);   \
+    return (int)RunFunctionFmt(my_flock_op_fct_##A, "ppi", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -2193,7 +2193,7 @@ static uintptr_t my_fallocate_op_fct_##A = 0;
 static int my_fallocate_op_##A(const char * a, int b, off_t c, off_t d, void* e)    \
 {                                                                                   \
     printf_log(LOG_DEBUG, "fuse: call %s\n", "fallocate_op");                       \
-    return (int)RunFunction(my_context, my_fallocate_op_fct_##A, 5, a, b, c, d, e); \
+    return (int)RunFunctionFmt(my_fallocate_op_fct_##A, "pillp", a, b, c, d, e); \
 }
 SUPER()
 #undef GO
@@ -2376,5 +2376,5 @@ box64_showsegv=1;
 
 #define CUSTOM_FINI             \
     freeMy();
-    
+
 #include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedlibgl.c b/src/wrapped/wrappedlibgl.c
index f210a255..1d5eb930 100644
--- a/src/wrapped/wrappedlibgl.c
+++ b/src/wrapped/wrappedlibgl.c
@@ -23,7 +23,7 @@ static library_t* my_lib = NULL;
 
 // FIXME: old wrapped* type of file, cannot use generated/wrappedlibgltypes.h
 
-EXPORT void* my_glXGetProcAddress(x64emu_t* emu, void* name) 
+EXPORT void* my_glXGetProcAddress(x64emu_t* emu, void* name)
 {
     khint_t k;
     const char* rname = (const char*)name;
@@ -58,7 +58,7 @@ GO(4)
 static uintptr_t my_debug_callback_fct_##A = 0;                                                                         \
 static void my_debug_callback_##A(int32_t a, int32_t b, uint32_t c, int32_t d, int32_t e, const char* f, const void* g) \
 {                                                                                                                       \
-    RunFunction(my_context, my_debug_callback_fct_##A, 7, a, b, c, d, e, f, g);                                         \
+    RunFunctionFmt(my_debug_callback_fct_##A, "iiuiipp", a, b, c, d, e, f, g);                                    \
 }
 SUPER()
 #undef GO
@@ -80,7 +80,7 @@ static void* find_debug_callback_Fct(void* fct)
 static uintptr_t my_program_callback_fct_##A = 0;                   \
 static void my_program_callback_##A(int32_t a, void* b)             \
 {                                                                   \
-    RunFunction(my_context, my_program_callback_fct_##A, 2, a, b);  \
+    RunFunctionFmt(my_program_callback_fct_##A, "ip", a, b);  \
 }
 SUPER()
 #undef GO
@@ -359,7 +359,7 @@ void* getGLProcAddress(x64emu_t* emu, glprocaddress_t procaddr, const char* rnam
         }
         #undef GO
         #undef SUPER
-    } else 
+    } else
         symbol = procaddr(rname);
     if(!symbol) {
         printf_dlsym(LOG_DEBUG, "%p\n", NULL);
@@ -371,7 +371,7 @@ void* getGLProcAddress(x64emu_t* emu, glprocaddress_t procaddr, const char* rnam
         printf_dlsym(LOG_DEBUG, "%p\n", (void*)ret);
         return (void*)ret; // already bridged
     }
-    // get wrapper    
+    // get wrapper
     k = kh_get(symbolmap, wrappers->glwrappers, rname);
     if(k==kh_end(wrappers->glwrappers) && strstr(rname, "ARB")==NULL) {
         // try again, adding ARB at the end if not present
@@ -397,4 +397,4 @@ void* getGLProcAddress(x64emu_t* emu, glprocaddress_t procaddr, const char* rnam
     ret = AddBridge(emu->context->system, kh_value(wrappers->glwrappers, k), symbol, 0, constname);
     printf_dlsym(LOG_DEBUG, "%p\n", (void*)ret);
     return (void*)ret;
-}
\ No newline at end of file
+}
diff --git a/src/wrapped/wrappedlibglu.c b/src/wrapped/wrappedlibglu.c
index 57a2bb4e..8c370876 100644
--- a/src/wrapped/wrappedlibglu.c
+++ b/src/wrapped/wrappedlibglu.c
@@ -42,7 +42,7 @@ GO(9)   \
 static uintptr_t my_glu_callback_fct_##A = 0;                       \
 static void my_glu_callback_##A(void* a, void* b)                   \
 {                                                                   \
-    RunFunction(my_context, my_glu_callback_fct_##A, 2, a, b);  \
+    RunFunctionFmt(my_glu_callback_fct_##A, "pp", a, b);      \
 }
 SUPER()
 #undef GO
@@ -64,7 +64,7 @@ static void* findglu_callbackFct(void* fct)
 static uintptr_t my_glu_callback4_fct_##A = 0;                              \
 static void my_glu_callback4_##A(void* a, void* b, void* c, void* d)        \
 {                                                                           \
-    RunFunction(my_context, my_glu_callback4_fct_##A, 4, a, b, c, d);   \
+    RunFunctionFmt(my_glu_callback4_fct_##A, "pppp", a, b, c, d);     \
 }
 SUPER()
 #undef GO
@@ -86,7 +86,7 @@ static void* findglu_callback4Fct(void* fct)
 static uintptr_t my_glu_callback5_fct_##A = 0;                                  \
 static void my_glu_callback5_##A(void* a, void* b, void* c, void* d, void* e)   \
 {                                                                               \
-    RunFunction(my_context, my_glu_callback5_fct_##A, 5, a, b, c, d, e);    \
+    RunFunctionFmt(my_glu_callback5_fct_##A, "ppppp", a, b, c, d, e);     \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedlibharfbuzz.c b/src/wrapped/wrappedlibharfbuzz.c
new file mode 100644
index 00000000..8f4bb2c9
--- /dev/null
+++ b/src/wrapped/wrappedlibharfbuzz.c
@@ -0,0 +1,1217 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+#include "wrappedlibs.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include <unistd.h>
+#include <sys/mman.h>
+#include <errno.h>
+#include "debug.h"
+#include "callback.h"
+
+const char* libharfbuzzName = "libharfbuzz.so.0";
+#define LIBNAME libharfbuzz
+
+#include "generated/wrappedlibharfbuzztypes.h"
+
+#include "wrappercallback.h"
+
+struct hb_atomic_int_t
+{
+  int v;
+};
+
+struct hb_reference_count_t
+{
+  struct hb_atomic_int_t ref_count;
+};
+
+struct hb_atomic_ptr_t {
+    void* v;
+};
+
+struct hb_object_header_t
+{
+  struct hb_reference_count_t ref_count;
+  struct hb_atomic_int_t writable;
+  struct hb_atomic_ptr_t user_data;
+};
+
+/*
+ * hb_draw_funcs_t
+ */
+
+#define HB_DRAW_FUNCS_IMPLEMENT_CALLBACKS \
+  HB_DRAW_FUNC_IMPLEMENT (move_to) \
+  HB_DRAW_FUNC_IMPLEMENT (line_to) \
+  HB_DRAW_FUNC_IMPLEMENT (quadratic_to) \
+  HB_DRAW_FUNC_IMPLEMENT (cubic_to) \
+  HB_DRAW_FUNC_IMPLEMENT (close_path) \
+  /* ^--- Add new callbacks here */
+
+struct hb_draw_funcs_t__func {
+#define HB_DRAW_FUNC_IMPLEMENT(name) void* name;
+    HB_DRAW_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_DRAW_FUNC_IMPLEMENT
+};
+
+struct hb_draw_funcs_t__destroy {
+#define HB_DRAW_FUNC_IMPLEMENT(name) void* name;
+    HB_DRAW_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_DRAW_FUNC_IMPLEMENT
+};
+
+struct hb_draw_funcs_t
+{
+    struct hb_object_header_t header;
+
+    struct hb_draw_funcs_t__func func;
+
+  struct {
+#define HB_DRAW_FUNC_IMPLEMENT(name) void *name;
+    HB_DRAW_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_DRAW_FUNC_IMPLEMENT
+  } *user_data;
+
+  struct hb_draw_funcs_t__destroy* destroy;
+};
+
+/*
+ * hb_font_funcs_t
+ */
+
+#define HB_FONT_FUNCS_IMPLEMENT_CALLBACKS \
+  HB_FONT_FUNC_IMPLEMENT (get_,font_h_extents) \
+  HB_FONT_FUNC_IMPLEMENT (get_,font_v_extents) \
+  HB_FONT_FUNC_IMPLEMENT (get_,nominal_glyph) \
+  HB_FONT_FUNC_IMPLEMENT (get_,nominal_glyphs) \
+  HB_FONT_FUNC_IMPLEMENT (get_,variation_glyph) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_h_advance) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_v_advance) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_h_advances) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_v_advances) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_h_origin) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_v_origin) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_h_kerning) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_v_kerning) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_extents) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_contour_point) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_name) \
+  HB_FONT_FUNC_IMPLEMENT (get_,glyph_from_name) \
+  HB_FONT_FUNC_IMPLEMENT (,draw_glyph) \
+  HB_FONT_FUNC_IMPLEMENT (,paint_glyph) \
+  /* ^--- Add new callbacks here */
+
+struct hb_font_funcs_t__destroy {
+#define HB_FONT_FUNC_IMPLEMENT(get_,name) void* name;
+    HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_FONT_FUNC_IMPLEMENT
+};
+
+struct hb_font_funcs_t
+{
+    struct hb_object_header_t header;
+
+    struct {
+#define HB_FONT_FUNC_IMPLEMENT(get_,name) void* name;
+        HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_FONT_FUNC_IMPLEMENT
+    } *user_data;
+
+    struct hb_font_funcs_t__destroy* destroy;
+
+    union get_t {
+        struct get_funcs_t {
+#define HB_FONT_FUNC_IMPLEMENT(get_,name) void* name;
+            HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_FONT_FUNC_IMPLEMENT
+        } f;
+        void (*array[0
+#define HB_FONT_FUNC_IMPLEMENT(get_,name) +1
+            HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_FONT_FUNC_IMPLEMENT
+        ]) ();
+    } get;
+};
+
+/*
+ * hb_unicode_funcs_t
+ */
+
+#define HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS \
+  HB_UNICODE_FUNC_IMPLEMENT (combining_class) \
+  HB_UNICODE_FUNC_IMPLEMENT (eastasian_width) \
+  HB_UNICODE_FUNC_IMPLEMENT (general_category) \
+  HB_UNICODE_FUNC_IMPLEMENT (mirroring) \
+  HB_UNICODE_FUNC_IMPLEMENT (script) \
+  HB_UNICODE_FUNC_IMPLEMENT (compose) \
+  HB_UNICODE_FUNC_IMPLEMENT (decompose) \
+  HB_UNICODE_FUNC_IMPLEMENT (decompose_compatibility) \
+  /* ^--- Add new callbacks here */
+
+/* Simple callbacks are those taking a hb_codepoint_t and returning a hb_codepoint_t */
+#define HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE \
+  HB_UNICODE_FUNC_IMPLEMENT (hb_unicode_combining_class_t, combining_class) \
+  HB_UNICODE_FUNC_IMPLEMENT (unsigned int, eastasian_width) \
+  HB_UNICODE_FUNC_IMPLEMENT (hb_unicode_general_category_t, general_category) \
+  HB_UNICODE_FUNC_IMPLEMENT (hb_codepoint_t, mirroring) \
+  HB_UNICODE_FUNC_IMPLEMENT (hb_script_t, script) \
+  /* ^--- Add new simple callbacks here */
+
+
+struct hb_unicode_funcs_t__destroy {
+#define HB_UNICODE_FUNC_IMPLEMENT(name) void* name;
+    HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_UNICODE_FUNC_IMPLEMENT
+};
+
+struct hb_unicode_funcs_t
+{
+    struct hb_object_header_t header;
+    struct hb_unicode_funcs_t *parent;
+
+    struct {
+#define HB_UNICODE_FUNC_IMPLEMENT(name) void* name;
+        HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_UNICODE_FUNC_IMPLEMENT
+    } func;
+
+    struct {
+#define HB_UNICODE_FUNC_IMPLEMENT(name) void* name;
+        HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_UNICODE_FUNC_IMPLEMENT
+    } user_data;
+
+  struct hb_unicode_funcs_t__destroy destroy;
+};
+
+#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)  \
+
+// buffer_message
+#define GO(A)                                                       \
+static uintptr_t my_buffer_message_fct_##A = 0;                     \
+static int my_buffer_message_##A(void* a, void* b, void* c, void* d)\
+{                                                                   \
+    return (int)RunFunctionFmt(my_buffer_message_fct_##A, "pppp", a, b, c, d);  \
+}
+SUPER()
+#undef GO
+static void* find_buffer_message_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_buffer_message_fct_##A == (uintptr_t)fct) return my_buffer_message_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_buffer_message_fct_##A == 0) {my_buffer_message_fct_##A = (uintptr_t)fct; return my_buffer_message_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz buffer message callback\n");
+    return NULL;
+}
+
+// draw close path
+#define GO(A)                                                           \
+static uintptr_t my_draw_close_path_fct_##A = 0;                        \
+static void my_draw_close_path_##A(void* a, void* b, void* c, void* d)  \
+{                                                                       \
+    RunFunctionFmt(my_draw_close_path_fct_##A, "pppp", a, b, c, d);  \
+}
+SUPER()
+#undef GO
+static void* find_draw_close_path_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_draw_close_path_fct_##A == (uintptr_t)fct) return my_draw_close_path_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_draw_close_path_fct_##A == 0) {my_draw_close_path_fct_##A = (uintptr_t)fct; return my_draw_close_path_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz draw close path callback\n");
+    return NULL;
+}
+
+// draw cubic to
+#define GO(A)                                   \
+static uintptr_t my_draw_cubic_to_fct_##A = 0;  \
+static void my_draw_cubic_to_##A(void* a, void* b, void* c, float d1, float d2, float d3, float d4, float d5, float d6, void* e) \
+{                                               \
+    RunFunctionFmt(my_draw_cubic_to_fct_##A, "pppffffffp", a, b, c, d1, d2, d3, d4, d5, d6, e); \
+}
+SUPER()
+#undef GO
+static void* find_draw_cubic_to_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_draw_cubic_to_fct_##A == (uintptr_t)fct) return my_draw_cubic_to_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_draw_cubic_to_fct_##A == 0) {my_draw_cubic_to_fct_##A = (uintptr_t)fct; return my_draw_cubic_to_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz draw cubic to callback\n");
+    return NULL;
+}
+
+// draw line/move to
+#define GO(A)                                           \
+static uintptr_t my_draw_line_or_move_to_fct_##A = 0;   \
+static void my_draw_line_or_move_to_##A(void* a, void* b, void* c, float d1, float d2, void* e) \
+{                                                       \
+    RunFunctionFmt(my_draw_line_or_move_to_fct_##A, "pppffp", a, b, c, d1, d2, e);  \
+}
+SUPER()
+#undef GO
+static void* find_draw_line_or_move_to_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_draw_line_or_move_to_fct_##A == (uintptr_t)fct) return my_draw_line_or_move_to_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_draw_line_or_move_to_fct_##A == 0) {my_draw_line_or_move_to_fct_##A = (uintptr_t)fct; return my_draw_line_or_move_to_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz draw line/move to callback\n");
+    return NULL;
+}
+
+// draw quadratic to
+#define GO(A)                                       \
+static uintptr_t my_draw_quadratic_to_fct_##A = 0;  \
+static void my_draw_quadratic_to_##A(void* a, void* b, void* c, float d1, float d2, float d3, float d4, void* e) \
+{                                                   \
+    RunFunctionFmt(my_draw_quadratic_to_fct_##A, "pppffffp", a, b, c, d1, d2, d3, d4, e); \
+}
+SUPER()
+#undef GO
+static void* find_draw_quadratic_to_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_draw_quadratic_to_fct_##A == (uintptr_t)fct) return my_draw_quadratic_to_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_draw_quadratic_to_fct_##A == 0) {my_draw_quadratic_to_fct_##A = (uintptr_t)fct; return my_draw_quadratic_to_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz draw quadratic to callback\n");
+    return NULL;
+}
+
+// reference table
+#define GO(A)                                                       \
+static uintptr_t my_reference_table_fct_##A = 0;                    \
+static void* my_reference_table_##A(void* a, uint32_t b, void* c)   \
+{                                                                   \
+    return (void*)RunFunctionFmt(my_reference_table_fct_##A, "pup", a, b, c);   \
+}
+SUPER()
+#undef GO
+static void* find_reference_table_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_reference_table_fct_##A == (uintptr_t)fct) return my_reference_table_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_reference_table_fct_##A == 0) {my_reference_table_fct_##A = (uintptr_t)fct; return my_reference_table_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz reference table callback\n");
+    return NULL;
+}
+
+// unicode combining class
+#define GO(A)                                                               \
+static uintptr_t my_unicode_combining_class_fct_##A = 0;                    \
+static uint32_t my_unicode_combining_class_##A(void* a, uint32_t b, void* c)\
+{                                                                           \
+    return (uint32_t)RunFunctionFmt(my_unicode_combining_class_fct_##A, "pup", a, b, c);  \
+}
+SUPER()
+#undef GO
+static void* find_unicode_combining_class_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_unicode_combining_class_fct_##A == (uintptr_t)fct) return my_unicode_combining_class_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_unicode_combining_class_fct_##A == 0) {my_unicode_combining_class_fct_##A = (uintptr_t)fct; return my_unicode_combining_class_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz unicode combining class callback\n");
+    return NULL;
+}
+
+// unicode compose
+#define GO(A)                                                                       \
+static uintptr_t my_unicode_compose_fct_##A = 0;                                    \
+static int my_unicode_compose_##A(void* a, uint32_t b, uint32_t c, void* d, void* e)\
+{                                                                                   \
+    return (int)RunFunctionFmt(my_unicode_compose_fct_##A, "puupp", a, b, c, d, e); \
+}
+SUPER()
+#undef GO
+static void* find_unicode_compose_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_unicode_compose_fct_##A == (uintptr_t)fct) return my_unicode_compose_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_unicode_compose_fct_##A == 0) {my_unicode_compose_fct_##A = (uintptr_t)fct; return my_unicode_compose_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz unicode compose callback\n");
+    return NULL;
+}
+
+// unicode decompose compatibility
+#define GO(A)                                                                                   \
+static uintptr_t my_unicode_decompose_compatibility_fct_##A = 0;                                \
+static uint32_t my_unicode_decompose_compatibility_##A(void* a, uint32_t b, void* c, void* d)   \
+{                                                                                               \
+    return (uint32_t)RunFunctionFmt(my_unicode_decompose_compatibility_fct_##A, "pupp", a, b, c, d);    \
+}
+SUPER()
+#undef GO
+static void* find_unicode_decompose_compatibility_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_unicode_decompose_compatibility_fct_##A == (uintptr_t)fct) return my_unicode_decompose_compatibility_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_unicode_decompose_compatibility_fct_##A == 0) {my_unicode_decompose_compatibility_fct_##A = (uintptr_t)fct; return my_unicode_decompose_compatibility_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz unicode decompose compatibility callback\n");
+    return NULL;
+}
+
+// unicode decompose
+#define GO(A)                                                                       \
+static uintptr_t my_unicode_decompose_fct_##A = 0;                                  \
+static int my_unicode_decompose_##A(void* a, uint32_t b, void* c, void* d, void* e) \
+{                                                                                   \
+    return (int)RunFunctionFmt(my_unicode_decompose_fct_##A, "puppp", a, b, c, d, e);   \
+}
+SUPER()
+#undef GO
+static void* find_unicode_decompose_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_unicode_decompose_fct_##A == (uintptr_t)fct) return my_unicode_decompose_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_unicode_decompose_fct_##A == 0) {my_unicode_decompose_fct_##A = (uintptr_t)fct; return my_unicode_decompose_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz unicode decompose class callback\n");
+    return NULL;
+}
+
+// unicode eastasian width
+#define GO(A)                                                                   \
+static uintptr_t my_unicode_eastasian_width_fct_##A = 0;                        \
+static uint32_t my_unicode_eastasian_width_##A(void* a, uint32_t b, void* c)    \
+{                                                                               \
+    return (uint32_t)RunFunctionFmt(my_unicode_eastasian_width_fct_##A, "pup", a, b, c); \
+}
+SUPER()
+#undef GO
+static void* find_unicode_eastasian_width_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_unicode_eastasian_width_fct_##A == (uintptr_t)fct) return my_unicode_eastasian_width_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_unicode_eastasian_width_fct_##A == 0) {my_unicode_eastasian_width_fct_##A = (uintptr_t)fct; return my_unicode_eastasian_width_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz unicode eastasian width callback\n");
+    return NULL;
+}
+
+// unicode general category
+#define GO(A)                                                                   \
+static uintptr_t my_unicode_general_category_fct_##A = 0;                       \
+static uint32_t my_unicode_general_category_##A(void* a, uint32_t b, void* c)   \
+{                                                                               \
+    return (uint32_t)RunFunctionFmt(my_unicode_general_category_fct_##A, "pup", a, b, c);   \
+}
+SUPER()
+#undef GO
+static void* find_unicode_general_category_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_unicode_general_category_fct_##A == (uintptr_t)fct) return my_unicode_general_category_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_unicode_general_category_fct_##A == 0) {my_unicode_general_category_fct_##A = (uintptr_t)fct; return my_unicode_general_category_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz unicode general category callback\n");
+    return NULL;
+}
+
+// unicode mirroring
+#define GO(A)                                                           \
+static uintptr_t my_unicode_mirroring_fct_##A = 0;                      \
+static uint32_t my_unicode_mirroring_##A(void* a, uint32_t b, void* c)  \
+{                                                                       \
+    return (uint32_t)RunFunctionFmt(my_unicode_mirroring_fct_##A, "pup", a, b, c);  \
+}
+SUPER()
+#undef GO
+static void* find_unicode_mirroring_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_unicode_mirroring_fct_##A == (uintptr_t)fct) return my_unicode_mirroring_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_unicode_mirroring_fct_##A == 0) {my_unicode_mirroring_fct_##A = (uintptr_t)fct; return my_unicode_mirroring_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz unicode mirroring callback\n");
+    return NULL;
+}
+
+// unicode script
+#define GO(A)                                                       \
+static uintptr_t my_unicode_script_fct_##A = 0;                     \
+static uint32_t my_unicode_script_##A(void* a, uint32_t b, void* c) \
+{                                                                   \
+    return (uint32_t)RunFunctionFmt(my_unicode_script_fct_##A, "pup", a, b, c); \
+}
+SUPER()
+#undef GO
+static void* find_unicode_script_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_unicode_script_fct_##A == (uintptr_t)fct) return my_unicode_script_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_unicode_script_fct_##A == 0) {my_unicode_script_fct_##A = (uintptr_t)fct; return my_unicode_script_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz unicode script callback\n");
+    return NULL;
+}
+
+// font extents
+#define GO(A)                                                           \
+static uintptr_t my_font_extents_fct_##A = 0;                           \
+static int my_font_extents_##A(void* a, void* b, void* c, void* d) \
+{                                                                       \
+    return (int)RunFunctionFmt(my_font_extents_fct_##A, "pppp", a, b, c, d);   \
+}
+SUPER()
+#undef GO
+static void* find_font_extents_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_font_extents_fct_##A == (uintptr_t)fct) return my_font_extents_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_font_extents_fct_##A == 0) {my_font_extents_fct_##A = (uintptr_t)fct; return my_font_extents_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz font extents callback\n");
+    return NULL;
+}
+
+// glyph advance
+#define GO(A)                                                           \
+static uintptr_t my_glyph_advance_fct_##A = 0;                          \
+static int my_glyph_advance_##A(void* a, void* b, uint32_t c, void* d)  \
+{                                                                       \
+    return (int)RunFunctionFmt(my_glyph_advance_fct_##A, "ppup", a, b, c, d);   \
+}
+SUPER()
+#undef GO
+static void* find_glyph_advance_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_glyph_advance_fct_##A == (uintptr_t)fct) return my_glyph_advance_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_glyph_advance_fct_##A == 0) {my_glyph_advance_fct_##A = (uintptr_t)fct; return my_glyph_advance_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz glyph advance callback\n");
+    return NULL;
+}
+
+// glyph advances
+#define GO(A)                                                           \
+static uintptr_t my_glyph_advances_fct_##A = 0;                         \
+static void my_glyph_advances_##A(void* a, void* b, uint32_t c, void* d, uint32_t e, void* f, uint32_t g, void* h)  \
+{                                                                       \
+    RunFunctionFmt(my_glyph_advances_fct_##A, "ppupupup", a, b, c, d, e, f, g, h);  \
+}
+SUPER()
+#undef GO
+static void* find_glyph_advances_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_glyph_advances_fct_##A == (uintptr_t)fct) return my_glyph_advances_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_glyph_advances_fct_##A == 0) {my_glyph_advances_fct_##A = (uintptr_t)fct; return my_glyph_advances_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz glyph advances callback\n");
+    return NULL;
+}
+
+// glyph kerning
+#define GO(A)                                                           \
+static uintptr_t my_glyph_kerning_fct_##A = 0;                          \
+static int my_glyph_kerning_##A(void* a, void* b, uint32_t c, uint32_t d, void* e)  \
+{                                                                       \
+    return (int)RunFunctionFmt(my_glyph_kerning_fct_##A, "ppuup", a, b, c, d, e);   \
+}
+SUPER()
+#undef GO
+static void* find_glyph_kerning_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_glyph_kerning_fct_##A == (uintptr_t)fct) return my_glyph_kerning_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_glyph_kerning_fct_##A == 0) {my_glyph_kerning_fct_##A = (uintptr_t)fct; return my_glyph_kerning_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz glyph kerning callback\n");
+    return NULL;
+}
+
+// glyph origin
+#define GO(A)                                                           \
+static uintptr_t my_glyph_origin_fct_##A = 0;                           \
+static int my_glyph_origin_##A(void* a, void* b, uint32_t c, void* d, void* e, void* f) \
+{                                                                       \
+    return (int)RunFunctionFmt(my_glyph_origin_fct_##A, "ppuppp", a, b, c, d, e, f);   \
+}
+SUPER()
+#undef GO
+static void* find_glyph_origin_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_glyph_origin_fct_##A == (uintptr_t)fct) return my_glyph_origin_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_glyph_origin_fct_##A == 0) {my_glyph_origin_fct_##A = (uintptr_t)fct; return my_glyph_origin_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz glyph origin callback\n");
+    return NULL;
+}
+
+// glyph contour point
+#define GO(A)                                                           \
+static uintptr_t my_glyph_contour_pointfct_##A = 0;                     \
+static int my_glyph_contour_point##A(void* a, void* b, uint32_t c, uint32_t d, void* e, void* f, void* g) \
+{                                                                       \
+    return (int)RunFunctionFmt(my_glyph_contour_pointfct_##A, "ppuuppp", a, b, c, d, e, f, g);   \
+}
+SUPER()
+#undef GO
+static void* find_glyph_contour_point_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_glyph_contour_pointfct_##A == (uintptr_t)fct) return my_glyph_contour_point##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_glyph_contour_pointfct_##A == 0) {my_glyph_contour_pointfct_##A = (uintptr_t)fct; return my_glyph_contour_point##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz glyph contour point callback\n");
+    return NULL;
+}
+
+// glyph extents
+#define GO(A)                                                           \
+static uintptr_t my_glyph_extents_fct_##A = 0;                           \
+static int my_glyph_extents_##A(void* a, void* b, uint32_t c, void* d, void* e) \
+{                                                                       \
+    return (int)RunFunctionFmt(my_glyph_extents_fct_##A, "ppupp", a, b, c, d, e);   \
+}
+SUPER()
+#undef GO
+static void* find_glyph_extents_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_glyph_extents_fct_##A == (uintptr_t)fct) return my_glyph_extents_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_glyph_extents_fct_##A == 0) {my_glyph_extents_fct_##A = (uintptr_t)fct; return my_glyph_extents_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz glyph extents callback\n");
+    return NULL;
+}
+
+// glyph from name
+#define GO(A)                                                           \
+static uintptr_t my_glyph_from_name_fct_##A = 0;                        \
+static int my_glyph_from_name_##A(void* a, void* b, void* c, int d, void* e, void* f)   \
+{                                                                       \
+    return (int)RunFunctionFmt(my_glyph_from_name_fct_##A, "pppipp", a, b, c, d, e, f); \
+}
+SUPER()
+#undef GO
+static void* find_glyph_from_name_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_glyph_from_name_fct_##A == (uintptr_t)fct) return my_glyph_from_name_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_glyph_from_name_fct_##A == 0) {my_glyph_from_name_fct_##A = (uintptr_t)fct; return my_glyph_from_name_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz glyph from name callback\n");
+    return NULL;
+}
+
+
+
+
+
+
+// glyph
+#define GO(A)                                                           \
+static uintptr_t my_glyph_fct_##A = 0;                           \
+static int my_glyph_##A(void* a, void* b, uint32_t c, uint32_t d, void* e, void* f) \
+{                                                                       \
+    return (int)RunFunctionFmt(my_glyph_fct_##A, "ppuupp", a, b, c, d, e, f);   \
+}
+SUPER()
+#undef GO
+static void* find_glyph_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_glyph_fct_##A == (uintptr_t)fct) return my_glyph_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_glyph_fct_##A == 0) {my_glyph_fct_##A = (uintptr_t)fct; return my_glyph_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz glyph callback\n");
+    return NULL;
+}
+
+// glyph name
+#define GO(A)                               \
+static uintptr_t my_glyph_name_fct_##A = 0; \
+static int my_glyph_name_##A(void* a, void* b, uint32_t c, void* d, uint32_t e, void* f)    \
+{                                           \
+    return (int)RunFunctionFmt(my_glyph_name_fct_##A, "ppupup", a, b, c, d, e, f);  \
+}
+SUPER()
+#undef GO
+static void* find_glyph_name_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_glyph_name_fct_##A == (uintptr_t)fct) return my_glyph_name_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_glyph_name_fct_##A == 0) {my_glyph_name_fct_##A = (uintptr_t)fct; return my_glyph_name_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz glyph origin callback\n");
+    return NULL;
+}
+
+// glyph shape
+#define GO(A)                                                           \
+static uintptr_t my_glyph_shape_fct_##A = 0;                           \
+static void my_glyph_shape_##A(void* a, void* b, uint32_t c, void* d, void* e, void* f) \
+{                                                                       \
+    RunFunctionFmt(my_glyph_shape_fct_##A, "ppuppp", a, b, c, d, e, f);   \
+}
+SUPER()
+#undef GO
+static void* find_glyph_shape_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_glyph_shape_fct_##A == (uintptr_t)fct) return my_glyph_shape_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_glyph_shape_fct_##A == 0) {my_glyph_shape_fct_##A = (uintptr_t)fct; return my_glyph_shape_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz glyph shape callback\n");
+    return NULL;
+}
+
+// nominal glyph
+#define GO(A)                                   \
+static uintptr_t my_nominal_glyph_fct_##A = 0;  \
+static int my_nominal_glyph_##A(void* a, void* b, uint32_t c, void* d, void* e) \
+{                                               \
+    return (int)RunFunctionFmt(my_nominal_glyph_fct_##A, "ppupp", a, b, c, d, e);   \
+}
+SUPER()
+#undef GO
+static void* find_nominal_glyph_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_nominal_glyph_fct_##A == (uintptr_t)fct) return my_nominal_glyph_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_nominal_glyph_fct_##A == 0) {my_nominal_glyph_fct_##A = (uintptr_t)fct; return my_nominal_glyph_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz nominal glyph callback\n");
+    return NULL;
+}
+
+
+
+
+
+
+// nominal glyphs
+#define GO(A)                                   \
+static uintptr_t my_nominal_glyphs_fct_##A = 0; \
+static uint32_t my_nominal_glyphs_##A(void* a, void* b, uint32_t c, void* d, uint32_t e, void* f, uint32_t g, void* h)  \
+{                                               \
+    return (uint32_t)RunFunctionFmt(my_nominal_glyphs_fct_##A, "ppupupup", a, b, c, d, e, f, g, h); \
+}
+SUPER()
+#undef GO
+static void* find_nominal_glyphs_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_nominal_glyphs_fct_##A == (uintptr_t)fct) return my_nominal_glyphs_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_nominal_glyphs_fct_##A == 0) {my_nominal_glyphs_fct_##A = (uintptr_t)fct; return my_nominal_glyphs_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz nominal glyphs callback\n");
+    return NULL;
+}
+
+// variation glyph
+#define GO(A)                                   \
+static uintptr_t my_variation_glyph_fct_##A = 0;\
+static int my_variation_glyph_##A(void* a, void* b, uint32_t c, uint32_t d, void* e, void* f) \
+{                                               \
+    return (int)RunFunctionFmt(my_variation_glyph_fct_##A, "ppuupp", a, b, c, d, e, f);   \
+}
+SUPER()
+#undef GO
+static void* find_variation_glyph_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_variation_glyph_fct_##A == (uintptr_t)fct) return my_variation_glyph_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_variation_glyph_fct_##A == 0) {my_variation_glyph_fct_##A = (uintptr_t)fct; return my_variation_glyph_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz variation glyph callback\n");
+    return NULL;
+}
+
+// destroy
+#define GO(A)                                               \
+static uintptr_t my_destroy_fct_##A = 0;                    \
+static void my_destroy_##A(void* a)                         \
+{                                                           \
+    RunFunctionFmt(my_destroy_fct_##A, "p", a); \
+}
+SUPER()
+#undef GO
+static void* find_destroy_Fct(void* fct)
+{
+    if (!fct) return NULL;
+    if (GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if (my_destroy_fct_##A == (uintptr_t)fct) return my_destroy_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if (my_destroy_fct_##A == 0) {my_destroy_fct_##A = (uintptr_t)fct; return my_destroy_##A;}
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libharfbuzz destroy callback\n");
+    return NULL;
+}
+
+#undef SUPER
+
+#define FUNC(A) \
+EXPORT void* my_##A(x64emu_t* emu, void* data, uint32_t length, uint32_t mode, void* user_data, void* destroy) \
+{                                                                           \
+    (void)emu;                                                              \
+    return my->A(data, length, mode, user_data, find_destroy_Fct(destroy)); \
+}
+
+FUNC(hb_blob_create)
+FUNC(hb_blob_create_or_fail)
+
+#undef FUNC
+
+#define FUNC(A) \
+EXPORT int my_##A(x64emu_t* emu, void* blob, void* key, void* data, void* destroy, int replace) \
+{                                                                       \
+    (void)emu;                                                          \
+    return (int)my->A(blob, key, data, find_destroy_Fct(destroy), replace);  \
+}
+
+FUNC(hb_blob_set_user_data)
+FUNC(hb_buffer_set_user_data)
+
+#undef FUNC
+
+#define FUNC(A) \
+EXPORT void my_##A(x64emu_t* emu, void* buffer, void* func, void* user_data, void* destroy) \
+{               \
+    (void)emu;  \
+    my->A(buffer, find_buffer_message_Fct(func), user_data, find_destroy_Fct(destroy));  \
+}
+
+FUNC(hb_buffer_set_message_func)
+
+#undef FUNC
+
+EXPORT void my_hb_draw_funcs_destroy(x64emu_t* emu, void* funcs)
+{
+    (void)emu;
+    struct hb_draw_funcs_t__destroy destroy = {0};
+    struct hb_draw_funcs_t* funcs_ = funcs;
+
+#define HB_DRAW_FUNC_IMPLEMENT(name) \
+    if (funcs_->destroy->name) destroy.name = find_destroy_Fct(funcs_->destroy->name);
+    HB_DRAW_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_DRAW_FUNC_IMPLEMENT
+
+    struct hb_draw_funcs_t__destroy* original = funcs_->destroy;
+    funcs_->destroy = &destroy;
+    my->hb_draw_funcs_destroy(funcs);
+    funcs_->destroy = original;
+}
+
+EXPORT void my_hb_draw_funcs_set_close_path_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_draw_funcs_set_close_path_func(funcs, find_draw_close_path_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_draw_funcs_set_cubic_to_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_draw_funcs_set_cubic_to_func(funcs, find_draw_cubic_to_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+#define FUNC(A) \
+EXPORT void my_##A(x64emu_t* emu, void* buffer, void* func, void* user_data, void* destroy) \
+{               \
+    (void)emu;  \
+    my->A(buffer, find_draw_line_or_move_to_Fct(func), user_data, find_destroy_Fct(destroy));  \
+}
+
+FUNC(hb_draw_funcs_set_line_to_func)
+FUNC(hb_draw_funcs_set_move_to_func)
+
+#undef FUNC
+
+EXPORT void my_hb_draw_funcs_set_quadratic_to_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_draw_funcs_set_quadratic_to_func(funcs, find_draw_quadratic_to_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void* my_hb_face_create_for_tables(x64emu_t* emu, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    return my->hb_face_create_for_tables(find_reference_table_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT int my_hb_face_set_user_data(x64emu_t* emu, void* face, void* key, void* data, void* destroy, int replace)
+{
+    (void)emu;
+    return (int)my->hb_face_set_user_data(face, key, data, find_destroy_Fct(destroy), replace);
+}
+
+EXPORT void my_hb_font_funcs_destroy(x64emu_t* emu, void* funcs)
+{
+    (void)emu;
+    struct hb_font_funcs_t__destroy destroy = {0};
+    struct hb_font_funcs_t* funcs_ = funcs;
+
+#define HB_FONT_FUNC_IMPLEMENT(get_,name) \
+    if (funcs_->destroy->name) destroy.name = find_destroy_Fct(funcs_->destroy->name);
+    HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_FONT_FUNC_IMPLEMENT
+
+    struct hb_font_funcs_t__destroy* original = funcs_->destroy;
+    funcs_->destroy = &destroy;
+    my->hb_font_funcs_destroy(funcs);
+    funcs_->destroy = original;
+}
+
+EXPORT void my_hb_unicode_funcs_destroy(x64emu_t* emu, void* funcs)
+{
+    (void)emu;
+    struct hb_unicode_funcs_t__destroy destroy = {0};
+    struct hb_unicode_funcs_t* funcs_ = funcs;
+
+#define HB_UNICODE_FUNC_IMPLEMENT(name) \
+    if (funcs_->destroy.name) destroy.name = find_destroy_Fct(funcs_->destroy.name);
+    HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS
+#undef HB_UNICODE_FUNC_IMPLEMENT
+
+    struct hb_unicode_funcs_t__destroy original = funcs_->destroy;
+    funcs_->destroy = destroy;
+    my->hb_font_funcs_destroy(funcs);
+    funcs_->destroy = original;
+}
+
+EXPORT void my_hb_unicode_funcs_set_combining_class_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_unicode_funcs_set_combining_class_func(funcs, find_unicode_combining_class_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_unicode_funcs_set_compose_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_unicode_funcs_set_compose_func(funcs, find_unicode_compose_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_unicode_funcs_set_decompose_compatibility_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_unicode_funcs_set_decompose_compatibility_func(funcs, find_unicode_decompose_compatibility_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_unicode_funcs_set_decompose_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_unicode_funcs_set_decompose_func(funcs, find_unicode_decompose_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_unicode_funcs_set_eastasian_width_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_unicode_funcs_set_eastasian_width_func(funcs, find_unicode_eastasian_width_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_unicode_funcs_set_general_category_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_unicode_funcs_set_general_category_func(funcs, find_unicode_general_category_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_unicode_funcs_set_mirroring_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_unicode_funcs_set_mirroring_func(funcs, find_unicode_mirroring_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_unicode_funcs_set_script_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_unicode_funcs_set_script_func(funcs, find_unicode_script_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT int my_hb_unicode_funcs_set_user_data(x64emu_t* emu, void* funcs, void* key, void* data, void* destroy, int replace)
+{
+    (void)emu;
+    return (int)my->hb_unicode_funcs_set_user_data(funcs, key, data, find_destroy_Fct(destroy), replace);
+}
+
+#define FUNC(A) \
+EXPORT void my_##A(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)  \
+{               \
+    (void)emu;  \
+    my->A(funcs, find_font_extents_Fct(func), user_data, find_destroy_Fct(destroy));\
+}
+
+FUNC(hb_font_funcs_set_font_h_extents_func)
+FUNC(hb_font_funcs_set_font_v_extents_func)
+
+#undef FUNC
+
+
+#define FUNC(A) \
+EXPORT void my_##A(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)  \
+{               \
+    (void)emu;  \
+    my->A(funcs, find_glyph_advance_Fct(func), user_data, find_destroy_Fct(destroy));   \
+}
+
+FUNC(hb_font_funcs_set_glyph_h_advance_func)
+FUNC(hb_font_funcs_set_glyph_v_advance_func)
+
+#undef FUNC
+
+
+#define FUNC(A) \
+EXPORT void my_##A(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)  \
+{               \
+    (void)emu;  \
+    my->A(funcs, find_glyph_advances_Fct(func), user_data, find_destroy_Fct(destroy));  \
+}
+
+FUNC(hb_font_funcs_set_glyph_h_advances_func)
+FUNC(hb_font_funcs_set_glyph_v_advances_func)
+
+#undef FUNC
+
+
+#define FUNC(A) \
+EXPORT void my_##A(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)  \
+{               \
+    (void)emu;  \
+    my->A(funcs, find_glyph_kerning_Fct(func), user_data, find_destroy_Fct(destroy));   \
+}
+
+FUNC(hb_font_funcs_set_glyph_h_kerning_func)
+FUNC(hb_font_funcs_set_glyph_v_kerning_func)
+
+#undef FUNC
+
+
+#define FUNC(A) \
+EXPORT void my_##A(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)  \
+{               \
+    (void)emu;  \
+    my->A(funcs, find_glyph_origin_Fct(func), user_data, find_destroy_Fct(destroy));\
+}
+
+FUNC(hb_font_funcs_set_glyph_h_origin_func)
+FUNC(hb_font_funcs_set_glyph_v_origin_func)
+
+#undef FUNC
+
+EXPORT void my_hb_font_funcs_set_glyph_contour_point_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_font_funcs_set_glyph_contour_point_func(funcs, find_glyph_contour_point_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_font_funcs_set_glyph_extents_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_font_funcs_set_glyph_extents_func(funcs, find_glyph_extents_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_font_funcs_set_glyph_from_name_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_font_funcs_set_glyph_from_name_func(funcs, find_glyph_from_name_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_font_funcs_set_glyph_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_font_funcs_set_glyph_func(funcs, find_glyph_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_font_funcs_set_glyph_name_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_font_funcs_set_glyph_name_func(funcs, find_glyph_name_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_font_funcs_set_glyph_shape_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_font_funcs_set_glyph_shape_func(funcs, find_glyph_shape_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_font_funcs_set_nominal_glyph_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_font_funcs_set_nominal_glyph_func(funcs, find_nominal_glyph_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_font_funcs_set_nominal_glyphs_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_font_funcs_set_nominal_glyphs_func(funcs, find_nominal_glyphs_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT void my_hb_font_funcs_set_variation_glyph_func(x64emu_t* emu, void* funcs, void* func, void* user_data, void* destroy)
+{
+    (void)emu;
+    my->hb_font_funcs_set_variation_glyph_func(funcs, find_variation_glyph_Fct(func), user_data, find_destroy_Fct(destroy));
+}
+
+EXPORT int my_hb_font_funcs_set_user_data(x64emu_t* emu, void* funcs, void* key, void* data, void* destroy, int replace)
+{
+    (void)emu;
+    return (int)my->hb_font_funcs_set_user_data(funcs, key, data, find_destroy_Fct(destroy), replace);
+}
+
+EXPORT int my_hb_font_set_funcs(x64emu_t* emu, void* font, void* klass, void* data, void* destroy)
+{
+    (void)emu;
+    my->hb_font_set_funcs(font, klass, data, find_destroy_Fct(destroy));
+}
+
+EXPORT int my_hb_font_set_funcs_data(x64emu_t* emu, void* font, void* data, void* destroy)
+{
+    (void)emu;
+    my->hb_font_set_funcs_data(font, data, find_destroy_Fct(destroy));
+}
+
+EXPORT int my_hb_font_set_user_data(x64emu_t* emu, void* font, void* key, void* data, void* destroy, int replace)
+{
+    (void)emu;
+    return (int)my->hb_font_set_user_data(font, key, data, find_destroy_Fct(destroy), replace);
+}
+
+#define CUSTOM_INIT \
+    getMy(lib);
+
+#define CUSTOM_FINI \
+    freeMy();
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedlibharfbuzz_private.h b/src/wrapped/wrappedlibharfbuzz_private.h
new file mode 100644
index 00000000..2637f842
--- /dev/null
+++ b/src/wrapped/wrappedlibharfbuzz_private.h
@@ -0,0 +1,443 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh...
+#endif
+
+GO(hb_aat_layout_feature_type_get_name_id, uFpu)
+GO(hb_aat_layout_feature_type_get_selector_infos, uFpuuppp)
+GO(hb_aat_layout_get_feature_types, uFpupp)
+GO(hb_aat_layout_has_positioning, iFp)
+GO(hb_aat_layout_has_substitution, iFp)
+GO(hb_aat_layout_has_tracking, iFp)
+GO(hb_blob_copy_writable_or_fail, pFp)
+GOM(hb_blob_create, pFEpuupp)
+GOM(hb_blob_create_or_fail, pFEpuupp)
+GO(hb_blob_create_from_file, pFp)
+GO(hb_blob_create_from_file_or_fail, pFp)
+GO(hb_blob_create_sub_blob, pFpuu)
+GO(hb_blob_destroy, vFp)
+GO(hb_blob_get_data, pFpp)
+GO(hb_blob_get_data_writable, pFpp)
+GO(hb_blob_get_empty, pFv)
+GO(hb_blob_get_length, uFp)
+GO(hb_blob_get_user_data, pFpp)
+GO(hb_blob_is_immutable, iFp)
+GO(hb_blob_make_immutable, vFp)
+GO(hb_blob_reference, pFp)
+GOM(hb_blob_set_user_data, iFEppppi)
+GO(hb_buffer_add, vFpuu)
+GO(hb_buffer_add_codepoints, vFppiui)
+GO(hb_buffer_add_latin1, vFppiui)
+GO(hb_buffer_add_utf16, vFppiui)
+GO(hb_buffer_add_utf32, vFppiui)
+GO(hb_buffer_add_utf8, vFppiui)
+GO(hb_buffer_allocation_successful, iFp)
+GO(hb_buffer_append, vFppuu)
+GO(hb_buffer_clear_contents, vFp)
+GO(hb_buffer_create, pFv)
+GO(hb_buffer_create_similar, pFp)
+GO(hb_buffer_deserialize_glyphs, iFppippu)
+GO(hb_buffer_deserialize_unicode, iFppipu)
+GO(hb_buffer_destroy, vFp)
+GO(hb_buffer_diff, uFppuu)
+GO(hb_buffer_get_cluster_level, uFp)
+GO(hb_buffer_get_content_type, uFp)
+GO(hb_buffer_get_direction, uFp)
+GO(hb_buffer_get_empty, pFv)
+GO(hb_buffer_get_flags, uFp)
+GO(hb_buffer_get_glyph_infos, pFpp)
+GO(hb_buffer_get_glyph_positions, pFpp)
+GO(hb_buffer_get_invisible_glyph, uFp)
+GO(hb_buffer_get_language, pFp)
+GO(hb_buffer_get_length, uFp)
+GO(hb_buffer_get_not_found_glyph, uFp)
+GO(hb_buffer_get_replacement_codepoint, uFp)
+GO(hb_buffer_get_script, uFp)
+GO(hb_buffer_get_segment_properties, vFpp)
+GO(hb_buffer_get_unicode_funcs, pFp)
+GO(hb_buffer_get_user_data, pFpp)
+GO(hb_buffer_guess_segment_properties, vFp)
+GO(hb_buffer_has_positions, iFp)
+GO(hb_buffer_normalize_glyphs, vFp)
+GO(hb_buffer_pre_allocate, iFpu)
+GO(hb_buffer_reference, pFp)
+GO(hb_buffer_reset, vFp)
+GO(hb_buffer_reverse, vFp)
+GO(hb_buffer_reverse_clusters, vFp)
+GO(hb_buffer_reverse_range, vFpuu)
+GO(hb_buffer_serialize, uFpuupuppuu)
+GO(hb_buffer_serialize_format_from_string, uFpi)
+GO(hb_buffer_serialize_format_to_string, pFu)
+GO(hb_buffer_serialize_glyphs, uFpuupuppuu)
+GO(hb_buffer_serialize_list_formats, pFv)
+GO(hb_buffer_serialize_unicode, uFpuupupuu)
+GO(hb_buffer_set_cluster_level, vFpu)
+GO(hb_buffer_set_content_type, vFpu)
+GO(hb_buffer_set_direction, vFpu)
+GO(hb_buffer_set_flags, vFpu)
+GO(hb_buffer_set_invisible_glyph, vFpu)
+GO(hb_buffer_set_language, vFpp)
+GO(hb_buffer_set_length, iFpu)
+GOM(hb_buffer_set_message_func, vFEpppp)
+GO(hb_buffer_set_not_found_glyph, vFpu)
+GO(hb_buffer_set_replacement_codepoint, vFpu)
+GO(hb_buffer_set_script, vFpu)
+GO(hb_buffer_set_segment_properties, vFpp)
+GO(hb_buffer_set_unicode_funcs, vFpp)
+GOM(hb_buffer_set_user_data, iFEppppi)
+GO(hb_color_get_alpha, CFu)
+GO(hb_color_get_blue, CFu)
+GO(hb_color_get_green, CFu)
+GO(hb_color_get_red, CFu)
+GO(hb_direction_from_string, uFpi)
+GO(hb_direction_to_string, pFu)
+GO(hb_draw_close_path, vFppp)
+GO(hb_draw_cubic_to, vFpppffffff)
+GO(hb_draw_funcs_create, pFv) // No need to reverse.
+GOM(hb_draw_funcs_destroy, vFEp)
+GO(hb_draw_funcs_is_immutable, iFp)
+GO(hb_draw_funcs_make_immutable, vFp)
+GO(hb_draw_funcs_reference, pFp)
+GOM(hb_draw_funcs_set_close_path_func, vFEpppp)
+GOM(hb_draw_funcs_set_cubic_to_func, vFEpppp)
+GOM(hb_draw_funcs_set_line_to_func, vFEpppp)
+GOM(hb_draw_funcs_set_move_to_func, vFEpppp)
+GOM(hb_draw_funcs_set_quadratic_to_func, vFEpppp)
+GO(hb_draw_line_to, vFpppff)
+GO(hb_draw_move_to, vFpppff)
+GO(hb_draw_quadratic_to, vFpppffff)
+GO(hb_face_builder_add_table, iFpup)
+GO(hb_face_builder_create, pFv)
+GO(hb_face_builder_sort_tables, vFpp)
+GO(hb_face_collect_unicodes, vFpp)
+GO(hb_face_collect_variation_selectors, vFpp)
+GO(hb_face_collect_variation_unicodes, vFpup)
+GO(hb_face_count, uFp)
+GO(hb_face_create, pFpu)
+GOM(hb_face_create_for_tables, pFEppp)
+GO(hb_face_destroy, vFp)
+GO(hb_face_get_empty, pFv)
+GO(hb_face_get_glyph_count, uFp)
+GO(hb_face_get_index, uFp)
+GO(hb_face_get_table_tags, uFpupp)
+GO(hb_face_get_upem, uFp)
+GO(hb_face_get_user_data, pFpp)
+GO(hb_face_is_immutable, iFp)
+GO(hb_face_make_immutable, vFp)
+GO(hb_face_reference, pFp)
+GO(hb_face_reference_blob, pFp)
+GO(hb_face_reference_table, pFpu)
+GO(hb_face_set_glyph_count, vFpu)
+GO(hb_face_set_index, vFpu)
+GO(hb_face_set_upem, vFpu)
+GOM(hb_face_set_user_data, iFEppppi)
+GO(hb_feature_from_string, iFpip)
+GO(hb_feature_to_string, vFppu)
+GO(hb_font_add_glyph_origin_for_direction, vFpuupp)
+GO(hb_font_changed, vFp)
+GO(hb_font_create, pFp)
+GO(hb_font_create_sub_font, pFp)
+GO(hb_font_destroy, vFp)
+GO(hb_font_funcs_create, pFv) // No need to reverse.
+GOM(hb_font_funcs_destroy, vFEp)
+GO(hb_font_funcs_get_empty, pFv)
+GO(hb_font_funcs_get_user_data, pFpp)
+GO(hb_font_funcs_is_immutable, iFp)
+GO(hb_font_funcs_make_immutable, vFp)
+GO(hb_font_funcs_reference, pFp)
+GOM(hb_font_funcs_set_font_h_extents_func, vFEpppp)
+GOM(hb_font_funcs_set_font_v_extents_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_h_advance_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_v_advance_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_h_advances_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_v_advances_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_h_kerning_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_v_kerning_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_h_origin_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_v_origin_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_contour_point_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_extents_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_from_name_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_name_func, vFEpppp)
+GOM(hb_font_funcs_set_glyph_shape_func, vFEpppp)
+GOM(hb_font_funcs_set_nominal_glyph_func, vFEpppp)
+GOM(hb_font_funcs_set_nominal_glyphs_func, vFEpppp)
+GOM(hb_font_funcs_set_variation_glyph_func, vFEpppp)
+GOM(hb_font_funcs_set_user_data, iFEppppi)
+GO(hb_font_get_empty, pFv)
+GO(hb_font_get_extents_for_direction, vFpup)
+GO(hb_font_get_face, pFp)
+GO(hb_font_get_glyph, iFpuup)
+GO(hb_font_get_glyph_advance_for_direction, vFpuupp)
+GO(hb_font_get_glyph_advances_for_direction, vFpuupupu)
+GO(hb_font_get_glyph_contour_point, iFpuupp)
+GO(hb_font_get_glyph_contour_point_for_origin, iFpuuupp)
+GO(hb_font_get_glyph_extents, iFpup)
+GO(hb_font_get_glyph_extents_for_origin, iFpuup)
+GO(hb_font_get_glyph_from_name, iFppip)
+GO(hb_font_get_glyph_h_advance, iFpu)
+GO(hb_font_get_glyph_h_advances, vFpupupu)
+GO(hb_font_get_glyph_h_kerning, iFpuu)
+GO(hb_font_get_glyph_h_origin, iFpupp)
+GO(hb_font_get_glyph_kerning_for_direction, vFpuuupp)
+GO(hb_font_get_glyph_name, iFpupu)
+GO(hb_font_get_glyph_origin_for_direction, vFpuupp)
+GO(hb_font_get_glyph_shape, vFpupp)
+GO(hb_font_get_glyph_v_advance, iFpu)
+GO(hb_font_get_glyph_v_advances, vFpupupu)
+GO(hb_font_get_glyph_v_kerning, iFpuu)
+GO(hb_font_get_glyph_v_origin, iFpupp)
+GO(hb_font_get_h_extents, iFpp)
+GO(hb_font_get_nominal_glyph, iFpup)
+GO(hb_font_get_nominal_glyphs, uFpupupu)
+GO(hb_font_get_parent, pFp)
+GO(hb_font_get_ppem, vFppp)
+GO(hb_font_get_ptem, fFp)
+GO(hb_font_get_scale, vFppp)
+GO(hb_font_get_serial, uFp)
+GO(hb_font_get_synthetic_slant, fFp)
+GO(hb_font_get_user_data, pFpp)
+GO(hb_font_get_var_coords_design, pFpp)
+GO(hb_font_get_var_coords_normalized, pFpp)
+GO(hb_font_get_variation_glyph, iFpuup)
+GO(hb_font_get_v_extents, iFpp)
+GO(hb_font_glyph_from_string, iFppip)
+GO(hb_font_glyph_to_string, vFpupu)
+GO(hb_font_is_immutable, iFp)
+GO(hb_font_make_immutable, vFp)
+GO(hb_font_reference, pFp)
+GO(hb_font_set_face, vFpp)
+GOM(hb_font_set_funcs, vFEpppp)
+GOM(hb_font_set_funcs_data, vFEppp)
+GO(hb_font_set_parent, vFpp)
+GO(hb_font_set_ppem, vFpuu)
+GO(hb_font_set_ptem, vFpf)
+GO(hb_font_set_scale, vFpii)
+GO(hb_font_set_synthetic_slant, vFpf)
+GOM(hb_font_set_user_data, iFEppppi)
+GO(hb_font_set_var_coords_design, vFppu)
+GO(hb_font_set_var_coords_normalized, vFppu)
+GO(hb_font_set_variations, vFppu)
+GO(hb_font_set_var_named_instance, vFpu)
+GO(hb_font_subtract_glyph_origin_for_direction, vFpuupp)
+//GO(hb_ft_face_create, 
+GO(hb_ft_face_create_cached, pFp)
+GO(hb_ft_face_create_referenced, pFp)
+GO(hb_ft_font_changed, vFp)
+//GO(hb_ft_font_create, 
+GO(hb_ft_font_create_referenced, pFp)
+GO(hb_ft_font_get_face, pFp)
+GO(hb_ft_font_get_load_flags, iFp)
+GO(hb_ft_font_lock_face, pFp)
+GO(hb_ft_font_set_funcs, vFp)
+GO(hb_ft_font_set_load_flags, vFpi)
+GO(hb_ft_font_unlock_face, vFp)
+GO(hb_ft_hb_font_changed, iFp)
+GO(hb_glib_blob_create, pFp)
+GO(hb_glib_get_unicode_funcs, pFv)
+GO(hb_glib_script_from_script, uFu)
+GO(hb_glib_script_to_script, uFu)
+GO(hb_glyph_info_get_glyph_flags, uFp)
+GO(hb_graphite2_face_get_gr_face, pFp)
+GO(hb_graphite2_font_get_gr_font, pFp)
+GO(hb_language_from_string, pFpi)
+GO(hb_language_get_default, pFv)
+GO(hb_language_matches, iFpp)
+GO(hb_language_to_string, pFp)
+GO(hb_map_allocation_successful, iFp)
+GO(hb_map_clear, vFp)
+GO(hb_map_copy, pFp)
+GO(hb_map_create, pFv)
+GO(hb_map_del, vFpu)
+GO(hb_map_destroy, vFp)
+GO(hb_map_get, uFpu)
+GO(hb_map_get_empty, pFv)
+GO(hb_map_get_population, uFp)
+GO(hb_map_get_user_data, pFpp)
+GO(hb_map_has, iFpu)
+GO(hb_map_hash, uFp)
+GO(hb_map_is_empty, iFp)
+GO(hb_map_is_equal, iFpp)
+GO(hb_map_reference, pFp)
+GO(hb_map_set, vFpuu)
+//GO(hb_map_set_user_data, 
+GO(hb_ot_color_glyph_get_layers, uFpuupp)
+GO(hb_ot_color_glyph_reference_png, pFpu)
+GO(hb_ot_color_glyph_reference_svg, pFpu)
+GO(hb_ot_color_has_layers, iFp)
+GO(hb_ot_color_has_palettes, iFp)
+GO(hb_ot_color_has_png, iFp)
+GO(hb_ot_color_has_svg, iFp)
+GO(hb_ot_color_palette_color_get_name_id, uFpu)
+GO(hb_ot_color_palette_get_colors, uFpuupp)
+GO(hb_ot_color_palette_get_count, uFp)
+GO(hb_ot_color_palette_get_flags, uFpu)
+GO(hb_ot_color_palette_get_name_id, uFpu)
+GO(hb_ot_font_set_funcs, vFp)
+GO(hb_ot_layout_collect_features, vFpupppp)
+GO(hb_ot_layout_collect_lookups, vFpupppp)
+GO(hb_ot_layout_feature_get_characters, uFpuuupp)
+GO(hb_ot_layout_feature_get_lookups, uFpuuupp)
+GO(hb_ot_layout_feature_get_name_ids, iFpuuppppp)
+GO(hb_ot_layout_feature_with_variations_get_lookups, uFpuuuupp)
+GO(hb_ot_layout_get_attach_points, uFpuupp)
+GO(hb_ot_layout_get_baseline, iFpuuuup)
+GO(hb_ot_layout_get_baseline_with_fallback, vFpuuuup)
+GO(hb_ot_layout_get_glyph_class, uFpu)
+GO(hb_ot_layout_get_glyphs_in_class, vFpup)
+GO(hb_ot_layout_get_horizontal_baseline_tag_for_script, uFu)
+GO(hb_ot_layout_get_ligature_carets, uFpuuupp)
+GO(hb_ot_layout_get_size_params, iFpppppp)
+GO(hb_ot_layout_has_glyph_classes, iFp)
+GO(hb_ot_layout_has_positioning, iFp)
+GO(hb_ot_layout_has_substitution, iFp)
+GO(hb_ot_layout_language_find_feature, iFpuuuup)
+GO(hb_ot_layout_language_get_feature_indexes, uFpuuuupp)
+GO(hb_ot_layout_language_get_feature_tags, uFpuuuupp)
+GO(hb_ot_layout_language_get_required_feature, iFpuuupp)
+GO(hb_ot_layout_language_get_required_feature_index, iFpuuup)
+GO(hb_ot_layout_lookup_collect_glyphs, vFpuupppp)
+GO(hb_ot_layout_lookup_get_glyph_alternates, uFpuuupp)
+GO(hb_ot_layout_lookup_get_optical_bound, iFpuuu)
+GO(hb_ot_layout_lookups_substitute_closure, vFppp)
+GO(hb_ot_layout_lookup_substitute_closure, vFpup)
+GO(hb_ot_layout_lookup_would_substitute, iFpupui)
+GO(hb_ot_layout_script_find_language, iFpuuup)
+GO(hb_ot_layout_script_get_language_tags, uFpuuupp)
+GO(hb_ot_layout_script_select_language, iFpuuupp)
+GO(hb_ot_layout_table_choose_script, iFpuppp)
+GO(hb_ot_layout_table_find_feature_variations, iFpupup)
+GO(hb_ot_layout_table_find_script, iFpuup)
+GO(hb_ot_layout_table_get_feature_tags, uFpuupp)
+GO(hb_ot_layout_table_get_lookup_count, uFpu)
+GO(hb_ot_layout_table_get_script_tags, uFpuupp)
+GO(hb_ot_layout_table_select_script, iFpuuppp)
+GO(hb_ot_math_get_constant, iFpu)
+GO(hb_ot_math_get_glyph_assembly, uFpuuuppp)
+GO(hb_ot_math_get_glyph_italics_correction, iFpu)
+GO(hb_ot_math_get_glyph_kerning, iFpuui)
+GO(hb_ot_math_get_glyph_kernings, uFpuuupp)
+GO(hb_ot_math_get_glyph_top_accent_attachment, iFpu)
+GO(hb_ot_math_get_glyph_variants, uFpuuupp)
+GO(hb_ot_math_get_min_connector_overlap, iFpu)
+GO(hb_ot_math_has_data, iFp)
+GO(hb_ot_math_is_glyph_extended_shape, iFpu)
+GO(hb_ot_meta_get_entry_tags, uFpupp)
+GO(hb_ot_meta_reference_entry, pFpu)
+GO(hb_ot_metrics_get_position, iFpup)
+GO(hb_ot_metrics_get_position_with_fallback, vFpup)
+GO(hb_ot_metrics_get_variation, fFpu)
+GO(hb_ot_metrics_get_x_variation, iFpu)
+GO(hb_ot_metrics_get_y_variation, iFpu)
+GO(hb_ot_name_get_utf16, uFpuppp)
+GO(hb_ot_name_get_utf32, uFpuppp)
+GO(hb_ot_name_get_utf8, uFpuppp)
+GO(hb_ot_name_list_names, pFpp)
+GO(hb_ot_shape_glyphs_closure, vFpppup)
+GO(hb_ot_shape_plan_collect_lookups, vFpup)
+GO(hb_ot_tag_from_language, uFp)
+GO(hb_ot_tags_from_script, vFupp)
+GO(hb_ot_tags_from_script_and_language, vFuppppp)
+GO(hb_ot_tags_to_script_and_language, vFuupp)
+GO(hb_ot_tag_to_language, pFu)
+GO(hb_ot_tag_to_script, uFu)
+GO(hb_ot_var_find_axis, iFpupp)
+GO(hb_ot_var_find_axis_info, iFpup)
+GO(hb_ot_var_get_axes, uFpupp)
+GO(hb_ot_var_get_axis_count, uFp)
+GO(hb_ot_var_get_axis_infos, uFpupp)
+GO(hb_ot_var_get_named_instance_count, uFp)
+GO(hb_ot_var_has_data, iFp)
+GO(hb_ot_var_named_instance_get_design_coords, uFpupp)
+GO(hb_ot_var_named_instance_get_postscript_name_id, uFpu)
+GO(hb_ot_var_named_instance_get_subfamily_name_id, uFpu)
+GO(hb_ot_var_normalize_coords, vFpupp)
+GO(hb_ot_var_normalize_variations, vFppupu)
+GO(hb_script_from_iso15924_tag, uFu)
+GO(hb_script_from_string, uFpi)
+GO(hb_script_get_horizontal_direction, uFu)
+GO(hb_script_to_iso15924_tag, uFu)
+GO(hb_segment_properties_equal, iFpp)
+GO(hb_segment_properties_hash, uFp)
+GO(hb_segment_properties_overlay, vFpp)
+GO(hb_set_add, vFpu)
+GO(hb_set_add_range, vFpuu)
+GO(hb_set_add_sorted_array, vFppu)
+GO(hb_set_allocation_successful, iFp)
+GO(hb_set_clear, vFp)
+GO(hb_set_copy, pFp)
+GO(hb_set_create, pFv)
+GO(hb_set_del, vFpu)
+GO(hb_set_del_range, vFpuu)
+GO(hb_set_destroy, vFp)
+GO(hb_set_get_empty, pFv)
+GO(hb_set_get_max, uFp)
+GO(hb_set_get_min, uFp)
+GO(hb_set_get_population, uFp)
+GO(hb_set_get_user_data, pFpp)
+GO(hb_set_has, iFpu)
+GO(hb_set_hash, uFp)
+GO(hb_set_intersect, vFpp)
+GO(hb_set_invert, vFp)
+GO(hb_set_is_empty, iFp)
+GO(hb_set_is_equal, iFpp)
+GO(hb_set_is_subset, iFpp)
+GO(hb_set_next, iFpp)
+GO(hb_set_next_many, uFpupu)
+GO(hb_set_next_range, iFppp)
+GO(hb_set_previous, iFpp)
+GO(hb_set_previous_range, iFppp)
+GO(hb_set_reference, pFp)
+GO(hb_set_set, vFpp)
+//GO(hb_set_set_user_data, 
+GO(hb_set_subtract, vFpp)
+GO(hb_set_symmetric_difference, vFpp)
+GO(hb_set_union, vFpp)
+GO(hb_shape, vFpppu)
+GO(hb_shape_full, iFpppup)
+GO(hb_shape_list_shapers, pFv)
+GO(hb_shape_plan_create, pFpppup)
+GO(hb_shape_plan_create2, pFpppupup)
+GO(hb_shape_plan_create_cached, pFpppup)
+GO(hb_shape_plan_create_cached2, pFpppupup)
+GO(hb_shape_plan_destroy, vFp)
+GO(hb_shape_plan_execute, iFppppu)
+GO(hb_shape_plan_get_empty, pFv)
+GO(hb_shape_plan_get_shaper, pFp)
+GO(hb_shape_plan_get_user_data, pFpp)
+GO(hb_shape_plan_reference, pFp)
+//GO(hb_shape_plan_set_user_data, 
+GO(hb_style_get_value, fFpu)
+GO(hb_tag_from_string, uFpi)
+GO(hb_tag_to_string, vFup)
+GO(hb_unicode_combining_class, uFpu)
+GO(hb_unicode_compose, iFpuup)
+GO(hb_unicode_decompose, iFpupp)
+GO(hb_unicode_decompose_compatibility, uFpup)
+GO(hb_unicode_eastasian_width, uFpu)
+GO(hb_unicode_funcs_create, pFp)
+GO(hb_unicode_funcs_destroy, vFp)
+GO(hb_unicode_funcs_get_default, pFv)
+GO(hb_unicode_funcs_get_empty, pFv)
+GO(hb_unicode_funcs_get_parent, pFp)
+GO(hb_unicode_funcs_get_user_data, pFpp)
+GO(hb_unicode_funcs_is_immutable, iFp)
+GO(hb_unicode_funcs_make_immutable, vFp)
+GOM(hb_unicode_funcs_reference, pFEp)
+GOM(hb_unicode_funcs_set_combining_class_func, vFEpppp)
+GOM(hb_unicode_funcs_set_compose_func, vFEpppp)
+GOM(hb_unicode_funcs_set_decompose_compatibility_func, vFEpppp)
+GOM(hb_unicode_funcs_set_decompose_func, vFEpppp)
+GOM(hb_unicode_funcs_set_eastasian_width_func, vFEpppp)
+GOM(hb_unicode_funcs_set_general_category_func, vFEpppp)
+GOM(hb_unicode_funcs_set_mirroring_func, vFEpppp)
+GOM(hb_unicode_funcs_set_script_func, vFEpppp)
+GOM(hb_unicode_funcs_set_user_data, iFEppppi)
+GO(hb_unicode_general_category, uFpu)
+GO(hb_unicode_mirroring, uFpu)
+GO(hb_unicode_script, uFpu)
+GO(hb_variation_from_string, iFpip)
+GO(hb_variation_to_string, vFppu)
+GO(hb_version, vFppp)
+GO(hb_version_atleast, iFuuu)
+GO(hb_version_string, pFv)
diff --git a/src/wrapped/wrappedlibibus.c b/src/wrapped/wrappedlibibus.c
index 95ea0f81..22d83a2c 100644
--- a/src/wrapped/wrappedlibibus.c
+++ b/src/wrapped/wrappedlibibus.c
@@ -38,7 +38,7 @@ GO(3)
 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);\
+    RunFunctionFmt(my_GAsyncReadyCallback_fct_##A, "ppp", source, res, data);\
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedlibpcre.c b/src/wrapped/wrappedlibpcre.c
index 1175f7dd..9d3b606c 100644
--- a/src/wrapped/wrappedlibpcre.c
+++ b/src/wrapped/wrappedlibpcre.c
@@ -20,7 +20,7 @@ typedef void  (*pcre_free_t)(void *);
 EXPORT uintptr_t my_pcre_free;
 
 void wrapped_pcre_free(void* p) {
-    RunFunction(my_context, my_pcre_free, 1, p);
+    RunFunctionFmt(my_pcre_free, "p", p);
 }
 EXPORT pcre_free_t pcre_free = wrapped_pcre_free;
 
diff --git a/src/wrapped/wrappedlibrt.c b/src/wrapped/wrappedlibrt.c
index 29fa375c..f89d353f 100644
--- a/src/wrapped/wrappedlibrt.c
+++ b/src/wrapped/wrappedlibrt.c
@@ -40,7 +40,7 @@ GO(3)
 static uintptr_t my_sigev_notify_fct_##A = 0;   \
 static void my_sigev_notify_##A(void* sigval)    \
 {                                       \
-    RunFunction(my_context, my_sigev_notify_fct_##A, 1, sigval);\
+    RunFunctionFmt(my_sigev_notify_fct_##A, "p", sigval);\
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedlibsm.c b/src/wrapped/wrappedlibsm.c
index daf095b7..1ab0c30f 100644
--- a/src/wrapped/wrappedlibsm.c
+++ b/src/wrapped/wrappedlibsm.c
@@ -54,25 +54,25 @@ typedef struct my_SmcCallbacks_s {
 static uintptr_t my_save_yourself_fct = 0;
 static void my_save_yourself(void* smcConn, void* clientData, int saveType, int shutdown, int interactStyle, int fast)
 {
-    RunFunction(my_context, my_save_yourself_fct, 6, smcConn, clientData, saveType, shutdown, interactStyle, fast);
+    RunFunctionFmt(my_save_yourself_fct, "ppiiii", smcConn, clientData, saveType, shutdown, interactStyle, fast);
 }
 
 static uintptr_t my_die_fct = 0;
 static void my_die(void* smcConn, void* clientData)
 {
-    RunFunction(my_context, my_die_fct, 2, smcConn, clientData);
+    RunFunctionFmt(my_die_fct, "pp", smcConn, clientData);
 }
 
 static uintptr_t my_shutdown_cancelled_fct = 0;
 static void my_shutdown_cancelled(void* smcConn, void* clientData)
 {
-    RunFunction(my_context, my_shutdown_cancelled_fct, 2, smcConn, clientData);
+    RunFunctionFmt(my_shutdown_cancelled_fct, "pp", smcConn, clientData);
 }
 
 static uintptr_t my_save_complete_fct = 0;
 static void my_save_complete(void* smcConn, void* clientData)
 {
-    RunFunction(my_context, my_save_complete_fct, 2, smcConn, clientData);
+    RunFunctionFmt(my_save_complete_fct, "pp", smcConn, clientData);
 }
 
 
@@ -102,7 +102,7 @@ GO(4)
 static uintptr_t my_Request_fct_##A = 0;        \
 static void my_Request_##A(void* a, void* b)     \
 {                                               \
-    RunFunction(my_context, my_Request_fct_##A, 2, a, b);\
+    RunFunctionFmt(my_Request_fct_##A, "pp", a, b);\
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedlibsndfile.c b/src/wrapped/wrappedlibsndfile.c
index 37660663..bbb11b56 100644
--- a/src/wrapped/wrappedlibsndfile.c
+++ b/src/wrapped/wrappedlibsndfile.c
@@ -38,7 +38,7 @@ GO(4)
 static uintptr_t my_sf_vio_get_filelen_fct_##A = 0;                                 \
 static int64_t my_sf_vio_get_filelen_##A(void* a)                                   \
 {                                                                                   \
-    return (int64_t)RunFunction(my_context, my_sf_vio_get_filelen_fct_##A, 1, a);   \
+    return (int64_t)RunFunctionFmt(my_sf_vio_get_filelen_fct_##A, "p", a);   \
 }
 SUPER()
 #undef GO
@@ -60,7 +60,7 @@ static void* find_sf_vio_get_filelen_Fct(void* fct)
 static uintptr_t my_sf_vio_seek_fct_##A = 0;                                                        \
 static int64_t my_sf_vio_seek_##A(int64_t offset, int whence, void *user_data)                      \
 {                                                                                                   \
-    return (int64_t)RunFunction(my_context, my_sf_vio_seek_fct_##A, 3, offset, whence, user_data);  \
+    return (int64_t)RunFunctionFmt(my_sf_vio_seek_fct_##A, "Iip", offset, whence, user_data);  \
 }
 SUPER()
 #undef GO
@@ -82,7 +82,7 @@ static void* find_sf_vio_seek_Fct(void* fct)
 static uintptr_t my_sf_vio_read_fct_##A = 0;                                                    \
 static int64_t my_sf_vio_read_##A(void* ptr, int64_t count, void *user_data)                    \
 {                                                                                               \
-    return (int64_t)RunFunction(my_context, my_sf_vio_read_fct_##A, 3, ptr, count, user_data);  \
+    return (int64_t)RunFunctionFmt(my_sf_vio_read_fct_##A, "pIp", ptr, count, user_data);  \
 }
 SUPER()
 #undef GO
@@ -104,7 +104,7 @@ static void* find_sf_vio_read_Fct(void* fct)
 static uintptr_t my_sf_vio_write_fct_##A = 0;                                                   \
 static int64_t my_sf_vio_write_##A(const void* ptr, int64_t count, void *user_data)             \
 {                                                                                               \
-    return (int64_t)RunFunction(my_context, my_sf_vio_write_fct_##A, 3, ptr, count, user_data); \
+    return (int64_t)RunFunctionFmt(my_sf_vio_write_fct_##A, "pIp", ptr, count, user_data); \
 }
 SUPER()
 #undef GO
@@ -126,7 +126,7 @@ static void* find_sf_vio_write_Fct(void* fct)
 static uintptr_t my_sf_vio_tell_fct_##A = 0;                                \
 static int64_t my_sf_vio_tell_##A(void* a)                                  \
 {                                                                           \
-    return (int64_t)RunFunction(my_context, my_sf_vio_tell_fct_##A, 1, a);  \
+    return (int64_t)RunFunctionFmt(my_sf_vio_tell_fct_##A, "p", a);  \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedlibssl.c b/src/wrapped/wrappedlibssl.c
index 14f28ae9..056c2ef9 100644
--- a/src/wrapped/wrappedlibssl.c
+++ b/src/wrapped/wrappedlibssl.c
@@ -41,7 +41,7 @@ GO(4)
 static uintptr_t my_pem_passwd_cb_fct_##A = 0;                                                      \
 static int my_pem_passwd_cb_##A(void* buf, int size, int rwflag, void* password)                    \
 {                                                                                                   \
-    return (int)RunFunction(my_context, my_pem_passwd_cb_fct_##A, 4, buf, size, rwflag, password);  \
+    return (int)RunFunctionFmt(my_pem_passwd_cb_fct_##A, "piip", buf, size, rwflag, password);  \
 }
 SUPER()
 #undef GO
@@ -65,7 +65,7 @@ static void* find_pem_passwd_cb_Fct(void* fct)
 static uintptr_t my_anonymous_fct_##A = 0;                                      \
 static void* my_anonymous_##A(void* a, void* b, void* c, void *d)               \
 {                                                                               \
-    return (void*)RunFunction(my_context, my_anonymous_fct_##A, 4, a, b, c, d);   \
+    return (void*)RunFunctionFmt(my_anonymous_fct_##A, "pppp", a, b, c, d);   \
 }
 SUPER()
 #undef GO
@@ -90,7 +90,7 @@ static void* find_anonymous_Fct(void* fct)
 static uintptr_t my_verify_fct_##A = 0;                                 \
 static int my_verify_##A(int a, void* b)                                \
 {                                                                       \
-    return (int)RunFunction(my_context, my_verify_fct_##A, 2, a, b);    \
+    return (int)RunFunctionFmt(my_verify_fct_##A, "ip", a, b);    \
 }
 SUPER()
 #undef GO
@@ -124,7 +124,7 @@ static void* reverse_verify_Fct(void* fct)
 static uintptr_t my_ex_new_fct_##A = 0;                                                        \
 static void my_ex_new_##A(void* parent, void* ptr, void* ad, int idx, long argl, void* argp)   \
 {                                                                                           \
-    RunFunction(my_context, my_ex_new_fct_##A, 6, parent, ptr, ad, idx, argl, argp);           \
+    RunFunctionFmt(my_ex_new_fct_##A, "pppilp", parent, ptr, ad, idx, argl, argp);           \
 }
 SUPER()
 #undef GO
@@ -148,7 +148,7 @@ static void* find_ex_new_Fct(void* fct)
 static uintptr_t my_ex_free_fct_##A = 0;                                                        \
 static void my_ex_free_##A(void* parent, void* ptr, void* ad, int idx, long argl, void* argp)   \
 {                                                                                               \
-    RunFunction(my_context, my_ex_free_fct_##A, 6, parent, ptr, ad, idx, argl, argp);           \
+    RunFunctionFmt(my_ex_free_fct_##A, "pppilp", parent, ptr, ad, idx, argl, argp);           \
 }
 SUPER()
 #undef GO
@@ -172,7 +172,7 @@ static void* find_ex_free_Fct(void* fct)
 static uintptr_t my_ex_dup_fct_##A = 0;                                                             \
 static int my_ex_dup_##A(void* to, void* from, void* from_d, int idx, long argl, void* argp)        \
 {                                                                                                   \
-    return (int) RunFunction(my_context, my_ex_dup_fct_##A, 6, to, from, from_d, idx, argl, argp);  \
+    return (int) RunFunctionFmt(my_ex_dup_fct_##A, "pppilp", to, from, from_d, idx, argl, argp);  \
 }
 SUPER()
 #undef GO
@@ -196,7 +196,7 @@ static void* find_ex_dup_Fct(void* fct)
 static uintptr_t my_client_cb_fct_##A = 0;                                                                              \
 static uint32_t my_client_cb_##A(void* ssl, void* hint, void* identity, uint32_t id_len, void* psk, uint32_t psk_len)   \
 {                                                                                                                       \
-    return RunFunction(my_context, my_client_cb_fct_##A, 6, ssl, hint, identity, id_len, psk, psk_len);                 \
+    return RunFunctionFmt(my_client_cb_fct_##A, "pppupu", ssl, hint, identity, id_len, psk, psk_len);                 \
 }
 SUPER()
 #undef GO
@@ -215,12 +215,86 @@ static void* find_client_cb_Fct(void* fct)
     return NULL;
 }
 
+
+// server_cb
+#define GO(A)   \
+static uintptr_t my_server_cb_fct_##A = 0;                                                  \
+static uint32_t my_server_cb_##A(void* ssl, void* identity, void* psk, uint32_t psk_len)    \
+{                                                                                           \
+    return RunFunctionFmt(my_server_cb_fct_##A, "pppu", ssl, identity, psk, psk_len);    \
+}
+SUPER()
+#undef GO
+static void* find_server_cb_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_server_cb_fct_##A == (uintptr_t)fct) return my_server_cb_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_server_cb_fct_##A == 0) {my_server_cb_fct_##A = (uintptr_t)fct; return my_server_cb_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL server_cb callback\n");
+    return NULL;
+}
+
+
+// use_session_cb
+#define GO(A)   \
+static uintptr_t my_use_session_cb_fct_##A = 0;                                                         \
+static uint32_t my_use_session_cb_##A(void* ssl, void* md, void* id, void* id_len, void* sess)          \
+{                                                                                                       \
+    return RunFunctionFmt(my_use_session_cb_fct_##A, "ppppp", ssl, md, id, id_len, sess);   \
+}
+SUPER()
+#undef GO
+static void* find_use_session_cb_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_use_session_cb_fct_##A == (uintptr_t)fct) return my_use_session_cb_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_use_session_cb_fct_##A == 0) {my_use_session_cb_fct_##A = (uintptr_t)fct; return my_use_session_cb_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL use_session_cb callback\n");
+    return NULL;
+}
+
+// sess
+#define GO(A)   \
+static uintptr_t my_sess_fct_##A = 0;                                   \
+static uint32_t my_sess_##A(void* ssl, void* sess)                      \
+{                                                                       \
+    return RunFunctionFmt(my_sess_fct_##A, "pp", ssl, sess);\
+}
+SUPER()
+#undef GO
+static void* find_sess_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_sess_fct_##A == (uintptr_t)fct) return my_sess_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_sess_fct_##A == 0) {my_sess_fct_##A = (uintptr_t)fct; return my_sess_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL sess callback\n");
+    return NULL;
+}
+
 // proto_select
 #define GO(A)   \
 static uintptr_t my_proto_select_fct_##A = 0;                                                           \
 static int my_proto_select_##A(void* s, void* out, void* outlen, void* in, uint32_t inlen, void* arg)   \
 {                                                                                                       \
-    return (int)RunFunction(my_context, my_proto_select_fct_##A, 6, s, out, outlen, in, inlen, arg);    \
+    return (int)RunFunctionFmt(my_proto_select_fct_##A, "ppppup", s, out, outlen, in, inlen, arg);    \
 }
 SUPER()
 #undef GO
@@ -244,7 +318,7 @@ static void* find_proto_select_Fct(void* fct)
 static uintptr_t my_client_cert_fct_##A = 0;                                    \
 static int my_client_cert_##A(void* a, void* b, void* c)                        \
 {                                                                               \
-    return (int)RunFunction(my_context, my_client_cert_fct_##A, 3, a, b, c);    \
+    return (int)RunFunctionFmt(my_client_cert_fct_##A, "ppp", a, b, c);    \
 }
 SUPER()
 #undef GO
@@ -263,12 +337,61 @@ static void* find_client_cert_Fct(void* fct)
     return NULL;
 }
 
+// cookie_generate
+#define GO(A)   \
+static uintptr_t my_cookie_generate_fct_##A = 0;            \
+static int my_cookie_generate_##A(void* a, void* b, void* c)\
+{                                                           \
+    return (int)RunFunctionFmt(my_cookie_generate_fct_##A, "ppp", a, b, c); \
+}
+SUPER()
+#undef GO
+static void* find_cookie_generate_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_cookie_generate_fct_##A == (uintptr_t)fct) return my_cookie_generate_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_cookie_generate_fct_##A == 0) {my_cookie_generate_fct_##A = (uintptr_t)fct; return my_cookie_generate_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL cookie_generate callback\n");
+    return NULL;
+}
+
+
+// cookie_verify
+#define GO(A)   \
+static uintptr_t my_cookie_verify_fct_##A = 0;                  \
+static int my_cookie_verify_##A(void* a, void* b, uint32_t c)   \
+{                                                               \
+    return (int)RunFunctionFmt(my_cookie_verify_fct_##A, "ppu", a, b, c);   \
+}
+SUPER()
+#undef GO
+static void* find_cookie_verify_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_cookie_verify_fct_##A == (uintptr_t)fct) return my_cookie_verify_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_cookie_verify_fct_##A == 0) {my_cookie_verify_fct_##A = (uintptr_t)fct; return my_cookie_verify_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL cookie_verify callback\n");
+    return NULL;
+}
+
 // alpn_select
 #define GO(A)   \
 static uintptr_t my_alpn_select_fct_##A = 0;                                            \
 static int my_alpn_select_##A(void* a, void* b, void* c, void* d, uint32_t e, void* f)  \
 {                                                                                       \
-    return (int)RunFunction(my_context, my_alpn_select_fct_##A, 6, a, b, c, d, e, f);   \
+    return (int)RunFunctionFmt(my_alpn_select_fct_##A, "ppppup", a, b, c, d, e, f);   \
 }
 SUPER()
 #undef GO
@@ -331,6 +454,24 @@ EXPORT void my_SSL_set_psk_client_callback(x64emu_t* emu, void* ctx, void* cb)
     my->SSL_set_psk_client_callback(ctx, find_client_cb_Fct(cb));
 }
 
+EXPORT void my_SSL_set_psk_server_callback(x64emu_t* emu, void* ctx, void* cb)
+{
+    (void)emu;
+    my->SSL_set_psk_server_callback(ctx, find_client_cb_Fct(cb));
+}
+
+EXPORT void my_SSL_set_psk_use_session_callback(x64emu_t* emu, void* ctx, void* cb)
+{
+    (void)emu;
+    my->SSL_set_psk_use_session_callback(ctx, find_use_session_cb_Fct(cb));
+}
+
+EXPORT void my_SSL_CTX_sess_set_new_cb(x64emu_t* emu, void* ctx, void* cb)
+{
+    (void)emu;
+    my->SSL_CTX_sess_set_new_cb(ctx, find_sess_Fct(cb));
+}
+
 EXPORT void my_SSL_CTX_set_next_proto_select_cb(x64emu_t* emu, void* ctx, void* cb, void* arg)
 {
     (void)emu;
@@ -355,6 +496,18 @@ EXPORT void my_SSL_CTX_set_client_cert_cb(x64emu_t* emu, void* ctx, void* cb)
     my->SSL_CTX_set_client_cert_cb(ctx, find_client_cert_Fct(cb));
 }
 
+EXPORT void my_SSL_CTX_set_cookie_generate_cb(x64emu_t* emu, void* ctx, void* cb)
+{
+    (void)emu;
+    my->SSL_CTX_set_cookie_generate_cb(ctx, find_cookie_generate_Fct(cb));
+}
+
+EXPORT void my_SSL_CTX_set_cookie_verify_cb(x64emu_t* emu, void* ctx, void* cb)
+{
+    (void)emu;
+    my->SSL_CTX_set_cookie_verify_cb(ctx, find_cookie_verify_Fct(cb));
+}
+
 EXPORT void my_SSL_CTX_set_alpn_select_cb(x64emu_t* emu, void* ctx, void* f ,void* arg)
 {
     (void)emu;
diff --git a/src/wrapped/wrappedlibssl3.c b/src/wrapped/wrappedlibssl3.c
index 88c758d9..23d2e3b5 100644
--- a/src/wrapped/wrappedlibssl3.c
+++ b/src/wrapped/wrappedlibssl3.c
@@ -37,7 +37,7 @@ GO(4)
 static uintptr_t my3_pem_passwd_cb_fct_##A = 0;                                                      \
 static int my3_pem_passwd_cb_##A(void* buf, int size, int rwflag, void* password)                    \
 {                                                                                                   \
-    return (int)RunFunction(my_context, my3_pem_passwd_cb_fct_##A, 4, buf, size, rwflag, password);  \
+    return (int)RunFunctionFmt(my3_pem_passwd_cb_fct_##A, "piip", buf, size, rwflag, password);  \
 }
 SUPER()
 #undef GO
@@ -61,7 +61,7 @@ static void* find_pem_passwd_cb_Fct(void* fct)
 static uintptr_t my3_anonymous_fct_##A = 0;                                      \
 static void* my3_anonymous_##A(void* a, void* b, void* c, void *d)               \
 {                                                                               \
-    return (void*)RunFunction(my_context, my3_anonymous_fct_##A, 4, a, b, c, d);   \
+    return (void*)RunFunctionFmt(my3_anonymous_fct_##A, "pppp", a, b, c, d);   \
 }
 SUPER()
 #undef GO
@@ -86,7 +86,7 @@ static void* find_anonymous_Fct(void* fct)
 static uintptr_t my3_verify_fct_##A = 0;                                 \
 static int my3_verify_##A(int a, void* b)                                \
 {                                                                       \
-    return (int)RunFunction(my_context, my3_verify_fct_##A, 2, a, b);    \
+    return (int)RunFunctionFmt(my3_verify_fct_##A, "ip", a, b);    \
 }
 SUPER()
 #undef GO
@@ -120,7 +120,7 @@ static void* reverse_verify_Fct(void* fct)
 static uintptr_t my3_ex_new_fct_##A = 0;                                                        \
 static void my3_ex_new_##A(void* parent, void* ptr, void* ad, int idx, long argl, void* argp)   \
 {                                                                                           \
-    RunFunction(my_context, my3_ex_new_fct_##A, 6, parent, ptr, ad, idx, argl, argp);           \
+    RunFunctionFmt(my3_ex_new_fct_##A, "pppilp", parent, ptr, ad, idx, argl, argp);           \
 }
 SUPER()
 #undef GO
@@ -144,7 +144,7 @@ static void* find_ex_new_Fct(void* fct)
 static uintptr_t my3_ex_free_fct_##A = 0;                                                        \
 static void my3_ex_free_##A(void* parent, void* ptr, void* ad, int idx, long argl, void* argp)   \
 {                                                                                               \
-    RunFunction(my_context, my3_ex_free_fct_##A, 6, parent, ptr, ad, idx, argl, argp);           \
+    RunFunctionFmt(my3_ex_free_fct_##A, "pppilp", parent, ptr, ad, idx, argl, argp);           \
 }
 SUPER()
 #undef GO
@@ -168,7 +168,7 @@ static void* find_ex_free_Fct(void* fct)
 static uintptr_t my3_ex_dup_fct_##A = 0;                                                             \
 static int my3_ex_dup_##A(void* to, void* from, void* from_d, int idx, long argl, void* argp)        \
 {                                                                                                   \
-    return (int) RunFunction(my_context, my3_ex_dup_fct_##A, 6, to, from, from_d, idx, argl, argp);  \
+    return (int) RunFunctionFmt(my3_ex_dup_fct_##A, "pppilp", to, from, from_d, idx, argl, argp);  \
 }
 SUPER()
 #undef GO
@@ -192,7 +192,7 @@ static void* find_ex_dup_Fct(void* fct)
 static uintptr_t my3_client_cb_fct_##A = 0;                                                                              \
 static uint32_t my3_client_cb_##A(void* ssl, void* hint, void* identity, uint32_t id_len, void* psk, uint32_t psk_len)   \
 {                                                                                                                       \
-    return RunFunction(my_context, my3_client_cb_fct_##A, 6, ssl, hint, identity, id_len, psk, psk_len);                 \
+    return RunFunctionFmt(my3_client_cb_fct_##A, "pppupu", ssl, hint, identity, id_len, psk, psk_len);                 \
 }
 SUPER()
 #undef GO
@@ -216,7 +216,7 @@ static void* find_client_cb_Fct(void* fct)
 static uintptr_t my3_proto_select_fct_##A = 0;                                                           \
 static int my3_proto_select_##A(void* s, void* out, void* outlen, void* in, uint32_t inlen, void* arg)   \
 {                                                                                                       \
-    return (int)RunFunction(my_context, my3_proto_select_fct_##A, 6, s, out, outlen, in, inlen, arg);    \
+    return (int)RunFunctionFmt(my3_proto_select_fct_##A, "ppppup", s, out, outlen, in, inlen, arg);    \
 }
 SUPER()
 #undef GO
@@ -240,7 +240,7 @@ static void* find_proto_select_Fct(void* fct)
 static uintptr_t my3_client_cert_fct_##A = 0;                                    \
 static int my3_client_cert_##A(void* a, void* b, void* c)                        \
 {                                                                               \
-    return (int)RunFunction(my_context, my3_client_cert_fct_##A, 3, a, b, c);    \
+    return (int)RunFunctionFmt(my3_client_cert_fct_##A, "ppp", a, b, c);    \
 }
 SUPER()
 #undef GO
@@ -259,6 +259,30 @@ static void* find_client_cert_Fct(void* fct)
     return NULL;
 }
 
+// alpn_select_cb
+#define GO(A)   \
+static uintptr_t my3_alpn_select_cb_fct_##A = 0;                                                    \
+static int my3_alpn_select_cb_##A(void* a, void* b, void* c, void* d, uint32_t e, void* f)          \
+{                                                                                                   \
+    return (int)RunFunctionFmt(my3_alpn_select_cb_fct_##A, "ppppup", a, b, c, d, e, f); \
+}
+SUPER()
+#undef GO
+static void* find_alpn_select_cb_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_alpn_select_cb_fct_##A == (uintptr_t)fct) return my3_alpn_select_cb_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_alpn_select_cb_fct_##A == 0) {my3_alpn_select_cb_fct_##A = (uintptr_t)fct; return my3_alpn_select_cb_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL alpn_select_cb callback\n");
+    return NULL;
+}
+
 #undef SUPER
 
 EXPORT void my3_SSL_CTX_set_default_passwd_cb(x64emu_t* emu, void* ctx, void* cb)
@@ -327,6 +351,11 @@ EXPORT void my3_SSL_CTX_set_client_cert_cb(x64emu_t* emu, void* ctx, void* cb)
     my->SSL_CTX_set_client_cert_cb(ctx, find_client_cert_Fct(cb));
 }
 
+EXPORT void my3_SSL_CTX_set_alpn_select_cb(x64emu_t* emu, void* ctx, void* f, void* arg)
+{
+    my->SSL_CTX_set_alpn_select_cb(ctx, find_alpn_select_cb_Fct(f), arg);
+}
+
 #define CUSTOM_INIT \
     SETALT(my3_);   \
     getMy(lib);     \
diff --git a/src/wrapped/wrappedlibssl3_private.h b/src/wrapped/wrappedlibssl3_private.h
index 755854d7..e9ff941c 100644
--- a/src/wrapped/wrappedlibssl3_private.h
+++ b/src/wrapped/wrappedlibssl3_private.h
@@ -224,7 +224,7 @@ GO(SSL_check_private_key, iFp)
 //GO(ssl_check_serverhello_tlsext, 
 //GO(ssl_check_srvr_ecc_cert_and_alg, 
 GO(SSL_CIPHER_description, pFppi)
-//GO(SSL_CIPHER_find, 
+GO(SSL_CIPHER_find, pFpp)
 GO(SSL_CIPHER_get_bits, iFpp)
 //GO(ssl_cipher_get_cert_index, 
 //GO(ssl_cipher_get_evp, 
@@ -264,6 +264,7 @@ GO(SSL_CTX_add_client_CA, iFpp)
 //GO(SSL_CTX_add_session, 
 GOM(SSL_CTX_callback_ctrl, lFEpip)
 GO(SSL_CTX_check_private_key, iFp)
+GO(SSL_CTX_config, iFpp)
 GO(SSL_CTX_ctrl, lFpilp)
 //GO(SSL_CTX_flush_sessions, 
 GO(SSL_CTX_free, vFp)
@@ -294,11 +295,12 @@ GO(SSL_CTX_new, pFp)
 //GO(SSL_CTX_sess_set_new_cb, 
 //GO(SSL_CTX_sess_set_remove_cb, 
 //GO(SSL_CTX_set1_param, 
-//GO(SSL_CTX_set_alpn_protos, 
-//GO(SSL_CTX_set_alpn_select_cb, 
+GO(SSL_CTX_set_alpn_protos, iFppu)
+GOM(SSL_CTX_set_alpn_select_cb, vFEppp)
 //GO(SSL_CTX_set_cert_cb, 
 GO(SSL_CTX_set_cert_store, vFpp)
 GOM(SSL_CTX_set_cert_verify_callback, vFEppp)
+GO(SSL_CTX_set_ciphersuites, iFpp)
 GO(SSL_CTX_set_cipher_list, iFpp)
 GO(SSL_CTX_set_client_CA_list, vFpp)
 GOM(SSL_CTX_set_client_cert_cb, vFEpp)
@@ -319,6 +321,7 @@ GO(SSL_CTX_set_options, lFpl)
 //GO(SSL_CTX_set_psk_server_callback, 
 //GO(SSL_CTX_set_purpose, 
 GO(SSL_CTX_set_quiet_shutdown, vFpi)
+GO(SSL_CTX_set_security_level, vFpi)
 //GO(SSL_CTX_set_session_id_context, 
 //GO(SSL_CTX_set_srp_cb_arg, 
 //GO(SSL_CTX_set_srp_client_pwd_callback, 
@@ -360,10 +363,12 @@ GO(SSL_do_handshake, iFp)
 //GO(ssl_fill_hello_random, 
 GO(SSL_free, vFp)
 //GO(ssl_free_wbio_buffer, 
-//GO(SSL_get0_alpn_selected, 
+GO(SSL_get0_alpn_selected, iFppp)
 GO(SSL_get0_next_proto_negotiated, vFppp)
 //GO(SSL_get0_param, 
+GO(SSL_get0_peer_certificate, pFp)
 GO(SSL_get0_session, pFp)
+GO(SSL_get1_peer_certificate, pFp)
 GO(SSL_get1_session, pFp)
 //GO(ssl_get_algorithm2, 
 GO(SSL_get_certificate, pFp)
@@ -386,7 +391,6 @@ GO(SSL_get_finished, LFppL)
 //GO(SSL_get_info_callback, 
 //GO(ssl_get_new_session, 
 GO(SSL_get_peer_cert_chain, pFp)
-GO(SSL_get_peer_certificate, pFp)
 GO(SSL_get_peer_finished, LFppL)
 //GO(ssl_get_prev_session, 
 GO(SSL_get_privatekey, pFp)
@@ -423,6 +427,7 @@ GO(SSL_get_version, pFp)
 //GO(SSL_get_wfd, 
 //GO(SSL_has_matching_session_id, 
 //GO(ssl_init_wbio_buffer, 
+GO(SSL_is_init_finished, iFp)
 GO(SSL_is_server, iFp)
 GO(SSL_library_init, iFv)
 //GO(ssl_load_ciphers, 
@@ -441,8 +446,8 @@ GO(SSL_pending, iFp)
 //GO(ssl_prepare_clienthello_tlsext, 
 //GO(ssl_prepare_serverhello_tlsext, 
 GO(SSL_read, iFppi)
-//GO(SSL_renegotiate, 
-//GO(SSL_renegotiate_abbreviated, 
+GO(SSL_renegotiate, iFp)
+GO(SSL_renegotiate_abbreviated, iFp)
 GO(SSL_renegotiate_pending, iFp)
 //GO(ssl_replace_hash, 
 //GO(SSL_rstate_string, 
@@ -463,6 +468,7 @@ GO(SSL_SESSION_free, vFp)
 GO(SSL_SESSION_new, pFv)
 //GO(SSL_SESSION_print, 
 //GO(SSL_SESSION_print_fp, 
+GO(SSL_session_reused, iFp)
 //GO(SSL_SESSION_set1_id_context, 
 //GO(SSL_SESSION_set_ex_data, 
 //GO(SSL_SESSION_set_time, 
@@ -484,6 +490,7 @@ GO(SSL_set_fd, iFpi)
 //GO(SSL_set_generate_session_id, 
 //GO(SSL_set_info_callback, 
 //GO(SSL_set_msg_callback, 
+GO(SSL_set_options, UFpU)
 //GO(ssl_set_peer_cert_type, 
 GOM(SSL_set_psk_client_callback, vFEpp)
 //GO(SSL_set_psk_server_callback, 
diff --git a/src/wrapped/wrappedlibssl_private.h b/src/wrapped/wrappedlibssl_private.h
index 3595fea9..fa2a083b 100644
--- a/src/wrapped/wrappedlibssl_private.h
+++ b/src/wrapped/wrappedlibssl_private.h
@@ -56,13 +56,14 @@ GO(d2i_SSL_SESSION, pFppl)
 //GO(dtls1_stop_timer, 
 //GO(dtls1_write_app_data_bytes, 
 //GO(dtls1_write_bytes, 
-//GO(DTLS_client_method, 
+GO(DTLS_client_method, pFv)
 GO(DTLS_method, pFv)
 GO(DTLS_server_method, pFv)
 GO(DTLSv1_2_client_method, pFv)
 GO(DTLSv1_2_method, pFv)
 GO(DTLSv1_2_server_method, pFv)
 GO(DTLSv1_client_method, pFv)
+GO(DTLSv1_listen, iFpp)
 GO(DTLSv1_method, pFv)
 GO(DTLSv1_server_method, pFv)
 //GO(ERR_load_SSL_strings, 
@@ -243,17 +244,17 @@ GO(SSL_clear, iFp)
 //GO(SSL_COMP_get_compression_methods, 
 //GO(SSL_COMP_get_name, 
 //GO(SSL_COMP_set0_compression_methods, 
-//GO(SSL_CONF_cmd, 
-//GO(SSL_CONF_cmd_argv, 
-//GO(SSL_CONF_cmd_value_type, 
+GO(SSL_CONF_cmd, iFppp)
+GO(SSL_CONF_cmd_argv, iFppp)
+GO(SSL_CONF_cmd_value_type, iFpp)
 //GO(SSL_CONF_CTX_clear_flags, 
-//GO(SSL_CONF_CTX_finish, 
-//GO(SSL_CONF_CTX_free, 
-//GO(SSL_CONF_CTX_new, 
+GO(SSL_CONF_CTX_finish, iFp)
+GO(SSL_CONF_CTX_free, vFp)
+GO(SSL_CONF_CTX_new, pFv)
 //GO(SSL_CONF_CTX_set1_prefix, 
-//GO(SSL_CONF_CTX_set_flags, 
+GO(SSL_CONF_CTX_set_flags, uFpu)
 //GO(SSL_CONF_CTX_set_ssl, 
-//GO(SSL_CONF_CTX_set_ssl_ctx, 
+GO(SSL_CONF_CTX_set_ssl_ctx, vFpp)
 GO(SSL_connect, iFp)
 //GO(SSL_copy_session_id, 
 //GO(ssl_create_cipher_list, 
@@ -279,6 +280,7 @@ GO(SSL_CTX_get_ex_data, pFpi)
 //GO(SSL_CTX_get_ex_new_index, 
 //GO(SSL_CTX_get_info_callback, 
 //GO(SSL_CTX_get_quiet_shutdown, 
+GO(SSL_CTX_get_security_level, iFp) 
 //GO(SSL_CTX_get_ssl_method, 
 //GO(SSL_CTX_get_timeout, 
 //GO(SSL_CTX_get_verify_callback, 
@@ -292,7 +294,7 @@ GO(SSL_CTX_new, pFp)
 //GO(SSL_CTX_sess_get_remove_cb, 
 //GO(SSL_CTX_sessions, 
 //GO(SSL_CTX_sess_set_get_cb, 
-//GO(SSL_CTX_sess_set_new_cb, 
+GOM(SSL_CTX_sess_set_new_cb, vFEpp)
 //GO(SSL_CTX_sess_set_remove_cb, 
 //GO(SSL_CTX_set1_param, 
 GO(SSL_CTX_set_alpn_protos, iFppu)
@@ -305,8 +307,8 @@ GO(SSL_CTX_set_ciphersuites, iFpp)
 GO(SSL_CTX_set_client_CA_list, vFpp)
 GOM(SSL_CTX_set_client_cert_cb, vFEpp)
 //GO(SSL_CTX_set_client_cert_engine, 
-//GO(SSL_CTX_set_cookie_generate_cb, 
-//GO(SSL_CTX_set_cookie_verify_cb, 
+GOM(SSL_CTX_set_cookie_generate_cb, vFEpp)
+GOM(SSL_CTX_set_cookie_verify_cb, vFEpp)
 GOM(SSL_CTX_set_default_passwd_cb, vFEpp)
 GO(SSL_CTX_set_default_passwd_cb_userdata, vFpp)
 GO(SSL_CTX_set_default_verify_paths, iFp)
@@ -348,7 +350,7 @@ GO(SSL_CTX_use_certificate_file, iFppi)
 GO(SSL_CTX_use_PrivateKey, iFpp)
 GO(SSL_CTX_use_PrivateKey_ASN1, iFuppi)
 GO(SSL_CTX_use_PrivateKey_file, iFppi)
-//GO(SSL_CTX_use_psk_identity_hint, 
+GO(SSL_CTX_use_psk_identity_hint, iFpp)
 GO(SSL_CTX_use_RSAPrivateKey, iFpp)
 GO(SSL_CTX_use_RSAPrivateKey_ASN1, iFppl)
 GO(SSL_CTX_use_RSAPrivateKey_file, iFppi)
@@ -375,6 +377,7 @@ GO(SSL_get_certificate, pFp)
 GO(SSL_get_ciphers, pFp)
 //GO(ssl_get_ciphers_by_id, 
 GO(SSL_get_client_CA_list, pFp)
+GO(SSL_get_client_random, LFppL)
 GO(SSL_get_current_cipher, pFp)
 //GO(SSL_get_current_compression, 
 //GO(SSL_get_current_expansion, 
@@ -396,7 +399,7 @@ GO(SSL_get_privatekey, pFp)
 //GO(SSL_get_psk_identity, 
 //GO(SSL_get_psk_identity_hint, 
 //GO(SSL_get_quiet_shutdown, 
-//GO(SSL_get_rbio, 
+GO(SSL_get_rbio, pFp)
 //GO(SSL_get_read_ahead, 
 //GO(SSL_get_rfd, 
 //GO(SSL_get_selected_srtp_profile, 
@@ -427,6 +430,7 @@ GO(SSL_get_version, pFp)
 //GO(SSL_get_wfd, 
 //GO(SSL_has_matching_session_id, 
 //GO(ssl_init_wbio_buffer, 
+GO(SSL_in_init, iFP)
 GO(SSL_is_init_finished, iFp)
 GO(SSL_is_server, iFp)
 GO(SSL_library_init, iFv)
@@ -463,8 +467,11 @@ GO(SSL_SESSION_free, vFp)
 //GO(SSL_SESSION_get_ex_data, 
 //GO(SSL_SESSION_get_ex_new_index, 
 //GO(SSL_SESSION_get_id, 
+GO(SSL_SESSION_get_master_key, LFppL)
+GO(SSL_SESSION_get_ticket_lifetime_hint, LFp)
 //GO(SSL_SESSION_get_time, 
-//GO(SSL_SESSION_get_timeout, 
+//GO(SSL_SESSION_get_timeout,
+GO(SSL_SESSION_is_resumable, iFp) 
 GO(SSL_SESSION_new, pFv)
 //GO(SSL_SESSION_print, 
 //GO(SSL_SESSION_print_fp, 
@@ -476,7 +483,7 @@ GO(SSL_session_reused, iFp)
 GO(SSL_SESSION_up_ref, iFp)
 //GO(SSL_set1_param, 
 GO(SSL_set_accept_state, vFp)
-//GO(SSL_set_alpn_protos, 
+GO(SSL_set_alpn_protos, iFppu)
 GO(SSL_set_bio, vFppp)
 //GO(SSL_set_cert_cb, 
 //GO(ssl_set_cert_masks, 
@@ -490,9 +497,11 @@ GO(SSL_set_fd, iFpi)
 //GO(SSL_set_generate_session_id, 
 //GO(SSL_set_info_callback, 
 //GO(SSL_set_msg_callback, 
+GO(SSL_set_options, LFpL)
 //GO(ssl_set_peer_cert_type, 
 GOM(SSL_set_psk_client_callback, vFEpp)
-//GO(SSL_set_psk_server_callback, 
+GOM(SSL_set_psk_server_callback, vFEpp)
+GOM(SSL_set_psk_use_session_callback, vFEpp) 
 //GO(SSL_set_purpose, 
 GO(SSL_set_quiet_shutdown, vFpi)
 //GO(SSL_set_read_ahead, 
diff --git a/src/wrapped/wrappedlibtinfo.c b/src/wrapped/wrappedlibtinfo.c
index 6e15e498..1827bb0d 100644
--- a/src/wrapped/wrappedlibtinfo.c
+++ b/src/wrapped/wrappedlibtinfo.c
@@ -38,7 +38,7 @@ GO(4)
 static uintptr_t my_putc_fct_##A = 0;                           \
 static int my_putc_##A(char c)                                  \
 {                                                               \
-    return (int)RunFunction(my_context, my_putc_fct_##A, 1, c); \
+    return (int)RunFunctionFmt(my_putc_fct_##A, "c", c);  \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedlibtinfo6.c b/src/wrapped/wrappedlibtinfo6.c
index 9b1fc0ac..c14c8ae0 100644
--- a/src/wrapped/wrappedlibtinfo6.c
+++ b/src/wrapped/wrappedlibtinfo6.c
@@ -38,7 +38,7 @@ GO(4)
 static uintptr_t my_putc_fct_##A = 0;                           \
 static int my_putc_##A(char c)                                  \
 {                                                               \
-    return (int)RunFunction(my_context, my_putc_fct_##A, 1, c); \
+    return (int)RunFunctionFmt(my_putc_fct_##A, "c", c);  \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedlibusb1.c b/src/wrapped/wrappedlibusb1.c
index e34f440f..c5fea90b 100644
--- a/src/wrapped/wrappedlibusb1.c
+++ b/src/wrapped/wrappedlibusb1.c
@@ -45,7 +45,7 @@ GO(9)   \
 static uintptr_t my_hotplug_fct_##A = 0;                                                    \
 static int my_hotplug_##A(void* ctx, void* device, int event, void* data)                   \
 {                                                                                           \
-    return (int)RunFunction(my_context, my_hotplug_fct_##A, 4, ctx, device, event, data);   \
+    return (int)RunFunctionFmt(my_hotplug_fct_##A, "ppip", ctx, device, event, data); \
 }
 SUPER()
 #undef GO
@@ -67,7 +67,7 @@ static void* findhotplugFct(void* fct)
 static uintptr_t my_transfert_fct_##A = 0;                      \
 static void my_transfert_##A(void* ctx)                         \
 {                                                               \
-    RunFunction(my_context, my_transfert_fct_##A, 1, ctx);      \
+    RunFunctionFmt(my_transfert_fct_##A, "p", ctx);       \
 }
 SUPER()
 #undef GO
@@ -139,7 +139,7 @@ EXPORT int my_libusb_submit_transfer(x64emu_t* emu, my_libusb_transfer_t* t)
 {
     t->callback = findtransfertFct(t->callback);
     return my->libusb_submit_transfer(t); // don't put back callback, it's unknown if it's safe
-} 
+}
 
 EXPORT int my_libusb_cancel_transfer(x64emu_t* emu, my_libusb_transfer_t* t)
 {
diff --git a/src/wrapped/wrappedlibva.c b/src/wrapped/wrappedlibva.c
index 2900057b..8c331324 100644
--- a/src/wrapped/wrappedlibva.c
+++ b/src/wrapped/wrappedlibva.c
@@ -6,13 +6,82 @@
 
 #include "wrappedlibs.h"
 
+#include "debug.h"
 #include "wrapper.h"
 #include "bridge.h"
 #include "librarian/library_private.h"
 #include "x64emu.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
 
 const char* libvaName = "libva.so.2";
 #define LIBNAME libva
 
+#define ADDED_FUNCTIONS()       \
+
+#include "generated/wrappedlibvatypes.h"
+
+#include "wrappercallback.h"
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)
+
+// VAMessageCallback
+#define GO(A)   \
+static uintptr_t my_VAMessageCallback_fct_##A = 0;                          \
+static void my_VAMessageCallback_##A(void* a, void* b)                      \
+{                                                                           \
+    RunFunctionFmt(my_VAMessageCallback_fct_##A, "pp", a, b);   \
+}
+SUPER()
+#undef GO
+static void* findVAMessageCallbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_VAMessageCallback_fct_##A == (uintptr_t)fct) return my_VAMessageCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_VAMessageCallback_fct_##A == 0) {my_VAMessageCallback_fct_##A = (uintptr_t)fct; return my_VAMessageCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libxa VAMessageCallback callback\n");
+    return NULL;
+}
+static void* reverse_VAMessageCallbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(CheckBridged(my_lib->w.bridge, fct))
+        return (void*)CheckBridged(my_lib->w.bridge, fct);
+    #define GO(A) if(my_VAMessageCallback_##A == fct) return (void*)my_VAMessageCallback_fct_##A;
+    SUPER()
+    #undef GO
+    return (void*)AddBridge(my_lib->w.bridge, vFpp, fct, 0, NULL);
+}
+
+#undef SUPER
+
+EXPORT void* my_vaSetErrorCallback(x64emu_t* emu, void* dpy, void* f, void* ctx)
+{
+    return reverse_VAMessageCallbackFct(my->vaSetErrorCallback(dpy, findVAMessageCallbackFct(f), ctx));
+}
+
+EXPORT void* my_vaSetInfoCallback(x64emu_t* emu, void* dpy, void* f, void* ctx)
+{
+    return reverse_VAMessageCallbackFct(my->vaSetInfoCallback(dpy, findVAMessageCallbackFct(f), ctx));
+}
+
+#define CUSTOM_INIT \
+    getMy(lib);
+
+#define CUSTOM_FINI \
+    freeMy();
+
 #include "wrappedlib_init.h"
 
diff --git a/src/wrapped/wrappedlibva_private.h b/src/wrapped/wrappedlibva_private.h
index dd83be25..cba8dc0e 100644
--- a/src/wrapped/wrappedlibva_private.h
+++ b/src/wrapped/wrappedlibva_private.h
@@ -78,9 +78,9 @@ GO(vaQueryVideoProcPipelineCaps, iFpupup)
 GO(vaRenderPicture, iFpupi)
 //GO(vaSetDisplayAttributes, 
 //GO(vaSetDriverName, 
-//GO(vaSetErrorCallback, 
+GOM(vaSetErrorCallback, pFEppp)
 //GO(vaSetImagePalette, 
-//GO(vaSetInfoCallback, 
+GOM(vaSetInfoCallback, pFEppp)
 //GO(vaSetSubpictureChromakey, 
 //GO(vaSetSubpictureGlobalAlpha, 
 //GO(vaSetSubpictureImage, 
diff --git a/src/wrapped/wrappedlibvdpau.c b/src/wrapped/wrappedlibvdpau.c
index 146ef72e..16eef5ae 100644
--- a/src/wrapped/wrappedlibvdpau.c
+++ b/src/wrapped/wrappedlibvdpau.c
@@ -6,13 +6,37 @@
 
 #include "wrappedlibs.h"
 
+#include "debug.h"
 #include "wrapper.h"
 #include "bridge.h"
 #include "librarian/library_private.h"
 #include "x64emu.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
 
 const char* libvdpauName = "libvdpau.so.1";
 #define LIBNAME libvdpau
 
+
+#define ADDED_FUNCTIONS()       \
+
+#include "generated/wrappedlibvdpautypes.h"
+
+#include "wrappercallback.h"
+
+EXPORT uint32_t my_vdp_device_create_x11(x64emu_t* emu, void* display, int screen, void* device, void** get_proc_address)
+{
+    return 1;   // VDP_STATUS_NO_IMPLEMENTATION
+}
+
+#define CUSTOM_INIT                 \
+    getMy(lib);
+
+#define CUSTOM_FINI \
+    freeMy();
+
 #include "wrappedlib_init.h"
 
diff --git a/src/wrapped/wrappedlibvdpau_private.h b/src/wrapped/wrappedlibvdpau_private.h
index 3a06a036..99a0b336 100644
--- a/src/wrapped/wrappedlibvdpau_private.h
+++ b/src/wrapped/wrappedlibvdpau_private.h
@@ -2,4 +2,4 @@
 #error meh!
 #endif
 
-//GO(vdp_device_create_x11, iFpipp) // last is a pointer to a VdpGetProcAddress function
\ No newline at end of file
+GOM(vdp_device_create_x11, iFpipp) // last is a pointer to a VdpGetProcAddress function
\ No newline at end of file
diff --git a/src/wrapped/wrappedlibx11.c b/src/wrapped/wrappedlibx11.c
index afe26fd1..0ee5d083 100644
--- a/src/wrapped/wrappedlibx11.c
+++ b/src/wrapped/wrappedlibx11.c
@@ -109,14 +109,14 @@ GO(11)  \
 GO(12)  \
 GO(13)  \
 GO(14)  \
-GO(15)  
+GO(15)
 
 // wire_to_event
 #define GO(A)   \
 static uintptr_t my_wire_to_event_fct_##A = 0;                      \
 static int my_wire_to_event_##A(void* dpy, void* re, void* event)   \
 {                                                                   \
-    return (int)RunFunction(my_context, my_wire_to_event_fct_##A, 3, dpy, re, event);\
+    return (int)RunFunctionFmt(my_wire_to_event_fct_##A, "ppp", dpy, re, event);\
 }
 SUPER()
 #undef GO
@@ -149,7 +149,7 @@ static void* reverse_wire_to_eventFct(library_t* lib, void* fct)
 static uintptr_t my_event_to_wire_fct_##A = 0;                      \
 static int my_event_to_wire_##A(void* dpy, void* re, void* event)   \
 {                                                                   \
-    return (int)RunFunction(my_context, my_event_to_wire_fct_##A, 3, dpy, re, event);\
+    return (int)RunFunctionFmt(my_event_to_wire_fct_##A, "ppp", dpy, re, event);\
 }
 SUPER()
 #undef GO
@@ -182,7 +182,7 @@ static void* reverse_event_to_wireFct(library_t* lib, void* fct)
 static uintptr_t my_error_handler_fct_##A = 0;                      \
 static int my_error_handler_##A(void* dpy, void* error)   \
 {                                                                   \
-    return (int)RunFunction(my_context, my_error_handler_fct_##A, 2, dpy, error);\
+    return (int)RunFunctionFmt(my_error_handler_fct_##A, "pp", dpy, error);\
 }
 SUPER()
 #undef GO
@@ -215,7 +215,7 @@ static void* reverse_error_handlerFct(library_t* lib, void* fct)
 static uintptr_t my_ioerror_handler_fct_##A = 0;                      \
 static int my_ioerror_handler_##A(void* dpy)   \
 {                                                                   \
-    return (int)RunFunction(my_context, my_ioerror_handler_fct_##A, 1, dpy);\
+    return (int)RunFunctionFmt(my_ioerror_handler_fct_##A, "p", dpy);\
 }
 SUPER()
 #undef GO
@@ -248,7 +248,7 @@ static void* reverse_ioerror_handlerFct(library_t* lib, void* fct)
 static uintptr_t my_exterror_handler_fct_##A = 0;                      \
 static int my_exterror_handler_##A(void* dpy, void* err, void* codes, int* ret_code)   \
 {                                                                   \
-    return (int)RunFunction(my_context, my_exterror_handler_fct_##A, 4, dpy, err, codes, ret_code);\
+    return (int)RunFunctionFmt(my_exterror_handler_fct_##A, "pppp", dpy, err, codes, ret_code);\
 }
 SUPER()
 #undef GO
@@ -281,7 +281,7 @@ static void* reverse_exterror_handlerFct(library_t* lib, void* fct)
 static uintptr_t my_close_display_fct_##A = 0;                      \
 static int my_close_display_##A(void* dpy, void* codes)   \
 {                                                                   \
-    return (int)RunFunction(my_context, my_close_display_fct_##A, 2, dpy, codes);\
+    return (int)RunFunctionFmt(my_close_display_fct_##A, "pp", dpy, codes);\
 }
 SUPER()
 #undef GO
@@ -314,7 +314,7 @@ static void* reverse_close_displayFct(library_t* lib, void* fct)
 static uintptr_t my_register_im_fct_##A = 0;                        \
 static void my_register_im_##A(void* dpy, void* u, void* d)         \
 {                                                                   \
-    RunFunction(my_context, my_register_im_fct_##A, 3, dpy, u, d);  \
+    RunFunctionFmt(my_register_im_fct_##A, "ppp", dpy, u, d);  \
 }
 SUPER()
 #undef GO
@@ -347,7 +347,7 @@ static void* reverse_register_imFct(library_t* lib, void* fct)
 static uintptr_t my_XConnectionWatchProc_fct_##A = 0;                               \
 static void my_XConnectionWatchProc_##A(void* dpy, void* data, int op, void* d)     \
 {                                                                                   \
-    RunFunction(my_context, my_XConnectionWatchProc_fct_##A, 4, dpy, data, op, d);  \
+    RunFunctionFmt(my_XConnectionWatchProc_fct_##A, "ppip", dpy, data, op, d);  \
 }
 SUPER()
 #undef GO
@@ -369,7 +369,7 @@ static void* findXConnectionWatchProcFct(void* fct)
 static uintptr_t my_xifevent_fct_##A = 0;                                   \
 static int my_xifevent_##A(void* dpy, void* event, void* d)                 \
 {                                                                           \
-    return RunFunction(my_context, my_xifevent_fct_##A, 3, dpy, event, d);  \
+    return RunFunctionFmt(my_xifevent_fct_##A, "ppp", dpy, event, d);  \
 }
 SUPER()
 #undef GO
@@ -391,7 +391,7 @@ static void* findxifeventFct(void* fct)
 static uintptr_t my_XInternalAsyncHandler_fct_##A = 0;                                              \
 static int my_XInternalAsyncHandler_##A(void* dpy, void* rep, void* buf, int len, void* data)       \
 {                                                                                                   \
-    return RunFunction(my_context, my_XInternalAsyncHandler_fct_##A, 5, dpy, rep, buf, len, data);  \
+    return RunFunctionFmt(my_XInternalAsyncHandler_fct_##A, "pppip", dpy, rep, buf, len, data);  \
 }
 SUPER()
 #undef GO
@@ -414,7 +414,7 @@ static void* findXInternalAsyncHandlerFct(void* fct)
 static uintptr_t my_XSynchronizeProc_fct_##A = 0;                       \
 static int my_XSynchronizeProc_##A()                                    \
 {                                                                       \
-    return (int)RunFunction(my_context, my_XSynchronizeProc_fct_##A, 0);\
+    return (int)RunFunctionFmt(my_XSynchronizeProc_fct_##A, "");\
 }
 SUPER()
 #undef GO
@@ -447,7 +447,7 @@ static void* reverse_XSynchronizeProcFct(library_t* lib, void* fct)
 static uintptr_t my_XLockDisplay_fct_##A = 0;                   \
 static void my_XLockDisplay_##A(void* dpy)                      \
 {                                                               \
-    RunFunction(my_context, my_XLockDisplay_fct_##A, 1, dpy);   \
+    RunFunctionFmt(my_XLockDisplay_fct_##A, "p", dpy);   \
 }
 SUPER()
 #undef GO
@@ -469,7 +469,7 @@ static void* findXLockDisplayFct(void* fct)
 static uintptr_t my_XUnlockDisplay_fct_##A = 0;                 \
 static void my_XUnlockDisplay_##A(void* dpy)                    \
 {                                                               \
-    RunFunction(my_context, my_XUnlockDisplay_fct_##A, 1, dpy); \
+    RunFunctionFmt(my_XUnlockDisplay_fct_##A, "p", dpy); \
 }
 SUPER()
 #undef GO
@@ -556,14 +556,14 @@ static int my_XICProc_##A(void* a, void* b, void* c)                        \
 {                                                                           \
     if (my_XICProc_fct_##A == 0)                                            \
         printf_log(LOG_NONE, "%s cannot find XICProc callback\n", __func__);\
-    return (int)RunFunction(my_context, my_XICProc_fct_##A, 3, a, b, c);    \
+    return (int)RunFunctionFmt(my_XICProc_fct_##A, "ppp", a, b, c);    \
 }                                                                           \
 static uintptr_t my_XIMProc_fct_##A = 0;                                    \
 static void my_XIMProc_##A(void* a, void* b, void* c)                       \
 {                                                                           \
     if (my_XIMProc_fct_##A == 0)                                            \
         printf_log(LOG_NONE, "%s cannot find XIMProc callback\n", __func__);\
-    RunFunction(my_context, my_XIMProc_fct_##A, 3, a, b, c);                \
+    RunFunctionFmt(my_XIMProc_fct_##A, "ppp", a, b, c);                \
 }
 SUPER()
 #undef GO
@@ -666,7 +666,7 @@ EXPORT void* my_XSetICValues(x64emu_t* emu, void* xic, uintptr_t* va) {
         SUPER()
     }
 
-    void* res = NULL; 
+    void* res = NULL;
     VA_CALL(my->XSetICValues, xic, new_va, n, res);
     box_free(new_va);
     box_free(callbacks);
@@ -695,7 +695,7 @@ EXPORT void* my_XSetIMValues(x64emu_t* emu, void* xim, uintptr_t* va) {
         SUPER()
     }
     #undef GO
-    
+
     void* res = NULL;
     VA_CALL(my->XSetIMValues, xim, new_va, n, res)
     box_free(new_va);
@@ -757,7 +757,7 @@ void BridgeImageFunc(x64emu_t *emu, XImage *img)
 
     #define GO(A, W) \
     fnc = CheckBridged(system, img->f.A); \
-    if(!fnc) fnc = AddAutomaticBridge(emu, system, W, img->f.A, 0); \
+    if(!fnc) fnc = AddAutomaticBridge(emu, system, W, img->f.A, 0, #A); \
     img->f.A = (W##_t)fnc;
 
     uintptr_t fnc;
@@ -792,7 +792,7 @@ void UnbridgeImageFunc(x64emu_t *emu, XImage *img)
 
 void sub_image_wrapper(x64emu_t *emu, uintptr_t fnc)
 {
-    pFpiiuu_t fn = (pFpiiuu_t)fnc; 
+    pFpiiuu_t fn = (pFpiiuu_t)fnc;
     void* img = fn(*(void**)(R_RDI), *(int32_t*)(R_RSI), *(int32_t*)(R_RDX), *(uint32_t*)(R_RCX), *(uint32_t*)(R_R8));
     BridgeImageFunc(emu, (XImage*)img);
     R_EAX=(uintptr_t)img;
@@ -903,7 +903,7 @@ EXPORT int my_XRegisterIMInstantiateCallback(x64emu_t* emu, void* d, void* db, v
 {
     return my->XRegisterIMInstantiateCallback(d, db, res_name, res_class, findregister_imFct(cb), data);
 }
-    
+
 EXPORT int my_XUnregisterIMInstantiateCallback(x64emu_t* emu, void* d, void* db, void* res_name, void* res_class, void* cb, void* data)
 {
     return my->XUnregisterIMInstantiateCallback(d, db, res_name, res_class, reverse_register_imFct(my_lib, cb), data);
@@ -1108,12 +1108,12 @@ EXPORT void* my_XOpenDisplay(x64emu_t* emu, void* d)
     #define GO(A, W)\
     if(dpy->A)      \
         if(!CheckBridged(system, dpy->A)) \
-            AddAutomaticBridge(emu, system, W, dpy->A, 0); \
+            AddAutomaticBridge(emu, system, W, dpy->A, 0, #A); \
 
     #define GO2(A, B, W) \
     if(dpy->A && dpy->A->B)  \
         if(!CheckBridged(system, dpy->A->B)) \
-            AddAutomaticBridge(emu, system, W, dpy->A->B, 0); \
+            AddAutomaticBridge(emu, system, W, dpy->A->B, 0, #B "_" #A); \
 
 
     GO2(free_funcs, atoms, vFp)
diff --git a/src/wrapped/wrappedlibx11_private.h b/src/wrapped/wrappedlibx11_private.h
index 4a7a9b16..9a98ef99 100644
--- a/src/wrapped/wrappedlibx11_private.h
+++ b/src/wrapped/wrappedlibx11_private.h
@@ -376,7 +376,7 @@ GO(XFreeStringList, vFp)
 GO(XGContextFromGC, LFp)
 GO(XGeometry, iFpippuuuiipppp)
 GO(_XGetAsyncData, vFpppiiii)
-//GO(_XGetAsyncReply, 
+GO(_XGetAsyncReply, pFppppiii)
 GO(XGetAtomName, pFpL)
 GO(XGetAtomNames, iFppip)
 //GO(_XGetBitsPerPixel, 
@@ -533,7 +533,7 @@ GO(XkbAllocNames, iFpuii)
 //GO(XkbAllocServerMap
 GO(XkbApplyCompatMapToKey, iFpCp)
 GO(XkbApplyVirtualModChanges, iFpup)
-//GO(XkbBell
+GO(XkbBell, iFppip)
 GO(XkbBellEvent, iFpLiL)
 GO(XkbChangeDeviceInfo, iFppp)
 //GO(XkbChangeEnabledControls
@@ -583,7 +583,7 @@ DATA(_XkbGetAtomNameFunc, sizeof(void*))
 GO(XkbGetAutoResetControls, iFppp)
 //GO(_XkbGetCharset, 
 //GO(XkbGetCompatMap
-//GO(XkbGetControls
+GO(XkbGetControls, iFpLp)
 //GO(_XkbGetConverters, 
 GO(XkbGetDetectableAutoRepeat, iFpp)
 GO(XkbGetDeviceButtonActions, iFppiuu)
@@ -850,7 +850,7 @@ GO(XRaiseWindow, iFpp)
 GO(_XRead, iFppi)
 GO(XReadBitmapFile, iFpLpppppp)
 GO(XReadBitmapFileData, iFpppppp)
-//GO(_XReadEvents, 
+GO(_XReadEvents, vFp)
 GO(_XReadPad, vFppi)
 GO(XRebindKeysym, iFpLpipi)
 GO(XRecolorCursor, iFpLpp)
diff --git a/src/wrapped/wrappedlibxcb_private.h b/src/wrapped/wrappedlibxcb_private.h
index 134b93fc..10988e21 100644
--- a/src/wrapped/wrappedlibxcb_private.h
+++ b/src/wrapped/wrappedlibxcb_private.h
@@ -148,7 +148,7 @@ GO(xcb_create_gc_checked, pFpuuup)
 GO(xcb_create_glyph_cursor, pFpuuuWWWWWWWW)
 //GO(xcb_create_glyph_cursor_checked, 
 GO(xcb_create_pixmap, pFpCuuWW)
-//GO(xcb_create_pixmap_checked, 
+GO(xcb_create_pixmap_checked, pFpCuuWW)
 GO(xcb_create_window, pFpCuuwwWWWWuup)
 //GO(xcb_create_window_aux, 
 //GO(xcb_create_window_aux_checked, 
@@ -460,7 +460,7 @@ GO(xcb_poly_segment, pFpuuup)
 //GO(xcb_poly_text_8_sizeof, 
 GO(xcb_popcount, iFu)
 GO(xcb_prefetch_extension_data, vFpp)
-//GO(xcb_prefetch_maximum_request_length, 
+GO(xcb_prefetch_maximum_request_length, vFp)
 GO(xcb_put_image, pFpCuuWWwwCCup)
 //GO(xcb_put_image_checked, 
 //GO(xcb_put_image_data, 
diff --git a/src/wrapped/wrappedlibxext.c b/src/wrapped/wrappedlibxext.c
index efc2fba4..245b65ce 100644
--- a/src/wrapped/wrappedlibxext.c
+++ b/src/wrapped/wrappedlibxext.c
@@ -56,7 +56,7 @@ GO(4)
 static uintptr_t my_exterrorhandle_fct_##A = 0;                                                 \
 static int my_exterrorhandle_##A(void* display, void* ext_name, void* reason)                   \
 {                                                                                               \
-    return RunFunction(my_context, my_exterrorhandle_fct_##A, 3, display, ext_name, reason);    \
+    return RunFunctionFmt(my_exterrorhandle_fct_##A, "ppp", display, ext_name, reason);   \
 }
 SUPER()
 #undef GO
@@ -83,6 +83,248 @@ static void* reverse_exterrorhandleFct(void* fct)
     #undef GO
     return (void*)AddBridge(my_lib->w.bridge, iFppp, fct, 0, NULL);
 }
+// create_gc ...
+#define GO(A)   \
+static uintptr_t my_create_gc_fct_##A = 0;                          \
+static int my_create_gc_##A(void* a, uint32_t b, void* c)           \
+{                                                                   \
+    return RunFunctionFmt(my_create_gc_fct_##A, "pup", a, b, c);    \
+}
+SUPER()
+#undef GO
+static void* find_create_gc_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_create_gc_fct_##A == (uintptr_t)fct) return my_create_gc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_create_gc_fct_##A == 0) {my_create_gc_fct_##A = (uintptr_t)fct; return my_create_gc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libXext create_gc callback\n");
+    return NULL;
+}
+// copy_gc ...
+#define GO(A)   \
+static uintptr_t my_copy_gc_fct_##A = 0;                        \
+static int my_copy_gc_##A(void* a, uint32_t b, void* c)         \
+{                                                               \
+    return RunFunctionFmt(my_copy_gc_fct_##A, "pup", a, b, c);  \
+}
+SUPER()
+#undef GO
+static void* find_copy_gc_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_copy_gc_fct_##A == (uintptr_t)fct) return my_copy_gc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_copy_gc_fct_##A == 0) {my_copy_gc_fct_##A = (uintptr_t)fct; return my_copy_gc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libXext copy_gc callback\n");
+    return NULL;
+}
+// flush_gc ...
+#define GO(A)   \
+static uintptr_t my_flush_gc_fct_##A = 0;                           \
+static int my_flush_gc_##A(void* a, uint32_t b, void* c)            \
+{                                                                   \
+    return RunFunctionFmt(my_flush_gc_fct_##A, "pup", a, b, c);     \
+}
+SUPER()
+#undef GO
+static void* find_flush_gc_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_flush_gc_fct_##A == (uintptr_t)fct) return my_flush_gc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_flush_gc_fct_##A == 0) {my_flush_gc_fct_##A = (uintptr_t)fct; return my_flush_gc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libXext flush_gc callback\n");
+    return NULL;
+}
+// free_gc ...
+#define GO(A)   \
+static uintptr_t my_free_gc_fct_##A = 0;                           \
+static int my_free_gc_##A(void* a, uint32_t b, void* c)            \
+{                                                                  \
+    return RunFunctionFmt(my_free_gc_fct_##A, "pup", a, b, c);     \
+}
+SUPER()
+#undef GO
+static void* find_free_gc_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_free_gc_fct_##A == (uintptr_t)fct) return my_free_gc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_free_gc_fct_##A == 0) {my_free_gc_fct_##A = (uintptr_t)fct; return my_free_gc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libXext free_gc callback\n");
+    return NULL;
+}
+// create_font ...
+#define GO(A)   \
+static uintptr_t my_create_font_fct_##A = 0;                            \
+static int my_create_font_##A(void* a, void* b, void* c)                \
+{                                                                       \
+    return RunFunctionFmt(my_create_font_fct_##A, "ppp", a, b, c);      \
+}
+SUPER()
+#undef GO
+static void* find_create_font_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_create_font_fct_##A == (uintptr_t)fct) return my_create_font_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_create_font_fct_##A == 0) {my_create_font_fct_##A = (uintptr_t)fct; return my_create_font_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libXext create_font callback\n");
+    return NULL;
+}
+// free_font ...
+#define GO(A)   \
+static uintptr_t my_free_font_fct_##A = 0;                            \
+static int my_free_font_##A(void* a, void* b, void* c)                \
+{                                                                     \
+    return RunFunctionFmt(my_free_font_fct_##A, "ppp", a, b, c);      \
+}
+SUPER()
+#undef GO
+static void* find_free_font_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_free_font_fct_##A == (uintptr_t)fct) return my_free_font_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_free_font_fct_##A == 0) {my_free_font_fct_##A = (uintptr_t)fct; return my_free_font_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libXext free_font callback\n");
+    return NULL;
+}
+// close_display ...
+#define GO(A)   \
+static uintptr_t my_close_display_fct_##A = 0;                  \
+static int my_close_display_##A(void* a, void* b)               \
+{                                                               \
+    return RunFunctionFmt(my_close_display_fct_##A, "pp", a, b);\
+}
+SUPER()
+#undef GO
+static void* find_close_display_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_close_display_fct_##A == (uintptr_t)fct) return my_close_display_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_close_display_fct_##A == 0) {my_close_display_fct_##A = (uintptr_t)fct; return my_close_display_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libXext close_display callback\n");
+    return NULL;
+}
+// wire_to_event ...
+#define GO(A)   \
+static uintptr_t my_wire_to_event_fct_##A = 0;                          \
+static int my_wire_to_event_##A(void* a, void* b, void* c)              \
+{                                                                       \
+    return RunFunctionFmt(my_wire_to_event_fct_##A, "ppp", a, b, c);    \
+}
+SUPER()
+#undef GO
+static void* find_wire_to_event_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_wire_to_event_fct_##A == (uintptr_t)fct) return my_wire_to_event_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_wire_to_event_fct_##A == 0) {my_wire_to_event_fct_##A = (uintptr_t)fct; return my_wire_to_event_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libXext wire_to_event callback\n");
+    return NULL;
+}
+// event_to_wire ...
+#define GO(A)   \
+static uintptr_t my_event_to_wire_fct_##A = 0;                          \
+static int my_event_to_wire_##A(void* a, void* b, void* c)              \
+{                                                                       \
+    return RunFunctionFmt(my_event_to_wire_fct_##A, "ppp", a, b, c);    \
+}
+SUPER()
+#undef GO
+static void* find_event_to_wire_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_event_to_wire_fct_##A == (uintptr_t)fct) return my_event_to_wire_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_event_to_wire_fct_##A == 0) {my_event_to_wire_fct_##A = (uintptr_t)fct; return my_event_to_wire_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libXext event_to_wire callback\n");
+    return NULL;
+}
+// error ...
+#define GO(A)   \
+static uintptr_t my_error_fct_##A = 0;                              \
+static int my_error_##A(void* a, void* b, void* c, int* d)          \
+{                                                                   \
+    return RunFunctionFmt(my_error_fct_##A, "pppp", a, b, c, d);    \
+}
+SUPER()
+#undef GO
+static void* find_error_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_error_fct_##A == (uintptr_t)fct) return my_error_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_error_fct_##A == 0) {my_error_fct_##A = (uintptr_t)fct; return my_error_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libXext error callback\n");
+    return NULL;
+}
+// error_string ...
+#define GO(A)   \
+static uintptr_t my_error_string_fct_##A = 0;                               \
+static int my_error_string_##A(void* a, int b, void* c, void* d, int e)     \
+{                                                                           \
+    return RunFunctionFmt(my_error_string_fct_##A, "pippi", a, b, c, d, e); \
+}
+SUPER()
+#undef GO
+static void* find_error_string_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_error_string_fct_##A == (uintptr_t)fct) return my_error_string_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_error_string_fct_##A == 0) {my_error_string_fct_##A = (uintptr_t)fct; return my_error_string_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libXext error_string callback\n");
+    return NULL;
+}
 
 #undef SUPER
 
@@ -123,81 +365,10 @@ EXPORT void* my_XSetExtensionErrorHandler(x64emu_t* emu, void* handler)
     return reverse_exterrorhandleFct(my->XSetExtensionErrorHandler(find_exterrorhandle_Fct(handler)));
 }
 
-static box64context_t *context = NULL;
-static uintptr_t my_hook_create_gc_fnc = 0;
-static uintptr_t my_hook_copy_gc_fnc = 0;
-static uintptr_t my_hook_flush_gc_fnc = 0;
-static uintptr_t my_hook_free_gc_fnc = 0;
-static uintptr_t my_hook_create_font_fnc = 0;
-static uintptr_t my_hook_free_font_fnc = 0;
-static uintptr_t my_hook_close_display_fnc = 0;
-static uintptr_t my_hook_wire_to_event_fnc = 0;
-static uintptr_t my_hook_event_to_wire_fnc = 0;
-static uintptr_t my_hook_error_fnc = 0;
-static uintptr_t my_hook_error_string_fnc = 0;
-static int  my_hook_create_gc(void* a, uint32_t b, void* c) {
-    if(my_hook_create_gc_fnc)
-        return (int)RunFunction(context, my_hook_create_gc_fnc, 3, a, b, c);
-    return 0;
-}
-static int  my_hook_copy_gc(void* a, uint32_t b, void* c) {
-    if(my_hook_copy_gc_fnc)
-        return (int)RunFunction(context, my_hook_copy_gc_fnc, 3, a, b, c);
-    return 0;
-}
-static int  my_hook_flush_gc(void* a, uint32_t b, void* c) {
-    if(my_hook_flush_gc_fnc)
-        return (int)RunFunction(context, my_hook_flush_gc_fnc, 3, a, b, c);
-    return 0;
-}
-static int  my_hook_free_gc(void* a, uint32_t b, void* c) {
-    if(my_hook_free_gc_fnc)
-        return (int)RunFunction(context, my_hook_free_gc_fnc, 3, a, b, c);
-    return 0;
-}
-static int  my_hook_create_font(void* a, void* b, void* c) {
-    if(my_hook_create_font_fnc)
-        return (int)RunFunction(context, my_hook_create_font_fnc, 3, a, b, c);
-    return 0;
-}
-static int  my_hook_free_font(void* a, void* b, void* c) {
-    if(my_hook_free_font_fnc)
-        return (int)RunFunction(context, my_hook_free_font_fnc, 3, a, b, c);
-    return 0;
-}
-static int  my_hook_close_display(void* a, void* b) {
-    if(my_hook_close_display_fnc)
-        return (int)RunFunction(context, my_hook_close_display_fnc, 2, a, b);
-    return 0;
-}
-static int  my_hook_wire_to_event(void* a, void* b, void* c) {
-    if(my_hook_wire_to_event_fnc)
-        return (int)RunFunction(context, my_hook_wire_to_event_fnc, 3, a, b, c);
-    return 0;
-}
-static int  my_hook_event_to_wire(void* a, void* b, void* c) {
-    if(my_hook_event_to_wire_fnc)
-        return (int)RunFunction(context, my_hook_event_to_wire_fnc, 3, a, b, c);
-    return 0;
-}
-static int  my_hook_error(void* a, void* b, void* c, int* d) {
-    if(my_hook_error_fnc)
-        return (int)RunFunction(context, my_hook_error_fnc, 4, a, b, c, d);
-    return 0;
-}
-static char* my_hook_error_string(void* a, int b, void* c, void* d, int e) {
-    if(my_hook_error_string_fnc)
-        return (char*)RunFunction(context, my_hook_error_string_fnc, 5, a, b, c, d, e);
-    return 0;
-}
-
 EXPORT void* my_XextAddDisplay(x64emu_t* emu, void* extinfo, void* dpy, void* extname, my_XExtensionHooks* hooks, int nevents, void* data)
 {
-    if(!context)
-        context = emu->context;
-
     my_XExtensionHooks natives = {0};
-    #define GO(A) if(hooks->A) {my_hook_##A##_fnc = (uintptr_t)hooks->A; natives.A = my_hook_##A;}
+    #define GO(A) natives.A = find_##A##_Fct(hooks->A);
     GO(create_gc)
     GO(copy_gc)
     GO(flush_gc)
diff --git a/src/wrapped/wrappedlibxft_private.h b/src/wrapped/wrappedlibxft_private.h
index 0c00da90..843213b7 100644
--- a/src/wrapped/wrappedlibxft_private.h
+++ b/src/wrapped/wrappedlibxft_private.h
@@ -6,9 +6,9 @@
 //GO(XftCharFontSpecRender, 
 //GO(XftCharIndex, 
 //GO(XftCharSpecRender, 
-//GO(XftColorAllocName, 
+GO(XftColorAllocName, iFppupp)
 //GO(XftColorAllocValue, 
-//GO(XftColorFree, 
+GO(XftColorFree, vFppup)
 //GO(XftDefaultHasRender, 
 //GO(XftDefaultSet, 
 //GO(XftDefaultSubstitute, 
@@ -19,27 +19,27 @@ GO(XftDrawChange, vFpp)
 GO(XftDrawCreate, pFpppp)
 //GO(XftDrawCreateAlpha, 
 //GO(XftDrawCreateBitmap, 
-//GO(XftDrawDestroy, 
+GO(XftDrawDestroy, vFp)
 //GO(XftDrawDisplay, 
 //GO(XftDrawDrawable, 
 //GO(XftDrawGlyphFontSpec, 
 //GO(XftDrawGlyphs, 
 //GO(XftDrawGlyphSpec, 
 //GO(XftDrawPicture, 
-//GO(XftDrawRect, 
+GO(XftDrawRect, vFppiiuu)
 GO(XftDrawSetClip, iFpp)
 //GO(XftDrawSetClipRectangles, 
 //GO(XftDrawSetSubwindowMode, 
 //GO(XftDrawSrcPicture, 
-//GO(XftDrawString16, 
+GO(XftDrawString16, vFpppiipi)
 GO(XftDrawString32, vFpppiipi)
 //GO(XftDrawString8, 
 //GO(XftDrawStringUtf16, 
 //GO(XftDrawStringUtf8, 
 //GO(XftDrawVisual, 
 //GO(XftFontCheckGlyph, 
-//GO(XftFontClose, 
-//GO(XftFontCopy, 
+GO(XftFontClose, vFpp)
+GO(XftFontCopy, pFpp)
 //GO(XftFontInfoCreate, 
 //GO(XftFontInfoDestroy, 
 //GO(XftFontInfoEqual, 
@@ -63,7 +63,7 @@ GO(XftFontOpenXlfd, pFpip)
 //GO(XftLockFace, 
 //GO(XftNameParse, 
 GO(XftNameUnparse, iFppi)
-//GO(XftTextExtents16, 
+GO(XftTextExtents16, vFpppip)
 GO(XftTextExtents32, vFpppip)
 //GO(XftTextExtents8, 
 //GO(XftTextExtentsUtf16, 
diff --git a/src/wrapped/wrappedlibxi_private.h b/src/wrapped/wrappedlibxi_private.h
index 4b81a2d8..6e10da5f 100644
--- a/src/wrapped/wrappedlibxi_private.h
+++ b/src/wrapped/wrappedlibxi_private.h
@@ -38,7 +38,7 @@ GO(XIBarrierReleasePointer, vFpipp)
 GO(XIBarrierReleasePointers, vFppi)
 //GO(XIChangeHierarchy, 
 GO(XIChangeProperty, vFpippiipi)
-//GO(XIDefineCursor, 
+GO(XIDefineCursor, iFpipp)
 GO(XIDeleteProperty, vFpip)
 GO(XIFreeDeviceInfo, vFp)
 GO(XIGetClientPointer, iFppp)
@@ -58,7 +58,7 @@ GO(XIQueryVersion, iFppp)
 GO(XISelectEvents, iFpppi)
 GO(XISetClientPointer, iFppi)
 //GO(XISetFocus, 
-//GO(XIUndefineCursor, 
+GO(XIUndefineCursor, iFpip)
 GO(XIUngrabButton, iFpiipip)
 GO(XIUngrabDevice, iFpiL)
 //GO(XIUngrabEnter, 
diff --git a/src/wrapped/wrappedlibxt.c b/src/wrapped/wrappedlibxt.c
index 6177ae84..6a7180fd 100644
--- a/src/wrapped/wrappedlibxt.c
+++ b/src/wrapped/wrappedlibxt.c
@@ -39,7 +39,7 @@ GO(7)
 static uintptr_t my_Event_fct_##A = 0;   \
 static void my_Event_##A(void* w, void* data, void* event)     \
 {                                       \
-    RunFunction(my_context, my_Event_fct_##A, 3, w, data, event);\
+    RunFunctionFmt(my_Event_fct_##A, "ppp", w, data, event);\
 }
 SUPER()
 #undef GO
@@ -61,7 +61,7 @@ static void* findEventFct(void* fct)
 static uintptr_t my_WorkProc_fct_##A = 0;   \
 static int my_WorkProc_##A(void* p)         \
 {                                           \
-    return (int)RunFunction(my_context, my_WorkProc_fct_##A, 1, p);\
+    return (int)RunFunctionFmt(my_WorkProc_fct_##A, "p", p);\
 }
 SUPER()
 #undef GO
@@ -83,7 +83,7 @@ static void* findWorkProcFct(void* fct)
 static uintptr_t my_InputCallback_fct_##A = 0;                      \
 static void my_InputCallback_##A(void* p, void* s, void* id)        \
 {                                                                   \
-    RunFunction(my_context, my_InputCallback_fct_##A, 3, p, s, id); \
+    RunFunctionFmt(my_InputCallback_fct_##A, "ppp", p, s, id); \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedlibxtst.c b/src/wrapped/wrappedlibxtst.c
index eaec1de6..4ae3a68b 100644
--- a/src/wrapped/wrappedlibxtst.c
+++ b/src/wrapped/wrappedlibxtst.c
@@ -36,7 +36,7 @@ GO(4)
 static uintptr_t my_XRecordInterceptProc_fct_##A = 0;                   \
 static void my_XRecordInterceptProc_##A(void* a, void* b)               \
 {                                                                       \
-    RunFunction(my_context, my_XRecordInterceptProc_fct_##A, 2, a, b);  \
+    RunFunctionFmt(my_XRecordInterceptProc_fct_##A, "pp", a, b);  \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedlibz.c b/src/wrapped/wrappedlibz.c
index 8d3ebb7a..4613c47b 100644
--- a/src/wrapped/wrappedlibz.c
+++ b/src/wrapped/wrappedlibz.c
@@ -34,7 +34,7 @@ GO(4)
 static uintptr_t my_alloc_fct_##A = 0;                                          \
 static void* my_alloc_##A(void* opaque, uint32_t items, uint32_t size)                  \
 {                                                                                       \
-    return (void*)RunFunction(my_context, my_alloc_fct_##A, 3, opaque, items, size);    \
+    return (void*)RunFunctionFmt(my_alloc_fct_##A, "puu", opaque, items, size);    \
 }
 SUPER()
 #undef GO
@@ -51,12 +51,22 @@ static void* find_alloc_Fct(void* fct)
     printf_log(LOG_NONE, "Warning, no more slot for zlib alloc callback\n");
     return NULL;
 }
+static void* reverse_alloc_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(CheckBridged(my_lib->w.bridge, fct))
+        return (void*)CheckBridged(my_lib->w.bridge, fct);
+    #define GO(A) if(my_alloc_##A == fct) return (void*)my_alloc_fct_##A;
+    SUPER()
+    #undef GO
+    return (void*)AddBridge(my_lib->w.bridge, pFpuu, fct, 0, NULL);
+}
 // free ...
 #define GO(A)   \
 static uintptr_t my_free_fct_##A = 0;                               \
 static void my_free_##A(void* opaque, void* address)                \
 {                                                                   \
-    RunFunction(my_context, my_free_fct_##A, 2, opaque, address);   \
+    RunFunctionFmt(my_free_fct_##A, "pp", opaque, address);   \
 }
 SUPER()
 #undef GO
@@ -73,10 +83,20 @@ static void* find_free_Fct(void* fct)
     printf_log(LOG_NONE, "Warning, no more slot for zlib free callback\n");
     return NULL;
 }
+static void* reverse_free_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(CheckBridged(my_lib->w.bridge, fct))
+        return (void*)CheckBridged(my_lib->w.bridge, fct);
+    #define GO(A) if(my_free_##A == fct) return (void*)my_free_fct_##A;
+    SUPER()
+    #undef GO
+    return (void*)AddBridge(my_lib->w.bridge, vFpp, fct, 0, NULL);
+}
 #undef SUPER
 
 typedef struct z_stream_s {
-    void *next_in;   
+    void *next_in;
     uint32_t     avail_in;
     uintptr_t    total_in;
     void    *next_out;
@@ -85,11 +105,11 @@ typedef struct z_stream_s {
     char *msg;
     void *state;
     void* zalloc;
-    void*  zfree; 
+    void*  zfree;
     void*     opaque;
     int32_t     data_type;
-    uintptr_t   adler;    
-    uintptr_t   reserved; 
+    uintptr_t   adler;
+    uintptr_t   reserved;
 } z_stream;
 
 static void wrapper_stream_z(x64emu_t* emu, void* str)
@@ -99,28 +119,41 @@ static void wrapper_stream_z(x64emu_t* emu, void* str)
     stream->zalloc = find_alloc_Fct(stream->zalloc);
     stream->zfree = find_free_Fct(stream->zfree);
 }
+static void unwrapper_stream_z(x64emu_t* emu, void* str)
+{
+    (void)emu;
+    z_stream *stream = (z_stream*)str;
+    stream->zalloc = reverse_alloc_Fct(stream->zalloc);
+    stream->zfree = reverse_free_Fct(stream->zfree);
+}
 
 EXPORT int my_inflateInit_(x64emu_t* emu, void* str, void* version, int size)
 {
     wrapper_stream_z(emu, str);
-    return my->inflateInit_(str, version, size);
+    int ret = my->inflateInit_(str, version, size);
+    unwrapper_stream_z(emu, str);
+    return ret;
 }
 
 EXPORT int my_inflateInit2_(x64emu_t* emu, void* str, int windowBits, void* version, int stream_size)
 {
     wrapper_stream_z(emu, str);
-    return my->inflateInit2_(str, windowBits, version, stream_size);
+    int ret = my->inflateInit2_(str, windowBits, version, stream_size);
+    unwrapper_stream_z(emu, str);
+    return ret;
 }
 
-EXPORT int my_inflateBackInit_(x64emu_t* emu, void* strm, int windowBits, void *window, void* version, int size)
+EXPORT int my_inflateBackInit_(x64emu_t* emu, void* str, int windowBits, void *window, void* version, int size)
 {
-    wrapper_stream_z(emu, strm);
-    return my->inflateBackInit_(strm, windowBits, window, version, size);
+    wrapper_stream_z(emu, str);
+    int ret = my->inflateBackInit_(str, windowBits, window, version, size);
+    unwrapper_stream_z(emu, str);
+    return ret;
 }
 
-// TODO: remove this?
 EXPORT int my_inflateEnd(x64emu_t* emu, void* str)
 {
+    wrapper_stream_z(emu, str);
     int r = my->inflateEnd(str);
     return r;
 }
@@ -128,18 +161,23 @@ EXPORT int my_inflateEnd(x64emu_t* emu, void* str)
 EXPORT int my_deflateInit_(x64emu_t* emu, void* str, int level, void* version, int stream_size)
 {
     wrapper_stream_z(emu, str);
-    return my->deflateInit_(str, level, version, stream_size);
+    int ret = my->deflateInit_(str, level, version, stream_size);
+    unwrapper_stream_z(emu, str);
+    return ret;
 }
 
 EXPORT int my_deflateInit2_(x64emu_t* emu, void* str, int level, int method, int windowBits, int memLevel, int strategy, void* version, int stream_size)
 {
     wrapper_stream_z(emu, str);
-    return my->deflateInit2_(str, level, method, windowBits, memLevel, strategy, version, stream_size);
+    int ret = my->deflateInit2_(str, level, method, windowBits, memLevel, strategy, version, stream_size);
+    unwrapper_stream_z(emu, str);
+    return ret;
 }
 
 // TODO: remove this?
 EXPORT int my_deflateEnd(x64emu_t* emu, void* str)
 {
+    wrapper_stream_z(emu, str);
     int r = my->deflateEnd(str);
     return r;
 }
@@ -147,8 +185,9 @@ EXPORT int my_deflateEnd(x64emu_t* emu, void* str)
 EXPORT int my_inflate(x64emu_t* emu, void* str, int flush)
 {
     wrapper_stream_z(emu, str);
-    return my->inflate(str, flush);
-    //TODO: should unwrap the stream
+    int ret = my->inflate(str, flush);
+    unwrapper_stream_z(emu, str);
+    return ret;
 }
 
 
diff --git a/src/wrapped/wrappedlzma.c b/src/wrapped/wrappedlzma.c
index ad796fcf..8592037b 100644
--- a/src/wrapped/wrappedlzma.c
+++ b/src/wrapped/wrappedlzma.c
@@ -64,7 +64,7 @@ GO(4)
 static uintptr_t my_alloc_fct_##A = 0;                                              \
 static void* my_alloc_##A(void* opaque, size_t items, size_t size)                  \
 {                                                                                   \
-    return (void*)RunFunction(my_context, my_alloc_fct_##A, 3, opaque, items, size);\
+    return (void*)RunFunctionFmt(my_alloc_fct_##A, "pLL", opaque, items, size);\
 }
 SUPER()
 #undef GO
@@ -81,12 +81,22 @@ static void* find_alloc_Fct(void* fct)
     printf_log(LOG_NONE, "Warning, no more slot for zlib alloc callback\n");
     return NULL;
 }
+static void* reverse_alloc_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(CheckBridged(my_lib->w.bridge, fct))
+        return (void*)CheckBridged(my_lib->w.bridge, fct);
+    #define GO(A) if(my_alloc_##A == fct) return (void*)my_alloc_fct_##A;
+    SUPER()
+    #undef GO
+    return (void*)AddBridge(my_lib->w.bridge, pFpuu, fct, 0, NULL);
+}
 // free ...
 #define GO(A)   \
 static uintptr_t my_free_fct_##A = 0;                               \
 static void my_free_##A(void* opaque, void* address)                \
 {                                                                   \
-    RunFunction(my_context, my_free_fct_##A, 2, opaque, address);   \
+    RunFunctionFmt(my_free_fct_##A, "pp", opaque, address);   \
 }
 SUPER()
 #undef GO
@@ -103,109 +113,143 @@ static void* find_free_Fct(void* fct)
     printf_log(LOG_NONE, "Warning, no more slot for zlib free callback\n");
     return NULL;
 }
+static void* reverse_free_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(CheckBridged(my_lib->w.bridge, fct))
+        return (void*)CheckBridged(my_lib->w.bridge, fct);
+    #define GO(A) if(my_free_##A == fct) return (void*)my_free_fct_##A;
+    SUPER()
+    #undef GO
+    return (void*)AddBridge(my_lib->w.bridge, vFpp, fct, 0, NULL);
+}
 #undef SUPER
 
-static void wrap_alloc_struct(lzma_allocator_t* dst, lzma_allocator_t* src)
+static void wrap_alloc_struct(lzma_allocator_t* a)
 {
-    if(!src)
+    if(!a)
         return;
-    dst->opaque = src->opaque;
-    dst->alloc = find_alloc_Fct(src->alloc);
-    dst->free = find_free_Fct(src->free);
-    
+    a->alloc = find_alloc_Fct(a->alloc);
+    a->free = find_free_Fct(a->free);
+
+}
+static void unwrap_alloc_struct(lzma_allocator_t* a)
+{
+    if(!a)
+        return;
+    a->alloc = reverse_alloc_Fct(a->alloc);
+    a->free = reverse_free_Fct(a->free);
+
 }
 
 EXPORT int my_lzma_index_buffer_decode(x64emu_t* emu, void* i, void* memlimit, lzma_allocator_t* alloc, void* in_, void* in_pos, size_t in_size)
 {
-    lzma_allocator_t allocator = {0};
-    wrap_alloc_struct(&allocator, alloc);
-    return my->lzma_index_buffer_decode(i, memlimit, alloc?&allocator:NULL, in_, in_pos, in_size);
+    wrap_alloc_struct(alloc);
+    int ret = my->lzma_index_buffer_decode(i, memlimit, alloc, in_, in_pos, in_size);
+    unwrap_alloc_struct(alloc);
+    return ret;
 }
 
 EXPORT void my_lzma_index_end(x64emu_t* emu, void* i, lzma_allocator_t* alloc)
 {
-    lzma_allocator_t allocator = {0};
-    wrap_alloc_struct(&allocator, alloc);
-    return my->lzma_index_end(i,alloc?&allocator:NULL);
+    wrap_alloc_struct(alloc);
+    my->lzma_index_end(i,alloc);
+    unwrap_alloc_struct(alloc);
 }
 
 EXPORT int my_lzma_stream_buffer_decode(x64emu_t* emu, void* memlimit, uint32_t flags, lzma_allocator_t* alloc, void* in_, void* in_pos, size_t in_size, void* out_, void* out_pos, size_t out_size)
 {
-    lzma_allocator_t allocator = {0};
-    wrap_alloc_struct(&allocator, alloc);
-    return my->lzma_stream_buffer_decode(memlimit, flags, alloc?&allocator:NULL, in_, in_pos, in_size, out_, out_pos, out_size);
+    wrap_alloc_struct(alloc);
+    int ret = my->lzma_stream_buffer_decode(memlimit, flags, alloc, in_, in_pos, in_size, out_, out_pos, out_size);
+    unwrap_alloc_struct(alloc);
+    return ret;
 }
 
 EXPORT int my_lzma_stream_decoder(x64emu_t* emu, lzma_stream_t* stream, uint64_t memlimit, uint32_t flags)
 {
-    // not restoring the allocator after, so lzma_code and lzma_end can be used without "GOM" wrapping
-    if(stream->allocator)
-        wrap_alloc_struct(stream->allocator, stream->allocator);
-    return my->lzma_stream_decoder(stream, memlimit, flags);
+    wrap_alloc_struct(stream->allocator);
+    int ret = my->lzma_stream_decoder(stream, memlimit, flags);
+    unwrap_alloc_struct(stream->allocator);
+    return ret;
 }
 
 EXPORT int my_lzma_stream_encoder(x64emu_t* emu, lzma_stream_t* stream, void* filters, int check)
 {
-    // not restoring the allocator after, so lzma_code and lzma_end can be used without "GOM" wrapping
-    if(stream->allocator)
-        wrap_alloc_struct(stream->allocator, stream->allocator);
-    return my->lzma_stream_encoder(stream, filters, check);
+    wrap_alloc_struct(stream->allocator);
+    int ret = my->lzma_stream_encoder(stream, filters, check);
+    unwrap_alloc_struct(stream->allocator);
+    return ret;
 }
 
 
 EXPORT int my_lzma_easy_encoder(x64emu_t* emu, lzma_stream_t* stream, uint32_t precheck, uint32_t check)
 {
-    // not restoring the allocator after, so lzma_code and lzma_end can be used without "GOM" wrapping
-    if(stream->allocator)
-        wrap_alloc_struct(stream->allocator, stream->allocator);
-    return my->lzma_easy_encoder(stream, precheck, check);
+    wrap_alloc_struct(stream->allocator);
+    int ret = my->lzma_easy_encoder(stream, precheck, check);
+    unwrap_alloc_struct(stream->allocator);
+    return ret;
 }
 
 EXPORT int my_lzma_raw_encoder(x64emu_t* emu, lzma_stream_t* stream, void* filters)
 {
-    // not restoring the allocator after, so lzma_code and lzma_end can be used without "GOM" wrapping
-    if(stream->allocator)
-        wrap_alloc_struct(stream->allocator, stream->allocator);
-    return my->lzma_raw_encoder(stream, filters);
+    wrap_alloc_struct(stream->allocator);
+    int ret = my->lzma_raw_encoder(stream, filters);
+    unwrap_alloc_struct(stream->allocator);
+    return ret;
 }
 
 EXPORT int my_lzma_raw_decoder(x64emu_t* emu, lzma_stream_t* stream, void* filters)
 {
-    // not restoring the allocator after, so lzma_code and lzma_end can be used without "GOM" wrapping
-    if(stream->allocator)
-        wrap_alloc_struct(stream->allocator, stream->allocator);
-    return my->lzma_raw_decoder(stream, filters);
+    wrap_alloc_struct(stream->allocator);
+    int ret = my->lzma_raw_decoder(stream, filters);
+    unwrap_alloc_struct(stream->allocator);
+    return ret;
 }
 
 EXPORT int my_lzma_properties_decode(x64emu_t* emu, void* filters, lzma_allocator_t* allocator, void* props, size_t size)
 {
-    lzma_allocator_t alloc = {0};
-    wrap_alloc_struct(&alloc, allocator);
-    return my->lzma_properties_decode(filters, &alloc, props, size);
+    wrap_alloc_struct(allocator);
+    int ret = my->lzma_properties_decode(filters, allocator, props, size);
+    unwrap_alloc_struct(allocator);
+    return ret;
 }
 
 EXPORT int my_lzma_alone_decoder(x64emu_t* emu, lzma_stream_t* stream, uint64_t memlimit)
 {
-    // not restoring the allocator after, so lzma_code and lzma_end can be used without "GOM" wrapping
-    if(stream->allocator)
-        wrap_alloc_struct(stream->allocator, stream->allocator);
-    return my->lzma_alone_decoder(stream, memlimit);
+    wrap_alloc_struct(stream->allocator);
+    int ret = my->lzma_alone_decoder(stream, memlimit);
+    unwrap_alloc_struct(stream->allocator);
+    return ret;
 }
 
 EXPORT int my_lzma_alone_encoder(x64emu_t* emu, lzma_stream_t* stream, void* options)
 {
-    // not restoring the allocator after, so lzma_code and lzma_end can be used without "GOM" wrapping
-    if(stream->allocator)
-        wrap_alloc_struct(stream->allocator, stream->allocator);
-    return my->lzma_alone_encoder(stream, options);
+    wrap_alloc_struct(stream->allocator);
+    int ret = my->lzma_alone_encoder(stream, options);
+    unwrap_alloc_struct(stream->allocator);
+    return ret;
 }
 
 EXPORT int my_lzma_stream_encoder_mt(x64emu_t* emu, lzma_stream_t* stream, void* options)
 {
-    // not restoring the allocator after, so lzma_code and lzma_end can be used without "GOM" wrapping
-    if(stream->allocator)
-        wrap_alloc_struct(stream->allocator, stream->allocator);
-    return my->lzma_stream_encoder_mt(stream, options);
+    wrap_alloc_struct(stream->allocator);
+    int ret = my->lzma_stream_encoder_mt(stream, options);
+    unwrap_alloc_struct(stream->allocator);
+    return ret;
+}
+
+EXPORT int my_lzma_code(x64emu_t* emu, lzma_stream_t* stream, int a)
+{
+    wrap_alloc_struct(stream->allocator);
+    int ret = my->lzma_code(stream, a);
+    unwrap_alloc_struct(stream->allocator);
+    return ret;
+}
+
+EXPORT void my_lzma_end(x64emu_t* emu, lzma_stream_t* stream)
+{
+    wrap_alloc_struct(stream->allocator);
+    my->lzma_end(stream);
 }
 
 #define CUSTOM_INIT \
diff --git a/src/wrapped/wrappedlzma_private.h b/src/wrapped/wrappedlzma_private.h
index 274bf88a..6f8b4765 100644
--- a/src/wrapped/wrappedlzma_private.h
+++ b/src/wrapped/wrappedlzma_private.h
@@ -19,7 +19,7 @@ GO(lzma_block_uncomp_encode, uFppLppL)
 //GO(lzma_block_unpadded_size, 
 GO(lzma_check_is_supported, CFu)
 GO(lzma_check_size, uFu)
-GO(lzma_code, iFpi)
+GOM(lzma_code, iFEpi)
 GO(lzma_cputhreads, uFv)
 GO(lzma_crc32, uFpLu)
 GO(lzma_crc64, LFpLL)
@@ -27,7 +27,7 @@ GO(lzma_crc64, LFpLL)
 GO(lzma_easy_decoder_memusage, LFu)
 GOM(lzma_easy_encoder, iFEpui)
 //GO(lzma_easy_encoder_memusage, 
-GO(lzma_end, vFp)
+GOM(lzma_end, vFEp)
 GO(lzma_filter_decoder_is_supported, CFL)
 //GO(lzma_filter_encoder_is_supported, 
 //GO(lzma_filter_flags_decode, 
diff --git a/src/wrapped/wrappedmpg123.c b/src/wrapped/wrappedmpg123.c
index 6ddaf394..5b95749e 100644
--- a/src/wrapped/wrappedmpg123.c
+++ b/src/wrapped/wrappedmpg123.c
@@ -38,7 +38,7 @@ GO(4)
 static uintptr_t my_r_read_fct_##A = 0;                                 \
 static ssize_t my_r_read_##A(void* a, void* b, size_t n)             \
 {                                                                                       \
-    return (ssize_t)RunFunction(my_context, my_r_read_fct_##A, 3, a, b, n); \
+    return (ssize_t)RunFunctionFmt(my_r_read_fct_##A, "ppL", a, b, n);        \
 }
 SUPER()
 #undef GO
@@ -60,7 +60,7 @@ static void* find_r_read_Fct(void* fct)
 static uintptr_t my_r_lseek_fct_##A = 0;                                 \
 static int64_t my_r_lseek_##A(void* a, int64_t b, int n)             \
 {                                                                                       \
-    return (int64_t)RunFunction(my_context, my_r_lseek_fct_##A, 3, a, b, n); \
+    return (int64_t)RunFunctionFmt(my_r_lseek_fct_##A, "pIi", a, b, n);       \
 }
 SUPER()
 #undef GO
@@ -82,7 +82,7 @@ static void* find_r_lseek_Fct(void* fct)
 static uintptr_t my_cleanup_fct_##A = 0;                \
 static void my_cleanup_##A(void* a)                     \
 {                                                       \
-    RunFunction(my_context, my_cleanup_fct_##A, 1, a);  \
+    RunFunctionFmt(my_cleanup_fct_##A, "p", a);   \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedmpg123_private.h b/src/wrapped/wrappedmpg123_private.h
index 6b80a771..76d94aa7 100644
--- a/src/wrapped/wrappedmpg123_private.h
+++ b/src/wrapped/wrappedmpg123_private.h
@@ -16,19 +16,20 @@ GO(mpg123_decoder, iFpp)
 //GO(mpg123_decoders, 
 GO(mpg123_delete, vFp)
 GO(mpg123_delete_pars, vFp)
-//GO(mpg123_enc_from_id3, 
+GO(mpg123_enc_from_id3, iFC)
 GO(mpg123_encodings, vFpp)
 GO(mpg123_encsize, iFi)
-//GO(mpg123_eq, 
+GO(mpg123_eq, iFpiid)
 GO(mpg123_errcode, iFp)
 GO(mpg123_exit, vFv)
 GO(mpg123_feature, iFi)
+GO(mpg123_feature2, iFi)
 GO(mpg123_feed, iFppL)
 GO(mpg123_feedseek, lFplip)
 GO(mpg123_feedseek_64, IFpIip)
-//GO(mpg123_fmt, 
+GO(mpg123_fmt, iFplii)
 GO(mpg123_fmt_all, iFp)
-//GO(mpg123_fmt_none, 
+GO(mpg123_fmt_none, iFp)
 GO(mpg123_fmt_support, iFpli)
 GO(mpg123_format, iFplii)
 GO(mpg123_format_all, iFp)
@@ -43,12 +44,13 @@ GO(mpg123_framelength_64, IFp)
 GO(mpg123_framepos, IFp)
 GO(mpg123_framepos_64, IFp)
 GO(mpg123_free_string, vFp)
-//GO(mpg123_geteq, 
+GO(mpg123_geteq, dFpii)
 GO(mpg123_getformat, iFpppp)
 GO(mpg123_getformat2, iFppppi)
-//GO(mpg123_getpar, 
+GO(mpg123_getpar, iFpipp)
 GO(mpg123_getparam, iFpipp)
-//GO(mpg123_getstate, 
+GO(mpg123_getparam2, iFpipp)
+GO(mpg123_getstate, iFpipp)
 GO(mpg123_getvolume, iFpppp)
 GO(mpg123_grow_string, iFpL)
 GO(mpg123_icy, iFpp)
@@ -56,7 +58,7 @@ GO(mpg123_icy2utf8, pFp)
 GO(mpg123_id3, iFppp)
 GO(mpg123_index, iFpppp)
 GO(mpg123_index_64, iFpppp)
-//GO(mpg123_info, 
+GO(mpg123_info, iFpp)
 GO(mpg123_init, iFv)
 //GO(mpg123_init_string, 
 GO(mpg123_length, lFp)
@@ -73,8 +75,9 @@ GO(mpg123_open_feed, iFp)
 GO(mpg123_open_handle, iFpp)
 GO(mpg123_open_handle_64, iFpp)
 GO(mpg123_outblock, LFp)
-//GO(mpg123_par, 
+GO(mpg123_par, iFpild)
 GO(mpg123_param, iFpild)
+GO(mpg123_param2, iFpild)
 GO(mpg123_parnew, pFppp)
 GO(mpg123_plain_strerror, pFi)
 GO(mpg123_position, iFpllpppp)
@@ -101,7 +104,7 @@ GO(mpg123_set_index_64, iFppIL)
 GO(mpg123_set_string, iFpp)
 GO(mpg123_set_substring, iFppLL)
 //GO(mpg123_spf, 
-//GO(mpg123_store_utf8, 
+GO(mpg123_store_utf8, iFpipL)
 GO(mpg123_strerror, pFp)
 GO(mpg123_strlen, LFpi)
 GO(mpg123_supported_decoders, pFv)
@@ -115,4 +118,4 @@ GO(mpg123_timeframe, lFpd)
 GO(mpg123_timeframe_64, IFpd)
 GO(mpg123_tpf, dFp)
 //GO(mpg123_volume, 
-//GO(mpg123_volume_change, 
+GO(mpg123_volume_change, iFpd)
diff --git a/src/wrapped/wrappednspr4_private.h b/src/wrapped/wrappednspr4_private.h
index 81ef7c87..47100da7 100644
--- a/src/wrapped/wrappednspr4_private.h
+++ b/src/wrapped/wrappednspr4_private.h
@@ -9,112 +9,112 @@
 //GO(LL_MaxInt, 
 //GO(LL_MaxUint, 
 //GO(LL_MinInt, 
-//GO(LL_Zero, 
+GO(LL_Zero, lFv)
 //GO(PR_Abort, 
 //GO(PR_Accept, 
 //GO(PR_AcceptRead, 
-//GO(PR_Access, 
+GO(PR_Access, iFpu)
 //GO(PR_AddToCounter, 
 //GO(PR_AddWaitFileDesc, 
 //GO(PR_AllocFileDesc, 
-//GO(PR_Assert, 
-//GO(PR_AssertCurrentThreadInMonitor, 
-//GO(PR_AssertCurrentThreadOwnsLock, 
-//GO(PR_AtomicAdd, 
-//GO(PR_AtomicDecrement, 
+GO(PR_Assert, vFppi)
+GO(PR_AssertCurrentThreadInMonitor, vFp)
+GO(PR_AssertCurrentThreadOwnsLock, vFp)
+GO(PR_AtomicAdd, iFpi)
+GO(PR_AtomicDecrement, iFp)
 //GO(PR_AtomicIncrement, 
 //GO(PR_AtomicSet, 
-//GO(PR_AttachSharedMemory, 
+GO(PR_AttachSharedMemory, pFpi)
 //GO(PR_AttachThread, 
 //GO(PR_Available, 
 //GO(PR_Available64, 
 //GO(PR_Bind, 
 //GO(PR_BlockClockInterrupts, 
 //GO(PR_BlockInterrupt, 
-//GO(PR_Calloc, 
+GO(PR_Calloc, pFuu)
 //GO(PR_CallOnce, 
 //GO(PR_CallOnceWithArg, 
 //GO(PR_CancelJob, 
 //GO(PR_CancelWaitFileDesc, 
 //GO(PR_CancelWaitGroup, 
 //GO(PR_CeilingLog2, 
-//GO(PR_CEnterMonitor, 
+GO(PR_CEnterMonitor, pFp)
 //GO(PR_CExitMonitor, 
 //GO(PR_ChangeFileDescNativeHandle, 
-//GO(PR_Cleanup, 
+GO(PR_Cleanup, iFv)
 //GO(PR_ClearInterrupt, 
 //GO(PR_ClearThreadGCAble, 
 GO(PR_Close, iFp)
-//GO(PR_CloseDir, 
-//GO(PR_CloseFileMap, 
-//GO(PR_CloseSemaphore, 
-//GO(PR_CloseSharedMemory, 
+GO(PR_CloseDir, iFp)
+GO(PR_CloseFileMap, iFp)
+GO(PR_CloseSemaphore, iFp)
+GO(PR_CloseSharedMemory, iFp)
 //GO(PR_CNotify, 
-//GO(PR_CNotifyAll, 
-//GO(PR_cnvtf, 
+GO(PR_CNotifyAll, iFp)
+GO(PR_cnvtf, vFpiid)
 //GO(PR_Connect, 
 //GO(PR_ConnectContinue, 
-//GO(PR_ConvertIPv4AddrToIPv6, 
+GO(PR_ConvertIPv4AddrToIPv6, vFup)
 //GO(PR_CreateAlarm, 
 //GO(PR_CreateCounter, 
 //GO(PR_CreateFileMap, 
 //GO(PR_CreateIOLayer, 
 //GO(PR_CreateIOLayerStub, 
-//GO(PR_CreateMWaitEnumerator, 
+GO(PR_CreateMWaitEnumerator, pFp)
 //GO(PR_CreateOrderedLock, 
-//GO(PR_CreatePipe, 
-//GO(PR_CreateProcess, 
-//GO(PR_CreateProcessDetached, 
+GO(PR_CreatePipe, iFpp)
+GO(PR_CreateProcess, pFpppp)
+GO(PR_CreateProcessDetached, iFpppp)
 //GO(PR_CreateSocketPollFd, 
-//GO(PR_CreateStack, 
+GO(PR_CreateStack, pFp)
 //GO(PR_CreateThread, 
 //GO(PR_CreateThreadGCAble, 
-//GO(PR_CreateThreadPool, 
-//GO(PR_CreateTrace, 
-//GO(PR_CreateWaitGroup, 
+GO(PR_CreateThreadPool, pFiiu)
+GO(PR_CreateTrace, pFppp)
+GO(PR_CreateWaitGroup, pFi)
 //GO(PR_CSetOnMonitorRecycle, 
-//GO(PR_CWait, 
+GO(PR_CWait, iFpu)
 //GO(PR_DecrementCounter, 
 //GO(PR_Delete, 
 //GO(PR_DeleteSemaphore, 
-//GO(PR_DeleteSharedMemory, 
+GO(PR_DeleteSharedMemory, iFp)
 //GO(PR_DestroyAlarm, 
-//GO(PR_DestroyCondVar, 
+GO(PR_DestroyCondVar, vFp)
 //GO(PR_DestroyCounter, 
 //GO(PR_DestroyLock, 
 //GO(PR_DestroyMonitor, 
-//GO(PR_DestroyMWaitEnumerator, 
+GO(PR_DestroyMWaitEnumerator, iFp)
 //GO(PR_DestroyOrderedLock, 
 //GO(PR_DestroyPollableEvent, 
-//GO(PR_DestroyProcessAttr, 
+GO(PR_DestroyProcessAttr, vFp)
 //GO(PR_DestroyRWLock, 
 //GO(PR_DestroySem, 
 //GO(PR_DestroySocketPollFd, 
-//GO(PR_DestroyStack, 
-//GO(PR_DestroyTrace, 
-//GO(PR_DestroyWaitGroup, 
+GO(PR_DestroyStack, iFp)
+GO(PR_DestroyTrace, vFp)
+GO(PR_DestroyWaitGroup, iFp)
 //GO(PR_DetachProcess, 
-//GO(PR_DetachSharedMemory, 
+GO(PR_DetachSharedMemory, iFpp)
 GO(PR_DetachThread, vFv)
 //GO(PR_DisableClockInterrupts, 
-//GO(PR_dtoa, 
-//GO(PR_DuplicateEnvironment, 
+GO(PR_dtoa, iFdiippppL)
+GO(PR_DuplicateEnvironment, pFv)
 GO(PR_EmulateAcceptRead, iFppppiu)
 GO(PR_EmulateSendFile, iFppiu)
 //GO(PR_EnableClockInterrupts, 
 //GO(PR_EnterMonitor, 
-//GO(PR_EnumerateAddrInfo, 
-//GO(PR_EnumerateHostEnt, 
+GO(PR_EnumerateAddrInfo, pFppWp)
+GO(PR_EnumerateHostEnt, iFipWp)
 //GO(PR_EnumerateThreads, 
 //GO(PR_EnumerateWaitGroup, 
 //GO(PR_ErrorInstallCallback, 
-//GO(PR_ErrorInstallTable, 
-//GO(PR_ErrorLanguages, 
+GO(PR_ErrorInstallTable, iFp)
+GO(PR_ErrorLanguages, pFv)
 GO(PR_ErrorToName, pFi)
-//GO(PR_ErrorToString, 
+GO(PR_ErrorToString, pFiu)
 //GO(PR_ExitMonitor, 
 //GO(PR_ExplodeTime, 
-//GO(PR_ExportFileMapAsString, 
+GO(PR_ExportFileMapAsString, iFpLp)
 //GO(PR_FD_CLR, 
 //GO(PR_FD_ISSET, 
 //GO(PR_FD_NCLR, 
@@ -123,29 +123,29 @@ GO(PR_ErrorToName, pFi)
 //GO(PR_FD_SET, 
 //GO(PR_FD_ZERO, 
 //GO(PR_FileDesc2NativeHandle, 
-//GO(PR_FindFunctionSymbol, 
-//GO(PR_FindFunctionSymbolAndLibrary, 
+GO(PR_FindFunctionSymbol, pFpp)
+GO(PR_FindFunctionSymbolAndLibrary, pFpp)
 //GO(PR_FindNextCounterQname, 
 //GO(PR_FindNextCounterRname, 
-//GO(PR_FindNextTraceQname, 
-//GO(PR_FindNextTraceRname, 
-//GO(PR_FindSymbol, 
-//GO(PR_FindSymbolAndLibrary, 
-//GO(PR_FloorLog2, 
-//GO(PR_FormatTime, 
-//GO(PR_FormatTimeUSEnglish, 
+GO(PR_FindNextTraceQname, pFp)
+GO(PR_FindNextTraceRname, pFpp)
+GO(PR_FindSymbol, pFpp)
+GO(PR_FindSymbolAndLibrary, pFpp)
+GO(PR_FloorLog2, iFu)
+GO(PR_FormatTime, uFpipp)
+GO(PR_FormatTimeUSEnglish, uFpupp)
 //GO(PR_fprintf, 
 //GO(PR_FPrintZoneStats, 
-//GO(PR_Free, 
-//GO(PR_FreeAddrInfo, 
+GO(PR_Free, vFp)
+GO(PR_FreeAddrInfo, vFp)
 //GO(PR_FreeLibraryName, 
-//GO(PR_GetAddrInfoByName, 
-//GO(PR_GetCanonNameFromAddrInfo, 
+GO(PR_GetAddrInfoByName, pFpWi)
+GO(PR_GetCanonNameFromAddrInfo, pFp)
 //GO(PR_GetConnectStatus, 
 //GO(PR_GetCounter, 
 //GO(PR_GetCounterHandleFromName, 
 //GO(PR_GetCounterNameFromHandle, 
-//GO(PR_GetCurrentThread, 
+GO(PR_GetCurrentThread, pFv)
 //GO(PR_GetDefaultIOMethods, 
 //GO(PR_GetDescType, 
 //GO(PR_GetDirectorySeparator, 
@@ -155,86 +155,86 @@ GO(PR_ErrorToName, pFi)
 GO(PR_GetError, iFv)
 GO(PR_GetErrorText, iFp)
 GO(PR_GetErrorTextLength, iFv)
-//GO(PR_GetFileInfo, 
-//GO(PR_GetFileInfo64, 
+GO(PR_GetFileInfo, iFpp)
+GO(PR_GetFileInfo64, iFpp)
 //GO(PR_GetFileMethods, 
 //GO(PR_GetGCRegisters, 
-//GO(PR_GetHostByAddr, 
-//GO(PR_GetHostByName, 
+GO(PR_GetHostByAddr, iFppip)
+GO(PR_GetHostByName, iFppip)
 //GO(PR_GetIdentitiesLayer, 
 //GO(PR_GetInheritedFD, 
 //GO(PR_GetInheritedFileMap, 
-//GO(PR_GetIPNodeByName, 
+GO(PR_GetIPNodeByName, iFpWipip)
 //GO(PR_GetLayersIdentity, 
 //GO(PR_GetLibraryFilePathname, 
-//GO(PR_GetLibraryName, 
-//GO(PR_GetLibraryPath, 
+GO(PR_GetLibraryName, pFpp)
+GO(PR_GetLibraryPath, pFv)
 //GO(PR_GetMemMapAlignment, 
 //GO(PR_GetMonitorEntryCount, 
-//GO(PR_GetNameForIdentity, 
-//GO(PR_GetNumberOfProcessors, 
+GO(PR_GetNameForIdentity, pFi)
+GO(PR_GetNumberOfProcessors, iFv)
 //GO(PR_GetOpenFileInfo, 
 //GO(PR_GetOpenFileInfo64, 
 GO(PR_GetOSError, iFv)
 //GO(PR_GetPageShift, 
 //GO(PR_GetPageSize, 
-//GO(PR_GetPathSeparator, 
+GO(PR_GetPathSeparator, cFv)
 //GO(PR_GetPeerName, 
-//GO(PR_GetPhysicalMemorySize, 
+GO(PR_GetPhysicalMemorySize, LFv)
 //GO(PR_GetPipeMethods, 
-//GO(PR_GetProtoByName, 
-//GO(PR_GetProtoByNumber, 
-//GO(PR_GetRandomNoise, 
+GO(PR_GetProtoByName, iFppip)
+GO(PR_GetProtoByNumber, iFipip)
+GO(PR_GetRandomNoise, LFpL)
 //GO(PR_GetSocketOption, 
 //GO(PR_GetSockName, 
 //GO(PR_GetSP, 
 //GO(PR_GetSpecialFD, 
 //GO(PR_GetStackSpaceLeft, 
 //GO(PR_GetSysfdTableMax, 
-//GO(PR_GetSystemInfo, 
+GO(PR_GetSystemInfo, iFupu)
 //GO(PR_GetTCPMethods, 
 //GO(PR_GetThreadAffinityMask, 
 //GO(PR_GetThreadID, 
-//GO(PR_GetThreadName, 
-//GO(PR_GetThreadPriority, 
-//GO(PR_GetThreadPrivate, 
-//GO(PR_GetThreadScope, 
-//GO(PR_GetThreadState, 
-//GO(PR_GetThreadType, 
-//GO(PR_GetTraceEntries, 
-//GO(PR_GetTraceHandleFromName, 
-//GO(PR_GetTraceNameFromHandle, 
-//GO(PR_GetTraceOption, 
+GO(PR_GetThreadName, pFp)
+GO(PR_GetThreadPriority, uFp)
+GO(PR_GetThreadPrivate, pFu)
+GO(PR_GetThreadScope, uFp)
+GO(PR_GetThreadState, uFp)
+GO(PR_GetThreadType, uFp)
+GO(PR_GetTraceEntries, iFpip)
+GO(PR_GetTraceHandleFromName, pFpp)
+GO(PR_GetTraceNameFromHandle, vFpppp)
+GO(PR_GetTraceOption, vFup)
 //GO(PR_GetUDPMethods, 
-//GO(PR_GetUniqueIdentity, 
-//GO(PR_GetVersion, 
+GO(PR_GetUniqueIdentity, iFp)
+GO(PR_GetVersion, pFv)
 //GO(PR_GMTParameters, 
-//GO(PR_htonl, 
-//GO(PR_htonll, 
-//GO(PR_htons, 
-//GO(PR_ImplodeTime, 
+GO(PR_htonl, uFu)
+GO(PR_htonll, LFL)
+GO(PR_htons, WFW)
+GO(PR_ImplodeTime, lFp)
 //GO(PR_ImportFile, 
-//GO(PR_ImportFileMapFromString, 
+GO(PR_ImportFileMapFromString, pFp)
 //GO(PR_ImportPipe, 
 GO(PR_ImportTCPSocket, pFi)
 //GO(PR_ImportUDPSocket, 
 //GO(PR_IncrementCounter, 
-GO(PR_Init, vFiii)
+GO(PR_Init, vFuuu)
 //GO(PR_Initialize, 
 GO(PR_Initialized, iFv)
-//GO(PR_InitializeNetAddr, 
-//GO(PR_Interrupt, 
-//GO(PR_IntervalNow, 
-//GO(PR_IntervalToMicroseconds, 
+GO(PR_InitializeNetAddr, iFuWp)
+GO(PR_Interrupt, iFp)
+GO(PR_IntervalNow, uFv)
+GO(PR_IntervalToMicroseconds, uFu)
 GO(PR_IntervalToMilliseconds, uFu)
 //GO(PR_IntervalToSeconds, 
-//GO(PR_IsNetAddrType, 
-//GO(PR_JoinJob, 
+GO(PR_IsNetAddrType, iFpu)
+GO(PR_JoinJob, iFp)
 //GO(PR_JoinThread, 
-//GO(PR_JoinThreadPool, 
-//GO(PR_KillProcess, 
+GO(PR_JoinThreadPool, iFp)
+GO(PR_KillProcess, iFp)
 //GO(PR_Listen, 
-//GO(PR_LoadLibrary, 
+//GO(PR_LoadLibrary, pFp)   // needs wrapping
 //GO(PR_LoadLibraryWithFlags, 
 //GO(PR_LoadStaticLibrary, 
 //GO(PR_LocalTimeParameters, 
@@ -243,46 +243,46 @@ GO(PR_IntervalToMilliseconds, uFu)
 //GO(PR_LockOrderedLock, 
 //GO(PR_LogFlush, 
 //GO(PR_LogPrint, 
-//GO(PR_MakeDir, 
-//GO(PR_Malloc, 
-//GO(PR_MemMap, 
-//GO(PR_MemUnmap, 
-//GO(PR_MicrosecondsToInterval, 
+GO(PR_MakeDir, iFpi)
+GO(PR_Malloc, pFu)
+//GO(PR_MemMap, pFplu)  // needs wrapping
+//GO(PR_MemUnmap, iFpu) // needs wrapping
+GO(PR_MicrosecondsToInterval, uFu)
 //GO(PR_MillisecondsToInterval, 
 //GO(PR_MkDir, 
-//GO(PR_NetAddrToString, 
-//GO(PR_NewCondVar, 
-//GO(PR_NewLock, 
-//GO(PR_NewLogModule, 
-//GO(PR_NewMonitor, 
+GO(PR_NetAddrToString, iFppu)
+GO(PR_NewCondVar, pFp)
+GO(PR_NewLock, pFv)
+GO(PR_NewLogModule, pFp)
+GO(PR_NewMonitor, pFv)
 //GO(PR_NewNamedMonitor, 
 //GO(PR_NewPollableEvent, 
-//GO(PR_NewProcessAttr, 
-//GO(PR_NewRWLock, 
+GO(PR_NewProcessAttr, pFv)
+GO(PR_NewRWLock, pFup)
 //GO(PR_NewSem, 
 //GO(PR_NewTCPSocket, 
-//GO(PR_NewTCPSocketPair, 
+GO(PR_NewTCPSocketPair, iFp)
 //GO(PR_NewThreadPrivateIndex, 
 //GO(PR_NewUDPSocket, 
 //GO(PR_NormalizeTime, 
 //GO(PR_Notify, 
-//GO(PR_NotifyAll, 
-//GO(PR_NotifyAllCondVar, 
+GO(PR_NotifyAll, iFp)
+GO(PR_NotifyAllCondVar, iFp)
 //GO(PR_NotifyCondVar, 
-GO(PR_Now, pFv)
+GO(PR_Now, lFv)
 //GO(PR_ntohl, 
 //GO(PR_ntohll, 
 //GO(PR_ntohs, 
 //GO(PR_Open, 
-//GO(PR_OpenAnonFileMap, 
-//GO(PR_OpenDir, 
+GO(PR_OpenAnonFileMap, pFpLu)
+GO(PR_OpenDir, pFp)
 //GO(PR_OpenFile, 
-//GO(PR_OpenSemaphore, 
-//GO(PR_OpenSharedMemory, 
+GO(PR_OpenSemaphore, pFpiiu)
+GO(PR_OpenSharedMemory, pFpLii)
 //GO(PR_OpenTCPSocket, 
 //GO(PR_OpenUDPSocket, 
-//GO(PR_ParseTimeString, 
-//GO(PR_ParseTimeStringToExplodedTime, 
+GO(PR_ParseTimeString, iFpip)
+GO(PR_ParseTimeStringToExplodedTime, iFpip)
 //GO(PRP_DestroyNakedCondVar, 
 //GO(PRP_NakedBroadcast, 
 //GO(PRP_NakedNotify, 
@@ -292,9 +292,9 @@ GO(PR_Now, pFv)
 //GO(PR_PopIOLayer, 
 //GO(PR_PostSem, 
 //GO(PR_PostSemaphore, 
-//GO(PR_ProcessAttrSetCurrentDirectory, 
+GO(PR_ProcessAttrSetCurrentDirectory, iFpp)
 //GO(PR_ProcessAttrSetInheritableFD, 
-//GO(PR_ProcessAttrSetInheritableFileMap, 
+GO(PR_ProcessAttrSetInheritableFileMap, iFppp)
 //GO(PR_ProcessAttrSetStdioRedirect, 
 //GO(PR_ProcessExit, 
 //GO(PRP_TryLock, 
@@ -307,18 +307,18 @@ GO(PR_Now, pFv)
 //GO(PR_QueueJob_Timer, 
 //GO(PR_QueueJob_Write, 
 GO(PR_Read, iFppi)
-//GO(PR_ReadDir, 
-//GO(PR_Realloc, 
-//GO(PR_RecordTraceEntries, 
+GO(PR_ReadDir, pFpu)
+GO(PR_Realloc, pFpu)
+GO(PR_RecordTraceEntries, vFv)
 //GO(PR_Recv, 
 //GO(PR_RecvFrom, 
-//GO(PR_Rename, 
+GO(PR_Rename, iFpp)
 //GO(PR_ResetAlarm, 
 //GO(PR_ResetProcessAttr, 
 //GO(PR_ResumeAll, 
 //GO(PR_RmDir, 
 //GO(PR_RWLock_Rlock, 
-//GO(PR_RWLock_Unlock, 
+GO(PR_RWLock_Unlock, vFp)
 //GO(PR_RWLock_Wlock, 
 //GO(PR_ScanStackPointers, 
 //GO(PR_SecondsToInterval, 
@@ -329,18 +329,18 @@ GO(PR_Read, iFppi)
 //GO(PR_SendFile, 
 //GO(PR_SendTo, 
 //GO(PR_SetAlarm, 
-//GO(PR_SetConcurrency, 
+GO(PR_SetConcurrency, vFu)
 //GO(PR_SetCounter, 
 //GO(PR_SetCurrentThreadName, 
 //GO(PR_SetEnv, 
-//GO(PR_SetError, 
-//GO(PR_SetErrorText, 
-//GO(PR_SetFDCacheSize, 
+GO(PR_SetError, vFii)
+GO(PR_SetErrorText, vFip)
+GO(PR_SetFDCacheSize, iFii)
 //GO(PR_SetFDInheritable, 
 //GO(PR_SetLibraryPath, 
-//GO(PR_SetLogBuffering, 
-//GO(PR_SetLogFile, 
-//GO(PR_SetNetAddr, 
+GO(PR_SetLogBuffering, vFi)
+GO(PR_SetLogFile, iFp)
+GO(PR_SetNetAddr, iFuWWp)
 //GO(PR_SetPollableEvent, 
 GO(PR_SetSocketOption, iFpp)
 //GO(PR_SetStdioRedirect, 
@@ -348,24 +348,24 @@ GO(PR_SetSocketOption, iFpp)
 //GO(PR_SetThreadAffinityMask, 
 //GO(PR_SetThreadDumpProc, 
 //GO(PR_SetThreadGCAble, 
-//GO(PR_SetThreadPriority, 
-//GO(PR_SetThreadPrivate, 
+GO(PR_SetThreadPriority, vFpu)
+GO(PR_SetThreadPrivate, iFup)
 //GO(PR_SetThreadRecycleMode, 
 //GO(PR_SetTraceOption, 
 //GO(PR_Shutdown, 
 //GO(PR_ShutdownThreadPool, 
-//GO(PR_Sleep, 
+GO(PR_Sleep, iFu)
 //GO(PR_smprintf, 
 GO(PR_smprintf_free, vFp)
 //GO(PR_snprintf, 
 //GO(PR_Socket, 
 //GO(PR_sprintf_append, 
 //GO(PR_sscanf, 
-//GO(PR_StackPop, 
-//GO(PR_StackPush, 
+GO(PR_StackPop, pFp)
+GO(PR_StackPush, vFpp)
 //GO(PR_Stat, 
-//GO(PR_StringToNetAddr, 
-//GO(PR_strtod, 
+GO(PR_StringToNetAddr, iFpp)
+GO(PR_strtod, dFpp)
 //GO(PR_SubtractFromCounter, 
 //GO(PR_SuspendAll, 
 //GO(PR_sxprintf, 
@@ -373,27 +373,27 @@ GO(PR_smprintf_free, vFp)
 //GO(PR_SyncMemMap, 
 //GO(_pr_test_ipv6_socket, 
 //GO(PR_ThreadScanStackPointers, 
-//GO(PR_TicksPerSecond, 
+GO(PR_TicksPerSecond, uFv)
 //GO(PR_TLockFile, 
-//GO(PR_Trace, 
+GO(PR_Trace, vFpuuuuuuuu)
 //GO(PR_TransmitFile, 
 //GO(PR_UnblockClockInterrupts, 
 //GO(PR_UnblockInterrupt, 
-//GO(PR_UnloadLibrary, 
-//GO(PR_Unlock, 
+GO(PR_UnloadLibrary, iFp)
+GO(PR_Unlock, iFp)
 //GO(PR_UnlockFile, 
 //GO(PR_UnlockOrderedLock, 
 //GO(PR_USPacificTimeParameters, 
 //GO(PR_VersionCheck, 
 //GO(PR_vfprintf, 
-//GO(PR_vsmprintf, 
-//GO(PR_vsnprintf, 
-//GO(PR_vsprintf_append, 
+GO(PR_vsmprintf, pFpp)
+GO(PR_vsnprintf, uFpupp)
+GO(PR_vsprintf_append, pFppp)
 //GO(PR_vsxprintf, 
-//GO(PR_Wait, 
-//GO(PR_WaitCondVar, 
+GO(PR_Wait, iFpu)
+GO(PR_WaitCondVar, iFpu)
 //GO(PR_WaitForPollableEvent, 
-//GO(PR_WaitProcess, 
+GO(PR_WaitProcess, iFpp)
 //GO(PR_WaitRecvReady, 
 //GO(PR_WaitSem, 
 //GO(PR_WaitSemaphore, 
diff --git a/src/wrapped/wrappednss3.c b/src/wrapped/wrappednss3.c
index 00a0766f..e64ac396 100644
--- a/src/wrapped/wrappednss3.c
+++ b/src/wrapped/wrappednss3.c
@@ -37,7 +37,7 @@ GO(4)
 static uintptr_t my_PK11PasswordFunc_fct_##A = 0;                                   \
 static void* my_PK11PasswordFunc_##A(void* a, int b, void* c)                       \
 {                                                                                   \
-    return (void*)RunFunction(my_context, my_PK11PasswordFunc_fct_##A, 3, a, b, c); \
+    return (void*)RunFunctionFmt(my_PK11PasswordFunc_fct_##A, "pip", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -60,7 +60,7 @@ static void* find_PK11PasswordFunc_Fct(void* fct)
 static uintptr_t my_CERT_StringFromCertFcn_fct_##A = 0;                             \
 static void* my_CERT_StringFromCertFcn_##A(void* a)                                 \
 {                                                                                   \
-    return (void*)RunFunction(my_context, my_CERT_StringFromCertFcn_fct_##A, 1, a); \
+    return (void*)RunFunctionFmt(my_CERT_StringFromCertFcn_fct_##A, "p", a); \
 }
 SUPER()
 #undef GO
@@ -92,7 +92,7 @@ static void* reverse_CERT_StringFromCertFcn_Fct(library_t* lib, void* fct)
 static uintptr_t my_CERTChainVerifyCallbackFunc_fct_##A = 0;                                    \
 static int my_CERTChainVerifyCallbackFunc_##A(void* a, void* b, void* c)                        \
 {                                                                                               \
-    return (int)RunFunction(my_context, my_CERTChainVerifyCallbackFunc_fct_##A, 3, a, b, c);    \
+    return (int)RunFunctionFmt(my_CERTChainVerifyCallbackFunc_fct_##A, "ppp", a, b, c);    \
 }
 SUPER()
 #undef GO
@@ -124,7 +124,7 @@ static void* reverse_CERTChainVerifyCallbackFunc_Fct(library_t* lib, void* fct)
 static uintptr_t my_PORTCharConversionWSwapFunc_fct_##A = 0;                                                    \
 static int my_PORTCharConversionWSwapFunc_##A(int a, void* b, uint32_t c, void* d, uint32_t e, void* f, int g)  \
 {                                                                                                               \
-    return (int)RunFunction(my_context, my_PORTCharConversionWSwapFunc_fct_##A, 7, a, b, c, d, e, f, g);        \
+    return (int)RunFunctionFmt(my_PORTCharConversionWSwapFunc_fct_##A, "ipupupi", a, b, c, d, e, f, g);        \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappednss3_private.h b/src/wrapped/wrappednss3_private.h
index 9cc602b9..4571086e 100644
--- a/src/wrapped/wrappednss3_private.h
+++ b/src/wrapped/wrappednss3_private.h
@@ -7,57 +7,57 @@
 // CK_ATTRIBUTE_TYPE is type ULong
 // SECOidTag is an enum
 
-//GO(ATOB_AsciiToData, 
-//GO(ATOB_ConvertAsciiToItem, 
+GO(ATOB_AsciiToData, pFpp)
+GO(ATOB_ConvertAsciiToItem, iFpp)
 //GO(BTOA_ConvertItemToAscii, 
-//GO(BTOA_DataToAscii, 
-//GO(CERT_AddCertToListHead, 
+GO(BTOA_DataToAscii, pFpu)
+GO(CERT_AddCertToListHead, iFpp)
 //GO(CERT_AddCertToListSorted, 
 GO(CERT_AddCertToListTail, iFpp)
-//GO(CERT_AddExtension, 
-//GO(CERT_AddExtensionByOID, 
+GO(CERT_AddExtension, iFpipii)
+GO(CERT_AddExtensionByOID, iFpppii)
 //GO(CERT_AddOCSPAcceptableResponses, 
-//GO(CERT_AddOKDomainName, 
-//GO(CERT_AddRDN, 
+GO(CERT_AddOKDomainName, iFpp)
+GO(CERT_AddRDN, iFpp)
 //GO(__CERT_AddTempCertToPerm, 
-//GO(CERT_AllocCERTRevocationFlags, 
-//GO(CERT_AsciiToName, 
+GO(CERT_AllocCERTRevocationFlags, pFuuuu)
+GO(CERT_AsciiToName, pFp)
 //GO(CERT_CacheCRL, 
-//GO(CERT_CacheOCSPResponseFromSideChannel, 
-//GO(CERT_CertChainFromCert, 
+GO(CERT_CacheOCSPResponseFromSideChannel, iFpplpp)
+GO(CERT_CertChainFromCert, pFpui)
 //DATA(CERT_CertificateRequestTemplate, 
 DATA(CERT_CertificateTemplate, 480)
-//GO(CERT_CertListFromCert, 
+GO(CERT_CertListFromCert, pFp)
 //GO(CERT_CertTimesValid, 
 GO(CERT_ChangeCertTrust, iFppp)
-//GO(CERT_CheckCertUsage, 
-GO(CERT_CheckCertValidTimes, iFpIi)
-//GO(CERT_CheckNameSpace, 
-//GO(CERT_CheckOCSPStatus, 
-//GO(CERT_ClearOCSPCache, 
+GO(CERT_CheckCertUsage, iFpC)
+GO(CERT_CheckCertValidTimes, uFpli)
+GO(CERT_CheckNameSpace, iFppp)
+GO(CERT_CheckOCSPStatus, iFpplp)
+GO(CERT_ClearOCSPCache, iFv)
 //GO(__CERT_ClosePermCertDB, 
-//GO(CERT_CompareAVA, 
+GO(CERT_CompareAVA, iFpp)
 GO(CERT_CompareCerts, iFpp)
 GO(CERT_CompareName, iFpp)
 //GO(CERT_CompareValidityTimes, 
-//GO(CERT_CompleteCRLDecodeEntries, 
-//GO(CERT_CopyName, 
-//GO(CERT_CopyRDN, 
-//GO(CERT_CreateAVA, 
-//GO(CERT_CreateCertificate, 
-//GO(CERT_CreateCertificateRequest, 
-//GO(CERT_CreateEncodedOCSPErrorResponse, 
-//GO(CERT_CreateEncodedOCSPSuccessResponse, 
+GO(CERT_CompleteCRLDecodeEntries, iFp)
+GO(CERT_CopyName, iFppp)
+GO(CERT_CopyRDN, iFppp)
+GO(CERT_CreateAVA, pFpuip)
+GO(CERT_CreateCertificate, pFLppp)
+GO(CERT_CreateCertificateRequest, pFppp)
+GO(CERT_CreateEncodedOCSPErrorResponse, pFpi)
+GO(CERT_CreateEncodedOCSPSuccessResponse, pFppilpp)
 //GO(CERT_CreateName, 
-//GO(CERT_CreateOCSPCertID, 
-//GO(CERT_CreateOCSPRequest, 
+GO(CERT_CreateOCSPCertID, pFpl)
+GO(CERT_CreateOCSPRequest, pFplip)
 //GO(CERT_CreateOCSPSingleResponseGood, 
-//GO(CERT_CreateOCSPSingleResponseRevoked, 
-//GO(CERT_CreateOCSPSingleResponseUnknown, 
+GO(CERT_CreateOCSPSingleResponseRevoked, pFpplplp)
+GO(CERT_CreateOCSPSingleResponseUnknown, pFpplp)
 //GO(CERT_CreateRDN, 
-GO(CERT_CreateSubjectCertList, pFpppIi)
-GO(CERT_CreateValidity, pFII)
-//GO(CERT_CRLCacheRefreshIssuer, 
+GO(CERT_CreateSubjectCertList, pFpppli)
+GO(CERT_CreateValidity, pFll)
+GO(CERT_CRLCacheRefreshIssuer, vFpp)
 //DATA(CERT_CrlTemplate, 
 GO(CERT_DecodeAltNameExtension, pFpp)
 GO(CERT_DecodeAuthInfoAccessExtension, pFpp)
@@ -67,231 +67,231 @@ GO(CERT_DecodeBasicConstraintValue, iFpp)
 GO(CERT_DecodeCertificatePoliciesExtension, pFp)
 GO(CERT_DecodeCRLDistributionPoints, pFpp)
 //GO(__CERT_DecodeDERCertificate, 
-//GO(CERT_DecodeDERCrl, 
-//GO(CERT_DecodeDERCrlWithFlags, 
-//GO(CERT_DecodeGeneralName, 
-//GO(CERT_DecodeNameConstraintsExtension, 
-//GO(CERT_DecodeOCSPRequest, 
-//GO(CERT_DecodeOCSPResponse, 
+GO(CERT_DecodeDERCrl, pFppi)
+GO(CERT_DecodeDERCrlWithFlags, pFppii)
+GO(CERT_DecodeGeneralName, pFppp)
+GO(CERT_DecodeNameConstraintsExtension, pFpp)
+GO(CERT_DecodeOCSPRequest, pFp)
+GO(CERT_DecodeOCSPResponse, pFp)
 GO(CERT_DecodeOidSequence, pFp)
-//GO(CERT_DecodePrivKeyUsagePeriodExtension, 
-//GO(CERT_DecodeTrustString, 
+GO(CERT_DecodePrivKeyUsagePeriodExtension, pFpp)
+GO(CERT_DecodeTrustString, iFpp)
 GO(CERT_DecodeUserNotice, pFp)
-//GO(CERT_DerNameToAscii, 
-//GO(CERT_DestroyCertArray, 
+GO(CERT_DerNameToAscii, pFp)
+GO(CERT_DestroyCertArray, vFpu)
 GO(CERT_DestroyCertificate, vFp)
 GO(CERT_DestroyCertificateList, vFp)
 GO(CERT_DestroyCertificatePoliciesExtension, vFp)
 GO(CERT_DestroyCertificateRequest, vFp)
 GO(CERT_DestroyCertList, vFp)
-//GO(CERT_DestroyCERTRevocationFlags, 
+GO(CERT_DestroyCERTRevocationFlags, vFp)
 GO(CERT_DestroyName, vFp)
-//GO(CERT_DestroyOCSPCertID, 
-//GO(CERT_DestroyOCSPRequest, 
-//GO(CERT_DestroyOCSPResponse, 
+GO(CERT_DestroyOCSPCertID, iFp)
+GO(CERT_DestroyOCSPRequest, vFp)
+GO(CERT_DestroyOCSPResponse, vFp)
 GO(CERT_DestroyOidSequence, vFp)
 GO(CERT_DestroyUserNotice, vFp)
 GO(CERT_DestroyValidity, vFp)
 //GO(CERT_DisableOCSPChecking, 
-//GO(CERT_DisableOCSPDefaultResponder, 
-//GO(CERT_DistNamesFromCertList, 
+GO(CERT_DisableOCSPDefaultResponder, iFp)
+GO(CERT_DistNamesFromCertList, pFp)
 GO(CERT_DupCertificate, pFp)
-//GO(CERT_DupCertList, 
-//GO(CERT_DupDistNames, 
+GO(CERT_DupCertList, pFp)
+GO(CERT_DupDistNames, pFp)
 //GO(CERT_EnableOCSPChecking, 
 //GO(CERT_EnableOCSPDefaultResponder, 
-//GO(CERT_EncodeAltNameExtension, 
-//GO(CERT_EncodeAndAddBitStrExtension, 
-//GO(CERT_EncodeAuthKeyID, 
-//GO(CERT_EncodeBasicConstraintValue, 
-//GO(CERT_EncodeCertPoliciesExtension, 
-//GO(CERT_EncodeCRLDistributionPoints, 
-//GO(CERT_EncodeGeneralName, 
-//GO(CERT_EncodeInfoAccessExtension, 
-//GO(CERT_EncodeInhibitAnyExtension, 
+GO(CERT_EncodeAltNameExtension, iFppp)
+GO(CERT_EncodeAndAddBitStrExtension, iFpipi)
+GO(CERT_EncodeAuthKeyID, iFppp)
+GO(CERT_EncodeBasicConstraintValue, iFppp)
+GO(CERT_EncodeCertPoliciesExtension, iFppp)
+GO(CERT_EncodeCRLDistributionPoints, iFppp)
+GO(CERT_EncodeGeneralName, pFppp)
+GO(CERT_EncodeInfoAccessExtension, iFppp)
+GO(CERT_EncodeInhibitAnyExtension, iFppp)
 //GO(CERT_EncodeNameConstraintsExtension, 
-//GO(CERT_EncodeNoticeReference, 
-//GO(CERT_EncodeOCSPRequest, 
-//GO(CERT_EncodePolicyConstraintsExtension, 
-//GO(CERT_EncodePolicyMappingExtension, 
-//GO(CERT_EncodeSubjectKeyID, 
-//GO(CERT_EncodeUserNotice, 
+GO(CERT_EncodeNoticeReference, iFppp)
+GO(CERT_EncodeOCSPRequest, pFppp)
+GO(CERT_EncodePolicyConstraintsExtension, iFppp)
+GO(CERT_EncodePolicyMappingExtension, iFppp)
+GO(CERT_EncodeSubjectKeyID, iFppp)
+GO(CERT_EncodeUserNotice, iFppp)
 GO(CERT_ExtractPublicKey, pFp)
-//GO(CERT_FilterCertListByCANames, 
-//GO(CERT_FilterCertListByUsage, 
-//GO(CERT_FilterCertListForUserCerts, 
+GO(CERT_FilterCertListByCANames, iFpipu)
+GO(CERT_FilterCertListByUsage, iFpui)
+GO(CERT_FilterCertListForUserCerts, iFp)
 GO(CERT_FindCertByDERCert, pFpp)
-//GO(CERT_FindCertByIssuerAndSN, 
-//GO(CERT_FindCertByIssuerAndSNCX, 
+GO(CERT_FindCertByIssuerAndSN, pFpp)
+GO(CERT_FindCertByIssuerAndSNCX, pFppp)
 GO(CERT_FindCertByName, pFpp)
 //GO(CERT_FindCertByNickname, 
-//GO(CERT_FindCertByNicknameOrEmailAddr, 
-//GO(CERT_FindCertByNicknameOrEmailAddrCX, 
-//GO(CERT_FindCertByNicknameOrEmailAddrForUsage, 
-//GO(CERT_FindCertByNicknameOrEmailAddrForUsageCX, 
+GO(CERT_FindCertByNicknameOrEmailAddr, pFpp)
+GO(CERT_FindCertByNicknameOrEmailAddrCX, pFppp)
+GO(CERT_FindCertByNicknameOrEmailAddrForUsage, pFppu)
+GO(CERT_FindCertByNicknameOrEmailAddrForUsageCX, pFppup)
 //GO(CERT_FindCertBySubjectKeyID, 
-GO(CERT_FindCertExtension, iFppp)
-//GO(CERT_FindCertIssuer, 
-//GO(CERT_FindCRLEntryReasonExten, 
-//GO(CERT_FindCRLNumberExten, 
+GO(CERT_FindCertExtension, iFpip)
+GO(CERT_FindCertIssuer, pFplu)
+GO(CERT_FindCRLEntryReasonExten, iFpp)
+GO(CERT_FindCRLNumberExten, iFppp)
 //GO(CERT_FindKeyUsageExtension, 
-//GO(CERT_FindNameConstraintsExten, 
-//GO(CERT_FindSMimeProfile, 
-//GO(CERT_FindSubjectKeyIDExtension, 
-//GO(CERT_FindUserCertByUsage, 
-GO(CERT_FindUserCertsByUsage, pFpiiip)
-//GO(CERT_FinishCertificateRequestAttributes, 
-//GO(CERT_FinishExtensions, 
-//GO(CERT_ForcePostMethodForOCSP, 
-//GO(CERT_FormatName, 
-//GO(CERT_FreeDistNames, 
-//GO(CERT_FreeNicknames, 
-//GO(CERT_GenTime2FormattedAscii, 
-GO(CERT_GetAVATag, iFp)
-//GO(CERT_GetCertChainFromCert, 
+GO(CERT_FindNameConstraintsExten, iFppp)
+GO(CERT_FindSMimeProfile, pFp)
+GO(CERT_FindSubjectKeyIDExtension, iFpp)
+GO(CERT_FindUserCertByUsage, pFppuip)
+GO(CERT_FindUserCertsByUsage, pFpuiip)
+GO(CERT_FinishCertificateRequestAttributes, iFp)
+GO(CERT_FinishExtensions, iFp)
+GO(CERT_ForcePostMethodForOCSP, iFi)
+GO(CERT_FormatName, pFp)
+GO(CERT_FreeDistNames, vFp)
+GO(CERT_FreeNicknames, vFp)
+GO(CERT_GenTime2FormattedAscii, pFlp)
+GO(CERT_GetAVATag, uFp)
+GO(CERT_GetCertChainFromCert, pFplu)
 GO(CERT_GetCertEmailAddress, pFp)
-//GO(CERT_GetCertificateDer, 
-//GO(CERT_GetCertificateNames, 
-//GO(CERT_GetCertificateRequestExtensions, 
-//GO(CERT_GetCertIsPerm, 
-//GO(CERT_GetCertIssuerAndSN, 
+GO(CERT_GetCertificateDer, iFpp)
+GO(CERT_GetCertificateNames, pFpp)
+GO(CERT_GetCertificateRequestExtensions, iFpp)
+GO(CERT_GetCertIsPerm, iFpp)
+GO(CERT_GetCertIssuerAndSN, pFpp)
 //GO(CERT_GetCertIsTemp, 
-//GO(CERT_GetCertKeyType, 
-//GO(CERT_GetCertNicknames, 
+GO(CERT_GetCertKeyType, uFp)
+GO(CERT_GetCertNicknames, pFpip)
 GO(CERT_GetCertTimes, iFppp)
 GO(CERT_GetCertTrust, iFpp)
 GO(CERT_GetCertUid, pFp)
-//GO(CERT_GetClassicOCSPDisabledPolicy, 
+GO(CERT_GetClassicOCSPDisabledPolicy, pFv)
 //GO(CERT_GetClassicOCSPEnabledHardFailurePolicy, 
 //GO(CERT_GetClassicOCSPEnabledSoftFailurePolicy, 
 GO(CERT_GetCommonName, pFp)
-//GO(CERT_GetConstrainedCertificateNames, 
+GO(CERT_GetConstrainedCertificateNames, pFppi)
 GO(CERT_GetCountryName, pFp)
-//GO(CERT_GetDBContentVersion, 
+GO(CERT_GetDBContentVersion, iFp)
 GO(CERT_GetDefaultCertDB, pFv)
 GO(CERT_GetDomainComponentName, pFp)
-//GO(CERT_GetEncodedOCSPResponse, 
+GO(CERT_GetEncodedOCSPResponse, pFppplippp)
 GO(CERT_GetFirstEmailAddress, pFp)
-//GO(CERT_GetGeneralNameTypeFromString, 
-//GO(CERT_GetImposedNameConstraints, 
+GO(CERT_GetGeneralNameTypeFromString, uFp)
+GO(CERT_GetImposedNameConstraints, iFpp)
 GO(CERT_GetLocalityName, pFp)
-//GO(CERT_GetNextEmailAddress, 
+GO(CERT_GetNextEmailAddress, pFpp)
 GO(CERT_GetNextGeneralName, pFp)
 //GO(CERT_GetNextNameConstraint, 
-//GO(CERT_GetOCSPAuthorityInfoAccessLocation, 
-//GO(CERT_GetOCSPResponseStatus, 
-//GO(CERT_GetOCSPStatusForCertID, 
+GO(CERT_GetOCSPAuthorityInfoAccessLocation, pFp)
+GO(CERT_GetOCSPResponseStatus, iFp)
+GO(CERT_GetOCSPStatusForCertID, iFppppl)
 GO(CERT_GetOidString, pFp)
 GO(CERT_GetOrgName, pFp)
 GO(CERT_GetOrgUnitName, pFp)
 //GO(CERT_GetPKIXVerifyNistRevocationPolicy, 
-//GO(CERT_GetPrevGeneralName, 
-//GO(CERT_GetPrevNameConstraint, 
+GO(CERT_GetPrevGeneralName, pFp)
+GO(CERT_GetPrevNameConstraint, pFp)
 //GO(CERT_GetSlopTime, 
-//GO(CERT_GetSSLCACerts, 
+GO(CERT_GetSSLCACerts, pFp)
 GO(CERT_GetStateName, pFp)
-//GO(CERT_GetSubjectNameDigest, 
+GO(CERT_GetSubjectNameDigest, pFppup)
 //GO(CERT_GetSubjectPublicKeyDigest, 
 //GO(CERT_GetUsePKIXForValidation, 
-//GO(CERT_GetValidDNSPatternsFromCert, 
+GO(CERT_GetValidDNSPatternsFromCert, pFp)
 GO(CERT_Hexify, pFpi)
 //GO(CERT_ImportCAChain, 
-//GO(CERT_ImportCAChainTrusted, 
-//GO(CERT_ImportCerts, 
-//GO(CERT_ImportCRL, 
+GO(CERT_ImportCAChainTrusted, iFpiu)
+GO(CERT_ImportCerts, iFpuuppiip)
+GO(CERT_ImportCRL, pFpppip)
 GO(CERT_IsCACert, iFpp)
-//GO(CERT_IsCADERCert, 
-//GO(CERT_IsRootDERCert, 
+GO(CERT_IsCADERCert, iFpp)
+GO(CERT_IsRootDERCert, iFp)
 //DATA(CERT_IssuerAndSNTemplate, 
 //GO(CERT_IsUserCert, 
 //GO(CERT_KeyFromDERCrl, 
 GO(CERT_MakeCANickname, pFp)
-//GO(CERT_MergeExtensions, 
+GO(CERT_MergeExtensions, iFpp)
 DATA(CERT_NameTemplate, 4*sizeof(void*))
 //GO(CERT_NameToAscii, 
-//GO(CERT_NameToAsciiInvertible, 
+GO(CERT_NameToAsciiInvertible, pFpu)
 GO(CERT_NewCertList, pFv)
 //GO(__CERT_NewTempCertificate, 
 GO(CERT_NewTempCertificate, pFpppii)
-//GO(CERT_NicknameStringsFromCertList, 
-//GO(CERT_OCSPCacheSettings, 
-//GO(CERT_OpenCertDBFilename, 
+GO(CERT_NicknameStringsFromCertList, pFppp)
+GO(CERT_OCSPCacheSettings, iFiuu)
+GO(CERT_OpenCertDBFilename, iFppi)
 GOM(CERT_PKIXVerifyCert, iFEpIppp)
-//GO(CERT_PostOCSPRequest, 
+GO(CERT_PostOCSPRequest, pFppp)
 GOM(CERT_RegisterAlternateOCSPAIAInfoCallBack, iFEpp)
-//GO(CERT_RemoveCertListNode, 
-//GO(CERT_RFC1485_EscapeAndQuote, 
-//GO(CERT_SaveSMimeProfile, 
+GO(CERT_RemoveCertListNode, vFp)
+GO(CERT_RFC1485_EscapeAndQuote, iFpipi)
+GO(CERT_SaveSMimeProfile, iFppp)
 //DATA(CERT_SequenceOfCertExtensionTemplate, 
-//GO(CERT_SetOCSPDefaultResponder, 
-//GO(CERT_SetOCSPFailureMode, 
-//GO(CERT_SetOCSPTimeout, 
+GO(CERT_SetOCSPDefaultResponder, iFppp)
+GO(CERT_SetOCSPFailureMode, iFu)
+GO(CERT_SetOCSPTimeout, iFu)
 //DATA(CERT_SetOfSignedCrlTemplate, 
-//GO(CERT_SetSlopTime, 
-//GO(CERT_SetUsePKIXForValidation, 
+GO(CERT_SetSlopTime, iFi)
+GO(CERT_SetUsePKIXForValidation, iFi)
 //DATA(CERT_SignedCrlTemplate, 
 DATA(CERT_SignedDataTemplate, 160)
-//GO(CERT_StartCertExtensions, 
-//GO(CERT_StartCertificateRequestAttributes, 
-//GO(CERT_StartCRLEntryExtensions, 
-//GO(CERT_StartCRLExtensions, 
+GO(CERT_StartCertExtensions, pFp)
+GO(CERT_StartCertificateRequestAttributes, pFp)
+GO(CERT_StartCRLEntryExtensions, pFpp)
+GO(CERT_StartCRLExtensions, pFp)
 //DATA(CERT_SubjectPublicKeyInfoTemplate, 
 //DATA(CERT_TimeChoiceTemplate,     //R type
 //GO(__CERT_TraversePermCertsForNickname, 
 //GO(__CERT_TraversePermCertsForSubject, 
-//GO(CERT_UncacheCRL, 
+GO(CERT_UncacheCRL, iFpp)
 //GO(CERT_VerifyCACertForUsage, 
 GO(CERT_VerifyCert, iFpp)
-//GO(CERT_VerifyCertificate, 
-GO(CERT_VerifyCertificateNow, iFppiipp)
-//GO(CERT_VerifyCertName, 
-//GO(CERT_VerifyCertNow, 
-//GO(CERT_VerifyOCSPResponseSignature, 
-//GO(CERT_VerifySignedData, 
+GO(CERT_VerifyCertificate, iFppillppp)
+GO(CERT_VerifyCertificateNow, iFppilpp)
+GO(CERT_VerifyCertName, iFpp)
+GO(CERT_VerifyCertNow, iFppiup)
+GO(CERT_VerifyOCSPResponseSignature, iFppppp)
+GO(CERT_VerifySignedData, iFpplp)
 GO(CERT_VerifySignedDataWithPublicKey, iFppp)
-//GO(CERT_VerifySignedDataWithPublicKeyInfo, 
-//GO(DER_AsciiToTime, 
+GO(CERT_VerifySignedDataWithPublicKeyInfo, iFppp)
+GO(DER_AsciiToTime, iFpp)
 GO(DER_DecodeTimeChoice, iFpp)
 GO(DER_Encode, iFpppp)
-//GO(DER_EncodeTimeChoice, 
+GO(DER_EncodeTimeChoice, iFppl)
 //GO(DER_GeneralizedDayToAscii, 
 //GO(DER_GeneralizedTimeToTime, 
-//GO(DER_GetInteger, 
-//GO(DER_Lengths, 
-//GO(DER_TimeChoiceDayToAscii, 
-//GO(DER_TimeToGeneralizedTime, 
+GO(DER_GetInteger, lFp)
+GO(DER_Lengths, iFppp)
+GO(DER_TimeChoiceDayToAscii, pFp)
+GO(DER_TimeToGeneralizedTime, iFpl)
 //GO(DER_TimeToGeneralizedTimeArena, 
 //GO(DER_TimeToUTCTime, 
 //GO(DER_UTCDayToAscii, 
 //GO(DER_UTCTimeToAscii, 
 //GO(DER_UTCTimeToTime, 
-//GO(DSAU_DecodeDerSig, 
-//GO(DSAU_DecodeDerSigToLen, 
-//GO(DSAU_EncodeDerSig, 
-//GO(DSAU_EncodeDerSigWithLen, 
+GO(DSAU_DecodeDerSig, pFp)
+GO(DSAU_DecodeDerSigToLen, pFpu)
+GO(DSAU_EncodeDerSig, iFpp)
+GO(DSAU_EncodeDerSigWithLen, iFppu)
 GO(HASH_Begin, vFp)
 //GO(HASH_Clone, 
 GO(HASH_Create, pFi)
 GO(HASH_Destroy, vFp)
 GO(HASH_End, vFpppu)
-//GO(HASH_GetHashObject, 
-//GO(HASH_GetHashObjectByOidTag, 
-//GO(HASH_GetHashOidTagByHashType, 
-//GO(HASH_GetHashTypeByOidTag, 
+GO(HASH_GetHashObject, pFu)
+GO(HASH_GetHashObjectByOidTag, pFu)
+GO(HASH_GetHashOidTagByHashType, uFu)
+GO(HASH_GetHashTypeByOidTag, uFu)
 //GO(HASH_GetType, 
-GO(HASH_HashBuf, iFippu)
-//GO(HASH_ResultLen, 
-//GO(HASH_ResultLenByOidTag, 
+GO(HASH_HashBuf, iFuppu)
+GO(HASH_ResultLen, uFu)
+GO(HASH_ResultLenByOidTag, uFu)
 GO(HASH_ResultLenContext, uFp)
 GO(HASH_Update, vFppu)
-//GO(NSSBase64_DecodeBuffer, 
+GO(NSSBase64_DecodeBuffer, pFpppu)
 //GO(NSSBase64Decoder_Create, 
-//GO(NSSBase64Decoder_Destroy, 
-//GO(NSSBase64Decoder_Update, 
-//GO(NSSBase64_EncodeItem, 
+GO(NSSBase64Decoder_Destroy, iFpi)
+GO(NSSBase64Decoder_Update, iFppu)
+GO(NSSBase64_EncodeItem, pFppup)
 //GO(NSSBase64Encoder_Create, 
-//GO(NSSBase64Encoder_Destroy, 
-//GO(NSSBase64Encoder_Update, 
+GO(NSSBase64Encoder_Destroy, iFpi)
+GO(NSSBase64Encoder_Update, iFppu)
 //GO(nss_DumpCertificateCacheInfo, 
 //GO(NSS_Get_CERT_CertificateRequestTemplate, 
 //GO(NSS_Get_CERT_CertificateTemplate, 
@@ -316,7 +316,7 @@ GO(HASH_Update, vFppu)
 //GO(NSS_Get_SECKEY_PointerToEncryptedPrivateKeyInfoTemplate, 
 //GO(NSS_Get_SECKEY_PointerToPrivateKeyInfoTemplate, 
 //GO(NSS_Get_SECKEY_PrivateKeyInfoTemplate, 
-//GO(NSS_Get_SECKEY_RSAPSSParamsTemplate, 
+GO(NSS_Get_SECKEY_RSAPSSParamsTemplate, pFpi)
 //GO(NSS_Get_SECKEY_RSAPublicKeyTemplate, 
 //GO(NSS_Get_SEC_NullTemplate, 
 //GO(NSS_Get_SEC_ObjectIDTemplate, 
@@ -328,14 +328,14 @@ GO(HASH_Update, vFppu)
 //GO(NSS_Get_SEC_SignedCertificateTemplate, 
 //GO(NSS_Get_SEC_UTCTimeTemplate, 
 //GO(NSS_Get_SEC_UTF8StringTemplate, 
-//GO(NSS_Get_sgn_DigestInfoTemplate, 
-//GO(NSS_GetVersion, 
+GO(NSS_Get_sgn_DigestInfoTemplate, pFpi)
+GO(NSS_GetVersion, pFv)
 //GO(NSS_Init, 
-//GO(NSS_InitContext, 
-//GO(NSS_Initialize, 
+GO(NSS_InitContext, pFpppppu)
+GO(NSS_Initialize, iFppppu)
 //GO(__nss_InitLock, 
 GO(NSS_InitReadWrite, iFp)
-//GO(NSS_InitWithMerge, 
+GO(NSS_InitWithMerge, iFpppppppppu)
 GO(NSS_IsInitialized, iFv)
 GO(NSS_NoDB_Init, iFp)
 //GO(NSS_OptionGet, 
@@ -343,186 +343,186 @@ GO(NSS_NoDB_Init, iFp)
 //GO(NSS_PutEnv, 
 //GO(NSS_RegisterShutdown, 
 //GO(NSSRWLock_Destroy, 
-//GO(NSSRWLock_HaveWriteLock, 
+GO(NSSRWLock_HaveWriteLock, iFp)
 //GO(NSSRWLock_LockRead, 
 //GO(NSSRWLock_LockWrite, 
-//GO(NSSRWLock_New, 
+GO(NSSRWLock_New, pFup)
 //GO(NSSRWLock_UnlockRead, 
-//GO(NSSRWLock_UnlockWrite, 
+GO(NSSRWLock_UnlockWrite, vFp)
 //GO(NSS_Shutdown, 
-//GO(NSS_ShutdownContext, 
+GO(NSS_ShutdownContext, iFp)
 //GO(NSS_UnregisterShutdown, 
 GO(NSS_VersionCheck, iFp)
 //GO(__PBE_CreateContext, 
-//GO(PBE_CreateContext, 
+GO(PBE_CreateContext, pFuuppuu)
 //GO(__PBE_DestroyContext, 
-//GO(PBE_DestroyContext, 
+GO(PBE_DestroyContext, vFp)
 //GO(__PBE_GenerateBits, 
-//GO(PBE_GenerateBits, 
-//GO(PK11_AlgtagToMechanism, 
+GO(PBE_GenerateBits, pFp)
+GO(PK11_AlgtagToMechanism, LFu)
 GO(PK11_Authenticate, iFpip)
-//GO(PK11_BlockData, 
-//GO(PK11_ChangePW, 
+GO(PK11_BlockData, pFpL)
+GO(PK11_ChangePW, iFppp)
 //GO(PK11_CheckSSOPassword, 
 GO(PK11_CheckUserPassword, iFpp)
 GO(PK11_CipherOp, iFpppipi)
-//GO(PK11_CloneContext, 
-//GO(PK11_ConfigurePKCS11, 
-//GO(PK11_ConvertSessionPrivKeyToTokenPrivKey, 
-//GO(PK11_ConvertSessionSymKeyToTokenSymKey, 
-//GO(PK11_CopySymKeyForSigning, 
-//GO(PK11_CopyTokenPrivKeyToSessionPrivKey, 
+GO(PK11_CloneContext, pFp)
+GO(PK11_ConfigurePKCS11, vFppppppppii)
+GO(PK11_ConvertSessionPrivKeyToTokenPrivKey, pFpp)
+GO(PK11_ConvertSessionSymKeyToTokenSymKey, pFpp)
+GO(PK11_CopySymKeyForSigning, pFpL)
+GO(PK11_CopyTokenPrivKeyToSessionPrivKey, pFpp)
 //GO(__PK11_CreateContextByRawKey, 
-GO(PK11_CreateContextBySymKey, pFiipp)
-//GO(PK11_CreateDigestContext, 
-//GO(PK11_CreateGenericObject, 
+GO(PK11_CreateContextBySymKey, pFLLpp)
+GO(PK11_CreateDigestContext, pFu)
+GO(PK11_CreateGenericObject, pFppii)
 //GO(PK11_CreateManagedGenericObject, 
-//GO(PK11_CreateMergeLog, 
-//GO(PK11_CreatePBEAlgorithmID, 
-//GO(PK11_CreatePBEParams, 
-//GO(PK11_CreatePBEV2AlgorithmID, 
+GO(PK11_CreateMergeLog, pFv)
+GO(PK11_CreatePBEAlgorithmID, pFuip)
+GO(PK11_CreatePBEParams, pFppu)
+GO(PK11_CreatePBEV2AlgorithmID, pFuuuiip)
 //GO(PK11_Decrypt, 
 GO(PK11_DeleteTokenCertAndKey, iFpp)
-//GO(PK11_DeleteTokenPrivateKey, 
-//GO(PK11_DeleteTokenPublicKey, 
+GO(PK11_DeleteTokenPrivateKey, iFpi)
+GO(PK11_DeleteTokenPublicKey, iFp)
 //GO(PK11_DeleteTokenSymKey, 
-//GO(PK11_DEREncodePublicKey, 
-//GO(PK11_Derive, 
-//GO(PK11_DeriveWithFlags, 
-//GO(PK11_DeriveWithFlagsPerm, 
-//GO(PK11_DeriveWithTemplate, 
+GO(PK11_DEREncodePublicKey, pFp)
+GO(PK11_Derive, pFpLpLLi)
+GO(PK11_DeriveWithFlags, pFpLpLLiL)
+GO(PK11_DeriveWithFlagsPerm, pFpLpLLiLi)
+GO(PK11_DeriveWithTemplate, pFpLpLLipui)
 GO(PK11_DestroyContext, vFpi)
-//GO(PK11_DestroyGenericObject, 
-//GO(PK11_DestroyGenericObjects, 
-//GO(PK11_DestroyMergeLog, 
+GO(PK11_DestroyGenericObject, iFp)
+GO(PK11_DestroyGenericObjects, uFp)
+GO(PK11_DestroyMergeLog, vFp)
 GO(PK11_DestroyObject, iFpL)
-//GO(PK11_DestroyPBEParams, 
+GO(PK11_DestroyPBEParams, vFp)
 GO(PK11_DestroyTokenObject, iFpL)
 //GO(PK11_DigestBegin, 
-//GO(PK11_DigestFinal, 
-//GO(PK11_DigestKey, 
-//GO(PK11_DigestOp, 
+GO(PK11_DigestFinal, iFpppu)
+GO(PK11_DigestKey, iFpp)
+GO(PK11_DigestOp, iFppu)
 GO(PK11_DoesMechanism, iFpL)
-//GO(PK11_Encrypt, 
-//GO(PK11_ExportDERPrivateKeyInfo, 
-//GO(PK11_ExportEncryptedPrivateKeyInfo, 
-//GO(PK11_ExportEncryptedPrivKeyInfo, 
-//GO(PK11_ExportPrivateKeyInfo, 
-//GO(PK11_ExportPrivKeyInfo, 
-//GO(PK11_ExtractKeyValue, 
+GO(PK11_Encrypt, iFpLpppupu)
+GO(PK11_ExportDERPrivateKeyInfo, pFpp)
+GO(PK11_ExportEncryptedPrivateKeyInfo, pFpuppip)
+GO(PK11_ExportEncryptedPrivKeyInfo, pFpuppip)
+GO(PK11_ExportPrivateKeyInfo, pFpp)
+GO(PK11_ExportPrivKeyInfo, pFpp)
+GO(PK11_ExtractKeyValue, iFp)
 GO(PK11_Finalize, iFp)
-//GO(PK11_FindBestKEAMatch, 
-//GO(PK11_FindCertAndKeyByRecipientList, 
-//GO(PK11_FindCertAndKeyByRecipientListNew, 
-//GO(PK11_FindCertByIssuerAndSN, 
-//GO(PK11_FindCertFromDERCert, 
+GO(PK11_FindBestKEAMatch, pFpp)
+GO(PK11_FindCertAndKeyByRecipientList, pFppppp)
+GO(PK11_FindCertAndKeyByRecipientListNew, iFpp)
+GO(PK11_FindCertByIssuerAndSN, pFppp)
+GO(PK11_FindCertFromDERCert, pFppp)
 GO(PK11_FindCertFromDERCertItem, pFppp)
 //GO(PK11_FindCertFromNickname, 
-//GO(PK11_FindCertFromURI, 
+GO(PK11_FindCertFromURI, pFpp)
 GO(PK11_FindCertInSlot, LFppp)
 //GO(PK11_FindCertsFromEmailAddress, 
-//GO(PK11_FindCertsFromNickname, 
+GO(PK11_FindCertsFromNickname, pFpp)
 //GO(PK11_FindCertsFromURI, 
-GO(PK11_FindFixedKey, pFpipp)
-//GO(PK11_FindGenericObjects, 
+GO(PK11_FindFixedKey, pFpLpp)
+GO(PK11_FindGenericObjects, pFpL)
 GO(PK11_FindKeyByAnyCert, pFpp)
 GO(PK11_FindKeyByDERCert, pFppp)
 GO(PK11_FindKeyByKeyID, pFppp)
 GO(PK11_FindPrivateKeyFromCert, pFppp)
-//GO(PK11_FindRawCertsWithSubject, 
+GO(PK11_FindRawCertsWithSubject, iFppp)
 //GO(PK11_FindSlotByName, 
-//GO(PK11_FindSlotsByNames, 
-//GO(PK11_FortezzaHasKEA, 
-//GO(PK11_FortezzaMapSig, 
+GO(PK11_FindSlotsByNames, pFpppi)
+GO(PK11_FortezzaHasKEA, iFp)
+GO(PK11_FortezzaMapSig, uFu)
 GO(PK11_FreeSlot, vFp)
 GO(PK11_FreeSlotList, vFp)
 GO(PK11_FreeSlotListElement, iFpp)
 GO(PK11_FreeSymKey, vFp)
-//GO(PK11_GenerateFortezzaIV, 
+GO(PK11_GenerateFortezzaIV, iFppi)
 GO(PK11_GenerateKeyPair, pFpLppiip)
-//GO(PK11_GenerateKeyPairWithFlags, 
-//GO(PK11_GenerateKeyPairWithOpFlags, 
-//GO(PK11_GenerateNewParam, 
-//GO(PK11_GenerateRandom, 
-//GO(PK11_GenerateRandomOnSlot, 
+GO(PK11_GenerateKeyPairWithFlags, pFpLppup)
+GO(PK11_GenerateKeyPairWithOpFlags, pFpLppuLLp)
+GO(PK11_GenerateNewParam, pFLp)
+GO(PK11_GenerateRandom, iFpi)
+GO(PK11_GenerateRandomOnSlot, iFppi)
 GO(PK11_GetAllSlotsForCert, pFpp)
 GO(PK11_GetAllTokens, pFLiip)
-//GO(PK11_GetBestKeyLength, 
-//GO(PK11_GetBestSlot, 
-//GO(PK11_GetBestSlotMultiple, 
-//GO(PK11_GetBestSlotMultipleWithAttributes, 
-//GO(PK11_GetBestSlotWithAttributes, 
-//GO(PK11_GetBestWrapMechanism, 
+GO(PK11_GetBestKeyLength, iFpL)
+GO(PK11_GetBestSlot, pFLp)
+GO(PK11_GetBestSlotMultiple, pFpup)
+GO(PK11_GetBestSlotMultipleWithAttributes, pFpppup)
+GO(PK11_GetBestSlotWithAttributes, pFLLup)
+GO(PK11_GetBestWrapMechanism, LFp)
 GO(PK11_GetBlockSize, iFLp)
-//GO(PK11_GetCertFromPrivateKey, 
-//GO(PK11_GetCertsMatchingPrivateKey, 
-//GO(PK11_GetCurrentWrapIndex, 
-//GO(PK11_GetDefaultArray, 
-//GO(PK11_GetDefaultFlags, 
-//GO(PK11_GetDisabledReason, 
+GO(PK11_GetCertFromPrivateKey, pFp)
+GO(PK11_GetCertsMatchingPrivateKey, pFp)
+GO(PK11_GetCurrentWrapIndex, iFp)
+GO(PK11_GetDefaultArray, pFp)
+GO(PK11_GetDefaultFlags, LFp)
+GO(PK11_GetDisabledReason, uFp)
 GO(PK11_GetFirstSafe, pFp)
 GO(PK11_GetInternalKeySlot, pFv)
-//GO(PK11_GetInternalSlot, 
+GO(PK11_GetInternalSlot, pFv)
 //GO(PK11_GetIVLength, 
 //GO(__PK11_GetKeyData, 
-//GO(PK11_GetKeyData, 
+GO(PK11_GetKeyData, pFp)
 //GO(PK11_GetKeyGen, 
-//GO(PK11_GetKeyLength, 
-//GO(PK11_GetKeyStrength, 
-//GO(PK11_GetKeyType, 
-//GO(PK11_GetLowLevelKeyIDForCert, 
-//GO(PK11_GetLowLevelKeyIDForPrivateKey, 
-//GO(PK11_GetMechanism, 
+GO(PK11_GetKeyLength, uFp)
+GO(PK11_GetKeyStrength, uFpp)
+GO(PK11_GetKeyType, LFLL)
+GO(PK11_GetLowLevelKeyIDForCert, pFppp)
+GO(PK11_GetLowLevelKeyIDForPrivateKey, pFp)
+GO(PK11_GetMechanism, LFp)
 //GO(PK11_GetMinimumPwdLength, 
 //GO(PK11_GetModInfo, 
 GO(PK11_GetModule, pFp)
-//GO(PK11_GetModuleID, 
+GO(PK11_GetModuleID, LFp)
 //GO(PK11_GetModuleURI, 
-//GO(PK11_GetNextGenericObject, 
+GO(PK11_GetNextGenericObject, pFp)
 GO(PK11_GetNextSafe, pFppi)
 GO(PK11_GetNextSymKey, pFp)
-//GO(PK11_GetPadMechanism, 
-//GO(PK11_GetPBECryptoMechanism, 
-//GO(PK11_GetPBEIV, 
-//GO(PK11_GetPQGParamsFromPrivateKey, 
-//GO(PK11_GetPrevGenericObject, 
+GO(PK11_GetPadMechanism, LFL)
+GO(PK11_GetPBECryptoMechanism, LFppp)
+GO(PK11_GetPBEIV, pFpp)
+GO(PK11_GetPQGParamsFromPrivateKey, pFp)
+GO(PK11_GetPrevGenericObject, pFp)
 GO(PK11_GetPrivateKeyNickname, pFp)
 //GO(PK11_GetPrivateModulusLen, 
-//GO(PK11_GetPublicKeyNickname, 
-//GO(PK11_GetSlotFromKey, 
-//GO(PK11_GetSlotFromPrivateKey, 
-//GO(PK11_GetSlotID, 
-//GO(PK11_GetSlotInfo, 
+GO(PK11_GetPublicKeyNickname, pFp)
+GO(PK11_GetSlotFromKey, pFp)
+GO(PK11_GetSlotFromPrivateKey, pFp)
+GO(PK11_GetSlotID, LFp)
+GO(PK11_GetSlotInfo, iFpp)
 GO(PK11_GetSlotName, pFp)
-//GO(PK11_GetSlotPWValues, 
+GO(PK11_GetSlotPWValues, vFppp)
 //GO(PK11_GetSlotSeries, 
-//GO(PK11_GetSymKeyHandle, 
-//GO(PK11_GetSymKeyNickname, 
-//GO(PK11_GetSymKeyType, 
+GO(PK11_GetSymKeyHandle, LFp)
+GO(PK11_GetSymKeyNickname, pFp)
+GO(PK11_GetSymKeyType, LFp)
 //GO(PK11_GetSymKeyUserData, 
-//GO(PK11_GetTokenInfo, 
+GO(PK11_GetTokenInfo, iFpp)
 GO(PK11_GetTokenName, pFp)
 //GO(PK11_GetTokenURI, 
-//GO(PK11_GetWindow, 
-//GO(PK11_GetWrapKey, 
-//GO(PK11_HasAttributeSet, 
-//GO(PK11_HashBuf, 
+GO(PK11_GetWindow, pFp)
+GO(PK11_GetWrapKey, pFpiLip)
+GO(PK11_HasAttributeSet, CFpLLi)
+GO(PK11_HashBuf, iFuppi)
 GO(PK11_HasRootCerts, iFp)
 GO(PK11_ImportCert, iFppLpi)
-//GO(PK11_ImportCertForKey, 
-//GO(PK11_ImportCertForKeyToSlot, 
-//GO(PK11_ImportCRL, 
-//GO(PK11_ImportDERCert, 
-//GO(PK11_ImportDERCertForKey, 
-//GO(PK11_ImportDERPrivateKeyInfo, 
+GO(PK11_ImportCertForKey, pFppp)
+GO(PK11_ImportCertForKeyToSlot, iFpppip)
+GO(PK11_ImportCRL, pFpppipipi)
+GO(PK11_ImportDERCert, iFppLpi)
+GO(PK11_ImportDERCertForKey, pFppp)
+GO(PK11_ImportDERPrivateKeyInfo, iFppppiiup)
 GO(PK11_ImportDERPrivateKeyInfoAndReturnKey, iFppppiiupp)
-//GO(PK11_ImportEncryptedPrivateKeyInfo, 
-//GO(PK11_ImportEncryptedPrivateKeyInfoAndReturnKey, 
-//GO(PK11_ImportPrivateKeyInfo, 
-//GO(PK11_ImportPrivateKeyInfoAndReturnKey, 
-//GO(PK11_ImportPublicKey, 
-//GO(PK11_ImportSymKey, 
-//GO(PK11_ImportSymKeyWithFlags, 
+GO(PK11_ImportEncryptedPrivateKeyInfo, iFpppppiiuup)
+GO(PK11_ImportEncryptedPrivateKeyInfoAndReturnKey, iFpppppiiuupp)
+GO(PK11_ImportPrivateKeyInfo, iFppppiiup)
+GO(PK11_ImportPrivateKeyInfoAndReturnKey, iFppppiiupp)
+GO(PK11_ImportPublicKey, LFppi)
+GO(PK11_ImportSymKey, pFpLuLpp)
+GO(PK11_ImportSymKeyWithFlags, pFpLuLpLip)
 GO(PK11_InitPin, iFppp)
 //GO(PK11_IsDisabled, 
 GO(PK11_IsFIPS, iFv)
@@ -534,248 +534,248 @@ GO(PK11_IsLoggedIn, iFpp)
 GO(PK11_IsPresent, iFp)
 GO(PK11_IsReadOnly, iFp)
 GO(PK11_IsRemovable, iFp)
-//GO(PK11_IVFromParam, 
+GO(PK11_IVFromParam, pFLpp)
 GO(PK11_KeyForCertExists, pFppp)
-//GO(PK11_KeyForDERCertExists, 
-//GO(PK11_KeyGen, 
-//GO(PK11_KeyGenWithTemplate, 
-//GO(PK11_LinkGenericObject, 
-GO(PK11_ListCerts, pFip)
+GO(PK11_KeyForDERCertExists, pFppp)
+GO(PK11_KeyGen, pFpLpip)
+GO(PK11_KeyGenWithTemplate, pFpLLppup)
+GO(PK11_LinkGenericObject, iFpp)
+GO(PK11_ListCerts, pFup)
 GO(PK11_ListCertsInSlot, pFp)
 GO(PK11_ListFixedKeysInSlot, pFppp)
-//GO(PK11_ListPrivateKeysInSlot, 
-//GO(PK11_ListPrivKeysInSlot, 
-//GO(PK11_ListPublicKeysInSlot, 
-//GO(PK11_LoadPrivKey, 
+GO(PK11_ListPrivateKeysInSlot, pFp)
+GO(PK11_ListPrivKeysInSlot, pFppp)
+GO(PK11_ListPublicKeysInSlot, pFpp)
+GO(PK11_LoadPrivKey, pFpppii)
 //GO(PK11_Logout, 
 //GO(PK11_LogoutAll, 
 GO(PK11_MakeIDFromPubKey, pFp)
-//GO(PK11_MakeKEAPubKey, 
-//GO(PK11_MapPBEMechanismToCryptoMechanism, 
-GO(PK11_MapSignKeyType, LFi)
-//GO(PK11_MechanismToAlgtag, 
-//GO(PK11_MergeTokens, 
-//GO(PK11_MoveSymKey, 
+GO(PK11_MakeKEAPubKey, pFpi)
+GO(PK11_MapPBEMechanismToCryptoMechanism, LFpppi)
+GO(PK11_MapSignKeyType, LFu)
+GO(PK11_MechanismToAlgtag, uFL)
+GO(PK11_MergeTokens, iFppppp)
+GO(PK11_MoveSymKey, pFpLLip)
 GO(PK11_NeedLogin, iFp)
 //GO(PK11_NeedPWInit, 
 GO(PK11_NeedUserInit, iFp)
 GO(PK11_ParamFromAlgid, pFp)
-//GO(PK11_ParamFromIV, 
-//GO(PK11_ParamToAlgid, 
-//GO(PK11_PBEKeyGen, 
-//GO(PK11_PQG_DestroyParams, 
-//GO(PK11_PQG_DestroyVerify, 
-//GO(PK11_PQG_GetBaseFromParams, 
-//GO(PK11_PQG_GetCounterFromVerify, 
-//GO(PK11_PQG_GetHFromVerify, 
+GO(PK11_ParamFromIV, pFLp)
+GO(PK11_ParamToAlgid, iFuppp)
+GO(PK11_PBEKeyGen, pFpppip)
+GO(PK11_PQG_DestroyParams, vFp)
+GO(PK11_PQG_DestroyVerify, vFp)
+GO(PK11_PQG_GetBaseFromParams, iFpp)
+GO(PK11_PQG_GetCounterFromVerify, uFp)
+GO(PK11_PQG_GetHFromVerify, iFpp)
 //GO(PK11_PQG_GetPrimeFromParams, 
 //GO(PK11_PQG_GetSeedFromVerify, 
 //GO(PK11_PQG_GetSubPrimeFromParams, 
-//GO(PK11_PQG_NewParams, 
-//GO(PK11_PQG_NewVerify, 
-//GO(PK11_PQG_ParamGen, 
-//GO(PK11_PQG_ParamGenSeedLen, 
-//GO(PK11_PQG_ParamGenV2, 
-//GO(PK11_PQG_VerifyParams, 
-//GO(PK11_PrivDecrypt, 
-//GO(PK11_PrivDecryptPKCS1, 
+GO(PK11_PQG_NewParams, pFppp)
+GO(PK11_PQG_NewVerify, pFupp)
+GO(PK11_PQG_ParamGen, iFupp)
+GO(PK11_PQG_ParamGenSeedLen, iFuupp)
+GO(PK11_PQG_ParamGenV2, iFuuupp)
+GO(PK11_PQG_VerifyParams, iFppp)
+GO(PK11_PrivDecrypt, iFpLpppupu)
+GO(PK11_PrivDecryptPKCS1, iFpppupu)
 //GO(PK11_ProtectedAuthenticationPath, 
 //GO(PK11_PubDecryptRaw, 
-//GO(PK11_PubDerive, 
-//GO(PK11_PubDeriveWithKDF, 
-//GO(PK11_PubEncrypt, 
-//GO(PK11_PubEncryptPKCS1, 
+GO(PK11_PubDerive, pFppippLLLip)
+GO(PK11_PubDeriveWithKDF, pFppippLLLiLpp)
+GO(PK11_PubEncrypt, iFpLpppupup)
+GO(PK11_PubEncryptPKCS1, iFpppup)
 //GO(PK11_PubEncryptRaw, 
-//GO(PK11_PubUnwrapSymKey, 
+GO(PK11_PubUnwrapSymKey, pFppLLi)
 //GO(PK11_PubUnwrapSymKeyWithFlags, 
-//GO(PK11_PubUnwrapSymKeyWithFlagsPerm, 
-//GO(PK11_PubWrapSymKey, 
-//GO(PK11_RandomUpdate, 
-//GO(PK11_RawPBEKeyGen, 
+GO(PK11_PubUnwrapSymKeyWithFlagsPerm, pFppLLiLi)
+GO(PK11_PubWrapSymKey, iFLppp)
+GO(PK11_RandomUpdate, iFpL)
+GO(PK11_RawPBEKeyGen, pFpLppip)
 GO(PK11_ReadRawAttribute, iFipLp)
 GO(PK11_ReferenceSlot, pFp)
 //GO(PK11_ReferenceSymKey, 
 //GO(PK11_ResetToken, 
-//GO(PK11_RestoreContext, 
-//GO(PK11_SaveContext, 
-//GO(PK11_SaveContextAlloc, 
-//GO(PK11SDR_Decrypt, 
-//GO(PK11SDR_Encrypt, 
+GO(PK11_RestoreContext, iFppi)
+GO(PK11_SaveContext, iFpppi)
+GO(PK11_SaveContextAlloc, pFppup)
+GO(PK11SDR_Decrypt, iFppp)
+GO(PK11SDR_Encrypt, iFpppp)
 //GO(PK11_SeedRandom, 
-//GO(__PK11_SetCertificateNickname, 
-//GO(PK11_SetFortezzaHack, 
+GO(__PK11_SetCertificateNickname, iFpp)
+GO(PK11_SetFortezzaHack, vFp)
 GOM(PK11_SetPasswordFunc, vFEp)
 GO(PK11_SetPrivateKeyNickname, iFpp)
 GO(PK11_SetPublicKeyNickname, iFpp)
-//GO(PK11_SetSlotPWValues, 
-//GO(PK11_SetSymKeyNickname, 
+GO(PK11_SetSlotPWValues, vFpii)
+GO(PK11_SetSymKeyNickname, iFpp)
 //GO(PK11_SetSymKeyUserData, 
-//GO(PK11_SetWrapKey, 
+GO(PK11_SetWrapKey, vFpip)
 GO(PK11_Sign, iFppp)
 GO(PK11_SignatureLen, iFp)
 GO(PK11_SignWithMechanism, iFpLppp)
-//GO(PK11_SignWithSymKey, 
-//GO(PK11_SymKeyFromHandle, 
-GO(PK11_TokenExists, iFi)
-//GO(PK11_TokenKeyGen, 
-//GO(PK11_TokenKeyGenWithFlags, 
+GO(PK11_SignWithSymKey, iFpLppp)
+GO(PK11_SymKeyFromHandle, pFppuLLip)
+GO(PK11_TokenExists, iFL)
+GO(PK11_TokenKeyGen, pFpLpipip)
+GO(PK11_TokenKeyGenWithFlags, pFpLpipLup)
 //GO(PK11_TokenRefresh, 
 //GO(PK11_TraverseCertsForNicknameInSlot, 
 //GO(PK11_TraverseCertsForSubjectInSlot, 
 //GO(PK11_TraverseSlotCerts, 
 //GO(PK11_UnconfigurePKCS11, 
 //GO(PK11_UnlinkGenericObject, 
-//GO(PK11_UnwrapPrivKey, 
-//GO(PK11_UnwrapSymKey, 
-//GO(PK11_UnwrapSymKeyWithFlags, 
-//GO(PK11_UnwrapSymKeyWithFlagsPerm, 
-//GO(PK11_UpdateSlotAttribute, 
+GO(PK11_UnwrapPrivKey, pFppLppppiiLpip)
+GO(PK11_UnwrapSymKey, pFpLppLLi)
+GO(PK11_UnwrapSymKeyWithFlags, pFpLppLLiL)
+GO(PK11_UnwrapSymKeyWithFlagsPerm, pFpLppLLiLi)
+GO(PK11_UpdateSlotAttribute, iFppi)
 //GO(PK11_UserDisableSlot, 
 //GO(PK11_UserEnableSlot, 
-//GO(PK11_Verify, 
-//GO(PK11_VerifyKeyOK, 
-//GO(PK11_VerifyRecover, 
-//GO(PK11_VerifyWithMechanism, 
-//GO(PK11_WaitForTokenEvent, 
-//GO(PK11_WrapPrivKey, 
-//GO(PK11_WrapSymKey, 
-GO(PK11_WriteRawAttribute, iFipLp)
+GO(PK11_Verify, iFpppp)
+GO(PK11_VerifyKeyOK, iFp)
+GO(PK11_VerifyRecover, iFpppp)
+GO(PK11_VerifyWithMechanism, iFpLpppp)
+GO(PK11_WaitForTokenEvent, uFpuuui)
+GO(PK11_WrapPrivKey, iFpppLppp)
+GO(PK11_WrapSymKey, iFLpppp)
+GO(PK11_WriteRawAttribute, iFupLp)
 GO(PORT_Alloc, pFL)
 GO(PORT_ArenaAlloc, pFpL)
-//GO(PORT_ArenaGrow, 
-//GO(PORT_ArenaMark, 
+GO(PORT_ArenaGrow, pFppLL)
+GO(PORT_ArenaMark, pFp)
 //GO(PORT_ArenaRelease, 
-//GO(PORT_ArenaStrdup, 
-//GO(PORT_ArenaUnmark, 
+GO(PORT_ArenaStrdup, pFpp)
+GO(PORT_ArenaUnmark, vFpp)
 GO(PORT_ArenaZAlloc, pFpL)
 GO(PORT_Free, vFp)
 GO(PORT_FreeArena, vFpi)
 GO(PORT_GetError, iFv)
 GO(PORT_NewArena, pFL)
-//GO(PORT_Realloc, 
+GO(PORT_Realloc, pFpL)
 GO(PORT_SetError, vFi)
 GOM(PORT_SetUCS2_ASCIIConversionFunction, vFEp)
-//GO(PORT_SetUCS2_UTF8ConversionFunction, 
+GO(PORT_SetUCS2_UTF8ConversionFunction, vFi)
 //GO(PORT_SetUCS4_UTF8ConversionFunction, 
 GO(PORT_Strdup, pFp)
-//GO(PORT_UCS2_ASCIIConversion, 
+GO(PORT_UCS2_ASCIIConversion, iFipupupi)
 GO(PORT_UCS2_UTF8Conversion, iFipupup)
 GO(PORT_ZAlloc, pFL)
-//GO(PORT_ZFree, 
+GO(PORT_ZFree, vFpL)
 //GO(RSA_FormatBlock, 
 DATA(SEC_AnyTemplate, 4*sizeof(void*))    //R type
-//GO(SEC_ASN1Decode, 
+GO(SEC_ASN1Decode, iFppppl)
 GO(SEC_ASN1DecodeInteger, iFpp)
 GO(SEC_ASN1DecodeItem, iFpppp)
-//GO(SEC_ASN1DecoderAbort, 
+GO(SEC_ASN1DecoderAbort, vFpi)
 //GO(SEC_ASN1DecoderClearFilterProc, 
-//GO(SEC_ASN1DecoderClearNotifyProc, 
-//GO(SEC_ASN1DecoderFinish, 
+GO(SEC_ASN1DecoderClearNotifyProc, vFp)
+GO(SEC_ASN1DecoderFinish, iFp)
 //GO(SEC_ASN1DecoderSetFilterProc, 
 //GO(SEC_ASN1DecoderSetNotifyProc, 
-//GO(SEC_ASN1DecoderStart, 
-//GO(SEC_ASN1DecoderUpdate, 
+GO(SEC_ASN1DecoderStart, pFppp)
+GO(SEC_ASN1DecoderUpdate, iFppL)
 //GO(SEC_ASN1Encode, 
-//GO(SEC_ASN1EncodeInteger, 
-//GO(SEC_ASN1EncodeItem, 
-//GO(SEC_ASN1EncoderAbort, 
+GO(SEC_ASN1EncodeInteger, pFppl)
+GO(SEC_ASN1EncodeItem, pFpppp)
+GO(SEC_ASN1EncoderAbort, vFpi)
 //GO(SEC_ASN1EncoderClearNotifyProc, 
 //GO(SEC_ASN1EncoderClearStreaming, 
-//GO(SEC_ASN1EncoderClearTakeFromBuf, 
+GO(SEC_ASN1EncoderClearTakeFromBuf, vFp)
 //GO(SEC_ASN1EncoderFinish, 
 //GO(SEC_ASN1EncoderSetNotifyProc, 
 //GO(SEC_ASN1EncoderSetStreaming, 
 //GO(SEC_ASN1EncoderSetTakeFromBuf, 
 //GO(SEC_ASN1EncoderStart, 
-//GO(SEC_ASN1EncoderUpdate, 
-//GO(SEC_ASN1EncodeUnsignedInteger, 
-//GO(SEC_ASN1LengthLength, 
+GO(SEC_ASN1EncoderUpdate, iFppL)
+GO(SEC_ASN1EncodeUnsignedInteger, pFppL)
+GO(SEC_ASN1LengthLength, iFL)
 DATA(SEC_BitStringTemplate, 4*sizeof(void*)) //R type
 DATA(SEC_BMPStringTemplate, 4*sizeof(void*)) //R type
 //DATA(SEC_BooleanTemplate,     //R type
 GO(SEC_CertNicknameConflict, iFppp)
-//GO(SEC_CheckCrlTimes, 
-//GO(SEC_CreateSignatureAlgorithmParameters, 
+GO(SEC_CheckCrlTimes, uFpl)
+GO(SEC_CreateSignatureAlgorithmParameters, pFppuupp)
 GO(SEC_DeletePermCertificate, iFp)
 //GO(SEC_DeletePermCRL, 
-GO(SEC_DerSignData, iFpppipi)
-//GO(SEC_DerSignDataWithAlgorithmID, 
-//GO(SEC_DestroyCrl, 
-//GO(SEC_DupCrl, 
-//GO(SEC_FindCrlByDERCert, 
+GO(SEC_DerSignData, iFpppipu)
+GO(SEC_DerSignDataWithAlgorithmID, iFpppipp)
+GO(SEC_DestroyCrl, iFp)
+GO(SEC_DupCrl, pFp)
+GO(SEC_FindCrlByDERCert, pFppi)
 //GO(SEC_FindCrlByName, 
 //DATA(SEC_GeneralizedTimeTemplate,     //R type
-//GO(SEC_GetCrlTimes, 
+GO(SEC_GetCrlTimes, iFppp)
 //GO(SEC_GetRegisteredHttpClient, 
-//GO(SEC_GetSignatureAlgorithmOidTag, 
+GO(SEC_GetSignatureAlgorithmOidTag, uFuu)
 DATA(SEC_IA5StringTemplate, 4*sizeof(void*)) //R type
 //DATA(SEC_IntegerTemplate,     //R type
 GO(SECITEM_AllocItem, pFppu)
-//GO(SECITEM_ArenaDupItem, 
+GO(SECITEM_ArenaDupItem, pFpp)
 GO(SECITEM_CompareItem, iFpp)
-//GO(SECITEM_CopyItem, 
+GO(SECITEM_CopyItem, iFppp)
 //GO(SECITEM_DupItem, 
 GO(SECITEM_FreeItem, iFpi)
 GO(SECITEM_ItemsAreEqual, iFpp)
 GO(SECITEM_ZfreeItem, vFpi)
-//GO(SECKEY_AddPrivateKeyToListTail, 
-//GO(SECKEY_BigIntegerBitLength, 
-//GO(SECKEY_CacheStaticFlags, 
-//GO(SECKEY_ConvertToPublicKey, 
-//GO(SECKEY_CopyEncryptedPrivateKeyInfo, 
-//GO(SECKEY_CopyPrivateKey, 
-//GO(SECKEY_CopyPrivateKeyInfo, 
-//GO(SECKEY_CopyPublicKey, 
-//GO(SECKEY_CopySubjectPublicKeyInfo, 
-//GO(SECKEY_CreateDHPrivateKey, 
-//GO(SECKEY_CreateECPrivateKey, 
-//GO(SECKEY_CreateRSAPrivateKey, 
+GO(SECKEY_AddPrivateKeyToListTail, iFpp)
+GO(SECKEY_BigIntegerBitLength, uFp)
+GO(SECKEY_CacheStaticFlags, iFp)
+GO(SECKEY_ConvertToPublicKey, pFp)
+GO(SECKEY_CopyEncryptedPrivateKeyInfo, iFppp)
+GO(SECKEY_CopyPrivateKey, pFp)
+GO(SECKEY_CopyPrivateKeyInfo, iFppp)
+GO(SECKEY_CopyPublicKey, pFp)
+GO(SECKEY_CopySubjectPublicKeyInfo, iFppp)
+GO(SECKEY_CreateDHPrivateKey, pFppp)
+GO(SECKEY_CreateECPrivateKey, pFppp)
+GO(SECKEY_CreateRSAPrivateKey, pFipp)
 GO(SECKEY_CreateSubjectPublicKeyInfo, pFp)
-//GO(SECKEY_DecodeDERSubjectPublicKeyInfo, 
-//GO(SECKEY_DestroyEncryptedPrivateKeyInfo, 
+GO(SECKEY_DecodeDERSubjectPublicKeyInfo, pFp)
+GO(SECKEY_DestroyEncryptedPrivateKeyInfo, vFpi)
 GO(SECKEY_DestroyPrivateKey, vFp)
-//GO(SECKEY_DestroyPrivateKeyInfo, 
-//GO(SECKEY_DestroyPrivateKeyList, 
+GO(SECKEY_DestroyPrivateKeyInfo, vFpi)
+GO(SECKEY_DestroyPrivateKeyList, vFp)
 GO(SECKEY_DestroyPublicKey, vFp)
-//GO(SECKEY_DestroyPublicKeyList, 
+GO(SECKEY_DestroyPublicKeyList, vFp)
 GO(SECKEY_DestroySubjectPublicKeyInfo, vFp)
 //DATA(SECKEY_DSAPublicKeyTemplate,     //R type
-//GO(SECKEY_ECParamsToBasePointOrderLen, 
+GO(SECKEY_ECParamsToBasePointOrderLen, iFp)
 //GO(SECKEY_ECParamsToKeySize, 
-//GO(SECKEY_EncodeDERSubjectPublicKeyInfo, 
+GO(SECKEY_EncodeDERSubjectPublicKeyInfo, pFp)
 DATA(SECKEY_EncryptedPrivateKeyInfoTemplate, 128)
 GO(SECKEY_ExtractPublicKey, pFp)
-GO(SECKEY_GetPrivateKeyType, iFp)
-//GO(SECKEY_GetPublicKeyType, 
+GO(SECKEY_GetPrivateKeyType, uFp)
+GO(SECKEY_GetPublicKeyType, uFp)
 //GO(SECKEY_HashPassword, 
-//GO(SECKEY_ImportDERPublicKey, 
-//GO(SECKEY_NewPrivateKeyList, 
+GO(SECKEY_ImportDERPublicKey, pFpL)
+GO(SECKEY_NewPrivateKeyList, pFv)
 //DATA(SECKEY_PointerToEncryptedPrivateKeyInfoTemplate, 
 //DATA(SECKEY_PointerToPrivateKeyInfoTemplate, 
 DATA(SECKEY_PrivateKeyInfoTemplate, 192)
 //GO(SECKEY_PublicKeyStrength, 
 GO(SECKEY_PublicKeyStrengthInBits, uFp)
-//GO(SECKEY_RemovePrivateKeyListNode, 
+GO(SECKEY_RemovePrivateKeyListNode, vFp)
 //DATA(SECKEY_RSAPSSParamsTemplate, 
 //DATA(SECKEY_RSAPublicKeyTemplate,     //R type
-//GO(SECKEY_SignatureLen, 
-//GO(SECKEY_UpdateCertPQG, 
-//GO(SEC_LookupCrls, 
-//GO(SECMOD_AddNewModule, 
-//GO(SECMOD_AddNewModuleEx, 
+GO(SECKEY_SignatureLen, uFp)
+GO(SECKEY_UpdateCertPQG, iFp)
+GO(SEC_LookupCrls, iFppi)
+GO(SECMOD_AddNewModule, iFppLL)
+GO(SECMOD_AddNewModuleEx, iFppLLpp)
 //GO(SECMOD_CancelWait, 
-//GO(SECMOD_CanDeleteInternalModule, 
+GO(SECMOD_CanDeleteInternalModule, iFv)
 //GO(SECMOD_CloseUserDB, 
 //GO(SECMOD_CreateModule, 
 //GO(SECMOD_CreateModuleEx, 
 //GO(SECMOD_DeleteInternalModule, 
-//GO(SECMOD_DeleteModule, 
+GO(SECMOD_DeleteModule, iFpp)
 //GO(SECMOD_DeleteModuleEx, 
 GO(SECMOD_DestroyModule, vFp)
 //GO(SECMOD_FindModule, 
 //GO(SECMOD_FindSlot, 
 //GO(SECMOD_FreeModuleSpecList, 
-//GO(SECMOD_GetDBModuleList, 
+GO(SECMOD_GetDBModuleList, pFv)
 //GO(SECMOD_GetDeadModuleList, 
 //GO(SECMOD_GetDefaultModDBFlag, 
 GO(SECMOD_GetDefaultModuleList, pFv)
@@ -787,13 +787,13 @@ GO(SECMOD_GetReadLock, vFp)
 //GO(SECMOD_HasRemovableSlots, 
 //GO(SECMOD_HasRootCerts, 
 //GO(SECMOD_InternaltoPubMechFlags, 
-//GO(SECMOD_IsModulePresent, 
+GO(SECMOD_IsModulePresent, iFL)
 //GO(SECMOD_LoadModule, 
 GO(SECMOD_LoadUserModule, pFppi)
-//GO(SECMOD_LookupSlot, 
+GO(SECMOD_LookupSlot, pFLL)
 //GO(SECMOD_OpenNewSlot, 
 GO(SECMOD_OpenUserDB, pFp)
-//GO(SECMOD_PubCipherFlagstoInternal, 
+GO(SECMOD_PubCipherFlagstoInternal, LFL)
 //GO(SECMOD_PubMechFlagstoInternal, 
 //GO(SECMOD_ReferenceModule, 
 GO(SECMOD_ReleaseReadLock, vFp)
@@ -802,60 +802,60 @@ GO(SECMOD_ReleaseReadLock, vFp)
 //GO(SECMOD_UpdateModule, 
 //GO(SECMOD_UpdateSlotList, 
 //GO(SECMOD_WaitForAnyTokenEvent, 
-//GO(SEC_NewCrl, 
+GO(SEC_NewCrl, pFpppi)
 //DATA(SEC_NullTemplate,    //R type
 //DATA(SEC_ObjectIDTemplate,    //R type
 DATA(SEC_OctetStringTemplate, 4*sizeof(void*))   //R type
-GO(SECOID_AddEntry, iFp)
+GO(SECOID_AddEntry, uFp)
 DATA(SECOID_AlgorithmIDTemplate, 16*sizeof(void*))   //R type
-//GO(SECOID_CompareAlgorithmID, 
-//GO(SECOID_CopyAlgorithmID, 
-//GO(SECOID_DestroyAlgorithmID, 
-//GO(SECOID_FindOID, 
-//GO(SECOID_FindOIDByTag, 
-GO(SECOID_FindOIDTag, iFp)
-//GO(SECOID_FindOIDTagDescription, 
-//GO(SECOID_GetAlgorithmTag, 
-//GO(SECOID_SetAlgorithmID, 
-//GO(SEC_PKCS5GetCryptoAlgorithm, 
-//GO(SEC_PKCS5GetIV, 
-//GO(SEC_PKCS5GetKeyLength, 
-//GO(SEC_PKCS5GetPBEAlgorithm, 
-//GO(SEC_PKCS5IsAlgorithmPBEAlg, 
-//GO(SEC_PKCS5IsAlgorithmPBEAlgTag, 
+GO(SECOID_CompareAlgorithmID, iFpp)
+GO(SECOID_CopyAlgorithmID, iFppp)
+GO(SECOID_DestroyAlgorithmID, vFpi)
+GO(SECOID_FindOID, pFp)
+GO(SECOID_FindOIDByTag, pFu)
+GO(SECOID_FindOIDTag, uFp)
+GO(SECOID_FindOIDTagDescription, pFu)
+GO(SECOID_GetAlgorithmTag, uFp)
+GO(SECOID_SetAlgorithmID, iFppup)
+GO(SEC_PKCS5GetCryptoAlgorithm, uFp)
+GO(SEC_PKCS5GetIV, pFppi)
+GO(SEC_PKCS5GetKeyLength, iFp)
+GO(SEC_PKCS5GetPBEAlgorithm, uFui)
+GO(SEC_PKCS5IsAlgorithmPBEAlg, iFp)
+GO(SEC_PKCS5IsAlgorithmPBEAlgTag, iFu)
 //DATA(SEC_PointerToAnyTemplate, 
 //DATA(SEC_PointerToOctetStringTemplate, 
 GO(SEC_QuickDERDecodeItem, iFpppp)
 GO(SEC_RegisterDefaultHttpClient, iFp)
 //DATA(SEC_SetOfAnyTemplate, 
-//GO(SEC_SignData, 
-//GO(SEC_SignDataWithAlgorithmID, 
+GO(SEC_SignData, iFppipu)
+GO(SEC_SignDataWithAlgorithmID, iFppipp)
 //DATA(SEC_SignedCertificateTemplate, 
 //DATA(SEC_UTCTimeTemplate,     //R type
 DATA(SEC_UTF8StringTemplate, 4*sizeof(void*))    //R type
-//GO(SGN_Begin, 
-//GO(SGN_CompareDigestInfo, 
-//GO(SGN_CopyDigestInfo, 
-//GO(SGN_CreateDigestInfo, 
-//GO(SGN_DestroyContext, 
-//GO(SGN_DestroyDigestInfo, 
-//GO(SGN_Digest, 
+GO(SGN_Begin, iFp)
+GO(SGN_CompareDigestInfo, iFpp)
+GO(SGN_CopyDigestInfo, iFppp)
+GO(SGN_CreateDigestInfo, pFupu)
+GO(SGN_DestroyContext, vFpi)
+GO(SGN_DestroyDigestInfo, vFp)
+GO(SGN_Digest, iFpupp)
 //DATA(sgn_DigestInfoTemplate, 
-//GO(SGN_End, 
-//GO(SGN_NewContext, 
-//GO(SGN_NewContextWithAlgorithmID, 
-//GO(SGN_Update, 
+GO(SGN_End, iFpp)
+GO(SGN_NewContext, pFup)
+GO(SGN_NewContextWithAlgorithmID, pFpp)
+GO(SGN_Update, iFppu)
 //GO(VFY_Begin, 
-//GO(VFY_CreateContext, 
-//GO(VFY_CreateContextDirect, 
-//GO(VFY_CreateContextWithAlgorithmID, 
-//GO(VFY_DestroyContext, 
-//GO(VFY_End, 
-//GO(VFY_EndWithSignature, 
-//GO(VFY_Update, 
-//GO(VFY_VerifyData, 
-//GO(VFY_VerifyDataDirect, 
-//GO(VFY_VerifyDataWithAlgorithmID, 
-//GO(VFY_VerifyDigest, 
-//GO(VFY_VerifyDigestDirect, 
-//GO(VFY_VerifyDigestWithAlgorithmID, 
+GO(VFY_CreateContext, pFppup)
+GO(VFY_CreateContextDirect, pFppuupp)
+GO(VFY_CreateContextWithAlgorithmID, pFppppp)
+GO(VFY_DestroyContext, vFpi)
+GO(VFY_End, iFp)
+GO(VFY_EndWithSignature, iFpp)
+GO(VFY_Update, iFppu)
+GO(VFY_VerifyData, iFpippup)
+GO(VFY_VerifyDataDirect, iFpippuupp)
+GO(VFY_VerifyDataWithAlgorithmID, iFpippppp)
+GO(VFY_VerifyDigest, iFpppup)
+GO(VFY_VerifyDigestDirect, iFpppuup)
+GO(VFY_VerifyDigestWithAlgorithmID, iFppppup)
diff --git a/src/wrapped/wrappedopenal.c b/src/wrapped/wrappedopenal.c
index 96cc1bb6..01b8c8e2 100644
--- a/src/wrapped/wrappedopenal.c
+++ b/src/wrapped/wrappedopenal.c
@@ -38,7 +38,7 @@ GO(4)
 static uintptr_t my_Request_fct_##A = 0;                    \
 static void my_Request_##A(int32_t a, int32_t b)            \
 {                                                           \
-    RunFunction(my_context, my_Request_fct_##A, 2, a, b);   \
+    RunFunctionFmt(my_Request_fct_##A, "ii", a, b);   \
 }
 SUPER()
 #undef GO
@@ -113,7 +113,7 @@ void freeALProcWrapper(box64context_t* context)
     context->almymap = NULL;
 }
 
-EXPORT void* my_alGetProcAddress(x64emu_t* emu, void* name) 
+EXPORT void* my_alGetProcAddress(x64emu_t* emu, void* name)
 {
     khint_t k;
     const char* rname = (const char*)name;
@@ -130,7 +130,7 @@ EXPORT void* my_alGetProcAddress(x64emu_t* emu, void* name)
         strcpy(tmp, "my_");
         strcat(tmp, rname);
         symbol = dlsym(emu->context->box64lib, tmp);
-    } else 
+    } else
         symbol = my->alGetProcAddress(name);
     if(!symbol)
         return NULL;    // easy
@@ -138,7 +138,7 @@ EXPORT void* my_alGetProcAddress(x64emu_t* emu, void* name)
     uintptr_t ret = CheckBridged(emu->context->system, symbol);
     if(ret)
         return (void*)ret; // already bridged
-    // get wrapper    
+    // get wrapper
     k = kh_get(symbolmap, emu->context->alwrappers, rname);
     if(k==kh_end(emu->context->alwrappers)) {
         printf_log(LOG_INFO, "Warning, no wrapper for %s\n", rname);
@@ -166,14 +166,14 @@ EXPORT void* my_alcGetProcAddress(x64emu_t* emu, void* device, void* name)
         strcpy(tmp, "my_");
         strcat(tmp, rname);
         symbol = dlsym(emu->context->box64lib, tmp);
-    } else 
+    } else
         symbol = my->alcGetProcAddress(device, name);
     if(!symbol)
         return NULL;    // easy
     uintptr_t ret = CheckBridged(emu->context->system, symbol);
     if(ret)
         return (void*)ret; // already bridged
-    // get wrapper    
+    // get wrapper
     k = kh_get(symbolmap, emu->context->alwrappers, rname);
     if(k==kh_end(emu->context->alwrappers)) {
         printf_log(LOG_INFO, "Warning, no wrapper for %s\n", rname);
diff --git a/src/wrapped/wrappedpango.c b/src/wrapped/wrappedpango.c
index dc0ccf41..438ab7d7 100644
--- a/src/wrapped/wrappedpango.c
+++ b/src/wrapped/wrappedpango.c
@@ -46,17 +46,17 @@ static my_PangoAttrClass_t my_PangoAttrClass_struct_##A = {0};  \
 static uintptr_t my_PangoAttrClass_copy_##A = 0;                \
 static void* my_PangoAttrClass_copyfct##A(void* attr)           \
 {                                                               \
-    return (void*)RunFunction(my_context, my_PangoAttrClass_copy_##A, 1, attr);  \
+    return (void*)RunFunctionFmt(my_PangoAttrClass_copy_##A, "p", attr);  \
 }                                                               \
 static uintptr_t my_PangoAttrClass_del_##A = 0;                 \
 static void my_PangoAttrClass_delfct##A(void* attr)             \
 {                                                               \
-    RunFunction(my_context, my_PangoAttrClass_del_##A, 1, attr);\
+    RunFunctionFmt(my_PangoAttrClass_del_##A, "p", attr);\
 }                                                               \
 static uintptr_t my_PangoAttrClass_equal_##A = 0;               \
 static int my_PangoAttrClass_equalfct##A(void* a, void* b)      \
 {                                                               \
-    return (int)RunFunction(my_context, my_PangoAttrClass_equal_##A, 2, a, b);\
+    return (int)RunFunctionFmt(my_PangoAttrClass_equal_##A, "pp", a, b);\
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedpng16.c b/src/wrapped/wrappedpng16.c
index 22bb9e5a..290162b9 100644
--- a/src/wrapped/wrappedpng16.c
+++ b/src/wrapped/wrappedpng16.c
@@ -41,7 +41,7 @@ GO(3)
 static uintptr_t my_user_write_fct_##A = 0;   \
 static void my_user_write_##A(void* png_ptr, void* data, int32_t length)    \
 {                                       \
-    RunFunction(my_context, my_user_write_fct_##A, 3, png_ptr, data, length);\
+    RunFunctionFmt(my_user_write_fct_##A, "ppi", png_ptr, data, length);\
 }
 SUPER()
 #undef GO
@@ -63,7 +63,7 @@ static void* finduser_writeFct(void* fct)
 static uintptr_t my_user_flush_fct_##A = 0;   \
 static void my_user_flush_##A(void* png_ptr)    \
 {                                       \
-    RunFunction(my_context, my_user_flush_fct_##A, 1, png_ptr);\
+    RunFunctionFmt(my_user_flush_fct_##A, "p", png_ptr);\
 }
 SUPER()
 #undef GO
@@ -85,7 +85,7 @@ static void* finduser_flushFct(void* fct)
 static uintptr_t my_user_read_fct_##A = 0;   \
 static void my_user_read_##A(void* png_ptr, void* data, int32_t length)    \
 {                                       \
-    RunFunction(my_context, my_user_read_fct_##A, 3, png_ptr, data, length);\
+    RunFunctionFmt(my_user_read_fct_##A, "ppi", png_ptr, data, length);\
 }
 SUPER()
 #undef GO
@@ -107,7 +107,7 @@ static void* finduser_readFct(void* fct)
 static uintptr_t my_error_fct_##A = 0;   \
 static void my_error_##A(void* a, void* b)    \
 {                                       \
-    RunFunction(my_context, my_error_fct_##A, 2, a, b);\
+    RunFunctionFmt(my_error_fct_##A, "pp", a, b);\
 }
 SUPER()
 #undef GO
@@ -129,7 +129,7 @@ static void* finderrorFct(void* fct)
 static uintptr_t my_warning_fct_##A = 0;   \
 static void my_warning_##A(void* a, void* b)    \
 {                                       \
-    RunFunction(my_context, my_warning_fct_##A, 2, a, b);\
+    RunFunctionFmt(my_warning_fct_##A, "pp", a, b);\
 }
 SUPER()
 #undef GO
@@ -151,7 +151,7 @@ static void* findwarningFct(void* fct)
 static uintptr_t my_malloc_fct_##A = 0;   \
 static void my_malloc_##A(void* a, unsigned long b)    \
 {                                       \
-    RunFunction(my_context, my_malloc_fct_##A, 2, a, b);\
+    RunFunctionFmt(my_malloc_fct_##A, "pL", a, b);\
 }
 SUPER()
 #undef GO
@@ -173,7 +173,7 @@ static void* findmallocFct(void* fct)
 static uintptr_t my_free_fct_##A = 0;   \
 static void my_free_##A(void* a, void* b)    \
 {                                       \
-    RunFunction(my_context, my_free_fct_##A, 2, a, b);\
+    RunFunctionFmt(my_free_fct_##A, "pp", a, b);\
 }
 SUPER()
 #undef GO
@@ -196,7 +196,7 @@ static void* findfreeFct(void* fct)
 static uintptr_t my_progressive_info_fct_##A = 0;   \
 static void my_progressive_info_##A(void* a, void* b)    \
 {                                       \
-    RunFunction(my_context, my_progressive_info_fct_##A, 2, a, b);\
+    RunFunctionFmt(my_progressive_info_fct_##A, "pp", a, b);\
 }
 SUPER()
 #undef GO
@@ -219,7 +219,7 @@ static void* findprogressive_infoFct(void* fct)
 static uintptr_t my_progressive_end_fct_##A = 0;   \
 static void my_progressive_end_##A(void* a, void* b)    \
 {                                       \
-    RunFunction(my_context, my_progressive_end_fct_##A, 2, a, b);\
+    RunFunctionFmt(my_progressive_end_fct_##A, "pp", a, b);\
 }
 SUPER()
 #undef GO
@@ -242,7 +242,7 @@ static void* findprogressive_endFct(void* fct)
 static uintptr_t my_progressive_row_fct_##A = 0;   \
 static void my_progressive_row_##A(void* a, void* b, uint32_t c, int d)    \
 {                                       \
-    RunFunction(my_context, my_progressive_row_fct_##A, 4, a, b, c, d);\
+    RunFunctionFmt(my_progressive_row_fct_##A, "ppui", a, b, c, d);\
 }
 SUPER()
 #undef GO
@@ -266,7 +266,7 @@ static void* findprogressive_rowFct(void* fct)
 static uintptr_t my_user_transform_fct_##A = 0;   \
 static void my_user_transform_##A(void* ptr, void* row, void* data)    \
 {                                       \
-    RunFunction(my_context, my_user_transform_fct_##A, 3, ptr, row, data);\
+    RunFunctionFmt(my_user_transform_fct_##A, "ppp", ptr, row, data);\
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedpng16_private.h b/src/wrapped/wrappedpng16_private.h
index 3a7e4d54..0891d459 100644
--- a/src/wrapped/wrappedpng16_private.h
+++ b/src/wrapped/wrappedpng16_private.h
@@ -87,6 +87,7 @@ GO(png_set_cHRM, vFppdddddddd)
 GO(png_permit_mng_features, uFpu)
 GO(png_set_keep_unknown_chunks, vFpipi)
 GO(png_set_oFFs, vFppiii)
+GO(png_set_option, iFpii)
 GO(png_get_libpng_ver, pFp)
 GO(png_get_text, uFpppp)
 GO(png_set_sBIT, vFppp)
diff --git a/src/wrapped/wrappedpulse.c b/src/wrapped/wrappedpulse.c
index 02233aa0..f5ec5d43 100644
--- a/src/wrapped/wrappedpulse.c
+++ b/src/wrapped/wrappedpulse.c
@@ -49,7 +49,7 @@ typedef void (*vFipippV_t)(int, void*, int, void*, void*, va_list);
 #else
 typedef void (*vFipippV_t)(int, void*, int, void*, void*, void*);
 #endif
-    GO(pa_log_level_meta, vFipippV_t)           
+    GO(pa_log_level_meta, vFipippV_t)
 #endif
 
 #define ADDED_FUNCTIONS() \
@@ -91,7 +91,7 @@ GO(15)  \
 static uintptr_t my_free_fct_##A = 0;   \
 static void my_free_##A(void* data)     \
 {                                       \
-    RunFunction(my_context, my_free_fct_##A, 1, data);\
+    RunFunctionFmt(my_free_fct_##A, "p", data);\
 }
 SUPER()
 #undef GO
@@ -113,7 +113,7 @@ static void* findFreeFct(void* fct)
 static uintptr_t my_free_api_fct_##A = 0;   \
 static void my_free_api_##A(my_pa_mainloop_api_t* api, void* p, void* data)     \
 {                                       \
-    RunFunction(my_context, my_free_api_fct_##A, 3, api, p, data);\
+    RunFunctionFmt(my_free_api_fct_##A, "ppp", api, p, data);\
 }
 SUPER()
 #undef GO
@@ -136,7 +136,7 @@ static uintptr_t my_io_event_fct_##A = 0;   \
 static void my_io_event_##A(my_pa_mainloop_api_t* api, void* e, int fd, int events, void* data)     \
 {                                       \
     if(api==my_mainloop_orig) api=my_mainloop_ref;                  \
-    RunFunction(my_context, my_io_event_fct_##A, 5, api, e, fd, events, data);  \
+    RunFunctionFmt(my_io_event_fct_##A, "ppiip", api, e, fd, events, data);  \
 }
 SUPER()
 #undef GO
@@ -159,7 +159,7 @@ static uintptr_t my_time_event_fct_##A = 0;   \
 static void my_time_event_##A(my_pa_mainloop_api_t* api, void* e, void* tv, void* data)     \
 {                                       \
     if(api==my_mainloop_orig) api=my_mainloop_ref;                  \
-    RunFunction(my_context, my_time_event_fct_##A, 4, api, e, tv, data);  \
+    RunFunctionFmt(my_time_event_fct_##A, "pppp", api, e, tv, data);  \
 }
 SUPER()
 #undef GO
@@ -183,7 +183,7 @@ static uintptr_t my_defer_event_fct_##A = 0;   \
 static void my_defer_event_##A(my_pa_mainloop_api_t* api, void* e, void* data)     \
 {                                       \
     if(api==my_mainloop_orig) api=my_mainloop_ref;                  \
-    RunFunction(my_context, my_defer_event_fct_##A, 3, api, e, data);  \
+    RunFunctionFmt(my_defer_event_fct_##A, "ppp", api, e, data);  \
 }
 SUPER()
 #undef GO
@@ -206,7 +206,7 @@ static void* findDeferEventFct(void* fct)
 static uintptr_t my_poll_fct_##A = 0;   \
 static int my_poll_##A(void* ufds, unsigned long nfds, int timeout, void* data)         \
 {                                       \
-    return (int)RunFunction(my_context, my_poll_fct_##A, 4, ufds, nfds, timeout, data); \
+    return (int)RunFunctionFmt(my_poll_fct_##A, "pLip", ufds, nfds, timeout, data); \
 }
 SUPER()
 #undef GO
@@ -229,7 +229,7 @@ static uintptr_t my_signal_fct_##A = 0;   \
 static void my_signal_##A(my_pa_mainloop_api_t* api, void* e, int sig, void *data)  \
 {                                                                                   \
     if(api==my_mainloop_orig) api=my_mainloop_ref;                                  \
-    RunFunction(my_context, my_signal_fct_##A, 4, api, e, sig, data);               \
+    RunFunctionFmt(my_signal_fct_##A, "ppip", api, e, sig, data);               \
 }
 SUPER()
 #undef GO
@@ -252,7 +252,7 @@ static uintptr_t my_signal_destroy_fct_##A = 0;   \
 static void my_signal_destroy_##A(my_pa_mainloop_api_t* api, void* e, void *data)   \
 {                                                                                   \
     if(api==my_mainloop_orig) api=my_mainloop_ref;                                  \
-    RunFunction(my_context, my_signal_destroy_fct_##A, 3, api, e, data);            \
+    RunFunctionFmt(my_signal_destroy_fct_##A, "ppp", api, e, data);            \
 }
 SUPER()
 #undef GO
@@ -275,7 +275,7 @@ static void* find_signal_destroy_Fct(void* fct)
 static uintptr_t my_prefork_fct_##A = 0;            \
 static void my_prefork_##A()                        \
 {                                                   \
-    RunFunction(my_context, my_prefork_fct_##A, 0); \
+    RunFunctionFmt(my_prefork_fct_##A, ""); \
 }
 SUPER()
 #undef GO
@@ -297,7 +297,7 @@ static void* find_prefork_Fct(void* fct)
 static uintptr_t my_postfork_fct_##A = 0;           \
 static void my_postfork_##A()                       \
 {                                                   \
-    RunFunction(my_context, my_postfork_fct_##A, 0);\
+    RunFunctionFmt(my_postfork_fct_##A, "");\
 }
 SUPER()
 #undef GO
@@ -319,7 +319,7 @@ static void* find_postfork_Fct(void* fct)
 static uintptr_t my_atfork_fct_##A = 0;             \
 static void my_atfork_##A()                         \
 {                                                   \
-    RunFunction(my_context, my_atfork_fct_##A, 0);  \
+    RunFunctionFmt(my_atfork_fct_##A, "");  \
 }
 SUPER()
 #undef GO
@@ -342,7 +342,7 @@ static void* find_atfork_Fct(void* fct)
 static uintptr_t my_state_context_fct_##A = 0;                              \
 static void my_state_context_##A(void* context, void* data)                 \
 {                                                                           \
-    RunFunction(my_context, my_state_context_fct_##A, 2, context, data);    \
+    RunFunctionFmt(my_state_context_fct_##A, "pp", context, data);    \
 }
 SUPER()
 #undef GO
@@ -364,7 +364,7 @@ static void* find_state_context_Fct(void* fct)
 static uintptr_t my_notify_context_fct_##A = 0;                             \
 static void my_notify_context_##A(void* context, void* data)                \
 {                                                                           \
-    RunFunction(my_context, my_notify_context_fct_##A, 2, context, data);   \
+    RunFunctionFmt(my_notify_context_fct_##A, "pp", context, data);   \
 }
 SUPER()
 #undef GO
@@ -386,7 +386,7 @@ static void* find_notify_context_Fct(void* fct)
 static uintptr_t my_success_context_fct_##A = 0;                                    \
 static void my_success_context_##A(void* context, int success, void* data)          \
 {                                                                                   \
-    RunFunction(my_context, my_success_context_fct_##A, 3, context, success, data); \
+    RunFunctionFmt(my_success_context_fct_##A, "pip", context, success, data); \
 }
 SUPER()
 #undef GO
@@ -408,7 +408,7 @@ static void* find_success_context_Fct(void* fct)
 static uintptr_t my_event_context_fct_##A = 0;                                      \
 static void my_event_context_##A(void* context, void* name, void* p, void* data)    \
 {                                                                                   \
-    RunFunction(my_context, my_event_context_fct_##A, 4, context, name, p, data);   \
+    RunFunctionFmt(my_event_context_fct_##A, "pppp", context, name, p, data);   \
 }
 SUPER()
 #undef GO
@@ -430,7 +430,7 @@ static void* find_event_context_Fct(void* fct)
 static uintptr_t my_module_info_fct_##A = 0;                                    \
 static void my_module_info_##A(void* context, void* i, int eol, void* data)     \
 {                                                                               \
-    RunFunction(my_context, my_module_info_fct_##A, 4, context, i, eol, data);  \
+    RunFunctionFmt(my_module_info_fct_##A, "ppip", context, i, eol, data);  \
 }
 SUPER()
 #undef GO
@@ -452,7 +452,7 @@ static void* find_module_info_Fct(void* fct)
 static uintptr_t my_server_info_fct_##A = 0;                                \
 static void my_server_info_##A(void* context, void* i, void* data)          \
 {                                                                           \
-    RunFunction(my_context, my_server_info_fct_##A, 3, context, i, data);   \
+    RunFunctionFmt(my_server_info_fct_##A, "ppp", context, i, data);   \
 }
 SUPER()
 #undef GO
@@ -474,7 +474,7 @@ static void* find_server_info_Fct(void* fct)
 static uintptr_t my_client_info_fct_##A = 0;                                    \
 static void my_client_info_##A(void* context, void* i, int eol, void* data)     \
 {                                                                               \
-    RunFunction(my_context, my_client_info_fct_##A, 4, context, i, eol, data);  \
+    RunFunctionFmt(my_client_info_fct_##A, "ppip", context, i, eol, data);  \
 }
 SUPER()
 #undef GO
@@ -496,7 +496,7 @@ static void* find_client_info_Fct(void* fct)
 static uintptr_t my_context_index_fct_##A = 0;                                  \
 static void my_context_index_##A(void* context, uint32_t idx, void* data)       \
 {                                                                               \
-    RunFunction(my_context, my_context_index_fct_##A, 3, context, idx, data);   \
+    RunFunctionFmt(my_context_index_fct_##A, "pup", context, idx, data);   \
 }
 SUPER()
 #undef GO
@@ -518,7 +518,7 @@ static void* find_context_index_Fct(void* fct)
 static uintptr_t my_subscribe_context_fct_##A = 0;                                      \
 static void my_subscribe_context_##A(void* context, int evt, uint32_t idx, void* data)  \
 {                                                                                       \
-    RunFunction(my_context, my_subscribe_context_fct_##A, 4, context, evt, idx, data);  \
+    RunFunctionFmt(my_subscribe_context_fct_##A, "piup", context, evt, idx, data);  \
 }
 SUPER()
 #undef GO
@@ -541,7 +541,7 @@ static void* find_subscribe_context_Fct(void* fct)
 static uintptr_t my_stream_state_fct_##A = 0;                       \
 static void my_stream_state_##A(void* s, void* data)                \
 {                                                                   \
-    RunFunction(my_context, my_stream_state_fct_##A, 2, s, data);   \
+    RunFunctionFmt(my_stream_state_fct_##A, "pp", s, data);   \
 }
 SUPER()
 #undef GO
@@ -563,7 +563,7 @@ static void* find_stream_state_Fct(void* fct)
 static uintptr_t my_stream_success_fct_##A = 0;                                 \
 static void my_stream_success_##A(void* s, int success, void* data)             \
 {                                                                               \
-    RunFunction(my_context, my_stream_success_fct_##A, 3, s, success, data);    \
+    RunFunctionFmt(my_stream_success_fct_##A, "pip", s, success, data);    \
 }
 SUPER()
 #undef GO
@@ -585,7 +585,7 @@ static void* find_stream_success_Fct(void* fct)
 static uintptr_t my_stream_notify_fct_##A = 0;                      \
 static void my_stream_notify_##A(void* s, void* data)               \
 {                                                                   \
-    RunFunction(my_context, my_stream_notify_fct_##A, 2, s, data);  \
+    RunFunctionFmt(my_stream_notify_fct_##A, "pp", s, data);  \
 }
 SUPER()
 #undef GO
@@ -607,7 +607,7 @@ static void* find_stream_notify_Fct(void* fct)
 static uintptr_t my_stream_event_fct_##A = 0;                               \
 static void my_stream_event_##A(void* s, void* name, void* pl, void* data)  \
 {                                                                           \
-    RunFunction(my_context, my_stream_event_fct_##A, 4, s, name, pl, data); \
+    RunFunctionFmt(my_stream_event_fct_##A, "pppp", s, name, pl, data); \
 }
 SUPER()
 #undef GO
@@ -629,7 +629,7 @@ static void* find_stream_event_Fct(void* fct)
 static uintptr_t my_stream_request_fct_##A = 0;                             \
 static void my_stream_request_##A(void* s, size_t nbytes, void* data)       \
 {                                                                           \
-    RunFunction(my_context, my_stream_request_fct_##A, 3, s, nbytes, data); \
+    RunFunctionFmt(my_stream_request_fct_##A, "pLp", s, nbytes, data); \
 }
 SUPER()
 #undef GO
@@ -651,7 +651,7 @@ static void* find_stream_request_Fct(void* fct)
 static uintptr_t my_device_restore_read_device_formats_fct_##A = 0;                         \
 static void my_device_restore_read_device_formats_##A(void* a, void* b, int c, void* d)     \
 {                                                                                           \
-    RunFunction(my_context, my_device_restore_read_device_formats_fct_##A, 4, a, b, c, d);  \
+    RunFunctionFmt(my_device_restore_read_device_formats_fct_##A, "ppip", a, b, c, d);  \
 }
 SUPER()
 #undef GO
@@ -673,7 +673,7 @@ static void* find_device_restore_read_device_formats_Fct(void* fct)
 static uintptr_t my_card_info_fct_##A = 0;                         \
 static void my_card_info_##A(void* a, void* b, int c, void* d)     \
 {                                                                  \
-    RunFunction(my_context, my_card_info_fct_##A, 4, a, b, c, d);  \
+    RunFunctionFmt(my_card_info_fct_##A, "ppip", a, b, c, d);  \
 }
 SUPER()
 #undef GO
@@ -695,7 +695,7 @@ static void* find_card_info_Fct(void* fct)
 static uintptr_t my_source_output_info_fct_##A = 0;                         \
 static void my_source_output_info_##A(void* a, void* b, int c, void* d)     \
 {                                                                  \
-    RunFunction(my_context, my_source_output_info_fct_##A, 4, a, b, c, d);  \
+    RunFunctionFmt(my_source_output_info_fct_##A, "ppip", a, b, c, d);  \
 }
 SUPER()
 #undef GO
@@ -717,7 +717,7 @@ static void* find_source_output_info_Fct(void* fct)
 static uintptr_t my_device_restore_subscribe_fct_##A = 0;                           \
 static void my_device_restore_subscribe_##A(void* a, int b, uint32_t c, void* d)    \
 {                                                                                   \
-    RunFunction(my_context, my_device_restore_subscribe_fct_##A, 4, a, b, c, d);    \
+    RunFunctionFmt(my_device_restore_subscribe_fct_##A, "piup", a, b, c, d);    \
 }
 SUPER()
 #undef GO
@@ -830,7 +830,7 @@ static void* my_io_new(void* api, int fd, int events, void* cb, void *userdata)
     if(cb)
         b = AddCheckBridge(bridge, vFppiip, cb, 0, NULL);
     if(api==my_mainloop_orig) api=my_mainloop_ref;    // need emulated version
-    return (void*)RunFunction(my_context, (uintptr_t)my_mainloop_ref->io_new, 5, api, fd, events, b, userdata);
+    return (void*)RunFunctionFmt((uintptr_t)my_mainloop_ref->io_new, "piipp", api, fd, events, b, userdata);
 }
 static void my_io_enable(void* e, int events)
 {
@@ -839,7 +839,7 @@ static void my_io_enable(void* e, int events)
     if(fnc)
         return ((vFpi_t)fnc)(e, events);
 
-    RunFunction(my_context, (uintptr_t)my_mainloop_ref->io_enable, 2, e, events);
+    RunFunctionFmt((uintptr_t)my_mainloop_ref->io_enable, "pi", e, events);
 }
 static void my_io_free(void* e)
 {
@@ -848,7 +848,7 @@ static void my_io_free(void* e)
     if(fnc)
         return ((vFp_t)fnc)(e);
 
-    RunFunction(my_context, (uintptr_t)my_mainloop_ref->io_free, 1, e);
+    RunFunctionFmt((uintptr_t)my_mainloop_ref->io_free, "p", e);
 }
 static void my_io_set_destroy(void* e, void* cb)
 {
@@ -864,7 +864,7 @@ static void my_io_set_destroy(void* e, void* cb)
         if(!b)
             b = AddBridge(bridge, vFppp, cb, 0, NULL);
     }
-    RunFunction(my_context, (uintptr_t)my_mainloop_ref->io_set_destroy, 2, e, b);
+    RunFunctionFmt((uintptr_t)my_mainloop_ref->io_set_destroy, "pp", e, b);
 }
 
 static void* my_time_new(void* api, void* tv, void* cb, void* data)
@@ -882,7 +882,7 @@ static void* my_time_new(void* api, void* tv, void* cb, void* data)
     if(cb)
         b = AddCheckBridge(bridge, vFpppp, cb, 0, NULL);
     if(api==my_mainloop_orig) api=my_mainloop_ref;    // need emulated version
-    return (void*)RunFunction(my_context, (uintptr_t)my_mainloop_ref->time_new, 4, api, tv, b, data);
+    return (void*)RunFunctionFmt((uintptr_t)my_mainloop_ref->time_new, "pppp", api, tv, b, data);
 }
 static void my_time_restart(void* e, void* tv)
 {
@@ -891,7 +891,7 @@ static void my_time_restart(void* e, void* tv)
     if(fnc)
         return ((vFpp_t)fnc)(e, tv);
 
-    RunFunction(my_context, (uintptr_t)my_mainloop_ref->time_restart, 2, e, tv);
+    RunFunctionFmt((uintptr_t)my_mainloop_ref->time_restart, "pp", e, tv);
 }
 static void my_time_free(void* e)
 {
@@ -900,7 +900,7 @@ static void my_time_free(void* e)
     if(fnc)
         return ((vFp_t)fnc)(e);
 
-    RunFunction(my_context, (uintptr_t)my_mainloop_ref->time_free, 1, e);
+    RunFunctionFmt((uintptr_t)my_mainloop_ref->time_free, "p", e);
 }
 static void my_time_set_destroy(void* e, void* cb)
 {
@@ -913,13 +913,21 @@ static void my_time_set_destroy(void* e, void* cb)
     uintptr_t b = 0;
     if(cb)
             b = AddCheckBridge(bridge, vFppp, cb, 0, NULL);
-    RunFunction(my_context, (uintptr_t)my_mainloop_ref->time_set_destroy, 2, e, b);
+    RunFunctionFmt((uintptr_t)my_mainloop_ref->time_set_destroy, "pp", e, b);
 }
 
 static void* my_defer_new(void* api, void* cb, void* data)
 {
     uintptr_t b = (uintptr_t)cb;
-    void* fnc = GetNativeFnc((uintptr_t)my_mainloop_ref->defer_new);
+    static void* old_defer_new = NULL;
+    static void* old_fnc = NULL;
+    void* fnc = NULL;
+    if(old_defer_new == my_mainloop_ref->defer_new)
+        fnc = old_fnc;
+    else {
+        old_fnc = fnc = GetNativeFnc((uintptr_t)my_mainloop_ref->defer_new);
+        old_defer_new = my_mainloop_ref->defer_new;
+    }
     if(fnc) {
         if(api==my_mainloop_ref) api=my_mainloop_orig;    // need native version
         if(fnc==native_defer_new) fnc=my_mainloop_native.defer_new;
@@ -934,7 +942,7 @@ static void* my_defer_new(void* api, void* cb, void* data)
             b = AddBridge(bridge, vFppp, cb, 0, NULL);
     }
     if(api==my_mainloop_orig) api=my_mainloop_ref;    // need emulated version
-    return (void*)RunFunction(my_context, (uintptr_t)my_mainloop_ref->defer_new, 3, api, b, data);
+    return (void*)RunFunctionFmt((uintptr_t)my_mainloop_ref->defer_new, "ppp", api, b, data);
 }
 static void my_defer_enable(void* e, int b)
 {
@@ -943,7 +951,7 @@ static void my_defer_enable(void* e, int b)
     if(fnc)
         return ((vFpi_t)fnc)(e, b);
 
-    RunFunction(my_context, (uintptr_t)my_mainloop_ref->defer_enable, 2, e, b);
+    RunFunctionFmt((uintptr_t)my_mainloop_ref->defer_enable, "pi", e, b);
 }
 static void my_defer_free(void* e)
 {
@@ -952,7 +960,7 @@ static void my_defer_free(void* e)
     if(fnc)
         return ((vFp_t)fnc)(e);
 
-    RunFunction(my_context, (uintptr_t)my_mainloop_ref->defer_free, 1, e);
+    RunFunctionFmt((uintptr_t)my_mainloop_ref->defer_free, "p", e);
 }
 static void my_defer_set_destroy(void* e, void* cb)
 {
@@ -965,7 +973,7 @@ static void my_defer_set_destroy(void* e, void* cb)
     uintptr_t b = 0;
     if(cb)
         b = AddCheckBridge(bridge, vFppp, cb, 0, NULL);
-    RunFunction(my_context, (uintptr_t)my_mainloop_ref->defer_set_destroy, 2, e, b);
+    RunFunctionFmt((uintptr_t)my_mainloop_ref->defer_set_destroy, "pp", e, b);
 }
 
 static void my_quit(void* api, int retval)
@@ -978,7 +986,7 @@ static void my_quit(void* api, int retval)
     }
 
     if(api==my_mainloop_orig) api=my_mainloop_ref;    // need emulated version
-    RunFunction(my_context, (uintptr_t)my_mainloop_ref->quit, 2, api, retval);
+    RunFunctionFmt((uintptr_t)my_mainloop_ref->quit, "pi", api, retval);
 }
 
 static void bridgeMainloopAPI(bridge_t* bridge, my_pa_mainloop_api_t* api)
diff --git a/src/wrapped/wrappedsdl1.c b/src/wrapped/wrappedsdl1.c
index 4ebfb31e..50f3e1b2 100644
--- a/src/wrapped/wrappedsdl1.c
+++ b/src/wrapped/wrappedsdl1.c
@@ -73,7 +73,7 @@ GO(4)
 static uintptr_t my_AudioCallback_fct_##A = 0;                                      \
 static void my_AudioCallback_##A(void *userdata, uint8_t *stream, int32_t len)      \
 {                                                                                   \
-    RunFunction(my_context, my_AudioCallback_fct_##A, 3, userdata, stream, len);    \
+    RunFunctionFmt(my_AudioCallback_fct_##A, "pCi", userdata, stream, len);   \
 }
 SUPER()
 #undef GO
@@ -95,7 +95,7 @@ static void* find_AudioCallback_Fct(void* fct)
 static uintptr_t my_TimerCallback_fct_##A = 0;                                                  \
 static uint32_t my_TimerCallback_##A(uint32_t interval, void *userdata)                         \
 {                                                                                               \
-    return (uint32_t)RunFunction(my_context, my_TimerCallback_fct_##A, 2, interval, userdata);  \
+    return (uint32_t)RunFunctionFmt(my_TimerCallback_fct_##A, "up", interval, userdata);  \
 }
 SUPER()
 #undef GO
@@ -117,7 +117,7 @@ static void* find_TimerCallback_Fct(void* fct)
 static uintptr_t my_EvtFilter_fct_##A = 0;                      \
 static int my_EvtFilter_##A(void* p)                            \
 {                                                               \
-    return RunFunction(my_context, my_EvtFilter_fct_##A, 1, p); \
+    return RunFunctionFmt(my_EvtFilter_fct_##A, "p", p); \
 }
 SUPER()
 #undef GO
@@ -350,7 +350,7 @@ EXPORT void my_SDL_KillThread(x64emu_t* emu, void* p)
     my->SDL_KillThread(p);
 }
 
-EXPORT void* my_SDL_GL_GetProcAddress(x64emu_t* emu, void* name) 
+EXPORT void* my_SDL_GL_GetProcAddress(x64emu_t* emu, void* name)
 {
     khint_t k;
     const char* rname = (const char*)name;
diff --git a/src/wrapped/wrappedsdl1image.c b/src/wrapped/wrappedsdl1image.c
index 66eda2c8..ad405d90 100644
--- a/src/wrapped/wrappedsdl1image.c
+++ b/src/wrapped/wrappedsdl1image.c
@@ -24,7 +24,7 @@ const char* sdl1imageName = "libSDL_image-1.2.so.0";
 
 #include "wrappercallback.h"
 
-#define GO(A) \
+#define GO(A)   \
 void EXPORT *my_##A(x64emu_t* emu, void* a) \
 { \
     SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); \
diff --git a/src/wrapped/wrappedsdl1mixer.c b/src/wrapped/wrappedsdl1mixer.c
index 9538aacf..d9287be4 100644
--- a/src/wrapped/wrappedsdl1mixer.c
+++ b/src/wrapped/wrappedsdl1mixer.c
@@ -37,7 +37,7 @@ GO(4)
 static uintptr_t my_EffectFunc_fct_##A = 0;                                         \
 static void my_EffectFunc_##A(int chan, void *stream, int len, void *udata)         \
 {                                                                                   \
-    RunFunction(my_context, my_EffectFunc_fct_##A, 4, chan, stream, len, udata);    \
+    RunFunctionFmt(my_EffectFunc_fct_##A, "ipip", chan, stream, len, udata);  \
 }
 SUPER()
 #undef GO
@@ -61,7 +61,7 @@ static void* find_EffectFunc_Fct(void* fct)
 static uintptr_t my_EffectDone_fct_##A = 0;                         \
 static void my_EffectDone_##A(int chan, void *udata)                \
 {                                                                   \
-    RunFunction(my_context, my_EffectDone_fct_##A, 2, chan, udata); \
+    RunFunctionFmt(my_EffectDone_fct_##A, "ip", chan, udata);       \
 }
 SUPER()
 #undef GO
@@ -85,7 +85,7 @@ static void* find_EffectDone_Fct(void* fct)
 static uintptr_t my_MixFunc_fct_##A = 0;                                \
 static void my_MixFunc_##A(void *udata, uint8_t *stream, int len)       \
 {                                                                       \
-    RunFunction(my_context, my_MixFunc_fct_##A, 3, udata, stream, len); \
+    RunFunctionFmt(my_MixFunc_fct_##A, "ppi", udata, stream, len);      \
 }
 SUPER()
 #undef GO
@@ -109,7 +109,7 @@ static void* find_MixFunc_Fct(void* fct)
 static uintptr_t my_ChannelFinished_fct_##A = 0;                        \
 static void my_ChannelFinished_##A(int channel)                         \
 {                                                                       \
-    RunFunction(my_context, my_ChannelFinished_fct_##A, 1, channel);    \
+    RunFunctionFmt(my_ChannelFinished_fct_##A, "i", channel);           \
 }
 SUPER()
 #undef GO
@@ -133,7 +133,7 @@ static void* find_ChannelFinished_Fct(void* fct)
 static uintptr_t my_MusicFinished_fct_##A = 0;              \
 static void my_MusicFinished_##A()                          \
 {                                                           \
-    RunFunction(my_context, my_MusicFinished_fct_##A, 0);   \
+    RunFunctionFmt(my_MusicFinished_fct_##A, "");           \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedsdl2.c b/src/wrapped/wrappedsdl2.c
index 2e665e9f..8f0710f5 100644
--- a/src/wrapped/wrappedsdl2.c
+++ b/src/wrapped/wrappedsdl2.c
@@ -104,7 +104,7 @@ GO(4)
 static uintptr_t my_Timer_fct_##A = 0;                                      \
 static uint64_t my_Timer_##A(uint64_t a, void* b)                           \
 {                                                                           \
-    return (uint64_t)RunFunction(my_context, my_Timer_fct_##A, 2, a, b);    \
+    return (uint64_t)RunFunctionFmt(my_Timer_fct_##A, "Up", a, b);    \
 }
 SUPER()
 #undef GO
@@ -121,14 +121,14 @@ static void* find_Timer_Fct(void* fct)
     #undef GO
     printf_log(LOG_NONE, "Warning, no more slot for SDL2 Timer callback\n");
     return NULL;
-    
+
 }
 // AudioCallback
 #define GO(A)   \
 static uintptr_t my_AudioCallback_fct_##A = 0;                      \
 static void my_AudioCallback_##A(void* a, void* b, int c)           \
 {                                                                   \
-    RunFunction(my_context, my_AudioCallback_fct_##A, 3, a, b, c);  \
+    RunFunctionFmt(my_AudioCallback_fct_##A, "ppi", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -145,14 +145,14 @@ static void* find_AudioCallback_Fct(void* fct)
     #undef GO
     printf_log(LOG_NONE, "Warning, no more slot for SDL2 AudioCallback callback\n");
     return NULL;
-    
+
 }
 // eventfilter
 #define GO(A)   \
 static uintptr_t my_eventfilter_fct_##A = 0;                                \
 static int my_eventfilter_##A(void* userdata, void* event)                  \
 {                                                                           \
-    return (int)RunFunction(my_context, my_eventfilter_fct_##A, 2, userdata, event);    \
+    return (int)RunFunctionFmt(my_eventfilter_fct_##A, "pp", userdata, event);    \
 }
 SUPER()
 #undef GO
@@ -169,7 +169,7 @@ static void* find_eventfilter_Fct(void* fct)
     #undef GO
     printf_log(LOG_NONE, "Warning, no more slot for SDL2 eventfilter callback\n");
     return NULL;
-    
+
 }
 static void* reverse_eventfilter_Fct(void* fct)
 {
@@ -187,7 +187,7 @@ static void* reverse_eventfilter_Fct(void* fct)
 static uintptr_t my_LogOutput_fct_##A = 0;                                  \
 static void my_LogOutput_##A(void* a, int b, int c, void* d)                \
 {                                                                           \
-    RunFunction(my_context, my_LogOutput_fct_##A, 4, a, b, c, d);  \
+    RunFunctionFmt(my_LogOutput_fct_##A, "piip", a, b, c, d);  \
 }
 SUPER()
 #undef GO
@@ -552,7 +552,7 @@ static int get_sdl_priv(x64emu_t* emu, const char *sym_str, void **w, void **f)
         }
     #define GOS(sym, _w) GOM(sym, _w)
     #define DATA
-    
+
     if(0);
     #include "wrappedsdl2_private.h"
 
@@ -570,7 +570,7 @@ int EXPORT my2_SDL_DYNAPI_entry(x64emu_t* emu, uint32_t version, uintptr_t *tabl
     uintptr_t tab[tablesize];
     int r = my->SDL_DYNAPI_entry(version, tab, tablesize);
     (void)r;
-    
+
     #define SDL_DYNAPI_PROC(ret, sym, args, parms, ...) \
         if (i < tablesize) { \
             void *w = NULL; \
@@ -646,7 +646,7 @@ EXPORT void my2_SDL_Log(x64emu_t* emu, void* fmt, void *b) {
     my->SDL_LogMessageV(0, 3, fmt, VARARGS);
 }
 
-EXPORT void* my2_SDL_GL_GetProcAddress(x64emu_t* emu, void* name) 
+EXPORT void* my2_SDL_GL_GetProcAddress(x64emu_t* emu, void* name)
 {
     khint_t k;
     const char* rname = (const char*)name;
@@ -667,7 +667,7 @@ static uintptr_t dtor_emu[nb_once] = {0};
 static void tls_dtor_callback(int n, void* a)
 {
 	if(dtor_emu[n]) {
-        RunFunction(my_context, dtor_emu[n], 1, a);
+        RunFunctionFmt(dtor_emu[n], "p", a);
 	}
 }
 #define GO(N) \
diff --git a/src/wrapped/wrappedsdl2image.c b/src/wrapped/wrappedsdl2image.c
index de520daa..290d3155 100644
--- a/src/wrapped/wrappedsdl2image.c
+++ b/src/wrapped/wrappedsdl2image.c
@@ -24,7 +24,7 @@ const char* sdl2imageName = "libSDL2_image-2.0.so.0";
 
 #include "wrappercallback.h"
 
-#define GO(A) \
+#define GO(A)   \
 EXPORT void *my2_##A(x64emu_t* emu, void* a) \
 { \
     SDL2_RWops_t *rw = RWNativeStart2(emu, (SDL2_RWops_t*)a); \
diff --git a/src/wrapped/wrappedsdl2mixer.c b/src/wrapped/wrappedsdl2mixer.c
index 8bf9c4df..56a2a0e8 100644
--- a/src/wrapped/wrappedsdl2mixer.c
+++ b/src/wrapped/wrappedsdl2mixer.c
@@ -42,7 +42,7 @@ GO(4)
 static uintptr_t my_EffectFunc_fct_##A = 0;                                         \
 static void my_EffectFunc_##A(int chan, void *stream, int len, void *udata)         \
 {                                                                                   \
-    RunFunction(my_context, my_EffectFunc_fct_##A, 4, chan, stream, len, udata);    \
+    RunFunctionFmt(my_EffectFunc_fct_##A, "ipip", chan, stream, len, udata);    \
 }
 SUPER()
 #undef GO
@@ -66,7 +66,7 @@ static void* find_EffectFunc_Fct(void* fct)
 static uintptr_t my_EffectDone_fct_##A = 0;                         \
 static void my_EffectDone_##A(int chan, void *udata)                \
 {                                                                   \
-    RunFunction(my_context, my_EffectDone_fct_##A, 2, chan, udata); \
+    RunFunctionFmt(my_EffectDone_fct_##A, "ip", chan, udata); \
 }
 SUPER()
 #undef GO
@@ -90,7 +90,7 @@ static void* find_EffectDone_Fct(void* fct)
 static uintptr_t my_MixFunc_fct_##A = 0;                                \
 static void my_MixFunc_##A(void *udata, uint8_t *stream, int len)       \
 {                                                                       \
-    RunFunction(my_context, my_MixFunc_fct_##A, 3, udata, stream, len); \
+    RunFunctionFmt(my_MixFunc_fct_##A, "ppi", udata, stream, len); \
 }
 SUPER()
 #undef GO
@@ -114,7 +114,7 @@ static void* find_MixFunc_Fct(void* fct)
 static uintptr_t my_ChannelFinished_fct_##A = 0;                        \
 static void my_ChannelFinished_##A(int channel)                         \
 {                                                                       \
-    RunFunction(my_context, my_ChannelFinished_fct_##A, 1, channel);    \
+    RunFunctionFmt(my_ChannelFinished_fct_##A, "i", channel);    \
 }
 SUPER()
 #undef GO
@@ -138,7 +138,7 @@ static void* find_ChannelFinished_Fct(void* fct)
 static uintptr_t my_MusicFinished_fct_##A = 0;              \
 static void my_MusicFinished_##A()                          \
 {                                                           \
-    RunFunction(my_context, my_MusicFinished_fct_##A, 0);   \
+    RunFunctionFmt(my_MusicFinished_fct_##A, "");   \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedsmime3.c b/src/wrapped/wrappedsmime3.c
index 136e5510..858c16b9 100644
--- a/src/wrapped/wrappedsmime3.c
+++ b/src/wrapped/wrappedsmime3.c
@@ -39,7 +39,7 @@ GO(4)
 static uintptr_t my_SECKEYGetPasswordKey_fct_##A = 0;                               \
 static void* my_SECKEYGetPasswordKey_##A(void* a, void* b)                          \
 {                                                                                   \
-    return (void*)RunFunction(my_context, my_SECKEYGetPasswordKey_fct_##A, 2, a, b);\
+    return (void*)RunFunctionFmt(my_SECKEYGetPasswordKey_fct_##A, "pp", a, b);\
 }
 SUPER()
 #undef GO
@@ -62,7 +62,7 @@ static void* find_SECKEYGetPasswordKey_Fct(void* fct)
 static uintptr_t my_digestOpenFn_fct_##A = 0;                           \
 static int my_digestOpenFn_##A(void* a, int b)                          \
 {                                                                       \
-    return RunFunction(my_context, my_digestOpenFn_fct_##A, 2, a, b);   \
+    return RunFunctionFmt(my_digestOpenFn_fct_##A, "pi", a, b);   \
 }
 SUPER()
 #undef GO
@@ -85,7 +85,7 @@ static void* find_digestOpenFn_Fct(void* fct)
 static uintptr_t my_digestCloseFn_fct_##A = 0;                          \
 static int my_digestCloseFn_##A(void* a, int b)                         \
 {                                                                       \
-    return RunFunction(my_context, my_digestCloseFn_fct_##A, 2, a, b);  \
+    return RunFunctionFmt(my_digestCloseFn_fct_##A, "pi", a, b);  \
 }
 SUPER()
 #undef GO
@@ -108,7 +108,7 @@ static void* find_digestCloseFn_Fct(void* fct)
 static uintptr_t my_digestIOFn_fct_##A = 0;                             \
 static int my_digestIOFn_##A(void* a, void* b, unsigned long c)         \
 {                                                                       \
-    return RunFunction(my_context, my_digestIOFn_fct_##A, 3, a, b, c);  \
+    return RunFunctionFmt(my_digestIOFn_fct_##A, "ppL", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -131,7 +131,7 @@ static void* find_digestIOFn_Fct(void* fct)
 static uintptr_t my_SEC_PKCS12NicknameCollisionCallback_fct_##A = 0;                                    \
 static void* my_SEC_PKCS12NicknameCollisionCallback_##A(void* a, void* b, void* c)                      \
 {                                                                                                       \
-    return (void*)RunFunction(my_context, my_SEC_PKCS12NicknameCollisionCallback_fct_##A, 3, a, b, c);  \
+    return (void*)RunFunctionFmt(my_SEC_PKCS12NicknameCollisionCallback_fct_##A, "ppp", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -151,10 +151,10 @@ static void* find_SEC_PKCS12NicknameCollisionCallback_Fct(void* fct)
 
 // SEC_PKCS12EncoderOutputCallback ...
 #define GO(A)   \
-static uintptr_t my_SEC_PKCS12EncoderOutputCallback_fct_##A = 0;                        \
-static void my_SEC_PKCS12EncoderOutputCallback_##A(void* a, void* b, unsigned long c)   \
-{                                                                                       \
-    RunFunction(my_context, my_SEC_PKCS12EncoderOutputCallback_fct_##A, 3, a, b, c);    \
+static uintptr_t my_SEC_PKCS12EncoderOutputCallback_fct_##A = 0;                            \
+static void my_SEC_PKCS12EncoderOutputCallback_##A(void* a, void* b, unsigned long c)       \
+{                                                                                           \
+    RunFunctionFmt(my_SEC_PKCS12EncoderOutputCallback_fct_##A, "ppL", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -177,7 +177,7 @@ static void* find_SEC_PKCS12EncoderOutputCallback_Fct(void* fct)
 static uintptr_t my_NSSCMSContentCallback_fct_##A = 0;                      \
 static void my_NSSCMSContentCallback_##A(void* a, void* b, unsigned long c) \
 {                                                                           \
-    RunFunction(my_context, my_NSSCMSContentCallback_fct_##A, 3, a, b, c);  \
+    RunFunctionFmt(my_NSSCMSContentCallback_fct_##A, "ppL", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -200,7 +200,7 @@ static void* find_NSSCMSContentCallback_Fct(void* fct)
 static uintptr_t my_PK11PasswordFunc_fct_##A = 0;                                   \
 static void* my_PK11PasswordFunc_##A(void* a, int b, void* c)                       \
 {                                                                                   \
-    return (void*)RunFunction(my_context, my_PK11PasswordFunc_fct_##A, 3, a, b, c); \
+    return (void*)RunFunctionFmt(my_PK11PasswordFunc_fct_##A, "pip", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -223,7 +223,7 @@ static void* find_PK11PasswordFunc_Fct(void* fct)
 static uintptr_t my_NSSCMSGetDecryptKeyCallback_fct_##A = 0;                                \
 static void* my_NSSCMSGetDecryptKeyCallback_##A(void* a, void* b)                           \
 {                                                                                           \
-    return (void*)RunFunction(my_context, my_NSSCMSGetDecryptKeyCallback_fct_##A, 2, a, b); \
+    return (void*)RunFunctionFmt(my_NSSCMSGetDecryptKeyCallback_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -246,7 +246,7 @@ static void* find_NSSCMSGetDecryptKeyCallback_Fct(void* fct)
 static uintptr_t my_CERTImportCertificateFunc_fct_##A = 0;                                  \
 static int my_CERTImportCertificateFunc_##A(void* a, void* b, int c)                        \
 {                                                                                           \
-    return (int)RunFunction(my_context, my_CERTImportCertificateFunc_fct_##A, 2, a, b, c);  \
+    return (int)RunFunctionFmt(my_CERTImportCertificateFunc_fct_##A, "ppi", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -271,7 +271,7 @@ EXPORT void my_SEC_PKCS12CreateExportContext(x64emu_t* emu, void* f, void* pwfna
     my->SEC_PKCS12CreateExportContext(find_SECKEYGetPasswordKey_Fct(f), pwfnarg, slot, wincx);
 }
 
-EXPORT void* my_SEC_PKCS12DecoderStart(x64emu_t* emu, void* item, void* slot, void* wincx, void* dOpen, void* dClose, 
+EXPORT void* my_SEC_PKCS12DecoderStart(x64emu_t* emu, void* item, void* slot, void* wincx, void* dOpen, void* dClose,
     void* dRead, void* dWrite, void* dArg)
 {
     return my->SEC_PKCS12DecoderStart(item, slot, wincx, find_digestOpenFn_Fct(dOpen), find_digestCloseFn_Fct(dClose),
diff --git a/src/wrapped/wrappedsmpeg.c b/src/wrapped/wrappedsmpeg.c
index cc552ba5..c2bac565 100644
--- a/src/wrapped/wrappedsmpeg.c
+++ b/src/wrapped/wrappedsmpeg.c
@@ -38,7 +38,7 @@ GO(4)
 static uintptr_t my_dispcallback_fct_##A = 0;                                                   \
 static void my_dispcallback_##A(void* dst, int32_t x, int32_t y, unsigned int w, unsigned int h)\
 {                                                                                               \
-    RunFunction(my_context, my_dispcallback_fct_##A, 5, dst, x, y, w, h);                       \
+    RunFunctionFmt(my_dispcallback_fct_##A, "piiuu", dst, x, y, w, h);                       \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedsmpeg2.c b/src/wrapped/wrappedsmpeg2.c
index c95f0bab..e285c215 100644
--- a/src/wrapped/wrappedsmpeg2.c
+++ b/src/wrapped/wrappedsmpeg2.c
@@ -38,7 +38,7 @@ GO(4)
 static uintptr_t my_dispcallback_fct_##A = 0;                           \
 static void my_dispcallback_##A(void* data, void* frame)                \
 {                                                                       \
-    RunFunction(my_context, my_dispcallback_fct_##A, 2, data, frame);   \
+    RunFunctionFmt(my_dispcallback_fct_##A, "pp", data, frame);   \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedudev0.c b/src/wrapped/wrappedudev0.c
index 47d650f5..4f2182a3 100644
--- a/src/wrapped/wrappedudev0.c
+++ b/src/wrapped/wrappedudev0.c
@@ -41,7 +41,7 @@ static uintptr_t my_log_fn_fct_##A = 0;
 static void my_log_fn_##A(void* udev, int p, void *f, int l, void* fn, void* fmt, x64_va_list_t args)   \
 {                                                                                                       \
     CONVERT_VALIST(args)                                                                                \
-    RunFunction(my_context, my_log_fn_fct_##A, 7, udev, p, f, l, fn, fmt, VARARGS);                     \
+    RunFunction(my_log_fn_fct_##A, 7, udev, p, f, l, fn, fmt, VARARGS);                                 \
 }
 #else
 #define GO(A)   \
@@ -49,7 +49,7 @@ static uintptr_t my_log_fn_fct_##A = 0;
 static void my_log_fn_##A(void* udev, int p, void *f, int l, void* fn, void* fmt, x64_va_list_t args)   \
 {                                                                                                       \
     CREATE_VALIST_FROM_VALIST(args, thread_get_emu()->scratch);                                         \
-    RunFunction(my_context, my_log_fn_fct_##A, 7, udev, p, f, l, fn, fmt, VARARGS);                     \
+    RunFunction(my_log_fn_fct_##A, 7, udev, p, f, l, fn, fmt, VARARGS);                                 \
 }
 #endif
 SUPER()
diff --git a/src/wrapped/wrappedudev1.c b/src/wrapped/wrappedudev1.c
index 6c30a14c..a82b61c0 100644
--- a/src/wrapped/wrappedudev1.c
+++ b/src/wrapped/wrappedudev1.c
@@ -41,7 +41,7 @@ static uintptr_t my_log_fn_fct_##A = 0;
 static void my_log_fn_##A(void* udev, int p, void *f, int l, void* fn, void* fmt, x64_va_list_t args)   \
 {                                                                                                       \
     CONVERT_VALIST(args)                                                                                \
-    RunFunction(my_context, my_log_fn_fct_##A, 7, udev, p, f, l, fn, fmt, VARARGS);                     \
+    RunFunction(my_log_fn_fct_##A, 7, udev, p, f, l, fn, fmt, VARARGS);                                 \
 }
 #else
 #define GO(A)   \
@@ -49,7 +49,7 @@ static uintptr_t my_log_fn_fct_##A = 0;
 static void my_log_fn_##A(void* udev, int p, void *f, int l, void* fn, void* fmt, x64_va_list_t args)   \
 {                                                                                                       \
     CREATE_VALIST_FROM_VALIST(args, thread_get_emu()->scratch);                                         \
-    RunFunction(my_context, my_log_fn_fct_##A, 7, udev, p, f, l, fn, fmt, VARARGS);                     \
+    RunFunction(my_log_fn_fct_##A, 7, udev, p, f, l, fn, fmt, VARARGS);                                 \
 }
 #endif
 SUPER()
diff --git a/src/wrapped/wrappedvorbisfile.c b/src/wrapped/wrappedvorbisfile.c
index ad285fe7..411a3ee3 100644
--- a/src/wrapped/wrappedvorbisfile.c
+++ b/src/wrapped/wrappedvorbisfile.c
@@ -49,9 +49,9 @@ GO(7)
 // read
 #define GO(A)   \
 static uintptr_t my_read_fct_##A = 0;   \
-static unsigned long my_read_##A(void* ptr, unsigned long size, unsigned long nmemb, void* datasource)     \
+static unsigned long my_read_##A(void* ptr, unsigned long size, unsigned long nmemb, void* datasource)  \
 {                                       \
-    return RunFunction(my_context, my_read_fct_##A, 4, ptr, size, nmemb, datasource);\
+    return RunFunctionFmt(my_read_fct_##A, "pLLp", ptr, size, nmemb, datasource);   \
 }
 SUPER()
 #undef GO
@@ -73,7 +73,7 @@ static void* findreadFct(void* fct)
 static uintptr_t my_seek_fct_##A = 0;   \
 static int my_seek_##A(void* ptr, int64_t offset, int whence)     \
 {                                       \
-    return (int)RunFunction(my_context, my_seek_fct_##A, 3, ptr, offset, whence);\
+    return (int)RunFunctionFmt(my_seek_fct_##A, "pIi", ptr, offset, whence);\
 }
 SUPER()
 #undef GO
@@ -95,7 +95,7 @@ static void* findseekFct(void* fct)
 static uintptr_t my_close_fct_##A = 0;   \
 static int my_close_##A(void* ptr)     \
 {                   \
-    return (int)RunFunction(my_context, my_close_fct_##A, 1, ptr);\
+    return (int)RunFunctionFmt(my_close_fct_##A, "p", ptr);\
 }
 SUPER()
 #undef GO
@@ -117,7 +117,7 @@ static void* findcloseFct(void* fct)
 static uintptr_t my_tell_fct_##A = 0;   \
 static long my_tell_##A(void* ptr)     \
 {                                       \
-    return (long)RunFunction(my_context, my_tell_fct_##A, 1, ptr);\
+    return (long)RunFunctionFmt(my_tell_fct_##A, "p", ptr);\
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedvulkan.c b/src/wrapped/wrappedvulkan.c
index b90747c4..8cba5772 100644
--- a/src/wrapped/wrappedvulkan.c
+++ b/src/wrapped/wrappedvulkan.c
@@ -53,7 +53,7 @@ static void* resolveSymbol(x64emu_t* emu, void* symbol, const char* rname)
         printf_dlsym(LOG_DEBUG, "%p\n", (void*)ret);
         return (void*)ret; // already bridged
     }
-    // get wrapper    
+    // get wrapper
     khint_t k = kh_get(symbolmap, emu->context->vkwrappers, rname);
     if(k==kh_end(emu->context->vkwrappers) && strstr(rname, "KHR")==NULL) {
         // try again, adding KHR at the end if not present
@@ -74,7 +74,7 @@ static void* resolveSymbol(x64emu_t* emu, void* symbol, const char* rname)
     return (void*)ret;
 }
 
-EXPORT void* my_vkGetDeviceProcAddr(x64emu_t* emu, void* device, void* name) 
+EXPORT void* my_vkGetDeviceProcAddr(x64emu_t* emu, void* device, void* name)
 {
     khint_t k;
     const char* rname = (const char*)name;
@@ -84,8 +84,8 @@ EXPORT void* my_vkGetDeviceProcAddr(x64emu_t* emu, void* device, void* name)
         fillVulkanProcWrapper(emu->context);
     k = kh_get(symbolmap, emu->context->vkmymap, rname);
     int is_my = (k==kh_end(emu->context->vkmymap))?0:1;
-    void* symbol;
-    if(is_my) {
+    void* symbol = my->vkGetDeviceProcAddr(device, name);
+    if(symbol && is_my) {   // only wrap if symbol exist
         // try again, by using custom "my_" now...
         char tmp[200];
         strcpy(tmp, "my_");
@@ -95,8 +95,7 @@ EXPORT void* my_vkGetDeviceProcAddr(x64emu_t* emu, void* device, void* name)
         #define GO(A, W) if(!strcmp(rname, #A)) my->A = (W)my->vkGetDeviceProcAddr(device, name);
         SUPER()
         #undef GO
-    } else 
-        symbol = my->vkGetDeviceProcAddr(device, name);
+    } 
     if(!symbol) {
         printf_dlsym(LOG_DEBUG, "%p\n", NULL);
         return NULL;    // easy
@@ -104,7 +103,7 @@ EXPORT void* my_vkGetDeviceProcAddr(x64emu_t* emu, void* device, void* name)
     return resolveSymbol(emu, symbol, rname);
 }
 
-EXPORT void* my_vkGetInstanceProcAddr(x64emu_t* emu, void* instance, void* name) 
+EXPORT void* my_vkGetInstanceProcAddr(x64emu_t* emu, void* instance, void* name)
 {
     khint_t k;
     const char* rname = (const char*)name;
@@ -192,10 +191,10 @@ GO(4)
 
 // Allocation ...
 #define GO(A)   \
-static uintptr_t my_Allocation_fct_##A = 0;                                         \
-static void* my_Allocation_##A(void* a, size_t b, size_t c, int d)                  \
-{                                                                                   \
-    return (void*)RunFunction(my_context, my_Allocation_fct_##A, 4, a, b, c, d);    \
+static uintptr_t my_Allocation_fct_##A = 0;                                             \
+static void* my_Allocation_##A(void* a, size_t b, size_t c, int d)                      \
+{                                                                                       \
+    return (void*)RunFunctionFmt(my_Allocation_fct_##A, "pLLi", a, b, c, d);      \
 }
 SUPER()
 #undef GO
@@ -214,10 +213,10 @@ static void* find_Allocation_Fct(void* fct)
 }
 // Reallocation ...
 #define GO(A)   \
-static uintptr_t my_Reallocation_fct_##A = 0;                                           \
-static void* my_Reallocation_##A(void* a, void* b, size_t c, size_t d, int e)           \
-{                                                                                       \
-    return (void*)RunFunction(my_context, my_Reallocation_fct_##A, 5, a, b, c, d, e);   \
+static uintptr_t my_Reallocation_fct_##A = 0;                                                   \
+static void* my_Reallocation_##A(void* a, void* b, size_t c, size_t d, int e)                   \
+{                                                                                               \
+    return (void*)RunFunctionFmt(my_Reallocation_fct_##A, "ppLLi", a, b, c, d, e);        \
 }
 SUPER()
 #undef GO
@@ -239,7 +238,7 @@ static void* find_Reallocation_Fct(void* fct)
 static uintptr_t my_Free_fct_##A = 0;                       \
 static void my_Free_##A(void* a, void* b)                   \
 {                                                           \
-    RunFunction(my_context, my_Free_fct_##A, 2, a, b);      \
+    RunFunctionFmt(my_Free_fct_##A, "pp", a, b);      \
 }
 SUPER()
 #undef GO
@@ -258,10 +257,10 @@ static void* find_Free_Fct(void* fct)
 }
 // InternalAllocNotification ...
 #define GO(A)   \
-static uintptr_t my_InternalAllocNotification_fct_##A = 0;                          \
-static void my_InternalAllocNotification_##A(void* a, size_t b, int c, int d)       \
-{                                                                                   \
-    RunFunction(my_context, my_InternalAllocNotification_fct_##A, 4, a, b, c, d);   \
+static uintptr_t my_InternalAllocNotification_fct_##A = 0;                                  \
+static void my_InternalAllocNotification_##A(void* a, size_t b, int c, int d)               \
+{                                                                                           \
+    RunFunctionFmt(my_InternalAllocNotification_fct_##A, "pLii", a, b, c, d);         \
 }
 SUPER()
 #undef GO
@@ -280,10 +279,10 @@ static void* find_InternalAllocNotification_Fct(void* fct)
 }
 // InternalFreeNotification ...
 #define GO(A)   \
-static uintptr_t my_InternalFreeNotification_fct_##A = 0;                           \
-static void my_InternalFreeNotification_##A(void* a, size_t b, int c, int d)        \
-{                                                                                   \
-    RunFunction(my_context, my_InternalFreeNotification_fct_##A, 4, a, b, c, d);    \
+static uintptr_t my_InternalFreeNotification_fct_##A = 0;                                   \
+static void my_InternalFreeNotification_##A(void* a, size_t b, int c, int d)                \
+{                                                                                           \
+    RunFunctionFmt(my_InternalFreeNotification_fct_##A, "pLii", a, b, c, d);          \
 }
 SUPER()
 #undef GO
@@ -302,10 +301,10 @@ static void* find_InternalFreeNotification_Fct(void* fct)
 }
 // DebugReportCallbackEXT ...
 #define GO(A)   \
-static uintptr_t my_DebugReportCallbackEXT_fct_##A = 0;                                                                             \
-static int my_DebugReportCallbackEXT_##A(int a, int b, uint64_t c, size_t d, int e, void* f, void* g, void* h)                      \
-{                                                                                                                                   \
-    return RunFunction(my_context, my_DebugReportCallbackEXT_fct_##A, 8, a, b, c, d, e, f, g, h);    \
+static uintptr_t my_DebugReportCallbackEXT_fct_##A = 0;                                                         \
+static int my_DebugReportCallbackEXT_##A(int a, int b, uint64_t c, size_t d, int e, void* f, void* g, void* h)  \
+{                                                                                                               \
+    return RunFunctionFmt(my_DebugReportCallbackEXT_fct_##A, "iiULippp", a, b, c, d, e, f, g, h);         \
 }
 SUPER()
 #undef GO
@@ -618,7 +617,7 @@ EXPORT void my_vkGetPhysicalDeviceMemoryProperties(x64emu_t* emu, void* device,
     my->vkGetPhysicalDeviceMemoryProperties(device, pProps);
 }
 
-EXPORT void my_vkCmdPipelineBarrier(x64emu_t* emu, void* device, int src, int dst, int dep, 
+EXPORT void my_vkCmdPipelineBarrier(x64emu_t* emu, void* device, int src, int dst, int dep,
     uint32_t barrierCount, void* pBarriers, uint32_t bufferCount, void* pBuffers, uint32_t imageCount, void* pImages)
 {
     my->vkCmdPipelineBarrier(device, src, dst, dep, barrierCount, pBarriers, bufferCount, pBuffers, imageCount, pImages);
@@ -632,12 +631,12 @@ typedef struct my_VkDebugReportCallbackCreateInfoEXT_s {
     void*       pUserData;
 } my_VkDebugReportCallbackCreateInfoEXT_t;
 
-EXPORT int my_vkCreateDebugReportCallbackEXT(x64emu_t* emu, void* instance, 
-                                             my_VkDebugReportCallbackCreateInfoEXT_t* create, 
+EXPORT int my_vkCreateDebugReportCallbackEXT(x64emu_t* emu, void* instance,
+                                             my_VkDebugReportCallbackCreateInfoEXT_t* create,
                                              my_VkAllocationCallbacks_t* alloc, void* callback)
 {
     my_VkDebugReportCallbackCreateInfoEXT_t dbg = *create;
-    my_VkAllocationCallbacks_t my_alloc; 
+    my_VkAllocationCallbacks_t my_alloc;
     dbg.pfnCallback = find_DebugReportCallbackEXT_Fct(dbg.pfnCallback);
     return my->vkCreateDebugReportCallbackEXT(instance, &dbg, find_VkAllocationCallbacks(&my_alloc, alloc), callback);
 }
@@ -648,4 +647,4 @@ EXPORT int my_vkDestroyDebugReportCallbackEXT(x64emu_t* emu, void* instance, voi
     return my->vkDestroyDebugReportCallbackEXT(instance, callback, find_VkAllocationCallbacks(&my_alloc, alloc));
 }
 
-CREATE(vkCreateHeadlessSurfaceEXT)
\ No newline at end of file
+CREATE(vkCreateHeadlessSurfaceEXT)
diff --git a/src/wrapped/wrappedvulkan_private.h b/src/wrapped/wrappedvulkan_private.h
index 873f8572..363b26f0 100644
--- a/src/wrapped/wrappedvulkan_private.h
+++ b/src/wrapped/wrappedvulkan_private.h
@@ -197,7 +197,7 @@ GO(vkGetPhysicalDeviceExternalFenceProperties, vFppp)
 GO(vkGetPhysicalDeviceExternalSemaphoreProperties, vFppp)
 GO(vkGetPhysicalDeviceFeatures2, vFpp)
 GO(vkGetPhysicalDeviceFormatProperties2, vFpip)
-GO(vkGetPhysicalDeviceImageFormatProperties2, vFppp)
+GO(vkGetPhysicalDeviceImageFormatProperties2, iFppp)
 GO(vkGetPhysicalDeviceMemoryProperties2, vFpp)
 GO(vkGetPhysicalDeviceProperties2, vFpp)
 GO(vkGetPhysicalDeviceQueueFamilyProperties2, vFppp)    //VkQueueFamilyProperties2 seems OK
@@ -804,4 +804,11 @@ GO(vkCmdSetSampleMaskEXT, vFpip)
 GO(vkCmdSetShadingRateImageEnableNV, vFpi)
 GO(vkCmdSetTessellationDomainOriginEXT, vFpi)
 GO(vkCmdSetViewportSwizzleNV, vFpuup)
-GO(vkCmdSetViewportWScalingEnableNV, vFpi)
\ No newline at end of file
+GO(vkCmdSetViewportWScalingEnableNV, vFpi)
+
+// VK_KHR_external_memory_win32
+GO(vkGetMemoryWin32HandleKHR, iFppp)
+GO(vkGetMemoryWin32HandlePropertiesKHR, iFpipp)
+
+// VK_EXT_swapchain_maintenance1
+GO(vkReleaseSwapchainImagesEXT, iFpp)
diff --git a/src/wrapped/wrappedwaylandclient_private.h b/src/wrapped/wrappedwaylandclient_private.h
index fc2aeef7..1d54f28c 100644
--- a/src/wrapped/wrappedwaylandclient_private.h
+++ b/src/wrapped/wrappedwaylandclient_private.h
@@ -28,11 +28,11 @@ GO(wl_display_get_fd, iFp)
 //GO(wl_display_get_protocol_error, 
 //DATA(wl_display_interface, 
 GO(wl_display_prepare_read, iFp)
-//GO(wl_display_prepare_read_queue, 
+GO(wl_display_prepare_read_queue, iFpp)
 GO(wl_display_read_events, iFp)
 GO(wl_display_roundtrip, iFp)
 //GO(wl_display_roundtrip_queue, 
-//GO(wl_event_queue_destroy, 
+GO(wl_event_queue_destroy, vFp)
 //DATA(wl_keyboard_interface, 
 //GO(wl_list_empty, 
 //GO(wl_list_init, 
@@ -44,28 +44,28 @@ GO(wl_display_roundtrip, iFp)
 //DATA(wl_output_interface, 
 //DATA(wl_pointer_interface, 
 //GO(wl_proxy_add_dispatcher, 
-//GO(wl_proxy_add_listener, 
+GO(wl_proxy_add_listener, iFppp)
 GO(wl_proxy_create, pFpp)
-//GO(wl_proxy_create_wrapper, 
+GO(wl_proxy_create_wrapper, pFp)
 GO(wl_proxy_destroy, vFp)
 //GO(wl_proxy_get_class, 
-//GO(wl_proxy_get_id, 
-//GO(wl_proxy_get_listener, 
+GO(wl_proxy_get_id, uFp)
+GO(wl_proxy_get_listener, pFp)
 //GO(wl_proxy_get_tag, 
-//GO(wl_proxy_get_user_data, 
-//GO(wl_proxy_get_version, 
+GO(wl_proxy_get_user_data, pFp)
+GO(wl_proxy_get_version, uFp)
 //GO(wl_proxy_marshal, 
 //GO(wl_proxy_marshal_array, 
-//GO(wl_proxy_marshal_array_constructor, 
-//GO(wl_proxy_marshal_array_constructor_versioned, 
+GO(wl_proxy_marshal_array_constructor, pFpupp)
+GO(wl_proxy_marshal_array_constructor_versioned, pFpuppu)
 //GO(wl_proxy_marshal_array_flags, 
 //GO(wl_proxy_marshal_constructor, 
 //GO(wl_proxy_marshal_constructor_versioned, 
 //GO(wl_proxy_marshal_flags, 
-//GO(wl_proxy_set_queue, 
+GO(wl_proxy_set_queue, vFpp)
 //GO(wl_proxy_set_tag, 
-//GO(wl_proxy_set_user_data, 
-//GO(wl_proxy_wrapper_destroy, 
+GO(wl_proxy_set_user_data, vFpp)
+GO(wl_proxy_wrapper_destroy, vFp)
 DATA(wl_region_interface, 40)
 DATA(wl_registry_interface, 40)
 DATA(wl_seat_interface, 40)
diff --git a/src/wrapped/wrappedxkbcommon_private.h b/src/wrapped/wrappedxkbcommon_private.h
index ba9dd84c..6d4a3dc5 100644
--- a/src/wrapped/wrappedxkbcommon_private.h
+++ b/src/wrapped/wrappedxkbcommon_private.h
@@ -49,7 +49,7 @@ GO(xkb_keymap_mod_get_index, uFpp)
 GO(xkb_keymap_mod_get_name, pFpu)
 GO(xkb_keymap_new_from_buffer, pFppLii)
 //GO(xkb_keymap_new_from_file, 
-//GO(xkb_keymap_new_from_names, 
+GO(xkb_keymap_new_from_names, pFppi)
 GO(xkb_keymap_new_from_string, pFppii)
 GO(xkb_keymap_num_layouts, uFp)
 GO(xkb_keymap_num_layouts_for_key, uFpu)
diff --git a/src/wrapped/wrappedxml2.c b/src/wrapped/wrappedxml2.c
index e9f8dff8..cb7aef39 100644
--- a/src/wrapped/wrappedxml2.c
+++ b/src/wrapped/wrappedxml2.c
@@ -36,7 +36,7 @@ EXPORT uintptr_t my_xmlMemStrdup = 0;
 void my_wrap_xmlFree(void* p)
 {
     if(my_xmlFree){
-        RunFunction(my_context, my_xmlFree, 1, p);
+        RunFunctionFmt(my_xmlFree, "p", p);
         return;
     }
         free(p);
@@ -44,21 +44,21 @@ void my_wrap_xmlFree(void* p)
 void* my_wrap_xmlMalloc(size_t s)
 {
     if(my_xmlMalloc)
-        return (void*)RunFunction(my_context, my_xmlMalloc, 1, s);
+        return (void*)RunFunctionFmt(my_xmlMalloc, "L", s);
     else
         return malloc(s);
 }
 void* my_wrap_xmlRealloc(void* p, size_t s)
 {
     if(my_xmlRealloc)
-        return (void*)RunFunction(my_context, my_xmlRealloc, 2, p, s);
+        return (void*)RunFunctionFmt(my_xmlRealloc, "pL", p, s);
     else
         return realloc(p, s);
 }
 void* my_wrap_xmlMemStrdup(void* p)
 {
     if(my_xmlMemStrdup)
-        return (void*)RunFunction(my_context, my_xmlMemStrdup, 1, p);
+        return (void*)RunFunctionFmt(my_xmlMemStrdup, "p", p);
     else
         return strdup(p);
 }
@@ -98,10 +98,10 @@ GO(9)
 
 // xmlHashCopier ...
 #define GO(A)   \
-static uintptr_t my_xmlHashCopier_fct_##A = 0;                                  \
-static void* my_xmlHashCopier_##A(void* a, void* b)                             \
-{                                                                               \
-    return (void*)RunFunction(my_context, my_xmlHashCopier_fct_##A, 2, a, b);   \
+static uintptr_t my_xmlHashCopier_fct_##A = 0;                                      \
+static void* my_xmlHashCopier_##A(void* a, void* b)                                 \
+{                                                                                   \
+    return (void*)RunFunctionFmt(my_xmlHashCopier_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -120,10 +120,10 @@ static void* find_xmlHashCopier_Fct(void* fct)
 }
 // xmlHashDeallocator ...
 #define GO(A)   \
-static uintptr_t my_xmlHashDeallocator_fct_##A = 0;                     \
-static void my_xmlHashDeallocator_##A(void* a, void* b)                 \
-{                                                                       \
-    RunFunction(my_context, my_xmlHashDeallocator_fct_##A, 2, a, b);    \
+static uintptr_t my_xmlHashDeallocator_fct_##A = 0;                         \
+static void my_xmlHashDeallocator_##A(void* a, void* b)                     \
+{                                                                           \
+    RunFunctionFmt(my_xmlHashDeallocator_fct_##A, "pp", a, b);  \
 }
 SUPER()
 #undef GO
@@ -142,10 +142,10 @@ static void* find_xmlHashDeallocator_Fct(void* fct)
 }
 // xmlHashScanner ...
 #define GO(A)   \
-static uintptr_t my_xmlHashScanner_fct_##A = 0;                     \
-static void my_xmlHashScanner_##A(void* a, void* b, void* c)        \
-{                                                                   \
-    RunFunction(my_context, my_xmlHashScanner_fct_##A, 3, a, b, c); \
+static uintptr_t my_xmlHashScanner_fct_##A = 0;                             \
+static void my_xmlHashScanner_##A(void* a, void* b, void* c)                \
+{                                                                           \
+    RunFunctionFmt(my_xmlHashScanner_fct_##A, "ppp", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -164,10 +164,10 @@ static void* find_xmlHashScanner_Fct(void* fct)
 }
 // xmlHashScannerFull ...
 #define GO(A)   \
-static uintptr_t my_xmlHashScannerFull_fct_##A = 0;                                 \
-static void my_xmlHashScannerFull_##A(void* a, void* b, void* c, void* c2, void* c3)\
-{                                                                                   \
-    RunFunction(my_context, my_xmlHashScannerFull_fct_##A, 5, a, b, c, c2, c3);     \
+static uintptr_t my_xmlHashScannerFull_fct_##A = 0;                                     \
+static void my_xmlHashScannerFull_##A(void* a, void* b, void* c, void* c2, void* c3)    \
+{                                                                                       \
+    RunFunctionFmt(my_xmlHashScannerFull_fct_##A, "ppppp", a, b, c, c2, c3);\
 }
 SUPER()
 #undef GO
@@ -186,10 +186,10 @@ static void* find_xmlHashScannerFull_Fct(void* fct)
 }
 // xmlCharEncodingInputFunc ...
 #define GO(A)   \
-static uintptr_t my_xmlCharEncodingInputFunc_fct_##A = 0;                               \
-static int my_xmlCharEncodingInputFunc_##A(void* a, void* b, void* c, void* d)          \
-{                                                                                       \
-    return RunFunction(my_context, my_xmlCharEncodingInputFunc_fct_##A, 4, a, b, c, d); \
+static uintptr_t my_xmlCharEncodingInputFunc_fct_##A = 0;                                       \
+static int my_xmlCharEncodingInputFunc_##A(void* a, void* b, void* c, void* d)                  \
+{                                                                                               \
+    return RunFunctionFmt(my_xmlCharEncodingInputFunc_fct_##A, "pppp", a, b, c, d); \
 }
 SUPER()
 #undef GO
@@ -208,10 +208,10 @@ static void* find_xmlCharEncodingInputFunc_Fct(void* fct)
 }
 // xmlCharEncodingOutputFunc ...
 #define GO(A)   \
-static uintptr_t my_xmlCharEncodingOutputFunc_fct_##A = 0;                              \
-static int my_xmlCharEncodingOutputFunc_##A(void* a, void* b, void* c, void* d)         \
-{                                                                                       \
-    return RunFunction(my_context, my_xmlCharEncodingOutputFunc_fct_##A, 4, a, b, c, d);\
+static uintptr_t my_xmlCharEncodingOutputFunc_fct_##A = 0;                                      \
+static int my_xmlCharEncodingOutputFunc_##A(void* a, void* b, void* c, void* d)                 \
+{                                                                                               \
+    return RunFunctionFmt(my_xmlCharEncodingOutputFunc_fct_##A, "pppp", a, b, c, d);\
 }
 SUPER()
 #undef GO
@@ -230,10 +230,10 @@ static void* find_xmlCharEncodingOutputFunc_Fct(void* fct)
 }
 // xmlOutputWriteCallback ...
 #define GO(A)   \
-static uintptr_t my_xmlOutputWriteCallback_fct_##A = 0;                             \
-static int my_xmlOutputWriteCallback_##A(void* a, void* b, int c)                   \
-{                                                                                   \
-    return RunFunction(my_context, my_xmlOutputWriteCallback_fct_##A, 3, a, b, c);  \
+static uintptr_t my_xmlOutputWriteCallback_fct_##A = 0;                                     \
+static int my_xmlOutputWriteCallback_##A(void* a, void* b, int c)                           \
+{                                                                                           \
+    return RunFunctionFmt(my_xmlOutputWriteCallback_fct_##A, "ppi", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -252,10 +252,10 @@ static void* find_xmlOutputWriteCallback_Fct(void* fct)
 }
 // xmlOutputCloseCallback ...
 #define GO(A)   \
-static uintptr_t my_xmlOutputCloseCallback_fct_##A = 0;                         \
-static int my_xmlOutputCloseCallback_##A(void* a)                               \
-{                                                                               \
-    return RunFunction(my_context, my_xmlOutputCloseCallback_fct_##A, 1, a);    \
+static uintptr_t my_xmlOutputCloseCallback_fct_##A = 0;                             \
+static int my_xmlOutputCloseCallback_##A(void* a)                                   \
+{                                                                                   \
+    return RunFunctionFmt(my_xmlOutputCloseCallback_fct_##A, "p", a);   \
 }
 SUPER()
 #undef GO
@@ -274,10 +274,10 @@ static void* find_xmlOutputCloseCallback_Fct(void* fct)
 }
 // xmlInputMatchCallback ...
 #define GO(A)   \
-static uintptr_t my_xmlInputMatchCallback_fct_##A = 0;                      \
-static int my_xmlInputMatchCallback_##A(void* a)                            \
-{                                                                           \
-    return RunFunction(my_context, my_xmlInputMatchCallback_fct_##A, 1, a); \
+static uintptr_t my_xmlInputMatchCallback_fct_##A = 0;                          \
+static int my_xmlInputMatchCallback_##A(void* a)                                \
+{                                                                               \
+    return RunFunctionFmt(my_xmlInputMatchCallback_fct_##A, "p", a);\
 }
 SUPER()
 #undef GO
@@ -296,10 +296,10 @@ static void* find_xmlInputMatchCallback_Fct(void* fct)
 }
 // xmlInputOpenCallback ...
 #define GO(A)   \
-static uintptr_t my_xmlInputOpenCallback_fct_##A = 0;                               \
-static void* my_xmlInputOpenCallback_##A(void* a)                                   \
-{                                                                                   \
-    return (void*)RunFunction(my_context, my_xmlInputOpenCallback_fct_##A, 1, a);   \
+static uintptr_t my_xmlInputOpenCallback_fct_##A = 0;                                   \
+static void* my_xmlInputOpenCallback_##A(void* a)                                       \
+{                                                                                       \
+    return (void*)RunFunctionFmt(my_xmlInputOpenCallback_fct_##A, "p", a);  \
 }
 SUPER()
 #undef GO
@@ -318,10 +318,10 @@ static void* find_xmlInputOpenCallback_Fct(void* fct)
 }
 // xmlInputReadCallback ...
 #define GO(A)   \
-static uintptr_t my_xmlInputReadCallback_fct_##A = 0;                               \
-static int my_xmlInputReadCallback_##A(void* a, void* b, int c)                     \
-{                                                                                   \
-    return RunFunction(my_context, my_xmlInputReadCallback_fct_##A, 3, a, b, c);    \
+static uintptr_t my_xmlInputReadCallback_fct_##A = 0;                                   \
+static int my_xmlInputReadCallback_##A(void* a, void* b, int c)                         \
+{                                                                                       \
+    return RunFunctionFmt(my_xmlInputReadCallback_fct_##A, "ppi", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -340,10 +340,10 @@ static void* find_xmlInputReadCallback_Fct(void* fct)
 }
 // xmlInputCloseCallback ...
 #define GO(A)   \
-static uintptr_t my_xmlInputCloseCallback_fct_##A = 0;                         \
-static int my_xmlInputCloseCallback_##A(void* a)                               \
-{                                                                               \
-    return RunFunction(my_context, my_xmlInputCloseCallback_fct_##A, 1, a);    \
+static uintptr_t my_xmlInputCloseCallback_fct_##A = 0;                              \
+static int my_xmlInputCloseCallback_##A(void* a)                                    \
+{                                                                                   \
+    return RunFunctionFmt(my_xmlInputCloseCallback_fct_##A, "p", a);    \
 }
 SUPER()
 #undef GO
@@ -365,7 +365,7 @@ static void* find_xmlInputCloseCallback_Fct(void* fct)
 static uintptr_t my_xmlSchemaValidityErrorFunc_fct_##A = 0;                                                                     \
 static void my_xmlSchemaValidityErrorFunc_##A(void* a, void* b, void* c, void* d, void* e, void* f, void* g, void* h, void* i)  \
 {                                                                                                                               \
-    RunFunction(my_context, my_xmlSchemaValidityErrorFunc_fct_##A, 9, a, b, c, d, e, f, g, h, i);                               \
+    RunFunctionFmt(my_xmlSchemaValidityErrorFunc_fct_##A, "ppppppppp", a, b, c, d, e, f, g, h, i);                  \
 }
 SUPER()
 #undef GO
@@ -387,7 +387,7 @@ static void* find_xmlSchemaValidityErrorFunc_Fct(void* fct)
 static uintptr_t my_xmlSchemaValidityWarningFunc_fct_##A = 0;                                                                       \
 static void my_xmlSchemaValidityWarningFunc_##A(void* a, void* b, void* c, void* d, void* e, void* f, void* g, void* h, void* i)    \
 {                                                                                                                                   \
-    RunFunction(my_context, my_xmlSchemaValidityWarningFunc_fct_##A, 9, a, b, c, d, e, f, g, h, i);                                 \
+    RunFunctionFmt(my_xmlSchemaValidityWarningFunc_fct_##A, "ppppppppp", a, b, c, d, e, f, g, h, i);                    \
 }
 SUPER()
 #undef GO
@@ -406,10 +406,10 @@ static void* find_xmlSchemaValidityWarningFunc_Fct(void* fct)
 }
 // xmlXPathFunction ...
 #define GO(A)   \
-static uintptr_t my_xmlXPathFunction_fct_##A = 0;                   \
-static void my_xmlXPathFunction_##A(void* a, int b)                 \
-{                                                                   \
-    RunFunction(my_context, my_xmlXPathFunction_fct_##A, 2, a, b);  \
+static uintptr_t my_xmlXPathFunction_fct_##A = 0;                       \
+static void my_xmlXPathFunction_##A(void* a, int b)                     \
+{                                                                       \
+    RunFunctionFmt(my_xmlXPathFunction_fct_##A, "pi", a, b);\
 }
 SUPER()
 #undef GO
@@ -428,10 +428,10 @@ static void* find_xmlXPathFunction_Fct(void* fct)
 }
 // internalSubsetSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_internalSubsetSAXFunc_fct_##A = 0;                          \
-static void my_internalSubsetSAXFunc_##A(void* a, void* b, void* c, void* d)    \
-{                                                                               \
-    RunFunction(my_context, my_internalSubsetSAXFunc_fct_##A, 4, a, b, c, d);   \
+static uintptr_t my_internalSubsetSAXFunc_fct_##A = 0;                                  \
+static void my_internalSubsetSAXFunc_##A(void* a, void* b, void* c, void* d)            \
+{                                                                                       \
+    RunFunctionFmt(my_internalSubsetSAXFunc_fct_##A, "pppp", a, b, c, d);   \
 }
 SUPER()
 #undef GO
@@ -450,10 +450,10 @@ static void* find_internalSubsetSAXFunc_Fct(void* fct)
 }
 // isStandaloneSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_isStandaloneSAXFunc_fct_##A = 0;                        \
-static int my_isStandaloneSAXFunc_##A(void* a)                              \
-{                                                                           \
-    return RunFunction(my_context, my_isStandaloneSAXFunc_fct_##A, 1, a);   \
+static uintptr_t my_isStandaloneSAXFunc_fct_##A = 0;                            \
+static int my_isStandaloneSAXFunc_##A(void* a)                                  \
+{                                                                               \
+    return RunFunctionFmt(my_isStandaloneSAXFunc_fct_##A, "p", a);  \
 }
 SUPER()
 #undef GO
@@ -472,10 +472,10 @@ static void* find_isStandaloneSAXFunc_Fct(void* fct)
 }
 // hasInternalSubsetSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_hasInternalSubsetSAXFunc_fct_##A = 0;                       \
-static int my_hasInternalSubsetSAXFunc_##A(void* a)                             \
-{                                                                               \
-    return RunFunction(my_context, my_hasInternalSubsetSAXFunc_fct_##A, 1, a);  \
+static uintptr_t my_hasInternalSubsetSAXFunc_fct_##A = 0;                           \
+static int my_hasInternalSubsetSAXFunc_##A(void* a)                                 \
+{                                                                                   \
+    return RunFunctionFmt(my_hasInternalSubsetSAXFunc_fct_##A, "p", a); \
 }
 SUPER()
 #undef GO
@@ -494,10 +494,10 @@ static void* find_hasInternalSubsetSAXFunc_Fct(void* fct)
 }
 // hasExternalSubsetSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_hasExternalSubsetSAXFunc_fct_##A = 0;                       \
-static int my_hasExternalSubsetSAXFunc_##A(void* a)                             \
-{                                                                               \
-    return RunFunction(my_context, my_hasExternalSubsetSAXFunc_fct_##A, 1, a);  \
+static uintptr_t my_hasExternalSubsetSAXFunc_fct_##A = 0;                           \
+static int my_hasExternalSubsetSAXFunc_##A(void* a)                                 \
+{                                                                                   \
+    return RunFunctionFmt(my_hasExternalSubsetSAXFunc_fct_##A, "p", a); \
 }
 SUPER()
 #undef GO
@@ -516,10 +516,10 @@ static void* find_hasExternalSubsetSAXFunc_Fct(void* fct)
 }
 // resolveEntitySAXFunc ...
 #define GO(A)   \
-static uintptr_t my_resolveEntitySAXFunc_fct_##A = 0;                                   \
-static void* my_resolveEntitySAXFunc_##A(void* a, void* b, void* c)                     \
-{                                                                                       \
-    return (void*)RunFunction(my_context, my_resolveEntitySAXFunc_fct_##A, 3, a, b, c); \
+static uintptr_t my_resolveEntitySAXFunc_fct_##A = 0;                                           \
+static void* my_resolveEntitySAXFunc_##A(void* a, void* b, void* c)                             \
+{                                                                                               \
+    return (void*)RunFunctionFmt(my_resolveEntitySAXFunc_fct_##A, "ppp", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -538,10 +538,10 @@ static void* find_resolveEntitySAXFunc_Fct(void* fct)
 }
 // getEntitySAXFunc ...
 #define GO(A)   \
-static uintptr_t my_getEntitySAXFunc_fct_##A = 0;                                   \
-static void* my_getEntitySAXFunc_##A(void* a, void* b)                              \
-{                                                                                   \
-    return (void*)RunFunction(my_context, my_getEntitySAXFunc_fct_##A, 2, a, b);    \
+static uintptr_t my_getEntitySAXFunc_fct_##A = 0;                                       \
+static void* my_getEntitySAXFunc_##A(void* a, void* b)                                  \
+{                                                                                       \
+    return (void*)RunFunctionFmt(my_getEntitySAXFunc_fct_##A, "pp", a, b);  \
 }
 SUPER()
 #undef GO
@@ -560,10 +560,10 @@ static void* find_getEntitySAXFunc_Fct(void* fct)
 }
 // entityDeclSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_entityDeclSAXFunc_fct_##A = 0;                                      \
-static void my_entityDeclSAXFunc_##A(void* a, void* b, int c, void* d, void* e, void* f)\
-{                                                                                       \
-    RunFunction(my_context, my_entityDeclSAXFunc_fct_##A, 6, a, b, c, d, e, f);         \
+static uintptr_t my_entityDeclSAXFunc_fct_##A = 0;                                          \
+static void my_entityDeclSAXFunc_##A(void* a, void* b, int c, void* d, void* e, void* f)    \
+{                                                                                           \
+    RunFunctionFmt(my_entityDeclSAXFunc_fct_##A, "ppippp", a, b, c, d, e, f);   \
 }
 SUPER()
 #undef GO
@@ -582,10 +582,10 @@ static void* find_entityDeclSAXFunc_Fct(void* fct)
 }
 // notationDeclSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_notationDeclSAXFunc_fct_##A = 0;                        \
-static void my_notationDeclSAXFunc_##A(void* a, void* b, void* c, void* d)  \
-{                                                                           \
-    RunFunction(my_context, my_notationDeclSAXFunc_fct_##A, 4, a, b, c, d); \
+static uintptr_t my_notationDeclSAXFunc_fct_##A = 0;                                \
+static void my_notationDeclSAXFunc_##A(void* a, void* b, void* c, void* d)          \
+{                                                                                   \
+    RunFunctionFmt(my_notationDeclSAXFunc_fct_##A, "pppp", a, b, c, d); \
 }
 SUPER()
 #undef GO
@@ -607,7 +607,7 @@ static void* find_notationDeclSAXFunc_Fct(void* fct)
 static uintptr_t my_attributeDeclSAXFunc_fct_##A = 0;                                               \
 static void my_attributeDeclSAXFunc_##A(void* a, void* b, void* c, int d, int e, void* f, void* g)  \
 {                                                                                                   \
-    RunFunction(my_context, my_attributeDeclSAXFunc_fct_##A, 7, a, b, c, d, e, f, g);               \
+    RunFunctionFmt(my_attributeDeclSAXFunc_fct_##A, "pppiipp", a, b, c, d, e, f, g);    \
 }
 SUPER()
 #undef GO
@@ -626,10 +626,10 @@ static void* find_attributeDeclSAXFunc_Fct(void* fct)
 }
 // elementDeclSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_elementDeclSAXFunc_fct_##A = 0;                         \
-static void my_elementDeclSAXFunc_##A(void* a, void* b, int c, void* d)     \
-{                                                                           \
-    RunFunction(my_context, my_elementDeclSAXFunc_fct_##A, 4, a, b, c, d);  \
+static uintptr_t my_elementDeclSAXFunc_fct_##A = 0;                                 \
+static void my_elementDeclSAXFunc_##A(void* a, void* b, int c, void* d)             \
+{                                                                                   \
+    RunFunctionFmt(my_elementDeclSAXFunc_fct_##A, "ppip", a, b, c, d);  \
 }
 SUPER()
 #undef GO
@@ -648,10 +648,10 @@ static void* find_elementDeclSAXFunc_Fct(void* fct)
 }
 // unparsedEntityDeclSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_unparsedEntityDeclSAXFunc_fct_##A = 0;                                  \
-static void my_unparsedEntityDeclSAXFunc_##A(void* a, void* b, void* c, void* d, void* e)   \
-{                                                                                           \
-    RunFunction(my_context, my_unparsedEntityDeclSAXFunc_fct_##A, 5, a, b, c, d, e);        \
+static uintptr_t my_unparsedEntityDeclSAXFunc_fct_##A = 0;                                      \
+static void my_unparsedEntityDeclSAXFunc_##A(void* a, void* b, void* c, void* d, void* e)       \
+{                                                                                               \
+    RunFunctionFmt(my_unparsedEntityDeclSAXFunc_fct_##A, "ppppp", a, b, c, d, e);   \
 }
 SUPER()
 #undef GO
@@ -670,10 +670,10 @@ static void* find_unparsedEntityDeclSAXFunc_Fct(void* fct)
 }
 // setDocumentLocatorSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_setDocumentLocatorSAXFunc_fct_##A = 0;                  \
-static void my_setDocumentLocatorSAXFunc_##A(void* a, void* b)              \
-{                                                                           \
-    RunFunction(my_context, my_setDocumentLocatorSAXFunc_fct_##A, 2, a, b); \
+static uintptr_t my_setDocumentLocatorSAXFunc_fct_##A = 0;                      \
+static void my_setDocumentLocatorSAXFunc_##A(void* a, void* b)                  \
+{                                                                               \
+    RunFunctionFmt(my_setDocumentLocatorSAXFunc_fct_##A, "pp", a, b);\
 }
 SUPER()
 #undef GO
@@ -692,10 +692,10 @@ static void* find_setDocumentLocatorSAXFunc_Fct(void* fct)
 }
 // startDocumentSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_startDocumentSAXFunc_fct_##A = 0;               \
-static void my_startDocumentSAXFunc_##A(void* a)                    \
-{                                                                   \
-    RunFunction(my_context, my_startDocumentSAXFunc_fct_##A, 1, a); \
+static uintptr_t my_startDocumentSAXFunc_fct_##A = 0;                   \
+static void my_startDocumentSAXFunc_##A(void* a)                        \
+{                                                                       \
+    RunFunctionFmt(my_startDocumentSAXFunc_fct_##A, "p", a);\
 }
 SUPER()
 #undef GO
@@ -714,10 +714,10 @@ static void* find_startDocumentSAXFunc_Fct(void* fct)
 }
 // endDocumentSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_endDocumentSAXFunc_fct_##A = 0;               \
-static void my_endDocumentSAXFunc_##A(void* a)                    \
-{                                                                   \
-    RunFunction(my_context, my_endDocumentSAXFunc_fct_##A, 1, a); \
+static uintptr_t my_endDocumentSAXFunc_fct_##A = 0;                     \
+static void my_endDocumentSAXFunc_##A(void* a)                          \
+{                                                                       \
+    RunFunctionFmt(my_endDocumentSAXFunc_fct_##A, "p", a);  \
 }
 SUPER()
 #undef GO
@@ -736,10 +736,10 @@ static void* find_endDocumentSAXFunc_Fct(void* fct)
 }
 // startElementSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_startElementSAXFunc_fct_##A = 0;                        \
-static void my_startElementSAXFunc_##A(void* a, void* b, void* c)           \
-{                                                                           \
-    RunFunction(my_context, my_startElementSAXFunc_fct_##A, 3, a, b, c);    \
+static uintptr_t my_startElementSAXFunc_fct_##A = 0;                            \
+static void my_startElementSAXFunc_##A(void* a, void* b, void* c)               \
+{                                                                               \
+    RunFunctionFmt(my_startElementSAXFunc_fct_##A, "ppp", a, b, c); \
 }
 SUPER()
 #undef GO
@@ -758,10 +758,10 @@ static void* find_startElementSAXFunc_Fct(void* fct)
 }
 // endElementSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_endElementSAXFunc_fct_##A = 0;                  \
-static void my_endElementSAXFunc_##A(void* a, void* b)              \
-{                                                                   \
-    RunFunction(my_context, my_endElementSAXFunc_fct_##A, 2, a, b); \
+static uintptr_t my_endElementSAXFunc_fct_##A = 0;                          \
+static void my_endElementSAXFunc_##A(void* a, void* b)                      \
+{                                                                           \
+    RunFunctionFmt(my_endElementSAXFunc_fct_##A, "pp", a, b);   \
 }
 SUPER()
 #undef GO
@@ -780,10 +780,10 @@ static void* find_endElementSAXFunc_Fct(void* fct)
 }
 // referenceSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_referenceSAXFunc_fct_##A = 0;                  \
-static void my_referenceSAXFunc_##A(void* a, void* b)              \
-{                                                                   \
-    RunFunction(my_context, my_referenceSAXFunc_fct_##A, 2, a, b); \
+static uintptr_t my_referenceSAXFunc_fct_##A = 0;                       \
+static void my_referenceSAXFunc_##A(void* a, void* b)                   \
+{                                                                       \
+    RunFunctionFmt(my_referenceSAXFunc_fct_##A, "pp", a, b);\
 }
 SUPER()
 #undef GO
@@ -802,10 +802,10 @@ static void* find_referenceSAXFunc_Fct(void* fct)
 }
 // charactersSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_charactersSAXFunc_fct_##A = 0;                      \
-static void my_charactersSAXFunc_##A(void* a, void* b, int c)           \
-{                                                                       \
-    RunFunction(my_context, my_charactersSAXFunc_fct_##A, 3, a, b, c);  \
+static uintptr_t my_charactersSAXFunc_fct_##A = 0;                              \
+static void my_charactersSAXFunc_##A(void* a, void* b, int c)                   \
+{                                                                               \
+    RunFunctionFmt(my_charactersSAXFunc_fct_##A, "ppi", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -824,10 +824,10 @@ static void* find_charactersSAXFunc_Fct(void* fct)
 }
 // ignorableWhitespaceSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_ignorableWhitespaceSAXFunc_fct_##A = 0;                      \
-static void my_ignorableWhitespaceSAXFunc_##A(void* a, void* b, int c)           \
-{                                                                       \
-    RunFunction(my_context, my_ignorableWhitespaceSAXFunc_fct_##A, 3, a, b, c);  \
+static uintptr_t my_ignorableWhitespaceSAXFunc_fct_##A = 0;                             \
+static void my_ignorableWhitespaceSAXFunc_##A(void* a, void* b, int c)                  \
+{                                                                                       \
+    RunFunctionFmt(my_ignorableWhitespaceSAXFunc_fct_##A, "ppi", a, b, c);  \
 }
 SUPER()
 #undef GO
@@ -846,10 +846,10 @@ static void* find_ignorableWhitespaceSAXFunc_Fct(void* fct)
 }
 // processingInstructionSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_processingInstructionSAXFunc_fct_##A = 0;                       \
-static void my_processingInstructionSAXFunc_##A(void* a, void* b, void* c)          \
-{                                                                                   \
-    RunFunction(my_context, my_processingInstructionSAXFunc_fct_##A, 3, a, b, c);   \
+static uintptr_t my_processingInstructionSAXFunc_fct_##A = 0;                               \
+static void my_processingInstructionSAXFunc_##A(void* a, void* b, void* c)                  \
+{                                                                                           \
+    RunFunctionFmt(my_processingInstructionSAXFunc_fct_##A, "ppp", a, b, c);    \
 }
 SUPER()
 #undef GO
@@ -868,10 +868,10 @@ static void* find_processingInstructionSAXFunc_Fct(void* fct)
 }
 // commentSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_commentSAXFunc_fct_##A = 0;                     \
-static void my_commentSAXFunc_##A(void* a, void* b)                 \
-{                                                                   \
-    RunFunction(my_context, my_commentSAXFunc_fct_##A, 2, a, b);    \
+static uintptr_t my_commentSAXFunc_fct_##A = 0;                         \
+static void my_commentSAXFunc_##A(void* a, void* b)                     \
+{                                                                       \
+    RunFunctionFmt(my_commentSAXFunc_fct_##A, "pp", a, b);  \
 }
 SUPER()
 #undef GO
@@ -890,10 +890,10 @@ static void* find_commentSAXFunc_Fct(void* fct)
 }
 // warningSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_warningSAXFunc_fct_##A = 0;                     \
-static void my_warningSAXFunc_##A(void* a, void* b, void* c, void* d, void* e, void* f, void* g, void* h, void* i, void* j)\
-{                                                                   \
-    RunFunction(my_context, my_warningSAXFunc_fct_##A, 10, a, b, c, d, e, f, g, h, i, j);    \
+static uintptr_t my_warningSAXFunc_fct_##A = 0; \
+static void my_warningSAXFunc_##A(void* a, void* b, void* c, void* d, void* e, void* f, void* g, void* h, void* i, void* j) \
+{   \
+    RunFunctionFmt(my_warningSAXFunc_fct_##A, "pppppppppp", a, b, c, d, e, f, g, h, i, j);  \
 }
 SUPER()
 #undef GO
@@ -912,10 +912,10 @@ static void* find_warningSAXFunc_Fct(void* fct) // this one have a VAArg
 }
 // errorSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_errorSAXFunc_fct_##A = 0;                     \
-static void my_errorSAXFunc_##A(void* a, void* b, void* c, void* d, void* e, void* f, void* g, void* h, void* i, void* j)\
-{                                                                   \
-    RunFunction(my_context, my_errorSAXFunc_fct_##A, 10, a, b, c, d, e, f, g, h, i, j);    \
+static uintptr_t my_errorSAXFunc_fct_##A = 0;   \
+static void my_errorSAXFunc_##A(void* a, void* b, void* c, void* d, void* e, void* f, void* g, void* h, void* i, void* j)   \
+{   \
+    RunFunctionFmt(my_errorSAXFunc_fct_##A, "pppppppppp", a, b, c, d, e, f, g, h, i, j);    \
 }
 SUPER()
 #undef GO
@@ -934,10 +934,10 @@ static void* find_errorSAXFunc_Fct(void* fct) // this one have a VAArg
 }
 // fatalErrorSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_fatalErrorSAXFunc_fct_##A = 0;                     \
-static void my_fatalErrorSAXFunc_##A(void* a, void* b, void* c, void* d, void* e, void* f, void* g, void* h, void* i, void* j)\
-{                                                                   \
-    RunFunction(my_context, my_fatalErrorSAXFunc_fct_##A, 10, a, b, c, d, e, f, g, h, i, j);    \
+static uintptr_t my_fatalErrorSAXFunc_fct_##A = 0;  \
+static void my_fatalErrorSAXFunc_##A(void* a, void* b, void* c, void* d, void* e, void* f, void* g, void* h, void* i, void* j)  \
+{   \
+    RunFunctionFmt(my_fatalErrorSAXFunc_fct_##A, "pppppppppp", a, b, c, d, e, f, g, h, i, j);   \
 }
 SUPER()
 #undef GO
@@ -956,10 +956,10 @@ static void* find_fatalErrorSAXFunc_Fct(void* fct) // this one have a VAArg
 }
 // getParameterEntitySAXFunc ...
 #define GO(A)   \
-static uintptr_t my_getParameterEntitySAXFunc_fct_##A = 0;                                  \
-static void* my_getParameterEntitySAXFunc_##A(void* a, void* b)                             \
-{                                                                                           \
-    return (void*)RunFunction(my_context, my_getParameterEntitySAXFunc_fct_##A, 2, a, b);   \
+static uintptr_t my_getParameterEntitySAXFunc_fct_##A = 0;                                      \
+static void* my_getParameterEntitySAXFunc_##A(void* a, void* b)                                 \
+{                                                                                               \
+    return (void*)RunFunctionFmt(my_getParameterEntitySAXFunc_fct_##A, "pp", a, b); \
 }
 SUPER()
 #undef GO
@@ -978,10 +978,10 @@ static void* find_getParameterEntitySAXFunc_Fct(void* fct) // this one have a VA
 }
 // cdataBlockSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_cdataBlockSAXFunc_fct_##A = 0;                      \
-static void my_cdataBlockSAXFunc_##A(void* a, void* b, int c)           \
-{                                                                       \
-    RunFunction(my_context, my_cdataBlockSAXFunc_fct_##A, 3, a, b, c);  \
+static uintptr_t my_cdataBlockSAXFunc_fct_##A = 0;                              \
+static void my_cdataBlockSAXFunc_##A(void* a, void* b, int c)                   \
+{                                                                               \
+    RunFunctionFmt(my_cdataBlockSAXFunc_fct_##A, "ppi", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -1000,10 +1000,10 @@ static void* find_cdataBlockSAXFunc_Fct(void* fct) // this one have a VAArg
 }
 // externalSubsetSAXFunc ...
 #define GO(A)   \
-static uintptr_t my_externalSubsetSAXFunc_fct_##A = 0;                          \
-static void my_externalSubsetSAXFunc_##A(void* a, void* b, void* c, void* d)    \
-{                                                                               \
-    RunFunction(my_context, my_externalSubsetSAXFunc_fct_##A, 4, a, b, c, d);   \
+static uintptr_t my_externalSubsetSAXFunc_fct_##A = 0;                                  \
+static void my_externalSubsetSAXFunc_##A(void* a, void* b, void* c, void* d)            \
+{                                                                                       \
+    RunFunctionFmt(my_externalSubsetSAXFunc_fct_##A, "pppp", a, b, c, d);   \
 }
 SUPER()
 #undef GO
@@ -1025,7 +1025,7 @@ static void* find_externalSubsetSAXFunc_Fct(void* fct) // this one have a VAArg
 static uintptr_t my_xmlSAX2StartElementNs_fct_##A = 0;                                                              \
 static void my_xmlSAX2StartElementNs_##A(void* a, void* b, void* c, void* d, int e, void* f, int g, int h, void* i) \
 {                                                                                                                   \
-    RunFunction(my_context, my_xmlSAX2StartElementNs_fct_##A, 9, a, b, c, d, e, f, g, h, i);                        \
+    RunFunctionFmt(my_xmlSAX2StartElementNs_fct_##A, "ppppipiip", a, b, c, d, e, f, g, h, i);           \
 }
 SUPER()
 #undef GO
@@ -1044,10 +1044,10 @@ static void* find_xmlSAX2StartElementNs_Fct(void* fct) // this one have a VAArg
 }
 // xmlSAX2EndElementNs ...
 #define GO(A)   \
-static uintptr_t my_xmlSAX2EndElementNs_fct_##A = 0;                        \
-static void my_xmlSAX2EndElementNs_##A(void* a, void* b, void* c, void* d)  \
-{                                                                           \
-    RunFunction(my_context, my_xmlSAX2EndElementNs_fct_##A, 4, a, b, c, d); \
+static uintptr_t my_xmlSAX2EndElementNs_fct_##A = 0;                                \
+static void my_xmlSAX2EndElementNs_##A(void* a, void* b, void* c, void* d)          \
+{                                                                                   \
+    RunFunctionFmt(my_xmlSAX2EndElementNs_fct_##A, "pppp", a, b, c, d); \
 }
 SUPER()
 #undef GO
@@ -1067,10 +1067,10 @@ static void* find_xmlSAX2EndElementNs_Fct(void* fct) // this one have a VAArg
 
 // xmlExternalEntityLoader
 #define GO(A)   \
-static uintptr_t my_xmlExternalEntityLoader_fct_##A = 0;                                    \
-static void* my_xmlExternalEntityLoader_##A(void* a, void* b, void* c)                      \
-{                                                                                           \
-    return (void*)RunFunction(my_context, my_xmlExternalEntityLoader_fct_##A, 3, a, b, c);  \
+static uintptr_t my_xmlExternalEntityLoader_fct_##A = 0;                                            \
+static void* my_xmlExternalEntityLoader_##A(void* a, void* b, void* c)                              \
+{                                                                                                   \
+    return (void*)RunFunctionFmt(my_xmlExternalEntityLoader_fct_##A, "ppp", a, b, c);   \
 }
 SUPER()
 #undef GO
@@ -1101,15 +1101,15 @@ static void* reverse_xmlExternalEntityLoaderFct(void* fct)
 
 // xmlGenericErrorFunc
 #define GO(A)   \
-static uintptr_t my_xmlGenericErrorFunc_fct_##A = 0;                                    \
-static void my_xmlGenericErrorFunc_##A(void* a, const char* fmt, ...)                   \
-{                                                                                       \
-    char buf[4096];                                                                     \
-    va_list args;                                                                       \
-    va_start(args, fmt);                                                                \
-    vsnprintf(buf, 4096, fmt, args);                                                    \
-    va_end(args);                                                                       \
-    RunFunction(my_context, my_xmlGenericErrorFunc_fct_##A, 2, a, buf);                 \
+static uintptr_t my_xmlGenericErrorFunc_fct_##A = 0;                            \
+static void my_xmlGenericErrorFunc_##A(void* a, const char* fmt, ...)           \
+{                                                                               \
+    char buf[4096];                                                             \
+    va_list args;                                                               \
+    va_start(args, fmt);                                                        \
+    vsnprintf(buf, 4096, fmt, args);                                            \
+    va_end(args);                                                               \
+    RunFunctionFmt(my_xmlGenericErrorFunc_fct_##A, "pp", a, buf);   \
 }
 SUPER()
 #undef GO
@@ -1139,10 +1139,10 @@ static void* reverse_xmlGenericErrorFunc_Fct(void* fct)
 
 // xmlStructuredErrorFunc
 #define GO(A)   \
-static uintptr_t my_xmlStructuredErrorFunc_fct_##A = 0;                     \
-static void my_xmlStructuredErrorFunc_##A(void* a, const char* b)           \
-{                                                                           \
-    RunFunction(my_context, my_xmlStructuredErrorFunc_fct_##A, 2, a, b);    \
+static uintptr_t my_xmlStructuredErrorFunc_fct_##A = 0;                         \
+static void my_xmlStructuredErrorFunc_##A(void* a, const char* b)               \
+{                                                                               \
+    RunFunctionFmt(my_xmlStructuredErrorFunc_fct_##A, "pp", a, b);  \
 }
 SUPER()
 #undef GO
@@ -1172,10 +1172,10 @@ static void* reverse_xmlStructuredErrorFunc_Fct(void* fct)
 
 // xmlOutputMatchCallback ...
 #define GO(A)   \
-static uintptr_t my_xmlOutputMatchCallback_fct_##A = 0;                             \
-static int my_xmlOutputMatchCallback_##A(void* a)                                   \
-{                                                                                   \
-    return (int)RunFunction(my_context, my_xmlOutputMatchCallback_fct_##A, 1, a);   \
+static uintptr_t my_xmlOutputMatchCallback_fct_##A = 0;                                 \
+static int my_xmlOutputMatchCallback_##A(void* a)                                       \
+{                                                                                       \
+    return (int)RunFunctionFmt(my_xmlOutputMatchCallback_fct_##A, "p", a);  \
 }
 SUPER()
 #undef GO
@@ -1195,10 +1195,10 @@ static void* find_xmlOutputMatchCallback_Fct(void* fct) // this one have a VAArg
 
 // xmlOutputOpenCallback ...
 #define GO(A)   \
-static uintptr_t my_xmlOutputOpenCallback_fct_##A = 0;                              \
-static void* my_xmlOutputOpenCallback_##A(void* a)                                  \
-{                                                                                   \
-    return (void*)RunFunction(my_context, my_xmlOutputOpenCallback_fct_##A, 1, a);  \
+static uintptr_t my_xmlOutputOpenCallback_fct_##A = 0;                                  \
+static void* my_xmlOutputOpenCallback_##A(void* a)                                      \
+{                                                                                       \
+    return (void*)RunFunctionFmt(my_xmlOutputOpenCallback_fct_##A, "p", a); \
 }
 SUPER()
 #undef GO
@@ -1218,10 +1218,10 @@ static void* find_xmlOutputOpenCallback_Fct(void* fct) // this one have a VAArg
 
 // xmlTextReaderErrorFunc ...
 #define GO(A)   \
-static uintptr_t my_xmlTextReaderErrorFunc_fct_##A = 0;                         \
-static void my_xmlTextReaderErrorFunc_##A(void* a, void* b, int c, void* d)     \
-{                                                                               \
-    RunFunction(my_context, my_xmlTextReaderErrorFunc_fct_##A, 4, a, b, c, d);  \
+static uintptr_t my_xmlTextReaderErrorFunc_fct_##A = 0;                                 \
+static void my_xmlTextReaderErrorFunc_##A(void* a, void* b, int c, void* d)             \
+{                                                                                       \
+    RunFunctionFmt(my_xmlTextReaderErrorFunc_fct_##A, "ppip", a, b, c, d);  \
 }
 SUPER()
 #undef GO
diff --git a/src/wrapped/wrappedxslt.c b/src/wrapped/wrappedxslt.c
index 118dc5b7..ad145b2d 100644
--- a/src/wrapped/wrappedxslt.c
+++ b/src/wrapped/wrappedxslt.c
@@ -40,10 +40,10 @@ GO(4)
 
 // xmlXPathFunction ...
 #define GO(A)   \
-static uintptr_t my_xmlXPathFunction_fct_##A = 0;                   \
-static void my_xmlXPathFunction_##A(void* a, int b)                 \
-{                                                                   \
-    RunFunction(my_context, my_xmlXPathFunction_fct_##A, 2, a, b);  \
+static uintptr_t my_xmlXPathFunction_fct_##A = 0;                           \
+static void my_xmlXPathFunction_##A(void* a, int b)                         \
+{                                                                           \
+    RunFunctionFmt(my_xmlXPathFunction_fct_##A, "pi", a, b);          \
 }
 SUPER()
 #undef GO
@@ -62,10 +62,10 @@ static void* find_xmlXPathFunction_Fct(void* fct)
 }
 // xsltDocLoaderFunc ...
 #define GO(A)   \
-static uintptr_t my_xsltDocLoaderFunc_fct_##A = 0;                                          \
-static void* my_xsltDocLoaderFunc_##A(void* a, void* b, int c, void* d, int e)              \
-{                                                                                           \
-    return (void*)RunFunction(my_context, my_xsltDocLoaderFunc_fct_##A, 5, a, b, c, d, e);  \
+static uintptr_t my_xsltDocLoaderFunc_fct_##A = 0;                              \
+static void* my_xsltDocLoaderFunc_##A(void* a, void* b, int c, void* d, int e)  \
+{                                                                               \
+    return (void*)RunFunctionFmt(my_xsltDocLoaderFunc_fct_##A, "ppipi", a, b, c, d, e);       \
 }
 SUPER()
 #undef GO
@@ -84,10 +84,10 @@ static void* find_xsltDocLoaderFunc_Fct(void* fct)
 }
 // xsltSecurityCheck ...
 #define GO(A)   \
-static uintptr_t my_xsltSecurityCheck_fct_##A = 0;                                  \
-static int my_xsltSecurityCheck_##A(void* a, void* b, void* c)                      \
-{                                                                                   \
-    return (int)RunFunction(my_context, my_xsltSecurityCheck_fct_##A, 3, a, b, c);  \
+static uintptr_t my_xsltSecurityCheck_fct_##A = 0;                                          \
+static int my_xsltSecurityCheck_##A(void* a, void* b, void* c)                              \
+{                                                                                           \
+    return (int)RunFunctionFmt(my_xsltSecurityCheck_fct_##A, "ppp", a, b, c);         \
 }
 SUPER()
 #undef GO
@@ -106,10 +106,10 @@ static void* find_xsltSecurityCheck_Fct(void* fct)
 }
 // xsltSortFunc ...
 #define GO(A)   \
-static uintptr_t my_xsltSortFunc_fct_##A = 0;                       \
-static void my_xsltSortFunc_##A(void* a, void* b, int c)            \
-{                                                                   \
-    RunFunction(my_context, my_xsltSortFunc_fct_##A, 3, a, b, c);   \
+static uintptr_t my_xsltSortFunc_fct_##A = 0;                               \
+static void my_xsltSortFunc_##A(void* a, void* b, int c)                    \
+{                                                                           \
+    RunFunctionFmt(my_xsltSortFunc_fct_##A, "ppi", a, b, c);          \
 }
 SUPER()
 #undef GO