Changeset - 9c712bb9bd1d
[Not reviewed]
default
0 1 0
Nathan Brink (binki) - 16 years ago 2009-07-13 22:27:55
ohnobinki@ohnopublishing.net
remoteio: finished implementing simple versin of remoteio
1 file changed with 21 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/common/remoteio.c
Show inline comments
 
@@ -22,24 +22,45 @@
 
#include "execio.h"
 

	
 
#include <stdlib.h>
 
#include <stdio.h>
 

	
 
/**
 
   @todo there must be passage of a configuratoin struct to allow configuration of different ssh clients.
 
 */
 
int remoteio_open(struct remoteio **rem, char *servername)
 
{
 
  char *sshargs[] = {"ssh", servername, "distrend", "-d", (char *)NULL};
 
  int rtn;
 

	
 
  *rem = malloc(sizeof(struct remoteio));
 
  rtn = execio_open( &(*rem)->execio, "ssh", sshargs);
 
  if(rtn)
 
    {
 
      fprintf(stderr, "error opening remoteio channel to server ``%s''" , servername);
 
      free(*rem);
 
      return 1;
 
    }
 
  
 
  return 0;
 
}
 

	
 

	
 
int remoteio_read(struct remoteio *rem, void *buf, size_t len, size_t *bytesread)
 
{
 
  return execio_read(rem->execio, buf, len, bytesread);
 
}
 

	
 
int remoteio_write(struct remoteio *rem, void *buf, size_t len, size_t *byteswritten)
 
{
 
  return execio_write(rem->execio, buf, len, byteswritten);
 
}
 

	
 
int remoteio_close(struct remoteio *rem)
 
{
 
  int rtn;
 
  
 
  rtn = execio_close(rem->execio);
 
  free(rem);
 
  
 
  return 0 + rtn;
 
}
0 comments (0 inline, 0 general)