--- libaitrpc/src/aitrpc.c 2012/05/15 22:47:10 1.5.6.4 +++ libaitrpc/src/aitrpc.c 2012/11/13 09:21:27 1.6.4.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitrpc.c,v 1.5.6.4 2012/05/15 22:47:10 misho Exp $ +* $Id: aitrpc.c,v 1.6.4.1 2012/11/13 09:21:27 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -51,6 +51,25 @@ 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 @@ -120,30 +139,6 @@ rpc_addPktSession(rpc_sess_t *p, rpc_sess_t *s) p->sess_version = s->sess_version; p->sess_program = htonl(s->sess_program); p->sess_process = s->sess_process; - - return 0; -} - -/* - * rpc_register_srvServices() - Register internal service functions - * - * @srv = RPC server instance - * return: -1 error or 0 ok - */ -int -rpc_register_srvServices(rpc_srv_t * __restrict srv) -{ - if (!srv) - return -1; - - rpc_srv_registerCall(srv, crcFletcher16((u_short*) CALL_SRVSHUTDOWN, - strlen(CALL_SRVSHUTDOWN) / 2), CALL_SRVSHUTDOWN, 0); - rpc_srv_registerCall(srv, crcFletcher16((u_short*) CALL_SRVCLIENTS, - strlen(CALL_SRVCLIENTS) / 2), CALL_SRVCLIENTS, 1); - rpc_srv_registerCall(srv, crcFletcher16((u_short*) CALL_SRVSESSIONS, - strlen(CALL_SRVSESSIONS) / 2), CALL_SRVSESSIONS, 4); - rpc_srv_registerCall(srv, crcFletcher16((u_short*) CALL_SRVCALLS, - strlen(CALL_SRVCALLS) / 2), CALL_SRVCALLS, 1); return 0; }