42 #ifndef GUMBO_GUMBO_H_
43 #define GUMBO_GUMBO_H_
46 #define _CRT_SECURE_NO_WARNINGS
47 #define fileno _fileno
103 bool gumbo_string_equals(
110 bool gumbo_string_equals_ignore_case(
142 int gumbo_vector_index_of(
GumboVector* vector,
const void* element);
158 #include "tag_enum.h"
172 const char* gumbo_normalized_tagname(GumboTag tag);
204 GumboTag gumbo_tag_enum(
const char* tagname);
205 GumboTag gumbo_tagn_enum(
const char* tagname,
unsigned int length);
213 GUMBO_ATTR_NAMESPACE_NONE,
214 GUMBO_ATTR_NAMESPACE_XLINK,
215 GUMBO_ATTR_NAMESPACE_XML,
216 GUMBO_ATTR_NAMESPACE_XMLNS,
217 } GumboAttributeNamespaceEnum;
303 GUMBO_NODE_WHITESPACE,
322 GUMBO_DOCTYPE_NO_QUIRKS,
323 GUMBO_DOCTYPE_QUIRKS,
324 GUMBO_DOCTYPE_LIMITED_QUIRKS
325 } GumboQuirksModeEnum;
335 GUMBO_NAMESPACE_HTML,
337 GUMBO_NAMESPACE_MATHML
338 } GumboNamespaceEnum;
353 GUMBO_INSERTION_NORMAL = 0,
361 GUMBO_INSERTION_BY_PARSER = 1 << 0,
374 GUMBO_INSERTION_IMPLICIT_END_TAG = 1 << 1,
382 GUMBO_INSERTION_IMPLIED = 1 << 3,
390 GUMBO_INSERTION_CONVERTED_FROM_END_TAG = 1 << 4,
393 GUMBO_INSERTION_FROM_ISINDEX = 1 << 5,
396 GUMBO_INSERTION_FROM_IMAGE = 1 << 6,
403 GUMBO_INSERTION_RECONSTRUCTED_FORMATTING_ELEMENT = 1 << 7,
406 GUMBO_INSERTION_ADOPTION_AGENCY_CLONED = 1 << 8,
409 GUMBO_INSERTION_ADOPTION_AGENCY_MOVED = 1 << 9,
415 GUMBO_INSERTION_FOSTER_PARENTED = 1 << 10,
434 const char* public_identifier;
435 const char* system_identifier;
549 typedef void* (*GumboAllocatorFunction)(
void* userdata,
size_t size);
555 typedef void (*GumboDeallocatorFunction)(
void* userdata,
void* ptr);
622 extern const GumboOptions kGumboDefaultOptions;
655 GumboOutput* gumbo_parse(
const char* buffer);
661 GumboOutput* gumbo_parse_with_options(
662 const GumboOptions* options,
const char* buffer,
size_t buffer_length);
665 void gumbo_destroy_output(
const GumboOptions* options, GumboOutput* output);
671 #endif // GUMBO_GUMBO_H_