123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- #ifndef __API_MAKIDEBUG_H
- #define __API_MAKIDEBUG_H
- /*---------------------------------------------------------
- api_makiDebugger
- void debugger_trace();
- int debugger_isActive();
- int debugger_getVIP();
- int debugger_getVSD();
- int debugger_getVCC();
- int debugger_getVSP();
- int debugger_filterEvent(int vcpuid, int eventid);
- void debugger_eventComplete();
- MakiJITD *debugger_createJITD(int vcpuid, int bringitup=1);
- int debugger_readStack(int n);
- int debugger_getCodeBlock(int vcpuid);
- ---------------------------------------------------------*/
- #include <wasabicfg.h>
- #ifndef WASABI_COMPILE_SCRIPT
- #error "This module requires the script api"
- #endif
- #ifndef WASABI_COMPILE_MAKIDEBUG
- #error "This module requires the script debugger api"
- #endif
- #include <bfc/dispatch.h>
- #include <api/script/scriptvar.h>
- class MakiJITD;
- class NOVTABLE api_makiDebugger : public Dispatchable {
- public:
- void debugger_trace();
- int debugger_isActive();
- int debugger_getVIP();
- int debugger_getVSD();
- int debugger_getVCC();
- int debugger_getVSP();
- int debugger_filterEvent(int vcpuid, int eventid);
- void debugger_eventComplete();
- MakiJITD *debugger_createJITD(int vcpuid, int bringitup=1);
- scriptVar debugger_readStack(int n);
- const char *debugger_getCodeBlock(int vcpuid);
- enum {
- API_MAKIDEBUGGER_DEBUGGER_TRACE = 0,
- API_MAKIDEBUGGER_DEBUGGER_ISACTIVE = 10,
- API_MAKIDEBUGGER_DEBUGGER_GETVIP = 20,
- API_MAKIDEBUGGER_DEBUGGER_GETVSD = 30,
- API_MAKIDEBUGGER_DEBUGGER_GETVCC = 40,
- API_MAKIDEBUGGER_DEBUGGER_GETVSP = 50,
- API_MAKIDEBUGGER_DEBUGGER_FILTEREVENT = 60,
- API_MAKIDEBUGGER_DEBUGGER_EVENTCOMPLETE = 70,
- API_MAKIDEBUGGER_DEBUGGER_CREATEJITD = 80,
- API_MAKIDEBUGGER_DEBUGGER_READSTACK = 90,
- API_MAKIDEBUGGER_DEBUGGER_GETCODEBLOCK = 100,
- };
- };
- inline void api_makiDebugger::debugger_trace() {
- _voidcall(API_MAKIDEBUGGER_DEBUGGER_TRACE);
- }
- inline int api_makiDebugger::debugger_isActive() {
- return _call(API_MAKIDEBUGGER_DEBUGGER_ISACTIVE, (int)0);
- }
- inline int api_makiDebugger::debugger_getVIP() {
- return _call(API_MAKIDEBUGGER_DEBUGGER_GETVIP, (int)0);
- }
- inline int api_makiDebugger::debugger_getVSD() {
- return _call(API_MAKIDEBUGGER_DEBUGGER_GETVSD, (int)0);
- }
- inline int api_makiDebugger::debugger_getVCC() {
- return _call(API_MAKIDEBUGGER_DEBUGGER_GETVCC, (int)0);
- }
- inline int api_makiDebugger::debugger_getVSP() {
- return _call(API_MAKIDEBUGGER_DEBUGGER_GETVSP, (int)0);
- }
- inline int api_makiDebugger::debugger_filterEvent(int vcpuid, int eventid) {
- return _call(API_MAKIDEBUGGER_DEBUGGER_FILTEREVENT, (int)0, vcpuid, eventid);
- }
- inline void api_makiDebugger::debugger_eventComplete() {
- _voidcall(API_MAKIDEBUGGER_DEBUGGER_EVENTCOMPLETE);
- }
- inline MakiJITD *api_makiDebugger::debugger_createJITD(int vcpuid, int bringitup) {
- return _call(API_MAKIDEBUGGER_DEBUGGER_CREATEJITD, (MakiJITD *)NULL, vcpuid, bringitup);
- }
- inline const char *api_makiDebugger::debugger_getCodeBlock(int vcpuid) {
- return _call(API_MAKIDEBUGGER_DEBUGGER_GETCODEBLOCK, (const char *)NULL, vcpuid);
- }
- inline scriptVar api_makiDebugger::debugger_readStack(int n) {
- scriptVar v={0,0};
- return _call(API_MAKIDEBUGGER_DEBUGGER_READSTACK, v, n);
- }
- class api_makiDebuggerI : public api_makiDebugger {
- public:
- virtual void debugger_trace()=0;
- virtual int debugger_isActive()=0;
- virtual int debugger_getVIP()=0;
- virtual int debugger_getVSD()=0;
- virtual int debugger_getVCC()=0;
- virtual int debugger_getVSP()=0;
- virtual int debugger_filterEvent(int vcpuid, int eventid)=0;
- virtual void debugger_eventComplete()=0;
- virtual MakiJITD *debugger_createJITD(int vcpuid, int bringitup=1)=0;
- virtual scriptVar debugger_readStack(int n)=0;
- virtual const char *debugger_getCodeBlock(int vcpuid)=0;
- protected:
- RECVS_DISPATCH;
- };
- // {858E4B64-AF1E-4b64-8D27-EFFAD9F82BB4}
- static const GUID makiDebugApiServiceGuid =
- { 0x858e4b64, 0xaf1e, 0x4b64, { 0x8d, 0x27, 0xef, 0xfa, 0xd9, 0xf8, 0x2b, 0xb4 } };
- extern api_makiDebugger *debugApi;
- #endif
|