open-vm-tools 9.2.3
Main Page
Modules
Data Structures
Files
File List
Globals
lib
include
vmware
tools
utils.h
Go to the documentation of this file.
1
/*********************************************************
2
* Copyright (C) 2008 VMware, Inc. All rights reserved.
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License as published
6
* by the Free Software Foundation version 2.1 and no later version.
7
*
8
* This program is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
10
* or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
11
* License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program; if not, write to the Free Software Foundation, Inc.,
15
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
16
*
17
*********************************************************/
18
19
#ifndef _VMWARE_TOOLS_UTILS_H_
20
#define _VMWARE_TOOLS_UTILS_H_
21
37
#define VMTOOLS_GUEST_SERVICE "vmsvc"
38
#define VMTOOLS_USER_SERVICE "vmusr"
39
40
#if defined(__cplusplus)
41
# define VMTOOLS_EXTERN_C extern "C"
42
#else
43
# define VMTOOLS_EXTERN_C
44
#endif
45
46
#include <glib.h>
47
#if defined(G_PLATFORM_WIN32)
48
# include <windows.h>
49
#else
50
# include <signal.h>
51
# include <sys/time.h>
52
#endif
53
54
55
/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */
56
#if defined(G_PLATFORM_WIN32)
57
# if defined(G_INLINE_FUNC)
58
# undef G_INLINE_FUNC
59
# endif
60
# define G_INLINE_FUNC static __inline
61
#endif
62
63
76
#if defined(G_PLATFORM_WIN32)
77
# define VMTOOLS_GET_FILENAME_LOCAL(path, err) (gchar *) (path)
78
#else
79
# define VMTOOLS_GET_FILENAME_LOCAL(path, err) g_filename_from_utf8((path), \
80
-1, \
81
NULL, \
82
NULL, \
83
(err))
84
#endif
85
92
#if defined(G_PLATFORM_WIN32)
93
# define VMTOOLS_RELEASE_FILENAME_LOCAL(path) (void) (path)
94
#else
95
# define VMTOOLS_RELEASE_FILENAME_LOCAL(path) g_free(path)
96
#endif
97
99
#define VMTOOLS_WRAP_ARRAY(a) VMTools_WrapArray((a), sizeof *(a), G_N_ELEMENTS(a))
100
101
102
G_BEGIN_DECLS
103
104
void
105
vm_free
(
void
*ptr);
106
107
gboolean
108
VMTools_LoadConfig
(
const
gchar *path,
109
GKeyFileFlags flags,
110
GKeyFile **config,
111
time_t *mtime);
112
113
gboolean
114
VMTools_WriteConfig
(
const
gchar *path,
115
GKeyFile *config,
116
GError **err);
117
118
#if defined(G_PLATFORM_WIN32)
119
120
gboolean
121
VMTools_AttachConsole(
void
);
122
123
GSource *
124
VMTools_NewHandleSource(HANDLE h);
125
126
#else
127
129
typedef
gboolean (*
SignalSourceCb
)(
const
siginfo_t *, gpointer);
130
131
GSource *
132
VMTools_NewSignalSource
(
int
signum);
133
134
#endif
135
136
GSource *
137
VMTools_CreateTimer
(gint timeout);
138
139
GArray *
140
VMTools_WrapArray
(gconstpointer data,
141
guint elemSize,
142
guint count);
143
144
G_END_DECLS
145
148
#endif
/* _VMWARE_TOOLS_UTILS_H_ */
149
Generated by
1.8.3.1