pub const SUPPORT_LOCALIZATIONS: u32 = 1;
pub const SUPPORT_CONSOLE_APP: u32 = 1;
pub const PLATFORM_NAME: &[u8; 6] = b"Linux\0";
pub const FILENAMES_CASE_SENSITIVE: u32 = 1;
pub const PRESERVE_FILE_TIMES: u32 = 1;
pub const HAS_FUTIME: u32 = 0;
pub const UTIME_NEEDS_CLOSED_FILE: u32 = 1;
pub const HAS_VSNPRINTF: u32 = 1;
pub const SUPPORT_POSIX_MAPPED_FILES: u32 = 1;
pub const EndOfStream: i32 = -1;
pub type __off_t = ::std::os::raw::c_long;
pub type __off64_t = ::std::os::raw::c_long;
pub type va_list = __builtin_va_list;
pub type FILE = _IO_FILE;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_marker {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_codecvt {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_wide_data {
_unused: [u8; 0],
}
pub type _IO_lock_t = ::std::os::raw::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_FILE {
pub _flags: ::std::os::raw::c_int,
pub _IO_read_ptr: *mut ::std::os::raw::c_char,
pub _IO_read_end: *mut ::std::os::raw::c_char,
pub _IO_read_base: *mut ::std::os::raw::c_char,
pub _IO_write_base: *mut ::std::os::raw::c_char,
pub _IO_write_ptr: *mut ::std::os::raw::c_char,
pub _IO_write_end: *mut ::std::os::raw::c_char,
pub _IO_buf_base: *mut ::std::os::raw::c_char,
pub _IO_buf_end: *mut ::std::os::raw::c_char,
pub _IO_save_base: *mut ::std::os::raw::c_char,
pub _IO_backup_base: *mut ::std::os::raw::c_char,
pub _IO_save_end: *mut ::std::os::raw::c_char,
pub _markers: *mut _IO_marker,
pub _chain: *mut _IO_FILE,
pub _fileno: ::std::os::raw::c_int,
pub _flags2: ::std::os::raw::c_int,
pub _old_offset: __off_t,
pub _cur_column: ::std::os::raw::c_ushort,
pub _vtable_offset: ::std::os::raw::c_schar,
pub _shortbuf: [::std::os::raw::c_char; 1usize],
pub _lock: *mut _IO_lock_t,
pub _offset: __off64_t,
pub _codecvt: *mut _IO_codecvt,
pub _wide_data: *mut _IO_wide_data,
pub _freeres_list: *mut _IO_FILE,
pub _freeres_buf: *mut ::std::os::raw::c_void,
pub __pad5: usize,
pub _mode: ::std::os::raw::c_int,
pub _unused2: [::std::os::raw::c_char; 20usize],
}
#[test]
fn bindgen_test_layout__IO_FILE() {
const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_IO_FILE>(),
216usize,
concat!("Size of: ", stringify!(_IO_FILE))
);
assert_eq!(
::std::mem::align_of::<_IO_FILE>(),
8usize,
concat!("Alignment of ", stringify!(_IO_FILE))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_ptr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_end)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_read_base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_ptr)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_write_end)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_buf_base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_buf_end)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_save_base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_backup_base)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_IO_save_end)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_markers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_chain)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_fileno)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
116usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_flags2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_old_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_cur_column)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
130usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_vtable_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
131usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_shortbuf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_lock)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_codecvt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_wide_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_freeres_list)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
176usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_freeres_buf)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(__pad5)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_mode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
196usize,
concat!(
"Offset of field: ",
stringify!(_IO_FILE),
"::",
stringify!(_unused2)
)
);
}
pub type ulong = ::std::os::raw::c_ulong;
pub type uint = ::std::os::raw::c_uint;
pub type byte = ::std::os::raw::c_uchar;
pub type tchar = uint;
pub type tmbchar = ::std::os::raw::c_char;
pub type tmbstr = *mut tmbchar;
pub type ctmbstr = *const tmbchar;
pub const Bool_no: Bool = 0;
pub const Bool_yes: Bool = 1;
pub type Bool = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyIterator {
pub _opaque: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__TidyIterator() {
const UNINIT: ::std::mem::MaybeUninit<_TidyIterator> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyIterator>(),
4usize,
concat!("Size of: ", stringify!(_TidyIterator))
);
assert_eq!(
::std::mem::align_of::<_TidyIterator>(),
4usize,
concat!("Alignment of ", stringify!(_TidyIterator))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._opaque) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyIterator),
"::",
stringify!(_opaque)
)
);
}
pub type TidyIterator = *const _TidyIterator;
#[repr(u32)]
#[doc = " Option IDs are used used to get and/or set configuration option values and\n retrieve their descriptions.\n\n @remark These enum members all have associated localized strings available\n which describe the purpose of the option. These descriptions are\n available via their enum values only.\n\n @sa `config.c:option_defs[]` for internal implementation details; that\n array is where you will implement options defined in this enum; and\n it's important to add a string describing the option to\n `language_en.h`, too."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyOptionId {
#[doc = "< Unknown option!"]
UnknownOption = 0,
#[doc = "< Accessibility check level"]
AccessibilityCheckLevel = 1,
#[doc = "< Default text for alt attribute"]
AltText = 2,
#[doc = "< Define anchors as name attributes"]
AnchorAsName = 3,
#[doc = "< Convert quotes and dashes to nearest ASCII char"]
AsciiChars = 4,
#[doc = "< Declared block tags"]
BlockTags = 5,
#[doc = "< Output BODY content only"]
BodyOnly = 6,
#[doc = "< Output newline before <br> or not?"]
BreakBeforeBR = 7,
#[doc = "< In/out character encoding"]
CharEncoding = 8,
#[doc = "< Coerce end tags from start tags where probably intended"]
CoerceEndTags = 9,
#[doc = "< CSS class naming for clean option"]
CSSPrefix = 10,
#[doc = "< Internal use ONLY"]
CustomTags = 11,
#[doc = "< Mark inferred UL elements with no indent CSS"]
DecorateInferredUL = 12,
#[doc = "< User specified doctype"]
Doctype = 13,
#[doc = "< Internal use ONLY"]
DoctypeMode = 14,
#[doc = "< Discard empty elements"]
DropEmptyElems = 15,
#[doc = "< Discard empty p elements"]
DropEmptyParas = 16,
#[doc = "< Discard proprietary attributes"]
DropPropAttrs = 17,
#[doc = "< Keep first or last duplicate attribute"]
DuplicateAttrs = 18,
#[doc = "< If true, format error output for GNU Emacs"]
Emacs = 19,
#[doc = "< Internal use ONLY"]
EmacsFile = 20,
#[doc = "< Declared empty tags"]
EmptyTags = 21,
#[doc = "< If yes text in blocks is wrapped in P's"]
EncloseBlockText = 22,
#[doc = "< If yes text at body is wrapped in P's"]
EncloseBodyText = 23,
#[doc = "< File name to write errors to"]
ErrFile = 24,
#[doc = "< Replace <![CDATA[]]> sections with escaped text"]
EscapeCdata = 25,
#[doc = "< Escape items that look like closing tags in script tags"]
EscapeScripts = 26,
#[doc = "< Fix URLs by replacing \\ with /"]
FixBackslash = 27,
#[doc = "< Fix comments with adjacent hyphens"]
FixComments = 28,
#[doc = "< Applies URI encoding if necessary"]
FixUri = 29,
#[doc = "< Output document even if errors were found"]
ForceOutput = 30,
#[doc = "< Clean up HTML exported from Google Docs"]
GDocClean = 31,
#[doc = "< Hides all (real) comments in output"]
HideComments = 32,
#[doc = "< Output plain HTML, even for XHTML input."]
HtmlOut = 33,
#[doc = "< Input character encoding (if different)"]
InCharEncoding = 34,
#[doc = "< Newline+indent before each attribute"]
IndentAttributes = 35,
#[doc = "< Indent <!CDATA[ ... ]]> section"]
IndentCdata = 36,
#[doc = "< Indent content of appropriate tags"]
IndentContent = 37,
#[doc = "< Indentation n spaces/tabs"]
IndentSpaces = 38,
#[doc = "< Declared inline tags"]
InlineTags = 39,
#[doc = "< Join multiple class attributes"]
JoinClasses = 40,
#[doc = "< Join multiple style attributes"]
JoinStyles = 41,
#[doc = "< If yes last modied time is preserved"]
KeepFileTimes = 42,
#[doc = "< If yes keep input source tabs"]
KeepTabs = 43,
#[doc = "< If true attributes may use newlines"]
LiteralAttribs = 44,
#[doc = "< Replace i by em and b by strong"]
LogicalEmphasis = 45,
#[doc = "< Folds known attribute values to lower case"]
LowerLiterals = 46,
#[doc = "< Replace smart quotes, em dashes, etc with ASCII"]
MakeBare = 47,
#[doc = "< Replace presentational clutter by style rules"]
MakeClean = 48,
#[doc = "< Add meta element indicating tidied doc"]
Mark = 49,
#[doc = "< Merge multiple DIVs"]
MergeDivs = 50,
#[doc = "< Merge nested B and I elements"]
MergeEmphasis = 51,
#[doc = "< Merge multiple SPANs"]
MergeSpans = 52,
#[doc = "< Adds/checks/fixes meta charset in the head, based on document type"]
MetaCharset = 53,
#[doc = "< Filter these messages from output."]
MuteReports = 54,
#[doc = "< Show message ID's in the error table"]
MuteShow = 55,
#[doc = "< Allow numeric character references"]
NCR = 56,
#[doc = "< Output line ending (default to platform)"]
Newline = 57,
#[doc = "< Use numeric entities"]
NumEntities = 58,
#[doc = "< Suppress optional start tags and end tags"]
OmitOptionalTags = 59,
#[doc = "< Output character encoding (if different)"]
OutCharEncoding = 60,
#[doc = "< File name to write markup to"]
OutFile = 61,
#[doc = "< Output a Byte Order Mark (BOM) for UTF-16 encodings"]
OutputBOM = 62,
#[doc = "< Indent using tabs istead of spaces"]
PPrintTabs = 63,
#[doc = "< Preserve entities"]
PreserveEntities = 64,
#[doc = "< Declared pre tags"]
PreTags = 65,
#[doc = "< Attributes to place first in an element"]
PriorityAttributes = 66,
#[doc = "< consider punctuation and breaking spaces for wrapping"]
PunctWrap = 67,
#[doc = "< No 'Parsing X', guessed DTD or summary"]
Quiet = 68,
#[doc = "< Output naked ampersand as &"]
QuoteAmpersand = 69,
#[doc = "< Output \" marks as ""]
QuoteMarks = 70,
#[doc = "< Output non-breaking space as entity"]
QuoteNbsp = 71,
#[doc = "< Replace hex color attribute values with names"]
ReplaceColor = 72,
#[doc = "< Number of errors to put out"]
ShowErrors = 73,
#[doc = "< If true, the input filename is displayed with the error messages"]
ShowFilename = 74,
#[doc = "< If true, info-level messages are shown"]
ShowInfo = 75,
#[doc = "< If false, normal output is suppressed"]
ShowMarkup = 76,
#[doc = "< show when meta http-equiv content charset was changed - compatibility"]
ShowMetaChange = 77,
#[doc = "< However errors are always shown"]
ShowWarnings = 78,
#[doc = "< Skip nested tags in script and style CDATA"]
SkipNested = 79,
#[doc = "< Sort attributes"]
SortAttributes = 80,
#[doc = "< Ensure tags and attributes match output HTML version"]
StrictTagsAttr = 81,
#[doc = "< Move sytle to head"]
StyleTags = 82,
#[doc = "< Expand tabs to n spaces"]
TabSize = 83,
#[doc = "< Output attributes in upper not lower case"]
UpperCaseAttrs = 84,
#[doc = "< Output tags in upper not lower case"]
UpperCaseTags = 85,
#[doc = "< Enable Tidy to use autonomous custom tags"]
UseCustomTags = 86,
#[doc = "< degree to which markup is spread out vertically"]
VertSpace = 87,
#[doc = "< Warns on proprietary attributes"]
WarnPropAttrs = 88,
#[doc = "< Draconian cleaning for Word2000"]
Word2000 = 89,
#[doc = "< Wrap within ASP pseudo elements"]
WrapAsp = 90,
#[doc = "< Wrap within attribute values"]
WrapAttVals = 91,
#[doc = "< Wrap within JSTE pseudo elements"]
WrapJste = 92,
#[doc = "< Wrap margin"]
WrapLen = 93,
#[doc = "< Wrap consecutive PHP pseudo elements"]
WrapPhp = 94,
#[doc = "< Wrap within JavaScript string literals"]
WrapScriptlets = 95,
#[doc = "< Wrap within <![ ... ]> section tags"]
WrapSection = 96,
#[doc = "< If true then output tidied markup"]
WriteBack = 97,
#[doc = "< Output extensible HTML"]
XhtmlOut = 98,
#[doc = "< Add <?xml?> for XML docs"]
XmlDecl = 99,
#[doc = "< Create output as XML"]
XmlOut = 100,
#[doc = "< If set to yes PIs must end with ?>"]
XmlPIs = 101,
#[doc = "< If set to yes adds xml:space attr as needed"]
XmlSpace = 102,
#[doc = "< Treat input as XML"]
XmlTags = 103,
#[doc = "< Must be last"]
N_TIDY_OPTIONS = 104,
}
#[repr(u32)]
#[doc = " Categories of Tidy configuration options, which are used mostly by user\n interfaces to sort Tidy options into related groups.\n\n @remark These enum members all have associated localized strings available\n suitable for use as a category label, and are available with either\n the enum value, or a string version of the name.\n\n @sa `config.c:option_defs[]` for internal implementation details."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyConfigCategory {
#[doc = "< Unknown Category!"]
UnknownCategory = 300,
Diagnostics = 301,
Display = 302,
DocumentIO = 303,
Encoding = 304,
FileIO = 305,
MarkupCleanup = 306,
MarkupEntities = 307,
MarkupRepair = 308,
MarkupTeach = 309,
MarkupXForm = 310,
PrettyPrint = 311,
InternalCategory = 312,
}
#[repr(u32)]
#[doc = " A Tidy configuration option can have one of these data types."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyOptionType {
#[doc = "< String"]
String = 0,
#[doc = "< Integer or enumeration"]
Integer = 1,
#[doc = "< Boolean"]
Boolean = 2,
}
#[repr(u32)]
#[doc = " AutoBool values used by ParseBool, ParseTriState, ParseIndent, ParseBOM\n @remark This enum's starting value is guaranteed to remain stable."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyTriState {
#[doc = "< maps to 'no'"]
NoState = 0,
#[doc = "< maps to 'yes'"]
YesState = 1,
#[doc = "< Automatic"]
AutoState = 2,
}
#[repr(u32)]
#[doc = " Values used by ParseUseCustomTags, which describes how Autonomous Custom\n tags (ACT's) found by Tidy are treated.\n\n @remark These enum members all have associated localized strings available\n for internal LibTidy use, and also have public string keys in the\n form MEMBER_STRING, e.g., TIDYCUSTOMBLOCKLEVEL_STRING\n\n @remark This enum's starting value is guaranteed to remain stable."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyUseCustomTagsState {
#[doc = "< Do not allow autonomous custom tags"]
No = 0,
#[doc = "< ACT's treated as blocklevel"]
Blocklevel = 1,
#[doc = "< ACT's treated as empty tags"]
Empty = 2,
#[doc = "< ACT's treated as inline tags"]
Inline = 3,
#[doc = "< ACT's treated as pre tags"]
Pre = 4,
}
#[repr(u32)]
#[doc = " TidyNewline option values to control output line endings.\n @remark This enum's starting value is guaranteed to remain stable."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyLineEnding {
#[doc = "< Use Unix style: LF"]
LF = 0,
#[doc = "< Use DOS/Windows style: CR+LF"]
CRLF = 1,
#[doc = "< Use Macintosh style: CR"]
CR = 2,
}
#[repr(u32)]
#[doc = " TidyEncodingOptions option values specify the input and/or output encoding.\n @remark This enum's starting value is guaranteed to remain stable."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyEncodingOptions {
Raw = 0,
Ascii = 1,
Latin0 = 2,
Latin1 = 3,
Utf8 = 4,
Iso2022 = 5,
Mac = 6,
Win1252 = 7,
Ibm858 = 8,
Utf16le = 9,
Utf16be = 10,
Utf16 = 11,
Big5 = 12,
Shiftjis = 13,
}
#[repr(u32)]
#[doc = " Mode controlling treatment of doctype\n @remark This enum's starting value is guaranteed to remain stable."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyDoctypeModes {
#[doc = "< <!DOCTYPE html>"]
Html5 = 0,
#[doc = "< Omit DOCTYPE altogether"]
Omit = 1,
#[doc = "< Keep DOCTYPE in input. Set version to content"]
Auto = 2,
#[doc = "< Convert document to HTML 4 strict content model"]
Strict = 3,
#[doc = "< Convert document to HTML 4 transitional content model"]
Loose = 4,
#[doc = "< Set DOCTYPE FPI explicitly"]
User = 5,
}
#[repr(u32)]
#[doc = " Mode controlling treatment of duplicate Attributes\n @remark This enum's starting value is guaranteed to remain stable."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyDupAttrModes {
#[doc = "< Keep the first instance of an attribute"]
KeepFirst = 0,
#[doc = "< Keep the last instance of an attribute"]
KeepLast = 1,
}
#[repr(u32)]
#[doc = " Mode controlling treatment of sorting attributes\n @remark This enum's starting value is guaranteed to remain stable."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyAttrSortStrategy {
#[doc = "< Don't sort attributes"]
None = 0,
#[doc = "< Sort attributes alphabetically"]
Alpha = 1,
}
#[repr(u32)]
#[doc = " Mode controlling capitalization of things, such as attributes.\n @remark This enum's starting value is guaranteed to remain stable."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyUppercase {
#[doc = "< Don't uppercase."]
No = 0,
#[doc = "< Do uppercase."]
Yes = 1,
#[doc = "< Preserve case."]
Preserve = 2,
}
#[repr(u32)]
#[doc = " Node types"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyNodeType {
#[doc = "< Root"]
Root = 0,
#[doc = "< DOCTYPE"]
DocType = 1,
#[doc = "< Comment"]
Comment = 2,
#[doc = "< Processing Instruction"]
ProcIns = 3,
#[doc = "< Text"]
Text = 4,
#[doc = "< Start Tag"]
Start = 5,
#[doc = "< End Tag"]
End = 6,
#[doc = "< Start/End (empty) Tag"]
StartEnd = 7,
#[doc = "< Unparsed Text"]
CDATA = 8,
#[doc = "< XML Section"]
Section = 9,
#[doc = "< ASP Source"]
Asp = 10,
#[doc = "< JSTE Source"]
Jste = 11,
#[doc = "< PHP Source"]
Php = 12,
#[doc = "< XML Declaration"]
XmlDecl = 13,
}
#[repr(u32)]
#[doc = " Known HTML element types"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyTagId {
#[doc = "< Unknown tag! Must be first"]
UNKNOWN = 0,
#[doc = "< A"]
A = 1,
#[doc = "< ABBR"]
ABBR = 2,
#[doc = "< ACRONYM"]
ACRONYM = 3,
#[doc = "< ADDRESS"]
ADDRESS = 4,
#[doc = "< ALIGN"]
ALIGN = 5,
#[doc = "< APPLET"]
APPLET = 6,
#[doc = "< AREA"]
AREA = 7,
#[doc = "< B"]
B = 8,
#[doc = "< BASE"]
BASE = 9,
#[doc = "< BASEFONT"]
BASEFONT = 10,
#[doc = "< BDO"]
BDO = 11,
#[doc = "< BGSOUND"]
BGSOUND = 12,
#[doc = "< BIG"]
BIG = 13,
#[doc = "< BLINK"]
BLINK = 14,
#[doc = "< BLOCKQUOTE"]
BLOCKQUOTE = 15,
#[doc = "< BODY"]
BODY = 16,
#[doc = "< BR"]
BR = 17,
#[doc = "< BUTTON"]
BUTTON = 18,
#[doc = "< CAPTION"]
CAPTION = 19,
#[doc = "< CENTER"]
CENTER = 20,
#[doc = "< CITE"]
CITE = 21,
#[doc = "< CODE"]
CODE = 22,
#[doc = "< COL"]
COL = 23,
#[doc = "< COLGROUP"]
COLGROUP = 24,
#[doc = "< COMMENT"]
COMMENT = 25,
#[doc = "< DD"]
DD = 26,
#[doc = "< DEL"]
DEL = 27,
#[doc = "< DFN"]
DFN = 28,
#[doc = "< DIR"]
DIR = 29,
#[doc = "< DIF"]
DIV = 30,
#[doc = "< DL"]
DL = 31,
#[doc = "< DT"]
DT = 32,
#[doc = "< EM"]
EM = 33,
#[doc = "< EMBED"]
EMBED = 34,
#[doc = "< FIELDSET"]
FIELDSET = 35,
#[doc = "< FONT"]
FONT = 36,
#[doc = "< FORM"]
FORM = 37,
#[doc = "< FRAME"]
FRAME = 38,
#[doc = "< FRAMESET"]
FRAMESET = 39,
#[doc = "< H1"]
H1 = 40,
#[doc = "< H2"]
H2 = 41,
#[doc = "< H3"]
H3 = 42,
#[doc = "< H4"]
H4 = 43,
#[doc = "< H5"]
H5 = 44,
#[doc = "< H6"]
H6 = 45,
#[doc = "< HEAD"]
HEAD = 46,
#[doc = "< HR"]
HR = 47,
#[doc = "< HTML"]
HTML = 48,
#[doc = "< I"]
I = 49,
#[doc = "< IFRAME"]
IFRAME = 50,
#[doc = "< ILAYER"]
ILAYER = 51,
#[doc = "< IMG"]
IMG = 52,
#[doc = "< INPUT"]
INPUT = 53,
#[doc = "< INS"]
INS = 54,
#[doc = "< ISINDEX"]
ISINDEX = 55,
#[doc = "< KBD"]
KBD = 56,
#[doc = "< KEYGEN"]
KEYGEN = 57,
#[doc = "< LABEL"]
LABEL = 58,
#[doc = "< LAYER"]
LAYER = 59,
#[doc = "< LEGEND"]
LEGEND = 60,
#[doc = "< LI"]
LI = 61,
#[doc = "< LINK"]
LINK = 62,
#[doc = "< LISTING"]
LISTING = 63,
#[doc = "< MAP"]
MAP = 64,
#[doc = "< MATH (HTML5) [i_a]2 MathML embedded in [X]HTML"]
MATHML = 65,
#[doc = "< MARQUEE"]
MARQUEE = 66,
#[doc = "< MENU"]
MENU = 67,
#[doc = "< META"]
META = 68,
#[doc = "< MULTICOL"]
MULTICOL = 69,
#[doc = "< NOBR"]
NOBR = 70,
#[doc = "< NOEMBED"]
NOEMBED = 71,
#[doc = "< NOFRAMES"]
NOFRAMES = 72,
#[doc = "< NOLAYER"]
NOLAYER = 73,
#[doc = "< NOSAVE"]
NOSAVE = 74,
#[doc = "< NOSCRIPT"]
NOSCRIPT = 75,
#[doc = "< OBJECT"]
OBJECT = 76,
#[doc = "< OL"]
OL = 77,
#[doc = "< OPTGROUP"]
OPTGROUP = 78,
#[doc = "< OPTION"]
OPTION = 79,
#[doc = "< P"]
P = 80,
#[doc = "< PARAM"]
PARAM = 81,
#[doc = "< PICTURE (HTML5)"]
PICTURE = 82,
#[doc = "< PLAINTEXT"]
PLAINTEXT = 83,
#[doc = "< PRE"]
PRE = 84,
#[doc = "< Q"]
Q = 85,
#[doc = "< RB"]
RB = 86,
#[doc = "< RBC"]
RBC = 87,
#[doc = "< RP"]
RP = 88,
#[doc = "< RT"]
RT = 89,
#[doc = "< RTC"]
RTC = 90,
#[doc = "< RUBY"]
RUBY = 91,
#[doc = "< S"]
S = 92,
#[doc = "< SAMP"]
SAMP = 93,
#[doc = "< SCRIPT"]
SCRIPT = 94,
#[doc = "< SELECT"]
SELECT = 95,
#[doc = "< SERVER"]
SERVER = 96,
#[doc = "< SERVLET"]
SERVLET = 97,
#[doc = "< SMALL"]
SMALL = 98,
#[doc = "< SPACER"]
SPACER = 99,
#[doc = "< SPAN"]
SPAN = 100,
#[doc = "< STRIKE"]
STRIKE = 101,
#[doc = "< STRONG"]
STRONG = 102,
#[doc = "< STYLE"]
STYLE = 103,
#[doc = "< SUB"]
SUB = 104,
#[doc = "< SUP"]
SUP = 105,
#[doc = "< SVG (HTML5)"]
SVG = 106,
#[doc = "< TABLE"]
TABLE = 107,
#[doc = "< TBODY"]
TBODY = 108,
#[doc = "< TD"]
TD = 109,
#[doc = "< TEXTAREA"]
TEXTAREA = 110,
#[doc = "< TFOOT"]
TFOOT = 111,
#[doc = "< TH"]
TH = 112,
#[doc = "< THEAD"]
THEAD = 113,
#[doc = "< TITLE"]
TITLE = 114,
#[doc = "< TR"]
TR = 115,
#[doc = "< TT"]
TT = 116,
#[doc = "< U"]
U = 117,
#[doc = "< UL"]
UL = 118,
#[doc = "< VAR"]
VAR = 119,
#[doc = "< WBR"]
WBR = 120,
#[doc = "< XMP"]
XMP = 121,
#[doc = "< NEXTID"]
NEXTID = 122,
#[doc = "< ARTICLE"]
ARTICLE = 123,
#[doc = "< ASIDE"]
ASIDE = 124,
#[doc = "< AUDIO"]
AUDIO = 125,
#[doc = "< BDI"]
BDI = 126,
#[doc = "< CANVAS"]
CANVAS = 127,
#[doc = "< COMMAND"]
COMMAND = 128,
#[doc = "< DATA"]
DATA = 129,
#[doc = "< DATALIST"]
DATALIST = 130,
#[doc = "< DETAILS"]
DETAILS = 131,
#[doc = "< DIALOG"]
DIALOG = 132,
#[doc = "< FIGCAPTION"]
FIGCAPTION = 133,
#[doc = "< FIGURE"]
FIGURE = 134,
#[doc = "< FOOTER"]
FOOTER = 135,
#[doc = "< HEADER"]
HEADER = 136,
#[doc = "< HGROUP"]
HGROUP = 137,
#[doc = "< MAIN"]
MAIN = 138,
#[doc = "< MARK"]
MARK = 139,
#[doc = "< MENUITEM"]
MENUITEM = 140,
#[doc = "< METER"]
METER = 141,
#[doc = "< NAV"]
NAV = 142,
#[doc = "< OUTPUT"]
OUTPUT = 143,
#[doc = "< PROGRESS"]
PROGRESS = 144,
#[doc = "< SECTION"]
SECTION = 145,
#[doc = "< SOURCE"]
SOURCE = 146,
#[doc = "< SUMMARY"]
SUMMARY = 147,
#[doc = "< TEMPLATE"]
TEMPLATE = 148,
#[doc = "< TIME"]
TIME = 149,
#[doc = "< TRACK"]
TRACK = 150,
#[doc = "< VIDEO"]
VIDEO = 151,
#[doc = "< SLOT"]
SLOT = 152,
#[doc = "< Must be last"]
N_TIDY_TAGS = 153,
}
#[repr(u32)]
#[doc = " Known HTML attributes"]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyAttrId {
#[doc = "< UNKNOWN="]
UNKNOWN = 0,
#[doc = "< ABBR="]
ABBR = 1,
#[doc = "< ACCEPT="]
ACCEPT = 2,
#[doc = "< ACCEPT_CHARSET="]
ACCEPT_CHARSET = 3,
#[doc = "< ACCESSKEY="]
ACCESSKEY = 4,
#[doc = "< ACTION="]
ACTION = 5,
#[doc = "< ADD_DATE="]
ADD_DATE = 6,
#[doc = "< ALIGN="]
ALIGN = 7,
#[doc = "< ALINK="]
ALINK = 8,
#[doc = "< ALLOWFULLSCREEN="]
ALLOWFULLSCREEN = 9,
#[doc = "< ALT="]
ALT = 10,
#[doc = "< ARCHIVE="]
ARCHIVE = 11,
#[doc = "< AXIS="]
AXIS = 12,
#[doc = "< BACKGROUND="]
BACKGROUND = 13,
#[doc = "< BGCOLOR="]
BGCOLOR = 14,
#[doc = "< BGPROPERTIES="]
BGPROPERTIES = 15,
#[doc = "< BORDER="]
BORDER = 16,
#[doc = "< BORDERCOLOR="]
BORDERCOLOR = 17,
#[doc = "< BOTTOMMARGIN="]
BOTTOMMARGIN = 18,
#[doc = "< CELLPADDING="]
CELLPADDING = 19,
#[doc = "< CELLSPACING="]
CELLSPACING = 20,
#[doc = "< CHAR="]
CHAR = 21,
#[doc = "< CHAROFF="]
CHAROFF = 22,
#[doc = "< CHARSET="]
CHARSET = 23,
#[doc = "< CHECKED="]
CHECKED = 24,
#[doc = "< CITE="]
CITE = 25,
#[doc = "< CLASS="]
CLASS = 26,
#[doc = "< CLASSID="]
CLASSID = 27,
#[doc = "< CLEAR="]
CLEAR = 28,
#[doc = "< CODE="]
CODE = 29,
#[doc = "< CODEBASE="]
CODEBASE = 30,
#[doc = "< CODETYPE="]
CODETYPE = 31,
#[doc = "< COLOR="]
COLOR = 32,
#[doc = "< COLS="]
COLS = 33,
#[doc = "< COLSPAN="]
COLSPAN = 34,
#[doc = "< COMPACT="]
COMPACT = 35,
#[doc = "< CONTENT="]
CONTENT = 36,
#[doc = "< COORDS="]
COORDS = 37,
#[doc = "< DATA="]
DATA = 38,
#[doc = "< DATAFLD="]
DATAFLD = 39,
#[doc = "< DATAFORMATAS="]
DATAFORMATAS = 40,
#[doc = "< DATAPAGESIZE="]
DATAPAGESIZE = 41,
#[doc = "< DATASRC="]
DATASRC = 42,
#[doc = "< DATETIME="]
DATETIME = 43,
#[doc = "< DECLARE="]
DECLARE = 44,
#[doc = "< DEFER="]
DEFER = 45,
#[doc = "< DIR="]
DIR = 46,
#[doc = "< DISABLED="]
DISABLED = 47,
#[doc = "< DOWNLOAD="]
DOWNLOAD = 48,
#[doc = "< ENCODING="]
ENCODING = 49,
#[doc = "< ENCTYPE="]
ENCTYPE = 50,
#[doc = "< FACE="]
FACE = 51,
#[doc = "< FOR="]
FOR = 52,
#[doc = "< FRAME="]
FRAME = 53,
#[doc = "< FRAMEBORDER="]
FRAMEBORDER = 54,
#[doc = "< FRAMESPACING="]
FRAMESPACING = 55,
#[doc = "< GRIDX="]
GRIDX = 56,
#[doc = "< GRIDY="]
GRIDY = 57,
#[doc = "< HEADERS="]
HEADERS = 58,
#[doc = "< HEIGHT="]
HEIGHT = 59,
#[doc = "< HREF="]
HREF = 60,
#[doc = "< HREFLANG="]
HREFLANG = 61,
#[doc = "< HSPACE="]
HSPACE = 62,
#[doc = "< HTTP_EQUIV="]
HTTP_EQUIV = 63,
#[doc = "< ID="]
ID = 64,
#[doc = "< IS="]
IS = 65,
#[doc = "< ISMAP="]
ISMAP = 66,
#[doc = "< ITEMID="]
ITEMID = 67,
#[doc = "< ITEMPROP="]
ITEMPROP = 68,
#[doc = "< ITEMREF="]
ITEMREF = 69,
#[doc = "< ITEMSCOPE="]
ITEMSCOPE = 70,
#[doc = "< ITEMTYPE="]
ITEMTYPE = 71,
#[doc = "< LABEL="]
LABEL = 72,
#[doc = "< LANG="]
LANG = 73,
#[doc = "< LANGUAGE="]
LANGUAGE = 74,
#[doc = "< LAST_MODIFIED="]
LAST_MODIFIED = 75,
#[doc = "< LAST_VISIT="]
LAST_VISIT = 76,
#[doc = "< LEFTMARGIN="]
LEFTMARGIN = 77,
#[doc = "< LINK="]
LINK = 78,
#[doc = "< LONGDESC="]
LONGDESC = 79,
#[doc = "< LOWSRC="]
LOWSRC = 80,
#[doc = "< MARGINHEIGHT="]
MARGINHEIGHT = 81,
#[doc = "< MARGINWIDTH="]
MARGINWIDTH = 82,
#[doc = "< MAXLENGTH="]
MAXLENGTH = 83,
#[doc = "< MEDIA="]
MEDIA = 84,
#[doc = "< METHOD="]
METHOD = 85,
#[doc = "< MULTIPLE="]
MULTIPLE = 86,
#[doc = "< NAME="]
NAME = 87,
#[doc = "< NOHREF="]
NOHREF = 88,
#[doc = "< NORESIZE="]
NORESIZE = 89,
#[doc = "< NOSHADE="]
NOSHADE = 90,
#[doc = "< NOWRAP="]
NOWRAP = 91,
#[doc = "< OBJECT="]
OBJECT = 92,
#[doc = "< OnAFTERUPDATE="]
OnAFTERUPDATE = 93,
#[doc = "< OnBEFOREUNLOAD="]
OnBEFOREUNLOAD = 94,
#[doc = "< OnBEFOREUPDATE="]
OnBEFOREUPDATE = 95,
#[doc = "< OnBLUR="]
OnBLUR = 96,
#[doc = "< OnCHANGE="]
OnCHANGE = 97,
#[doc = "< OnCLICK="]
OnCLICK = 98,
#[doc = "< OnDATAAVAILABLE="]
OnDATAAVAILABLE = 99,
#[doc = "< OnDATASETCHANGED="]
OnDATASETCHANGED = 100,
#[doc = "< OnDATASETCOMPLETE="]
OnDATASETCOMPLETE = 101,
#[doc = "< OnDBLCLICK="]
OnDBLCLICK = 102,
#[doc = "< OnERRORUPDATE="]
OnERRORUPDATE = 103,
#[doc = "< OnFOCUS="]
OnFOCUS = 104,
#[doc = "< OnKEYDOWN="]
OnKEYDOWN = 105,
#[doc = "< OnKEYPRESS="]
OnKEYPRESS = 106,
#[doc = "< OnKEYUP="]
OnKEYUP = 107,
#[doc = "< OnLOAD="]
OnLOAD = 108,
#[doc = "< OnMOUSEDOWN="]
OnMOUSEDOWN = 109,
#[doc = "< OnMOUSEMOVE="]
OnMOUSEMOVE = 110,
#[doc = "< OnMOUSEOUT="]
OnMOUSEOUT = 111,
#[doc = "< OnMOUSEOVER="]
OnMOUSEOVER = 112,
#[doc = "< OnMOUSEUP="]
OnMOUSEUP = 113,
#[doc = "< OnRESET="]
OnRESET = 114,
#[doc = "< OnROWENTER="]
OnROWENTER = 115,
#[doc = "< OnROWEXIT="]
OnROWEXIT = 116,
#[doc = "< OnSELECT="]
OnSELECT = 117,
#[doc = "< OnSUBMIT="]
OnSUBMIT = 118,
#[doc = "< OnUNLOAD="]
OnUNLOAD = 119,
#[doc = "< PROFILE="]
PROFILE = 120,
#[doc = "< PROMPT="]
PROMPT = 121,
#[doc = "< RBSPAN="]
RBSPAN = 122,
#[doc = "< READONLY="]
READONLY = 123,
#[doc = "< REL="]
REL = 124,
#[doc = "< REV="]
REV = 125,
#[doc = "< RIGHTMARGIN="]
RIGHTMARGIN = 126,
#[doc = "< ROLE="]
ROLE = 127,
#[doc = "< ROWS="]
ROWS = 128,
#[doc = "< ROWSPAN="]
ROWSPAN = 129,
#[doc = "< RULES="]
RULES = 130,
#[doc = "< SCHEME="]
SCHEME = 131,
#[doc = "< SCOPE="]
SCOPE = 132,
#[doc = "< SCROLLING="]
SCROLLING = 133,
#[doc = "< SELECTED="]
SELECTED = 134,
#[doc = "< SHAPE="]
SHAPE = 135,
#[doc = "< SHOWGRID="]
SHOWGRID = 136,
#[doc = "< SHOWGRIDX="]
SHOWGRIDX = 137,
#[doc = "< SHOWGRIDY="]
SHOWGRIDY = 138,
#[doc = "< SIZE="]
SIZE = 139,
#[doc = "< SPAN="]
SPAN = 140,
#[doc = "< SRC="]
SRC = 141,
#[doc = "< SRCSET= (HTML5)"]
SRCSET = 142,
#[doc = "< STANDBY="]
STANDBY = 143,
#[doc = "< START="]
START = 144,
#[doc = "< STYLE="]
STYLE = 145,
#[doc = "< SUMMARY="]
SUMMARY = 146,
#[doc = "< TABINDEX="]
TABINDEX = 147,
#[doc = "< TARGET="]
TARGET = 148,
#[doc = "< TEXT="]
TEXT = 149,
#[doc = "< TITLE="]
TITLE = 150,
#[doc = "< TOPMARGIN="]
TOPMARGIN = 151,
#[doc = "< TRANSLATE="]
TRANSLATE = 152,
#[doc = "< TYPE="]
TYPE = 153,
#[doc = "< USEMAP="]
USEMAP = 154,
#[doc = "< VALIGN="]
VALIGN = 155,
#[doc = "< VALUE="]
VALUE = 156,
#[doc = "< VALUETYPE="]
VALUETYPE = 157,
#[doc = "< VERSION="]
VERSION = 158,
#[doc = "< VLINK="]
VLINK = 159,
#[doc = "< VSPACE="]
VSPACE = 160,
#[doc = "< WIDTH="]
WIDTH = 161,
#[doc = "< WRAP="]
WRAP = 162,
#[doc = "< XML_LANG="]
XML_LANG = 163,
#[doc = "< XML_SPACE="]
XML_SPACE = 164,
#[doc = "< XMLNS="]
XMLNS = 165,
#[doc = "< EVENT="]
EVENT = 166,
#[doc = "< METHODS="]
METHODS = 167,
#[doc = "< N="]
N = 168,
#[doc = "< SDAFORM="]
SDAFORM = 169,
#[doc = "< SDAPREF="]
SDAPREF = 170,
#[doc = "< SDASUFF="]
SDASUFF = 171,
#[doc = "< URN="]
URN = 172,
#[doc = "< ASYNC="]
ASYNC = 173,
#[doc = "< AUTOCOMPLETE="]
AUTOCOMPLETE = 174,
#[doc = "< AUTOFOCUS="]
AUTOFOCUS = 175,
#[doc = "< AUTOPLAY="]
AUTOPLAY = 176,
#[doc = "< CHALLENGE="]
CHALLENGE = 177,
#[doc = "< CONTENTEDITABLE="]
CONTENTEDITABLE = 178,
#[doc = "< CONTEXTMENU="]
CONTEXTMENU = 179,
#[doc = "< CONTROLS="]
CONTROLS = 180,
#[doc = "< CROSSORIGIN="]
CROSSORIGIN = 181,
#[doc = "< DEFAULT="]
DEFAULT = 182,
#[doc = "< DIRNAME="]
DIRNAME = 183,
#[doc = "< DRAGGABLE="]
DRAGGABLE = 184,
#[doc = "< DROPZONE="]
DROPZONE = 185,
#[doc = "< FORM="]
FORM = 186,
#[doc = "< FORMACTION="]
FORMACTION = 187,
#[doc = "< FORMENCTYPE="]
FORMENCTYPE = 188,
#[doc = "< FORMMETHOD="]
FORMMETHOD = 189,
#[doc = "< FORMNOVALIDATE="]
FORMNOVALIDATE = 190,
#[doc = "< FORMTARGET="]
FORMTARGET = 191,
#[doc = "< HIDDEN="]
HIDDEN = 192,
#[doc = "< HIGH="]
HIGH = 193,
#[doc = "< ICON="]
ICON = 194,
#[doc = "< KEYTYPE="]
KEYTYPE = 195,
#[doc = "< KIND="]
KIND = 196,
#[doc = "< LIST="]
LIST = 197,
#[doc = "< LOOP="]
LOOP = 198,
#[doc = "< LOW="]
LOW = 199,
#[doc = "< MANIFEST="]
MANIFEST = 200,
#[doc = "< MAX="]
MAX = 201,
#[doc = "< MEDIAGROUP="]
MEDIAGROUP = 202,
#[doc = "< MIN="]
MIN = 203,
#[doc = "< MUTED="]
MUTED = 204,
#[doc = "< NOVALIDATE="]
NOVALIDATE = 205,
#[doc = "< OPEN="]
OPEN = 206,
#[doc = "< OPTIMUM="]
OPTIMUM = 207,
#[doc = "< OnABORT="]
OnABORT = 208,
#[doc = "< OnAFTERPRINT="]
OnAFTERPRINT = 209,
#[doc = "< OnBEFOREPRINT="]
OnBEFOREPRINT = 210,
#[doc = "< OnCANPLAY="]
OnCANPLAY = 211,
#[doc = "< OnCANPLAYTHROUGH="]
OnCANPLAYTHROUGH = 212,
#[doc = "< OnCONTEXTMENU="]
OnCONTEXTMENU = 213,
#[doc = "< OnCUECHANGE="]
OnCUECHANGE = 214,
#[doc = "< OnDRAG="]
OnDRAG = 215,
#[doc = "< OnDRAGEND="]
OnDRAGEND = 216,
#[doc = "< OnDRAGENTER="]
OnDRAGENTER = 217,
#[doc = "< OnDRAGLEAVE="]
OnDRAGLEAVE = 218,
#[doc = "< OnDRAGOVER="]
OnDRAGOVER = 219,
#[doc = "< OnDRAGSTART="]
OnDRAGSTART = 220,
#[doc = "< OnDROP="]
OnDROP = 221,
#[doc = "< OnDURATIONCHANGE="]
OnDURATIONCHANGE = 222,
#[doc = "< OnEMPTIED="]
OnEMPTIED = 223,
#[doc = "< OnENDED="]
OnENDED = 224,
#[doc = "< OnERROR="]
OnERROR = 225,
#[doc = "< OnHASHCHANGE="]
OnHASHCHANGE = 226,
#[doc = "< OnINPUT="]
OnINPUT = 227,
#[doc = "< OnINVALID="]
OnINVALID = 228,
#[doc = "< OnLOADEDDATA="]
OnLOADEDDATA = 229,
#[doc = "< OnLOADEDMETADATA="]
OnLOADEDMETADATA = 230,
#[doc = "< OnLOADSTART="]
OnLOADSTART = 231,
#[doc = "< OnMESSAGE="]
OnMESSAGE = 232,
#[doc = "< OnMOUSEWHEEL="]
OnMOUSEWHEEL = 233,
#[doc = "< OnOFFLINE="]
OnOFFLINE = 234,
#[doc = "< OnONLINE="]
OnONLINE = 235,
#[doc = "< OnPAGEHIDE="]
OnPAGEHIDE = 236,
#[doc = "< OnPAGESHOW="]
OnPAGESHOW = 237,
#[doc = "< OnPAUSE="]
OnPAUSE = 238,
#[doc = "< OnPLAY="]
OnPLAY = 239,
#[doc = "< OnPLAYING="]
OnPLAYING = 240,
#[doc = "< OnPOPSTATE="]
OnPOPSTATE = 241,
#[doc = "< OnPROGRESS="]
OnPROGRESS = 242,
#[doc = "< OnRATECHANGE="]
OnRATECHANGE = 243,
#[doc = "< OnREADYSTATECHANGE="]
OnREADYSTATECHANGE = 244,
#[doc = "< OnREDO="]
OnREDO = 245,
#[doc = "< OnRESIZE="]
OnRESIZE = 246,
#[doc = "< OnSCROLL="]
OnSCROLL = 247,
#[doc = "< OnSEEKED="]
OnSEEKED = 248,
#[doc = "< OnSEEKING="]
OnSEEKING = 249,
#[doc = "< OnSHOW="]
OnSHOW = 250,
#[doc = "< OnSTALLED="]
OnSTALLED = 251,
#[doc = "< OnSTORAGE="]
OnSTORAGE = 252,
#[doc = "< OnSUSPEND="]
OnSUSPEND = 253,
#[doc = "< OnTIMEUPDATE="]
OnTIMEUPDATE = 254,
#[doc = "< OnUNDO="]
OnUNDO = 255,
#[doc = "< OnVOLUMECHANGE="]
OnVOLUMECHANGE = 256,
#[doc = "< OnWAITING="]
OnWAITING = 257,
#[doc = "< PATTERN="]
PATTERN = 258,
#[doc = "< PLACEHOLDER="]
PLACEHOLDER = 259,
#[doc = "< PLAYSINLINE="]
PLAYSINLINE = 260,
#[doc = "< POSTER="]
POSTER = 261,
#[doc = "< PRELOAD="]
PRELOAD = 262,
#[doc = "< PUBDATE="]
PUBDATE = 263,
#[doc = "< RADIOGROUP="]
RADIOGROUP = 264,
#[doc = "< REQUIRED="]
REQUIRED = 265,
#[doc = "< REVERSED="]
REVERSED = 266,
#[doc = "< SANDBOX="]
SANDBOX = 267,
#[doc = "< SCOPED="]
SCOPED = 268,
#[doc = "< SEAMLESS="]
SEAMLESS = 269,
#[doc = "< SIZES="]
SIZES = 270,
#[doc = "< SPELLCHECK="]
SPELLCHECK = 271,
#[doc = "< SRCDOC="]
SRCDOC = 272,
#[doc = "< SRCLANG="]
SRCLANG = 273,
#[doc = "< STEP="]
STEP = 274,
#[doc = "< ARIA_ACTIVEDESCENDANT"]
ARIA_ACTIVEDESCENDANT = 275,
#[doc = "< ARIA_ATOMIC="]
ARIA_ATOMIC = 276,
#[doc = "< ARIA_AUTOCOMPLETE="]
ARIA_AUTOCOMPLETE = 277,
#[doc = "< ARIA_BUSY="]
ARIA_BUSY = 278,
#[doc = "< ARIA_CHECKED="]
ARIA_CHECKED = 279,
#[doc = "< ARIA_CONTROLS="]
ARIA_CONTROLS = 280,
#[doc = "< ARIA_DESCRIBEDBY="]
ARIA_DESCRIBEDBY = 281,
#[doc = "< ARIA_DISABLED="]
ARIA_DISABLED = 282,
#[doc = "< ARIA_DROPEFFECT="]
ARIA_DROPEFFECT = 283,
#[doc = "< ARIA_EXPANDED="]
ARIA_EXPANDED = 284,
#[doc = "< ARIA_FLOWTO="]
ARIA_FLOWTO = 285,
#[doc = "< ARIA_GRABBED="]
ARIA_GRABBED = 286,
#[doc = "< ARIA_HASPOPUP="]
ARIA_HASPOPUP = 287,
#[doc = "< ARIA_HIDDEN="]
ARIA_HIDDEN = 288,
#[doc = "< ARIA_INVALID="]
ARIA_INVALID = 289,
#[doc = "< ARIA_LABEL="]
ARIA_LABEL = 290,
#[doc = "< ARIA_LABELLEDBY="]
ARIA_LABELLEDBY = 291,
#[doc = "< ARIA_LEVEL="]
ARIA_LEVEL = 292,
#[doc = "< ARIA_LIVE="]
ARIA_LIVE = 293,
#[doc = "< ARIA_MULTILINE="]
ARIA_MULTILINE = 294,
#[doc = "< ARIA_MULTISELECTABLE="]
ARIA_MULTISELECTABLE = 295,
#[doc = "< ARIA_ORIENTATION="]
ARIA_ORIENTATION = 296,
#[doc = "< ARIA_OWNS="]
ARIA_OWNS = 297,
#[doc = "< ARIA_POSINSET="]
ARIA_POSINSET = 298,
#[doc = "< ARIA_PRESSED="]
ARIA_PRESSED = 299,
#[doc = "< ARIA_READONLY="]
ARIA_READONLY = 300,
#[doc = "< ARIA_RELEVANT="]
ARIA_RELEVANT = 301,
#[doc = "< ARIA_REQUIRED="]
ARIA_REQUIRED = 302,
#[doc = "< ARIA_SELECTED="]
ARIA_SELECTED = 303,
#[doc = "< ARIA_SETSIZE="]
ARIA_SETSIZE = 304,
#[doc = "< ARIA_SORT="]
ARIA_SORT = 305,
#[doc = "< ARIA_VALUEMAX="]
ARIA_VALUEMAX = 306,
#[doc = "< ARIA_VALUEMIN="]
ARIA_VALUEMIN = 307,
#[doc = "< ARIA_VALUENOW="]
ARIA_VALUENOW = 308,
#[doc = "< ARIA_VALUETEXT="]
ARIA_VALUETEXT = 309,
#[doc = "< X="]
X = 310,
#[doc = "< Y="]
Y = 311,
#[doc = "< VIEWBOX="]
VIEWBOX = 312,
#[doc = "< PRESERVEASPECTRATIO="]
PRESERVEASPECTRATIO = 313,
#[doc = "< ZOOMANDPAN="]
ZOOMANDPAN = 314,
#[doc = "< BASEPROFILE="]
BASEPROFILE = 315,
#[doc = "< CONTENTSCRIPTTYPE="]
CONTENTSCRIPTTYPE = 316,
#[doc = "< CONTENTSTYLETYPE="]
CONTENTSTYLETYPE = 317,
#[doc = "< DISPLAY= (html5)"]
DISPLAY = 318,
#[doc = "< ABOUT="]
ABOUT = 319,
#[doc = "< DATATYPE="]
DATATYPE = 320,
#[doc = "< INLIST="]
INLIST = 321,
#[doc = "< PREFIX="]
PREFIX = 322,
#[doc = "< PROPERTY="]
PROPERTY = 323,
#[doc = "< RESOURCE="]
RESOURCE = 324,
#[doc = "< TYPEOF="]
TYPEOF = 325,
#[doc = "< VOCAB="]
VOCAB = 326,
#[doc = "< INTEGRITY="]
INTEGRITY = 327,
#[doc = "< AS="]
AS = 328,
#[doc = "< svg xmls:xlink=\"url\""]
XMLNSXLINK = 329,
#[doc = "< SLOT="]
SLOT = 330,
#[doc = "< LOADING="]
LOADING = 331,
#[doc = "< FILL="]
FILL = 332,
#[doc = "< FILLRULE="]
FILLRULE = 333,
#[doc = "< STROKE="]
STROKE = 334,
#[doc = "< STROKEDASHARRAY="]
STROKEDASHARRAY = 335,
#[doc = "< STROKEDASHOFFSET="]
STROKEDASHOFFSET = 336,
#[doc = "< STROKELINECAP="]
STROKELINECAP = 337,
#[doc = "< STROKELINEJOIN="]
STROKELINEJOIN = 338,
#[doc = "< STROKEMITERLIMIT="]
STROKEMITERLIMIT = 339,
#[doc = "< STROKEWIDTH="]
STROKEWIDTH = 340,
#[doc = "< COLORINTERPOLATION="]
COLORINTERPOLATION = 341,
#[doc = "< COLORRENDERING="]
COLORRENDERING = 342,
#[doc = "< OPACITY="]
OPACITY = 343,
#[doc = "< STROKEOPACITY="]
STROKEOPACITY = 344,
#[doc = "< FILLOPACITY="]
FILLOPACITY = 345,
#[doc = "< Must be last"]
N_TIDY_ATTRIBS = 346,
}
impl TidyReportLevel {
pub const DialogueDoc: TidyReportLevel = TidyReportLevel::DialogueFootnote;
}
#[repr(u32)]
#[doc = " Message severity level, used throughout LibTidy to indicate the severity\n or status of a message\n\n @remark These enum members all have associated localized strings available\n via their enum values. These strings are suitable for use as labels."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyReportLevel {
#[doc = "< Report: Information about markup usage"]
Info = 350,
#[doc = "< Report: Warning message"]
Warning = 351,
#[doc = "< Report: Configuration error"]
Config = 352,
#[doc = "< Report: Accessibility message"]
Access = 353,
#[doc = "< Report: Error message - output suppressed"]
Error = 354,
#[doc = "< Report: I/O or file system error"]
BadDocument = 355,
#[doc = "< Report: Crash!"]
Fatal = 356,
#[doc = "< Dialogue: Summary-related information"]
DialogueSummary = 357,
#[doc = "< Dialogue: Non-document related information"]
DialogueInfo = 358,
#[doc = "< Dialogue: Footnote"]
DialogueFootnote = 359,
}
#[repr(u32)]
#[doc = " Indicates the data type of a format string parameter used when Tidy\n emits reports and dialogue as part of the messaging callback functions.\n See `messageobj.h` for more information on this API."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TidyFormatParameterType {
#[doc = "< Argument is signed integer."]
INT = 0,
#[doc = "< Argument is unsigned integer."]
UINT = 1,
#[doc = "< Argument is a string."]
STRING = 2,
#[doc = "< Argument is a double."]
DOUBLE = 3,
#[doc = "< Argument type is unknown!"]
UNKNOWN = 20,
}
#[repr(u32)]
#[doc = " The enumeration contains a list of every possible string that Tidy and the\n console application can output, _except_ for strings from the following\n enumerations:\n - `TidyOptionId`\n - `TidyConfigCategory`\n - `TidyReportLevel`\n\n They are used as keys internally within Tidy, and have corresponding text\n keys that are used in message callback filters (these are defined in\n `tidyStringsKeys[]`, but API users don't require access to it directly)."]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum tidyStrings {
TIDYSTRINGS_FIRST = 500,
LINE_COLUMN_STRING = 501,
FN_LINE_COLUMN_STRING = 502,
STRING_DISCARDING = 503,
STRING_ERROR_COUNT_ERROR = 504,
STRING_ERROR_COUNT_WARNING = 505,
STRING_HELLO_ACCESS = 506,
STRING_HTML_PROPRIETARY = 507,
STRING_PLAIN_TEXT = 508,
STRING_REPLACING = 509,
STRING_SPECIFIED = 510,
STRING_XML_DECLARATION = 511,
TIDYCUSTOMNO_STRING = 512,
TIDYCUSTOMBLOCKLEVEL_STRING = 513,
TIDYCUSTOMEMPTY_STRING = 514,
TIDYCUSTOMINLINE_STRING = 515,
TIDYCUSTOMPRE_STRING = 516,
FOOTNOTE_TRIM_EMPTY_ELEMENT = 517,
TEXT_ACCESS_ADVICE1 = 518,
TEXT_ACCESS_ADVICE2 = 519,
TEXT_BAD_FORM = 520,
TEXT_BAD_MAIN = 521,
TEXT_HTML_T_ALGORITHM = 522,
TEXT_INVALID_URI = 523,
TEXT_INVALID_UTF16 = 524,
TEXT_INVALID_UTF8 = 525,
TEXT_M_IMAGE_ALT = 526,
TEXT_M_IMAGE_MAP = 527,
TEXT_M_LINK_ALT = 528,
TEXT_M_SUMMARY = 529,
TEXT_SGML_CHARS = 530,
TEXT_USING_BODY = 531,
TEXT_USING_FONT = 532,
TEXT_USING_FRAMES = 533,
TEXT_USING_LAYER = 534,
TEXT_USING_NOBR = 535,
TEXT_USING_SPACER = 536,
TEXT_VENDOR_CHARS = 537,
TEXT_WINDOWS_CHARS = 538,
STRING_ERROR_COUNT = 539,
STRING_NEEDS_INTERVENTION = 540,
STRING_NO_ERRORS = 541,
STRING_NOT_ALL_SHOWN = 542,
TEXT_GENERAL_INFO_PLEA = 543,
TEXT_GENERAL_INFO = 544,
REPORT_MESSAGE_FIRST = 545,
ADDED_MISSING_CHARSET = 546,
ANCHOR_NOT_UNIQUE = 547,
ANCHOR_DUPLICATED = 548,
APOS_UNDEFINED = 549,
ATTR_VALUE_NOT_LCASE = 550,
ATTRIBUTE_IS_NOT_ALLOWED = 551,
ATTRIBUTE_VALUE_REPLACED = 552,
BACKSLASH_IN_URI = 553,
BAD_ATTRIBUTE_VALUE_REPLACED = 554,
BAD_ATTRIBUTE_VALUE = 555,
BAD_CDATA_CONTENT = 556,
BAD_SUMMARY_HTML5 = 557,
BAD_SURROGATE_LEAD = 558,
BAD_SURROGATE_PAIR = 559,
BAD_SURROGATE_TAIL = 560,
CANT_BE_NESTED = 561,
COERCE_TO_ENDTAG = 562,
CONTENT_AFTER_BODY = 563,
CUSTOM_TAG_DETECTED = 564,
DISCARDING_UNEXPECTED = 565,
DOCTYPE_AFTER_TAGS = 566,
DUPLICATE_FRAMESET = 567,
ELEMENT_NOT_EMPTY = 568,
ELEMENT_VERS_MISMATCH_ERROR = 569,
ELEMENT_VERS_MISMATCH_WARN = 570,
ENCODING_MISMATCH = 571,
ESCAPED_ILLEGAL_URI = 572,
FILE_CANT_OPEN = 573,
FILE_CANT_OPEN_CFG = 574,
FILE_NOT_FILE = 575,
FIXED_BACKSLASH = 576,
FOUND_STYLE_IN_BODY = 577,
ID_NAME_MISMATCH = 578,
ILLEGAL_NESTING = 579,
ILLEGAL_URI_CODEPOINT = 580,
ILLEGAL_URI_REFERENCE = 581,
INSERTING_AUTO_ATTRIBUTE = 582,
INSERTING_TAG = 583,
INVALID_ATTRIBUTE = 584,
INVALID_NCR = 585,
INVALID_SGML_CHARS = 586,
INVALID_UTF8 = 587,
INVALID_UTF16 = 588,
INVALID_XML_ID = 589,
JOINING_ATTRIBUTE = 590,
MALFORMED_COMMENT = 591,
MALFORMED_COMMENT_DROPPING = 592,
MALFORMED_COMMENT_EOS = 593,
MALFORMED_COMMENT_WARN = 594,
MALFORMED_DOCTYPE = 595,
MISMATCHED_ATTRIBUTE_ERROR = 596,
MISMATCHED_ATTRIBUTE_WARN = 597,
MISSING_ATTR_VALUE = 598,
MISSING_ATTRIBUTE = 599,
MISSING_DOCTYPE = 600,
MISSING_ENDTAG_BEFORE = 601,
MISSING_ENDTAG_FOR = 602,
MISSING_ENDTAG_OPTIONAL = 603,
MISSING_IMAGEMAP = 604,
MISSING_QUOTEMARK = 605,
MISSING_QUOTEMARK_OPEN = 606,
MISSING_SEMICOLON_NCR = 607,
MISSING_SEMICOLON = 608,
MISSING_STARTTAG = 609,
MISSING_TITLE_ELEMENT = 610,
MOVED_STYLE_TO_HEAD = 611,
NESTED_EMPHASIS = 612,
NESTED_QUOTATION = 613,
NEWLINE_IN_URI = 614,
NOFRAMES_CONTENT = 615,
NON_MATCHING_ENDTAG = 616,
OBSOLETE_ELEMENT = 617,
OPTION_REMOVED = 618,
OPTION_REMOVED_APPLIED = 619,
OPTION_REMOVED_UNAPPLIED = 620,
PREVIOUS_LOCATION = 621,
PROPRIETARY_ATTR_VALUE = 622,
PROPRIETARY_ATTRIBUTE = 623,
PROPRIETARY_ELEMENT = 624,
REMOVED_HTML5 = 625,
REPEATED_ATTRIBUTE = 626,
REPLACING_ELEMENT = 627,
REPLACING_UNEX_ELEMENT = 628,
SPACE_PRECEDING_XMLDECL = 629,
STRING_CONTENT_LOOKS = 630,
STRING_ARGUMENT_BAD = 631,
STRING_DOCTYPE_GIVEN = 632,
STRING_MISSING_MALFORMED = 633,
STRING_MUTING_TYPE = 634,
STRING_NO_SYSID = 635,
STRING_UNKNOWN_OPTION = 636,
SUSPECTED_MISSING_QUOTE = 637,
TAG_NOT_ALLOWED_IN = 638,
TOO_MANY_ELEMENTS_IN = 639,
TOO_MANY_ELEMENTS = 640,
TRIM_EMPTY_ELEMENT = 641,
UNESCAPED_AMPERSAND = 642,
UNEXPECTED_END_OF_FILE_ATTR = 643,
UNEXPECTED_END_OF_FILE = 644,
UNEXPECTED_ENDTAG_ERR = 645,
UNEXPECTED_ENDTAG_IN = 646,
UNEXPECTED_ENDTAG = 647,
UNEXPECTED_EQUALSIGN = 648,
UNEXPECTED_GT = 649,
UNEXPECTED_QUOTEMARK = 650,
UNKNOWN_ELEMENT_LOOKS_CUSTOM = 651,
UNKNOWN_ELEMENT = 652,
UNKNOWN_ENTITY = 653,
USING_BR_INPLACE_OF = 654,
VENDOR_SPECIFIC_CHARS = 655,
WHITE_IN_URI = 656,
XML_DECLARATION_DETECTED = 657,
XML_ID_SYNTAX = 658,
BLANK_TITLE_ELEMENT = 659,
REPORT_MESSAGE_LAST = 660,
IMG_MISSING_ALT = 661,
IMG_ALT_SUSPICIOUS_FILENAME = 662,
IMG_ALT_SUSPICIOUS_FILE_SIZE = 663,
IMG_ALT_SUSPICIOUS_PLACEHOLDER = 664,
IMG_ALT_SUSPICIOUS_TOO_LONG = 665,
IMG_MISSING_LONGDESC_DLINK = 666,
IMG_MISSING_DLINK = 667,
IMG_MISSING_LONGDESC = 668,
IMG_BUTTON_MISSING_ALT = 669,
APPLET_MISSING_ALT = 670,
OBJECT_MISSING_ALT = 671,
AUDIO_MISSING_TEXT_WAV = 672,
AUDIO_MISSING_TEXT_AU = 673,
AUDIO_MISSING_TEXT_AIFF = 674,
AUDIO_MISSING_TEXT_SND = 675,
AUDIO_MISSING_TEXT_RA = 676,
AUDIO_MISSING_TEXT_RM = 677,
FRAME_MISSING_LONGDESC = 678,
AREA_MISSING_ALT = 679,
SCRIPT_MISSING_NOSCRIPT = 680,
ASCII_REQUIRES_DESCRIPTION = 681,
IMG_MAP_SERVER_REQUIRES_TEXT_LINKS = 682,
MULTIMEDIA_REQUIRES_TEXT = 683,
IMG_MAP_CLIENT_MISSING_TEXT_LINKS = 684,
INFORMATION_NOT_CONVEYED_IMAGE = 685,
INFORMATION_NOT_CONVEYED_APPLET = 686,
INFORMATION_NOT_CONVEYED_OBJECT = 687,
INFORMATION_NOT_CONVEYED_SCRIPT = 688,
INFORMATION_NOT_CONVEYED_INPUT = 689,
COLOR_CONTRAST_TEXT = 690,
COLOR_CONTRAST_LINK = 691,
COLOR_CONTRAST_ACTIVE_LINK = 692,
COLOR_CONTRAST_VISITED_LINK = 693,
DOCTYPE_MISSING = 694,
STYLE_SHEET_CONTROL_PRESENTATION = 695,
HEADERS_IMPROPERLY_NESTED = 696,
POTENTIAL_HEADER_BOLD = 697,
POTENTIAL_HEADER_ITALICS = 698,
POTENTIAL_HEADER_UNDERLINE = 699,
HEADER_USED_FORMAT_TEXT = 700,
LIST_USAGE_INVALID_UL = 701,
LIST_USAGE_INVALID_OL = 702,
LIST_USAGE_INVALID_LI = 703,
LANGUAGE_NOT_IDENTIFIED = 704,
LANGUAGE_INVALID = 705,
DATA_TABLE_MISSING_HEADERS = 706,
DATA_TABLE_MISSING_HEADERS_COLUMN = 707,
DATA_TABLE_MISSING_HEADERS_ROW = 708,
DATA_TABLE_REQUIRE_MARKUP_COLUMN_HEADERS = 709,
DATA_TABLE_REQUIRE_MARKUP_ROW_HEADERS = 710,
LAYOUT_TABLES_LINEARIZE_PROPERLY = 711,
LAYOUT_TABLE_INVALID_MARKUP = 712,
TABLE_MISSING_SUMMARY = 713,
TABLE_SUMMARY_INVALID_NULL = 714,
TABLE_SUMMARY_INVALID_SPACES = 715,
TABLE_SUMMARY_INVALID_PLACEHOLDER = 716,
TABLE_MISSING_CAPTION = 717,
TABLE_MAY_REQUIRE_HEADER_ABBR = 718,
TABLE_MAY_REQUIRE_HEADER_ABBR_NULL = 719,
TABLE_MAY_REQUIRE_HEADER_ABBR_SPACES = 720,
STYLESHEETS_REQUIRE_TESTING_LINK = 721,
STYLESHEETS_REQUIRE_TESTING_STYLE_ELEMENT = 722,
STYLESHEETS_REQUIRE_TESTING_STYLE_ATTR = 723,
FRAME_SRC_INVALID = 724,
TEXT_EQUIVALENTS_REQUIRE_UPDATING_APPLET = 725,
TEXT_EQUIVALENTS_REQUIRE_UPDATING_SCRIPT = 726,
TEXT_EQUIVALENTS_REQUIRE_UPDATING_OBJECT = 727,
PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_SCRIPT = 728,
PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_OBJECT = 729,
PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_EMBED = 730,
PROGRAMMATIC_OBJECTS_REQUIRE_TESTING_APPLET = 731,
FRAME_MISSING_NOFRAMES = 732,
NOFRAMES_INVALID_NO_VALUE = 733,
NOFRAMES_INVALID_CONTENT = 734,
NOFRAMES_INVALID_LINK = 735,
REMOVE_FLICKER_SCRIPT = 736,
REMOVE_FLICKER_OBJECT = 737,
REMOVE_FLICKER_EMBED = 738,
REMOVE_FLICKER_APPLET = 739,
REMOVE_FLICKER_ANIMATED_GIF = 740,
REMOVE_BLINK_MARQUEE = 741,
REMOVE_AUTO_REFRESH = 742,
REMOVE_AUTO_REDIRECT = 743,
ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_SCRIPT = 744,
ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_OBJECT = 745,
ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_APPLET = 746,
ENSURE_PROGRAMMATIC_OBJECTS_ACCESSIBLE_EMBED = 747,
IMAGE_MAP_SERVER_SIDE_REQUIRES_CONVERSION = 748,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_DOWN = 749,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_UP = 750,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_CLICK = 751,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OVER = 752,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_OUT = 753,
SCRIPT_NOT_KEYBOARD_ACCESSIBLE_ON_MOUSE_MOVE = 754,
NEW_WINDOWS_REQUIRE_WARNING_NEW = 755,
NEW_WINDOWS_REQUIRE_WARNING_BLANK = 756,
REPLACE_DEPRECATED_HTML_APPLET = 757,
REPLACE_DEPRECATED_HTML_BASEFONT = 758,
REPLACE_DEPRECATED_HTML_CENTER = 759,
REPLACE_DEPRECATED_HTML_DIR = 760,
REPLACE_DEPRECATED_HTML_FONT = 761,
REPLACE_DEPRECATED_HTML_ISINDEX = 762,
REPLACE_DEPRECATED_HTML_MENU = 763,
REPLACE_DEPRECATED_HTML_S = 764,
REPLACE_DEPRECATED_HTML_STRIKE = 765,
REPLACE_DEPRECATED_HTML_U = 766,
FRAME_MISSING_TITLE = 767,
FRAME_TITLE_INVALID_NULL = 768,
FRAME_TITLE_INVALID_SPACES = 769,
ASSOCIATE_LABELS_EXPLICITLY = 770,
ASSOCIATE_LABELS_EXPLICITLY_FOR = 771,
ASSOCIATE_LABELS_EXPLICITLY_ID = 772,
LINK_TEXT_NOT_MEANINGFUL = 773,
LINK_TEXT_MISSING = 774,
LINK_TEXT_TOO_LONG = 775,
LINK_TEXT_NOT_MEANINGFUL_CLICK_HERE = 776,
METADATA_MISSING = 777,
METADATA_MISSING_REDIRECT_AUTOREFRESH = 778,
SKIPOVER_ASCII_ART = 779,
TC_LABEL_COL = 780,
TC_LABEL_FILE = 781,
TC_LABEL_LANG = 782,
TC_LABEL_LEVL = 783,
TC_LABEL_OPT = 784,
TC_MAIN_ERROR_LOAD_CONFIG = 785,
TC_OPT_ACCESS = 786,
TC_OPT_ASCII = 787,
TC_OPT_ASHTML = 788,
TC_OPT_ASXML = 789,
TC_OPT_BARE = 790,
TC_OPT_BIG5 = 791,
TC_OPT_CLEAN = 792,
TC_OPT_CONFIG = 793,
TC_OPT_ERRORS = 794,
TC_OPT_FILE = 795,
TC_OPT_GDOC = 796,
TC_OPT_HELP = 797,
TC_OPT_HELPCFG = 798,
TC_OPT_HELPENV = 799,
TC_OPT_HELPOPT = 800,
TC_OPT_IBM858 = 801,
TC_OPT_INDENT = 802,
TC_OPT_ISO2022 = 803,
TC_OPT_LANGUAGE = 804,
TC_OPT_LATIN0 = 805,
TC_OPT_LATIN1 = 806,
TC_OPT_MAC = 807,
TC_OPT_MODIFY = 808,
TC_OPT_NUMERIC = 809,
TC_OPT_OMIT = 810,
TC_OPT_OUTPUT = 811,
TC_OPT_QUIET = 812,
TC_OPT_RAW = 813,
TC_OPT_SHIFTJIS = 814,
TC_OPT_SHOWCFG = 815,
TC_OPT_EXP_CFG = 816,
TC_OPT_EXP_DEF = 817,
TC_OPT_UPPER = 818,
TC_OPT_UTF16 = 819,
TC_OPT_UTF16BE = 820,
TC_OPT_UTF16LE = 821,
TC_OPT_UTF8 = 822,
TC_OPT_VERSION = 823,
TC_OPT_WIN1252 = 824,
TC_OPT_WRAP = 825,
TC_OPT_XML = 826,
TC_OPT_XMLCFG = 827,
TC_OPT_XMLSTRG = 828,
TC_OPT_XMLERRS = 829,
TC_OPT_XMLOPTS = 830,
TC_OPT_XMLHELP = 831,
TC_STRING_CONF_HEADER = 832,
TC_STRING_CONF_NAME = 833,
TC_STRING_CONF_TYPE = 834,
TC_STRING_CONF_VALUE = 835,
TC_STRING_CONF_NOTE = 836,
TC_STRING_OPT_NOT_DOCUMENTED = 837,
TC_STRING_OUT_OF_MEMORY = 838,
TC_STRING_FATAL_ERROR = 839,
TC_STRING_FILE_MANIP = 840,
TC_STRING_LANG_MUST_SPECIFY = 841,
TC_STRING_LANG_NOT_FOUND = 842,
TC_STRING_MUST_SPECIFY = 843,
TC_STRING_PROCESS_DIRECTIVES = 844,
TC_STRING_CHAR_ENCODING = 845,
TC_STRING_MISC = 846,
TC_STRING_XML = 847,
TC_STRING_UNKNOWN_OPTION = 848,
TC_STRING_UNKNOWN_OPTION_B = 849,
TC_STRING_VERS_A = 850,
TC_STRING_VERS_B = 851,
TC_TXT_HELP_1 = 852,
TC_TXT_HELP_2A = 853,
TC_TXT_HELP_2B = 854,
TC_TXT_HELP_3 = 855,
TC_TXT_HELP_3A = 856,
TC_TXT_HELP_CONFIG = 857,
TC_TXT_HELP_CONFIG_NAME = 858,
TC_TXT_HELP_CONFIG_TYPE = 859,
TC_TXT_HELP_CONFIG_ALLW = 860,
TC_TXT_HELP_ENV_1 = 861,
TC_TXT_HELP_ENV_1A = 862,
TC_TXT_HELP_ENV_1B = 863,
TC_TXT_HELP_ENV_1C = 864,
TC_TXT_HELP_LANG_1 = 865,
TC_TXT_HELP_LANG_2 = 866,
TC_TXT_HELP_LANG_3 = 867,
TIDYSTRINGS_LAST = 868,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyDoc {
pub _opaque: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__TidyDoc() {
const UNINIT: ::std::mem::MaybeUninit<_TidyDoc> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyDoc>(),
4usize,
concat!("Size of: ", stringify!(_TidyDoc))
);
assert_eq!(
::std::mem::align_of::<_TidyDoc>(),
4usize,
concat!("Alignment of ", stringify!(_TidyDoc))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._opaque) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyDoc),
"::",
stringify!(_opaque)
)
);
}
pub type TidyDoc = *const _TidyDoc;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyOption {
pub _opaque: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__TidyOption() {
const UNINIT: ::std::mem::MaybeUninit<_TidyOption> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyOption>(),
4usize,
concat!("Size of: ", stringify!(_TidyOption))
);
assert_eq!(
::std::mem::align_of::<_TidyOption>(),
4usize,
concat!("Alignment of ", stringify!(_TidyOption))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._opaque) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyOption),
"::",
stringify!(_opaque)
)
);
}
pub type TidyOption = *const _TidyOption;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyNode {
pub _opaque: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__TidyNode() {
const UNINIT: ::std::mem::MaybeUninit<_TidyNode> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyNode>(),
4usize,
concat!("Size of: ", stringify!(_TidyNode))
);
assert_eq!(
::std::mem::align_of::<_TidyNode>(),
4usize,
concat!("Alignment of ", stringify!(_TidyNode))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._opaque) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyNode),
"::",
stringify!(_opaque)
)
);
}
pub type TidyNode = *const _TidyNode;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyAttr {
pub _opaque: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__TidyAttr() {
const UNINIT: ::std::mem::MaybeUninit<_TidyAttr> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyAttr>(),
4usize,
concat!("Size of: ", stringify!(_TidyAttr))
);
assert_eq!(
::std::mem::align_of::<_TidyAttr>(),
4usize,
concat!("Alignment of ", stringify!(_TidyAttr))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._opaque) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyAttr),
"::",
stringify!(_opaque)
)
);
}
pub type TidyAttr = *const _TidyAttr;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyMessage {
pub _opaque: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__TidyMessage() {
const UNINIT: ::std::mem::MaybeUninit<_TidyMessage> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyMessage>(),
4usize,
concat!("Size of: ", stringify!(_TidyMessage))
);
assert_eq!(
::std::mem::align_of::<_TidyMessage>(),
4usize,
concat!("Alignment of ", stringify!(_TidyMessage))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._opaque) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyMessage),
"::",
stringify!(_opaque)
)
);
}
pub type TidyMessage = *const _TidyMessage;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyMessageArgument {
pub _opaque: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__TidyMessageArgument() {
const UNINIT: ::std::mem::MaybeUninit<_TidyMessageArgument> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyMessageArgument>(),
4usize,
concat!("Size of: ", stringify!(_TidyMessageArgument))
);
assert_eq!(
::std::mem::align_of::<_TidyMessageArgument>(),
4usize,
concat!("Alignment of ", stringify!(_TidyMessageArgument))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._opaque) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyMessageArgument),
"::",
stringify!(_opaque)
)
);
}
pub type TidyMessageArgument = *const _TidyMessageArgument;
#[doc = "//**\n @defgroup Memory Memory Allocation\n\n Tidy can use a user-provided allocator for all memory allocations. If this\n allocator is not provided, then a default allocator is used which simply\n wraps standard C malloc()/free() calls. These wrappers call the panic()\n function upon any failure. The default panic function prints an out of\n memory message to **stderr**, and calls `exit(2)`.\n\n For applications in which it is unacceptable to abort in the case of memory\n allocation, then the panic function can be replaced with one which\n `longjmps()` out of the LibTidy code. For this to clean up completely, you\n should be careful not to use any Tidy methods that open files as these will\n not be closed before `panic()` is called.\n\n Calling the `xxxWithAllocator()` family (`tidyCreateWithAllocator`,\n `tidyBufInitWithAllocator`, `tidyBufAllocWithAllocator`) allow setting\n custom allocators.\n\n All parts of the document use the same allocator. Calls that require a\n user-provided buffer can optionally use a different allocator.\n\n For reference in designing a plug-in allocator, most allocations made by\n LibTidy are less than 100 bytes, corresponding to attribute names and\n values, etc.\n\n There is also an additional class of much larger allocations which are where\n most of the data from the lexer is stored. It is not currently possible to\n use a separate allocator for the lexer; this would be a useful extension.\n\n In general, approximately 1/3rd of the memory used by LibTidy is freed\n during the parse, so if memory usage is an issue then an allocator that can\n reuse this memory is a good idea.\n\n **To create your own allocator, do something like the following:**\n @code{.c}\n typedef struct _MyAllocator {\n TidyAllocator base;\n // ...other custom allocator state...\n } MyAllocator;\n\n void* MyAllocator_alloc(TidyAllocator *base, void *block, size_t nBytes) {\n MyAllocator *self = (MyAllocator*)base;\n // ...\n }\n // etc.\n\n static const TidyAllocatorVtbl MyAllocatorVtbl = {\n MyAllocator_alloc,\n MyAllocator_realloc,\n MyAllocator_free,\n MyAllocator_panic\n };\n\n myAllocator allocator;\n TidyDoc doc;\n\n allocator.base.vtbl = &MyAllocatorVtbl;\n //...initialise allocator specific state...\n doc = tidyCreateWithAllocator(&allocator);\n @endcode\n\n Although this looks slightly long-winded, the advantage is that to create a\n custom allocator you simply need to set the vtbl pointer correctly. The vtbl\n itself can reside in static/global data, and hence does not need to be\n initialised each time an allocator is created, and furthermore the memory\n is shared amongst all created allocators.\n\n @{"]
pub type TidyAllocatorVtbl = _TidyAllocatorVtbl;
#[doc = " Tidy's built-in default allocator."]
pub type TidyAllocator = _TidyAllocator;
#[doc = " Tidy's built-in default allocator."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyAllocator {
#[doc = "< The allocator's function table."]
pub vtbl: *const TidyAllocatorVtbl,
}
#[test]
fn bindgen_test_layout__TidyAllocator() {
const UNINIT: ::std::mem::MaybeUninit<_TidyAllocator> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyAllocator>(),
8usize,
concat!("Size of: ", stringify!(_TidyAllocator))
);
assert_eq!(
::std::mem::align_of::<_TidyAllocator>(),
8usize,
concat!("Alignment of ", stringify!(_TidyAllocator))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vtbl) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyAllocator),
"::",
stringify!(vtbl)
)
);
}
#[doc = "//**\n @defgroup Memory Memory Allocation\n\n Tidy can use a user-provided allocator for all memory allocations. If this\n allocator is not provided, then a default allocator is used which simply\n wraps standard C malloc()/free() calls. These wrappers call the panic()\n function upon any failure. The default panic function prints an out of\n memory message to **stderr**, and calls `exit(2)`.\n\n For applications in which it is unacceptable to abort in the case of memory\n allocation, then the panic function can be replaced with one which\n `longjmps()` out of the LibTidy code. For this to clean up completely, you\n should be careful not to use any Tidy methods that open files as these will\n not be closed before `panic()` is called.\n\n Calling the `xxxWithAllocator()` family (`tidyCreateWithAllocator`,\n `tidyBufInitWithAllocator`, `tidyBufAllocWithAllocator`) allow setting\n custom allocators.\n\n All parts of the document use the same allocator. Calls that require a\n user-provided buffer can optionally use a different allocator.\n\n For reference in designing a plug-in allocator, most allocations made by\n LibTidy are less than 100 bytes, corresponding to attribute names and\n values, etc.\n\n There is also an additional class of much larger allocations which are where\n most of the data from the lexer is stored. It is not currently possible to\n use a separate allocator for the lexer; this would be a useful extension.\n\n In general, approximately 1/3rd of the memory used by LibTidy is freed\n during the parse, so if memory usage is an issue then an allocator that can\n reuse this memory is a good idea.\n\n **To create your own allocator, do something like the following:**\n @code{.c}\n typedef struct _MyAllocator {\n TidyAllocator base;\n // ...other custom allocator state...\n } MyAllocator;\n\n void* MyAllocator_alloc(TidyAllocator *base, void *block, size_t nBytes) {\n MyAllocator *self = (MyAllocator*)base;\n // ...\n }\n // etc.\n\n static const TidyAllocatorVtbl MyAllocatorVtbl = {\n MyAllocator_alloc,\n MyAllocator_realloc,\n MyAllocator_free,\n MyAllocator_panic\n };\n\n myAllocator allocator;\n TidyDoc doc;\n\n allocator.base.vtbl = &MyAllocatorVtbl;\n //...initialise allocator specific state...\n doc = tidyCreateWithAllocator(&allocator);\n @endcode\n\n Although this looks slightly long-winded, the advantage is that to create a\n custom allocator you simply need to set the vtbl pointer correctly. The vtbl\n itself can reside in static/global data, and hence does not need to be\n initialised each time an allocator is created, and furthermore the memory\n is shared amongst all created allocators.\n\n @{"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyAllocatorVtbl {
pub alloc: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut TidyAllocator,
nBytes: usize,
) -> *mut ::std::os::raw::c_void,
>,
pub realloc: ::std::option::Option<
unsafe extern "C" fn(
self_: *mut TidyAllocator,
block: *mut ::std::os::raw::c_void,
nBytes: usize,
) -> *mut ::std::os::raw::c_void,
>,
pub free: ::std::option::Option<
unsafe extern "C" fn(self_: *mut TidyAllocator, block: *mut ::std::os::raw::c_void),
>,
pub panic: ::std::option::Option<unsafe extern "C" fn(self_: *mut TidyAllocator, msg: ctmbstr)>,
}
#[test]
fn bindgen_test_layout__TidyAllocatorVtbl() {
const UNINIT: ::std::mem::MaybeUninit<_TidyAllocatorVtbl> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyAllocatorVtbl>(),
32usize,
concat!("Size of: ", stringify!(_TidyAllocatorVtbl))
);
assert_eq!(
::std::mem::align_of::<_TidyAllocatorVtbl>(),
8usize,
concat!("Alignment of ", stringify!(_TidyAllocatorVtbl))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).alloc) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyAllocatorVtbl),
"::",
stringify!(alloc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).realloc) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_TidyAllocatorVtbl),
"::",
stringify!(realloc)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).free) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_TidyAllocatorVtbl),
"::",
stringify!(free)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).panic) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_TidyAllocatorVtbl),
"::",
stringify!(panic)
)
);
}
#[doc = " Callback for `malloc` replacement"]
pub type TidyMalloc =
::std::option::Option<unsafe extern "C" fn(len: usize) -> *mut ::std::os::raw::c_void>;
#[doc = " Callback for `realloc` replacement"]
pub type TidyRealloc = ::std::option::Option<
unsafe extern "C" fn(
buf: *mut ::std::os::raw::c_void,
len: usize,
) -> *mut ::std::os::raw::c_void,
>;
#[doc = " Callback for `free` replacement"]
pub type TidyFree = ::std::option::Option<unsafe extern "C" fn(buf: *mut ::std::os::raw::c_void)>;
#[doc = " Callback for out of memory panic state"]
pub type TidyPanic = ::std::option::Option<unsafe extern "C" fn(mssg: ctmbstr)>;
extern "C" {
#[doc = " Give Tidy a `malloc()` replacement"]
pub fn tidySetMallocCall(fmalloc: TidyMalloc) -> Bool;
}
extern "C" {
#[doc = " Give Tidy a `realloc()` replacement"]
pub fn tidySetReallocCall(frealloc: TidyRealloc) -> Bool;
}
extern "C" {
#[doc = " Give Tidy a `free()` replacement"]
pub fn tidySetFreeCall(ffree: TidyFree) -> Bool;
}
extern "C" {
#[doc = " Give Tidy an \"out of memory\" handler"]
pub fn tidySetPanicCall(fpanic: TidyPanic) -> Bool;
}
extern "C" {
#[doc = " The primary creation of a document instance. Instances of a TidyDoc are used\n throughout the API as a token to represent a particular document. You must\n create at least one TidyDoc instance to initialize the library and begin\n interaction with the API. When done using a TidyDoc instance, be sure to\n `tidyRelease(myTidyDoc);` in order to free related memory.\n @result Returns a TidyDoc instance."]
pub fn tidyCreate() -> TidyDoc;
}
extern "C" {
#[doc = " Create a document supplying your own, custom TidyAllocator instead of using\n the built-in default. See the @ref Memory module if you want to create and\n use your own allocator.\n @param allocator The allocator to use for creating the document.\n @result Returns a TidyDoc instance."]
pub fn tidyCreateWithAllocator(allocator: *mut TidyAllocator) -> TidyDoc;
}
extern "C" {
#[doc = " Free all memory and release the TidyDoc. The TidyDoc can not be used after\n this call.\n @param tdoc The TidyDoc to free."]
pub fn tidyRelease(tdoc: TidyDoc);
}
extern "C" {
#[doc = " Allows the host application to store a chunk of data with each TidyDoc\n instance. This can be useful for callbacks, such as saving a reference to\n `self` within the document."]
pub fn tidySetAppData(tdoc: TidyDoc, appData: *mut ::std::os::raw::c_void);
}
extern "C" {
#[doc = " Returns the data previously stored with `tidySetAppData()`.\n @param tdoc document where data has been stored.\n @result The pointer to the data block previously stored."]
pub fn tidyGetAppData(tdoc: TidyDoc) -> *mut ::std::os::raw::c_void;
}
extern "C" {
#[doc = " Get the release date for the current library.\n @result The string representing the release date."]
pub fn tidyReleaseDate() -> ctmbstr;
}
extern "C" {
#[doc = " Get the version number for the current library.\n @result The string representing the version number."]
pub fn tidyLibraryVersion() -> ctmbstr;
}
extern "C" {
#[doc = " Get the platform for which Tidy was built.\n @result The string representing the version number."]
pub fn tidyPlatform() -> ctmbstr;
}
extern "C" {
#[doc = " Get status of current document.\n @param tdoc An instance of a TidyDoc to query.\n @result Returns the highest of `2` indicating that errors were present in\n the document, `1` indicating warnings, and `0` in the case of\n everything being okay."]
pub fn tidyStatus(tdoc: TidyDoc) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Gets the version of HTML that was output, as an integer, times 100. For\n example, HTML5 will return 500; HTML4.0.1 will return 401.\n @param tdoc An instance of a TidyDoc to query.\n @result Returns the HTML version number (x100)."]
pub fn tidyDetectedHtmlVersion(tdoc: TidyDoc) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Indicates whether the output document is or isn't XHTML.\n @param tdoc An instance of a TidyDoc to query.\n @result Returns `yes` if the document is an XHTML type."]
pub fn tidyDetectedXhtml(tdoc: TidyDoc) -> Bool;
}
extern "C" {
#[doc = " Indicates whether or not the input document was XML. If TidyXml tags is\n true, or there was an XML declaration in the input document, then this\n function will return yes.\n @param tdoc An instance of a TidyDoc to query.\n @result Returns `yes` if the input document was XML."]
pub fn tidyDetectedGenericXml(tdoc: TidyDoc) -> Bool;
}
extern "C" {
#[doc = " Indicates the number of TidyError messages that were generated. For any\n value greater than `0`, output is suppressed unless TidyForceOutput is set.\n @param tdoc An instance of a TidyDoc to query.\n @result Returns the number of TidyError messages that were generated."]
pub fn tidyErrorCount(tdoc: TidyDoc) -> uint;
}
extern "C" {
#[doc = " Indicates the number of TidyWarning messages that were generated.\n @param tdoc An instance of a TidyDoc to query.\n @result Returns the number of TidyWarning messages that were generated."]
pub fn tidyWarningCount(tdoc: TidyDoc) -> uint;
}
extern "C" {
#[doc = " Indicates the number of TidyAccess messages that were generated.\n @param tdoc An instance of a TidyDoc to query.\n @result Returns the number of TidyAccess messages that were generated."]
pub fn tidyAccessWarningCount(tdoc: TidyDoc) -> uint;
}
extern "C" {
#[doc = " Indicates the number of configuration error messages that were generated.\n @param tdoc An instance of a TidyDoc to query.\n @result Returns the number of configuration error messages that were\n generated."]
pub fn tidyConfigErrorCount(tdoc: TidyDoc) -> uint;
}
extern "C" {
#[doc = " Write more complete information about errors to current error sink.\n @param tdoc An instance of a TidyDoc to query."]
pub fn tidyErrorSummary(tdoc: TidyDoc);
}
extern "C" {
#[doc = " Write more general information about markup to current error sink.\n @param tdoc An instance of a TidyDoc to query."]
pub fn tidyGeneralInfo(tdoc: TidyDoc);
}
extern "C" {
#[doc = " Load an ASCII Tidy configuration file and set the configuration per its\n contents. Reports config option errors, which can be filtered.\n @result Returns 0 upon success, or any other value if there was an option error."]
pub fn tidyLoadConfig(tdoc: TidyDoc, configFile: ctmbstr) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Load a Tidy configuration file with the specified character encoding, and\n set the configuration per its contents. Reports config option errors, which can be filtered.\n @result Returns 0 upon success, or any other value if there was an option error."]
pub fn tidyLoadConfigEnc(
tdoc: TidyDoc,
configFile: ctmbstr,
charenc: ctmbstr,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Determine whether or not a particular file exists. On Unix systems, the use\n of the tilde to represent the user's home directory is supported.\n @result Returns `yes` or `no`, indicating whether or not the file exists."]
pub fn tidyFileExists(tdoc: TidyDoc, filename: ctmbstr) -> Bool;
}
extern "C" {
#[doc = " Set the input/output character encoding for parsing markup. Valid values\n include `ascii`, `latin1`, `raw`, `utf8`, `iso2022`, `mac`, `win1252`,\n `utf16le`, `utf16be`, `utf16`, `big5`, and `shiftjis`. These values are not\n case sensitive.\n @note This is the same as using TidySetInCharEncoding() and\n TidySetOutCharEncoding() to set the same value.\n @result Returns 0 upon success, or a system standard error number `EINVAL`."]
pub fn tidySetCharEncoding(tdoc: TidyDoc, encnam: ctmbstr) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Set the input encoding for parsing markup. Valid values include `ascii`,\n `latin1`, `raw`, `utf8`, `iso2022`, `mac`, `win1252`, `utf16le`, `utf16be`,\n `utf16`, `big5`, and `shiftjis`. These values are not case sensitive.\n @result Returns 0 upon success, or a system standard error number `EINVAL`."]
pub fn tidySetInCharEncoding(tdoc: TidyDoc, encnam: ctmbstr) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Set the input encoding for writing markup. Valid values include `ascii`,\n `latin1`, `raw`, `utf8`, `iso2022`, `mac`, `win1252`, `utf16le`, `utf16be`,\n `utf16`, `big5`, and `shiftjis`. These values are not case sensitive.\n @result Returns 0 upon success, or a system standard error number `EINVAL`."]
pub fn tidySetOutCharEncoding(tdoc: TidyDoc, encnam: ctmbstr) -> ::std::os::raw::c_int;
}
#[doc = " This typedef represents the required signature for your provided callback\n function should you wish to register one with tidySetOptionCallback().\n Your callback function will be provided with the following parameters.\n Note that this is deprecated and you should instead migrate to\n tidySetConfigCallback().\n @param option The option name that was provided.\n @param value The option value that was provided\n @return Your callback function will return `yes` if it handles the provided\n option, or `no` if it does not. In the latter case, Tidy will issue\n an unknown configuration option error."]
pub type TidyOptCallback =
::std::option::Option<unsafe extern "C" fn(option: ctmbstr, value: ctmbstr) -> Bool>;
extern "C" {
#[doc = " Applications using TidyLib may want to augment command-line and\n configuration file options. Setting this callback allows a LibTidy\n application developer to examine command-line and configuration file options\n after LibTidy has examined them and failed to recognize them.\n Note that this is deprecated and you should instead migrate to\n tidySetConfigCallback().\n @result Returns `yes` upon success."]
pub fn tidySetOptionCallback(tdoc: TidyDoc, pOptCallback: TidyOptCallback) -> Bool;
}
#[doc = " This typedef represents the required signature for your provided callback\n function should you wish to register one with tidySetConfigCallback().\n Your callback function will be provided with the following parameters.\n @param tdoc The document instance for which the callback was invoked.\n @param option The option name that was provided.\n @param value The option value that was provided\n @return Your callback function will return `yes` if it handles the provided\n option, or `no` if it does not. In the latter case, Tidy will issue\n an unknown configuration option error."]
pub type TidyConfigCallback = ::std::option::Option<
unsafe extern "C" fn(tdoc: TidyDoc, option: ctmbstr, value: ctmbstr) -> Bool,
>;
extern "C" {
#[doc = " Applications using TidyLib may want to augment command-line and\n configuration file options. Setting this callback allows a LibTidy\n application developer to examine command-line and configuration file options\n after LibTidy has examined them and failed to recognize them.\n @result Returns `yes` upon success."]
pub fn tidySetConfigCallback(tdoc: TidyDoc, pConfigCallback: TidyConfigCallback) -> Bool;
}
#[doc = " This typedef represents the required signature for your provided callback\n function should you wish to register one with tidySetConfigChangeCallback().\n Your callback function will be provided with the following parameters.\n @param tdoc The document instance for which the callback was invoked.\n @param option The option that will be changed."]
pub type TidyConfigChangeCallback =
::std::option::Option<unsafe extern "C" fn(tdoc: TidyDoc, option: TidyOption)>;
extern "C" {
#[doc = " Applications using TidyLib may want to be informed when changes to options\n are made. Temporary changes made internally by Tidy are not reported, but\n permanent changes made by Tidy (such as indent-spaces or output-encoding)\n will be reported.\n @note This callback is not currently implemented.\n @result Returns `yes` upon success."]
pub fn tidySetConfigChangeCallback(tdoc: TidyDoc, pCallback: TidyConfigChangeCallback) -> Bool;
}
extern "C" {
#[doc = " Get ID of given Option\n @param opt An instance of a TidyOption to query.\n @result The TidyOptionId of the given option."]
pub fn tidyOptGetId(opt: TidyOption) -> TidyOptionId;
}
extern "C" {
#[doc = " Returns the TidyOptionId (enum value) by providing the name of a Tidy\n configuration option.\n @param optnam The name of the option ID to retrieve.\n @result The TidyOptionId of the given `optname`."]
pub fn tidyOptGetIdForName(optnam: ctmbstr) -> TidyOptionId;
}
extern "C" {
#[doc = " Initiates an iterator for a list of TidyOption instances, which allows you\n to iterate through all of the available options. In order to iterate through\n the available options, initiate the iterator with this function, and then\n use tidyGetNextOption() to retrieve the first and subsequent options. For\n example:\n @code{.c}\n TidyIterator itOpt = tidyGetOptionList( tdoc );\n while ( itOpt ) {\n TidyOption opt = tidyGetNextOption( tdoc, &itOpt );\n // Use other API to query or set set option values\n }\n @endcode\n @param tdoc An instance of a TidyDoc to query.\n @result Returns a TidyIterator, which is a token used to represent the\n current position in a list within LibTidy."]
pub fn tidyGetOptionList(tdoc: TidyDoc) -> TidyIterator;
}
extern "C" {
#[doc = " Given a valid TidyIterator initiated with tidyGetOptionList(), returns\n the instance of the next TidyOption.\n @note This function will return internal-only option types including\n `TidyInternalCategory`; you should *never* use these. Always ensure\n that you use `tidyOptGetCategory()` before assuming that an option\n is okay to use in your application.\n @result An instance of TidyOption."]
pub fn tidyGetNextOption(tdoc: TidyDoc, pos: *mut TidyIterator) -> TidyOption;
}
extern "C" {
#[doc = " Retrieves an instance of TidyOption given a valid TidyOptionId.\n @result An instance of TidyOption matching the provided TidyOptionId."]
pub fn tidyGetOption(tdoc: TidyDoc, optId: TidyOptionId) -> TidyOption;
}
extern "C" {
#[doc = " Returns an instance of TidyOption by providing the name of a Tidy\n configuration option.\n @result The TidyOption of the given `optname`."]
pub fn tidyGetOptionByName(tdoc: TidyDoc, optnam: ctmbstr) -> TidyOption;
}
extern "C" {
#[doc = " Get name of given Option\n @param opt An instance of a TidyOption to query.\n @result The name of the given option."]
pub fn tidyOptGetName(opt: TidyOption) -> ctmbstr;
}
extern "C" {
#[doc = " Get datatype of given Option\n @param opt An instance of a TidyOption to query.\n @result The TidyOptionType of the given option."]
pub fn tidyOptGetType(opt: TidyOption) -> TidyOptionType;
}
extern "C" {
#[doc = " Indicates that an option takes a list of items.\n @param opt An instance of a TidyOption to query.\n @result A bool indicating whether or not the option accepts a list."]
pub fn tidyOptionIsList(opt: TidyOption) -> Bool;
}
extern "C" {
#[doc = " Is Option read-only? Some options (mainly internal use only options) are\n read-only.\n @deprecated This is no longer a valid test for the public API; instead\n you should test an option's availability using `tidyOptGetCategory()`\n against `TidyInternalCategory`. This API will be removed!\n @param opt An instance of a TidyOption to query.\n @result Returns `yes` or `no` depending on whether or not the specified\n option is read-only."]
pub fn tidyOptIsReadOnly(opt: TidyOption) -> Bool;
}
extern "C" {
#[doc = " Get category of given Option\n @param opt An instance of a TidyOption to query.\n @result The TidyConfigCategory of the specified option."]
pub fn tidyOptGetCategory(opt: TidyOption) -> TidyConfigCategory;
}
extern "C" {
#[doc = " Get default value of given Option as a string\n @param opt An instance of a TidyOption to query.\n @result A string indicating the default value of the specified option."]
pub fn tidyOptGetDefault(opt: TidyOption) -> ctmbstr;
}
extern "C" {
#[doc = " Get default value of given Option as an unsigned integer\n @param opt An instance of a TidyOption to query.\n @result An unsigned integer indicating the default value of the specified\n option."]
pub fn tidyOptGetDefaultInt(opt: TidyOption) -> ulong;
}
extern "C" {
#[doc = " Get default value of given Option as a Boolean value\n @param opt An instance of a TidyOption to query.\n @result A boolean indicating the default value of the specified option."]
pub fn tidyOptGetDefaultBool(opt: TidyOption) -> Bool;
}
extern "C" {
#[doc = " Initiates an iterator for a list of TidyOption pick-list values, which\n allows you iterate through all of the available option values. In order to\n iterate through the available values, initiate the iterator with this\n function, and then use tidyOptGetNextPick() to retrieve the first and\n subsequent option values. For example:\n @code{.c}\n TidyIterator itOpt = tidyOptGetPickList( opt );\n while ( itOpt ) {\n printf(\"%s\", tidyOptGetNextPick( opt, &itOpt ));\n }\n @endcode\n @param opt An instance of a TidyOption to query.\n @result Returns a TidyIterator, which is a token used to represent the\n current position in a list within LibTidy."]
pub fn tidyOptGetPickList(opt: TidyOption) -> TidyIterator;
}
extern "C" {
#[doc = " Given a valid TidyIterator initiated with tidyOptGetPickList(), returns a\n string representing a possible option value.\n @result A string containing the next pick-list option value."]
pub fn tidyOptGetNextPick(opt: TidyOption, pos: *mut TidyIterator) -> ctmbstr;
}
extern "C" {
#[doc = " Get the current value of the option ID for the given document.\n @remark The optId *must* have a @ref TidyOptionType of @ref TidyString!"]
pub fn tidyOptGetValue(tdoc: TidyDoc, optId: TidyOptionId) -> ctmbstr;
}
extern "C" {
#[doc = " Set the option value as a string.\n @remark The optId *must* have a @ref TidyOptionType of @ref TidyString!\n @result Returns a bool indicating success or failure."]
pub fn tidyOptSetValue(tdoc: TidyDoc, optId: TidyOptionId, val: ctmbstr) -> Bool;
}
extern "C" {
#[doc = " Set named option value as a string, regardless of the @ref TidyOptionType.\n @remark This is good setter if you are unsure of the type.\n @result Returns a bool indicating success or failure."]
pub fn tidyOptParseValue(tdoc: TidyDoc, optnam: ctmbstr, val: ctmbstr) -> Bool;
}
extern "C" {
#[doc = " Get current option value as an integer.\n @result Returns the integer value of the specified option."]
pub fn tidyOptGetInt(tdoc: TidyDoc, optId: TidyOptionId) -> ulong;
}
extern "C" {
#[doc = " Set option value as an integer.\n @result Returns a bool indicating success or failure."]
pub fn tidyOptSetInt(tdoc: TidyDoc, optId: TidyOptionId, val: ulong) -> Bool;
}
extern "C" {
#[doc = " Get current option value as a Boolean flag.\n @result Returns a bool indicating the value."]
pub fn tidyOptGetBool(tdoc: TidyDoc, optId: TidyOptionId) -> Bool;
}
extern "C" {
#[doc = " Set option value as a Boolean flag.\n @result Returns a bool indicating success or failure."]
pub fn tidyOptSetBool(tdoc: TidyDoc, optId: TidyOptionId, val: Bool) -> Bool;
}
extern "C" {
#[doc = " Reset option to default value by ID.\n @result Returns a bool indicating success or failure."]
pub fn tidyOptResetToDefault(tdoc: TidyDoc, opt: TidyOptionId) -> Bool;
}
extern "C" {
#[doc = " Reset all options to their default values.\n @param tdoc The tidy document for which to reset all values.\n @result Returns a bool indicating success or failure."]
pub fn tidyOptResetAllToDefault(tdoc: TidyDoc) -> Bool;
}
extern "C" {
#[doc = " Take a snapshot of current config settings. These settings are stored\n within the tidy document. Note, however, that snapshots do not reliably\n survive the tidyParseXXX() process, as Tidy uses the snapshot mechanism\n in order to store the current configuration right at the beginning of the\n parsing process.\n @param tdoc The tidy document for which to take a snapshot.\n @result Returns a bool indicating success or failure."]
pub fn tidyOptSnapshot(tdoc: TidyDoc) -> Bool;
}
extern "C" {
#[doc = " Apply a snapshot of config settings to a document.\n @param tdoc The tidy document for which to apply a snapshot.\n @result Returns a bool indicating success or failure."]
pub fn tidyOptResetToSnapshot(tdoc: TidyDoc) -> Bool;
}
extern "C" {
#[doc = " Any settings different than default?\n @param tdoc The tidy document to check.\n @result Returns a bool indicating whether or not a difference exists."]
pub fn tidyOptDiffThanDefault(tdoc: TidyDoc) -> Bool;
}
extern "C" {
#[doc = " Any settings different than snapshot?\n @param tdoc The tidy document to check.\n @result Returns a bool indicating whether or not a difference exists."]
pub fn tidyOptDiffThanSnapshot(tdoc: TidyDoc) -> Bool;
}
extern "C" {
#[doc = " Copy current configuration settings from one document to another. Note\n that the destination document's existing settings will be stored as that\n document's snapshot prior to having its option values overwritten by the\n source document's settings.\n @result Returns a bool indicating success or failure."]
pub fn tidyOptCopyConfig(tdocTo: TidyDoc, tdocFrom: TidyDoc) -> Bool;
}
extern "C" {
#[doc = " Get character encoding name. Used with @ref TidyCharEncoding,\n @ref TidyOutCharEncoding, and @ref TidyInCharEncoding.\n @result The encoding name as a string for the specified option."]
pub fn tidyOptGetEncName(tdoc: TidyDoc, optId: TidyOptionId) -> ctmbstr;
}
extern "C" {
#[doc = " Get the current pick list value for the option ID, which can be useful for\n enum types.\n @result Returns a string indicating the current value of the specified\n option."]
pub fn tidyOptGetCurrPick(tdoc: TidyDoc, optId: TidyOptionId) -> ctmbstr;
}
extern "C" {
#[doc = " Initiates an iterator for a list of user-declared tags, including autonomous\n custom tags detected in the document if @ref TidyUseCustomTags is not set to\n **no**. This iterator allows you to iterate through all of the custom tags.\n In order to iterate through the tags, initiate the iterator with this\n function, and then use tidyOptGetNextDeclTag() to retrieve the first and\n subsequent tags. For example:\n @code{.c}\n TidyIterator itTag = tidyOptGetDeclTagList( tdoc );\n while ( itTag ) {\n printf(\"%s\", tidyOptGetNextDeclTag( tdoc, TidyBlockTags, &itTag ));\n }\n @endcode\n @param tdoc An instance of a TidyDoc to query.\n @result Returns a TidyIterator, which is a token used to represent the\n current position in a list within LibTidy."]
pub fn tidyOptGetDeclTagList(tdoc: TidyDoc) -> TidyIterator;
}
extern "C" {
#[doc = " Given a valid TidyIterator initiated with tidyOptGetDeclTagList(), returns a\n string representing a user-declared or autonomous custom tag.\n @remark Specifying optId limits the scope of the tags to one of\n @ref TidyInlineTags, @ref TidyBlockTags, @ref TidyEmptyTags, or\n @ref TidyPreTags. Note that autonomous custom tags (if used) are\n added to one of these option types, depending on the value of\n @ref TidyUseCustomTags.\n @result A string containing the next tag."]
pub fn tidyOptGetNextDeclTag(
tdoc: TidyDoc,
optId: TidyOptionId,
iter: *mut TidyIterator,
) -> ctmbstr;
}
extern "C" {
#[doc = " Initiates an iterator for a list of priority attributes. This iterator\n allows you to iterate through all of the priority attributes defined with\n the `priority-attributes` configuration option. In order to iterate through\n the attributes, initiate the iterator with this function, and then use\n tidyOptGetNextPriorityAttr() to retrieve the first and subsequent attributes.\n For example:\n @code{.c}\n TidyIterator itAttr = tidyOptGetPriorityAttrList( tdoc );\n while ( itAttr ) {\n printf(\"%s\", tidyOptGetNextPriorityAttr( tdoc, &itAttr ));\n }\n @endcode\n @param tdoc An instance of a TidyDoc to query.\n @result Returns a TidyIterator, which is a token used to represent the\n current position in a list within LibTidy."]
pub fn tidyOptGetPriorityAttrList(tdoc: TidyDoc) -> TidyIterator;
}
extern "C" {
#[doc = " Given a valid TidyIterator initiated with tidyOptGetPriorityAttrList(),\n returns a string representing a priority attribute.\n @result A string containing the next tag."]
pub fn tidyOptGetNextPriorityAttr(tdoc: TidyDoc, iter: *mut TidyIterator) -> ctmbstr;
}
extern "C" {
#[doc = " Initiates an iterator for a list of muted messages. This iterator allows\n you to iterate through all of the priority attributes defined with the\n `mute` configuration option. In order to iterate through the list, initiate\n with this function, and then use tidyOptGetNextMutedMessage() to retrieve\n the first and subsequent attributes.\n For example:\n @code{.c}\n TidyIterator itAttr = tidyOptGetMutedMessageList( tdoc );\n while ( itAttr ) {\n printf(\"%s\", tidyOptGetNextMutedMessage( tdoc, &itAttr ));\n }\n @endcode\n @param tdoc An instance of a TidyDoc to query.\n @result Returns a TidyIterator, which is a token used to represent the\n current position in a list within LibTidy."]
pub fn tidyOptGetMutedMessageList(tdoc: TidyDoc) -> TidyIterator;
}
extern "C" {
#[doc = " Given a valid TidyIterator initiated with tidyOptGetMutedMessageList(),\n returns a string representing a muted message.\n @result A string containing the next tag."]
pub fn tidyOptGetNextMutedMessage(tdoc: TidyDoc, iter: *mut TidyIterator) -> ctmbstr;
}
extern "C" {
#[doc = " Get the description of the specified option.\n @result Returns a string containing a description of the given option."]
pub fn tidyOptGetDoc(tdoc: TidyDoc, opt: TidyOption) -> ctmbstr;
}
extern "C" {
#[doc = " Initiates an iterator for a list of options related to a given option. This\n iterator allows you to iterate through all of the related options, if any.\n In order to iterate through the options, initiate the iterator with this\n function, and then use tidyOptGetNextDocLinks() to retrieve the first and\n subsequent options. For example:\n @code{.c}\n TidyIterator itOpt = tidyOptGetDocLinksList( tdoc, TidyJoinStyles );\n while ( itOpt ) {\n TidyOption my_option = tidyOptGetNextDocLinks( tdoc, &itOpt );\n // do something with my_option\n }\n @endcode\n @result Returns a TidyIterator, which is a token used to represent the\n current position in a list within LibTidy."]
pub fn tidyOptGetDocLinksList(tdoc: TidyDoc, opt: TidyOption) -> TidyIterator;
}
extern "C" {
#[doc = " Given a valid TidyIterator initiated with tidyOptGetDocLinksList(), returns\n a TidyOption instance.\n @result Returns in instance of TidyOption."]
pub fn tidyOptGetNextDocLinks(tdoc: TidyDoc, pos: *mut TidyIterator) -> TidyOption;
}
#[doc = " @name Forward declarations and typedefs.\n @{"]
pub type TidyBuffer = _TidyBuffer;
#[doc = " Input Callback: get next byte of input"]
pub type TidyGetByteFunc = ::std::option::Option<
unsafe extern "C" fn(sourceData: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
>;
#[doc = " Input Callback: unget a byte of input"]
pub type TidyUngetByteFunc =
::std::option::Option<unsafe extern "C" fn(sourceData: *mut ::std::os::raw::c_void, bt: byte)>;
#[doc = " Input Callback: is end of input?"]
pub type TidyEOFFunc =
::std::option::Option<unsafe extern "C" fn(sourceData: *mut ::std::os::raw::c_void) -> Bool>;
#[doc = " This type defines an input source capable of delivering raw bytes of input."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyInputSource {
#[doc = "< Input context. Passed to callbacks."]
pub sourceData: *mut ::std::os::raw::c_void,
#[doc = "< Pointer to \"get byte\" callback."]
pub getByte: TidyGetByteFunc,
#[doc = "< Pointer to \"unget\" callback."]
pub ungetByte: TidyUngetByteFunc,
#[doc = "< Pointer to \"eof\" callback."]
pub eof: TidyEOFFunc,
}
#[test]
fn bindgen_test_layout__TidyInputSource() {
const UNINIT: ::std::mem::MaybeUninit<_TidyInputSource> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyInputSource>(),
32usize,
concat!("Size of: ", stringify!(_TidyInputSource))
);
assert_eq!(
::std::mem::align_of::<_TidyInputSource>(),
8usize,
concat!("Alignment of ", stringify!(_TidyInputSource))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sourceData) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyInputSource),
"::",
stringify!(sourceData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getByte) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_TidyInputSource),
"::",
stringify!(getByte)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ungetByte) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_TidyInputSource),
"::",
stringify!(ungetByte)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).eof) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_TidyInputSource),
"::",
stringify!(eof)
)
);
}
#[doc = " This type defines an input source capable of delivering raw bytes of input."]
pub type TidyInputSource = _TidyInputSource;
extern "C" {
#[doc = " Facilitates user defined source by providing an entry point to marshal\n pointers-to-functions. This is needed by .NET, and possibly other language\n bindings.\n @result Returns a bool indicating success or failure."]
pub fn tidyInitSource(
source: *mut TidyInputSource,
srcData: *mut ::std::os::raw::c_void,
gbFunc: TidyGetByteFunc,
ugbFunc: TidyUngetByteFunc,
endFunc: TidyEOFFunc,
) -> Bool;
}
extern "C" {
#[doc = " Helper: get next byte from input source.\n @param source A pointer to your input source.\n @result Returns a byte as an unsigned integer."]
pub fn tidyGetByte(source: *mut TidyInputSource) -> uint;
}
extern "C" {
#[doc = " Helper: unget byte back to input source."]
pub fn tidyUngetByte(source: *mut TidyInputSource, byteValue: uint);
}
extern "C" {
#[doc = " Helper: check if input source at end.\n @param source The input source.\n @result Returns a bool indicating whether or not the source is at EOF."]
pub fn tidyIsEOF(source: *mut TidyInputSource) -> Bool;
}
#[doc = " Output callback: send a byte to output"]
pub type TidyPutByteFunc =
::std::option::Option<unsafe extern "C" fn(sinkData: *mut ::std::os::raw::c_void, bt: byte)>;
#[doc = " This type defines an output destination capable of accepting raw bytes\n of output"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyOutputSink {
#[doc = "< Output context. Passed to callbacks."]
pub sinkData: *mut ::std::os::raw::c_void,
#[doc = "< Pointer to \"put byte\" callback"]
pub putByte: TidyPutByteFunc,
}
#[test]
fn bindgen_test_layout__TidyOutputSink() {
const UNINIT: ::std::mem::MaybeUninit<_TidyOutputSink> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyOutputSink>(),
16usize,
concat!("Size of: ", stringify!(_TidyOutputSink))
);
assert_eq!(
::std::mem::align_of::<_TidyOutputSink>(),
8usize,
concat!("Alignment of ", stringify!(_TidyOutputSink))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sinkData) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyOutputSink),
"::",
stringify!(sinkData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).putByte) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_TidyOutputSink),
"::",
stringify!(putByte)
)
);
}
#[doc = " This type defines an output destination capable of accepting raw bytes\n of output"]
pub type TidyOutputSink = _TidyOutputSink;
extern "C" {
#[doc = " Facilitates user defined sinks by providing an entry point to marshal\n pointers-to-functions. This is needed by .NET, and possibly other language\n bindings.\n @result Returns a bool indicating success or failure."]
pub fn tidyInitSink(
sink: *mut TidyOutputSink,
snkData: *mut ::std::os::raw::c_void,
pbFunc: TidyPutByteFunc,
) -> Bool;
}
extern "C" {
#[doc = " Helper: send a byte to output."]
pub fn tidyPutByte(sink: *mut TidyOutputSink, byteValue: uint);
}
extern "C" {
#[doc = " Set the file path to use for reports when `TidyEmacs` is being used. This\n function provides a proper interface for using the hidden, internal-only\n `TidyEmacsFile` configuration option."]
pub fn tidySetEmacsFile(tdoc: TidyDoc, filePath: ctmbstr);
}
extern "C" {
#[doc = " Get the file path to use for reports when `TidyEmacs` is being used. This\n function provides a proper interface for using the hidden, internal-only\n `TidyEmacsFile` configuration option.\n @param tdoc The tidy document for which you want to fetch the file path.\n @result Returns a string indicating the file path."]
pub fn tidyGetEmacsFile(tdoc: TidyDoc) -> ctmbstr;
}
extern "C" {
#[doc = " Set error sink to named file.\n @result Returns a file handle."]
pub fn tidySetErrorFile(tdoc: TidyDoc, errfilnam: ctmbstr) -> *mut FILE;
}
extern "C" {
#[doc = " Set error sink to given buffer.\n @result Returns 0 upon success or a standard error number."]
pub fn tidySetErrorBuffer(tdoc: TidyDoc, errbuf: *mut TidyBuffer) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Set error sink to given generic sink.\n @result Returns 0 upon success or a standard error number."]
pub fn tidySetErrorSink(tdoc: TidyDoc, sink: *mut TidyOutputSink) -> ::std::os::raw::c_int;
}
#[doc = " This typedef represents the required signature for your provided callback\n function should you wish to register one with tidySetReportFilter().\n Your callback function will be provided with the following parameters.\n @param tdoc Indicates the tidy document the message comes from.\n @param lvl Specifies the TidyReportLevel of the message.\n @param line Indicates the line number in the source document the message applies to.\n @param col Indicates the column in the source document the message applies to.\n @param mssg Specifies the complete message as Tidy would emit it.\n @return Your callback function will return `yes` if Tidy should include the\n report in its own output sink, or `no` if Tidy should suppress it."]
pub type TidyReportFilter = ::std::option::Option<
unsafe extern "C" fn(
tdoc: TidyDoc,
lvl: TidyReportLevel,
line: uint,
col: uint,
mssg: ctmbstr,
) -> Bool,
>;
extern "C" {
#[doc = " This function informs Tidy to use the specified callback to send reports."]
pub fn tidySetReportFilter(tdoc: TidyDoc, filtCallback: TidyReportFilter) -> Bool;
}
#[doc = " This typedef represents the required signature for your provided callback\n function should you wish to register one with tidySetReportCallback().\n Your callback function will be provided with the following parameters.\n @param tdoc Indicates the tidy document the message comes from.\n @param lvl Specifies the TidyReportLevel of the message.\n @param line Indicates the line number in the source document the message applies to.\n @param col Indicates the column in the source document the message applies to.\n @param code Specifies the message code representing the message. Note that\n this code is a string value that the API promises to hold constant,\n as opposed to an enum value that can change at any time. Although\n this is intended so that you can look up your own application's\n strings, you can retrieve Tidy's format string with this code by\n using tidyErrorCodeFromKey() and then the tidyLocalizedString()\n family of functions.\n @param args Is a `va_list` of arguments used to fill Tidy's message format string.\n @return Your callback function will return `yes` if Tidy should include the\n report in its own output sink, or `no` if Tidy should suppress it."]
pub type TidyReportCallback = ::std::option::Option<
unsafe extern "C" fn(
tdoc: TidyDoc,
lvl: TidyReportLevel,
line: uint,
col: uint,
code: ctmbstr,
args: *mut __va_list_tag,
) -> Bool,
>;
extern "C" {
#[doc = " This function informs Tidy to use the specified callback to send reports."]
pub fn tidySetReportCallback(tdoc: TidyDoc, filtCallback: TidyReportCallback) -> Bool;
}
#[doc = " This typedef represents the required signature for your provided callback\n function should you wish to register one with tidySetMessageCallback().\n Your callback function will be provided with the following parameters.\n @param tmessage An opaque type used as a token against which other API\n calls can be made.\n @return Your callback function will return `yes` if Tidy should include the\n report in its own output sink, or `no` if Tidy should suppress it."]
pub type TidyMessageCallback =
::std::option::Option<unsafe extern "C" fn(tmessage: TidyMessage) -> Bool>;
extern "C" {
#[doc = " This function informs Tidy to use the specified callback to send reports."]
pub fn tidySetMessageCallback(tdoc: TidyDoc, filtCallback: TidyMessageCallback) -> Bool;
}
extern "C" {
#[doc = " Get the tidy document this message comes from.\n @param tmessage Specify the message that you are querying.\n @result Returns the TidyDoc that generated the message."]
pub fn tidyGetMessageDoc(tmessage: TidyMessage) -> TidyDoc;
}
extern "C" {
#[doc = " Get the message code.\n @param tmessage Specify the message that you are querying.\n @result Returns a code representing the message. This code can be used\n directly with the localized strings API; however we never make\n any guarantees about the value of these codes. For code stability\n don't store this value in your own application. Instead use the\n enum field or use the message key string value."]
pub fn tidyGetMessageCode(tmessage: TidyMessage) -> uint;
}
extern "C" {
#[doc = " Get the message key string.\n @param tmessage Specify the message that you are querying.\n @result Returns a string representing the message. This string is intended\n to be stable by the LibTidy API, and is suitable for use as a key\n in your own applications."]
pub fn tidyGetMessageKey(tmessage: TidyMessage) -> ctmbstr;
}
extern "C" {
#[doc = " Get the line number the message applies to.\n @param tmessage Specify the message that you are querying.\n @result Returns the line number, if any, that generated the message."]
pub fn tidyGetMessageLine(tmessage: TidyMessage) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Get the column the message applies to.\n @param tmessage Specify the message that you are querying.\n @result Returns the column number, if any, that generated the message."]
pub fn tidyGetMessageColumn(tmessage: TidyMessage) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Get the TidyReportLevel of the message.\n @param tmessage Specify the message that you are querying.\n @result Returns a TidyReportLevel indicating the severity or status of the\n message."]
pub fn tidyGetMessageLevel(tmessage: TidyMessage) -> TidyReportLevel;
}
extern "C" {
#[doc = " Get the muted status of the message, that is, whether or not the\n current configuration indicated that this message should be muted.\n @param tmessage Specify the message that you are querying.\n @result Returns a Bool indicating that the config indicates muting this\n message."]
pub fn tidyGetMessageIsMuted(tmessage: TidyMessage) -> Bool;
}
extern "C" {
#[doc = " Get the default format string, which is the format string for the message\n in Tidy's default localization (en_us).\n @param tmessage Specify the message that you are querying.\n @result Returns the default localization format string of the message."]
pub fn tidyGetMessageFormatDefault(tmessage: TidyMessage) -> ctmbstr;
}
extern "C" {
#[doc = " Get the localized format string. If a localized version of the format string\n doesn't exist, then the default version will be returned.\n @param tmessage Specify the message that you are querying.\n @result Returns the localized format string of the message."]
pub fn tidyGetMessageFormat(tmessage: TidyMessage) -> ctmbstr;
}
extern "C" {
#[doc = " Get the message with the format string already completed, in Tidy's\n default localization.\n @param tmessage Specify the message that you are querying.\n @result Returns the message in the default localization."]
pub fn tidyGetMessageDefault(tmessage: TidyMessage) -> ctmbstr;
}
extern "C" {
#[doc = " Get the message with the format string already completed, in Tidy's\n current localization.\n @param tmessage Specify the message that you are querying.\n @result Returns the message in the current localization."]
pub fn tidyGetMessage(tmessage: TidyMessage) -> ctmbstr;
}
extern "C" {
#[doc = " Get the position part part of the message in the default language.\n @param tmessage Specify the message that you are querying.\n @result Returns the positional part of a string as Tidy would display it\n in the console application."]
pub fn tidyGetMessagePosDefault(tmessage: TidyMessage) -> ctmbstr;
}
extern "C" {
#[doc = " Get the position part part of the message in the current language.\n @param tmessage Specify the message that you are querying.\n @result Returns the positional part of a string as Tidy would display it\n in the console application."]
pub fn tidyGetMessagePos(tmessage: TidyMessage) -> ctmbstr;
}
extern "C" {
#[doc = " Get the prefix part of a message in the default language.\n @param tmessage Specify the message that you are querying.\n @result Returns the message prefix part of a string as Tidy would display\n it in the console application."]
pub fn tidyGetMessagePrefixDefault(tmessage: TidyMessage) -> ctmbstr;
}
extern "C" {
#[doc = " Get the prefix part of a message in the current language.\n @param tmessage Specify the message that you are querying.\n @result Returns the message prefix part of a string as Tidy would display\n it in the console application."]
pub fn tidyGetMessagePrefix(tmessage: TidyMessage) -> ctmbstr;
}
extern "C" {
#[doc = " Get the complete message as Tidy would emit it in the default localization.\n @param tmessage Specify the message that you are querying.\n @result Returns the complete message just as Tidy would display it on the\n console."]
pub fn tidyGetMessageOutputDefault(tmessage: TidyMessage) -> ctmbstr;
}
extern "C" {
#[doc = " Get the complete message as Tidy would emit it in the current localization.\n @param tmessage Specify the message that you are querying.\n @result Returns the complete message just as Tidy would display it on the\n console."]
pub fn tidyGetMessageOutput(tmessage: TidyMessage) -> ctmbstr;
}
extern "C" {
#[doc = " Initiates an iterator for a list of arguments related to a given message.\n This iterator allows you to iterate through all of the arguments, if any.\n In order to iterate through the arguments, initiate the iterator with this\n function, and then use tidyGetNextMessageArgument() to retrieve the first\n and subsequent arguments. For example:\n @code{.c}\n TidyIterator itArg = tidyGetMessageArguments( tmessage );\n while ( itArg ) {\n TidyMessageArgument my_arg = tidyGetNextMessageArgument( tmessage, &itArg );\n // do something with my_arg, such as inspect its value or format\n }\n @endcode\n @param tmessage The message about whose arguments you wish to query.\n @result Returns a TidyIterator, which is a token used to represent the\n current position in a list within LibTidy."]
pub fn tidyGetMessageArguments(tmessage: TidyMessage) -> TidyIterator;
}
extern "C" {
#[doc = " Given a valid TidyIterator initiated with tidyGetMessageArguments(), returns\n an instance of the opaque type TidyMessageArgument, which serves as a token\n against which the remaining argument API functions may be used to query\n information.\n @result Returns an instance of TidyMessageArgument."]
pub fn tidyGetNextMessageArgument(
tmessage: TidyMessage,
iter: *mut TidyIterator,
) -> TidyMessageArgument;
}
extern "C" {
#[doc = " Returns the `TidyFormatParameterType` of the given message argument.\n @result Returns the type of parameter of type TidyFormatParameterType."]
pub fn tidyGetArgType(
tmessage: TidyMessage,
arg: *mut TidyMessageArgument,
) -> TidyFormatParameterType;
}
extern "C" {
#[doc = " Returns the format specifier of the given message argument. The memory for\n this string is cleared upon termination of the callback, so do be sure to\n make your own copy.\n @result Returns the format specifier string of the given argument."]
pub fn tidyGetArgFormat(tmessage: TidyMessage, arg: *mut TidyMessageArgument) -> ctmbstr;
}
extern "C" {
#[doc = " Returns the string value of the given message argument. An assertion\n will be generated if the argument type is not a string.\n @result Returns the string value of the given argument."]
pub fn tidyGetArgValueString(tmessage: TidyMessage, arg: *mut TidyMessageArgument) -> ctmbstr;
}
extern "C" {
#[doc = " Returns the unsigned integer value of the given message argument. An\n assertion will be generated if the argument type is not an unsigned int.\n @result Returns the unsigned integer value of the given argument."]
pub fn tidyGetArgValueUInt(tmessage: TidyMessage, arg: *mut TidyMessageArgument) -> uint;
}
extern "C" {
#[doc = " Returns the integer value of the given message argument. An assertion\n will be generated if the argument type is not an integer.\n @result Returns the integer value of the given argument."]
pub fn tidyGetArgValueInt(
tmessage: TidyMessage,
arg: *mut TidyMessageArgument,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Returns the double value of the given message argument. An assertion\n will be generated if the argument type is not a double.\n @result Returns the double value of the given argument."]
pub fn tidyGetArgValueDouble(tmessage: TidyMessage, arg: *mut TidyMessageArgument) -> f64;
}
#[doc = " This typedef represents the required signature for your provided callback\n function should you wish to register one with tidySetMessageCallback().\n Your callback function will be provided with the following parameters.\n @param tdoc Indicates the source tidy document.\n @param line Indicates the line in the source document at this point in the process.\n @param col Indicates the column in the source document at this point in the process.\n @param destLine Indicates the line number in the output document at this point in the process."]
pub type TidyPPProgress = ::std::option::Option<
unsafe extern "C" fn(tdoc: TidyDoc, line: uint, col: uint, destLine: uint),
>;
extern "C" {
#[doc = " This function informs Tidy to use the specified callback for tracking the\n pretty-printing process progress."]
pub fn tidySetPrettyPrinterCallback(tdoc: TidyDoc, callback: TidyPPProgress) -> Bool;
}
extern "C" {
#[doc = " Parse markup in named file.\n @result Returns the highest of `2` indicating that errors were present in\n the document, `1` indicating warnings, and `0` in the case of\n everything being okay."]
pub fn tidyParseFile(tdoc: TidyDoc, filename: ctmbstr) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Parse markup from the standard input.\n @param tdoc The tidy document to use for parsing.\n @result Returns the highest of `2` indicating that errors were present in\n the document, `1` indicating warnings, and `0` in the case of\n everything being okay."]
pub fn tidyParseStdin(tdoc: TidyDoc) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Parse markup in given string. Note that the supplied string is of type\n `ctmbstr` based on `char` and therefore doesn't support the use of\n UTF-16 strings. Use `tidyParseBuffer()` if parsing multibyte strings.\n @result Returns the highest of `2` indicating that errors were present in\n the document, `1` indicating warnings, and `0` in the case of\n everything being okay."]
pub fn tidyParseString(tdoc: TidyDoc, content: ctmbstr) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Parse markup in given buffer.\n @result Returns the highest of `2` indicating that errors were present in\n the document, `1` indicating warnings, and `0` in the case of\n everything being okay."]
pub fn tidyParseBuffer(tdoc: TidyDoc, buf: *mut TidyBuffer) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Parse markup in given generic input source.\n @result Returns the highest of `2` indicating that errors were present in\n the document, `1` indicating warnings, and `0` in the case of\n everything being okay."]
pub fn tidyParseSource(tdoc: TidyDoc, source: *mut TidyInputSource) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Execute configured cleanup and repair operations on parsed markup.\n @param tdoc The tidy document to use.\n @result An integer representing the status."]
pub fn tidyCleanAndRepair(tdoc: TidyDoc) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Reports the document type and diagnostic statistics on parsed and repaired\n markup. You must call tidyCleanAndRepair() before using this function.\n @param tdoc The tidy document to use.\n @result An integer representing the status."]
pub fn tidyRunDiagnostics(tdoc: TidyDoc) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Reports the document type into the output sink.\n @param tdoc The tidy document to use.\n @result An integer representing the status."]
pub fn tidyReportDoctype(tdoc: TidyDoc) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Save the tidy document to the named file.\n @result An integer representing the status."]
pub fn tidySaveFile(tdoc: TidyDoc, filename: ctmbstr) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Save the tidy document to standard output (FILE*).\n @param tdoc The tidy document to save.\n @result An integer representing the status."]
pub fn tidySaveStdout(tdoc: TidyDoc) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Save the tidy document to given TidyBuffer object.\n @result An integer representing the status."]
pub fn tidySaveBuffer(tdoc: TidyDoc, buf: *mut TidyBuffer) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Save the tidy document to an application buffer. If TidyShowMarkup and the\n document has no errors, or TidyForceOutput, then the current document (per\n the current configuration) will be pretty printed to this application\n buffer. The document byte length (not character length) will be placed into\n *buflen. The document will not be null terminated. If the buffer is not big\n enough, ENOMEM will be returned, else the actual document status.\n @result An integer representing the status."]
pub fn tidySaveString(
tdoc: TidyDoc,
buffer: tmbstr,
buflen: *mut uint,
) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Save to given generic output sink.\n @result An integer representing the status."]
pub fn tidySaveSink(tdoc: TidyDoc, sink: *mut TidyOutputSink) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Save current settings to named file. Only writes non-default values.\n @result An integer representing the status."]
pub fn tidyOptSaveFile(tdoc: TidyDoc, cfgfil: ctmbstr) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Save current settings to given output sink. Only non-default values are\n written.\n @result An integer representing the status."]
pub fn tidyOptSaveSink(tdoc: TidyDoc, sink: *mut TidyOutputSink) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Get the root node.\n @param tdoc The document to query.\n @result Returns a tidy node."]
pub fn tidyGetRoot(tdoc: TidyDoc) -> TidyNode;
}
extern "C" {
#[doc = " Get the HTML node.\n @param tdoc The document to query.\n @result Returns a tidy node."]
pub fn tidyGetHtml(tdoc: TidyDoc) -> TidyNode;
}
extern "C" {
#[doc = " Get the HEAD node.\n @param tdoc The document to query.\n @result Returns a tidy node."]
pub fn tidyGetHead(tdoc: TidyDoc) -> TidyNode;
}
extern "C" {
#[doc = " Get the BODY node.\n @param tdoc The document to query.\n @result Returns a tidy node."]
pub fn tidyGetBody(tdoc: TidyDoc) -> TidyNode;
}
extern "C" {
#[doc = " Get the parent of the indicated node.\n @param tnod The node to query.\n @result Returns a tidy node."]
pub fn tidyGetParent(tnod: TidyNode) -> TidyNode;
}
extern "C" {
#[doc = " Get the child of the indicated node.\n @param tnod The node to query.\n @result Returns a tidy node."]
pub fn tidyGetChild(tnod: TidyNode) -> TidyNode;
}
extern "C" {
#[doc = " Get the next sibling node.\n @param tnod The node to query.\n @result Returns a tidy node."]
pub fn tidyGetNext(tnod: TidyNode) -> TidyNode;
}
extern "C" {
#[doc = " Get the previous sibling node.\n @param tnod The node to query.\n @result Returns a tidy node."]
pub fn tidyGetPrev(tnod: TidyNode) -> TidyNode;
}
extern "C" {
#[doc = " Remove the indicated node.\n @result Returns the next tidy node."]
pub fn tidyDiscardElement(tdoc: TidyDoc, tnod: TidyNode) -> TidyNode;
}
extern "C" {
#[doc = " Get the first attribute.\n @param tnod The node for which to get attributes.\n @result Returns an instance of TidyAttr."]
pub fn tidyAttrFirst(tnod: TidyNode) -> TidyAttr;
}
extern "C" {
#[doc = " Get the next attribute.\n @param tattr The current attribute, so the next one can be returned.\n @result Returns and instance of TidyAttr."]
pub fn tidyAttrNext(tattr: TidyAttr) -> TidyAttr;
}
extern "C" {
#[doc = " Get the name of a TidyAttr instance.\n @param tattr The tidy attribute to query.\n @result Returns a string indicating the name of the attribute."]
pub fn tidyAttrName(tattr: TidyAttr) -> ctmbstr;
}
extern "C" {
#[doc = " Get the value of a TidyAttr instance.\n @param tattr The tidy attribute to query.\n @result Returns a string indicating the value of the attribute."]
pub fn tidyAttrValue(tattr: TidyAttr) -> ctmbstr;
}
extern "C" {
#[doc = " Discard an attribute."]
pub fn tidyAttrDiscard(itdoc: TidyDoc, tnod: TidyNode, tattr: TidyAttr);
}
extern "C" {
#[doc = " Get the attribute ID given a tidy attribute.\n @param tattr The attribute to query.\n @result Returns the TidyAttrId of the given attribute."]
pub fn tidyAttrGetId(tattr: TidyAttr) -> TidyAttrId;
}
extern "C" {
#[doc = " Indicates whether or not a given attribute is an event attribute.\n @param tattr The attribute to query.\n @result Returns a bool indicating whether or not the attribute is an event."]
pub fn tidyAttrIsEvent(tattr: TidyAttr) -> Bool;
}
extern "C" {
#[doc = " Get an instance of TidyAttr by specifying an attribute ID.\n @result Returns a TidyAttr instance."]
pub fn tidyAttrGetById(tnod: TidyNode, attId: TidyAttrId) -> TidyAttr;
}
extern "C" {
#[doc = " Get the type of node.\n @param tnod The node to query.\n @result Returns the type of node as TidyNodeType."]
pub fn tidyNodeGetType(tnod: TidyNode) -> TidyNodeType;
}
extern "C" {
#[doc = " Get the name of the node.\n @param tnod The node to query.\n @result Returns a string indicating the name of the node."]
pub fn tidyNodeGetName(tnod: TidyNode) -> ctmbstr;
}
extern "C" {
#[doc = " Indicates whether or not a node is a text node.\n @param tnod The node to query.\n @result Returns a bool indicating whether or not the node is a text node."]
pub fn tidyNodeIsText(tnod: TidyNode) -> Bool;
}
extern "C" {
#[doc = " Indicates whether or not the node is a propriety type.\n @result Returns a bool indicating whether or not the node is a proprietary type."]
pub fn tidyNodeIsProp(tdoc: TidyDoc, tnod: TidyNode) -> Bool;
}
extern "C" {
#[doc = " Indicates whether or not a node represents and HTML header element, such\n as h1, h2, etc.\n @param tnod The node to query.\n @result Returns a bool indicating whether or not the node is an HTML header."]
pub fn tidyNodeIsHeader(tnod: TidyNode) -> Bool;
}
extern "C" {
#[doc = " Indicates whether or not the node has text.\n @result Returns the type of node as TidyNodeType."]
pub fn tidyNodeHasText(tdoc: TidyDoc, tnod: TidyNode) -> Bool;
}
extern "C" {
#[doc = " Gets the text of a node and places it into the given TidyBuffer. The text will be terminated with a `TidyNewline`.\n If you want the raw utf-8 stream see `tidyNodeGetValue()`.\n @result Returns a bool indicating success or not."]
pub fn tidyNodeGetText(tdoc: TidyDoc, tnod: TidyNode, buf: *mut TidyBuffer) -> Bool;
}
extern "C" {
#[doc = " Get the value of the node. This copies the unescaped value of this node into\n the given TidyBuffer at UTF-8.\n @result Returns a bool indicating success or not."]
pub fn tidyNodeGetValue(tdoc: TidyDoc, tnod: TidyNode, buf: *mut TidyBuffer) -> Bool;
}
extern "C" {
#[doc = " Get the tag ID of the node.\n @param tnod The node to query.\n @result Returns the tag ID of the node as TidyTagId."]
pub fn tidyNodeGetId(tnod: TidyNode) -> TidyTagId;
}
extern "C" {
#[doc = " Get the line number where the node occurs.\n @param tnod The node to query.\n @result Returns the line number."]
pub fn tidyNodeLine(tnod: TidyNode) -> uint;
}
extern "C" {
#[doc = " Get the column location of the node.\n @param tnod The node to query.\n @result Returns the column location of the node."]
pub fn tidyNodeColumn(tnod: TidyNode) -> uint;
}
extern "C" {
#[doc = " Given a message code, return the text key that represents it.\n @param code The error code to lookup.\n @result The string representing the error code."]
pub fn tidyErrorCodeAsKey(code: uint) -> ctmbstr;
}
extern "C" {
#[doc = " Given a text key representing a message code, return the uint that\n represents it.\n\n @remark We establish that for external purposes, the API will ensure that\n string keys remain consistent. *Never* count on the integer value\n of a message code. Always use this function to ensure that the\n integer is valid if you need one.\n @param code The string representing the error code.\n @result Returns an integer that represents the error code, which can be\n used to lookup Tidy's built-in strings. If the provided string does\n not have a matching message code, then UINT_MAX will be returned."]
pub fn tidyErrorCodeFromKey(code: ctmbstr) -> uint;
}
extern "C" {
#[doc = " Initiates an iterator for a list of message codes available in Tidy.\n This iterator allows you to iterate through all of the code. In orde to\n iterate through the codes, initiate the iterator with this function, and\n then use getNextErrorCode() to retrieve the first and subsequent codes.\n For example:\n @code{.c}\n TidyIterator itMessage = getErrorCodeList();\n while ( itMessage ) {\n uint code = getNextErrorCode( &itMessage );\n // do something with the code, such as lookup a string.\n }\n @endcode\n @result Returns a TidyIterator, which is a token used to represent the\n current position in a list within LibTidy."]
pub fn getErrorCodeList() -> TidyIterator;
}
extern "C" {
#[doc = " Given a valid TidyIterator initiated with getErrorCodeList(), returns\n an instance of the opaque type TidyMessageArgument, which serves as a token\n against which the remaining argument API functions may be used to query\n information.\n @param iter The TidyIterator (initiated with getErrorCodeList()) token.\n @result Returns a message code."]
pub fn getNextErrorCode(iter: *mut TidyIterator) -> uint;
}
extern "C" {
#[doc = " Tells Tidy to use a different language for output.\n @param languageCode A Windows or POSIX language code, and must match\n a TIDY_LANGUAGE for an installed language.\n @result Indicates that a setting was applied, but not necessarily the\n specific request, i.e., true indicates a language and/or region\n was applied. If es_mx is requested but not installed, and es is\n installed, then es will be selected and this function will return\n true. However the opposite is not true; if es is requested but\n not present, Tidy will not try to select from the es_XX variants."]
pub fn tidySetLanguage(languageCode: ctmbstr) -> Bool;
}
extern "C" {
#[doc = " Gets the current language used by Tidy.\n @result Returns a string indicating the currently set language."]
pub fn tidyGetLanguage() -> ctmbstr;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _tidyLocaleMapItem {
pub _opaque: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__tidyLocaleMapItem() {
const UNINIT: ::std::mem::MaybeUninit<_tidyLocaleMapItem> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_tidyLocaleMapItem>(),
4usize,
concat!("Size of: ", stringify!(_tidyLocaleMapItem))
);
assert_eq!(
::std::mem::align_of::<_tidyLocaleMapItem>(),
4usize,
concat!("Alignment of ", stringify!(_tidyLocaleMapItem))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._opaque) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_tidyLocaleMapItem),
"::",
stringify!(_opaque)
)
);
}
pub type tidyLocaleMapItem = *const _tidyLocaleMapItem;
extern "C" {
#[doc = " Initiates an iterator for a list of Tidy's Windows<->POSIX locale mappings.\n This iterator allows you to iterate through this list. In order to\n iterate through the list, initiate the iterator with this function, and then\n use getNextWindowsLanguage() to retrieve the first and subsequent codes.\n For example:\n @code{.c}\n TidyIterator itList = getWindowsLanguageList();\n while ( itList ) {\n tidyLocaleMapItem *item = getNextWindowsLanguage( &itList );\n // do something such as get the TidyLangWindowsName(item).\n }\n @endcode\n @result Returns a TidyIterator, which is a token used to represent the\n current position in a list within LibTidy."]
pub fn getWindowsLanguageList() -> TidyIterator;
}
extern "C" {
#[doc = " Given a valid TidyIterator initiated with getWindowsLanguageList(), returns\n a pointer to a tidyLocaleMapItem, which can be further interrogated with\n TidyLangWindowsName() or TidyLangPosixName().\n @param iter The TidyIterator (initiated with getWindowsLanguageList()) token.\n @result Returns a pointer to a tidyLocaleMapItem."]
pub fn getNextWindowsLanguage(iter: *mut TidyIterator) -> *const tidyLocaleMapItem;
}
extern "C" {
#[doc = " Given a `tidyLocaleMapItem`, return the Windows name.\n @param item An instance of tidyLocaleMapItem to query.\n @result Returns a string with the Windows name of the mapping."]
pub fn TidyLangWindowsName(item: *const tidyLocaleMapItem) -> ctmbstr;
}
extern "C" {
#[doc = " Given a `tidyLocaleMapItem`, return the POSIX name.\n @param item An instance of tidyLocaleMapItem to query.\n @result Returns a string with the POSIX name of the mapping."]
pub fn TidyLangPosixName(item: *const tidyLocaleMapItem) -> ctmbstr;
}
extern "C" {
#[doc = " Provides a string given `messageType` in the current localization for\n `quantity`. Some strings have one or more plural forms, and this function\n will ensure that the correct singular or plural form is returned for the\n specified quantity.\n @result Returns the desired string."]
pub fn tidyLocalizedStringN(messageType: uint, quantity: uint) -> ctmbstr;
}
extern "C" {
#[doc = " Provides a string given `messageType` in the current localization for the\n single case.\n @param messageType The message type.\n @result Returns the desired string."]
pub fn tidyLocalizedString(messageType: uint) -> ctmbstr;
}
extern "C" {
#[doc = " Provides a string given `messageType` in the default localization (which\n is `en`).\n @param messageType The message type.\n @result Returns the desired string."]
pub fn tidyDefaultString(messageType: uint) -> ctmbstr;
}
extern "C" {
#[doc = " Initiates an iterator for a list of string key codes available in Tidy.\n This iterator allows you to iterate through all of the codes. In order to\n iterate through the codes, initiate the iterator with this function, and\n then use getNextStringKey() to retrieve the first and subsequent codes.\n For example:\n @code{.c}\n TidyIterator itKey = getErrorCodeList();\n while ( itKey ) {\n uint code = getNextStringKey( &itKey );\n // do something with the code, such as lookup a string.\n }\n @endcode\n @remark These are provided for documentation generation purposes, and\n probably aren't of much use to the average LibTidy implementor.\n @result Returns a TidyIterator, which is a token used to represent the\n current position in a list within LibTidy."]
pub fn getStringKeyList() -> TidyIterator;
}
extern "C" {
#[doc = " Given a valid TidyIterator initiated with getStringKeyList(), returns\n an unsigned integer representing the next key value.\n @remark These are provided for documentation generation purposes, and\n probably aren't of much use to the average LibTidy implementor.\n @param iter The TidyIterator (initiated with getStringKeyList()) token.\n @result Returns a message code."]
pub fn getNextStringKey(iter: *mut TidyIterator) -> uint;
}
extern "C" {
#[doc = " Initiates an iterator for a list of Tidy's installed languages. This\n iterator allows you to iterate through this list. In order to iterate\n through the list, initiate the iterator with this function, and then use\n use getNextInstalledLanguage() to retrieve the first and subsequent strings.\n For example:\n @code{.c}\n TidyIterator itList = getInstalledLanguageList();\n while ( itList ) {\n printf(\"%s\", getNextInstalledLanguage( &itList ));\n }\n @endcode\n @result Returns a TidyIterator, which is a token used to represent the\n current position in a list within LibTidy."]
pub fn getInstalledLanguageList() -> TidyIterator;
}
extern "C" {
#[doc = " Given a valid TidyIterator initiated with getInstalledLanguageList(),\n returns a string representing a language name that is installed in Tidy.\n @param iter The TidyIterator (initiated with getInstalledLanguageList())\n token.\n @result Returns a string indicating the installed language."]
pub fn getNextInstalledLanguage(iter: *mut TidyIterator) -> ctmbstr;
}
#[doc = " @name Forward declarations and typedefs.\n @{"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _TidyBuffer {
#[doc = "< Memory allocator"]
pub allocator: *mut TidyAllocator,
#[doc = "< Pointer to bytes"]
pub bp: *mut byte,
#[doc = "< Number of bytes currently in use"]
pub size: uint,
#[doc = "< Number of bytes allocated"]
pub allocated: uint,
#[doc = "< Offset of current input position"]
pub next: uint,
}
#[test]
fn bindgen_test_layout__TidyBuffer() {
const UNINIT: ::std::mem::MaybeUninit<_TidyBuffer> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_TidyBuffer>(),
32usize,
concat!("Size of: ", stringify!(_TidyBuffer))
);
assert_eq!(
::std::mem::align_of::<_TidyBuffer>(),
8usize,
concat!("Alignment of ", stringify!(_TidyBuffer))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).allocator) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_TidyBuffer),
"::",
stringify!(allocator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bp) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(_TidyBuffer),
"::",
stringify!(bp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(_TidyBuffer),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).allocated) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(_TidyBuffer),
"::",
stringify!(allocated)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(_TidyBuffer),
"::",
stringify!(next)
)
);
}
extern "C" {
#[doc = " Initialize data structure using the default allocator"]
pub fn tidyBufInit(buf: *mut TidyBuffer);
}
extern "C" {
#[doc = " Initialize data structure using the given custom allocator"]
pub fn tidyBufInitWithAllocator(buf: *mut TidyBuffer, allocator: *mut TidyAllocator);
}
extern "C" {
#[doc = " Free current buffer, allocate given amount, reset input pointer,\nuse the default allocator"]
pub fn tidyBufAlloc(buf: *mut TidyBuffer, allocSize: uint);
}
extern "C" {
#[doc = " Free current buffer, allocate given amount, reset input pointer,\nuse the given custom allocator"]
pub fn tidyBufAllocWithAllocator(
buf: *mut TidyBuffer,
allocator: *mut TidyAllocator,
allocSize: uint,
);
}
extern "C" {
#[doc = " Expand buffer to given size.\n Chunk size is minimum growth. Pass 0 for default of 256 bytes."]
pub fn tidyBufCheckAlloc(buf: *mut TidyBuffer, allocSize: uint, chunkSize: uint);
}
extern "C" {
#[doc = " Free current contents and zero out"]
pub fn tidyBufFree(buf: *mut TidyBuffer);
}
extern "C" {
#[doc = " Set buffer bytes to 0"]
pub fn tidyBufClear(buf: *mut TidyBuffer);
}
extern "C" {
#[doc = " Attach to existing buffer"]
pub fn tidyBufAttach(buf: *mut TidyBuffer, bp: *mut byte, size: uint);
}
extern "C" {
#[doc = " Detach from buffer. Caller must free."]
pub fn tidyBufDetach(buf: *mut TidyBuffer);
}
extern "C" {
#[doc = " Append bytes to buffer. Expand if necessary."]
pub fn tidyBufAppend(buf: *mut TidyBuffer, vp: *mut ::std::os::raw::c_void, size: uint);
}
extern "C" {
#[doc = " Append one byte to buffer. Expand if necessary."]
pub fn tidyBufPutByte(buf: *mut TidyBuffer, bv: byte);
}
extern "C" {
#[doc = " Get byte from end of buffer"]
pub fn tidyBufPopByte(buf: *mut TidyBuffer) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " Get byte from front of buffer. Increment input offset."]
pub fn tidyBufGetByte(buf: *mut TidyBuffer) -> ::std::os::raw::c_int;
}
extern "C" {
#[doc = " At end of buffer?"]
pub fn tidyBufEndOfInput(buf: *mut TidyBuffer) -> Bool;
}
extern "C" {
#[doc = " Put a byte back into the buffer. Decrement input offset."]
pub fn tidyBufUngetByte(buf: *mut TidyBuffer, bv: byte);
}
extern "C" {
#[doc = " Initialize a buffer input source"]
pub fn tidyInitInputBuffer(inp: *mut TidyInputSource, buf: *mut TidyBuffer);
}
extern "C" {
#[doc = " Initialize a buffer output sink"]
pub fn tidyInitOutputBuffer(outp: *mut TidyOutputSink, buf: *mut TidyBuffer);
}
pub type __builtin_va_list = [__va_list_tag; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __va_list_tag {
pub gp_offset: ::std::os::raw::c_uint,
pub fp_offset: ::std::os::raw::c_uint,
pub overflow_arg_area: *mut ::std::os::raw::c_void,
pub reg_save_area: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout___va_list_tag() {
const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__va_list_tag>(),
24usize,
concat!("Size of: ", stringify!(__va_list_tag))
);
assert_eq!(
::std::mem::align_of::<__va_list_tag>(),
8usize,
concat!("Alignment of ", stringify!(__va_list_tag))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(gp_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(fp_offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(overflow_arg_area)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__va_list_tag),
"::",
stringify!(reg_save_area)
)
);
}