023c90d7baaf99448e2db2452397ccd0a9a5d15a
[idzebra-moved-to-github.git] / index / inline.h
1 /* This file is part of the Zebra server.
2    Copyright (C) 1994-2010 Index Data
3
4 Zebra is free software; you can redistribute it and/or modify it under
5 the terms of the GNU General Public License as published by the Free
6 Software Foundation; either version 2, or (at your option) any later
7 version.
8
9 Zebra is distributed in the hope that it will be useful, but WITHOUT ANY
10 WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
18 */
19 #ifndef INLINE_H
20 #define INLINE_H
21
22 #include "marcomp.h"
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28
29 typedef struct inline_field
30 {
31     char *name;
32     char *ind1;
33     char *ind2;
34     struct inline_subfield *list;
35 } inline_field;
36 typedef struct inline_subfield
37 {
38     char *name;
39     char *data;
40     struct inline_subfield *next;
41     struct inline_subfield *parent;
42 } inline_subfield;
43
44 inline_field *inline_mk_field(void);
45 int inline_parse(inline_field *pf, const char *tag, const char *s);
46 void inline_destroy_field(inline_field *p);
47
48 #ifdef __cplusplus
49 }
50 #endif
51
52 #endif
53 /*
54  * Local variables:
55  * c-basic-offset: 4
56  * c-file-style: "Stroustrup"
57  * indent-tabs-mode: nil
58  * End:
59  * vim: shiftwidth=4 tabstop=8 expandtab
60  */
61