C++ support.
[yaz-moved-to-github.git] / comstack / xmosi.c
index 4a94c62..ea8a71b 100644 (file)
@@ -4,7 +4,28 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: xmosi.c,v $
- * Revision 1.8  1995-11-01 13:54:29  quinn
+ * Revision 1.15  1997-05-14 06:53:34  adam
+ * C++ support.
+ *
+ * Revision 1.14  1996/07/26 12:34:07  quinn
+ * Porting.
+ *
+ * Revision 1.13  1996/07/06  19:58:30  quinn
+ * System headerfiles gathered in yconfig
+ *
+ * Revision 1.12  1996/05/22  08:34:44  adam
+ * Added ifdef USE_XTIMOSI; so that 'make depend' works.
+ *
+ * Revision 1.11  1996/02/23 10:00:41  quinn
+ * WAIS Work
+ *
+ * Revision 1.10  1996/02/10  12:23:13  quinn
+ * Enablie inetd operations fro TCP/IP stack
+ *
+ * Revision 1.9  1996/01/02  08:57:28  quinn
+ * Changed enums in the ASN.1 .h files to #defines. Changed oident.class to oclass
+ *
+ * Revision 1.8  1995/11/01  13:54:29  quinn
  * Minor adjustments
  *
  * Revision 1.7  1995/10/30  12:41:17  quinn
  *
  */
 
+#ifdef USE_XTIMOSI
 /*
  * Glue layer for Peter Furniss' xtimosi package.
  */
 #include <string.h>
 #include <assert.h>
 
+<<<<<<< 1.13
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netdb.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
+=======
+#define YNETINCLUDE
+#include <yconfig.h>
+>>>>>>> /tmp/T4a00144
 
 #include <comstack.h>
 #include <xmosi.h>
@@ -141,7 +168,7 @@ static int addopt(struct netbuf *optbuf, unsigned long level, unsigned long
     char *str;
 
     ent.proto = proto;
-    ent.class = class;
+    ent.oclass = class;
     ent.value = value;
     if (!(oid = oid_getoidbyent(&ent)))
        return -1;
@@ -151,15 +178,18 @@ static int addopt(struct netbuf *optbuf, unsigned long level, unsigned long
     return 0;
 }
 
-COMSTACK mosi_type(int blocking, int protocol)
+COMSTACK mosi_type(int s, int blocking, int protocol)
 {
     COMSTACK r;
     mosi_state *state;
     int flags = O_RDWR;
 
+    if (s >= 0)
+       return 0;
+
     if (!(r = xmalloc(sizeof(*r))))
        return 0;
-    if (!(state = r->private = xmalloc(sizeof(*state))))
+    if (!(state = r->cprivate = xmalloc(sizeof(*state))))
        return 0;
 
     state->call = 0;
@@ -364,7 +394,7 @@ int mosi_bind(COMSTACK h, void *address, int mode)
 int mosi_listen(COMSTACK h, char *addp, int *addrlen)
 {
     int res;
-    mosi_state *st = h->private;
+    mosi_state *st = h->cprivate;
 
     if (!(st->call = (struct t_call*) t_alloc(h->iofile, T_CALL_STR,
         T_ALL)))
@@ -383,7 +413,7 @@ COMSTACK mosi_accept(COMSTACK h)
 {
     COMSTACK new;
     void *local;
-    struct mosi_state *st = h->private, *ns;
+    struct mosi_state *st = h->cprivate, *ns;
     int flags = O_RDWR;
 
     if (h->state != CS_INCON)
@@ -394,7 +424,7 @@ COMSTACK mosi_accept(COMSTACK h)
     if (!(new = xmalloc(sizeof(*new))))
        return 0;
     *new = *h;
-    if (!(new->private = ns = xmalloc(sizeof(*ns))))
+    if (!(new->cprivate = ns = xmalloc(sizeof(*ns))))
        return 0;
     *ns = *st;
     if (!h->blocking)
@@ -419,7 +449,7 @@ COMSTACK mosi_accept(COMSTACK h)
 int mosi_get(COMSTACK h, char **buf, int *bufsize)
 {
     int flags = 0, res;
-    mosi_state *ct = h->private;
+    mosi_state *ct = h->cprivate;
     int got;
 
     do
@@ -452,7 +482,7 @@ int mosi_get(COMSTACK h, char **buf, int *bufsize)
 
 int mosi_put(COMSTACK h, char *buf, int size)
 {
-    mosi_state *ct = h->private;
+    mosi_state *ct = h->cprivate;
     int res = u_snd(h->iofile, buf + ct->haswrit, size - ct->haswrit, 0);
 
     if (res == size - ct->haswrit)
@@ -472,7 +502,7 @@ int mosi_put(COMSTACK h, char *buf, int size)
 
 int mosi_close(COMSTACK h)
 {
-    xfree(h->private);
+    xfree(h->cprivate);
     if (h->iofile >= 0)
        u_close(h->iofile);
    xfree(h);
@@ -481,5 +511,7 @@ int mosi_close(COMSTACK h)
 
 char *mosi_addrstr(COMSTACK h)
 {
-    return "osi:[UNIMPLEMENTED";
+    return "osi:[UNIMPLEMENTED]";
 }
+
+#endif