24 #define SIF_RPC_M_NOWAIT 0x01
26 #define SIF_RPC_M_NOWBDC 0x02
32 typedef void * (*SifRpcFunc_t)(
int fno,
void *
buffer,
int length);
39 typedef struct t_SifRpcPktHeader {
40 struct t_SifCmdHeader sifcmd;
46 typedef struct t_SifRpcRendPkt
48 struct t_SifCmdHeader sifcmd;
60 typedef struct t_SifRpcOtherDataPkt
62 struct t_SifCmdHeader sifcmd;
73 typedef struct t_SifRpcBindPkt
75 struct t_SifCmdHeader sifcmd;
83 typedef struct t_SifRpcCallPkt
85 struct t_SifCmdHeader sifcmd;
98 typedef struct t_SifRpcServerData
119 struct t_SifRpcServerData *
link;
120 struct t_SifRpcServerData *
next;
121 struct t_SifRpcDataQueue *
base;
125 typedef struct t_SifRpcHeader
134 typedef struct t_SifRpcClientData
136 struct t_SifRpcHeader hdr;
142 struct t_SifRpcServerData *server;
145 typedef struct t_SifRpcReceiveData
147 struct t_SifRpcHeader hdr;
153 typedef struct t_SifRpcDataQueue
157 struct t_SifRpcServerData *
link,
160 struct t_SifRpcDataQueue *
next;
173 void *
send,
int ssize,
void *receive,
int rsize,
void SifInitRpc(int mode)
SifRpcServerData_t * SifRegisterRpc(SifRpcServerData_t *srv, int sid, SifRpcFunc_t func, void *buff, SifRpcFunc_t cfunc, void *cbuff, SifRpcDataQueue_t *qd)
SifRpcDataQueue_t * SifSetRpcQueue(SifRpcDataQueue_t *q, int thread_id)
int SifCheckStatRpc(SifRpcClientData_t *cd)
SifRpcServerData_t * SifRemoveRpc(SifRpcServerData_t *sd, SifRpcDataQueue_t *queue)
void SifExecRequest(SifRpcServerData_t *srv)
void SifRpcLoop(SifRpcDataQueue_t *q)
SifRpcServerData_t * SifGetNextRequest(SifRpcDataQueue_t *qd)
int SifRpcGetOtherData(SifRpcReceiveData_t *rd, void *src, void *dest, int size, int mode)
SifRpcDataQueue_t * SifRemoveRpcQueue(SifRpcDataQueue_t *qd)
int SifBindRpc(SifRpcClientData_t *client, int rpc_number, int mode)
void(* SifRpcEndFunc_t)(void *end_param)
void *(* SifRpcFunc_t)(int fno, void *buffer, int length)
int SifCallRpc(SifRpcClientData_t *client, int rpc_number, int mode, void *send, int ssize, void *receive, int rsize, SifRpcEndFunc_t end_function, void *end_param)
static SifRpcDataQueue_t qd
struct t_SifRpcClientData * client
struct t_SifRpcClientData * client
struct t_SifRpcServerData * server
SifRpcEndFunc_t end_function
struct t_SifRpcServerData * end
struct t_SifRpcServerData * start
struct t_SifRpcDataQueue * next
struct t_SifRpcServerData * link
struct t_SifRpcReceiveData * receive
struct t_SifRpcServerData * server
struct t_SifRpcClientData * client
struct t_SifRpcServerData * link
struct t_SifRpcServerData * next
struct t_SifRpcDataQueue * base
struct t_SifRpcClientData * client