[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.3 and 1.5

version 1.3, 1999/11/03 08:29:40 version 1.5, 2000/03/20 01:53:47
Line 1 
Line 1 
 /*  $OpenXM$ */  /*  $OpenXM: OpenXM/src/kan96xx/plugin/oxmisc.c,v 1.4 1999/11/27 01:41:11 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 11 
Line 11 
 #include <unistd.h>  #include <unistd.h>
 #include <signal.h>  #include <signal.h>
 #include <setjmp.h>  #include <setjmp.h>
 FILE *MyErrorOut = stdout;  #define SET_MYERROROUT { if (MyErrorOut == NULL) MyErrorOut=stdout; }
   /* It is also defined in oxmisc2.c */
   FILE *MyErrorOut = NULL;
   
 /* Include files to understand object */  /* Include files to understand object */
 #include "../Kan/datatype.h"  #include "../Kan/datatype.h"
Line 37  int readOneByte(int fd)   /* blocking */
Line 39  int readOneByte(int fd)   /* blocking */
   int ans;    int ans;
   int watch = 1;    int watch = 1;
   
     SET_MYERROROUT;
   if (fd < 0) {    if (fd < 0) {
     fprintf(MyErrorOut,"readOneByte fd < 0 ??? .\n");      fprintf(MyErrorOut,"readOneByte fd < 0 ??? .\n");
     return(-1);      return(-1);
Line 65  int readOneByte_org(int fd)   /* blocking */
Line 68  int readOneByte_org(int fd)   /* blocking */
   int ans;    int ans;
   int watch = 1;    int watch = 1;
   
     SET_MYERROROUT;
   if ((thisFd == -1) && (fd >= 0)) {thisFd = fd;}    if ((thisFd == -1) && (fd >= 0)) {thisFd = fd;}
   if (fd < 0) {    if (fd < 0) {
     fprintf(MyErrorOut,"readOneByte fd < 0 ??? .\n");      fprintf(MyErrorOut,"readOneByte fd < 0 ??? .\n");
Line 123  int oxGetInt32(ox_stream ostream)
Line 127  int oxGetInt32(ox_stream ostream)
 int oxGetCMOInt32(ox_stream ostream)  int oxGetCMOInt32(ox_stream ostream)
 {  {
   int id;    int id;
     SET_MYERROROUT;
   id = oxGetInt32(ostream);    id = oxGetInt32(ostream);
   if (id != CMO_INT32) {    if (id != CMO_INT32) {
     fprintf(MyErrorOut,"It is not CMO_INT32.\n");      fprintf(MyErrorOut,"It is not CMO_INT32.\n");
Line 135  char *oxGetCMOString(ox_stream ostream) {
Line 140  char *oxGetCMOString(ox_stream ostream) {
   int size;    int size;
   char *r;    char *r;
   int i;    int i;
     SET_MYERROROUT;
   id = oxGetInt32(ostream);    id = oxGetInt32(ostream);
   if (id != CMO_STRING) {    if (id != CMO_STRING) {
     fprintf(MyErrorOut,"It is not CMO_STRING.\n");      fprintf(MyErrorOut,"It is not CMO_STRING.\n");
Line 179  int oxWaitSyncBall_org(ox_stream ostream)
Line 185  int oxWaitSyncBall_org(ox_stream ostream)
   int mtag;    int mtag;
   char data[4];    char data[4];
   int c;    int c;
     SET_MYERROROUT;
   data[0] = data[1] = data[2] = data[3] = 0xff;    data[0] = data[1] = data[2] = data[3] = 0xff;
   while (1) {    while (1) {
     /* This part should be revised so that this part understands      /* This part should be revised so that this part understands
Line 335  void oxSendResultOfControl(int fd) 
Line 342  void oxSendResultOfControl(int fd) 
   
 void oxSendMathCap(ox_stream os,struct mathCap *mathcap)  void oxSendMathCap(ox_stream os,struct mathCap *mathcap)
 {  {
   int i,n,infosize;    int i,n,infosize,ncmo;
   struct object mathinfo;    struct object mathinfo;
   /* printf("ox sending mathcap\n"); fflush(stdout); */    /* printf("ox sending mathcap\n"); fflush(stdout); */
   mathinfo = *((struct object *)(mathcap->infop));    mathinfo = *((struct object *)(mathcap->infop));
Line 364  void oxSendMathCap(ox_stream os,struct mathCap *mathca
Line 371  void oxSendMathCap(ox_stream os,struct mathCap *mathca
   
   /* [2] */    /* [2] */
   oxSendInt32(os,CMO_LIST);    oxSendInt32(os,CMO_LIST);
   oxSendInt32(os,2);    n = mathcap->oxSize;
     oxSendInt32(os,n);
   
   /* first element */  
   oxSendInt32(os,CMO_LIST);    oxSendInt32(os,CMO_LIST);
   oxSendInt32(os,mathcap->oxSize);    oxSendInt32(os,2);
   n = mathcap->oxSize;  
   for (i=0; i<n; i++) {    for (i=0; i<n; i++) {
       /* OX_DATA_xxx */
     oxSendCmoInt32(os,(mathcap->ox)[i]);      oxSendCmoInt32(os,(mathcap->ox)[i]);
       /* OX_DATA_xxx tags. In case of CMO, it is CMO tags. */
       oxSendInt32(os,CMO_LIST);
       oxSendInt32(os,mathcap->n);
       ncmo = mathcap->n;
       for (i=0; i<ncmo; i++) {
         oxSendCmoInt32(os,(mathcap->cmo)[i]);
         /* printf("i=%d %d, ",i,(mathcap->cmo)[i]); */
       }
   }    }
   /* second element */  
   oxSendInt32(os,CMO_LIST);  
   oxSendInt32(os,mathcap->n);  
   n = mathcap->n;  
   for (i=0; i<n; i++) {  
     oxSendCmoInt32(os,(mathcap->cmo)[i]);  
     /* printf("i=%d %d, ",i,(mathcap->cmo)[i]); */  
   }  
   /* printf("\n"); fflush(stdout); */    /* printf("\n"); fflush(stdout); */
 }  }
   
Line 474  void oxReqPopCMO(ox_stream os) {
Line 481  void oxReqPopCMO(ox_stream os) {
   
 int oxGetResultOfControlInt32(int fd) {  int oxGetResultOfControlInt32(int fd) {
   int k; int sss;    int k; int sss;
     SET_MYERROROUT;
   k = oxfdGetOXheader(fd,&sss);    k = oxfdGetOXheader(fd,&sss);
   if (k != OX_DATA) {    if (k != OX_DATA) {
     fprintf(MyErrorOut,"oxGetResultOfControlInt32: wrong header.");      fprintf(MyErrorOut,"oxGetResultOfControlInt32: wrong header.");
Line 494  int oxclientMultiSelect(oxclientp clients[],int datare
Line 502  int oxclientMultiSelect(oxclientp clients[],int datare
   struct timeval timeout;    struct timeval timeout;
   extern int errno;    extern int errno;
   
     SET_MYERROROUT;
   /** printf("(1)"); fflush(NULL); */    /** printf("(1)"); fflush(NULL); */
   FD_ZERO(&readfds);    FD_ZERO(&readfds);
   timeout.tv_sec = 0;    timeout.tv_sec = 0;
Line 830  char *oxGenPortFile(void) {
Line 839  char *oxGenPortFile(void) {
 int oxRemovePortFile(void) {  int oxRemovePortFile(void) {
   char fname[1024];    char fname[1024];
   FILE *fp;    FILE *fp;
     SET_MYERROROUT;
   strcpy(fname,OxPortFileName);    strcpy(fname,OxPortFileName);
   strcat(fname,".control");    strcat(fname,".control");
   if ((fp=fopen(fname,"r")) == NULL) {    if ((fp=fopen(fname,"r")) == NULL) {

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.5

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