Diff for /libaitrpc/src/builtin.c between versions 1.9 and 1.14

version 1.9, 2012/07/22 20:44:13 version 1.14, 2013/05/30 09:22:01
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 62  rpcServerClients(rpc_cli_t *cli, struct tagRPCCall *rp Line 62  rpcServerClients(rpc_cli_t *cli, struct tagRPCCall *rp
         RPC_CALLBACK_CHECK_INPUT(cli);          RPC_CALLBACK_CHECK_INPUT(cli);
         srv = RPC_SRV_SERVER(cli);          srv = RPC_SRV_SERVER(cli);
   
        len = io_arraySize(srv->srv_clients) * STRSIZ;        len = array_Size(srv->srv_clients) * STRSIZ;
        if (!(val = io_malloc(len))) {        if (!(val = e_malloc(len))) {
                 LOGERR;                  LOGERR;
                 return -1;                  return -1;
         } else          } else
                 memset(val, 0, len);                  memset(val, 0, len);
   
        for (i = 0; i < io_arraySize(srv->srv_clients); i++) {        for (i = 0; i < array_Size(srv->srv_clients); i++) {
                c = io_array(srv->srv_clients, i, rpc_cli_t*);                c = array(srv->srv_clients, i, rpc_cli_t*);
                 if (!c)                  if (!c)
                         continue;                          continue;
   
                str = io_n2addr(&c->cli_sa, &v);                str = e_n2addr(&c->cli_sa, &v);
                 if (str)                  if (str)
                         strlcat(val, (char*) str, len);                          strlcat(val, (char*) str, len);
                 else                  else
Line 84  rpcServerClients(rpc_cli_t *cli, struct tagRPCCall *rp Line 84  rpcServerClients(rpc_cli_t *cli, struct tagRPCCall *rp
         }          }
   
         /* return values */          /* return values */
        AIT_SET_STR(io_getVars(&RPC_RETVARS(cli), 0), val);        AIT_SET_STR(ait_getVars(&RPC_RETVARS(cli), 0), val);
        io_free(val);        e_free(val);
         return 0;          return 0;
 }  }
   
Line 101  rpcServerCalls(rpc_cli_t *cli, struct tagRPCCall *rpc, Line 101  rpcServerCalls(rpc_cli_t *cli, struct tagRPCCall *rpc,
         RPC_CALLBACK_CHECK_INPUT(cli);          RPC_CALLBACK_CHECK_INPUT(cli);
         srv = RPC_SRV_SERVER(cli);          srv = RPC_SRV_SERVER(cli);
   
        TAILQ_FOREACH(f, &srv->srv_funcs, func_node)        SLIST_FOREACH(f, &srv->srv_funcs, func_next)
                 i++;                  i++;
         len = i * STRSIZ;          len = i * STRSIZ;
   
        if (!(val = io_malloc(len))) {        if (!(val = e_malloc(len))) {
                 LOGERR;                  LOGERR;
                 return -1;                  return -1;
         } else          } else
                 memset(val, 0, len);                  memset(val, 0, len);
   
        TAILQ_FOREACH(f, &srv->srv_funcs, func_node)        SLIST_FOREACH(f, &srv->srv_funcs, func_next)
                 if (AIT_ADDR(&f->func_name)) {                  if (AIT_ADDR(&f->func_name)) {
                         memset(str, 0, sizeof str);                          memset(str, 0, sizeof str);
                         snprintf(str, sizeof str, "/%hu/0x%p; ", AIT_KEY(&f->func_name),                           snprintf(str, sizeof str, "/%hu/0x%p; ", AIT_KEY(&f->func_name), 
Line 120  rpcServerCalls(rpc_cli_t *cli, struct tagRPCCall *rpc, Line 120  rpcServerCalls(rpc_cli_t *cli, struct tagRPCCall *rpc,
                 }                  }
   
         /* return variables */          /* return variables */
        AIT_SET_STR(io_getVars(&RPC_RETVARS(cli), 0), val);        AIT_SET_STR(ait_getVars(&RPC_RETVARS(cli), 0), val);
        io_free(val);        e_free(val);
         return 0;          return 0;
 }  }
   
Line 133  rpcServerSessions(rpc_cli_t *cli, struct tagRPCCall *r Line 133  rpcServerSessions(rpc_cli_t *cli, struct tagRPCCall *r
         RPC_CALLBACK_CHECK_INPUT(cli);          RPC_CALLBACK_CHECK_INPUT(cli);
         srv = RPC_SRV_SERVER(cli);          srv = RPC_SRV_SERVER(cli);
   
        AIT_SET_I32(io_getVars(&RPC_RETVARS(cli), 3), io_arraySize(srv->srv_clients));        AIT_SET_I32(ait_getVars(&RPC_RETVARS(cli), 2), array_Size(srv->srv_clients));
        AIT_SET_U8(io_getVars(&RPC_RETVARS(cli), 0), srv->srv_session.sess_version);        AIT_SET_U8(ait_getVars(&RPC_RETVARS(cli), 0), srv->srv_session.sess_version);
        AIT_SET_U32(io_getVars(&RPC_RETVARS(cli), 1), srv->srv_session.sess_program);        AIT_SET_U8(ait_getVars(&RPC_RETVARS(cli), 1), srv->srv_session.sess_instance);
        AIT_SET_U8(io_getVars(&RPC_RETVARS(cli), 2), srv->srv_session.sess_process); 
   
         return 0;          return 0;
 }  }
Line 148  rpcServerShutdown(rpc_cli_t *cli, struct tagRPCCall *r Line 147  rpcServerShutdown(rpc_cli_t *cli, struct tagRPCCall *r
   
         RPC_CALLBACK_CHECK_INPUT(cli);          RPC_CALLBACK_CHECK_INPUT(cli);
         srv = RPC_SRV_SERVER(cli);          srv = RPC_SRV_SERVER(cli);
           
           rpc_freeCli(cli);
   
         srv->srv_kill = 1;          srv->srv_kill = 1;
   
         return 0;          return 0;
 }  }
   
Line 158  static int Line 158  static int
 rpcServerPing(rpc_cli_t *cli, struct tagRPCCall *rpc, array_t *iv)  rpcServerPing(rpc_cli_t *cli, struct tagRPCCall *rpc, array_t *iv)
 {  {
         if (rpc->call_req.flags == RPC_REPLY)          if (rpc->call_req.flags == RPC_REPLY)
                AIT_SET_U16(io_getVars(&RPC_RETVARS(cli), 0), ntohs(rpc->call_seq));                AIT_SET_U16(ait_getVars(&RPC_RETVARS(cli), 0), ntohs(rpc->call_seq));
         return 0;          return 0;
 }  }
   
Line 172  rpcBLOBServerShutdown(rpc_cli_t *cli, struct tagRPCCal Line 172  rpcBLOBServerShutdown(rpc_cli_t *cli, struct tagRPCCal
         RPC_CALLBACK_CHECK_INPUT(cli);          RPC_CALLBACK_CHECK_INPUT(cli);
         srv = RPC_SRV_SERVER(cli);          srv = RPC_SRV_SERVER(cli);
   
        srv->srv_blob.kill = 1;        rpc_freeBLOBCli(cli);
   
           srv->srv_blob.kill = 1;
         return 0;          return 0;
 }  }
   
Line 190  rpcBLOBServerVars(rpc_cli_t *cli, struct tagRPCCall *r Line 191  rpcBLOBServerVars(rpc_cli_t *cli, struct tagRPCCall *r
         srv = RPC_SRV_SERVER(cli);          srv = RPC_SRV_SERVER(cli);
   
         if (srv->srv_blob.kill) {          if (srv->srv_blob.kill) {
                AIT_SET_STR(io_getVars(&RPC_RETVARS(cli), 0), "BLOB Server is killed");                AIT_SET_STR(ait_getVars(&RPC_RETVARS(cli), 0), "BLOB Server is killed");
                 return 1;                  return 1;
         }          }
   
Line 199  rpcBLOBServerVars(rpc_cli_t *cli, struct tagRPCCall *r Line 200  rpcBLOBServerVars(rpc_cli_t *cli, struct tagRPCCall *r
         len = i * sizeof str;          len = i * sizeof str;
   
         if (!len) {          if (!len) {
                AIT_SET_STR(io_getVars(&RPC_RETVARS(cli), 0), "");                AIT_SET_STR(ait_getVars(&RPC_RETVARS(cli), 0), "");
                 return 0;                  return 0;
         }          }
   
        if (!(val = io_malloc(len))) {        if (!(val = e_malloc(len))) {
                 LOGERR;                  LOGERR;
                 return -1;                  return -1;
         } else          } else
Line 215  rpcBLOBServerVars(rpc_cli_t *cli, struct tagRPCCall *r Line 216  rpcBLOBServerVars(rpc_cli_t *cli, struct tagRPCCall *r
                 strlcat(val, str, len);                  strlcat(val, str, len);
         }          }
   
        AIT_SET_STR(io_getVars(&RPC_RETVARS(cli), 0), val);        AIT_SET_STR(ait_getVars(&RPC_RETVARS(cli), 0), val);
        io_free(val);        e_free(val);
         return 0;          return 0;
 }  }
   
Line 235  rpcBLOBServerClients(rpc_cli_t *cli, struct tagRPCCall Line 236  rpcBLOBServerClients(rpc_cli_t *cli, struct tagRPCCall
         srv = RPC_SRV_SERVER(cli);          srv = RPC_SRV_SERVER(cli);
   
         if (srv->srv_blob.kill) {          if (srv->srv_blob.kill) {
                AIT_SET_STR(io_getVars(&RPC_RETVARS(cli), 0), "BLOB Server is killed");                AIT_SET_STR(ait_getVars(&RPC_RETVARS(cli), 0), "BLOB Server is killed");
                 return 1;                  return 1;
         }          }
   
        len = io_arraySize(srv->srv_blob.clients) * STRSIZ;        len = array_Size(srv->srv_blob.clients) * STRSIZ;
        if (!(val = io_malloc(len))) {        if (!(val = e_malloc(len))) {
                 LOGERR;                  LOGERR;
                 return -1;                  return -1;
         } else          } else
                 memset(val, 0, len);                  memset(val, 0, len);
   
        for (i = 0; i < io_arraySize(srv->srv_clients); i++) {        for (i = 0; i < array_Size(srv->srv_clients); i++) {
                c = io_array(srv->srv_blob.clients, i, rpc_cli_t*);                c = array(srv->srv_blob.clients, i, rpc_cli_t*);
                 if (!c)                  if (!c)
                         continue;                          continue;
   
                str = io_n2addr(&c->cli_sa, &v);                str = e_n2addr(&c->cli_sa, &v);
                 if (str)                  if (str)
                         strlcat(val, (char*) str, len);                          strlcat(val, (char*) str, len);
                 else                  else
Line 260  rpcBLOBServerClients(rpc_cli_t *cli, struct tagRPCCall Line 261  rpcBLOBServerClients(rpc_cli_t *cli, struct tagRPCCall
                 AIT_FREE_VAL(&v);                  AIT_FREE_VAL(&v);
         }          }
   
        AIT_SET_STR(io_getVars(&RPC_RETVARS(cli), 0), val);        AIT_SET_STR(ait_getVars(&RPC_RETVARS(cli), 0), val);
        io_free(val);        e_free(val);
         return 0;          return 0;
 }  }
   
Line 273  rpcBLOBServerClients(rpc_cli_t *cli, struct tagRPCCall Line 274  rpcBLOBServerClients(rpc_cli_t *cli, struct tagRPCCall
  * @srv = RPC server instance   * @srv = RPC server instance
  * return: -1 error or 0 ok   * return: -1 error or 0 ok
  */   */
inline intint
 rpc_register_srvPing(rpc_srv_t * __restrict srv)  rpc_register_srvPing(rpc_srv_t * __restrict srv)
 {  {
         if (!srv)          if (!srv)

Removed from v.1.9  
changed lines
  Added in v.1.14


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>