19 #ifndef _VMWARE_TOOLS_GUESTRPC_H_
20 #define _VMWARE_TOOLS_GUESTRPC_H_
57 #define RPCIN_SETRETVALS RpcChannel_SetRetVals
58 #define RPCIN_SETRETVALSF RpcChannel_SetRetValsF
62 #define RPCCHANNEL_SEND_PERMISSION_DENIED "Permission denied"
64 typedef struct _RpcChannel RpcChannel;
95 typedef enum RpcChannelType {
96 RPCCHANNEL_TYPE_INACTIVE,
97 RPCCHANNEL_TYPE_BKDOOR,
98 RPCCHANNEL_TYPE_PRIV_VSOCK,
99 RPCCHANNEL_TYPE_UNPRIV_VSOCK
154 RpcChannel_Start(RpcChannel *chan);
157 RpcChannel_Stop(RpcChannel *chan);
160 RpcChannel_GetType(RpcChannel *chan);
163 RpcChannel_Send(RpcChannel *chan,
170 RpcChannel_Free(
void *ptr);
172 #if !defined(USE_RPCI_ONLY)
174 RpcChannel_BuildXdrCommand(
const char *cmd,
183 RpcChannel_Setup(RpcChannel *chan,
184 const gchar *appName,
185 GMainContext *mainCtx,
193 RpcChannel_RegisterCallback(RpcChannel *chan,
197 RpcChannel_UnregisterCallback(RpcChannel *chan,
202 RpcChannel_Create(
void);
205 RpcChannel_Destroy(RpcChannel *chan);
218 RpcChannel_SendOneRaw(
const char *data,
223 #if defined(__linux__) || defined(_WIN32)
225 RpcChannel_SendOneRawPriv(
const char *data,
232 RpcChannel_SendOne(
char **reply,
237 #if defined(__linux__) || defined(_WIN32)
239 RpcChannel_SendOnePriv(
char **reply,
246 RpcChannel_New(
void);
248 #if defined(__linux__) || defined(_WIN32)
250 VSockChannel_New(
int flags);
254 RpcChannel_SetBackdoorOnly(
void);
257 BackdoorChannel_New(
void);
Definition: guestrpc.h:110
size_t xdrInSize
Definition: guestrpc.h:130
gpointer clientData
Definition: guestrpc.h:116
gpointer xdrIn
Definition: guestrpc.h:118
const char * name
Definition: guestrpc.h:112
gpointer xdrOut
Definition: guestrpc.h:125
RpcIn_Callback callback
Definition: guestrpc.h:114
Definition: guestrpc.h:67
const char * name
Definition: guestrpc.h:69
gboolean freeResult
Definition: guestrpc.h:88
char * result
Definition: guestrpc.h:81
size_t argsSize
Definition: guestrpc.h:76
const char * args
Definition: guestrpc.h:74
void * appCtx
Definition: guestrpc.h:90
void * clientData
Definition: guestrpc.h:92
size_t resultLen
Definition: guestrpc.h:83