X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fdata1.h;h=2d4b80251ee40763814e5cead2db7a892e360d64;hb=03bdc2bf7729a8de0050a4defb7f1fb9c85cb7b3;hp=5ac9303f53e8e750d806078c78395026aeb5c193;hpb=05d23eb6c40d04281eb51c9e7931c63ea51ceb6f;p=yaz-moved-to-github.git diff --git a/include/data1.h b/include/data1.h index 5ac9303..2d4b802 100644 --- a/include/data1.h +++ b/include/data1.h @@ -24,7 +24,16 @@ * OF THIS SOFTWARE. * * $Log: data1.h,v $ - * Revision 1.11 1995-12-15 16:19:45 quinn + * Revision 1.14 1996-05-09 07:27:11 quinn + * Multiple local values supported. + * + * Revision 1.13 1996/02/20 16:32:48 quinn + * Created util file. + * + * Revision 1.12 1996/01/18 09:46:34 adam + * Changed prototype for reader function parsed to data1_read_record. + * + * Revision 1.11 1995/12/15 16:19:45 quinn * Added formatted_text. * * Revision 1.10 1995/12/14 11:09:43 quinn @@ -111,6 +120,8 @@ #include #include +#define data1_matchstr(s1, s2) yaz_matchstr(s1, s2) + extern char *data1_tabpath; /* global path for tables */ #define DATA1_MAX_SYMBOL 31 @@ -135,6 +146,12 @@ typedef enum data1_datatype DATA1K_null } data1_datatype; +typedef enum data1_structure +{ + DATA1S_word, + DATA1S_phrase +} data1_structure; + typedef struct data1_marctab { char *name; @@ -225,6 +242,13 @@ typedef struct data1_tagset struct data1_tagset *next; /* sibling */ } data1_tagset; +typedef struct data1_termlist +{ + data1_att *att; + data1_structure structure; + struct data1_termlist *next; +} data1_termlist; + /* * abstract syntax specification */ @@ -233,7 +257,7 @@ typedef struct data1_element { char *name; data1_tag *tag; - data1_att *att; + data1_termlist *termlists; struct data1_element *children; struct data1_element *next; } data1_element; @@ -325,7 +349,8 @@ typedef struct data1_node data1_node *get_parent_tag(data1_node *n); data1_node *data1_read_node(char **buf, data1_node *parent, int *line, data1_absyn *absyn, NMEM m); -data1_node *data1_read_record(int (*rf)(int, char *, size_t), int fd, NMEM m); +data1_node *data1_read_record(int (*rf)(void *, char *, size_t), + void *fh, NMEM m); data1_absyn *data1_read_absyn(char *file); data1_tag *data1_gettagbynum(data1_tagset *s, int type, int value); data1_tagset *data1_read_tagset(char *file);