plugin.h File Reference
`#include <glib.h>`
`#include "vmware/guestrpc/capabilities.h"`
`#include "vmware/tools/guestrpc.h"`
`#include "vmware/tools/utils.h"`

Go to the source code of this file.

## Data Structures

struct | ToolsAppCtx
struct | ToolsAppCapability
struct | ToolsAppProvider
struct | ToolsAppReg
struct | ToolsServiceProperty
struct | ToolsPluginSignalCb
struct | ToolsPluginData

## Macros

#define | VMTOOLSAPP_ERROR(ctx, err)
#define | VMTOOLSAPP_ATTACH_SOURCE(ctx, src, cb, data, destroy)
#define | TOOLS_IS_MAIN_SERVICE(ctx)
#define | TOOLS_IS_USER_SERVICE(ctx)
#define | TOOLS_STATE_LOG_ROOT 0
#define | TOOLS_STATE_LOG_CONTAINER 1
#define | TOOLS_STATE_LOG_PLUGIN 2
#define | TOOLS_CORE_SIG_CAPABILITIES "tcs_capabilities"
#define | TOOLS_CORE_SIG_CONF_RELOAD "tcs_conf_reload"
#define | TOOLS_CORE_SIG_DUMP_STATE "tcs_dump_state"
#define | TOOLS_CORE_SIG_RESET "tcs_reset"
#define | TOOLS_CORE_SIG_NO_RPC "tcs_no_rpc"
#define | TOOLS_CORE_SIG_SET_OPTION "tcs_set_option"
#define | TOOLS_CORE_SIG_PRE_SHUTDOWN "tcs_pre_shutdown"
#define | TOOLS_CORE_SIG_SHUTDOWN "tcs_shutdown"
#define | TOOLS_CORE_PROP_CTX "tcs_app_ctx"
| Property where the container's ToolsAppCtx is stored.
#define | TOOLS_CORE_EVENTS_TOOLS_NEW_VERSION "VMToolsNewVersion"
#define | TOOLS_CORE_EVENTS_TOOLS_NEED_REBOOT "VMToolsNeedReboot"
#define | TOOLS_CORE_EVENTS_GLOBAL_SCOPE "Global"
#define | TOOLS_MODULE_EXPORT VMTOOLS_EXTERN_C

## Typedefs

typedef void(* | RegisterServiceProperty) (gpointer obj, struct ToolsServiceProperty *prop)
typedef struct ToolsAppCtx | ToolsAppCtx
typedef struct ToolsAppCapability | ToolsAppCapability
typedef struct ToolsAppProvider | ToolsAppProvider
typedef struct ToolsAppReg | ToolsAppReg
typedef struct ToolsServiceProperty | ToolsServiceProperty
typedef struct ToolsPluginSignalCb | ToolsPluginSignalCb
typedef struct ToolsPluginData | ToolsPluginData
typedef ToolsPluginData *(* | ToolsPluginOnLoad) (ToolsAppCtx *ctx)

## Enumerations

enum | ToolsCoreAPI { TOOLS_CORE_API_V1 = 0x1 }
enum | ToolsCapabilityType { TOOLS_CAP_OLD = 0 , TOOLS_CAP_OLD_NOVAL = 1 , TOOLS_CAP_NEW = 2 }
enum | ToolsAppType { TOOLS_APP_GUESTRPC = 1 , TOOLS_APP_SIGNALS = 2 , TOOLS_APP_PROVIDER = 3 , TOOLS_SVC_PROPERTY = 4 }

## Detailed Description

Defines the interface between the core tools services and the plugins that are dynamically loaded into the service.