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

Diff for /OpenXM/src/ox_toolkit/ox.c between version 1.13 and 1.15

version 1.13, 2000/10/10 05:23:20 version 1.15, 2000/10/12 15:53:25
Line 1 
Line 1 
 /* -*- mode: C; coding: euc-japan -*- */  /* -*- mode: C; coding: euc-japan -*- */
 /* $OpenXM: OpenXM/src/ox_toolkit/ox.c,v 1.12 2000/03/10 12:24:38 ohara Exp $ */  /* $OpenXM: OpenXM/src/ox_toolkit/ox.c,v 1.14 2000/10/11 06:56:02 ohara Exp $ */
   
 /*  /*
    This module includes functions for sending/receiveng CMO's.     This module includes functions for sending/receiveng CMO's.
Line 11 
Line 11 
 #include <stdlib.h>  #include <stdlib.h>
 #include <string.h>  #include <string.h>
 #include <unistd.h>  #include <unistd.h>
 #include <errno.h>  
 #include <fcntl.h>  #include <fcntl.h>
 #include <sys/file.h>  #include <sys/file.h>
 #include <time.h>  #include <time.h>
Line 47  static int          send_cmo_error2(OXFILE *oxfp, cmo_
Line 46  static int          send_cmo_error2(OXFILE *oxfp, cmo_
 static int          send_mpz(OXFILE *oxfp, mpz_ptr mpz);  static int          send_mpz(OXFILE *oxfp, mpz_ptr mpz);
 static int          send_cmo_distributed_polynomial(OXFILE *oxfp, cmo_distributed_polynomial* c);  static int          send_cmo_distributed_polynomial(OXFILE *oxfp, cmo_distributed_polynomial* c);
   
 int ssh_ox_server(char *, char *, char *, short, short);  
   
 OXFILE *current_fd = NULL;  
 void set_current_fd(OXFILE *oxfp)  
 {  
     current_fd = oxfp;  
 }  
   
 /* hook functions. (yet not implemented) */  /* hook functions. (yet not implemented) */
 static hook_t hook_before_send_cmo = NULL;  static hook_t hook_before_send_cmo = NULL;
 static hook_t hook_after_send_cmo  = NULL;  static hook_t hook_after_send_cmo  = NULL;
Line 87  static cmo *call_hook_after_send_cmo(OXFILE *oxfp, cmo
Line 78  static cmo *call_hook_after_send_cmo(OXFILE *oxfp, cmo
     return c;      return c;
 }  }
   
 int oxf_read(void *buffer, size_t size, size_t num, OXFILE *oxfp)  
 {  
     return read(oxfp->fd, buffer, size*num);  
 /*  return fread(buffer, size, num, oxfp->fp); */  
 }  
   
 int oxf_write(void *buffer, size_t size, size_t num, OXFILE *oxfp)  
 {  
     return write(oxfp->fd, buffer, size*num);  
 /*  return fwrite(buffer, size, num, oxfp->fp); */  
 }  
   
 /* Handling an error. */  /* Handling an error. */
 static int current_received_serial = 0;  static int current_received_serial = 0;
   
Line 131  int send_int32(OXFILE *oxfp, int int32)
Line 110  int send_int32(OXFILE *oxfp, int int32)
     return oxfp->send_int32(oxfp, int32);      return oxfp->send_int32(oxfp, int32);
 }  }
   
 /* sending an object of int32 type with Network Byte Order.  
    (not equal to cmo_int32 type)  */  
 int send_int32_nbo(OXFILE *oxfp, int int32)  
 {  
     int32 = htonl(int32);  
     return oxf_write(&int32, sizeof(int), 1, oxfp);  
 }  
   
 /* sending an object of int32 type with Local Byte Order.  
    (not equal to cmo_int32 type)  */  
 int send_int32_lbo(OXFILE *oxfp, int int32)  
 {  
     return oxf_write(&int32, sizeof(int), 1, oxfp);  
 }  
   
 /* receiving an object of int32 type. (not equal to cmo_int32 type)  */  /* receiving an object of int32 type. (not equal to cmo_int32 type)  */
 int receive_int32(OXFILE *oxfp)  int receive_int32(OXFILE *oxfp)
 {  {
     return oxfp->receive_int32(oxfp);      return oxfp->receive_int32(oxfp);
 }  }
   
 /* receiving an object of int32 type with Network Byte Order.  
    (not equal to cmo_int32 type)  */  
 int receive_int32_nbo(OXFILE *oxfp)  
 {  
     int tag;  
     oxf_read(&tag, sizeof(int), 1, oxfp);  
     return ntohl(tag);  
 }  
   
 /* receiving an object of int32 type with Local Byte Order.  
    (not equal to cmo_int32 type)  */  
 int receive_int32_lbo(OXFILE *oxfp)  
 {  
     int tag;  
     oxf_read(&tag, sizeof(int), 1, oxfp);  
     return tag;  
 }  
   
 /* socket システムコールなどで socket を開いたのち、  
    fdopen(sd, "a+") でバッファリングする。("w+" ではない)  
    バッファリングの後、バイトオーダを決定し、  
    oxf_setopt() で関数ポインタを設定し直す。*/  
   
 /* receiving an (OX_tag, serial number)  */  /* receiving an (OX_tag, serial number)  */
 int receive_ox_tag(OXFILE *oxfp)  int receive_ox_tag(OXFILE *oxfp)

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.15

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