/* $Id: DBGPlugInDiggers.cpp 31510 2010-08-10 08:48:11Z vboxsync $ */ /** @file * DBGPlugInDiggers - Debugger and Guest OS Digger Plug-in. */ /* * Copyright (C) 2006-2007 Oracle Corporation * * Oracle Corporation confidential * All rights reserved */ /******************************************************************************* * Header Files * *******************************************************************************/ #define LOG_GROUP LOG_GROUP_DBGC #include #include #include "DBGPlugIns.h" #include #include DECLEXPORT(int) DBGCPlugInEntry(DBGCPLUGINOP enmOperation, PVM pVM, uintptr_t uArg) { static PCDBGFOSREG s_aPlugIns[] = { //&g_DBGDiggerFreeBSD, &g_DBGDiggerLinux, //&g_DBGDiggerOS2, &g_DBGDiggerSolaris, &g_DBGDiggerWinNt }; switch (enmOperation) { case DBGCPLUGINOP_INIT: { if (uArg != VBOX_VERSION) return VERR_VERSION_MISMATCH; for (unsigned i = 0; i < RT_ELEMENTS(s_aPlugIns); i++) { int rc = DBGFR3OSRegister(pVM, s_aPlugIns[i]); if (RT_FAILURE(rc)) { AssertRC(rc); while (i-- > 0) DBGFR3OSDeregister(pVM, s_aPlugIns[i]); return rc; } } return VINF_SUCCESS; } case DBGCPLUGINOP_TERM: { for (unsigned i = 0; i < RT_ELEMENTS(s_aPlugIns); i++) { int rc = DBGFR3OSDeregister(pVM, s_aPlugIns[i]); AssertRC(rc); } return VINF_SUCCESS; } default: return VERR_NOT_SUPPORTED; } }