1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-07-21 00:07:12 +02:00

Update the module API and merge shared code between modules and host plugin.

This commit is contained in:
Sandu Liviu Catalin
2016-06-03 21:26:19 +03:00
parent 423bdfcdab
commit 0c92601362
56 changed files with 2781 additions and 2688 deletions

View File

@@ -1,201 +1,201 @@
// ------------------------------------------------------------------------------------------------
#ifdef SQMOD_PLUGIN_API
/*vm*/
sqapi_open sq_open = NULL;
sqapi_newthread sq_newthread = NULL;
sqapi_seterrorhandler sq_seterrorhandler = NULL;
sqapi_close sq_close = NULL;
sqapi_setforeignptr sq_setforeignptr = NULL;
sqapi_getforeignptr sq_getforeignptr = NULL;
sqapi_setsharedforeignptr sq_setsharedforeignptr = NULL;
sqapi_getsharedforeignptr sq_getsharedforeignptr = NULL;
sqapi_setvmreleasehook sq_setvmreleasehook = NULL;
sqapi_getvmreleasehook sq_getvmreleasehook = NULL;
sqapi_setsharedreleasehook sq_setsharedreleasehook = NULL;
sqapi_getsharedreleasehook sq_getsharedreleasehook = NULL;
sqapi_setprintfunc sq_setprintfunc = NULL;
sqapi_getprintfunc sq_getprintfunc = NULL;
sqapi_geterrorfunc sq_geterrorfunc = NULL;
sqapi_suspendvm sq_suspendvm = NULL;
sqapi_wakeupvm sq_wakeupvm = NULL;
sqapi_getvmstate sq_getvmstate = NULL;
sqapi_getversion sq_getversion = NULL;
//vm
sqapi_open sq_open = NULL;
sqapi_newthread sq_newthread = NULL;
sqapi_seterrorhandler sq_seterrorhandler = NULL;
sqapi_close sq_close = NULL;
sqapi_setforeignptr sq_setforeignptr = NULL;
sqapi_getforeignptr sq_getforeignptr = NULL;
sqapi_setsharedforeignptr sq_setsharedforeignptr = NULL;
sqapi_getsharedforeignptr sq_getsharedforeignptr = NULL;
sqapi_setvmreleasehook sq_setvmreleasehook = NULL;
sqapi_getvmreleasehook sq_getvmreleasehook = NULL;
sqapi_setsharedreleasehook sq_setsharedreleasehook = NULL;
sqapi_getsharedreleasehook sq_getsharedreleasehook = NULL;
sqapi_setprintfunc sq_setprintfunc = NULL;
sqapi_getprintfunc sq_getprintfunc = NULL;
sqapi_geterrorfunc sq_geterrorfunc = NULL;
sqapi_suspendvm sq_suspendvm = NULL;
sqapi_wakeupvm sq_wakeupvm = NULL;
sqapi_getvmstate sq_getvmstate = NULL;
sqapi_getversion sq_getversion = NULL;
/*compiler*/
sqapi_compile sq_compile = NULL;
sqapi_compilebuffer sq_compilebuffer = NULL;
sqapi_enabledebuginfo sq_enabledebuginfo = NULL;
sqapi_notifyallexceptions sq_notifyallexceptions = NULL;
sqapi_setcompilererrorhandler sq_setcompilererrorhandler = NULL;
//compiler
sqapi_compile sq_compile = NULL;
sqapi_compilebuffer sq_compilebuffer = NULL;
sqapi_enabledebuginfo sq_enabledebuginfo = NULL;
sqapi_notifyallexceptions sq_notifyallexceptions = NULL;
sqapi_setcompilererrorhandler sq_setcompilererrorhandler = NULL;
/*stack operations*/
sqapi_push sq_push = NULL;
sqapi_pop sq_pop = NULL;
sqapi_poptop sq_poptop = NULL;
sqapi_remove sq_remove = NULL;
sqapi_gettop sq_gettop = NULL;
sqapi_settop sq_settop = NULL;
sqapi_reservestack sq_reservestack = NULL;
sqapi_cmp sq_cmp = NULL;
sqapi_move sq_move = NULL;
//stack operations
sqapi_push sq_push = NULL;
sqapi_pop sq_pop = NULL;
sqapi_poptop sq_poptop = NULL;
sqapi_remove sq_remove = NULL;
sqapi_gettop sq_gettop = NULL;
sqapi_settop sq_settop = NULL;
sqapi_reservestack sq_reservestack = NULL;
sqapi_cmp sq_cmp = NULL;
sqapi_move sq_move = NULL;
/*object creation handling*/
sqapi_newuserdata sq_newuserdata = NULL;
sqapi_newtable sq_newtable = NULL;
sqapi_newtableex sq_newtableex = NULL;
sqapi_newarray sq_newarray = NULL;
sqapi_newclosure sq_newclosure = NULL;
sqapi_setparamscheck sq_setparamscheck = NULL;
sqapi_bindenv sq_bindenv = NULL;
sqapi_setclosureroot sq_setclosureroot = NULL;
sqapi_getclosureroot sq_getclosureroot = NULL;
sqapi_pushstring sq_pushstring = NULL;
sqapi_pushfloat sq_pushfloat = NULL;
sqapi_pushinteger sq_pushinteger = NULL;
sqapi_pushbool sq_pushbool = NULL;
sqapi_pushuserpointer sq_pushuserpointer = NULL;
sqapi_pushnull sq_pushnull = NULL;
sqapi_pushthread sq_pushthread = NULL;
sqapi_gettype sq_gettype = NULL;
sqapi_typeof sq_typeof = NULL;
sqapi_getsize sq_getsize = NULL;
sqapi_gethash sq_gethash = NULL;
sqapi_getbase sq_getbase = NULL;
sqapi_instanceof sq_instanceof = NULL;
sqapi_tostring sq_tostring = NULL;
sqapi_tobool sq_tobool = NULL;
sqapi_getstringandsize sq_getstringandsize = NULL;
sqapi_getstring sq_getstring = NULL;
sqapi_getinteger sq_getinteger = NULL;
sqapi_getfloat sq_getfloat = NULL;
sqapi_getbool sq_getbool = NULL;
sqapi_getthread sq_getthread = NULL;
sqapi_getuserpointer sq_getuserpointer = NULL;
sqapi_getuserdata sq_getuserdata = NULL;
sqapi_settypetag sq_settypetag = NULL;
sqapi_gettypetag sq_gettypetag = NULL;
sqapi_setreleasehook sq_setreleasehook = NULL;
sqapi_getreleasehook sq_getreleasehook = NULL;
sqapi_getscratchpad sq_getscratchpad = NULL;
sqapi_getfunctioninfo sq_getfunctioninfo = NULL;
sqapi_getclosureinfo sq_getclosureinfo = NULL;
sqapi_getclosurename sq_getclosurename = NULL;
sqapi_setnativeclosurename sq_setnativeclosurename = NULL;
sqapi_setinstanceup sq_setinstanceup = NULL;
sqapi_getinstanceup sq_getinstanceup = NULL;
sqapi_setclassudsize sq_setclassudsize = NULL;
sqapi_newclass sq_newclass = NULL;
sqapi_createinstance sq_createinstance = NULL;
sqapi_setattributes sq_setattributes = NULL;
sqapi_getattributes sq_getattributes = NULL;
sqapi_getclass sq_getclass = NULL;
sqapi_weakref sq_weakref = NULL;
sqapi_getdefaultdelegate sq_getdefaultdelegate = NULL;
sqapi_getmemberhandle sq_getmemberhandle = NULL;
sqapi_getbyhandle sq_getbyhandle = NULL;
sqapi_setbyhandle sq_setbyhandle = NULL;
//object creation handling
sqapi_newuserdata sq_newuserdata = NULL;
sqapi_newtable sq_newtable = NULL;
sqapi_newtableex sq_newtableex = NULL;
sqapi_newarray sq_newarray = NULL;
sqapi_newclosure sq_newclosure = NULL;
sqapi_setparamscheck sq_setparamscheck = NULL;
sqapi_bindenv sq_bindenv = NULL;
sqapi_setclosureroot sq_setclosureroot = NULL;
sqapi_getclosureroot sq_getclosureroot = NULL;
sqapi_pushstring sq_pushstring = NULL;
sqapi_pushfloat sq_pushfloat = NULL;
sqapi_pushinteger sq_pushinteger = NULL;
sqapi_pushbool sq_pushbool = NULL;
sqapi_pushuserpointer sq_pushuserpointer = NULL;
sqapi_pushnull sq_pushnull = NULL;
sqapi_pushthread sq_pushthread = NULL;
sqapi_gettype sq_gettype = NULL;
sqapi_typeof sq_typeof = NULL;
sqapi_getsize sq_getsize = NULL;
sqapi_gethash sq_gethash = NULL;
sqapi_getbase sq_getbase = NULL;
sqapi_instanceof sq_instanceof = NULL;
sqapi_tostring sq_tostring = NULL;
sqapi_tobool sq_tobool = NULL;
sqapi_getstringandsize sq_getstringandsize = NULL;
sqapi_getstring sq_getstring = NULL;
sqapi_getinteger sq_getinteger = NULL;
sqapi_getfloat sq_getfloat = NULL;
sqapi_getbool sq_getbool = NULL;
sqapi_getthread sq_getthread = NULL;
sqapi_getuserpointer sq_getuserpointer = NULL;
sqapi_getuserdata sq_getuserdata = NULL;
sqapi_settypetag sq_settypetag = NULL;
sqapi_gettypetag sq_gettypetag = NULL;
sqapi_setreleasehook sq_setreleasehook = NULL;
sqapi_getreleasehook sq_getreleasehook = NULL;
sqapi_getscratchpad sq_getscratchpad = NULL;
sqapi_getfunctioninfo sq_getfunctioninfo = NULL;
sqapi_getclosureinfo sq_getclosureinfo = NULL;
sqapi_getclosurename sq_getclosurename = NULL;
sqapi_setnativeclosurename sq_setnativeclosurename = NULL;
sqapi_setinstanceup sq_setinstanceup = NULL;
sqapi_getinstanceup sq_getinstanceup = NULL;
sqapi_setclassudsize sq_setclassudsize = NULL;
sqapi_newclass sq_newclass = NULL;
sqapi_createinstance sq_createinstance = NULL;
sqapi_setattributes sq_setattributes = NULL;
sqapi_getattributes sq_getattributes = NULL;
sqapi_getclass sq_getclass = NULL;
sqapi_weakref sq_weakref = NULL;
sqapi_getdefaultdelegate sq_getdefaultdelegate = NULL;
sqapi_getmemberhandle sq_getmemberhandle = NULL;
sqapi_getbyhandle sq_getbyhandle = NULL;
sqapi_setbyhandle sq_setbyhandle = NULL;
/*object manipulation*/
sqapi_pushroottable sq_pushroottable = NULL;
sqapi_pushregistrytable sq_pushregistrytable = NULL;
sqapi_pushconsttable sq_pushconsttable = NULL;
sqapi_setroottable sq_setroottable = NULL;
sqapi_setconsttable sq_setconsttable = NULL;
sqapi_newslot sq_newslot = NULL;
sqapi_deleteslot sq_deleteslot = NULL;
sqapi_set sq_set = NULL;
sqapi_get sq_get = NULL;
sqapi_rawget sq_rawget = NULL;
sqapi_rawset sq_rawset = NULL;
sqapi_rawdeleteslot sq_rawdeleteslot = NULL;
sqapi_newmember sq_newmember = NULL;
sqapi_rawnewmember sq_rawnewmember = NULL;
sqapi_arrayappend sq_arrayappend = NULL;
sqapi_arraypop sq_arraypop = NULL;
sqapi_arrayresize sq_arrayresize = NULL;
sqapi_arrayreverse sq_arrayreverse = NULL;
sqapi_arrayremove sq_arrayremove = NULL;
sqapi_arrayinsert sq_arrayinsert = NULL;
sqapi_setdelegate sq_setdelegate = NULL;
sqapi_getdelegate sq_getdelegate = NULL;
sqapi_clone sq_clone = NULL;
sqapi_setfreevariable sq_setfreevariable = NULL;
sqapi_next sq_next = NULL;
sqapi_getweakrefval sq_getweakrefval = NULL;
sqapi_clear sq_clear = NULL;
//object manipulation
sqapi_pushroottable sq_pushroottable = NULL;
sqapi_pushregistrytable sq_pushregistrytable = NULL;
sqapi_pushconsttable sq_pushconsttable = NULL;
sqapi_setroottable sq_setroottable = NULL;
sqapi_setconsttable sq_setconsttable = NULL;
sqapi_newslot sq_newslot = NULL;
sqapi_deleteslot sq_deleteslot = NULL;
sqapi_set sq_set = NULL;
sqapi_get sq_get = NULL;
sqapi_rawget sq_rawget = NULL;
sqapi_rawset sq_rawset = NULL;
sqapi_rawdeleteslot sq_rawdeleteslot = NULL;
sqapi_newmember sq_newmember = NULL;
sqapi_rawnewmember sq_rawnewmember = NULL;
sqapi_arrayappend sq_arrayappend = NULL;
sqapi_arraypop sq_arraypop = NULL;
sqapi_arrayresize sq_arrayresize = NULL;
sqapi_arrayreverse sq_arrayreverse = NULL;
sqapi_arrayremove sq_arrayremove = NULL;
sqapi_arrayinsert sq_arrayinsert = NULL;
sqapi_setdelegate sq_setdelegate = NULL;
sqapi_getdelegate sq_getdelegate = NULL;
sqapi_clone sq_clone = NULL;
sqapi_setfreevariable sq_setfreevariable = NULL;
sqapi_next sq_next = NULL;
sqapi_getweakrefval sq_getweakrefval = NULL;
sqapi_clear sq_clear = NULL;
/*calls*/
sqapi_call sq_call = NULL;
sqapi_resume sq_resume = NULL;
sqapi_getlocal sq_getlocal = NULL;
sqapi_getcallee sq_getcallee = NULL;
sqapi_getfreevariable sq_getfreevariable = NULL;
sqapi_throwerror sq_throwerror = NULL;
sqapi_throwobject sq_throwobject = NULL;
sqapi_reseterror sq_reseterror = NULL;
sqapi_getlasterror sq_getlasterror = NULL;
//calls
sqapi_call sq_call = NULL;
sqapi_resume sq_resume = NULL;
sqapi_getlocal sq_getlocal = NULL;
sqapi_getcallee sq_getcallee = NULL;
sqapi_getfreevariable sq_getfreevariable = NULL;
sqapi_throwerror sq_throwerror = NULL;
sqapi_throwobject sq_throwobject = NULL;
sqapi_reseterror sq_reseterror = NULL;
sqapi_getlasterror sq_getlasterror = NULL;
/*raw object handling*/
sqapi_getstackobj sq_getstackobj = NULL;
sqapi_pushobject sq_pushobject = NULL;
sqapi_addref sq_addref = NULL;
sqapi_release sq_release = NULL;
sqapi_getrefcount sq_getrefcount = NULL;
sqapi_resetobject sq_resetobject = NULL;
sqapi_objtostring sq_objtostring = NULL;
sqapi_objtobool sq_objtobool = NULL;
sqapi_objtointeger sq_objtointeger = NULL;
sqapi_objtofloat sq_objtofloat = NULL;
sqapi_objtouserpointer sq_objtouserpointer = NULL;
sqapi_getobjtypetag sq_getobjtypetag = NULL;
sqapi_getvmrefcount sq_getvmrefcount = NULL;
//raw object handling
sqapi_getstackobj sq_getstackobj = NULL;
sqapi_pushobject sq_pushobject = NULL;
sqapi_addref sq_addref = NULL;
sqapi_release sq_release = NULL;
sqapi_getrefcount sq_getrefcount = NULL;
sqapi_resetobject sq_resetobject = NULL;
sqapi_objtostring sq_objtostring = NULL;
sqapi_objtobool sq_objtobool = NULL;
sqapi_objtointeger sq_objtointeger = NULL;
sqapi_objtofloat sq_objtofloat = NULL;
sqapi_objtouserpointer sq_objtouserpointer = NULL;
sqapi_getobjtypetag sq_getobjtypetag = NULL;
sqapi_getvmrefcount sq_getvmrefcount = NULL;
/*GC*/
sqapi_collectgarbage sq_collectgarbage = NULL;
sqapi_resurrectunreachable sq_resurrectunreachable = NULL;
//GC
sqapi_collectgarbage sq_collectgarbage = NULL;
sqapi_resurrectunreachable sq_resurrectunreachable = NULL;
/*serialization*/
sqapi_writeclosure sq_writeclosure = NULL;
sqapi_readclosure sq_readclosure = NULL;
//serialization
sqapi_writeclosure sq_writeclosure = NULL;
sqapi_readclosure sq_readclosure = NULL;
/*mem allocation*/
sqapi_malloc sq_malloc = NULL;
sqapi_realloc sq_realloc = NULL;
sqapi_free sq_free = NULL;
//mem allocation
sqapi_malloc sq_malloc = NULL;
sqapi_realloc sq_realloc = NULL;
sqapi_free sq_free = NULL;
/*debug*/
sqapi_stackinfos sq_stackinfos = NULL;
sqapi_setdebughook sq_setdebughook = NULL;
sqapi_setnativedebughook sq_setnativedebughook = NULL;
//debug
sqapi_stackinfos sq_stackinfos = NULL;
sqapi_setdebughook sq_setdebughook = NULL;
sqapi_setnativedebughook sq_setnativedebughook = NULL;
/*compiler helpers*/
sqapi_loadfile sqstd_loadfile = NULL;
sqapi_dofile sqstd_dofile = NULL;
sqapi_writeclosuretofile sqstd_writeclosuretofile = NULL;
//compiler helpers
sqapi_loadfile sqstd_loadfile = NULL;
sqapi_dofile sqstd_dofile = NULL;
sqapi_writeclosuretofile sqstd_writeclosuretofile = NULL;
/*blob*/
sqapi_createblob sqstd_createblob = NULL;
sqapi_getblob sqstd_getblob = NULL;
sqapi_getblobsize sqstd_getblobsize = NULL;
//blob
sqapi_createblob sqstd_createblob = NULL;
sqapi_getblob sqstd_getblob = NULL;
sqapi_getblobsize sqstd_getblobsize = NULL;
/*string*/
sqapi_format sqstd_format = NULL;
//string
sqapi_format sqstd_format = NULL;
#endif // SQMOD_PLUGIN_API
// ------------------------------------------------------------------------------------------------
HSQEXPORTS sq_api_import(PluginFuncs * vcapi)
{
// Make sure a valid plugin api and reference to exports structure pointer was specified
// Make sure a valid plug-in api and reference to exports structure pointer was specified
if (!vcapi)
{
return NULL;
}
size_t struct_size;
// Attempt to find the main plugin ID
// Attempt to find the main plug-in ID
int plugin_id = vcapi->FindPlugin((char *)(SQMOD_HOST_NAME));
// Attempt to retrieve the plugin exports
// Attempt to retrieve the plug-in exports
const void ** plugin_exports = vcapi->GetPluginExports(plugin_id, &struct_size);
// See if we have any imports from Squirrel
if (plugin_exports == NULL || struct_size <= 0)
@@ -210,11 +210,13 @@ HSQEXPORTS sq_api_import(PluginFuncs * vcapi)
SQRESULT sq_api_expand(HSQAPI sqapi)
{
if (!sqapi)
{
return SQ_ERROR;
}
#ifdef SQMOD_PLUGIN_API
/*vm*/
//vm
sq_open = sqapi->open;
sq_newthread = sqapi->newthread;
sq_seterrorhandler = sqapi->seterrorhandler;
@@ -235,14 +237,14 @@ SQRESULT sq_api_expand(HSQAPI sqapi)
sq_getvmstate = sqapi->getvmstate;
sq_getversion = sqapi->getversion;
/*compiler*/
//compiler
sq_compile = sqapi->compile;
sq_compilebuffer = sqapi->compilebuffer;
sq_enabledebuginfo = sqapi->enabledebuginfo;
sq_notifyallexceptions = sqapi->notifyallexceptions;
sq_setcompilererrorhandler = sqapi->setcompilererrorhandler;
/*stack operations*/
//stack operations
sq_push = sqapi->push;
sq_pop = sqapi->pop;
sq_poptop = sqapi->poptop;
@@ -253,7 +255,7 @@ SQRESULT sq_api_expand(HSQAPI sqapi)
sq_cmp = sqapi->cmp;
sq_move = sqapi->move;
/*object creation handling*/
//object creation handling
sq_newuserdata = sqapi->newuserdata;
sq_newtable = sqapi->newtable;
sq_newtableex = sqapi->newtableex;
@@ -309,7 +311,7 @@ SQRESULT sq_api_expand(HSQAPI sqapi)
sq_getbyhandle = sqapi->getbyhandle;
sq_setbyhandle = sqapi->setbyhandle;
/*object manipulation*/
//object manipulation
sq_pushroottable = sqapi->pushroottable;
sq_pushregistrytable = sqapi->pushregistrytable;
sq_pushconsttable = sqapi->pushconsttable;
@@ -338,7 +340,7 @@ SQRESULT sq_api_expand(HSQAPI sqapi)
sq_getweakrefval = sqapi->getweakrefval;
sq_clear = sqapi->clear;
/*calls*/
//calls
sq_call = sqapi->call;
sq_resume = sqapi->resume;
sq_getlocal = sqapi->getlocal;
@@ -349,7 +351,7 @@ SQRESULT sq_api_expand(HSQAPI sqapi)
sq_reseterror = sqapi->reseterror;
sq_getlasterror = sqapi->getlasterror;
/*raw object handling*/
//raw object handling
sq_getstackobj = sqapi->getstackobj;
sq_pushobject = sqapi->pushobject;
sq_addref = sqapi->addref;
@@ -364,35 +366,35 @@ SQRESULT sq_api_expand(HSQAPI sqapi)
sq_getobjtypetag = sqapi->getobjtypetag;
sq_getvmrefcount = sqapi->getvmrefcount;
/*GC*/
//GC
sq_collectgarbage = sqapi->collectgarbage;
sq_resurrectunreachable = sqapi->resurrectunreachable;
/*serialization*/
//serialization
sq_writeclosure = sqapi->writeclosure;
sq_readclosure = sqapi->readclosure;
/*mem allocation*/
//mem allocation
sq_malloc = sqapi->malloc;
sq_realloc = sqapi->realloc;
sq_free = sqapi->free;
/*debug*/
//debug
sq_stackinfos = sqapi->stackinfos;
sq_setdebughook = sqapi->setdebughook;
sq_setnativedebughook = sqapi->setnativedebughook;
/*compiler helpers*/
//compiler helpers
sqstd_loadfile = sqapi->loadfile;
sqstd_dofile = sqapi->dofile;
sqstd_writeclosuretofile = sqapi->writeclosuretofile;
/*blob*/
//blob
sqstd_createblob = sqapi->createblob;
sqstd_getblob = sqapi->getblob;
sqstd_getblobsize = sqapi->getblobsize;
/*string*/
//string
sqstd_format = sqapi->format;
#endif // SQMOD_PLUGIN_API
@@ -405,7 +407,7 @@ void sq_api_collapse()
{
#ifdef SQMOD_PLUGIN_API
/*vm*/
//vm
sq_open = NULL;
sq_newthread = NULL;
sq_seterrorhandler = NULL;
@@ -426,14 +428,14 @@ void sq_api_collapse()
sq_getvmstate = NULL;
sq_getversion = NULL;
/*compiler*/
//compiler
sq_compile = NULL;
sq_compilebuffer = NULL;
sq_enabledebuginfo = NULL;
sq_notifyallexceptions = NULL;
sq_setcompilererrorhandler = NULL;
/*stack operations*/
//stack operations
sq_push = NULL;
sq_pop = NULL;
sq_poptop = NULL;
@@ -444,7 +446,7 @@ void sq_api_collapse()
sq_cmp = NULL;
sq_move = NULL;
/*object creation handling*/
//object creation handling
sq_newuserdata = NULL;
sq_newtable = NULL;
sq_newtableex = NULL;
@@ -500,7 +502,7 @@ void sq_api_collapse()
sq_getbyhandle = NULL;
sq_setbyhandle = NULL;
/*object manipulation*/
//object manipulation
sq_pushroottable = NULL;
sq_pushregistrytable = NULL;
sq_pushconsttable = NULL;
@@ -529,7 +531,7 @@ void sq_api_collapse()
sq_getweakrefval = NULL;
sq_clear = NULL;
/*calls*/
//calls
sq_call = NULL;
sq_resume = NULL;
sq_getlocal = NULL;
@@ -540,7 +542,7 @@ void sq_api_collapse()
sq_reseterror = NULL;
sq_getlasterror = NULL;
/*raw object handling*/
//raw object handling
sq_getstackobj = NULL;
sq_pushobject = NULL;
sq_addref = NULL;
@@ -555,35 +557,35 @@ void sq_api_collapse()
sq_getobjtypetag = NULL;
sq_getvmrefcount = NULL;
/*GC*/
//GC
sq_collectgarbage = NULL;
sq_resurrectunreachable = NULL;
/*serialization*/
//serialization
sq_writeclosure = NULL;
sq_readclosure = NULL;
/*mem allocation*/
//mem allocation
sq_malloc = NULL;
sq_realloc = NULL;
sq_free = NULL;
/*debug*/
//debug
sq_stackinfos = NULL;
sq_setdebughook = NULL;
sq_setnativedebughook = NULL;
/*compiler helpers*/
//compiler helpers
sqstd_loadfile = NULL;
sqstd_dofile = NULL;
sqstd_writeclosuretofile = NULL;
/*blob*/
//blob
sqstd_createblob = NULL;
sqstd_getblob = NULL;
sqstd_getblobsize = NULL;
/*string*/
//string
sqstd_format = NULL;
#endif // SQMOD_PLUGIN_API