First work on Z39.50 persistence.
[egate.git] / kernel / kernel.h
index 7ca0316..dc2adc4 100644 (file)
@@ -2,7 +2,10 @@
  * Europagate, 1995
  *
  * $Log: kernel.h,v $
- * Revision 1.12  1995/04/17 09:34:29  adam
+ * Revision 1.13  1995/04/19 07:31:04  adam
+ * First work on Z39.50 persistence.
+ *
+ * Revision 1.12  1995/04/17  09:34:29  adam
  * Timeout (idletime) adjustable. Minor changes in kernel.
  *
  * Revision 1.11  1995/03/28  11:42:34  adam
 #define LINE_MAX 1024
 
 struct gw_user_set {
-    char *name;        /* name of result set */
-    int hits;          /* -1 on error */
+    char   *name;               /* name of result set */
+    int    hits;                /* -1 on error */
+    char   *database;           /* database(s) in which we search */
+    struct ccl_rpn_node *rpn;   /* rpn request */
+    int    present_flag;        /* present in target (presistency) */
     struct gw_user_set *prev;
 };
 
@@ -82,6 +88,7 @@ struct gw_kernel_info {
     int command_no;
     char  from_str[LINE_MAX+1];
     const char *reply_fname;
+    int setno;
 #if USE_FML
     Fml   fml;
 #endif
@@ -98,10 +105,26 @@ void urp_end     (void);
 
 void read_kernel_res (void);
 
-struct gw_user_set *user_set_add (const char *name, int hits);
+struct gw_user_set *user_set_add (const char *name, int hits,
+                                  const char *database,
+                                 struct ccl_rpn_node *rpn,
+                                 int present_flag);
 struct gw_user_set *user_set_search (const char *name);
 void user_set_init (void);
 
 int lgets (char *buf, int max, int fd);
 
+const struct zass_searchent *zass_p_search (ZASS zass, 
+                                      struct ccl_rpn_node *rpn,
+                                      const char *result_set,
+                                     const char *database,
+                                     struct gw_user_set *sets);
+const struct zass_presentent *zass_p_present (ZASS zass,
+                                      const char *result_set,
+                                     int offset, int number);
+
+int load_p_state (int userid);
+int save_p_state (int userid);
+int reopen_target (void);
+
 #define KERNEL_LOG "kernel"