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"
64typedef struct _RpcChannel RpcChannel;
95typedef enum RpcChannelType {
96 RPCCHANNEL_TYPE_INACTIVE,
97 RPCCHANNEL_TYPE_BKDOOR,
98 RPCCHANNEL_TYPE_PRIV_VSOCK,
99 RPCCHANNEL_TYPE_UNPRIV_VSOCK
154RpcChannel_Start(RpcChannel *chan);
157RpcChannel_Stop(RpcChannel *chan);
160RpcChannel_GetType(RpcChannel *chan);
163RpcChannel_Send(RpcChannel *chan,
170RpcChannel_Free(
void *ptr);
172#if !defined(USE_RPCI_ONLY)
174RpcChannel_BuildXdrCommand(
const char *cmd,
183RpcChannel_Setup(RpcChannel *chan,
184 const gchar *appName,
185 GMainContext *mainCtx,
193RpcChannel_RegisterCallback(RpcChannel *chan,
197RpcChannel_UnregisterCallback(RpcChannel *chan,
202RpcChannel_Create(
void);
205RpcChannel_Destroy(RpcChannel *chan);
218RpcChannel_SendOneRaw(
const char *data,
223#if defined(__linux__) || defined(_WIN32)
225RpcChannel_SendOneRawPriv(
const char *data,
232RpcChannel_SendOne(
char **reply,
237#if defined(__linux__) || defined(_WIN32)
239RpcChannel_SendOnePriv(
char **reply,
248#if defined(__linux__) || defined(_WIN32)
250VSockChannel_New(
int flags);
254RpcChannel_SetBackdoorOnly(
void);
257BackdoorChannel_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