Added explain facility for frontend server XML config. Renamed
[yaz-moved-to-github.git] / src / session.h
index bf196e4..69b1add 100644 (file)
@@ -1,25 +1,43 @@
 /*
- * Copyright (C) 1995-2003, Index Data
+ * Copyright (C) 1995-2005, Index Data ApS
  * See the file LICENSE for details.
- * Sebastian Hammer, Adam Dickmeiss
  *
- * $Id: session.h,v 1.1 2003-10-27 12:21:35 adam Exp $
+ * $Id: session.h,v 1.7 2005-03-03 23:16:20 adam Exp $
+ */
+/**
+ * \file session.h
+ * \brief Internal Header for GFS.
  */
-
 #ifndef SESSION_H
 #define SESSION_H
 
-#include <sys/types.h>
 #include <yaz/comstack.h>
+#include <yaz/cql.h>
 #include <yaz/odr.h>
 #include <yaz/oid.h>
 #include <yaz/proto.h>
+#include <yaz/backend.h>
 #include "eventl.h"
 
+struct gfs_server {
+    statserv_options_block cb;
+    char *host;
+    int listen_ref;
+    cql_transform_t cql_transform;
+    void *server_node_ptr;
+    struct gfs_server *next;
+};
+
+struct gfs_listen {
+    char *id;
+    char *address;
+    struct gfs_listen *next;
+};
+
 typedef enum {
-       REQUEST_IDLE,    /* the request is just sitting in the queue */
-       REQUEST_PENDING  /* operation pending (b'end processing or network I/O*/
-       /* this list will have more elements when acc/res control is added */
+    REQUEST_IDLE,    /* the request is just sitting in the queue */
+    REQUEST_PENDING  /* operation pending (b'end processing or network I/O*/
+    /* this list will have more elements when acc/res control is added */
 } request_state;
 
 typedef struct request
@@ -87,9 +105,13 @@ typedef struct association
     unsigned cs_accept_mask;
 
     struct bend_initrequest *init;
+    statserv_options_block *last_control;
+    cql_transform_t cql_transform;
+    void *server_node_ptr;
 } association;
 
-association *create_association(IOCHAN channel, COMSTACK link);
+association *create_association(IOCHAN channel, COMSTACK link,
+                               const char *apdufile);
 void destroy_association(association *h);
 void ir_session(IOCHAN h, int event);
 
@@ -104,4 +126,6 @@ void request_release(request *r);
 
 int statserv_must_terminate(void);
 
+int control_association(association *assoc, const char *host, int force);
+
 #endif