00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _VMTOOLS_H_
00020 #define _VMTOOLS_H_
00021
00031 #if !defined(G_LOG_DOMAIN)
00032 # define G_LOG_DOMAIN VMTools_GetDefaultLogDomain()
00033 #endif
00034
00035 #define VMTOOLS_GUEST_SERVICE "vmsvc"
00036 #define VMTOOLS_USER_SERVICE "vmusr"
00037
00038
00039 const char *
00040 VMTools_GetDefaultLogDomain(void);
00041
00042 #include <glib.h>
00043 #if defined(G_PLATFORM_WIN32)
00044 # include <windows.h>
00045 #else
00046 # include <signal.h>
00047 # include <sys/time.h>
00048 #endif
00049
00062 #if defined(G_PLATFORM_WIN32)
00063 # define VMTOOLS_GET_FILENAME_LOCAL(path, err) (gchar *) (path)
00064 #else
00065 # define VMTOOLS_GET_FILENAME_LOCAL(path, err) g_filename_from_utf8((path), \
00066 -1, \
00067 NULL, \
00068 NULL, \
00069 (err))
00070 #endif
00071
00078 #if defined(G_PLATFORM_WIN32)
00079 # define VMTOOLS_RELEASE_FILENAME_LOCAL(path) (void) (path)
00080 #else
00081 # define VMTOOLS_RELEASE_FILENAME_LOCAL(path) g_free(path)
00082 #endif
00083
00084
00085 void
00086 vm_free(void *ptr);
00087
00088 void
00089 VMTools_SetDefaultLogDomain(const gchar *domain);
00090
00091 void
00092 VMTools_ConfigLogging(GKeyFile *cfg);
00093
00094 void
00095 VMTools_EnableLogging(gboolean enable);
00096
00097 gchar *
00098 VMTools_GetToolsConfFile(void);
00099
00100 GKeyFile *
00101 VMTools_LoadConfig(const gchar *path,
00102 GKeyFileFlags flags,
00103 gboolean autoUpgrade);
00104
00105
00106 gboolean
00107 VMTools_ReloadConfig(const gchar *path,
00108 GKeyFileFlags flags,
00109 GKeyFile **config,
00110 time_t *mtime);
00111
00112 void
00113 VMTools_ResetLogging(gboolean cleanDefault);
00114
00115 gboolean
00116 VMTools_WriteConfig(const gchar *path,
00117 GKeyFile *config,
00118 GError **err);
00119
00120 #if defined(G_PLATFORM_WIN32)
00121
00122 GSource *
00123 VMTools_NewHandleSource(HANDLE h);
00124
00125 #else
00126
00128 typedef gboolean (*SignalSourceCb)(const siginfo_t *, gpointer);
00129
00130 GSource *
00131 VMTools_NewSignalSource(int signum);
00132
00133 #endif
00134
00135 GArray *
00136 VMTools_WrapArray(gconstpointer data,
00137 guint elemSize,
00138 guint count);
00139
00142 #endif
00143