aboutsummaryrefslogtreecommitdiff
path: root/src/references.h
blob: 1bc187a30a6b6c121add83e6eb62fac584624187 (plain)
  1. #ifndef _REFERENCES_H_
  2. #define _REFERENCES_H_
  3. #define REFMAP_SIZE 16
  4. struct cmark_reference {
  5. struct cmark_reference *next;
  6. unsigned char *label;
  7. unsigned char *url;
  8. unsigned char *title;
  9. unsigned int hash;
  10. };
  11. typedef struct cmark_reference cmark_reference;
  12. struct cmark_reference_map {
  13. cmark_reference *table[REFMAP_SIZE];
  14. };
  15. typedef struct cmark_reference_map cmark_reference_map;
  16. cmark_reference_map *cmark_reference_map_new(void);
  17. void cmark_reference_map_free(cmark_reference_map *map);
  18. cmark_reference* cmark_reference_lookup(cmark_reference_map *map, cmark_chunk *label);
  19. extern void cmark_reference_create(cmark_reference_map *map, cmark_chunk *label, cmark_chunk *url, cmark_chunk *title);
  20. #ifndef CMARK_NO_SHORT_NAMES
  21. #define reference cmark_reference
  22. #define reference_map cmark_reference_map
  23. #define reference_map_new cmark_reference_map_new
  24. #define reference_map_free cmark_reference_map_free
  25. #define reference_lookup cmark_reference_lookup
  26. #define reference_create cmark_reference_create
  27. #endif
  28. #endif