Added function gedcom_check_version.
[gedcom-parse.git] / gedcom / gedcom_internal.h
index 7804a419a98042423f917c3c3ce028371be9d853..9807ecb759f22678807ada7d9f364fe8f0d410d7 100644 (file)
 #define MAXSTDTAGLEN    4
 #define MAXGEDCPTRLEN   22
 #define GEDCOMTAGOFFSET 257
-#define INTERNAL_ENCODING "UTF8"
+#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;
 };
 
-int        gedcom_parse();
-int        gedcom_lex();
+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);
 
-void       gedcom_mem_error(const char *filename, int line);
+void gedcom_mem_error(const char *filename, int line);
 
 #define MEMORY_ERROR gedcom_mem_error(__FILE__, __LINE__)