--- libaitrpc/src/builtin.c 2012/05/16 13:47:16 1.7.2.3 +++ libaitrpc/src/builtin.c 2012/05/16 13:52:59 1.7.2.4 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: builtin.c,v 1.7.2.3 2012/05/16 13:47:16 misho Exp $ +* $Id: builtin.c,v 1.7.2.4 2012/05/16 13:52:59 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -48,7 +48,7 @@ SUCH DAMAGE. /* builtin RPC server functions */ -int +static int rpcServerClients(rpc_func_t *call, int ic, array_t *iv) { rpc_srv_t *srv; @@ -91,7 +91,7 @@ rpcServerClients(rpc_func_t *call, int ic, array_t *iv return 0; } -int +static int rpcServerCalls(rpc_func_t *call, int ic, array_t *iv) { rpc_srv_t *srv; @@ -129,7 +129,7 @@ rpcServerCalls(rpc_func_t *call, int ic, array_t *iv) return 0; } -int +static int rpcServerSessions(rpc_func_t *call, int ic, array_t *iv) { rpc_srv_t *srv; @@ -153,7 +153,7 @@ rpcServerSessions(rpc_func_t *call, int ic, array_t *i return 0; } -int +static int rpcServerShutdown(rpc_func_t *call, int ic, array_t *iv) { rpc_srv_t *srv; @@ -171,7 +171,7 @@ rpcServerShutdown(rpc_func_t *call, int ic, array_t *i /* ---------------------------------------------------- */ -int +static int rpcBLOBServerShutdown(rpc_func_t *call, int ic, array_t *iv) { rpc_srv_t *srv; @@ -187,7 +187,7 @@ rpcBLOBServerShutdown(rpc_func_t *call, int ic, array_ return 0; } -int +static int rpcBLOBServerVars(rpc_func_t *call, int ic, array_t *iv) { rpc_srv_t *srv; @@ -233,7 +233,7 @@ rpcBLOBServerVars(rpc_func_t *call, int ic, array_t *i return 0; } -int +static int rpcBLOBServerClients(rpc_func_t *call, int ic, array_t *iv) { rpc_srv_t *srv; @@ -278,5 +278,53 @@ rpcBLOBServerClients(rpc_func_t *call, int ic, array_t AIT_SET_STR(io_array(call->func_vars, 0, ait_val_t*), val); free(val); + 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, rpcServerShutdown, 0) < 1) + return -1; + if (rpc_srv_registerCall(srv, CALL_SRVCLIENTS, rpcServerClients, 1) < 1) + return -1; + if (rpc_srv_registerCall(srv, CALL_SRVSESSIONS, rpcServerSessions, 4) < 1) + return -1; + if (rpc_srv_registerCall(srv, CALL_SRVCALLS, rpcServerCalls, 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, rpcBLOBServerShutdown, 0) < 1) + return -1; + if (rpc_srv_registerCall(srv, CALL_BLOBCLIENTS, rpcBLOBServerClients, 1) < 1) + return -1; + if (rpc_srv_registerCall(srv, CALL_BLOBVARS, rpcBLOBServerVars, 1) < 1) + return -1; + return 0; }