summaryrefslogtreecommitdiff
path: root/src/references.h
diff options
context:
space:
mode:
authorVicent Marti <tanoku@gmail.com>2014-09-10 18:33:27 +0200
committerVicent Marti <tanoku@gmail.com>2014-09-10 18:33:27 +0200
commit94a79a605f3e76a43f1f87a5044f6761b99e5ca5 (patch)
tree76a24ad88117cf4948eebaf6b42c86d75fe7d1e2 /src/references.h
parent9d86d2f32303ae0048f6a5daa552bacceb9b12ea (diff)
Cleanup reference implementation
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..78fffe7
--- /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 reference *reference_create(reference_map *map, chunk *label, chunk *url, chunk *title);
+
+#endif