summaryrefslogtreecommitdiff
path: root/src/runtime/c/gu/intern.h
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2012-01-20 13:41:10 +0000
committerkr.angelov <kr.angelov@gmail.com>2012-01-20 13:41:10 +0000
commit2eee382a62a909d5a3f2f5eda94f30fe68fd5335 (patch)
treeb0b0d513535895f244214aebf6358e172b8dce6d /src/runtime/c/gu/intern.h
parentb9728357126f8b9a6311cca17d9f0dcc2a7bfb9b (diff)
initial import of the C runtime
Diffstat (limited to 'src/runtime/c/gu/intern.h')
-rw-r--r--src/runtime/c/gu/intern.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/runtime/c/gu/intern.h b/src/runtime/c/gu/intern.h
new file mode 100644
index 000000000..bf9e9b321
--- /dev/null
+++ b/src/runtime/c/gu/intern.h
@@ -0,0 +1,24 @@
+#ifndef GU_INTERN_H_
+#define GU_INTERN_H_
+
+#include <gu/map.h>
+#include <gu/str.h>
+#include <gu/string.h>
+
+typedef struct GuIntern GuIntern;
+
+GuIntern* gu_new_intern(GuPool* str_pool, GuPool* pool);
+const char* gu_intern_str(GuIntern* intern, const char* cstr);
+
+
+typedef struct GuSymTable GuSymTable;
+
+typedef GuString GuSymbol;
+
+GuSymTable*
+gu_new_symtable(GuPool* sym_pool, GuPool* pool);
+
+GuSymbol
+gu_symtable_intern(GuSymTable* symtab, GuString string);
+
+#endif /* GU_INTERN_H_ */