Ocaml <-> C++ binding
[tatoo.git] / src / bindings / c++ / tatoo.h
diff --git a/src/bindings/c++/tatoo.h b/src/bindings/c++/tatoo.h
new file mode 100644 (file)
index 0000000..e9492f1
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef TATOO_H
+#define TATOO_H
+#pragma once
+
+#include <caml/mlvalues.h>
+
+extern "C" {
+
+CAMLprim value node_getFirstChild(value node);
+CAMLprim value node_getNextSibling(value node);
+CAMLprim value node_getNodeType(value node);
+CAMLprim value node_getNodeName(value node);
+CAMLprim value node_getPreorder(value node);
+
+CAMLprim value nodelist_getLength(value list);
+CAMLprim value nodelist_item(value list, value idx);
+CAMLprim value nodelist_new(value unit);
+CAMLprim value nodelist_add(value list, value node);
+
+CAMLprim value getNull(value unit);
+CAMLprim value dereference_object(value obj);
+}
+
+#endif