mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-14 03:37:16 +01:00
593 lines
29 KiB
C++
593 lines
29 KiB
C++
// ------------------------------------------------------------------------------------------------
|
|
#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;
|
|
|
|
//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;
|
|
|
|
//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;
|
|
|
|
//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;
|
|
|
|
//GC
|
|
sqapi_collectgarbage sq_collectgarbage = NULL;
|
|
sqapi_resurrectunreachable sq_resurrectunreachable = 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;
|
|
|
|
//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;
|
|
|
|
//blob
|
|
sqapi_createblob sqstd_createblob = NULL;
|
|
sqapi_getblob sqstd_getblob = NULL;
|
|
sqapi_getblobsize sqstd_getblobsize = NULL;
|
|
|
|
//string
|
|
sqapi_format sqstd_format = NULL;
|
|
|
|
#endif // SQMOD_PLUGIN_API
|
|
|
|
// ------------------------------------------------------------------------------------------------
|
|
HSQEXPORTS sq_api_import(PluginFuncs * vcapi)
|
|
{
|
|
// 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 plug-in ID
|
|
int plugin_id = vcapi->FindPlugin((char *)(SQMOD_HOST_NAME));
|
|
// 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)
|
|
{
|
|
return NULL;
|
|
}
|
|
// Simply return the obtain poiner to the exports structure
|
|
return *(sq_exports **)plugin_exports;
|
|
}
|
|
|
|
// ------------------------------------------------------------------------------------------------
|
|
SQRESULT sq_api_expand(HSQAPI sqapi)
|
|
{
|
|
if (!sqapi)
|
|
{
|
|
return SQ_ERROR;
|
|
}
|
|
|
|
#ifdef SQMOD_PLUGIN_API
|
|
|
|
//vm
|
|
sq_open = sqapi->open;
|
|
sq_newthread = sqapi->newthread;
|
|
sq_seterrorhandler = sqapi->seterrorhandler;
|
|
sq_close = sqapi->close;
|
|
sq_setforeignptr = sqapi->setforeignptr;
|
|
sq_getforeignptr = sqapi->getforeignptr;
|
|
sq_setsharedforeignptr = sqapi->setsharedforeignptr;
|
|
sq_getsharedforeignptr = sqapi->getsharedforeignptr;
|
|
sq_setvmreleasehook = sqapi->setvmreleasehook;
|
|
sq_getvmreleasehook = sqapi->getvmreleasehook;
|
|
sq_setsharedreleasehook = sqapi->setsharedreleasehook;
|
|
sq_getsharedreleasehook = sqapi->getsharedreleasehook;
|
|
sq_setprintfunc = sqapi->setprintfunc;
|
|
sq_getprintfunc = sqapi->getprintfunc;
|
|
sq_geterrorfunc = sqapi->geterrorfunc;
|
|
sq_suspendvm = sqapi->suspendvm;
|
|
sq_wakeupvm = sqapi->wakeupvm;
|
|
sq_getvmstate = sqapi->getvmstate;
|
|
sq_getversion = sqapi->getversion;
|
|
|
|
//compiler
|
|
sq_compile = sqapi->compile;
|
|
sq_compilebuffer = sqapi->compilebuffer;
|
|
sq_enabledebuginfo = sqapi->enabledebuginfo;
|
|
sq_notifyallexceptions = sqapi->notifyallexceptions;
|
|
sq_setcompilererrorhandler = sqapi->setcompilererrorhandler;
|
|
|
|
//stack operations
|
|
sq_push = sqapi->push;
|
|
sq_pop = sqapi->pop;
|
|
sq_poptop = sqapi->poptop;
|
|
sq_remove = sqapi->remove;
|
|
sq_gettop = sqapi->gettop;
|
|
sq_settop = sqapi->settop;
|
|
sq_reservestack = sqapi->reservestack;
|
|
sq_cmp = sqapi->cmp;
|
|
sq_move = sqapi->move;
|
|
|
|
//object creation handling
|
|
sq_newuserdata = sqapi->newuserdata;
|
|
sq_newtable = sqapi->newtable;
|
|
sq_newtableex = sqapi->newtableex;
|
|
sq_newarray = sqapi->newarray;
|
|
sq_newclosure = sqapi->newclosure;
|
|
sq_setparamscheck = sqapi->setparamscheck;
|
|
sq_bindenv = sqapi->bindenv;
|
|
sq_setclosureroot = sqapi->setclosureroot;
|
|
sq_getclosureroot = sqapi->getclosureroot;
|
|
sq_pushstring = sqapi->pushstring;
|
|
sq_pushfloat = sqapi->pushfloat;
|
|
sq_pushinteger = sqapi->pushinteger;
|
|
sq_pushbool = sqapi->pushbool;
|
|
sq_pushuserpointer = sqapi->pushuserpointer;
|
|
sq_pushnull = sqapi->pushnull;
|
|
sq_pushthread = sqapi->pushthread;
|
|
sq_gettype = sqapi->gettype;
|
|
sq_typeof = sqapi->typeof_;
|
|
sq_getsize = sqapi->getsize;
|
|
sq_gethash = sqapi->gethash;
|
|
sq_getbase = sqapi->getbase;
|
|
sq_instanceof = sqapi->instanceof;
|
|
sq_tostring = sqapi->tostring;
|
|
sq_tobool = sqapi->tobool;
|
|
sq_getstringandsize = sqapi->getstringandsize;
|
|
sq_getstring = sqapi->getstring;
|
|
sq_getinteger = sqapi->getinteger;
|
|
sq_getfloat = sqapi->getfloat;
|
|
sq_getbool = sqapi->getbool;
|
|
sq_getthread = sqapi->getthread;
|
|
sq_getuserpointer = sqapi->getuserpointer;
|
|
sq_getuserdata = sqapi->getuserdata;
|
|
sq_settypetag = sqapi->settypetag;
|
|
sq_gettypetag = sqapi->gettypetag;
|
|
sq_setreleasehook = sqapi->setreleasehook;
|
|
sq_getreleasehook = sqapi->getreleasehook;
|
|
sq_getscratchpad = sqapi->getscratchpad;
|
|
sq_getfunctioninfo = sqapi->getfunctioninfo;
|
|
sq_getclosureinfo = sqapi->getclosureinfo;
|
|
sq_getclosurename = sqapi->getclosurename;
|
|
sq_setnativeclosurename = sqapi->setnativeclosurename;
|
|
sq_setinstanceup = sqapi->setinstanceup;
|
|
sq_getinstanceup = sqapi->getinstanceup;
|
|
sq_setclassudsize = sqapi->setclassudsize;
|
|
sq_newclass = sqapi->newclass;
|
|
sq_createinstance = sqapi->createinstance;
|
|
sq_setattributes = sqapi->setattributes;
|
|
sq_getattributes = sqapi->getattributes;
|
|
sq_getclass = sqapi->getclass;
|
|
sq_weakref = sqapi->weakref;
|
|
sq_getdefaultdelegate = sqapi->getdefaultdelegate;
|
|
sq_getmemberhandle = sqapi->getmemberhandle;
|
|
sq_getbyhandle = sqapi->getbyhandle;
|
|
sq_setbyhandle = sqapi->setbyhandle;
|
|
|
|
//object manipulation
|
|
sq_pushroottable = sqapi->pushroottable;
|
|
sq_pushregistrytable = sqapi->pushregistrytable;
|
|
sq_pushconsttable = sqapi->pushconsttable;
|
|
sq_setroottable = sqapi->setroottable;
|
|
sq_setconsttable = sqapi->setconsttable;
|
|
sq_newslot = sqapi->newslot;
|
|
sq_deleteslot = sqapi->deleteslot;
|
|
sq_set = sqapi->set;
|
|
sq_get = sqapi->get;
|
|
sq_rawget = sqapi->rawget;
|
|
sq_rawset = sqapi->rawset;
|
|
sq_rawdeleteslot = sqapi->rawdeleteslot;
|
|
sq_newmember = sqapi->newmember;
|
|
sq_rawnewmember = sqapi->rawnewmember;
|
|
sq_arrayappend = sqapi->arrayappend;
|
|
sq_arraypop = sqapi->arraypop;
|
|
sq_arrayresize = sqapi->arrayresize;
|
|
sq_arrayreverse = sqapi->arrayreverse;
|
|
sq_arrayremove = sqapi->arrayremove;
|
|
sq_arrayinsert = sqapi->arrayinsert;
|
|
sq_setdelegate = sqapi->setdelegate;
|
|
sq_getdelegate = sqapi->getdelegate;
|
|
sq_clone = sqapi->clone;
|
|
sq_setfreevariable = sqapi->setfreevariable;
|
|
sq_next = sqapi->next;
|
|
sq_getweakrefval = sqapi->getweakrefval;
|
|
sq_clear = sqapi->clear;
|
|
|
|
//calls
|
|
sq_call = sqapi->call;
|
|
sq_resume = sqapi->resume;
|
|
sq_getlocal = sqapi->getlocal;
|
|
sq_getcallee = sqapi->getcallee;
|
|
sq_getfreevariable = sqapi->getfreevariable;
|
|
sq_throwerror = sqapi->throwerror;
|
|
sq_throwobject = sqapi->throwobject;
|
|
sq_reseterror = sqapi->reseterror;
|
|
sq_getlasterror = sqapi->getlasterror;
|
|
|
|
//raw object handling
|
|
sq_getstackobj = sqapi->getstackobj;
|
|
sq_pushobject = sqapi->pushobject;
|
|
sq_addref = sqapi->addref;
|
|
sq_release = sqapi->release;
|
|
sq_getrefcount = sqapi->getrefcount;
|
|
sq_resetobject = sqapi->resetobject;
|
|
sq_objtostring = sqapi->objtostring;
|
|
sq_objtobool = sqapi->objtobool;
|
|
sq_objtointeger = sqapi->objtointeger;
|
|
sq_objtofloat = sqapi->objtofloat;
|
|
sq_objtouserpointer = sqapi->objtouserpointer;
|
|
sq_getobjtypetag = sqapi->getobjtypetag;
|
|
sq_getvmrefcount = sqapi->getvmrefcount;
|
|
|
|
//GC
|
|
sq_collectgarbage = sqapi->collectgarbage;
|
|
sq_resurrectunreachable = sqapi->resurrectunreachable;
|
|
|
|
//serialization
|
|
sq_writeclosure = sqapi->writeclosure;
|
|
sq_readclosure = sqapi->readclosure;
|
|
|
|
//mem allocation
|
|
sq_malloc = sqapi->malloc;
|
|
sq_realloc = sqapi->realloc;
|
|
sq_free = sqapi->free;
|
|
|
|
//debug
|
|
sq_stackinfos = sqapi->stackinfos;
|
|
sq_setdebughook = sqapi->setdebughook;
|
|
sq_setnativedebughook = sqapi->setnativedebughook;
|
|
|
|
//compiler helpers
|
|
sqstd_loadfile = sqapi->loadfile;
|
|
sqstd_dofile = sqapi->dofile;
|
|
sqstd_writeclosuretofile = sqapi->writeclosuretofile;
|
|
|
|
//blob
|
|
sqstd_createblob = sqapi->createblob;
|
|
sqstd_getblob = sqapi->getblob;
|
|
sqstd_getblobsize = sqapi->getblobsize;
|
|
|
|
//string
|
|
sqstd_format = sqapi->format;
|
|
|
|
#endif // SQMOD_PLUGIN_API
|
|
|
|
return SQ_OK;
|
|
}
|
|
|
|
// ------------------------------------------------------------------------------------------------
|
|
void sq_api_collapse()
|
|
{
|
|
#ifdef SQMOD_PLUGIN_API
|
|
|
|
//vm
|
|
sq_open = NULL;
|
|
sq_newthread = NULL;
|
|
sq_seterrorhandler = NULL;
|
|
sq_close = NULL;
|
|
sq_setforeignptr = NULL;
|
|
sq_getforeignptr = NULL;
|
|
sq_setsharedforeignptr = NULL;
|
|
sq_getsharedforeignptr = NULL;
|
|
sq_setvmreleasehook = NULL;
|
|
sq_getvmreleasehook = NULL;
|
|
sq_setsharedreleasehook = NULL;
|
|
sq_getsharedreleasehook = NULL;
|
|
sq_setprintfunc = NULL;
|
|
sq_getprintfunc = NULL;
|
|
sq_geterrorfunc = NULL;
|
|
sq_suspendvm = NULL;
|
|
sq_wakeupvm = NULL;
|
|
sq_getvmstate = NULL;
|
|
sq_getversion = NULL;
|
|
|
|
//compiler
|
|
sq_compile = NULL;
|
|
sq_compilebuffer = NULL;
|
|
sq_enabledebuginfo = NULL;
|
|
sq_notifyallexceptions = NULL;
|
|
sq_setcompilererrorhandler = NULL;
|
|
|
|
//stack operations
|
|
sq_push = NULL;
|
|
sq_pop = NULL;
|
|
sq_poptop = NULL;
|
|
sq_remove = NULL;
|
|
sq_gettop = NULL;
|
|
sq_settop = NULL;
|
|
sq_reservestack = NULL;
|
|
sq_cmp = NULL;
|
|
sq_move = NULL;
|
|
|
|
//object creation handling
|
|
sq_newuserdata = NULL;
|
|
sq_newtable = NULL;
|
|
sq_newtableex = NULL;
|
|
sq_newarray = NULL;
|
|
sq_newclosure = NULL;
|
|
sq_setparamscheck = NULL;
|
|
sq_bindenv = NULL;
|
|
sq_setclosureroot = NULL;
|
|
sq_getclosureroot = NULL;
|
|
sq_pushstring = NULL;
|
|
sq_pushfloat = NULL;
|
|
sq_pushinteger = NULL;
|
|
sq_pushbool = NULL;
|
|
sq_pushuserpointer = NULL;
|
|
sq_pushnull = NULL;
|
|
sq_pushthread = NULL;
|
|
sq_gettype = NULL;
|
|
sq_typeof = NULL;
|
|
sq_getsize = NULL;
|
|
sq_gethash = NULL;
|
|
sq_getbase = NULL;
|
|
sq_instanceof = NULL;
|
|
sq_tostring = NULL;
|
|
sq_tobool = NULL;
|
|
sq_getstringandsize = NULL;
|
|
sq_getstring = NULL;
|
|
sq_getinteger = NULL;
|
|
sq_getfloat = NULL;
|
|
sq_getbool = NULL;
|
|
sq_getthread = NULL;
|
|
sq_getuserpointer = NULL;
|
|
sq_getuserdata = NULL;
|
|
sq_settypetag = NULL;
|
|
sq_gettypetag = NULL;
|
|
sq_setreleasehook = NULL;
|
|
sq_getreleasehook = NULL;
|
|
sq_getscratchpad = NULL;
|
|
sq_getfunctioninfo = NULL;
|
|
sq_getclosureinfo = NULL;
|
|
sq_getclosurename = NULL;
|
|
sq_setnativeclosurename = NULL;
|
|
sq_setinstanceup = NULL;
|
|
sq_getinstanceup = NULL;
|
|
sq_setclassudsize = NULL;
|
|
sq_newclass = NULL;
|
|
sq_createinstance = NULL;
|
|
sq_setattributes = NULL;
|
|
sq_getattributes = NULL;
|
|
sq_getclass = NULL;
|
|
sq_weakref = NULL;
|
|
sq_getdefaultdelegate = NULL;
|
|
sq_getmemberhandle = NULL;
|
|
sq_getbyhandle = NULL;
|
|
sq_setbyhandle = NULL;
|
|
|
|
//object manipulation
|
|
sq_pushroottable = NULL;
|
|
sq_pushregistrytable = NULL;
|
|
sq_pushconsttable = NULL;
|
|
sq_setroottable = NULL;
|
|
sq_setconsttable = NULL;
|
|
sq_newslot = NULL;
|
|
sq_deleteslot = NULL;
|
|
sq_set = NULL;
|
|
sq_get = NULL;
|
|
sq_rawget = NULL;
|
|
sq_rawset = NULL;
|
|
sq_rawdeleteslot = NULL;
|
|
sq_newmember = NULL;
|
|
sq_rawnewmember = NULL;
|
|
sq_arrayappend = NULL;
|
|
sq_arraypop = NULL;
|
|
sq_arrayresize = NULL;
|
|
sq_arrayreverse = NULL;
|
|
sq_arrayremove = NULL;
|
|
sq_arrayinsert = NULL;
|
|
sq_setdelegate = NULL;
|
|
sq_getdelegate = NULL;
|
|
sq_clone = NULL;
|
|
sq_setfreevariable = NULL;
|
|
sq_next = NULL;
|
|
sq_getweakrefval = NULL;
|
|
sq_clear = NULL;
|
|
|
|
//calls
|
|
sq_call = NULL;
|
|
sq_resume = NULL;
|
|
sq_getlocal = NULL;
|
|
sq_getcallee = NULL;
|
|
sq_getfreevariable = NULL;
|
|
sq_throwerror = NULL;
|
|
sq_throwobject = NULL;
|
|
sq_reseterror = NULL;
|
|
sq_getlasterror = NULL;
|
|
|
|
//raw object handling
|
|
sq_getstackobj = NULL;
|
|
sq_pushobject = NULL;
|
|
sq_addref = NULL;
|
|
sq_release = NULL;
|
|
sq_getrefcount = NULL;
|
|
sq_resetobject = NULL;
|
|
sq_objtostring = NULL;
|
|
sq_objtobool = NULL;
|
|
sq_objtointeger = NULL;
|
|
sq_objtofloat = NULL;
|
|
sq_objtouserpointer = NULL;
|
|
sq_getobjtypetag = NULL;
|
|
sq_getvmrefcount = NULL;
|
|
|
|
//GC
|
|
sq_collectgarbage = NULL;
|
|
sq_resurrectunreachable = NULL;
|
|
|
|
//serialization
|
|
sq_writeclosure = NULL;
|
|
sq_readclosure = NULL;
|
|
|
|
//mem allocation
|
|
sq_malloc = NULL;
|
|
sq_realloc = NULL;
|
|
sq_free = NULL;
|
|
|
|
//debug
|
|
sq_stackinfos = NULL;
|
|
sq_setdebughook = NULL;
|
|
sq_setnativedebughook = NULL;
|
|
|
|
//compiler helpers
|
|
sqstd_loadfile = NULL;
|
|
sqstd_dofile = NULL;
|
|
sqstd_writeclosuretofile = NULL;
|
|
|
|
//blob
|
|
sqstd_createblob = NULL;
|
|
sqstd_getblob = NULL;
|
|
sqstd_getblobsize = NULL;
|
|
|
|
//string
|
|
sqstd_format = NULL;
|
|
|
|
#endif // SQMOD_PLUGIN_API
|
|
}
|