Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 83ed8492cae4cb6bfb06db21e0f5f467 > files > 81

open-vm-tools-devel-9.4.0-1.mga4.x86_64.rpm

<!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&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;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&#160;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>&#160;<span class="comment">/*********************************************************</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<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>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> * License for more details.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *********************************************************/</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef _VMWARE_TOOLS_PLUGIN_H_</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<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>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;glib.h&gt;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#if defined(G_PLATFORM_WIN32)</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#  include &lt;windows.h&gt;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#  include &lt;objbase.h&gt;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;vmware/guestrpc/capabilities.h&quot;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="guestrpc_8h.html">vmware/tools/guestrpc.h</a>&quot;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="utils_8h.html">vmware/tools/utils.h</a>&quot;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#gae845433f58220cfe3f0e56a51a410c0e">   49</a></span>&#160;<span class="preprocessor">#define VMTOOLSAPP_ERROR(ctx, err) do {   \</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">   ASSERT((err) != 0);                    \</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">   (ctx)-&gt;errorCode = (err);              \</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">   g_main_loop_quit((ctx)-&gt;mainLoop);     \</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">} while (0)</span></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#gac1786fe2219c3028d8f518c3eba82c99">   65</a></span>&#160;<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>&#160;<span class="preprocessor">   GSource *__src = (src);                                              \</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<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>&#160;<span class="preprocessor">   g_source_attach(__src, g_main_loop_get_context((ctx)-&gt;mainLoop));    \</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">} while (0)</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<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>&#160;<span class="preprocessor">#define TOOLS_STATE_LOG_ROOT        0</span></div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<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>&#160;<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>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<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>&#160;ToolsCore_LogState(guint level,</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                   <span class="keyword">const</span> <span class="keywordtype">char</span> *fmt,</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                   ...)</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;{</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;   gchar *indented = g_strdup_printf(<span class="stringliteral">&quot;%*s%s&quot;</span>, 3 * level, <span class="stringliteral">&quot;&quot;</span>, fmt);</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;   va_list args;</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;   va_start(args, fmt);</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;   g_logv(<span class="stringliteral">&quot;state&quot;</span>, G_LOG_LEVEL_INFO, indented, args);</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;   va_end(args);</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;   g_free(indented);</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;}</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#gafceeec827816178fbc61e805cbe5c792">  113</a></span>&#160;<span class="preprocessor">#define TOOLS_CORE_SIG_CAPABILITIES &quot;tcs_capabilities&quot;</span></div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<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>&#160;<span class="preprocessor">#define TOOLS_CORE_SIG_CONF_RELOAD &quot;tcs_conf_reload&quot;</span></div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<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>&#160;<span class="preprocessor">#define TOOLS_CORE_SIG_DUMP_STATE  &quot;tcs_dump_state&quot;</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<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>&#160;<span class="preprocessor">#define TOOLS_CORE_SIG_RESET  &quot;tcs_reset&quot;</span></div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<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>&#160;<span class="preprocessor">#define TOOLS_CORE_SIG_SET_OPTION &quot;tcs_set_option&quot;</span></div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<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>&#160;<span class="preprocessor">#define TOOLS_CORE_SIG_SHUTDOWN &quot;tcs_shutdown&quot;</span></div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor">#if defined(G_PLATFORM_WIN32)</span></div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">#define TOOLS_CORE_SIG_SERVICE_CONTROL  &quot;tcs_service_control&quot;</span></div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<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>&#160;<span class="preprocessor">#define TOOLS_CORE_PROP_CTX &quot;tcs_app_ctx&quot;</span></div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div>
<div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#gab74b3a7ffdbb9972f4a104098529ef64">  218</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;   TOOLS_CORE_API_V1    = 0x1,</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;} <a class="code" href="group__vmtools__plugins.html#gab74b3a7ffdbb9972f4a104098529ef64">ToolsCoreAPI</a>;</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="structToolsAppCtx.html">  227</a></span>&#160;<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>&#160;   <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>&#160;   <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>&#160;   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>&#160;   <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>&#160;   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>&#160;   <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>&#160;   GKeyFile         *<a class="code" href="structToolsAppCtx.html#a1379fe1c7072e2408a785ded63510489">config</a>;</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="preprocessor">#if defined(G_PLATFORM_WIN32)</span></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;   gboolean          comInitialized;</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<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>&#160;   <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>&#160;   <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>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<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>&#160;   gpointer          <a class="code" href="structToolsAppCtx.html#a88fa545c7fdc5415d1638eef49f306d9">serviceObj</a>;</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;} <a class="code" href="group__vmtools__plugins.html#ga108509025e9fa7048548fb2941b8c958">ToolsAppCtx</a>;</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">#if defined(G_PLATFORM_WIN32)</span></div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;G_INLINE_FUNC gboolean</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;ToolsCore_InitializeCOM(<a class="code" href="structToolsAppCtx.html">ToolsAppCtx</a> *ctx)</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;{</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;   <span class="keywordflow">if</span> (!ctx-&gt;comInitialized) {</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;      HRESULT ret = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;      ctx-&gt;comInitialized = SUCCEEDED(ret);</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;      <span class="keywordflow">if</span> (!ctx-&gt;comInitialized) {</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;         g_log(ctx-&gt;<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>&#160;               <span class="stringliteral">&quot;COM initialization failed(0x%x)\n&quot;</span>, ret);</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;      }</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;   }</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;   <span class="keywordflow">return</span> ctx-&gt;comInitialized;</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;}</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="comment">/* Capabilities. */</span></div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div>
<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#ga30463f9d97822958018ae83e28321fa9">  287</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;   TOOLS_CAP_OLD        = 0,</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;   TOOLS_CAP_OLD_NOVAL  = 1,</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;   TOOLS_CAP_NEW        = 2</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;} <a class="code" href="group__vmtools__plugins.html#ga30463f9d97822958018ae83e28321fa9">ToolsCapabilityType</a>;</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div>
<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="structToolsAppCapability.html">  302</a></span>&#160;<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>&#160;   <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>&#160;   <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>&#160;   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>&#160;   guint                <a class="code" href="structToolsAppCapability.html#ab4fd65d76cc4031696deb6b0e281021f">value</a>;</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;} <a class="code" href="group__vmtools__plugins.html#ga3b0586c4a96a54d59e9b04e8fb780b9b">ToolsAppCapability</a>;</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="comment">/* Application registration. */</span></div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div>
<div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="group__vmtools__plugins.html#gaa58c4987a21e2bdbb4a7a6e28eb861a6">  323</a></span>&#160;<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>&#160;   <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>&#160;   <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>&#160;   <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>&#160;   <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>&#160;} <a class="code" href="group__vmtools__plugins.html#gaa58c4987a21e2bdbb4a7a6e28eb861a6">ToolsAppType</a>;</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<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>&#160;</div>
<div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="structToolsAppProvider.html">  357</a></span>&#160;<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>&#160;   <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>&#160;   <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>&#160;   <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>&#160;   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>&#160;   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>&#160;                           <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>&#160;                           <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>&#160;                           gpointer reg);</div>
<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="structToolsAppProvider.html#a0cebdc906fad2d376b18b145ab6c8404">  404</a></span>&#160;   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>&#160;   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>&#160;} <a class="code" href="group__vmtools__plugins.html#gae0ddd0c7a61f379cc309195a1f8412d4">ToolsAppProvider</a>;</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;</div>
<div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="structToolsAppReg.html">  431</a></span>&#160;<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>&#160;   <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>&#160;   GArray        *data;</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;} <a class="code" href="group__vmtools__plugins.html#ga02edbb6ec4827f7e99c135ee6c35a2db">ToolsAppReg</a>;</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div>
<div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="structToolsServiceProperty.html">  450</a></span>&#160;<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>&#160;   <span class="keyword">const</span> <span class="keywordtype">char</span>    *name;</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;} <a class="code" href="group__vmtools__plugins.html#ga32273e47ea284b17f3eb339f6fed59f2">ToolsServiceProperty</a>;</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;</div>
<div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="structToolsPluginSignalCb.html">  464</a></span>&#160;<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>&#160;   <span class="keyword">const</span> gchar   *signame;</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;   gpointer       callback;</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;   gpointer       clientData;</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;} <a class="code" href="group__vmtools__plugins.html#gaa2d497ae35db96e9eda525bafa944164">ToolsPluginSignalCb</a>;</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;</div>
<div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="structToolsPluginData.html">  485</a></span>&#160;<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>&#160;   <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>&#160;   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>&#160;   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>&#160;                       <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>&#160;                       gpointer data,</div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;                       <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>&#160;   gpointer                   <a class="code" href="structToolsPluginData.html#af37b971c4234260d72350af9a661a92c">_private</a>;</div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;} <a class="code" href="group__vmtools__plugins.html#ga7fbc5099bc98a3805742971afeff16ad">ToolsPluginData</a>;</div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;</div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<span class="preprocessor">#if defined(G_PLATFORM_WIN32)</span></div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<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>&#160;<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>&#160;<span class="preprocessor"></span><span class="preprocessor">#  define TOOLS_MODULE_EXPORT    VMTOOLS_EXTERN_C __attribute__((visibility(&quot;default&quot;)))</span></div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;<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>&#160;<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>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;<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>&#160;<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>&#160;</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;<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>&#160;<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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>