19 #ifndef _VMWARE_TOOLS_GUESTRPC_H_
20 #define _VMWARE_TOOLS_GUESTRPC_H_
45 #define RPCIN_SETRETVALS RpcChannel_SetRetVals
46 #define RPCIN_SETRETVALSF RpcChannel_SetRetValsF
112 typedef gboolean (*RpcChannelStartFn)(
struct RpcChannel *);
113 typedef void (*RpcChannelStopFn)(
struct RpcChannel *);
114 typedef void (*RpcChannelShutdownFn)(
struct RpcChannel *);
115 typedef gboolean (*RpcChannelSendFn)(
struct RpcChannel *,
120 typedef void (*RpcChannelSetupFn)(
struct RpcChannel *chan,
121 GMainContext *mainCtx,
140 RpcChannelStartFn start;
141 RpcChannelStopFn stop;
142 RpcChannelSendFn send;
143 RpcChannelSetupFn setup;
144 RpcChannelShutdownFn shutdown;
157 G_INLINE_FUNC gboolean
160 g_return_val_if_fail(chan != NULL, FALSE);
161 g_return_val_if_fail(chan->start != NULL, FALSE);
163 return chan->start(chan);
176 g_return_if_fail(chan != NULL);
177 g_return_if_fail(chan->stop != NULL);
195 G_INLINE_FUNC gboolean
202 g_return_val_if_fail(chan != NULL, FALSE);
203 g_return_val_if_fail(chan->send != NULL, FALSE);
205 return chan->send(chan, data, dataLen, result, resultLen);
209 RpcChannel_BuildXdrCommand(
const char *cmd,
216 RpcChannel_Create(
void);
226 const gchar *appName,
227 GMainContext *mainCtx,
247 RpcChannel_UnregisterCallback(
RpcChannel *chan,
252 BackdoorChannel_New(
void);