1 /* This file is part of the Zebra server.
2 Copyright (C) 1994-2011 Index Data
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
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
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
26 typedef struct mc_subfield
39 #define MC_SFVARIANT 3
40 struct mc_field *in_line;
41 struct mc_subfield *child;
43 struct mc_subfield *next;
44 struct mc_subfield *parent;
53 typedef struct mc_field
62 struct mc_subfield *list;
82 EMCOK = 0, /* first always, mondatory */
89 EMCEND /* last always, mondatory */
92 typedef struct mc_context
105 mc_context *mc_mk_context(const char *s);
106 void mc_destroy_context(mc_context *c);
108 mc_field *mc_getfield(mc_context *c);
109 void mc_destroy_field(mc_field *p);
110 void mc_pr_field(mc_field *p, int offset);
112 mc_subfield *mc_getsubfields(mc_context *c, mc_subfield *parent);
113 void mc_destroy_subfield(mc_subfield *p);
114 void mc_destroy_subfields_recursive(mc_subfield *p);
115 void mc_pr_subfields(mc_subfield *p, int offset);
117 mc_errcode mc_errno(mc_context *c);
118 const char *mc_error(mc_errcode no);
128 * c-file-style: "Stroustrup"
129 * indent-tabs-mode: nil
131 * vim: shiftwidth=4 tabstop=8 expandtab