X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fd1_attset.h;h=82f0531f13359d0fe82441547110cc761db9ab9e;hp=191e004056d6f722868e9f531b90c3ddfc1801e9;hb=cb182c3eb21ca4405d0c9f928ceb33f3fd2f95ba;hpb=527e5237725b631a58124f9b0d7b5ce97c62a183 diff --git a/include/d1_attset.h b/include/d1_attset.h index 191e004..82f0531 100644 --- a/include/d1_attset.h +++ b/include/d1_attset.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, Index Data. + * Copyright (c) 1995-1998, 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, @@ -30,6 +30,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + /* * This structure describes a attset, perhaps made up by inclusion * (supersetting) of other attribute sets. When indexing and searching, @@ -47,25 +51,43 @@ typedef struct data1_local_attribute struct data1_local_attribute *next; } data1_local_attribute; -typedef struct data1_att +typedef struct data1_attset data1_attset; +typedef struct data1_att data1_att; +typedef struct data1_attset_child data1_attset_child; + +struct data1_att { - struct data1_attset *parent; /* attribute set */ + data1_attset *parent; /* attribute set */ char *name; /* symbolic name of this attribute */ int value; /* attribute value */ data1_local_attribute *locals; /* local index values */ - struct data1_att *next; -} data1_att; + data1_att *next; +}; -typedef struct data1_attset +struct data1_attset_child { + data1_attset *child; + data1_attset_child *next; +}; + +struct data1_attset { char *name; /* symbolic name */ oid_value reference; /* external ID of attset */ - int ordinal; /* attset identification in index */ data1_att *atts; /* attributes */ - struct data1_attset *children; /* included attset */ - struct data1_attset *next; /* sibling */ -} data1_attset; + data1_attset_child *children; /* included attset */ + data1_attset *next; /* next in cache */ +}; + +typedef struct data1_handle_info *data1_handle; + +YAZ_EXPORT data1_att *data1_getattbyname(data1_handle dh, data1_attset *s, + char *name); +YAZ_EXPORT data1_attset *data1_read_attset(data1_handle dh, const char *file); + +YAZ_EXPORT data1_attset *data1_empty_attset(data1_handle dh); + +#ifdef __cplusplus +} +#endif -data1_att *data1_getattbyname(data1_attset *s, char *name); -data1_attset *data1_read_attset(char *file); #endif