--- libaitrpc/inc/aitrpc.h 2012/05/17 09:32:51 1.8.2.18 +++ libaitrpc/inc/aitrpc.h 2012/05/17 15:21:08 1.8.2.21 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitrpc.h,v 1.8.2.18 2012/05/17 09:32:51 misho Exp $ +* $Id: aitrpc.h,v 1.8.2.21 2012/05/17 15:21:08 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -233,7 +233,7 @@ typedef struct { typedef int (*rpc_callback_t)(rpc_func_t *, struct tagRPCCall *, array_t *); -// ----------------------------------------------------------------------- +/* ----------------------------------------------------------------------- */ /* Error support functions */ @@ -290,7 +290,7 @@ int rpc_register_blobServices(rpc_srv_t * __restrict s * @regProgID = ProgramID for authentication & recognition * @regProcID = ProcessID for authentication & recognition * @concurentClients = Concurent clients at same time to this server - * @netBuf = Network buffer length, if =0 == BUFSIZ (also meaning max RPC packet) + * @netBuf = Network buffer length (min:512 bytes), if =0 == BUFSIZ (also meaning max RPC packet) * @csHost = Host name or address for bind server, if NULL any address * @Port = Port for bind server, if Port == 0 default port is selected * return: NULL == error or !=NULL bind and created RPC server instance @@ -330,7 +330,7 @@ int rpc_srv_loopServer(rpc_srv_t * __restrict srv); * @diskDir = Disk place for BLOB file objects * return: -1 == error or 0 bind and created BLOB server instance */ -int rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_short Port, const char *diskDir); +int rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, unsigned short Port, const char *diskDir); /* * rpc_srv_endBLOBServer() - Destroy BLOB server, close all opened sockets and free resources * @@ -514,7 +514,7 @@ inline int rpc_cli_getBLOB(rpc_cli_t * __restrict cli, * * @ProgID = ProgramID for RPC session request * @ProcID = ProcessID for RPC session request - * @netBuf = Network buffer length, if =0 == BUFSIZ (also meaning max RPC packet) + * @netBuf = Network buffer length (min:512 bytes), if =0 == BUFSIZ (also meaning max RPC packet) * @csHost = Host name or IP address for bind server * @Port = Port for bind server, if Port == 0 default port is selected * return: NULL == error or !=NULL connection to RPC server established @@ -534,12 +534,19 @@ void rpc_cli_closeClient(rpc_cli_t ** __restrict cli); * @cli = RPC Client session * @noreply = We not want RPC reply * @tag = Function tag for execution - * @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() + * @in_vars = IN RPC call array of rpc values, may be NULL + * @out_vars = OUT returned array of rpc values, if !=NULL must be free after use with io_freeVars() * return: -1 error or != -1 ok result */ -int rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short tag, +int rpc_cli_execCall(rpc_cli_t *cli, int noreply, unsigned short tag, array_t * __restrict in_vars, array_t ** __restrict out_vars); +/* + * rpc_cli_ping() - Ping RPC server + * + * @cli = connected client + * return: -1 error or !=-1 ping seq id + */ +inline int rpc_cli_ping(rpc_cli_t *cli); /* @@ -549,7 +556,7 @@ int rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_sh * @Port = Port for bind server, if Port == 0 default port is selected * return: NULL == error or !=NULL connection to BLOB server established */ -rpc_cli_t *rpc_cli_openBLOBClient(rpc_cli_t * __restrict rpccli, u_short Port); +rpc_cli_t *rpc_cli_openBLOBClient(rpc_cli_t * __restrict rpccli, unsigned short Port); /* * rpc_cli_closeBLOBClient() - Close connection to BLOB server and free resources *