19#ifndef _VMWARE_TOOLS_GUESTRPC_H_
20#define _VMWARE_TOOLS_GUESTRPC_H_
45#define RPCIN_SETRETVALS RpcChannel_SetRetVals
46#define RPCIN_SETRETVALSF RpcChannel_SetRetValsF
50#define RPCCHANNEL_SEND_PERMISSION_DENIED "Permission denied"
52typedef struct _RpcChannel RpcChannel;
83typedef enum RpcChannelType {
84 RPCCHANNEL_TYPE_INACTIVE,
85 RPCCHANNEL_TYPE_BKDOOR,
86 RPCCHANNEL_TYPE_PRIV_VSOCK,
87 RPCCHANNEL_TYPE_UNPRIV_VSOCK
142RpcChannel_Start(RpcChannel *chan);
145RpcChannel_Stop(RpcChannel *chan);
148RpcChannel_GetType(RpcChannel *chan);
151RpcChannel_Send(RpcChannel *chan,
158RpcChannel_Free(
void *ptr);
160#if !defined(USE_RPCI_ONLY)
162RpcChannel_BuildXdrCommand(
const char *cmd,
171RpcChannel_Setup(RpcChannel *chan,
172 const gchar *appName,
173 GMainContext *mainCtx,
181RpcChannel_RegisterCallback(RpcChannel *chan,
185RpcChannel_UnregisterCallback(RpcChannel *chan,
190RpcChannel_Create(
void);
193RpcChannel_Destroy(RpcChannel *chan);
206RpcChannel_SendOneRaw(
const char *data,
211#if defined(__linux__) || defined(_WIN32)
213RpcChannel_SendOneRawPriv(
const char *data,
220RpcChannel_SendOne(
char **reply,
225#if defined(__linux__) || defined(_WIN32)
227RpcChannel_SendOnePriv(
char **reply,
236#if defined(__linux__) || defined(_WIN32)
238VSockChannel_New(
int flags);
242RpcChannel_SetBackdoorOnly(
void);
245BackdoorChannel_New(
void);
Definition: guestrpc.h:98
size_t xdrInSize
Definition: guestrpc.h:118
gpointer clientData
Definition: guestrpc.h:104
gpointer xdrIn
Definition: guestrpc.h:106
const char * name
Definition: guestrpc.h:100
gpointer xdrOut
Definition: guestrpc.h:113
RpcIn_Callback callback
Definition: guestrpc.h:102
Definition: guestrpc.h:55
const char * name
Definition: guestrpc.h:57
gboolean freeResult
Definition: guestrpc.h:76
char * result
Definition: guestrpc.h:69
size_t argsSize
Definition: guestrpc.h:64
const char * args
Definition: guestrpc.h:62
void * appCtx
Definition: guestrpc.h:78
void * clientData
Definition: guestrpc.h:80
size_t resultLen
Definition: guestrpc.h:71