From: VMware, Inc <> Date: Mon, 26 Jul 2010 18:56:57 +0000 (-0700) Subject: Cleanup VIX code. X-Git-Tag: 2010.07.25-280253~50 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=53cb47e07ffdd2dbbfb40f560bc8dfb664446038;p=thirdparty%2Fopen-vm-tools.git Cleanup VIX code. Move vixTools library into the plugin directory, and clean up legacy code not used anymore. Signed-off-by: Marcelo Vanzin --- diff --git a/open-vm-tools/lib/vixTools/Makefile.am b/open-vm-tools/lib/vixTools/Makefile.am deleted file mode 100644 index a7324898a..000000000 --- a/open-vm-tools/lib/vixTools/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -################################################################################ -### Copyright 2007 VMware, Inc. All rights reserved. -### -### This program is free software; you can redistribute it and/or modify -### it under the terms of version 2 of the GNU General Public License as -### published by the Free Software Foundation. -### -### This program is distributed in the hope that it will be useful, -### but WITHOUT ANY WARRANTY; without even the implied warranty of -### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -### GNU General Public License for more details. -### -### You should have received a copy of the GNU General Public License -### along with this program; if not, write to the Free Software -### Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -################################################################################ - -noinst_LTLIBRARIES = libVixTools.la - -libVixTools_la_SOURCES = -libVixTools_la_SOURCES += vixTools.c - diff --git a/open-vm-tools/services/plugins/vix/Makefile.am b/open-vm-tools/services/plugins/vix/Makefile.am index 3bb62953c..cc7d7a945 100644 --- a/open-vm-tools/services/plugins/vix/Makefile.am +++ b/open-vm-tools/services/plugins/vix/Makefile.am @@ -35,5 +35,5 @@ libvix_la_LIBADD += $(top_builddir)/lib/impersonate/libImpersonate.la libvix_la_SOURCES = libvix_la_SOURCES += foundryToolsDaemon.c libvix_la_SOURCES += vixPlugin.c -libvix_la_SOURCES += $(top_srcdir)/lib/vixTools/vixTools.c +libvix_la_SOURCES += vixTools.c diff --git a/open-vm-tools/services/plugins/vix/foundryToolsDaemon.c b/open-vm-tools/services/plugins/vix/foundryToolsDaemon.c index 686019157..10dffa1c7 100644 --- a/open-vm-tools/services/plugins/vix/foundryToolsDaemon.c +++ b/open-vm-tools/services/plugins/vix/foundryToolsDaemon.c @@ -55,15 +55,8 @@ #include "vm_version.h" #include "message.h" -#if defined(VMTOOLS_USE_GLIB) -# include "vixPluginInt.h" -# include "vmware/tools/utils.h" -#else -# include "debug.h" -# include "eventManager.h" -# include "rpcin.h" -# include "rpcout.h" -#endif +#include "vixPluginInt.h" +#include "vmware/tools/utils.h" #include "util.h" #include "strutil.h" @@ -95,10 +88,6 @@ #include "vixTools.h" #include "vixOpenSource.h" -#if !defined(VMTOOLS_USE_GLIB) -static DblLnkLst_Links *globalEventQueue; // event queue for main event loop -#endif - #define GUESTMSG_MAX_IN_SIZE (64 * 1024) /* vmx/main/guest_msg.c */ #define MAX64_DECIMAL_DIGITS 20 /* 2^64 = 18,446,744,073,709,551,616 */ @@ -184,11 +173,7 @@ FoundryToolsDaemonRunProgram(RpcInData *data) // IN Bool impersonatingVMWareUser = FALSE; void *userToken = NULL; ProcMgr_Pid pid; -#if defined(VMTOOLS_USE_GLIB) GMainLoop *eventQueue = ((ToolsAppCtx *)data->appCtx)->mainLoop; -#else - DblLnkLst_Links *eventQueue = data->clientData; -#endif /* * Parse the arguments. Some of these are optional, so they @@ -295,11 +280,7 @@ FoundryToolsDaemonGetToolsProperties(RpcInData *data) // IN size_t base64BufferLength = 0; Bool success; char *returnBuffer = NULL; -#if defined(VMTOOLS_USE_GLIB) GKeyFile *confDictRef; -#else - GuestApp_Dict **confDictRef; -#endif /* * Collect some values about the host. @@ -432,7 +413,6 @@ abort: return TRUE; } // ToolsDaemonTcloCheckUserAccount -#if defined(VMTOOLS_USE_GLIB) /** * Initializes internal state of the Foundry daemon. @@ -463,119 +443,6 @@ FoundryToolsDaemon_Initialize(ToolsAppCtx *ctx) } -#else - -/* - *----------------------------------------------------------------------------- - * - * FoundryToolsDaemon_RegisterRoutines -- - * - * Register the Foundry RPC callbacks - * - * Return value: - * None - * - * Side effects: - * None - * - *----------------------------------------------------------------------------- - */ - -void -FoundryToolsDaemon_RegisterRoutines(RpcIn *in, // IN - GuestApp_Dict **confDictRef, // IN - DblLnkLst_Links *eventQueue, // IN - const char * const *orginalEnvp, // IN - Bool runAsRoot) // IN -{ - static Bool inited = FALSE; -#if defined(linux) || defined(_WIN32) - static Bool sync_driver_inited = FALSE; -#endif - - ASSERT(in); - ASSERT(confDictRef); - ASSERT(*confDictRef); - - thisProcessRunsAsRoot = runAsRoot; - globalEventQueue = eventQueue; - - (void) VixTools_Initialize(thisProcessRunsAsRoot, - orginalEnvp, - ToolsDaemonTcloReportProgramCompleted, - NULL); - -#if defined(linux) || defined(_WIN32) - /* - * Be careful, Impersonate_Init should only be ever called once per process. - * - * We can get back here if the tools re-inits due to an error state, - * such as hibernation. - */ - if (!inited && thisProcessRunsAsRoot) { - Impersonate_Init(); - } -#endif - - RpcIn_RegisterCallbackEx(in, - VIX_BACKDOORCOMMAND_RUN_PROGRAM, - FoundryToolsDaemonRunProgram, - eventQueue); - RpcIn_RegisterCallbackEx(in, - VIX_BACKDOORCOMMAND_GET_PROPERTIES, - FoundryToolsDaemonGetToolsProperties, - confDictRef); - RpcIn_RegisterCallbackEx(in, - VIX_BACKDOORCOMMAND_CHECK_USER_ACCOUNT, - ToolsDaemonTcloCheckUserAccount, - NULL); -#if !defined(N_PLAT_NLM) - RpcIn_RegisterCallbackEx(in, - VIX_BACKDOORCOMMAND_SEND_HGFS_PACKET, - ToolsDaemonHgfsImpersonated, - NULL); -#endif - RpcIn_RegisterCallbackEx(in, - VIX_BACKDOORCOMMAND_COMMAND, - ToolsDaemonTcloReceiveVixCommand, - confDictRef); - RpcIn_RegisterCallbackEx(in, - VIX_BACKDOORCOMMAND_MOUNT_VOLUME_LIST, - ToolsDaemonTcloMountHGFS, - NULL); - -#if defined(linux) || defined(_WIN32) - - /* - * Only init once, but always register the RpcIn. - */ - if (!sync_driver_inited) { - sync_driver_inited = SyncDriver_Init(); - } - if (sync_driver_inited) { - /* - * These only get registered if SyncDriver_Init succeeds. We do - * support running the sync/thaw scripts even on guests where - * the Sync driver is not supported (Linux, Windows older than - * Win2k) but the running of the scripts is implemented using - * VIX_BACKDOORCOMMAND_RUN_PROGRAM. - */ - RpcIn_RegisterCallbackEx(in, - VIX_BACKDOORCOMMAND_SYNCDRIVER_FREEZE, - ToolsDaemonTcloSyncDriverFreeze, - eventQueue); - RpcIn_RegisterCallbackEx(in, - VIX_BACKDOORCOMMAND_SYNCDRIVER_THAW, - ToolsDaemonTcloSyncDriverThaw, - NULL); - } else { - Debug("FoundryToolsDaemon: Failed to init SyncDriver, skipping command handlers.\n"); - } -#endif - inited = TRUE; -} // FoundryToolsDaemon_RegisterRoutines - -#endif /* *----------------------------------------------------------------------------- @@ -679,106 +546,6 @@ ToolsDaemonTcloGetEncodedQuotedString(const char *args, // IN } -#if !defined(VMTOOLS_USE_GLIB) -/* - *----------------------------------------------------------------------------- - * - * ToolsDaemonTcloOpenUrl -- - * - * Open a URL on the guest. - * - * Return value: - * TRUE on success - * FALSE on failure - * - * Side effects: - * None - * - *----------------------------------------------------------------------------- - */ - -RpcInRet -ToolsDaemonTcloOpenUrl(RpcInData *data) // IN -{ - static char resultBuffer[DEFAULT_RESULT_MSG_MAX_LENGTH]; - VixError err = VIX_OK; - char *url = NULL; - char *windowState = NULL; - char *credentialTypeStr = NULL; - char *obfuscatedNamePassword = NULL; - uint32 sysError = 0; - Bool impersonatingVMWareUser = FALSE; - void *userToken = NULL; - Debug(">ToolsDaemonTcloOpenUrl\n"); - - /* - * Parse the arguments - */ - url = ToolsDaemonTcloGetEncodedQuotedString(data->args, &data->args); - windowState = ToolsDaemonTcloGetQuotedString(data->args, &data->args); - // These parameters at the end are optional, so they may be NULL. - credentialTypeStr = ToolsDaemonTcloGetQuotedString(data->args, &data->args); - obfuscatedNamePassword = ToolsDaemonTcloGetQuotedString(data->args, &data->args); - - /* - * Validate the arguments. - */ - if ((NULL == url) || (NULL == windowState)) { - err = VIX_E_INVALID_ARG; - Debug("Failed to get string args\n"); - goto abort; - } - - if ((NULL != credentialTypeStr) - && (*credentialTypeStr) - && (thisProcessRunsAsRoot)) { - impersonatingVMWareUser = VixToolsImpersonateUserImpl(credentialTypeStr, - VIX_USER_CREDENTIAL_NONE, - obfuscatedNamePassword, - &userToken); - if (!impersonatingVMWareUser) { - err = VIX_E_GUEST_USER_PERMISSIONS; - goto abort; - } - } - - Debug("Opening URL: \"%s\"\n", url); - - /* Actually open the URL. */ - if (!GuestApp_OpenUrl(url, strcmp(windowState, "maximize") == 0)) { - err = VIX_E_FAIL; - Debug("Failed to open the url \"%s\"\n", url); - goto abort; - } - -abort: - if (impersonatingVMWareUser) { - VixToolsUnimpersonateUser(userToken); - } - VixToolsLogoutUser(userToken); - - /* - * All Foundry tools commands return results that start with a - * foundry error and a guest-OS-specific error. - */ - Str_Sprintf(resultBuffer, sizeof resultBuffer, "%"FMT64"d %d", err, sysError); - RPCIN_SETRETVALS(data, resultBuffer, TRUE); - - /* - * These were allocated by ToolsDaemonTcloGetQuotedString. - */ - free(url); - free(windowState); - free(credentialTypeStr); - free(obfuscatedNamePassword); - - Debug("appCtx; GSource *timer; -#else - Event *cbEvent; -#endif Debug(">ToolsDaemonTcloSyncDriverFreeze\n"); @@ -862,26 +625,9 @@ ToolsDaemonTcloSyncDriverFreeze(RpcInData *data) /* Start the timer callback to automatically thaw. */ if (0 != timeoutVal) { Debug("ToolsDaemonTcloSyncDriverFreeze: Starting timer callback %d\n", timeoutVal); -#if defined(VMTOOLS_USE_GLIB) timer = g_timeout_source_new(timeoutVal * 10); VMTOOLSAPP_ATTACH_SOURCE(ctx, timer, ToolsDaemonSyncDriverThawCallback, NULL, NULL); g_source_unref(timer); -#else - cbEvent = EventManager_Add(data->clientData, - timeoutVal, - ToolsDaemonSyncDriverThawCallback, - NULL); - if (!cbEvent) { - Debug("ToolsDaemonTcloSyncDriverFreeze: Failed to start callback, aborting\n"); - if (!SyncDriver_Thaw(gSyncDriverHandle)) { - Debug("ToolsDaemonTcloSyncDriverFreeze: Unable to abort freeze. Oh well.\n"); - } - SyncDriver_CloseHandle(&gSyncDriverHandle); - err = VIX_E_FAIL; - sysError = SYNCDRIVERERROR; - goto abort; - } -#endif } abort: @@ -1001,125 +747,6 @@ ToolsDaemonTcloSyncDriverThaw(RpcInData *data) // IN } #endif -#if !defined(VMTOOLS_USE_GLIB) - -/* - *----------------------------------------------------------------------------- - * - * FoundryToolsDaemon_RegisterOpenUrlCapability -- - * - * Register the OpenUrl capability. Sometimes this needs to - * be done separately from the TCLO callback registration, so we - * provide it separately here. - * - * Results: - * TRUE on success - * FALSE on failure - * - * Side effects: - * None - * - *----------------------------------------------------------------------------- - */ - -Bool -FoundryToolsDaemon_RegisterOpenUrlCapability(void) -{ - if (!RpcOut_sendOne(NULL, NULL, "tools.capability.open_url 1")) { - Debug("Unable to register open url capability\n"); - Debug("rpc, msg, strlen(msg) + 1, NULL, NULL); g_free(msg); -#else - sentResult = RpcOut_sendOne(NULL, - NULL, - "%s %s %"FMT64"d %d %d %"FMT64"d", - VIX_BACKDOORCOMMAND_RUN_PROGRAM_DONE, - requestName, - err, - Err_Errno(), - exitCode, - (int64) pid); -#endif if (!sentResult) { Warning("Unable to send results from polling the result program.\n\n"); @@ -1493,14 +1108,9 @@ ToolsDaemonTcloReceiveVixCommand(RpcInData *data) // IN */ static char tcloBuffer[GUESTMSG_MAX_IN_SIZE]; -#if defined(VMTOOLS_USE_GLIB) ToolsAppCtx *ctx = data->appCtx; GMainLoop *eventQueue = ctx->mainLoop; GKeyFile *confDictRef = ctx->config; -#else - DblLnkLst_Links *eventQueue = globalEventQueue; - GuestApp_Dict **confDictRef = data->clientData; -#endif requestName = ToolsDaemonTcloGetQuotedString(data->args, &data->args); diff --git a/open-vm-tools/services/plugins/vix/foundryToolsDaemon.h b/open-vm-tools/services/plugins/vix/foundryToolsDaemon.h index 86a5c2f49..5e3b394b1 100644 --- a/open-vm-tools/services/plugins/vix/foundryToolsDaemon.h +++ b/open-vm-tools/services/plugins/vix/foundryToolsDaemon.h @@ -29,30 +29,9 @@ # define __VIX_TOOLS_DAEMON_H__ -#if defined(VMTOOLS_USE_GLIB) - #include "vmware/tools/plugin.h" void FoundryToolsDaemon_Initialize(ToolsAppCtx *ctx); -#else /* not vix plugin */ - -#include "vm_basic_types.h" -#include "rpcin.h" -#include "guestApp.h" - -void FoundryToolsDaemon_RegisterRoutines(RpcIn *in, - GuestApp_Dict **confDictRef, - DblLnkLst_Links *eventQueue, - const char * const *originalEnvp, - Bool runAsRoot); -/* There isn't an _UnregisterRoutines yet. */ - -Bool FoundryToolsDaemon_RegisterOpenUrl(RpcIn *in); -Bool FoundryToolsDaemon_RegisterOpenUrlCapability(void); -Bool FoundryToolsDaemon_UnregisterOpenUrl(void); - -#endif - #endif /* __VIX_TOOLS_DAEMON_H__ */ diff --git a/open-vm-tools/lib/vixTools/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c similarity index 97% rename from open-vm-tools/lib/vixTools/vixTools.c rename to open-vm-tools/services/plugins/vix/vixTools.c index e67d813ca..7bdcd4253 100644 --- a/open-vm-tools/lib/vixTools/vixTools.c +++ b/open-vm-tools/services/plugins/vix/vixTools.c @@ -63,15 +63,10 @@ #include "vm_version.h" #include "message.h" -#if defined(VMTOOLS_USE_GLIB) -# define G_LOG_DOMAIN "vix" -# define Debug g_debug -# define Warning g_warning -# include -#else -# include "debug.h" -# include "eventManager.h" -#endif +#define G_LOG_DOMAIN "vix" +#define Debug g_debug +#define Warning g_warning +#include #include "util.h" #include "strutil.h" @@ -145,9 +140,6 @@ typedef struct VixToolsRunProgramState { char *password; void *eventQueue; -#if !defined(VMTOOLS_USE_GLIB) - struct Event *timeSyncEvent; -#endif } VixToolsRunProgramState; /* @@ -185,11 +177,7 @@ static VixError VixToolsGetFileInfo(VixCommandRequestHeader *requestMsg, static VixError VixToolsSetFileAttributes(VixCommandRequestHeader *requestMsg); -#if defined(VMTOOLS_USE_GLIB) static gboolean VixToolsMonitorAsyncProc(void *clientData); -#else -static Bool VixToolsMonitorAsyncProc(void *clientData); -#endif static void VixToolsPrintFileInfo(char *filePathName, char *fileName, @@ -727,9 +715,7 @@ VixToolsRunProgramImpl(char *requestName, // IN Bool forcedRoot = FALSE; STARTUPINFO si; #endif -#if defined(VMTOOLS_USE_GLIB) GSource *timer; -#endif if (NULL != pid) { *pid = (int64) -1; @@ -852,21 +838,10 @@ VixToolsRunProgramImpl(char *requestName, // IN * Start a periodic procedure to check the app periodically */ asyncState->eventQueue = eventQueue; -#if defined(VMTOOLS_USE_GLIB) timer = g_timeout_source_new(SECONDS_BETWEEN_POLL_TEST_FINISHED * 1000); g_source_set_callback(timer, VixToolsMonitorAsyncProc, asyncState, NULL); g_source_attach(timer, g_main_loop_get_context(eventQueue)); g_source_unref(timer); -#else - asyncState->timeSyncEvent = EventManager_Add(eventQueue, - SECONDS_BETWEEN_POLL_TEST_FINISHED * 100, - VixToolsMonitorAsyncProc, - asyncState); - if (NULL == asyncState->timeSyncEvent) { - err = VIX_E_OUT_OF_MEMORY; - goto abort; - } -#endif /* * VixToolsMonitorAsyncProc will clean asyncState up when the program finishes. @@ -903,11 +878,7 @@ abort: *----------------------------------------------------------------------------- */ -#if defined(VMTOOLS_USE_GLIB) static gboolean -#else -static Bool -#endif VixToolsMonitorAsyncProc(void *clientData) // IN { VixError err = VIX_OK; @@ -916,18 +887,11 @@ VixToolsMonitorAsyncProc(void *clientData) // IN int exitCode = 0; ProcMgr_Pid pid = -1; int result = -1; -#if defined(VMTOOLS_USE_GLIB) GSource *timer; -#endif asyncState = (VixToolsRunProgramState *)clientData; ASSERT(asyncState); -#if !defined(VMTOOLS_USE_GLIB) - /* The event has fired: it is no longer valid */ - asyncState->timeSyncEvent = NULL; -#endif - /* * Check if the program has completed. */ @@ -936,27 +900,11 @@ VixToolsMonitorAsyncProc(void *clientData) // IN goto done; } -#if defined(VMTOOLS_USE_GLIB) timer = g_timeout_source_new(SECONDS_BETWEEN_POLL_TEST_FINISHED * 1000); g_source_set_callback(timer, VixToolsMonitorAsyncProc, asyncState, NULL); g_source_attach(timer, g_main_loop_get_context(asyncState->eventQueue)); g_source_unref(timer); return FALSE; -#else - /* - * If it's still running, check back later. - */ - asyncState->timeSyncEvent = EventManager_Add(asyncState->eventQueue, - SECONDS_BETWEEN_POLL_TEST_FINISHED * 100, - VixToolsMonitorAsyncProc, - asyncState); - if (asyncState->timeSyncEvent == NULL) { - err = VIX_E_OUT_OF_MEMORY; - goto done; - } - - return TRUE; -#endif done: @@ -986,11 +934,7 @@ done: VixToolsFreeRunProgramState(asyncState); -#if defined(VMTOOLS_USE_GLIB) return FALSE; -#else - return TRUE; -#endif } // VixToolsMonitorAsyncProc @@ -1038,17 +982,10 @@ FoundryToolsDaemon_TranslateSystemErr(void) *----------------------------------------------------------------------------- */ -#if defined(VMTOOLS_USE_GLIB) VixError VixTools_GetToolsPropertiesImpl(GKeyFile *confDictRef, // IN char **resultBuffer, // OUT size_t *resultBufferLength) // OUT -#else -VixError -VixTools_GetToolsPropertiesImpl(GuestApp_Dict **confDictRef, // IN - char **resultBuffer, // OUT - size_t *resultBufferLength) // OUT -#endif { VixError err = VIX_OK; VixPropertyListImpl propList; @@ -1112,7 +1049,6 @@ VixTools_GetToolsPropertiesImpl(GuestApp_Dict **confDictRef, // IN */ packageList = ""; -#if defined(VMTOOLS_USE_GLIB) if (confDictRef != NULL) { powerOffScript = g_key_file_get_string(confDictRef, "powerops", CONFNAME_POWEROFFSCRIPT, NULL); @@ -1123,14 +1059,7 @@ VixTools_GetToolsPropertiesImpl(GuestApp_Dict **confDictRef, // IN suspendScript = g_key_file_get_string(confDictRef, "powerops", CONFNAME_SUSPENDSCRIPT, NULL); } -#else - if ((NULL != confDictRef) && (NULL != *confDictRef)) { - powerOffScript = GuestApp_GetDictEntry(*confDictRef, CONFNAME_POWEROFFSCRIPT); - powerOnScript = GuestApp_GetDictEntry(*confDictRef, CONFNAME_POWERONSCRIPT); - resumeScript = GuestApp_GetDictEntry(*confDictRef, CONFNAME_RESUMESCRIPT); - suspendScript = GuestApp_GetDictEntry(*confDictRef, CONFNAME_SUSPENDSCRIPT); - } -#endif + tempDir = File_GetTmpDir(TRUE); /* @@ -3424,9 +3353,7 @@ VixToolsRunScript(VixCommandRequestHeader *requestMsg, // IN #if defined(_WIN32) Bool forcedRoot = FALSE; #endif -#if defined(VMTOOLS_USE_GLIB) GSource *timer; -#endif scriptRequest = (VixMsgRunScriptRequest *) requestMsg; interpreterName = ((char *) scriptRequest) + sizeof(*scriptRequest); @@ -3630,27 +3557,10 @@ if (0 == *interpreterName) { pid = (int64) ProcMgr_GetPid(asyncState->procState); asyncState->eventQueue = eventQueue; -#if defined(VMTOOLS_USE_GLIB) timer = g_timeout_source_new(SECONDS_BETWEEN_POLL_TEST_FINISHED * 1000); g_source_set_callback(timer, VixToolsMonitorAsyncProc, asyncState, NULL); g_source_attach(timer, g_main_loop_get_context(eventQueue)); g_source_unref(timer); -#else - /* - * Start a periodic procedure to check the app periodically. - * We always run this (regardless of whether the VIX_RUNPROGRAM_RETURN_IMMEDIATELY - * flag is set), since we need to clean up the temp file after the script is - * done running. - */ - asyncState->timeSyncEvent = EventManager_Add(eventQueue, - SECONDS_BETWEEN_POLL_TEST_FINISHED * 100, - VixToolsMonitorAsyncProc, - asyncState); - if (NULL == asyncState->timeSyncEvent) { - err = VIX_E_OUT_OF_MEMORY; - goto abort; - } -#endif /* * VixToolsMonitorAsyncProc will clean asyncState up when the program finishes. @@ -5021,7 +4931,6 @@ VixToolsPidRefersToThisProcess(ProcMgr_Pid pid) // IN *----------------------------------------------------------------------------- */ -#if defined(VMTOOLS_USE_GLIB) VixError VixTools_ProcessVixCommand(VixCommandRequestHeader *requestMsg, // IN char *requestName, // IN @@ -5031,17 +4940,6 @@ VixTools_ProcessVixCommand(VixCommandRequestHeader *requestMsg, // IN char **resultBuffer, // OUT size_t *resultLen, // OUT Bool *deleteResultBufferResult) // OUT -#else -VixError -VixTools_ProcessVixCommand(VixCommandRequestHeader *requestMsg, // IN - char *requestName, // IN - size_t maxResultBufferSize, // IN - GuestApp_Dict **confDictRef, // IN - DblLnkLst_Links *eventQueue, // IN - char **resultBuffer, // OUT - size_t *resultLen, // OUT - Bool *deleteResultBufferResult) // OUT -#endif { VixError err = VIX_OK; char *resultValue = NULL; diff --git a/open-vm-tools/lib/include/vixTools.h b/open-vm-tools/services/plugins/vix/vixTools.h similarity index 100% rename from open-vm-tools/lib/include/vixTools.h rename to open-vm-tools/services/plugins/vix/vixTools.h