Moved definitions of nmem_block and nmem_control.
[yaz-moved-to-github.git] / include / comstack.h
index eabbdf1..ee8ebd7 100644 (file)
  * OF THIS SOFTWARE.
  *
  * $Log: comstack.h,v $
- * Revision 1.12  1995-10-30 12:41:27  quinn
+ * Revision 1.16  1997-05-14 06:53:37  adam
+ * C++ support.
+ *
+ * Revision 1.15  1996/07/06 19:58:32  quinn
+ * System headerfiles gathered in yconfig
+ *
+ * Revision 1.14  1996/02/10  12:23:41  quinn
+ * Enable inetd operations fro TCP/IP stack
+ *
+ * Revision 1.13  1995/11/01  13:54:33  quinn
+ * Minor adjustments
+ *
+ * Revision 1.12  1995/10/30  12:41:27  quinn
  * Added hostname lookup for server.
  *
  * Revision 1.11  1995/09/29  17:12:01  quinn
 #ifndef COMSTACK_H
 #define COMSTACK_H
 
+#define YNETINCLUDE
 #include <yconfig.h>
 #include <oid.h>
-#include <dmalloc.h>
+#include <xmalloc.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 #define COMSTACK_DEFAULT_TIMEOUT -1  /* not used yet */
 
 struct comstack;
 typedef struct comstack *COMSTACK;
-typedef COMSTACK (*CS_TYPE)(int blocking, int protocol);
+typedef COMSTACK (*CS_TYPE)(int s, int blocking, int protocol);
 
 struct comstack
 {
@@ -119,7 +136,7 @@ struct comstack
     char *stackerr;/* current lower-layer error string, or null if none */
     int iofile;    /* UNIX file descriptor for iochannel */
     int timeout;   /* how long to wait for trailing blocks (ignored for now) */
-    void *private; /* state info for lower stack */
+    void *cprivate;/* state info for lower stack */
     int more;      /* connection has extra data in buffer */
     int state;     /* current state */
 #define CS_UNBND      0
@@ -160,7 +177,9 @@ struct comstack
 #define cs_listen(handle, ap, al) ((*(handle)->f_listen)(handle, ap, al))
 #define cs_accept(handle) ((*(handle)->f_accept)(handle))
 #define cs_close(handle) ((*(handle)->f_close)(handle))
-#define cs_create(type, blocking, proto) ((*type)(blocking, proto))
+#define cs_create(type, blocking, proto) ((*type)(-1, blocking, proto))
+#define cs_createbysocket(sock, type, blocking, proto) \
+       ((*type)(sock, blocking, proto))
 #define cs_type(handle) ((handle)->type)
 #define cs_fileno(handle) ((handle)->iofile)
 #define cs_stackerr(handle) ((handle)->stackerr)
@@ -188,4 +207,8 @@ extern char *cs_errlist[];
 #define CS_SR     PROTO_SR
 #define CS_Z3950  PROTO_Z3950
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif