--- libaitrpc/src/aitrpc.c 2012/05/15 08:33:09 1.5.6.1 +++ libaitrpc/src/aitrpc.c 2012/05/15 22:52:26 1.5.6.5 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitrpc.c,v 1.5.6.1 2012/05/15 08:33:09 misho Exp $ +* $Id: aitrpc.c,v 1.5.6.5 2012/05/15 22:52:26 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -98,7 +98,7 @@ rpc_chkPktSession(rpc_sess_t *p, rpc_sess_t *s) return 1; if (ntohl(p->sess_program) != s->sess_program) return 2; - if (ntohl(p->sess_process) != s->sess_process) + if (p->sess_process != s->sess_process) return 3; return 0; @@ -118,9 +118,36 @@ rpc_addPktSession(rpc_sess_t *p, rpc_sess_t *s) return -1; p->sess_version = s->sess_version; - p->sess_timeout = s->sess_timeout; p->sess_program = htonl(s->sess_program); - p->sess_process = htons(s->sess_process); + 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, crcFletcher16((u_short*) CALL_SRVSHUTDOWN, + strlen(CALL_SRVSHUTDOWN) / 2), CALL_SRVSHUTDOWN, 0) < 1) + return -1; + if (rpc_srv_registerCall(srv, crcFletcher16((u_short*) CALL_SRVCLIENTS, + strlen(CALL_SRVCLIENTS) / 2), CALL_SRVCLIENTS, 1) < 1) + return -1; + if (rpc_srv_registerCall(srv, crcFletcher16((u_short*) CALL_SRVSESSIONS, + strlen(CALL_SRVSESSIONS) / 2), CALL_SRVSESSIONS, 4) < 1) + return -1; + if (rpc_srv_registerCall(srv, crcFletcher16((u_short*) CALL_SRVCALLS, + strlen(CALL_SRVCALLS) / 2), CALL_SRVCALLS, 1) < 1) + return -1; return 0; }