Added global lbuf to data1_node.
[yaz-moved-to-github.git] / include / data1.h
index 65cc658..f0d54b8 100644 (file)
@@ -1,10 +1,42 @@
 /*
- * Copyright (C) 1994, Index Data I/S 
- * All rights reserved.
- * Sebastian Hammer, Adam Dickmeiss
+ * Copyright (c) 1995, Index Data.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation, in whole or in part, for any purpose, is hereby granted,
+ * provided that:
+ *
+ * 1. This copyright and permission notice appear in all copies of the
+ * software and its documentation. Notices of copyright or attribution
+ * which appear at the beginning of any file must remain unchanged.
+ *
+ * 2. The names of Index Data or the individual authors may not be used to
+ * endorse or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
+ * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+ * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
+ * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR
+ * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
+ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
  *
  * $Log: data1.h,v $
- * Revision 1.1  1995-11-01 13:07:18  quinn
+ * Revision 1.5  1995-12-05 14:26:40  quinn
+ * Added global lbuf to data1_node.
+ *
+ * Revision 1.4  1995/11/13  09:27:29  quinn
+ * Fiddling with the variant stuff.
+ *
+ * Revision 1.3  1995/11/01  16:34:52  quinn
+ * Making data1 look for tables in data1_tabpath
+ *
+ * Revision 1.2  1995/11/01  13:54:35  quinn
+ * Minor adjustments
+ *
+ * Revision 1.1  1995/11/01  13:07:18  quinn
  * Data1 module now lives in YAZ.
  *
  * Revision 1.13  1995/10/25  16:00:49  quinn
@@ -58,7 +90,9 @@
 #include <proto.h>
 
 #include <d1_attset.h>
-#include "d1_map.h"
+#include <d1_map.h>
+
+extern char *data1_tabpath; /* global path for tables */
 
 #define DATA1_MAX_SYMBOL 31
 
@@ -206,10 +240,10 @@ typedef struct data1_node
 {
     enum 
     {
-       DATA1N_root,
+       DATA1N_root,        /* the root of a record (containing global data) */
        DATA1N_tag,         /* a tag */
-       DATA1N_data,        /* */
-       DATA1N_variant,     /* variant specification */
+       DATA1N_data,        /* some data under a leaf tag or variant */
+       DATA1N_variant,     /* variant specification (a triple, actually) */
        DATA1N_indicator    /* ISO2709 indicator */
     } which;
 
@@ -226,6 +260,8 @@ typedef struct data1_node
            char *tag;
            data1_element *element;
            int node_selected;
+           int make_variantlist;
+           int no_data_requested;
        } tag;
 
        struct
@@ -239,7 +275,7 @@ typedef struct data1_node
            } what;
            int len;
            char *data;      /* filename or data */
-#define DATA1_LOCALDATA 15
+#define DATA1_LOCALDATA 40
            char lbuf[DATA1_LOCALDATA]; /* small buffer for local data */
        } data;
 
@@ -255,6 +291,7 @@ typedef struct data1_node
        } indicator;
     } u;
 
+    char lbuf[DATA1_LOCALDATA]; /* small buffer for local data */
     int line;
     int num_children;
     struct data1_node *next;