| version 1.12, 2002/02/24 10:27:20 | 
version 1.14, 2002/11/07 23:52:20 | 
 | 
 | 
|  /*  $OpenXM: OpenXM/src/kan96xx/plugin/oxmisc.c,v 1.11 2001/12/28 08:18:22 takayama Exp $ */ | 
 /*  $OpenXM: OpenXM/src/kan96xx/plugin/oxmisc.c,v 1.13 2002/11/07 13:32:06 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 611  int oxIsThereErrorClient(oxclientp client) { | 
 
  | 
| Line 611  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; | 
  | 
|    int v = 0; | 
   int v = 0; | 
|    int fdControl = -1; | 
   int fdControl = -1; | 
|    int fdStream = -1; | 
   int fdStream = -1; | 
| Line 654  oxclientp oxCreateClient(char *sname,int portStream,in | 
 
  | 
| Line 653  oxclientp oxCreateClient(char *sname,int portStream,in | 
 
 
 | 
|    client->dataport = portStream; | 
   client->dataport = portStream; | 
|    client->controlport = portControl; | 
   client->controlport = portControl; | 
|    client->controlfd = fdControl; | 
   client->controlfd = fdControl; | 
|    client->id = clnum; clnum++; | 
   client->id = oxGetClientID(); | 
|    client->type = CLIENT_SOCKET; /* socket */ | 
   client->type = CLIENT_SOCKET; /* socket */ | 
|    client->engineByteOrder = engineByteOrder; | 
   client->engineByteOrder = engineByteOrder; | 
|    client->controlByteOrder = controlByteOrder; | 
   client->controlByteOrder = controlByteOrder; | 
| Line 900  static void cancelConnection() { | 
 
  | 
| Line 899  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; | 
  | 
|    int v = 0; | 
   int v = 0; | 
|    int fdControl = -1; | 
   int fdControl = -1; | 
|    int fdStream = -1; | 
   int fdStream = -1; | 
| Line 986  oxclientp oxCreateClient2(int fdstream,int portStream, | 
 
  | 
| Line 984  oxclientp oxCreateClient2(int fdstream,int portStream, | 
 
 
 | 
|    client->dataport = portStream; | 
   client->dataport = portStream; | 
|    client->controlport = portControl; | 
   client->controlport = portControl; | 
|    client->controlfd = fdControl; | 
   client->controlfd = fdControl; | 
|    client->id = clnum; clnum++; | 
   client->id = oxGetClientID(); | 
|    client->type = CLIENT_SOCKET; /* socket */ | 
   client->type = CLIENT_SOCKET; /* socket */ | 
|    client->engineByteOrder = engineByteOrder; | 
   client->engineByteOrder = engineByteOrder; | 
|    client->controlByteOrder = controlByteOrder; | 
   client->controlByteOrder = controlByteOrder; | 
| Line 1024  int oxTellMyByteOrder(int fd) {   | 
 
  | 
| Line 1022  int oxTellMyByteOrder(int fd) {   | 
 
 
 | 
|  } | 
 } | 
|   | 
  | 
|   | 
  | 
|   | 
 struct object OxClientList[MAX_N_OF_CLIENT]; | 
|   | 
 int OxClientListn = 0; | 
|   | 
  | 
|   | 
 int oxGetClientID() { | 
|   | 
   extern struct object OxClientList[]; | 
|   | 
   extern int OxClientListn; | 
|   | 
   extern struct object Nobj; | 
|   | 
   int i; | 
|   | 
   for (i=0; i<OxClientListn; i++) { | 
|   | 
         if ((OxClientList[i]).tag == Snull) { | 
|   | 
           return i; | 
|   | 
         } | 
|   | 
   } | 
|   | 
   i = OxClientListn; | 
|   | 
   (OxClientList[i]).tag = Snull; | 
|   | 
   if (OxClientListn < MAX_N_OF_CLIENT-1) { | 
|   | 
         OxClientListn++; | 
|   | 
         return i; | 
|   | 
   }else{ | 
|   | 
         fprintf(MyErrorOut,"oxGetClientID(): the client table is full. Returns ID = 0.\n"); | 
|   | 
         return 0; | 
|   | 
   } | 
|   | 
 } | 
|   | 
  |