[BACK]Return to oxmisc.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / plugin

Diff for /OpenXM/src/kan96xx/plugin/oxmisc.c between version 1.31 and 1.32

version 1.31, 2016/08/29 01:15:01 version 1.32, 2020/10/06 11:33:47
Line 1 
Line 1 
 /*  $OpenXM: OpenXM/src/kan96xx/plugin/oxmisc.c,v 1.30 2016/03/31 03:22:55 takayama Exp $ */  /*  $OpenXM: OpenXM/src/kan96xx/plugin/oxmisc.c,v 1.31 2016/08/29 01:15:01 takayama Exp $ */
 #include <stdio.h>  #include <stdio.h>
 #include <string.h>  #include <string.h>
 #include <sys/types.h>  #include <sys/types.h>
Line 13 
Line 13 
 #include <signal.h>  #include <signal.h>
 #include <setjmp.h>  #include <setjmp.h>
 #include <errno.h>  #include <errno.h>
   #include <time.h>
 #define SET_MYERROROUT { if (MyErrorOut == NULL) MyErrorOut=stdout; }  #define SET_MYERROROUT { if (MyErrorOut == NULL) MyErrorOut=stdout; }
 /* It is also defined in oxmisc2.c */  /* It is also defined in oxmisc2.c */
 FILE *MyErrorOut = NULL;  FILE *MyErrorOut = NULL;
Line 25  FILE *MyErrorOut = NULL;
Line 26  FILE *MyErrorOut = NULL;
 #include "ox_kan.h"  #include "ox_kan.h"
 #include "mysig.h"  #include "mysig.h"
   
   void restoreLockCtrlCForOx(); // defined in Kan/stackmachine.c
   
 #define READBUFSIZE 5000  #define READBUFSIZE 5000
   
Line 243  void oxfdSendCmoNull(int fd)
Line 245  void oxfdSendCmoNull(int fd)
 {  {
   char data[4];    char data[4];
   *((int *)&data[0]) = htonl(CMO_NULL);    *((int *)&data[0]) = htonl(CMO_NULL);
   write(fd,data,4);    {int r; r=write(fd,data,4);}
   fflush((FILE *)NULL);    fflush((FILE *)NULL);
 }  }
 void oxSendCmoNull(ox_stream os)  void oxSendCmoNull(ox_stream os)
Line 275  void oxfdSendInt32(int fd,int k)
Line 277  void oxfdSendInt32(int fd,int k)
 {  {
   char data[4];    char data[4];
   *((int *)&data[0]) = htonl(k);    *((int *)&data[0]) = htonl(k);
   write(fd,data,4);    {int r; r=write(fd,data,4);}
   fflush((FILE *)NULL);    fflush((FILE *)NULL);
 }  }
 void oxSendInt32(ox_stream os,int k)  void oxSendInt32(ox_stream os,int k)
Line 291  void oxfdSendCmoInt32(int fd,int k)
Line 293  void oxfdSendCmoInt32(int fd,int k)
   char data[4*2];    char data[4*2];
   *((int *)&data[0]) = htonl(CMO_INT32);    *((int *)&data[0]) = htonl(CMO_INT32);
   *((int *)&data[4]) = htonl(k);    *((int *)&data[4]) = htonl(k);
   write(fd,data,4*2);    {int r; r=write(fd,data,4*2);}
   fflush((FILE *)NULL);    fflush((FILE *)NULL);
 }  }
 void oxSendCmoInt32(ox_stream os,int k)  void oxSendCmoInt32(ox_stream os,int k)
Line 312  void oxfdSendCmoString(int fd,char *s)
Line 314  void oxfdSendCmoString(int fd,char *s)
   }    }
   *((int *)&data[0]) = htonl(CMO_STRING);    *((int *)&data[0]) = htonl(CMO_STRING);
   *((int *)&data[4]) = htonl(n);    *((int *)&data[4]) = htonl(n);
   write(fd,data,4*2);    {int r; r=write(fd,data,4*2);}
   if (s != NULL) {    if (s != NULL) {
     write(fd,s,n);      {int r; r=write(fd,s,n);}
   }    }
   fflush((FILE *)NULL);    fflush((FILE *)NULL);
 }  }
Line 350  void oxSendResultOfControlInt32(int fd,int i) 
Line 352  void oxSendResultOfControlInt32(int fd,int i) 
   oxfdSendOXheader(fd,OX_DATA,SerialOX++);    oxfdSendOXheader(fd,OX_DATA,SerialOX++);
   *((int *)&data[0]) = htonl(CMO_INT32);    *((int *)&data[0]) = htonl(CMO_INT32);
   *((int *)&data[4]) = htonl(i);    *((int *)&data[4]) = htonl(i);
   write(fd,data,4*2);    {int r; r=write(fd,data,4*2);}
   fflush((FILE *)NULL);    fflush((FILE *)NULL);
 }  }
   
Line 359  void oxSendResultOfControl(int fd) 
Line 361  void oxSendResultOfControl(int fd) 
   char data[4*1];    char data[4*1];
   oxfdSendOXheader(fd,OX_DATA,SerialOX++);    oxfdSendOXheader(fd,OX_DATA,SerialOX++);
   *((int *)&data[0]) = htonl(CMO_NULL);    *((int *)&data[0]) = htonl(CMO_NULL);
   write(fd,data,4*1);    {int r; r=write(fd,data,4*1);}
   fflush((FILE *)NULL);    fflush((FILE *)NULL);
 }  }
   
Line 839  int oxGetOXheader(ox_stream ostream,int *sss)
Line 841  int oxGetOXheader(ox_stream ostream,int *sss)
 }  }
   
   
 oxWritePortFile(int func,int port,char *fname) {  int oxWritePortFile(int func,int port,char *fname) {
   char name[1024];    char name[1024];
   FILE *fp;    FILE *fp;
   strcpy(name,fname);    strcpy(name,fname);
Line 855  oxWritePortFile(int func,int port,char *fname) {
Line 857  oxWritePortFile(int func,int port,char *fname) {
     fclose(fp);      fclose(fp);
   }    }
 }  }
 oxReadPortFile(int func,char *fname) {  int oxReadPortFile(int func,char *fname) {
   int port = 0;    int port = 0;
   char name[1024];    char name[1024];
   FILE *fp;    FILE *fp;
Line 863  oxReadPortFile(int func,char *fname) {
Line 865  oxReadPortFile(int func,char *fname) {
   if (func == 0) {    if (func == 0) {
     strcat(name,".control");      strcat(name,".control");
     fp = fopen(name,"r");      fp = fopen(name,"r");
     fscanf(fp,"%d",&port);      {int r; r=fscanf(fp,"%d",&port);}
     fclose(fp);      fclose(fp);
   }else {    }else {
     strcat(name,".data");      strcat(name,".data");
     fp = fopen(name,"r");      fp = fopen(name,"r");
     fscanf(fp,"%d",&port);      {int r; r=fscanf(fp,"%d",&port);}
     fclose(fp);      fclose(fp);
   }    }
   return(port);    return(port);
Line 922  char *oxGenPass(void) {
Line 924  char *oxGenPass(void) {
   char *s;    char *s;
   int i,n;    int i,n;
   if (seed == 0) {    if (seed == 0) {
     seed = (int) time(NULL) + (int) &p;      seed = (int) time(NULL) + (int) ((long) &p);
     srandom((unsigned int) seed);      srandom((unsigned int) seed);
   }    }
   s = (char *)malloc(128*sizeof(char));    s = (char *)malloc(128*sizeof(char));
   if (s == NULL) { fprintf(stderr,"No more memory.\n"); return(s); }    if (s == NULL) { fprintf(stderr,"No more memory.\n"); return(s); }
   n = (((int) s) + (int) time(NULL)) % 100;    n = (((int)((long) s)) + (int) time(NULL)) % 100;
   for (i=0; i < n ; i++) random();    for (i=0; i < n ; i++) random();
   p = random();    p = random();
   sprintf(s,"%ld",p);    sprintf(s,"%ld",p);
Line 1004  oxclientp oxCreateClient2(int fdstream,int portStream,
Line 1006  oxclientp oxCreateClient2(int fdstream,int portStream,
   if (m > 0) {    if (m > 0) {
     s = (char *)mymalloc(sizeof(char)*(m+1));      s = (char *)mymalloc(sizeof(char)*(m+1));
     m = strlen(passControl); s[0] = 0;      m = strlen(passControl); s[0] = 0;
     read(fdControl,s,m+1); s[m] = '\0';      {int r; r=read(fdControl,s,m+1);} s[m] = '\0';
     if (strcmp(s,passControl) != 0) {      if (strcmp(s,passControl) != 0) {
       fprintf(stderr,"s=%s, passControl=%s\n",s,passControl);        fprintf(stderr,"s=%s, passControl=%s\n",s,passControl);
       fprintf(stderr,"oxCreateClient2(): password authentication failed for control channel.\n");        fprintf(stderr,"oxCreateClient2(): password authentication failed for control channel.\n");
Line 1012  oxclientp oxCreateClient2(int fdstream,int portStream,
Line 1014  oxclientp oxCreateClient2(int fdstream,int portStream,
       return(NULL);        return(NULL);
     }      }
     m = strlen(passData); s[0] = 0;      m = strlen(passData); s[0] = 0;
     read(fdStream,s,m+1); s[m] = '\0';      {int r; r=read(fdStream,s,m+1);} s[m] = '\0';
     if (strcmp(s,passData) != 0) {      if (strcmp(s,passData) != 0) {
       fprintf(stderr,"s=%s, passData=%s\n",s,passData);        fprintf(stderr,"s=%s, passData=%s\n",s,passData);
       fprintf(stderr,"oxCreateClient2(): password authentication failed for data channel.\n");        fprintf(stderr,"oxCreateClient2(): password authentication failed for data channel.\n");
Line 1056  int oxSetByteOrder(int fd) {
Line 1058  int oxSetByteOrder(int fd) {
   int peertype;    int peertype;
   /* It is for client. read and next write. */    /* It is for client. read and next write. */
   /* oxSocketSelect0(fd,10);  wait. */    /* oxSocketSelect0(fd,10);  wait. */
   read(fd,data,1);    {int r; r=read(fd,data,1);}
   peertype = (unsigned char) data[0];    peertype = (unsigned char) data[0];
   
   /* We support only Network byte order */    /* We support only Network byte order */
   data[0] = OX_BYTE_NETWORK_BYTE_ORDER;    data[0] = OX_BYTE_NETWORK_BYTE_ORDER;
   write(fd,data,1);    {int r; r=write(fd,data,1);}
   
   return(OX_BYTE_NETWORK_BYTE_ORDER);    return(OX_BYTE_NETWORK_BYTE_ORDER);
 }  }
Line 1073  int oxTellMyByteOrder(int fdOut, int fdIn) {  
Line 1075  int oxTellMyByteOrder(int fdOut, int fdIn) {  
   
   /* We support only Network byte order */    /* We support only Network byte order */
   data[0] = OX_BYTE_NETWORK_BYTE_ORDER;    data[0] = OX_BYTE_NETWORK_BYTE_ORDER;
   write(fdOut,data,1);    {int r; r=write(fdOut,data,1);}
   fsync(fdOut);  /* returns 0 if normal. Does it work for socket? */    fsync(fdOut);  /* returns 0 if normal. Does it work for socket? */
   
   read(fdIn,data,1); /* Read pear's byte order */    {int r; r=read(fdIn,data,1);} /* Read pear's byte order */
   
   return(OX_BYTE_NETWORK_BYTE_ORDER);    return(OX_BYTE_NETWORK_BYTE_ORDER);
 }  }

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.32

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