Zebra uses string attributes for indexing internally. Using set+numeric
[idzebra-moved-to-github.git] / include / attrfind.h
1 /* $Id: attrfind.h,v 1.1 2006-05-19 13:49:34 adam Exp $
2    Copyright (C) 2005-2006
3    Index Data ApS
4
5 This file is part of the Zebra server.
6
7 Zebra is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 2, or (at your option) any later
10 version.
11
12 Zebra is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Zebra; see the file LICENSE.zebra.  If not, write to the
19 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20 02111-1307, USA.
21 */
22
23 #ifndef ATTRFIND_H
24 #define ATTRFIND_H
25
26 #include <yaz/yconfig.h>
27 #include <yaz/z-core.h>
28 #include <yaz/oid.h>
29
30 YAZ_BEGIN_CDECL
31
32 typedef struct {
33     int type;
34     int major;
35     int minor;
36     Z_AttributeElement **attributeList;
37     int num_attributes;
38 } AttrType;
39
40 void attr_init_APT(AttrType *src, Z_AttributesPlusTerm *zapt, int type);
41
42 void attr_init_AttrList(AttrType *src, Z_AttributeList *list, int type);
43
44 int attr_find_ex(AttrType *src, oid_value *attributeSetP,
45                  const char **string_value);
46 int attr_find(AttrType *src, oid_value *attributeSetP);
47     
48
49 YAZ_END_CDECL
50
51 #endif
52 /*
53  * Local variables:
54  * c-basic-offset: 4
55  * indent-tabs-mode: nil
56  * End:
57  * vim: shiftwidth=4 tabstop=8 expandtab
58  */
59