--- libaitrpc/inc/aitrpc.h 2011/09/03 12:39:27 1.3.2.6 +++ libaitrpc/inc/aitrpc.h 2011/09/07 08:56:32 1.4.2.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitrpc.h,v 1.3.2.6 2011/09/03 12:39:27 misho Exp $ +* $Id: aitrpc.h,v 1.4.2.1 2011/09/07 08:56:32 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -59,7 +59,7 @@ SUCH DAMAGE. #include -#define RPC_VERSION 1 +#define RPC_VERSION 2 #define RPC_DEFPORT 2611 @@ -116,8 +116,8 @@ typedef struct { typedef struct tagRPCFunc { uint16_t func_tag; uint32_t func_hash; - int8_t func_file[MAXPATHLEN]; - int8_t func_name[UCHAR_MAX + 1]; + char func_file[MAXPATHLEN]; + char func_name[UCHAR_MAX + 1]; array_t *func_vars; @@ -225,6 +225,22 @@ inline int rpc_GetErrno(); inline const char *rpc_GetError(); +/* + * rpc_chkPktSession() Check session in RPC packet + * @p = packet session + * @s = active session + * return: -1 error or 0 ok + */ +inline int rpc_chkPktSession(rpc_sess_t *p, rpc_sess_t *s); +/* + * rpc_addPktSession() Add session into RPC packet + * @p = packet session + * @s = active session + * return: -1 error or 0 ok + */ +inline int rpc_addPktSession(rpc_sess_t *p, rpc_sess_t *s); + + /* RPC Server side functions */ /* @@ -453,7 +469,7 @@ int rpc_cli_sendBLOB(rpc_cli_t * __restrict cli, ait_v * @data = BLOB data, must be free after use! * return: -1 error, 0 ok, 1 remote error */ -int rpc_cli_recvBLOB(rpc_cli_t * __restrict cli, ait_val_t * __restrict var, void ** data); +int rpc_cli_recvBLOB(rpc_cli_t * __restrict cli, ait_val_t * __restrict var, void ** __restrict data); /* * rpc_cli_delBLOB() Delete BLOB from server * @cli = Client instance @@ -468,7 +484,7 @@ int rpc_cli_delBLOB(rpc_cli_t * __restrict cli, ait_va * @data = BLOB data, must be free after use! * return: -1 error, 0 ok, >0 remote error */ -inline int rpc_cli_getBLOB(rpc_cli_t * __restrict cli, ait_val_t * __restrict var, void ** data); +inline int rpc_cli_getBLOB(rpc_cli_t * __restrict cli, ait_val_t * __restrict var, void ** __restrict data);