Copied from old documentation. Removed all Gedcom_val details.
[gedcom-parse.git] / gedcom / gedcom_internal.h
index d4ad4ac53f1c672d89ea7da850f73551b1dd38fc..804959a66915500691d8b4d0bf982fb9718e6e91 100644 (file)
@@ -1,11 +1,22 @@
-/*  This program is free software; you can redistribute it and/or modify  *
- *  it under the terms of the GNU General Public License as published by  *
- *  the Free Software Foundation; either version 2 of the License, or     *
- *  (at your option) any later version.                                   *
+/* General header for the Gedcom parser.
+   Copyright (C) 2001, 2002 The Genes Development Team
+   This file is part of the Gedcom parser library.
+   Contributed by Peter Verthez <Peter.Verthez@advalvas.be>, 2001.
 
- (C) 2001 by The Genes Development Team
- Original author: Peter Verthez (Peter.Verthez@advalvas.be)
-*/
+   The Gedcom parser library is free software; you can redistribute it
+   and/or modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The Gedcom parser library is distributed in the hope that it will be
+   useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the Gedcom parser library; if not, write to the
+   Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 /* $Id$ */
 /* $Name$ */
 #include <stdio.h>
 #include <string.h>
 #include <errno.h>
-#ifdef WITH_DMALLOC
-#include <dmalloc.h>
+#ifdef HAVE_CONFIG_H
+#include <config.h>
 #endif
+#include <libintl.h>
+
+#define _(string) dgettext(PACKAGE, string)
+#define N_(string) (string)
 
 #define MAXGEDCLEVEL    99
 #define MAXGEDCLINELEN  255
 #define MAXSTDTAGLEN    4
 #define MAXGEDCPTRLEN   22
 #define GEDCOMTAGOFFSET 257
+#define INTERNAL_ENCODING "UTF-8"
+
+#define GEDCOM_INTERNAL 1
+
+#ifdef __GNUC__
+#define UNUSED __attribute__((unused))
+#else
+#define UNUSED
+#endif
+
+struct tag_struct {
+  char *string;
+  int value;
+};
+
+typedef enum _PARSE_STATE {
+  STATE_NORMAL,
+  STATE_INITIAL,
+  STATE_EXPECT_TAG
+} ParseState;
+
+int  gedcom_parse();
+int  gedcom_lex();
+int  gedcom_check_token(const char* str, ParseState state, int check_token);
 
-int        gedcom_error(char* s, ...);
-int        gedcom_warning(char* s, ...);
-int        gedcom_message(char* s, ...);
-int        gedcom_debug_print(char* s, ...);
+void gedcom_mem_error(const char *filename, int line);
 
-int        gedcom_parse();
-int        gedcom_lex();
+#define MEMORY_ERROR gedcom_mem_error(__FILE__, __LINE__)
+#define VALUE_IF_MISSING "-" 
 
 extern int line_no;
+extern int init_called;
 #endif /* __GEDCOM_INTERNAL_H */