|
|
| version 1.5.2.7, 2012/03/14 15:08:03 | version 1.8, 2012/05/14 08:39:05 |
|---|---|
| Line 140 typedef struct tagRPCFunc { | Line 140 typedef struct tagRPCFunc { |
| struct tagRPCCall { | struct tagRPCCall { |
| rpc_sess_t call_session; | rpc_sess_t call_session; |
| uint16_t call_len; | |
| uint16_t call_tag; | uint16_t call_tag; |
| uint32_t call_hash; | uint32_t call_hash; |
| uint16_t call_argc; | uint16_t call_argc; |
| Line 166 struct tagBLOBHdr { | Line 168 struct tagBLOBHdr { |
| uint32_t hdr_len; | uint32_t hdr_len; |
| uint32_t hdr_ret; | uint32_t hdr_ret; |
| uint16_t hdr_crc; | uint16_t hdr_crc; |
| uint8_t hdr_pad; | |
| } __packed; | } __packed; |
| /* Network RPC client & server elements */ | /* Network RPC client & server elements */ |
| Line 175 typedef struct { | Line 178 typedef struct { |
| int cli_sock; // socket fd | int cli_sock; // socket fd |
| pthread_t cli_tid; // TID of thread | pthread_t cli_tid; // TID of thread |
| cmd_type_t cli_kill; | |
| void *cli_parent; // pointer to parent rpc_srv_t for server or to rpc_sess_t for client | void *cli_parent; // pointer to parent rpc_srv_t for server or to rpc_sess_t for client |
| int cli_netbuf; // size of network buffer size | int cli_netbuf; // size of network buffer size |
| } rpc_cli_t; | } rpc_cli_t; |
| Line 200 typedef struct { | Line 205 typedef struct { |
| rpc_func_t *srv_funcs; // registered functions list | rpc_func_t *srv_funcs; // registered functions list |
| pthread_mutex_t srv_mtx; | |
| cmd_type_t srv_kill; | cmd_type_t srv_kill; |
| struct { | struct { |
| Line 211 typedef struct { | Line 215 typedef struct { |
| rpc_cli_t *clients; // connected blob client sockets | rpc_cli_t *clients; // connected blob client sockets |
| rpc_blob_t *blobs; // registered blob variables list | rpc_blob_t *blobs; // registered blob variables list |
| pthread_mutex_t mtx; | |
| } srv_blob; | } srv_blob; |
| } rpc_srv_t; | } rpc_srv_t; |
| Line 540 void rpc_cli_closeClient(rpc_cli_t * __restrict cli); | Line 542 void rpc_cli_closeClient(rpc_cli_t * __restrict cli); |
| * rpc_cli_execCall() - Execute RPC call | * rpc_cli_execCall() - Execute RPC call |
| * | * |
| * @cli = RPC Client session | * @cli = RPC Client session |
| * @noreply = We not want RPC reply | |
| * @csModule = Module name, if NULL self binary | * @csModule = Module name, if NULL self binary |
| * @csFunc = Function name for execute | * @csFunc = Function name for execute |
| * @in_vars = IN RPC call array of rpc values | * @in_vars = IN RPC call array of rpc values |
| * @out_vars = OUT returned array of rpc values, must be free after use with rpc_cli_freeVals() | * @out_vars = OUT returned array of rpc values, must be free after use with rpc_cli_freeVals() |
| * return: -1 error or != -1 ok result | * return: -1 error or != -1 ok result |
| */ | */ |
| int rpc_cli_execCall(rpc_cli_t *cli, const char *csModule, const char *csFunc, | int rpc_cli_execCall(rpc_cli_t *cli, int noreply, const char *csModule, const char *csFunc, |
| array_t * __restrict in_vars, array_t ** __restrict out_vars); | array_t * __restrict in_vars, array_t ** __restrict out_vars); |