1 /* Header for compatibility handling for the GEDCOM parser.
2 Copyright (C) 2001, 2002 The Genes Development Team
3 This file is part of the Gedcom parser library.
4 Contributed by Peter Verthez <Peter.Verthez@advalvas.be>, 2001.
6 The Gedcom parser library is free software; you can redistribute it
7 and/or modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 The Gedcom parser library is distributed in the hope that it will be
12 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with the Gedcom parser library; if not, write to the
18 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
29 #include "gedcom_internal.h"
31 typedef enum _COMPAT_RULES {
51 void set_compatibility_program(const char* program);
52 void set_compatibility_version(const char* version);
53 void compute_compatibility();
54 int compat_mode(Compat_rule rule);
57 void compat_generate_submitter_link(Gedcom_ctxt parent);
58 void compat_generate_submitter();
60 /* C_NO_GEDC, C_NO_GEDC_FORM */
61 void compat_generate_gedcom(Gedcom_ctxt parent);
62 void compat_generate_gedcom_form(Gedcom_ctxt parent);
65 int compat_generate_char(Gedcom_ctxt parent);
68 void compat_save_head_date_context(Gedcom_ctxt parent);
69 Gedcom_ctxt compat_generate_head_time_start(int level, struct tag_struct ts,
71 void compat_generate_head_time_end(Gedcom_ctxt self);
74 Gedcom_ctxt compat_generate_resi_start(Gedcom_ctxt parent);
75 void compat_generate_resi_end(Gedcom_ctxt parent, Gedcom_ctxt self);
78 int compat_check_551_tag(const char* tag, struct safe_buffer* b);
81 void compat_generate_slgc_famc_link(Gedcom_ctxt parent);
82 void compat_generate_slgc_famc_fam();
85 int compat_check_subm_comm(const char* tag, const char* parent_tag,
86 struct safe_buffer* b);
87 void compat_close_subm_comm();
88 int compat_check_subm_comm_cont(const char* tag);
89 Gedcom_ctxt compat_subm_comm_cont_start(Gedcom_ctxt parent, char* str);
90 void compat_subm_comm_cont_end(Gedcom_ctxt parent, Gedcom_ctxt self);
92 #endif /* __COMPAT_H */