#ifndef CMARK_AST_H #define CMARK_AST_H #include #include "config.h" #include "node.h" #include "buffer.h" #include "chunk.h" #include "cmark.h" #ifdef __cplusplus extern "C" { #endif #define REFMAP_SIZE 16 #define MAX_LINK_LABEL_LENGTH 1000 struct cmark_reference { struct cmark_reference *next; unsigned char *label; unsigned char *url; unsigned char *title; unsigned int hash; }; typedef struct cmark_reference cmark_reference; struct cmark_reference_map { cmark_reference *table[REFMAP_SIZE]; }; typedef struct cmark_reference_map cmark_reference_map; struct cmark_doc_parser { struct cmark_reference_map *refmap; struct cmark_node* root; struct cmark_node* current; int line_number; cmark_strbuf *curline; }; #ifdef __cplusplus } #endif #endif