--- libaitrpc/src/aitrpc.c 2015/06/28 21:40:45 1.18.2.1 +++ libaitrpc/src/aitrpc.c 2015/07/02 21:52:29 1.18.2.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitrpc.c,v 1.18.2.1 2015/06/28 21:40:45 misho Exp $ +* $Id: aitrpc.c,v 1.18.2.3 2015/07/02 21:52:29 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -51,25 +51,6 @@ SUCH DAMAGE. int rpc_Errno; char rpc_Error[STRSIZ]; -inline int -rpc_funcs_cmp(struct tagRPCFunc *a, struct tagRPCFunc *b) -{ - int ret; - - assert(a && b); - - ret = AIT_KEY(&a->func_name) - AIT_KEY(&b->func_name); - - if (ret < 0) - return -1; - else if (ret > 0) - return 1; - - return ret; -} - -AVL_GENERATE(tagRPCFuncs, tagRPCFunc, func_node, rpc_funcs_cmp); - #pragma GCC visibility pop // rpc_GetErrno() Get error code of last operation @@ -377,4 +358,16 @@ rpc_Write(int sock, int type, int flags, sockaddr_t * } return ret; +} + +/* + * rpc_pktFreeSpace() - Get free space for payload into RPC packet + * + * @c = RPC client + * return: remains free bytes from packet + */ +size_t +rpc_pktFreeSpace(rpc_cli_t * __restrict c) +{ + return (sizeof(struct tagRPCCall) + ait_resideVars(RPC_RETVARS(c))); }