summaryrefslogtreecommitdiff
path: root/src/references.h
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2014-09-17 14:05:04 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2014-09-17 14:05:04 -0700
commit309173a493aea59cce5cce1b52b86e01b041bb8f (patch)
tree30eea56599b096d11cf4eaad38d395b3910a35b4 /src/references.h
parent6326bc748c8f5f225d82c01fe6763776f2bbd88e (diff)
parent3aa56049d4b52b55a2313e51698090ee81e10036 (diff)
Merge pull request #66 from vmg/revamp
Enfastenate the C Parsenator
Diffstat (limited to 'src/references.h')
-rw-r--r--src/references.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/references.h b/src/references.h
new file mode 100644
index 0000000..28937f1
--- /dev/null
+++ b/src/references.h
@@ -0,0 +1,27 @@
+#ifndef _REFERENCES_H_
+#define _REFERENCES_H_
+
+#define REFMAP_SIZE 16
+
+struct reference {
+ struct reference *next;
+ unsigned char *label;
+ unsigned char *url;
+ unsigned char *title;
+ unsigned int hash;
+};
+
+typedef struct reference reference;
+
+struct reference_map {
+ reference *table[REFMAP_SIZE];
+};
+
+typedef struct reference_map reference_map;
+
+reference_map *reference_map_new(void);
+void reference_map_free(reference_map *map);
+reference* reference_lookup(reference_map *map, chunk *label);
+extern void reference_create(reference_map *map, chunk *label, chunk *url, chunk *title);
+
+#endif