[BACK]Return to tcpf.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2018 / io

Diff for /OpenXM_contrib2/asir2018/io/tcpf.c between version 1.1 and 1.2

version 1.1, 2018/09/19 05:45:08 version 1.2, 2018/09/28 08:20:29
Line 44 
Line 44 
  * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY   * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  * $OpenXM$   * $OpenXM: OpenXM_contrib2/asir2018/io/tcpf.c,v 1.1 2018/09/19 05:45:08 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 217  extern int mpi_myid, mpi_nprocs;
Line 217  extern int mpi_myid, mpi_nprocs;
   
 void Pox_mpi_myid(Z *rp)  void Pox_mpi_myid(Z *rp)
 {  {
   STOQ(mpi_myid,*rp);    STOZ(mpi_myid,*rp);
 }  }
   
 void Pox_mpi_nprocs(Z *rp)  void Pox_mpi_nprocs(Z *rp)
 {  {
   STOQ(mpi_nprocs,*rp);    STOZ(mpi_nprocs,*rp);
 }  }
 #endif  #endif
   
Line 238  void Pox_get_serverinfo(NODE arg,LIST *rp)
Line 238  void Pox_get_serverinfo(NODE arg,LIST *rp)
       if ( (m_c_tab[i].m>=0) || (m_c_tab[i].c>=0) ) {        if ( (m_c_tab[i].m>=0) || (m_c_tab[i].c>=0) ) {
         c = m_c_tab[i].c;          c = m_c_tab[i].c;
         ox_get_serverinfo(c,&list);          ox_get_serverinfo(c,&list);
         STOQ(i,s_id);          STOZ(i,s_id);
         t = mknode(2,s_id,list);          t = mknode(2,s_id,list);
         MKLIST(l,t);          MKLIST(l,t);
         NEXTNODE(n0,n);          NEXTNODE(n0,n);
Line 248  void Pox_get_serverinfo(NODE arg,LIST *rp)
Line 248  void Pox_get_serverinfo(NODE arg,LIST *rp)
       NEXT(n) = 0;        NEXT(n) = 0;
     MKLIST(*rp,n0);      MKLIST(*rp,n0);
   } else {    } else {
     i = QTOS((Q)ARG0(arg));      i = ZTOS((Q)ARG0(arg));
     if ( i >= 0 && i < m_c_i && ((m_c_tab[i].m>=0) || (m_c_tab[i].c>=0)) )      if ( i >= 0 && i < m_c_i && ((m_c_tab[i].m>=0) || (m_c_tab[i].c>=0)) )
       ox_get_serverinfo(m_c_tab[i].c,rp);        ox_get_serverinfo(m_c_tab[i].c,rp);
     else {      else {
Line 273  void Pgenerate_port(NODE arg,Obj *rp)
Line 273  void Pgenerate_port(NODE arg,Obj *rp)
   if ( !arg || !ARG0(arg) ) {    if ( !arg || !ARG0(arg) ) {
     generate_port(0,port_str);      generate_port(0,port_str);
     port = atoi(port_str);      port = atoi(port_str);
     STOQ(port,q);      STOZ(port,q);
     *rp = (Obj)q;      *rp = (Obj)q;
   } else {    } else {
     generate_port(1,port_str);      generate_port(1,port_str);
Line 287  void Pgenerate_port(NODE arg,Obj *rp)
Line 287  void Pgenerate_port(NODE arg,Obj *rp)
 void Pox_reset_102(NODE arg,Z *rp)  void Pox_reset_102(NODE arg,Z *rp)
 {  {
   int s;    int s;
   int  index = QTOS((Q)ARG0(arg));    int  index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
Line 301  void Pox_get_rank_102(LIST *rp)
Line 301  void Pox_get_rank_102(LIST *rp)
   Z n,r;    Z n,r;
   NODE node;    NODE node;
   
   STOQ(nserver_102,n);    STOZ(nserver_102,n);
   STOQ(myrank_102,r);    STOZ(myrank_102,r);
   node = mknode(2,n,r);    node = mknode(2,n,r);
   MKLIST(*rp,node);    MKLIST(*rp,node);
 }  }
Line 311  void Pox_set_rank_102(NODE arg,Z *rp)
Line 311  void Pox_set_rank_102(NODE arg,Z *rp)
 {  {
   Z nserver,rank;    Z nserver,rank;
   int s;    int s;
   int  index = QTOS((Q)ARG0(arg));    int  index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
Line 329  void Pox_set_rank_102(NODE arg,Z *rp)
Line 329  void Pox_set_rank_102(NODE arg,Z *rp)
 void Pox_tcp_accept_102(NODE arg,Z *rp)  void Pox_tcp_accept_102(NODE arg,Z *rp)
 {  {
   int s;    int s;
   int  index = QTOS((Q)ARG0(arg));    int  index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
Line 348  void Pox_tcp_accept_102(NODE arg,Z *rp)
Line 348  void Pox_tcp_accept_102(NODE arg,Z *rp)
 void Pox_tcp_connect_102(NODE arg,Z *rp)  void Pox_tcp_connect_102(NODE arg,Z *rp)
 {  {
   int s;    int s;
   int  index = QTOS((Q)ARG0(arg));    int  index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
Line 371  void Ptry_bind_listen(NODE arg,Z *rp)
Line 371  void Ptry_bind_listen(NODE arg,Z *rp)
   int port,s,use_unix;    int port,s,use_unix;
   
   if ( IS_CYGWIN || !ARG0(arg) || NUM(ARG0(arg)) ) {    if ( IS_CYGWIN || !ARG0(arg) || NUM(ARG0(arg)) ) {
     port = QTOS((Q)ARG0(arg));      port = ZTOS((Q)ARG0(arg));
     sprintf(port_str,"%d",port);      sprintf(port_str,"%d",port);
     use_unix = 0;      use_unix = 0;
   } else {    } else {
Line 379  void Ptry_bind_listen(NODE arg,Z *rp)
Line 379  void Ptry_bind_listen(NODE arg,Z *rp)
     use_unix = 1;      use_unix = 1;
   }    }
   s = try_bind_listen(use_unix,port_str);    s = try_bind_listen(use_unix,port_str);
   STOQ(s,*rp);    STOZ(s,*rp);
 }  }
   
 /*  /*
Line 393  void Ptry_connect(NODE arg,Z *rp)
Line 393  void Ptry_connect(NODE arg,Z *rp)
   int port,s,use_unix;    int port,s,use_unix;
   
   if ( IS_CYGWIN || !ARG1(arg) || NUM(ARG1(arg)) ) {    if ( IS_CYGWIN || !ARG1(arg) || NUM(ARG1(arg)) ) {
     port = QTOS((Q)ARG1(arg));      port = ZTOS((Q)ARG1(arg));
     sprintf(port_str,"%d",port);      sprintf(port_str,"%d",port);
     use_unix = 0;      use_unix = 0;
   } else {    } else {
Line 402  void Ptry_connect(NODE arg,Z *rp)
Line 402  void Ptry_connect(NODE arg,Z *rp)
   }    }
   host = BDY((STRING)ARG0(arg));    host = BDY((STRING)ARG0(arg));
   s = try_connect(use_unix,host,port_str);    s = try_connect(use_unix,host,port_str);
   STOQ(s,*rp);    STOZ(s,*rp);
 }  }
   
 /*  /*
Line 417  void Ptry_accept(NODE arg,Z *rp)
Line 417  void Ptry_accept(NODE arg,Z *rp)
     use_unix = 0;      use_unix = 0;
   else    else
     use_unix = 1;      use_unix = 1;
   s = try_accept(use_unix,QTOS((Q)ARG0(arg)));    s = try_accept(use_unix,ZTOS((Q)ARG0(arg)));
   STOQ(s,*rp);    STOZ(s,*rp);
 }  }
   
 /*  /*
Line 432  void Pregister_server(NODE arg,Z *rp)
Line 432  void Pregister_server(NODE arg,Z *rp)
   Obj obj;    Obj obj;
   MATHCAP server_mathcap;    MATHCAP server_mathcap;
   
   cs = QTOS((Q)ARG0(arg));    cs = ZTOS((Q)ARG0(arg));
   ss = QTOS((Q)ARG2(arg));    ss = ZTOS((Q)ARG2(arg));
   if ( IS_CYGWIN || !ARG1(arg) || NUM(ARG1(arg)) ) {    if ( IS_CYGWIN || !ARG1(arg) || NUM(ARG1(arg)) ) {
     sprintf(cport_str,"%d",QTOS((Q)ARG1(arg)));      sprintf(cport_str,"%d",ZTOS((Q)ARG1(arg)));
     use_unix = 0;      use_unix = 0;
   } else {    } else {
     strcpy(cport_str,BDY((STRING)ARG1(arg)));      strcpy(cport_str,BDY((STRING)ARG1(arg)));
Line 444  void Pregister_server(NODE arg,Z *rp)
Line 444  void Pregister_server(NODE arg,Z *rp)
   if ( !ARG3(arg) || NUM(ARG3(arg)) ) {    if ( !ARG3(arg) || NUM(ARG3(arg)) ) {
     if ( use_unix )      if ( use_unix )
       error("register_server : the protocol should conincide for two sockets");        error("register_server : the protocol should conincide for two sockets");
     sprintf(sport_str,"%d",QTOS((Q)ARG3(arg)));      sprintf(sport_str,"%d",ZTOS((Q)ARG3(arg)));
   } else {    } else {
     if ( !use_unix )      if ( !use_unix )
       error("register_server : the protocol should conincide for two sockets");        error("register_server : the protocol should conincide for two sockets");
Line 458  void Pregister_server(NODE arg,Z *rp)
Line 458  void Pregister_server(NODE arg,Z *rp)
   if ( sn < 0 ) {    if ( sn < 0 ) {
     /* we should terminate the launcher */      /* we should terminate the launcher */
     ox_send_cmd(cn,SM_shutdown); ox_flush_stream_force(cn);      ox_send_cmd(cn,SM_shutdown); ox_flush_stream_force(cn);
     STOQ(-1,*rp);      STOZ(-1,*rp);
     return;      return;
   }    }
   
Line 479  void Pregister_server(NODE arg,Z *rp)
Line 479  void Pregister_server(NODE arg,Z *rp)
     ox_send_cmd(sn,SM_setMathcap);      ox_send_cmd(sn,SM_setMathcap);
   }    }
   /* return the server id */    /* return the server id */
   STOQ(ind,*rp);    STOZ(ind,*rp);
 }  }
   
 #if !defined(VISUAL) && !defined(__MINGW32__)  #if !defined(VISUAL) && !defined(__MINGW32__)
Line 550  void Pox_launch_generic(NODE arg,Z *rp)
Line 550  void Pox_launch_generic(NODE arg,Z *rp)
   use_unix = !IS_CYGWIN && ARG3(arg) ? 1 : 0;    use_unix = !IS_CYGWIN && ARG3(arg) ? 1 : 0;
   use_ssh = ARG4(arg) ? 1 : 0;    use_ssh = ARG4(arg) ? 1 : 0;
   use_x = ARG5(arg) ? 1 : 0;    use_x = ARG5(arg) ? 1 : 0;
   conn_to_serv = QTOS((Q)ARG6(arg));    conn_to_serv = ZTOS((Q)ARG6(arg));
   if ( !IS_CYGWIN && !host )    if ( !IS_CYGWIN && !host )
     use_unix = 1;      use_unix = 1;
   ox_launch_generic(host,launcher,server,    ox_launch_generic(host,launcher,server,
Line 593  void ox_launcher_101_generic(char *host,char *launcher
Line 593  void ox_launcher_101_generic(char *host,char *launcher
   /* register server to the server list */    /* register server to the server list */
   ind = register_server_101(use_unix,cn);    ind = register_server_101(use_unix,cn);
   
   STOQ(ind,*rp);    STOZ(ind,*rp);
 }  }
 #endif  #endif
   
Line 616  void ox_launch_generic(char *host,char *launcher,char 
Line 616  void ox_launch_generic(char *host,char *launcher,char 
             key = BDY((STRING)BDY(n0));              key = BDY((STRING)BDY(n0));
             value = (Z)BDY(NEXT(n0));              value = (Z)BDY(NEXT(n0));
             if ( !strcmp(key,"fd") && value ) {              if ( !strcmp(key,"fd") && value ) {
                 fd = QTOS(value);                  fd = ZTOS(value);
                 break;                  break;
             }              }
         }          }
     }      }
     if (!available_mcindex(fd)) {      if (!available_mcindex(fd)) {
         STOQ(-1,*rp);          STOZ(-1,*rp);
         return;          return;
     }      }
 #if !defined(VISUAL) && !defined(__MINGW32__)  #if !defined(VISUAL) && !defined(__MINGW32__)
Line 662  void ox_launch_generic(char *host,char *launcher,char 
Line 662  void ox_launch_generic(char *host,char *launcher,char 
   if ( sn < 0 ) {    if ( sn < 0 ) {
     /* we should terminate the launcher */      /* we should terminate the launcher */
     ox_send_cmd(cn,SM_shutdown); ox_flush_stream_force(cn);      ox_send_cmd(cn,SM_shutdown); ox_flush_stream_force(cn);
     STOQ(-1,*rp);      STOZ(-1,*rp);
     return;      return;
   }    }
   
Line 683  void ox_launch_generic(char *host,char *launcher,char 
Line 683  void ox_launch_generic(char *host,char *launcher,char 
     ox_send_cmd(sn,SM_setMathcap);      ox_send_cmd(sn,SM_setMathcap);
   }    }
   /* return the server id */    /* return the server id */
   STOQ(ind,*rp);    STOZ(ind,*rp);
 }  }
   
 #if defined(__CYGWIN32__)  #if defined(__CYGWIN32__)
Line 1081  void Pox_select(NODE arg,LIST *rp)
Line 1081  void Pox_select(NODE arg,LIST *rp)
   FD_ZERO(&r); FD_ZERO(&w); FD_ZERO(&e);    FD_ZERO(&r); FD_ZERO(&w); FD_ZERO(&e);
   maxfd = minfd = -1;    maxfd = minfd = -1;
   for ( t = list, t0 = 0; t; t = NEXT(t) ) {    for ( t = list, t0 = 0; t; t = NEXT(t) ) {
     index = QTOS((Q)BDY(t));      index = ZTOS((Q)BDY(t));
     valid_mctab_index(index);      valid_mctab_index(index);
     s = m_c_tab[index].c;      s = m_c_tab[index].c;
     if ( ox_data_is_available(s) ) {      if ( ox_data_is_available(s) ) {
Line 1107  void Pox_select(NODE arg,LIST *rp)
Line 1107  void Pox_select(NODE arg,LIST *rp)
       index = get_index(i);        index = get_index(i);
       /* mcind : index to m_c_tab array */        /* mcind : index to m_c_tab array */
       mcind = get_mcindex(index);        mcind = get_mcindex(index);
       n--; STOQ(mcind,q); MKNODE(t1,q,t); t = t1;        n--; STOZ(mcind,q); MKNODE(t1,q,t); t = t1;
     }      }
   MKLIST(*rp,t);    MKLIST(*rp,t);
 }  }
   
 void Pox_flush(NODE arg,Z *rp)  void Pox_flush(NODE arg,Z *rp)
 {  {
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   ox_flush_stream_force(m_c_tab[index].c);    ox_flush_stream_force(m_c_tab[index].c);
Line 1124  void Pox_flush(NODE arg,Z *rp)
Line 1124  void Pox_flush(NODE arg,Z *rp)
 void Pox_send_raw_cmo(NODE arg,Obj *rp)  void Pox_send_raw_cmo(NODE arg,Obj *rp)
 {  {
   int s;    int s;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
Line 1137  void Pox_send_raw_cmo(NODE arg,Obj *rp)
Line 1137  void Pox_send_raw_cmo(NODE arg,Obj *rp)
 void Pox_recv_raw_cmo(NODE arg,Obj *rp)  void Pox_recv_raw_cmo(NODE arg,Obj *rp)
 {  {
   int s;    int s;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
Line 1146  void Pox_recv_raw_cmo(NODE arg,Obj *rp)
Line 1146  void Pox_recv_raw_cmo(NODE arg,Obj *rp)
   
 void Pox_send_102(NODE arg,Obj *rp)  void Pox_send_102(NODE arg,Obj *rp)
 {  {
   int rank = QTOS((Q)ARG0(arg));    int rank = ZTOS((Q)ARG0(arg));
   
   ox_send_data_102(rank,(Obj)ARG1(arg));    ox_send_data_102(rank,(Obj)ARG1(arg));
   *rp = 0;    *rp = 0;
Line 1155  void Pox_send_102(NODE arg,Obj *rp)
Line 1155  void Pox_send_102(NODE arg,Obj *rp)
 void Pox_recv_102(NODE arg,Obj *rp)  void Pox_recv_102(NODE arg,Obj *rp)
 {  {
   int id;    int id;
   int rank = QTOS((Q)ARG0(arg));    int rank = ZTOS((Q)ARG0(arg));
   
   ox_recv_102(rank,&id,rp);    ox_recv_102(rank,&id,rp);
 }  }
   
 void Pox_bcast_102(NODE arg,Obj *rp)  void Pox_bcast_102(NODE arg,Obj *rp)
 {  {
   int rank = QTOS((Q)ARG0(arg));    int rank = ZTOS((Q)ARG0(arg));
   Obj data;    Obj data;
   
   if ( argc(arg) > 1 )    if ( argc(arg) > 1 )
Line 1173  void Pox_bcast_102(NODE arg,Obj *rp)
Line 1173  void Pox_bcast_102(NODE arg,Obj *rp)
   
 void Pox_reduce_102(NODE arg,Obj *rp)  void Pox_reduce_102(NODE arg,Obj *rp)
 {  {
   int root = QTOS((Q)ARG0(arg));    int root = ZTOS((Q)ARG0(arg));
   STRING op;    STRING op;
   char *opname;    char *opname;
   void (*func)();    void (*func)();
Line 1203  void Pox_push_local(NODE arg,Obj *rp)
Line 1203  void Pox_push_local(NODE arg,Obj *rp)
   
   if ( !arg )    if ( !arg )
     error("ox_push_local : too few arguments.");      error("ox_push_local : too few arguments.");
   index = QTOS((Q)ARG0(arg));    index = ZTOS((Q)ARG0(arg));
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c; arg = NEXT(arg);    s = m_c_tab[index].c; arg = NEXT(arg);
   
Line 1223  void Pox_push_cmo(NODE arg,Obj *rp)
Line 1223  void Pox_push_cmo(NODE arg,Obj *rp)
   
   if ( !arg )    if ( !arg )
     error("ox_push_cmo : too few arguments.");      error("ox_push_cmo : too few arguments.");
   index = QTOS((Q)ARG0(arg));    index = ZTOS((Q)ARG0(arg));
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c; arg = NEXT(arg);    s = m_c_tab[index].c; arg = NEXT(arg);
   for ( ; arg; arg = NEXT(arg) )    for ( ; arg; arg = NEXT(arg) )
Line 1233  void Pox_push_cmo(NODE arg,Obj *rp)
Line 1233  void Pox_push_cmo(NODE arg,Obj *rp)
   
 void Pox_push_vl(NODE arg,Obj *rp)  void Pox_push_vl(NODE arg,Obj *rp)
 {  {
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   ox_send_local_ring(m_c_tab[index].c,CO);    ox_send_local_ring(m_c_tab[index].c,CO);
Line 1243  void Pox_push_vl(NODE arg,Obj *rp)
Line 1243  void Pox_push_vl(NODE arg,Obj *rp)
 void Pox_pop_local(NODE arg,Obj *rp)  void Pox_pop_local(NODE arg,Obj *rp)
 {  {
   int s;    int s;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
Line 1255  void Pox_pop_local(NODE arg,Obj *rp)
Line 1255  void Pox_pop_local(NODE arg,Obj *rp)
 void Pox_pop_cmo(NODE arg,Obj *rp)  void Pox_pop_cmo(NODE arg,Obj *rp)
 {  {
   int s;    int s;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
Line 1266  void Pox_pop_cmo(NODE arg,Obj *rp)
Line 1266  void Pox_pop_cmo(NODE arg,Obj *rp)
   
 void Pox_pop0_local(NODE arg,Obj *rp)  void Pox_pop0_local(NODE arg,Obj *rp)
 {  {
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   ox_send_cmd(m_c_tab[index].c,SM_popSerializedLocalObject);    ox_send_cmd(m_c_tab[index].c,SM_popSerializedLocalObject);
Line 1275  void Pox_pop0_local(NODE arg,Obj *rp)
Line 1275  void Pox_pop0_local(NODE arg,Obj *rp)
   
 void Pox_pop0_cmo(NODE arg,Obj *rp)  void Pox_pop0_cmo(NODE arg,Obj *rp)
 {  {
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   ox_send_cmd(m_c_tab[index].c,SM_popCMO);    ox_send_cmd(m_c_tab[index].c,SM_popCMO);
Line 1284  void Pox_pop0_cmo(NODE arg,Obj *rp)
Line 1284  void Pox_pop0_cmo(NODE arg,Obj *rp)
   
 void Pox_pop0_string(NODE arg,STRING *rp)  void Pox_pop0_string(NODE arg,STRING *rp)
 {  {
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   ox_send_cmd(m_c_tab[index].c,SM_popString);    ox_send_cmd(m_c_tab[index].c,SM_popString);
Line 1294  void Pox_pop0_string(NODE arg,STRING *rp)
Line 1294  void Pox_pop0_string(NODE arg,STRING *rp)
 void Pox_pop_string(NODE arg,Obj *rp)  void Pox_pop_string(NODE arg,Obj *rp)
 {  {
   int s;    int s;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
Line 1313  void Pox_get(NODE arg,Obj *rp)
Line 1313  void Pox_get(NODE arg,Obj *rp)
     ox_get_result(0,rp);      ox_get_result(0,rp);
   } else {    } else {
     /* server->client */      /* server->client */
     index = QTOS((Q)ARG0(arg));      index = ZTOS((Q)ARG0(arg));
     valid_mctab_index(index);      valid_mctab_index(index);
     s = m_c_tab[index].c;      s = m_c_tab[index].c;
     ox_flush_stream_force(s);      ox_flush_stream_force(s);
Line 1325  void Pox_pops(NODE arg,Obj *rp)
Line 1325  void Pox_pops(NODE arg,Obj *rp)
 {  {
   int s;    int s;
   USINT n;    USINT n;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
   if ( NEXT(arg) )    if ( NEXT(arg) )
     MKUSINT(n,QTOS((Q)ARG1(arg)));      MKUSINT(n,ZTOS((Q)ARG1(arg)));
   else    else
     MKUSINT(n,1);      MKUSINT(n,1);
   ox_send_data(s,n);    ox_send_data(s,n);
Line 1342  void Pox_execute_function(NODE arg,Obj *rp)
Line 1342  void Pox_execute_function(NODE arg,Obj *rp)
 {  {
   int s;    int s;
   USINT ui;    USINT ui;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
   MKUSINT(ui,QTOS((Q)ARG2(arg)));    MKUSINT(ui,ZTOS((Q)ARG2(arg)));
   ox_send_data(s,ui);    ox_send_data(s,ui);
   ox_send_data(s,ARG1(arg));    ox_send_data(s,ARG1(arg));
   ox_send_cmd(s,SM_executeFunction);    ox_send_cmd(s,SM_executeFunction);
Line 1356  void Pox_execute_function(NODE arg,Obj *rp)
Line 1356  void Pox_execute_function(NODE arg,Obj *rp)
 void Pox_setname(NODE arg,Obj *rp)  void Pox_setname(NODE arg,Obj *rp)
 {  {
   int s;    int s;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
Line 1368  void Pox_setname(NODE arg,Obj *rp)
Line 1368  void Pox_setname(NODE arg,Obj *rp)
 void Pox_evalname(NODE arg,Obj *rp)  void Pox_evalname(NODE arg,Obj *rp)
 {  {
   int s;    int s;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c;    s = m_c_tab[index].c;
Line 1380  void Pox_evalname(NODE arg,Obj *rp)
Line 1380  void Pox_evalname(NODE arg,Obj *rp)
 void Pox_execute_string(NODE arg,Obj *rp)  void Pox_execute_string(NODE arg,Obj *rp)
 {  {
   int s;    int s;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   asir_assert(ARG1(arg),O_STR,"ox_execute_string");    asir_assert(ARG1(arg),O_STR,"ox_execute_string");
   valid_mctab_index(index);    valid_mctab_index(index);
Line 1399  void Pox_rpc(NODE arg,Obj *rp)
Line 1399  void Pox_rpc(NODE arg,Obj *rp)
   USINT ui;    USINT ui;
   pointer *w;    pointer *w;
   NODE t;    NODE t;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   s = m_c_tab[index].c; arg = NEXT(arg);    s = m_c_tab[index].c; arg = NEXT(arg);
Line 1426  void Pox_cmo_rpc(NODE arg,Obj *rp)
Line 1426  void Pox_cmo_rpc(NODE arg,Obj *rp)
   NODE t;    NODE t;
   Obj dmy;    Obj dmy;
   pointer *w;    pointer *w;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   int find;    int find;
   Obj sync;    Obj sync;
   
Line 1462  void Pox_reset(NODE arg,Z *rp)
Line 1462  void Pox_reset(NODE arg,Z *rp)
   Obj obj;    Obj obj;
   NODE nd;    NODE nd;
   Z q;    Z q;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   m = m_c_tab[index].m;    m = m_c_tab[index].m;
   c = m_c_tab[index].c;    c = m_c_tab[index].c;
   if ( m >= 0 ) {    if ( m >= 0 ) {
     if ( no_ox_reset(c) == 1 ) {      if ( no_ox_reset(c) == 1 ) {
       STOQ(index,q);        STOZ(index,q);
       nd = mknode(1,q);        nd = mknode(1,q);
       switch ( No_ox_reset ) {        switch ( No_ox_reset ) {
       case 1:        case 1:
          fprintf(stderr,"The server does not implenent OX reset protocol.\n");           fprintf(stderr,"The server does not implenent OX reset protocol.\n");
          fprintf(stderr,"The server is terminated.\n");           fprintf(stderr,"The server is terminated.\n");
          Pox_shutdown(nd,rp);           Pox_shutdown(nd,rp);
          if ( index == QTOS(ox_pari_stream) ) ox_pari_stream_initialized = 0;           if ( index == ZTOS(ox_pari_stream) ) ox_pari_stream_initialized = 0;
          break;           break;
       case 2:        case 2:
          Pox_shutdown(nd,rp);           Pox_shutdown(nd,rp);
          if ( index == QTOS(ox_pari_stream) ) ox_pari_stream_initialized = 0;           if ( index == ZTOS(ox_pari_stream) ) ox_pari_stream_initialized = 0;
          break;           break;
       default:        default:
          error("The server does not implement OX reset protocol.");           error("The server does not implement OX reset protocol.");
Line 1517  void Pox_reset(NODE arg,Z *rp)
Line 1517  void Pox_reset(NODE arg,Z *rp)
 void Pox_intr(NODE arg,Z *rp)  void Pox_intr(NODE arg,Z *rp)
 {  {
   int m;    int m;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   m = m_c_tab[index].m;    m = m_c_tab[index].m;
Line 1534  void Pox_intr(NODE arg,Z *rp)
Line 1534  void Pox_intr(NODE arg,Z *rp)
 void Pox_sync(NODE arg,Z *rp)  void Pox_sync(NODE arg,Z *rp)
 {  {
   int c;    int c;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   c = m_c_tab[index].c;    c = m_c_tab[index].c;
Line 1545  void Pox_sync(NODE arg,Z *rp)
Line 1545  void Pox_sync(NODE arg,Z *rp)
 void Pox_shutdown(NODE arg,Z *rp)  void Pox_shutdown(NODE arg,Z *rp)
 {  {
   int s;    int s;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
 #if !defined(VISUAL) && !defined(__MINGW32__)  #if !defined(VISUAL) && !defined(__MINGW32__)
   int status;    int status;
 #endif  #endif
Line 1568  void Pox_shutdown(NODE arg,Z *rp)
Line 1568  void Pox_shutdown(NODE arg,Z *rp)
 void Pox_push_cmd(NODE arg,Z *rp)  void Pox_push_cmd(NODE arg,Z *rp)
 {  {
   int ui;    int ui;
   int index = QTOS((Q)ARG0(arg));    int index = ZTOS((Q)ARG0(arg));
   
   valid_mctab_index(index);    valid_mctab_index(index);
   ui = QTOS((Q)ARG1(arg));    ui = ZTOS((Q)ARG1(arg));
   ox_send_cmd(m_c_tab[index].c,ui);    ox_send_cmd(m_c_tab[index].c,ui);
   *rp = 0;    *rp = 0;
 }  }
Line 1639  int validate_ox_plot_stream(int index)
Line 1639  int validate_ox_plot_stream(int index)
   arg = mknode(2,NULL,name);    arg = mknode(2,NULL,name);
   if ( debug_plot ) Pox_launch(arg,&r);    if ( debug_plot ) Pox_launch(arg,&r);
   else Pox_launch_nox(arg,&r);    else Pox_launch_nox(arg,&r);
   i = QTOS((Q)r);    i = ZTOS((Q)r);
 #if defined(VISUAL) || defined(__MINGW32__)  #if defined(VISUAL) || defined(__MINGW32__)
   Sleep(100);    Sleep(100);
   ox_send_cmd(m_c_tab[i].c,SM_nop);    ox_send_cmd(m_c_tab[i].c,SM_nop);

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

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