[BACK]Return to oxf.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_toolkit

Diff for /OpenXM/src/ox_toolkit/oxf.c between version 1.17 and 1.18

version 1.17, 2003/06/02 10:25:57 version 1.18, 2003/09/15 09:31:42
Line 1 
Line 1 
 /* -*- mode: C; coding: euc-japan -*- */  /* -*- mode: C; coding: euc-japan -*- */
 /* $OpenXM: OpenXM/src/ox_toolkit/oxf.c,v 1.16 2003/05/29 15:50:49 ohara Exp $ */  /* $OpenXM: OpenXM/src/ox_toolkit/oxf.c,v 1.17 2003/06/02 10:25:57 ohara Exp $ */
   
 /*  /*
    This module includes functions for sending/receiveng CMO's.     This module includes functions for sending/receiveng CMO's.
Line 32  static int send_int32_nbo(OXFILE *oxfp, int int32);
Line 32  static int send_int32_nbo(OXFILE *oxfp, int int32);
 static int receive_int32_lbo(OXFILE *oxfp);  static int receive_int32_lbo(OXFILE *oxfp);
 static int receive_int32_nbo(OXFILE *oxfp);  static int receive_int32_nbo(OXFILE *oxfp);
   
   static void pipe_send_info(int fd, char *hostname, int port, char *password);
   
 /* enable write buffering */  /* enable write buffering */
 int oxf_setbuffer(OXFILE *oxfp, char *buf, int size)  int oxf_setbuffer(OXFILE *oxfp, char *buf, int size)
 {  {
Line 44  int oxf_setbuffer(OXFILE *oxfp, char *buf, int size)
Line 46  int oxf_setbuffer(OXFILE *oxfp, char *buf, int size)
     oxfp->wbuf = buf;      oxfp->wbuf = buf;
     oxfp->wbuf_size  = size;      oxfp->wbuf_size  = size;
     oxfp->wbuf_count = 0;      oxfp->wbuf_count = 0;
       return 0;
 }  }
   
 int oxf_read(void *buffer, size_t size, size_t num, OXFILE *oxfp)  int oxf_read(void *buffer, size_t size, size_t num, OXFILE *oxfp)
Line 195  void oxf_setopt(OXFILE *oxfp, int mode)
Line 198  void oxf_setopt(OXFILE *oxfp, int mode)
     }      }
 }  }
   
 int oxf_listen(short *portp)  int oxf_listen(int *portp)
 {  {
     char localhost[MAXHOSTNAMELEN];      char localhost[MAXHOSTNAMELEN];
     if (gethostname(localhost, MAXHOSTNAMELEN)==0) {      if (gethostname(localhost, MAXHOSTNAMELEN)==0) {
Line 290  char *which(char *exe, const char *env)
Line 293  char *which(char *exe, const char *env)
 }  }
   
 /* Remarks: ssh determines remote host by his name, i.e. by arg[0]. */  /* Remarks: ssh determines remote host by his name, i.e. by arg[0]. */
 int oxc_start(char *remote_host, short port, char *passwd)  int oxc_start(char *remote_host, int port, char *passwd)
 {  {
     char localhost[MAXHOSTNAMELEN];      char localhost[MAXHOSTNAMELEN];
     char ports[128];      char ports[128];
Line 312  int oxc_start(char *remote_host, short port, char *pas
Line 315  int oxc_start(char *remote_host, short port, char *pas
 int oxc_start_with_pipe(char *remote_host, int port, char *passwd)  int oxc_start_with_pipe(char *remote_host, int port, char *passwd)
 {  {
     char localhost[MAXHOSTNAMELEN];      char localhost[MAXHOSTNAMELEN];
     char ports[128];  
     int  pid = 0;      int  pid = 0;
     char *cmd = "oxc";      char *cmd = "oxc";
         int  pipefd[2];          int  pipefd[2];
Line 362  void pipe_send_info(int fd, char *hostname, int port, 
Line 364  void pipe_send_info(int fd, char *hostname, int port, 
         pipe_send_string(fd, password);          pipe_send_string(fd, password);
 }  }
   
 void pipe_read_info(char **hostname, int *port, char **password)  int pipe_read_info(char **hostname, int *port, char **password)
 {  {
         if (read(0, port, sizeof(int)) > 0) {          if (read(0, port, sizeof(int)) > 0) {
                 *port = ntohl(*port);                  *port = ntohl(*port);
Line 376  void pipe_read_info(char **hostname, int *port, char *
Line 378  void pipe_read_info(char **hostname, int *port, char *
 /*  Example: oxf_execute_cmd(oxfp, "ox_sm1"); */  /*  Example: oxf_execute_cmd(oxfp, "ox_sm1"); */
 OXFILE *oxf_execute_cmd(OXFILE *oxfp, char *cmd)  OXFILE *oxf_execute_cmd(OXFILE *oxfp, char *cmd)
 {  {
     short port = 0;      int port = 0;
     int listened;      int listened;
   
     if ((listened = oxf_listen(&port)) != -1) {      if ((listened = oxf_listen(&port)) != -1) {
                 cmo_list *args =  list_appendl(NULL, list_append(new_cmo_list(), new_cmo_int32(port)), new_cmo_string(cmd), NULL);                  cmo_list *args =  list_appendl(NULL, list_append(new_cmo_list(), (cmo *)new_cmo_int32(port)), new_cmo_string(cmd), NULL);
                 send_ox_cmo(oxfp, (cmo *)args);                  send_ox_cmo(oxfp, (cmo *)args);
         send_ox_command(oxfp, SM_control_spawn_server);          send_ox_command(oxfp, SM_control_spawn_server);
         return oxf_connect_passive(listened);          return oxf_connect_passive(listened);

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

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