[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.6 and 1.9

version 1.6, 2000/09/08 16:08:42 version 1.9, 2001/05/04 01:06:30
Line 1 
Line 1 
 /*  $OpenXM: OpenXM/src/kan96xx/plugin/oxmisc.c,v 1.5 2000/03/20 01:53:47 takayama Exp $ */  /*  $OpenXM: OpenXM/src/kan96xx/plugin/oxmisc.c,v 1.8 2000/12/03 07:29:39 takayama Exp $ */
 #include <stdio.h>  #include <stdio.h>
 #include <sys/types.h>  #include <sys/types.h>
 #include <sys/stat.h>  #include <sys/stat.h>
Line 24  FILE *MyErrorOut = NULL;
Line 24  FILE *MyErrorOut = NULL;
   
 #define READBUFSIZE 5000  #define READBUFSIZE 5000
   
 int OxVersion = 199909080;  int OxVersion = 200012030;
 int UseOXPacketSerial = 1;  int UseOXPacketSerial = 1;
 int SerialOX = 1;  int SerialOX = 1;
 extern int Quiet;  extern int Quiet;
Line 48  int readOneByte(int fd)   /* blocking */
Line 48  int readOneByte(int fd)   /* blocking */
   if (oxSocketSelect0(fd,-1)) { /* block */    if (oxSocketSelect0(fd,-1)) { /* block */
     size = read(fd,data,1);      size = read(fd,data,1);
     if (size == 0) {      if (size == 0) {
       fprintf(MyErrorOut,"oxSocketSelect0() returns 1, but there is no data. You peer may be killed.\n");        fprintf(MyErrorOut,"oxSocketSelect0() returns 1, but there is no data. Your peer may be killed.\n");
       return(-1);        return(-1);
     }      }
     return(data[0]);      return(data[0]);
Line 94  int readOneByte_org(int fd)   /* blocking */
Line 94  int readOneByte_org(int fd)   /* blocking */
     if (oxSocketSelect0(fd,-1)) { /* block */      if (oxSocketSelect0(fd,-1)) { /* block */
       size = read(fd,data,READBUFSIZE-1);        size = read(fd,data,READBUFSIZE-1);
       if (size == 0) {        if (size == 0) {
         fprintf(MyErrorOut,"oxSocketSelect0() returns 1, but there is no data. You peer may be killed.\n");          fprintf(MyErrorOut,"oxSocketSelect0() returns 1, but there is no data. Your peer may be killed.\n");
         return(-1);          return(-1);
       }        }
       from = 0;        from = 0;
       to = size;        to = size;
Line 175  int oxWaitSyncBall(ox_stream ostream)
Line 175  int oxWaitSyncBall(ox_stream ostream)
   int mtag;    int mtag;
   while ((mtag = oxGetOXheader(ostream,&sss)) != OX_SYNC_BALL) {    while ((mtag = oxGetOXheader(ostream,&sss)) != OX_SYNC_BALL) {
     fprintf(stderr,"Looking for the next message tag. mtag=%d\n",mtag);      fprintf(stderr,"Looking for the next message tag. mtag=%d\n",mtag);
           /* or stdout */      /* or stdout */
     fflush(NULL);      fflush(NULL);
   }    }
 }  }
Line 190  int oxWaitSyncBall_org(ox_stream ostream)
Line 190  int oxWaitSyncBall_org(ox_stream ostream)
   while (1) {    while (1) {
     /* This part should be revised so that this part understands      /* This part should be revised so that this part understands
        the cmo format.         the cmo format.
        */      */
   
     if ((c = fp2fgetc(ostream)) < 0) {      if ((c = fp2fgetc(ostream)) < 0) {
       /* never use read directory. readOneByte() is buffers every thing. */        /* never use read directory. readOneByte() is buffers every thing. */
Line 208  int oxWaitSyncBall_org(ox_stream ostream)
Line 208  int oxWaitSyncBall_org(ox_stream ostream)
       return(mtag);        return(mtag);
     }      }
     fprintf(stderr,"Looking for the next message tag.. %2x, mtag=%d\n",c,mtag);      fprintf(stderr,"Looking for the next message tag.. %2x, mtag=%d\n",c,mtag);
           /* or stdout */      /* or stdout */
     fflush(NULL);      fflush(NULL);
   }    }
 }  }
Line 493  int oxGetResultOfControlInt32(int fd) {
Line 493  int oxGetResultOfControlInt32(int fd) {
 }  }
   
 int oxclientMultiSelect(oxclientp clients[],int dataready[],  int oxclientMultiSelect(oxclientp clients[],int dataready[],
                         int controlready[], int size, int t)                          int controlready[], int size, int t)
 {  {
   int i, ddd;    int i, ddd;
   int fd;    int fd;
Line 517  int oxclientMultiSelect(oxclientp clients[],int datare
Line 517  int oxclientMultiSelect(oxclientp clients[],int datare
       fd = (fd<humanfd?humanfd:fd);        fd = (fd<humanfd?humanfd:fd);
       FD_SET(humanfd,&readfds);        FD_SET(humanfd,&readfds);
       if (oxSocketSelect0(humanfd,0)) {        if (oxSocketSelect0(humanfd,0)) {
         ddd = dataready[i] = 1; controlready[i] = 0;          ddd = dataready[i] = 1; controlready[i] = 0;
       }else{        }else{
         dataready[i] = 0; controlready[i] = 0;          dataready[i] = 0; controlready[i] = 0;
       }        }
     }else{      }else{
       fd = (fd<clients[i]->controlfd?clients[i]->controlfd:fd);        if (clients[i]->controlport < 0) { /* For RFC_101 */
       FD_SET(clients[i]->controlfd,&readfds);          controlready[i] = 0;
       if (oxSocketSelect0(clients[i]->controlfd,0)) {  
         ddd = controlready[i] = 1;  
       }else{        }else{
         controlready[i] = 0;          fd = (fd<clients[i]->controlfd?clients[i]->controlfd:fd);
           FD_SET(clients[i]->controlfd,&readfds);
           if (oxSocketSelect0(clients[i]->controlfd,0)) {
             ddd = controlready[i] = 1;
           }else{
             controlready[i] = 0;
           }
       }        }
       if (clients[i]->datafp2 != NULL) {        if (clients[i]->datafp2 != NULL) {
         fd = (fd<clients[i]->datafp2->fd?clients[i]->datafp2->fd:fd);          fd = (fd<clients[i]->datafp2->fd?clients[i]->datafp2->fd:fd);
         FD_SET(clients[i]->datafp2->fd,&readfds);          FD_SET(clients[i]->datafp2->fd,&readfds);
         if (fp2select(clients[i]->datafp2,0)) {          if (fp2select(clients[i]->datafp2,0)) {
           ddd = dataready[i] = 1;            ddd = dataready[i] = 1;
         }else{          }else{
           dataready[i] = 0;            dataready[i] = 0;
         }          }
       }else{        }else{
         dataready[i] = 0;          dataready[i] = 0;
       }        }
     }      }
   }    }
Line 563  int oxclientMultiSelect(oxclientp clients[],int datare
Line 567  int oxclientMultiSelect(oxclientp clients[],int datare
 }  }
   
 int oxGetControl(oxclientp client)  int oxGetControl(oxclientp client)
 /* synchronized. */       /* synchronized. */
 {  {
   int ans;    int ans;
   ox_stream os;    ox_stream os;
Line 605  int oxIsThereErrorClient(oxclientp client) {
Line 609  int oxIsThereErrorClient(oxclientp client) {
 }  }
   
 oxclientp oxCreateClient(char *sname,int portStream,int portControl)  oxclientp oxCreateClient(char *sname,int portStream,int portControl)
   /* you also need to change oxCreateClient2. */       /* you also need to change oxCreateClient2. */
 {  {
   static int clnum = 0;    static int clnum = 0;
   int v = 0;    int v = 0;
Line 631  oxclientp oxCreateClient(char *sname,int portStream,in
Line 635  oxclientp oxCreateClient(char *sname,int portStream,in
   
   controlByteOrder = oxSetByteOrder(fdControl);    controlByteOrder = oxSetByteOrder(fdControl);
   if (v) fprintf(stderr,"Byte order for control process is %s.\n",    if (v) fprintf(stderr,"Byte order for control process is %s.\n",
                  (controlByteOrder == 0? "network byte order":                   (controlByteOrder == 0? "network byte order":
                   (controlByteOrder == 1? "little indican":                    (controlByteOrder == 1? "little indican":
                    "big indian")));                     "big indian")));
   engineByteOrder = oxSetByteOrder(fdStream);    engineByteOrder = oxSetByteOrder(fdStream);
   if (v) fprintf(stderr,"Byte order for engine process is %s.\n",    if (v) fprintf(stderr,"Byte order for engine process is %s.\n",
                  (engineByteOrder == 0? "network byte order":                   (engineByteOrder == 0? "network byte order":
                   (engineByteOrder == 1? "little indican":                    (engineByteOrder == 1? "little indican":
                    "big indian")));                     "big indian")));
   
   client = (oxclientp) mymalloc(sizeof(oxclient));    client = (oxclientp) mymalloc(sizeof(oxclient));
   oxInitClient(client);    oxInitClient(client);
Line 717  oxclientp oxCreateClientFile(char *fname,char *mode,ch
Line 721  oxclientp oxCreateClientFile(char *fname,char *mode,ch
 }  }
   
 void oxSendOXheader_generic(int type,int fd,ox_stream ox,  void oxSendOXheader_generic(int type,int fd,ox_stream ox,
                             int k,int serial)                              int k,int serial)
 {  {
   static int ss = 0;    static int ss = 0;
   extern int UseOXPacketSerial;    extern int UseOXPacketSerial;
Line 886  static void cancelConnection() {
Line 890  static void cancelConnection() {
 }  }
   
 oxclientp oxCreateClient2(int fdstream,int portStream,  oxclientp oxCreateClient2(int fdstream,int portStream,
                           int fdcontrol,int portControl,int ipmask,char *pass)                            int fdcontrol,int portControl,int ipmask,char *pass)
 {  {
   static int clnum = 0;    static int clnum = 0;
   int v = 0;    int v = 0;
Line 944  oxclientp oxCreateClient2(int fdstream,int portStream,
Line 948  oxclientp oxCreateClient2(int fdstream,int portStream,
   
   controlByteOrder = oxSetByteOrder(fdControl);    controlByteOrder = oxSetByteOrder(fdControl);
   if (v) fprintf(stderr,"Byte order for control process is %s.\n",    if (v) fprintf(stderr,"Byte order for control process is %s.\n",
                  (controlByteOrder == 0? "network byte order":                   (controlByteOrder == 0? "network byte order":
                   (controlByteOrder == 1? "little indican":                    (controlByteOrder == 1? "little indican":
                    "big indian")));                     "big indian")));
   engineByteOrder = oxSetByteOrder(fdStream);    engineByteOrder = oxSetByteOrder(fdStream);
   if (v) fprintf(stderr,"Byte order for engine process is %s.\n",    if (v) fprintf(stderr,"Byte order for engine process is %s.\n",
                  (engineByteOrder == 0? "network byte order":                   (engineByteOrder == 0? "network byte order":
                   (engineByteOrder == 1? "little indican":                    (engineByteOrder == 1? "little indican":
                    "big indian")));                     "big indian")));
   
   
   client = (oxclientp) mymalloc(sizeof(oxclient));    client = (oxclientp) mymalloc(sizeof(oxclient));

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.9

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