--- libaitrpc/src/aitrpc.c 2012/05/16 07:24:08 1.5.6.7 +++ libaitrpc/src/aitrpc.c 2012/11/13 09:22:10 1.7 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitrpc.c,v 1.5.6.7 2012/05/16 07:24:08 misho Exp $ +* $Id: aitrpc.c,v 1.7 2012/11/13 09:22:10 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,54 +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; - - if (rpc_srv_registerCall(srv, CALL_SRVSHUTDOWN_ID, CALL_SRVSHUTDOWN, 0) < 1) - return -1; - if (rpc_srv_registerCall(srv, CALL_SRVCLIENTS_ID, CALL_SRVCLIENTS, 1) < 1) - return -1; - if (rpc_srv_registerCall(srv, CALL_SRVSESSIONS_ID, CALL_SRVSESSIONS, 4) < 1) - return -1; - if (rpc_srv_registerCall(srv, CALL_SRVCALLS_ID, CALL_SRVCALLS, 1) < 1) - return -1; - - return 0; -} - -/* - * rpc_register_blobServices() - Register internal service functions - * - * @srv = RPC server instance - * return: -1 error or 0 ok - */ -int -rpc_register_blobServices(rpc_srv_t * __restrict srv) -{ - if (!srv) - return -1; - - if (rpc_srv_registerCall(srv, CALL_BLOBSHUTDOWN_ID, CALL_BLOBSHUTDOWN, 0) < 1) - return -1; - if (rpc_srv_registerCall(srv, CALL_BLOBCLIENTS_ID, CALL_BLOBCLIENTS, 1) < 1) - return -1; - if (rpc_srv_registerCall(srv, CALL_BLOBVARS_ID, CALL_BLOBVARS, 1) < 1) - return -1; - if (rpc_srv_registerCall(srv, CALL_BLOBSTATE_ID, CALL_BLOBSTATE, 0) < 1) - return -1; return 0; }