<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>open-vm-tools 9.4.0: lib/include/vmware/tools/plugin.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">open-vm-tools 9.4.0 </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_5a30104352ef4255dc24354b02eb2d20.html">include</a></li><li class="navelem"><a class="el" href="dir_1ae46aceb4fd0d0c4a241d08c8eb4ed3.html">vmware</a></li><li class="navelem"><a class="el" href="dir_93b95978f0d6069d74a14c562abea915.html">tools</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">plugin.h</div> </div> </div><!--header--> <div class="contents"> <a href="plugin_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*********************************************************</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Copyright (C) 2008 VMware, Inc. All rights reserved.</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * This program is free software; you can redistribute it and/or modify it</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * under the terms of the GNU Lesser General Public License as published</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * by the Free Software Foundation version 2.1 and no later version.</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> *</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * This program is distributed in the hope that it will be useful, but</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * License for more details.</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> *</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public License</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * along with this program; if not, write to the Free Software Foundation, Inc.,</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> *********************************************************/</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifndef _VMWARE_TOOLS_PLUGIN_H_</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"></span><span class="preprocessor">#define _VMWARE_TOOLS_PLUGIN_H_</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <glib.h></span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#if defined(G_PLATFORM_WIN32)</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor"># include <windows.h></span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"># include <objbase.h></span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#include "vmware/guestrpc/capabilities.h"</span></div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="guestrpc_8h.html">vmware/tools/guestrpc.h</a>"</span></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "<a class="code" href="utils_8h.html">vmware/tools/utils.h</a>"</span></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div> <div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#gae845433f58220cfe3f0e56a51a410c0e"> 49</a></span> <span class="preprocessor">#define VMTOOLSAPP_ERROR(ctx, err) do { \</span></div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"> ASSERT((err) != 0); \</span></div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor"> (ctx)->errorCode = (err); \</span></div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"> g_main_loop_quit((ctx)->mainLoop); \</span></div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">} while (0)</span></div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div> <div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#gac1786fe2219c3028d8f518c3eba82c99"> 65</a></span> <span class="preprocessor">#define VMTOOLSAPP_ATTACH_SOURCE(ctx, src, cb, data, destroy) do { \</span></div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"> GSource *__src = (src); \</span></div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"> g_source_set_callback(__src, (GSourceFunc) (cb), (data), (destroy)); \</span></div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"> g_source_attach(__src, g_main_loop_get_context((ctx)->mainLoop)); \</span></div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">} while (0)</span></div> <div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">/* Indentation levels for the state log function below. */</span></div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#define TOOLS_STATE_LOG_ROOT 0</span></div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"></span><span class="preprocessor">#define TOOLS_STATE_LOG_CONTAINER 1</span></div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"></span><span class="preprocessor">#define TOOLS_STATE_LOG_PLUGIN 2</span></div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span> ToolsCore_LogState(guint level,</div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *fmt,</div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  ...)</div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span> {</div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  gchar *indented = g_strdup_printf(<span class="stringliteral">"%*s%s"</span>, 3 * level, <span class="stringliteral">""</span>, fmt);</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  va_list args;</div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  va_start(args, fmt);</div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  g_logv(<span class="stringliteral">"state"</span>, G_LOG_LEVEL_INFO, indented, args);</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  va_end(args);</div> <div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  g_free(indented);</div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div> <div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#gafceeec827816178fbc61e805cbe5c792"> 113</a></span> <span class="preprocessor">#define TOOLS_CORE_SIG_CAPABILITIES "tcs_capabilities"</span></div> <div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ga7bfffd963f786f08049fe38511d47af2"> 122</a></span> <span class="preprocessor">#define TOOLS_CORE_SIG_CONF_RELOAD "tcs_conf_reload"</span></div> <div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ga9a38cacea4dcea975cac21e3ab530ccb"> 133</a></span> <span class="preprocessor">#define TOOLS_CORE_SIG_DUMP_STATE "tcs_dump_state"</span></div> <div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#gad19d1d9e78cf796ba25504eaad2d2664"> 142</a></span> <span class="preprocessor">#define TOOLS_CORE_SIG_RESET "tcs_reset"</span></div> <div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ga2fa6cca2e2cde6109bfc11ed2e9eb760"> 156</a></span> <span class="preprocessor">#define TOOLS_CORE_SIG_SET_OPTION "tcs_set_option"</span></div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ga4d5500a712a7da98ad1e2edec95adbfa"> 165</a></span> <span class="preprocessor">#define TOOLS_CORE_SIG_SHUTDOWN "tcs_shutdown"</span></div> <div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor">#if defined(G_PLATFORM_WIN32)</span></div> <div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor">#define TOOLS_CORE_SIG_SERVICE_CONTROL "tcs_service_control"</span></div> <div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ga450171ca281fd371eb424719dc037722"> 206</a></span> <span class="preprocessor">#define TOOLS_CORE_PROP_CTX "tcs_app_ctx"</span></div> <div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div> <div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#gab74b3a7ffdbb9972f4a104098529ef64"> 218</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  TOOLS_CORE_API_V1 = 0x1,</div> <div class="line"><a name="l00220"></a><span class="lineno"> 220</span> } <a class="code" href="group__vmtools__plugins.html#gab74b3a7ffdbb9972f4a104098529ef64">ToolsCoreAPI</a>;</div> <div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div> <div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div> <div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html"> 227</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structToolsAppCtx.html">ToolsAppCtx</a> {</div> <div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html#a0082045239de9cc2e84ee7e2f164cdfd"> 229</a></span>  <a class="code" href="group__vmtools__plugins.html#gab74b3a7ffdbb9972f4a104098529ef64">ToolsCoreAPI</a> <a class="code" href="structToolsAppCtx.html#a0082045239de9cc2e84ee7e2f164cdfd">version</a>;</div> <div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html#a87f8169708ff5acc7b4b0a80fc702f19"> 231</a></span>  <span class="keyword">const</span> gchar *<a class="code" href="structToolsAppCtx.html#a87f8169708ff5acc7b4b0a80fc702f19">name</a>;</div> <div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html#a8ce3dfd6bd45c770fa76399085c66f73"> 233</a></span>  gboolean <a class="code" href="structToolsAppCtx.html#a8ce3dfd6bd45c770fa76399085c66f73">isVMware</a>;</div> <div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html#aac2e6237673f864bc414aee8ee4e68f5"> 235</a></span>  <span class="keywordtype">int</span> <a class="code" href="structToolsAppCtx.html#aac2e6237673f864bc414aee8ee4e68f5">errorCode</a>;</div> <div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html#a2ffffbc722583a4fe7809a0006b60065"> 237</a></span>  GMainLoop *<a class="code" href="structToolsAppCtx.html#a2ffffbc722583a4fe7809a0006b60065">mainLoop</a>;</div> <div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html#a45dea17d04c3837929fc5d0d69a56aa1"> 239</a></span>  <a class="code" href="structRpcChannel.html">RpcChannel</a> *<a class="code" href="structToolsAppCtx.html#a45dea17d04c3837929fc5d0d69a56aa1">rpc</a>;</div> <div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html#a1379fe1c7072e2408a785ded63510489"> 241</a></span>  GKeyFile *<a class="code" href="structToolsAppCtx.html#a1379fe1c7072e2408a785ded63510489">config</a>;</div> <div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="preprocessor">#if defined(G_PLATFORM_WIN32)</span></div> <div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  gboolean comInitialized;</div> <div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor">#else</span></div> <div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html#a5de626efb6c01a47cc6bec118a3b5416"> 247</a></span>  <span class="keywordtype">int</span> <a class="code" href="structToolsAppCtx.html#a5de626efb6c01a47cc6bec118a3b5416">blockFD</a>;</div> <div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html#a6fae77a7be605364592f99bac41ea900"> 249</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" href="structToolsAppCtx.html#a6fae77a7be605364592f99bac41ea900">envp</a>;</div> <div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html#a88fa545c7fdc5415d1638eef49f306d9"> 257</a></span>  gpointer <a class="code" href="structToolsAppCtx.html#a88fa545c7fdc5415d1638eef49f306d9">serviceObj</a>;</div> <div class="line"><a name="l00258"></a><span class="lineno"> 258</span> } <a class="code" href="group__vmtools__plugins.html#ga108509025e9fa7048548fb2941b8c958">ToolsAppCtx</a>;</div> <div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div> <div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor">#if defined(G_PLATFORM_WIN32)</span></div> <div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00268"></a><span class="lineno"> 268</span> G_INLINE_FUNC gboolean</div> <div class="line"><a name="l00269"></a><span class="lineno"> 269</span> ToolsCore_InitializeCOM(<a class="code" href="structToolsAppCtx.html">ToolsAppCtx</a> *ctx)</div> <div class="line"><a name="l00270"></a><span class="lineno"> 270</span> {</div> <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">if</span> (!ctx->comInitialized) {</div> <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  HRESULT ret = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);</div> <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  ctx->comInitialized = SUCCEEDED(ret);</div> <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">if</span> (!ctx->comInitialized) {</div> <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  g_log(ctx-><a class="code" href="structToolsAppCtx.html#a87f8169708ff5acc7b4b0a80fc702f19">name</a>, G_LOG_LEVEL_WARNING,</div> <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="stringliteral">"COM initialization failed(0x%x)\n"</span>, ret);</div> <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  }</div> <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  }</div> <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">return</span> ctx->comInitialized;</div> <div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div> <div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div> <div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment">/* Capabilities. */</span></div> <div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div> <div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ga30463f9d97822958018ae83e28321fa9"> 287</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  TOOLS_CAP_OLD = 0,</div> <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  TOOLS_CAP_OLD_NOVAL = 1,</div> <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  TOOLS_CAP_NEW = 2</div> <div class="line"><a name="l00291"></a><span class="lineno"> 291</span> } <a class="code" href="group__vmtools__plugins.html#ga30463f9d97822958018ae83e28321fa9">ToolsCapabilityType</a>;</div> <div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div> <div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="structToolsAppCapability.html"> 302</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structToolsAppCapability.html">ToolsAppCapability</a> {</div> <div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="structToolsAppCapability.html#aba658d8a7b70505a2ffa36b2138e5f34"> 304</a></span>  <a class="code" href="group__vmtools__plugins.html#ga30463f9d97822958018ae83e28321fa9">ToolsCapabilityType</a> <a class="code" href="structToolsAppCapability.html#aba658d8a7b70505a2ffa36b2138e5f34">type</a>;</div> <div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="structToolsAppCapability.html#a72c834e7de5d7f935e1d52b55401a101"> 309</a></span>  <span class="keyword">const</span> gchar *<a class="code" href="structToolsAppCapability.html#a72c834e7de5d7f935e1d52b55401a101">name</a>;</div> <div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="structToolsAppCapability.html#a37a707a853da60b5efc47e1770a63f26"> 314</a></span>  GuestCapabilities <a class="code" href="structToolsAppCapability.html#a37a707a853da60b5efc47e1770a63f26">index</a>;</div> <div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="structToolsAppCapability.html#ab4fd65d76cc4031696deb6b0e281021f"> 316</a></span>  guint <a class="code" href="structToolsAppCapability.html#ab4fd65d76cc4031696deb6b0e281021f">value</a>;</div> <div class="line"><a name="l00317"></a><span class="lineno"> 317</span> } <a class="code" href="group__vmtools__plugins.html#ga3b0586c4a96a54d59e9b04e8fb780b9b">ToolsAppCapability</a>;</div> <div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div> <div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div> <div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment">/* Application registration. */</span></div> <div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div> <div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#gaa58c4987a21e2bdbb4a7a6e28eb861a6"> 323</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a2192ecd9b4c16376a1e8536f4119de4b"> 327</a></span>  <a class="code" href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a2192ecd9b4c16376a1e8536f4119de4b">TOOLS_APP_GUESTRPC</a> = 1,</div> <div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a79ac5216bff892349d250d16e61d5f87"> 332</a></span>  <a class="code" href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a79ac5216bff892349d250d16e61d5f87">TOOLS_APP_SIGNALS</a> = 2,</div> <div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a8121f83d027f9b28f7b8a0e4dab46b36"> 338</a></span>  <a class="code" href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a8121f83d027f9b28f7b8a0e4dab46b36">TOOLS_APP_PROVIDER</a> = 3,</div> <div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a80c5c900fc3aaf4100b8d12010a315e7"> 343</a></span>  <a class="code" href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a80c5c900fc3aaf4100b8d12010a315e7">TOOLS_SVC_PROPERTY</a> = 4,</div> <div class="line"><a name="l00344"></a><span class="lineno"> 344</span> } <a class="code" href="group__vmtools__plugins.html#gaa58c4987a21e2bdbb4a7a6e28eb861a6">ToolsAppType</a>;</div> <div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div> <div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div> <div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keyword">struct </span><a class="code" href="structToolsPluginData.html">ToolsPluginData</a>;</div> <div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div> <div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="structToolsAppProvider.html"> 357</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structToolsAppProvider.html">ToolsAppProvider</a> {</div> <div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="structToolsAppProvider.html#a1705ec37d9fb3908111a84ce9f118218"> 359</a></span>  <span class="keyword">const</span> gchar *<a class="code" href="structToolsAppProvider.html#a1705ec37d9fb3908111a84ce9f118218">name</a>;</div> <div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="structToolsAppProvider.html#af5cfad9e5531b008b856436fe73aca25"> 366</a></span>  <a class="code" href="group__vmtools__plugins.html#gaa58c4987a21e2bdbb4a7a6e28eb861a6">ToolsAppType</a> <a class="code" href="structToolsAppProvider.html#af5cfad9e5531b008b856436fe73aca25">regType</a>;</div> <div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="structToolsAppProvider.html#a1e63899d8e10f1da3c41b9da81d32edc"> 368</a></span>  <span class="keywordtype">size_t</span> <a class="code" href="structToolsAppProvider.html#a1e63899d8e10f1da3c41b9da81d32edc">regSize</a>;</div> <div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="structToolsAppProvider.html#a381b8ad6428b321aa321e9eb74609f8e"> 378</a></span>  void (*<a class="code" href="structToolsAppProvider.html#a381b8ad6428b321aa321e9eb74609f8e">activate</a>)(<a class="code" href="structToolsAppCtx.html">ToolsAppCtx</a> *ctx, <span class="keyword">struct </span><a class="code" href="structToolsAppProvider.html">ToolsAppProvider</a> *prov, GError **err);</div> <div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="structToolsAppProvider.html#a5d2d4d435e8407094b49262db3e8a19b"> 390</a></span>  gboolean (*<a class="code" href="structToolsAppProvider.html#a5d2d4d435e8407094b49262db3e8a19b">registerApp</a>)(<a class="code" href="structToolsAppCtx.html">ToolsAppCtx</a> *ctx,</div> <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keyword">struct </span><a class="code" href="structToolsAppProvider.html">ToolsAppProvider</a> *prov,</div> <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keyword">struct </span><a class="code" href="structToolsPluginData.html">ToolsPluginData</a> *plugin,</div> <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  gpointer reg);</div> <div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="structToolsAppProvider.html#a0cebdc906fad2d376b18b145ab6c8404"> 404</a></span>  void (*<a class="code" href="structToolsAppProvider.html#a0cebdc906fad2d376b18b145ab6c8404">shutdown</a>)(<a class="code" href="structToolsAppCtx.html">ToolsAppCtx</a> *ctx, <span class="keyword">struct </span><a class="code" href="structToolsAppProvider.html">ToolsAppProvider</a> *prov);</div> <div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="structToolsAppProvider.html#afa48561542771f0984434e58d8e01a4e"> 417</a></span>  void (*<a class="code" href="structToolsAppProvider.html#afa48561542771f0984434e58d8e01a4e">dumpState</a>)(<a class="code" href="structToolsAppCtx.html">ToolsAppCtx</a> *ctx, <span class="keyword">struct </span><a class="code" href="structToolsAppProvider.html">ToolsAppProvider</a> *prov, gpointer reg);</div> <div class="line"><a name="l00418"></a><span class="lineno"> 418</span> } <a class="code" href="group__vmtools__plugins.html#gae0ddd0c7a61f379cc309195a1f8412d4">ToolsAppProvider</a>;</div> <div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div> <div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div> <div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="structToolsAppReg.html"> 431</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structToolsAppReg.html">ToolsAppReg</a> {</div> <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <a class="code" href="group__vmtools__plugins.html#gaa58c4987a21e2bdbb4a7a6e28eb861a6">ToolsAppType</a> type;</div> <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  GArray *data;</div> <div class="line"><a name="l00434"></a><span class="lineno"> 434</span> } <a class="code" href="group__vmtools__plugins.html#ga02edbb6ec4827f7e99c135ee6c35a2db">ToolsAppReg</a>;</div> <div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div> <div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div> <div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="structToolsServiceProperty.html"> 450</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structToolsServiceProperty.html">ToolsServiceProperty</a> {</div> <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div> <div class="line"><a name="l00452"></a><span class="lineno"> 452</span> } <a class="code" href="group__vmtools__plugins.html#ga32273e47ea284b17f3eb339f6fed59f2">ToolsServiceProperty</a>;</div> <div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div> <div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div> <div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="structToolsPluginSignalCb.html"> 464</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structToolsPluginSignalCb.html">ToolsPluginSignalCb</a> {</div> <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keyword">const</span> gchar *signame;</div> <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  gpointer callback;</div> <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  gpointer clientData;</div> <div class="line"><a name="l00468"></a><span class="lineno"> 468</span> } <a class="code" href="group__vmtools__plugins.html#gaa2d497ae35db96e9eda525bafa944164">ToolsPluginSignalCb</a>;</div> <div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div> <div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div> <div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="structToolsPluginData.html"> 485</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structToolsPluginData.html">ToolsPluginData</a> {</div> <div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="structToolsPluginData.html#a5b4dd922a4e2573a4ee6ffb178b99b08"> 487</a></span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *<a class="code" href="structToolsPluginData.html#a5b4dd922a4e2573a4ee6ffb178b99b08">name</a>;</div> <div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="structToolsPluginData.html#ad66898192cc649158116a5e5fa80faaf"> 492</a></span>  GArray *<a class="code" href="structToolsPluginData.html#ad66898192cc649158116a5e5fa80faaf">regs</a>;</div> <div class="line"><a name="l00523"></a><span class="lineno"><a class="line" href="structToolsPluginData.html#ac35a7bf13c9ec30c2167b5e646f9f4ea"> 523</a></span>  gboolean (*<a class="code" href="structToolsPluginData.html#ac35a7bf13c9ec30c2167b5e646f9f4ea">errorCb</a>)(<a class="code" href="structToolsAppCtx.html">ToolsAppCtx</a> *ctx,</div> <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <a class="code" href="group__vmtools__plugins.html#gaa58c4987a21e2bdbb4a7a6e28eb861a6">ToolsAppType</a> type,</div> <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  gpointer data,</div> <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keyword">struct </span><a class="code" href="structToolsPluginData.html">ToolsPluginData</a> *plugin);</div> <div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="structToolsPluginData.html#af37b971c4234260d72350af9a661a92c"> 528</a></span>  gpointer <a class="code" href="structToolsPluginData.html#af37b971c4234260d72350af9a661a92c">_private</a>;</div> <div class="line"><a name="l00529"></a><span class="lineno"> 529</span> } <a class="code" href="group__vmtools__plugins.html#ga7fbc5099bc98a3805742971afeff16ad">ToolsPluginData</a>;</div> <div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div> <div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="preprocessor">#if defined(G_PLATFORM_WIN32)</span></div> <div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="preprocessor"></span><span class="preprocessor"># define TOOLS_MODULE_EXPORT VMTOOLS_EXTERN_C __declspec(dllexport)</span></div> <div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="preprocessor"></span><span class="preprocessor">#elif defined(GCC_EXPLICIT_EXPORT)</span></div> <div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="preprocessor"></span><span class="preprocessor"># define TOOLS_MODULE_EXPORT VMTOOLS_EXTERN_C __attribute__((visibility("default")))</span></div> <div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div> <div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ga1960f65a5ba3452d950e0be70dc17fa1"> 541</a></span> <span class="preprocessor"></span><span class="preprocessor"># define TOOLS_MODULE_EXPORT VMTOOLS_EXTERN_C</span></div> <div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div> <div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00555"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ga7ed24bbccc663b3d3c58324dc85cf4e1"> 555</a></span> <span class="keyword">typedef</span> <a class="code" href="structToolsPluginData.html">ToolsPluginData</a> *(*ToolsPluginOnLoad)(<a class="code" href="structToolsAppCtx.html">ToolsAppCtx</a> *ctx);</div> <div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div> <div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="preprocessor">#endif </span><span class="comment">/* _VMWARE_TOOLS_PLUGIN_H_ */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="preprocessor"></span></div> <div class="ttc" id="group__vmtools__plugins_html_gaa2d497ae35db96e9eda525bafa944164"><div class="ttname"><a href="group__vmtools__plugins.html#gaa2d497ae35db96e9eda525bafa944164">ToolsPluginSignalCb</a></div><div class="ttdeci">struct ToolsPluginSignalCb ToolsPluginSignalCb</div></div> <div class="ttc" id="structToolsAppCapability_html"><div class="ttname"><a href="structToolsAppCapability.html">ToolsAppCapability</a></div><div class="ttdef"><b>Definition:</b> plugin.h:302</div></div> <div class="ttc" id="group__vmtools__plugins_html_ggaa58c4987a21e2bdbb4a7a6e28eb861a6a2192ecd9b4c16376a1e8536f4119de4b"><div class="ttname"><a href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a2192ecd9b4c16376a1e8536f4119de4b">TOOLS_APP_GUESTRPC</a></div><div class="ttdef"><b>Definition:</b> plugin.h:327</div></div> <div class="ttc" id="structToolsAppCapability_html_a37a707a853da60b5efc47e1770a63f26"><div class="ttname"><a href="structToolsAppCapability.html#a37a707a853da60b5efc47e1770a63f26">ToolsAppCapability::index</a></div><div class="ttdeci">GuestCapabilities index</div><div class="ttdef"><b>Definition:</b> plugin.h:314</div></div> <div class="ttc" id="structToolsAppCtx_html_a1379fe1c7072e2408a785ded63510489"><div class="ttname"><a href="structToolsAppCtx.html#a1379fe1c7072e2408a785ded63510489">ToolsAppCtx::config</a></div><div class="ttdeci">GKeyFile * config</div><div class="ttdef"><b>Definition:</b> plugin.h:241</div></div> <div class="ttc" id="structToolsAppCtx_html_a8ce3dfd6bd45c770fa76399085c66f73"><div class="ttname"><a href="structToolsAppCtx.html#a8ce3dfd6bd45c770fa76399085c66f73">ToolsAppCtx::isVMware</a></div><div class="ttdeci">gboolean isVMware</div><div class="ttdef"><b>Definition:</b> plugin.h:233</div></div> <div class="ttc" id="structToolsAppCtx_html_a45dea17d04c3837929fc5d0d69a56aa1"><div class="ttname"><a href="structToolsAppCtx.html#a45dea17d04c3837929fc5d0d69a56aa1">ToolsAppCtx::rpc</a></div><div class="ttdeci">RpcChannel * rpc</div><div class="ttdef"><b>Definition:</b> plugin.h:239</div></div> <div class="ttc" id="structRpcChannel_html"><div class="ttname"><a href="structRpcChannel.html">RpcChannel</a></div><div class="ttdef"><b>Definition:</b> guestrpc.h:139</div></div> <div class="ttc" id="structToolsPluginSignalCb_html"><div class="ttname"><a href="structToolsPluginSignalCb.html">ToolsPluginSignalCb</a></div><div class="ttdef"><b>Definition:</b> plugin.h:464</div></div> <div class="ttc" id="group__vmtools__plugins_html_ga108509025e9fa7048548fb2941b8c958"><div class="ttname"><a href="group__vmtools__plugins.html#ga108509025e9fa7048548fb2941b8c958">ToolsAppCtx</a></div><div class="ttdeci">struct ToolsAppCtx ToolsAppCtx</div></div> <div class="ttc" id="structToolsAppCtx_html_aac2e6237673f864bc414aee8ee4e68f5"><div class="ttname"><a href="structToolsAppCtx.html#aac2e6237673f864bc414aee8ee4e68f5">ToolsAppCtx::errorCode</a></div><div class="ttdeci">int errorCode</div><div class="ttdef"><b>Definition:</b> plugin.h:235</div></div> <div class="ttc" id="structToolsAppProvider_html_a5d2d4d435e8407094b49262db3e8a19b"><div class="ttname"><a href="structToolsAppProvider.html#a5d2d4d435e8407094b49262db3e8a19b">ToolsAppProvider::registerApp</a></div><div class="ttdeci">gboolean(* registerApp)(ToolsAppCtx *ctx, struct ToolsAppProvider *prov, struct ToolsPluginData *plugin, gpointer reg)</div><div class="ttdef"><b>Definition:</b> plugin.h:390</div></div> <div class="ttc" id="structToolsAppProvider_html_afa48561542771f0984434e58d8e01a4e"><div class="ttname"><a href="structToolsAppProvider.html#afa48561542771f0984434e58d8e01a4e">ToolsAppProvider::dumpState</a></div><div class="ttdeci">void(* dumpState)(ToolsAppCtx *ctx, struct ToolsAppProvider *prov, gpointer reg)</div><div class="ttdef"><b>Definition:</b> plugin.h:417</div></div> <div class="ttc" id="structToolsAppProvider_html_af5cfad9e5531b008b856436fe73aca25"><div class="ttname"><a href="structToolsAppProvider.html#af5cfad9e5531b008b856436fe73aca25">ToolsAppProvider::regType</a></div><div class="ttdeci">ToolsAppType regType</div><div class="ttdef"><b>Definition:</b> plugin.h:366</div></div> <div class="ttc" id="structToolsAppCapability_html_aba658d8a7b70505a2ffa36b2138e5f34"><div class="ttname"><a href="structToolsAppCapability.html#aba658d8a7b70505a2ffa36b2138e5f34">ToolsAppCapability::type</a></div><div class="ttdeci">ToolsCapabilityType type</div><div class="ttdef"><b>Definition:</b> plugin.h:304</div></div> <div class="ttc" id="group__vmtools__plugins_html_gae0ddd0c7a61f379cc309195a1f8412d4"><div class="ttname"><a href="group__vmtools__plugins.html#gae0ddd0c7a61f379cc309195a1f8412d4">ToolsAppProvider</a></div><div class="ttdeci">struct ToolsAppProvider ToolsAppProvider</div></div> <div class="ttc" id="structToolsServiceProperty_html"><div class="ttname"><a href="structToolsServiceProperty.html">ToolsServiceProperty</a></div><div class="ttdef"><b>Definition:</b> plugin.h:450</div></div> <div class="ttc" id="structToolsAppCtx_html_a2ffffbc722583a4fe7809a0006b60065"><div class="ttname"><a href="structToolsAppCtx.html#a2ffffbc722583a4fe7809a0006b60065">ToolsAppCtx::mainLoop</a></div><div class="ttdeci">GMainLoop * mainLoop</div><div class="ttdef"><b>Definition:</b> plugin.h:237</div></div> <div class="ttc" id="structToolsAppCtx_html_a5de626efb6c01a47cc6bec118a3b5416"><div class="ttname"><a href="structToolsAppCtx.html#a5de626efb6c01a47cc6bec118a3b5416">ToolsAppCtx::blockFD</a></div><div class="ttdeci">int blockFD</div><div class="ttdef"><b>Definition:</b> plugin.h:247</div></div> <div class="ttc" id="group__vmtools__plugins_html_ggaa58c4987a21e2bdbb4a7a6e28eb861a6a80c5c900fc3aaf4100b8d12010a315e7"><div class="ttname"><a href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a80c5c900fc3aaf4100b8d12010a315e7">TOOLS_SVC_PROPERTY</a></div><div class="ttdef"><b>Definition:</b> plugin.h:343</div></div> <div class="ttc" id="utils_8h_html"><div class="ttname"><a href="utils_8h.html">utils.h</a></div></div> <div class="ttc" id="structToolsAppCapability_html_ab4fd65d76cc4031696deb6b0e281021f"><div class="ttname"><a href="structToolsAppCapability.html#ab4fd65d76cc4031696deb6b0e281021f">ToolsAppCapability::value</a></div><div class="ttdeci">guint value</div><div class="ttdef"><b>Definition:</b> plugin.h:316</div></div> <div class="ttc" id="structToolsAppCtx_html_a87f8169708ff5acc7b4b0a80fc702f19"><div class="ttname"><a href="structToolsAppCtx.html#a87f8169708ff5acc7b4b0a80fc702f19">ToolsAppCtx::name</a></div><div class="ttdeci">const gchar * name</div><div class="ttdef"><b>Definition:</b> plugin.h:231</div></div> <div class="ttc" id="structToolsPluginData_html_af37b971c4234260d72350af9a661a92c"><div class="ttname"><a href="structToolsPluginData.html#af37b971c4234260d72350af9a661a92c">ToolsPluginData::_private</a></div><div class="ttdeci">gpointer _private</div><div class="ttdef"><b>Definition:</b> plugin.h:528</div></div> <div class="ttc" id="guestrpc_8h_html"><div class="ttname"><a href="guestrpc_8h.html">guestrpc.h</a></div></div> <div class="ttc" id="group__vmtools__plugins_html_ga30463f9d97822958018ae83e28321fa9"><div class="ttname"><a href="group__vmtools__plugins.html#ga30463f9d97822958018ae83e28321fa9">ToolsCapabilityType</a></div><div class="ttdeci">ToolsCapabilityType</div><div class="ttdef"><b>Definition:</b> plugin.h:287</div></div> <div class="ttc" id="structToolsPluginData_html_ad66898192cc649158116a5e5fa80faaf"><div class="ttname"><a href="structToolsPluginData.html#ad66898192cc649158116a5e5fa80faaf">ToolsPluginData::regs</a></div><div class="ttdeci">GArray * regs</div><div class="ttdef"><b>Definition:</b> plugin.h:492</div></div> <div class="ttc" id="group__vmtools__plugins_html_ga7fbc5099bc98a3805742971afeff16ad"><div class="ttname"><a href="group__vmtools__plugins.html#ga7fbc5099bc98a3805742971afeff16ad">ToolsPluginData</a></div><div class="ttdeci">struct ToolsPluginData ToolsPluginData</div></div> <div class="ttc" id="structToolsPluginData_html_ac35a7bf13c9ec30c2167b5e646f9f4ea"><div class="ttname"><a href="structToolsPluginData.html#ac35a7bf13c9ec30c2167b5e646f9f4ea">ToolsPluginData::errorCb</a></div><div class="ttdeci">gboolean(* errorCb)(ToolsAppCtx *ctx, ToolsAppType type, gpointer data, struct ToolsPluginData *plugin)</div><div class="ttdef"><b>Definition:</b> plugin.h:523</div></div> <div class="ttc" id="structToolsAppReg_html"><div class="ttname"><a href="structToolsAppReg.html">ToolsAppReg</a></div><div class="ttdef"><b>Definition:</b> plugin.h:431</div></div> <div class="ttc" id="group__vmtools__plugins_html_gaa58c4987a21e2bdbb4a7a6e28eb861a6"><div class="ttname"><a href="group__vmtools__plugins.html#gaa58c4987a21e2bdbb4a7a6e28eb861a6">ToolsAppType</a></div><div class="ttdeci">ToolsAppType</div><div class="ttdef"><b>Definition:</b> plugin.h:323</div></div> <div class="ttc" id="structToolsAppProvider_html"><div class="ttname"><a href="structToolsAppProvider.html">ToolsAppProvider</a></div><div class="ttdef"><b>Definition:</b> plugin.h:357</div></div> <div class="ttc" id="group__vmtools__plugins_html_ggaa58c4987a21e2bdbb4a7a6e28eb861a6a79ac5216bff892349d250d16e61d5f87"><div class="ttname"><a href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a79ac5216bff892349d250d16e61d5f87">TOOLS_APP_SIGNALS</a></div><div class="ttdef"><b>Definition:</b> plugin.h:332</div></div> <div class="ttc" id="structToolsAppCtx_html_a88fa545c7fdc5415d1638eef49f306d9"><div class="ttname"><a href="structToolsAppCtx.html#a88fa545c7fdc5415d1638eef49f306d9">ToolsAppCtx::serviceObj</a></div><div class="ttdeci">gpointer serviceObj</div><div class="ttdef"><b>Definition:</b> plugin.h:257</div></div> <div class="ttc" id="structToolsAppProvider_html_a1705ec37d9fb3908111a84ce9f118218"><div class="ttname"><a href="structToolsAppProvider.html#a1705ec37d9fb3908111a84ce9f118218">ToolsAppProvider::name</a></div><div class="ttdeci">const gchar * name</div><div class="ttdef"><b>Definition:</b> plugin.h:359</div></div> <div class="ttc" id="structToolsPluginData_html"><div class="ttname"><a href="structToolsPluginData.html">ToolsPluginData</a></div><div class="ttdef"><b>Definition:</b> plugin.h:485</div></div> <div class="ttc" id="group__vmtools__plugins_html_ga3b0586c4a96a54d59e9b04e8fb780b9b"><div class="ttname"><a href="group__vmtools__plugins.html#ga3b0586c4a96a54d59e9b04e8fb780b9b">ToolsAppCapability</a></div><div class="ttdeci">struct ToolsAppCapability ToolsAppCapability</div></div> <div class="ttc" id="structToolsAppProvider_html_a381b8ad6428b321aa321e9eb74609f8e"><div class="ttname"><a href="structToolsAppProvider.html#a381b8ad6428b321aa321e9eb74609f8e">ToolsAppProvider::activate</a></div><div class="ttdeci">void(* activate)(ToolsAppCtx *ctx, struct ToolsAppProvider *prov, GError **err)</div><div class="ttdef"><b>Definition:</b> plugin.h:378</div></div> <div class="ttc" id="group__vmtools__plugins_html_ggaa58c4987a21e2bdbb4a7a6e28eb861a6a8121f83d027f9b28f7b8a0e4dab46b36"><div class="ttname"><a href="group__vmtools__plugins.html#ggaa58c4987a21e2bdbb4a7a6e28eb861a6a8121f83d027f9b28f7b8a0e4dab46b36">TOOLS_APP_PROVIDER</a></div><div class="ttdef"><b>Definition:</b> plugin.h:338</div></div> <div class="ttc" id="structToolsAppCtx_html"><div class="ttname"><a href="structToolsAppCtx.html">ToolsAppCtx</a></div><div class="ttdef"><b>Definition:</b> plugin.h:227</div></div> <div class="ttc" id="structToolsAppCtx_html_a0082045239de9cc2e84ee7e2f164cdfd"><div class="ttname"><a href="structToolsAppCtx.html#a0082045239de9cc2e84ee7e2f164cdfd">ToolsAppCtx::version</a></div><div class="ttdeci">ToolsCoreAPI version</div><div class="ttdef"><b>Definition:</b> plugin.h:229</div></div> <div class="ttc" id="structToolsAppCapability_html_a72c834e7de5d7f935e1d52b55401a101"><div class="ttname"><a href="structToolsAppCapability.html#a72c834e7de5d7f935e1d52b55401a101">ToolsAppCapability::name</a></div><div class="ttdeci">const gchar * name</div><div class="ttdef"><b>Definition:</b> plugin.h:309</div></div> <div class="ttc" id="structToolsAppCtx_html_a6fae77a7be605364592f99bac41ea900"><div class="ttname"><a href="structToolsAppCtx.html#a6fae77a7be605364592f99bac41ea900">ToolsAppCtx::envp</a></div><div class="ttdeci">const char ** envp</div><div class="ttdef"><b>Definition:</b> plugin.h:249</div></div> <div class="ttc" id="structToolsAppProvider_html_a0cebdc906fad2d376b18b145ab6c8404"><div class="ttname"><a href="structToolsAppProvider.html#a0cebdc906fad2d376b18b145ab6c8404">ToolsAppProvider::shutdown</a></div><div class="ttdeci">void(* shutdown)(ToolsAppCtx *ctx, struct ToolsAppProvider *prov)</div><div class="ttdef"><b>Definition:</b> plugin.h:404</div></div> <div class="ttc" id="group__vmtools__plugins_html_gab74b3a7ffdbb9972f4a104098529ef64"><div class="ttname"><a href="group__vmtools__plugins.html#gab74b3a7ffdbb9972f4a104098529ef64">ToolsCoreAPI</a></div><div class="ttdeci">ToolsCoreAPI</div><div class="ttdef"><b>Definition:</b> plugin.h:218</div></div> <div class="ttc" id="structToolsPluginData_html_a5b4dd922a4e2573a4ee6ffb178b99b08"><div class="ttname"><a href="structToolsPluginData.html#a5b4dd922a4e2573a4ee6ffb178b99b08">ToolsPluginData::name</a></div><div class="ttdeci">char const * name</div><div class="ttdef"><b>Definition:</b> plugin.h:487</div></div> <div class="ttc" id="structToolsAppProvider_html_a1e63899d8e10f1da3c41b9da81d32edc"><div class="ttname"><a href="structToolsAppProvider.html#a1e63899d8e10f1da3c41b9da81d32edc">ToolsAppProvider::regSize</a></div><div class="ttdeci">size_t regSize</div><div class="ttdef"><b>Definition:</b> plugin.h:368</div></div> <div class="ttc" id="group__vmtools__plugins_html_ga02edbb6ec4827f7e99c135ee6c35a2db"><div class="ttname"><a href="group__vmtools__plugins.html#ga02edbb6ec4827f7e99c135ee6c35a2db">ToolsAppReg</a></div><div class="ttdeci">struct ToolsAppReg ToolsAppReg</div></div> <div class="ttc" id="group__vmtools__plugins_html_ga32273e47ea284b17f3eb339f6fed59f2"><div class="ttname"><a href="group__vmtools__plugins.html#ga32273e47ea284b17f3eb339f6fed59f2">ToolsServiceProperty</a></div><div class="ttdeci">struct ToolsServiceProperty ToolsServiceProperty</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Wed Nov 13 2013 17:04:40 for open-vm-tools 9.4.0 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>