Diff for /libaitrpc/src/builtin.c between versions 1.3.2.1 and 1.3.2.3

version 1.3.2.1, 2011/08/29 23:26:56 version 1.3.2.3, 2011/08/31 17:11:58
Line 49  SUCH DAMAGE. Line 49  SUCH DAMAGE.
 /* builtin RPC server functions */  /* builtin RPC server functions */
   
 int  int
rpcServerClients(rpc_func_t *call, int ic, ait_val_t *iv)rpcServerClients(rpc_func_t *call, int ic, array_t *iv)
 {  {
         rpc_srv_t *srv;          rpc_srv_t *srv;
        ait_val_t *v, *vals;        array_t *vals;
         ait_val_t *v;
         rpc_cli_t *cli;          rpc_cli_t *cli;
         register int i;          register int i;
         const char *str = NULL;          const char *str = NULL;
Line 70  rpcServerClients(rpc_func_t *call, int ic, ait_val_t * Line 71  rpcServerClients(rpc_func_t *call, int ic, ait_val_t *
         if (!(vals = rpc_srv_returnVars(call, srv->srv_numcli)))          if (!(vals = rpc_srv_returnVars(call, srv->srv_numcli)))
                 return -1;                  return -1;
   
        for (i = 0, cli = srv->srv_clients, v = vals; i < srv->srv_numcli; i++, cli++) {        for (i = 0, cli = srv->srv_clients; i < srv->srv_numcli; i++, cli++) {
                 v = io_array(vals, i, ait_val_t*);
                 if (!cli->cli_sa.sa_family) {                  if (!cli->cli_sa.sa_family) {
                        AIT_SET_STR(v++, "");                        AIT_SET_STR(v, "");
                         continue;                          continue;
                 }                  }
   
Line 91  rpcServerClients(rpc_func_t *call, int ic, ait_val_t * Line 93  rpcServerClients(rpc_func_t *call, int ic, ait_val_t *
                                 break;                                  break;
                 }                  }
                 if (str)                  if (str)
                        AIT_SET_STR(v++, (char*) str);                        AIT_SET_STR(v, (char*) str);
                 else                  else
                        AIT_SET_STR(v++, "0.0.0.0");                        AIT_SET_STR(v, "0.0.0.0");
         }          }
   
         return 0;          return 0;
 }  }
   
 int  int
rpcServerCalls(rpc_func_t *call, int ic, ait_val_t *iv)rpcServerCalls(rpc_func_t *call, int ic, array_t *iv)
 {  {
         rpc_srv_t *srv;          rpc_srv_t *srv;
        ait_val_t *v, *vals;        array_t *vals;
         ait_val_t *v;
         rpc_func_t *f;          rpc_func_t *f;
         register int i;          register int i;
         char str[MAXPATHLEN];          char str[MAXPATHLEN];
Line 118  rpcServerCalls(rpc_func_t *call, int ic, ait_val_t *iv Line 121  rpcServerCalls(rpc_func_t *call, int ic, ait_val_t *iv
         if (!(vals = rpc_srv_returnVars(call, i)))          if (!(vals = rpc_srv_returnVars(call, i)))
                 return -1;                  return -1;
   
        for (f = srv->srv_funcs, v = vals; f; f = f->func_next) {        for (f = srv->srv_funcs, i = 0; f; f = f->func_next) {
                 if (*f->func_name) {                  if (*f->func_name) {
                         memset(str, 0, sizeof str);                          memset(str, 0, sizeof str);
                         snprintf(str, sizeof str, "/%s/%s()", f->func_file, f->func_name);                          snprintf(str, sizeof str, "/%s/%s()", f->func_file, f->func_name);
                        AIT_SET_STR(v++, str);                        v = io_array(vals, i++, ait_val_t*);
                         AIT_SET_STR(v, str);
                 }                  }
         }          }
   
Line 130  rpcServerCalls(rpc_func_t *call, int ic, ait_val_t *iv Line 134  rpcServerCalls(rpc_func_t *call, int ic, ait_val_t *iv
 }  }
   
 int  int
rpcServerSessions(rpc_func_t *call, int ic, ait_val_t *iv)rpcServerSessions(rpc_func_t *call, int ic, array_t *iv)
 {  {
         rpc_srv_t *srv;          rpc_srv_t *srv;
        ait_val_t *vals;        array_t *vals;
         ait_val_t *v;
   
         RPC_CALLBACK_CHECK_INPUT(call);          RPC_CALLBACK_CHECK_INPUT(call);
         if (!call->func_parent)          if (!call->func_parent)
Line 144  rpcServerSessions(rpc_func_t *call, int ic, ait_val_t  Line 149  rpcServerSessions(rpc_func_t *call, int ic, ait_val_t 
         if (!(vals = rpc_srv_returnVars(call, 4)))          if (!(vals = rpc_srv_returnVars(call, 4)))
                 return -1;                  return -1;
   
        AIT_SET_U8(&vals[0], srv->srv_session.sess_version);        v = io_array(vals, 0, ait_val_t*);
        AIT_SET_U32(&vals[1], srv->srv_session.sess_program);        AIT_SET_U8(v, srv->srv_session.sess_version);
        AIT_SET_U32(&vals[2], srv->srv_session.sess_process);        v = io_array(vals, 1, ait_val_t*);
        AIT_SET_I32(&vals[3], srv->srv_numcli);        AIT_SET_U32(v, srv->srv_session.sess_program);
         v = io_array(vals, 2, ait_val_t*);
         AIT_SET_U32(v, srv->srv_session.sess_process);
         v = io_array(vals, 3, ait_val_t*);
         AIT_SET_I32(v, srv->srv_numcli);
   
         return 0;          return 0;
 }  }
   
 int  int
rpcServerShutdown(rpc_func_t *call, int ic, ait_val_t *iv)rpcServerShutdown(rpc_func_t *call, int ic, array_t *iv)
 {  {
         rpc_srv_t *srv;          rpc_srv_t *srv;
   
Line 173  rpcServerShutdown(rpc_func_t *call, int ic, ait_val_t  Line 182  rpcServerShutdown(rpc_func_t *call, int ic, ait_val_t 
 // ----------------------------------------------------  // ----------------------------------------------------
   
 int  int
rpcBLOBServerShutdown(rpc_func_t *call, int ic, ait_val_t *iv)rpcBLOBServerShutdown(rpc_func_t *call, int ic, array_t *iv)
 {  {
         rpc_srv_t *srv;          rpc_srv_t *srv;
   
Line 191  rpcBLOBServerShutdown(rpc_func_t *call, int ic, ait_va Line 200  rpcBLOBServerShutdown(rpc_func_t *call, int ic, ait_va
 }  }
   
 int  int
rpcBLOBServerVars(rpc_func_t *call, int ic, ait_val_t *iv)rpcBLOBServerVars(rpc_func_t *call, int ic, array_t *iv)
 {  {
         rpc_srv_t *srv;          rpc_srv_t *srv;
        ait_val_t *v, *vals;        array_t *vals;
         ait_val_t *v;
         rpc_blob_t *b;          rpc_blob_t *b;
         register int i;          register int i;
   
Line 211  rpcBLOBServerVars(rpc_func_t *call, int ic, ait_val_t  Line 221  rpcBLOBServerVars(rpc_func_t *call, int ic, ait_val_t 
                 return 0;                  return 0;
         }          }
   
        for (b = srv->srv_blob.blobs, v = vals; b; b = b->blob_next)        for (b = srv->srv_blob.blobs, i = 0; b; i++, b = b->blob_next) {
                AIT_SET_U32(v++, b->blob_var);                v = io_array(vals, i, ait_val_t*);
                 AIT_SET_U32(v, b->blob_var);
         }
         pthread_mutex_unlock(&srv->srv_blob.mtx);          pthread_mutex_unlock(&srv->srv_blob.mtx);
   
         return 0;          return 0;
 }  }
   
 int  int
rpcBLOBServerState(rpc_func_t *call, int ic, ait_val_t *iv)rpcBLOBServerState(rpc_func_t *call, int ic, array_t *iv)
 {  {
         rpc_srv_t *srv;          rpc_srv_t *srv;
   
Line 229  rpcBLOBServerState(rpc_func_t *call, int ic, ait_val_t Line 241  rpcBLOBServerState(rpc_func_t *call, int ic, ait_val_t
         else          else
                 srv = call->func_parent;                  srv = call->func_parent;
   
        if (iv[0].val_type != i32)        if (AIT_TYPE(io_array(iv, 0, ait_val_t*)) != i32)
                 return -1;                  return -1;
   
        srv->srv_blob.state = AIT_GET_I32(&iv[0]);        srv->srv_blob.state = AIT_GET_I32(io_array(iv, 0, ait_val_t*));
         return 0;          return 0;
 }  }
   
 int  int
rpcBLOBServerClients(rpc_func_t *call, int ic, ait_val_t *iv)rpcBLOBServerClients(rpc_func_t *call, int ic, array_t *iv)
 {  {
         rpc_srv_t *srv;          rpc_srv_t *srv;
        ait_val_t *v, *vals;        array_t *vals;
         ait_val_t *v;
         rpc_cli_t *cli;          rpc_cli_t *cli;
         register int i;          register int i;
         const char *str = NULL;          const char *str = NULL;
Line 258  rpcBLOBServerClients(rpc_func_t *call, int ic, ait_val Line 271  rpcBLOBServerClients(rpc_func_t *call, int ic, ait_val
         if (!(vals = rpc_srv_returnVars(call, srv->srv_numcli)))          if (!(vals = rpc_srv_returnVars(call, srv->srv_numcli)))
                 return -1;                  return -1;
   
        for (i = 0, cli = srv->srv_blob.clients, v = vals; i < srv->srv_numcli; i++, cli++) {        for (i = 0, cli = srv->srv_blob.clients; i < srv->srv_numcli; i++, cli++) {
                 v = io_array(vals, i, ait_val_t*);
 
                 if (!cli->cli_sa.sa_family) {                  if (!cli->cli_sa.sa_family) {
                        AIT_SET_STR(v++, "");                        AIT_SET_STR(v, "");
                         continue;                          continue;
                 }                  }
   
Line 279  rpcBLOBServerClients(rpc_func_t *call, int ic, ait_val Line 294  rpcBLOBServerClients(rpc_func_t *call, int ic, ait_val
                                 break;                                  break;
                 }                  }
                 if (str)                  if (str)
                        AIT_SET_STR(v++, (char*) str);                        AIT_SET_STR(v, (char*) str);
                 else                  else
                        AIT_SET_STR(v++, "0.0.0.0");                        AIT_SET_STR(v, "0.0.0.0");
         }          }
   
         return 0;          return 0;

Removed from v.1.3.2.1  
changed lines
  Added in v.1.3.2.3


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