Define the tmschema.h constants using enumerations and the macros
provided by schemadef.h.
diff --git a/include/schemadef.h b/include/schemadef.h
new file mode 100644
index 0000000..00f9b51
--- /dev/null
+++ b/include/schemadef.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2003 Kevin Koltzau
+ * Copyright (C) 2004 Francois Gouget
+ *
+ * This 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.
+ *
+ * This 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 this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __WINE_SCHEMADEF_H
+#define __WINE_SCHEMADEF_H
+
+#define BEGIN_TM_SCHEMA(name)
+#define END_TM_SCHEMA(name)
+
+#define BEGIN_TM_ENUM(name) enum name {
+#define TM_ENUM(value, prefix, name) prefix##_##name = (value),
+#define END_TM_ENUM() };
+
+#define BEGIN_TM_PROPS() enum PropValues { \
+ DummyProp = 49,
+#define TM_PROP(value, prefix, name, type) prefix##_##name = (value),
+#define END_TM_PROPS() };
+
+#define BEGIN_TM_CLASS_PARTS(name) enum name##PARTS { \
+ name##PartFiller0,
+#define TM_PART(value, prefix, name) prefix##_##name = (value),
+#define END_TM_CLASS_PARTS() };
+
+#define BEGIN_TM_PART_STATES(name) enum name##STATES { \
+ name##StateFiller0,
+#define TM_STATE(value, prefix, name) prefix##_##name = (value),
+#define END_TM_PART_STATES() };
+
+#endif