use crate::abi::callbacks::*;
use crate::abi::types::*;
use std::os::raw::{c_char, c_int, c_long, c_uint, c_ulong, c_ushort, c_void};
#[repr(C)]
pub struct _xmlBuffer {
pub content: *mut xmlChar, pub use_: c_uint, pub size: c_uint, pub alloc: c_int, pub contentIO: *mut xmlChar, }
#[repr(C)]
pub struct _xmlNotation {
pub name: *const xmlChar, pub PublicID: *const xmlChar, pub SystemID: *const xmlChar, }
#[repr(C)]
pub struct _xmlEnumeration {
pub next: *mut _xmlEnumeration, pub name: *const xmlChar, }
#[repr(C)]
pub struct _xmlAttribute {
pub _private: *mut c_void, pub type_: c_int, pub name: *const xmlChar, pub children: *mut _xmlNode, pub last: *mut _xmlNode, pub parent: *mut _xmlDtd, pub next: *mut _xmlNode, pub prev: *mut _xmlNode, pub doc: *mut _xmlDoc,
pub nexth: *mut _xmlAttribute, pub atype: c_int, pub def: c_int, pub defaultValue: *mut xmlChar, pub tree: *mut _xmlEnumeration, pub prefix: *const xmlChar, pub elem: *const xmlChar, }
#[repr(C)]
pub struct _xmlElementContent {
pub type_: c_int, pub ocur: c_int, pub name: *const xmlChar, pub c1: *mut _xmlElementContent, pub c2: *mut _xmlElementContent, pub parent: *mut _xmlElementContent, pub prefix: *const xmlChar, }
#[repr(C)]
pub struct _xmlNs {
pub next: *mut _xmlNs, pub type_: c_int, pub href: *const xmlChar, pub prefix: *const xmlChar, pub _private: *mut c_void, pub context: *mut _xmlDoc, }
#[repr(C)]
pub struct _xmlDtd {
pub _private: *mut c_void, pub type_: c_int, pub name: *const xmlChar, pub children: *mut _xmlNode, pub last: *mut _xmlNode, pub parent: *mut _xmlDoc, pub next: *mut _xmlNode, pub prev: *mut _xmlNode, pub doc: *mut _xmlDoc, pub notations: *mut c_void, pub elements: *mut c_void, pub attributes: *mut c_void, pub entities: *mut c_void, pub ExternalID: *mut xmlChar, pub SystemID: *mut xmlChar, pub pentities: *mut c_void, }
#[repr(C)]
pub struct _xmlAttr {
pub _private: *mut c_void, pub type_: c_int, pub name: *const xmlChar, pub children: *mut _xmlNode, pub last: *mut _xmlNode, pub parent: *mut _xmlNode, pub next: *mut _xmlAttr, pub prev: *mut _xmlAttr, pub doc: *mut _xmlDoc, pub ns: *mut _xmlNs, pub atype: c_int, pub psvi: *mut c_void, pub id: *mut c_void, }
#[repr(C)]
pub struct _xmlNode {
pub _private: *mut c_void, pub type_: c_int, pub name: *const xmlChar, pub children: *mut _xmlNode, pub last: *mut _xmlNode, pub parent: *mut _xmlNode, pub next: *mut _xmlNode, pub prev: *mut _xmlNode, pub doc: *mut _xmlDoc, pub ns: *mut _xmlNs, pub content: *mut xmlChar, pub properties: *mut _xmlAttr, pub nsDef: *mut _xmlNs, pub psvi: *mut c_void, pub line: c_ushort, pub extra: c_ushort, }
#[repr(C)]
pub struct _xmlDoc {
pub _private: *mut c_void, pub type_: c_int, pub name: *mut c_char, pub children: *mut _xmlNode, pub last: *mut _xmlNode, pub parent: *mut _xmlNode, pub next: *mut _xmlNode, pub prev: *mut _xmlNode, pub doc: *mut _xmlDoc, pub compression: c_int, pub standalone: c_int, pub intSubset: *mut _xmlDtd, pub extSubset: *mut _xmlDtd, pub oldNs: *mut _xmlNs, pub version: *mut xmlChar, pub encoding: *mut xmlChar, pub ids: *mut c_void, pub refs: *mut c_void, pub URL: *mut xmlChar, pub charset: c_int, pub dict: *mut c_void, pub psvi: *mut c_void, pub parseFlags: c_int, pub properties: c_int, }
#[repr(C)]
pub struct _xmlEntity {
pub _private: *mut c_void, pub type_: c_int, pub name: *const xmlChar, pub children: *mut _xmlNode, pub last: *mut _xmlNode, pub parent: *mut _xmlDtd, pub next: *mut _xmlNode, pub prev: *mut _xmlNode, pub doc: *mut _xmlDoc, pub orig: *mut xmlChar, pub content: *mut xmlChar, pub length: c_int, pub etype: c_int, pub ExternalID: *const xmlChar, pub SystemID: *const xmlChar, pub nexte: *mut _xmlEntity, pub URI: *const xmlChar, pub owner: c_int, pub flags: c_int, pub expandedSize: c_ulong, }
#[repr(C)]
pub struct _xmlError {
pub domain: c_int, pub code: c_int, pub message: *mut c_char, pub level: c_int, pub file: *mut c_char, pub line: c_int, pub str1: *mut c_char, pub str2: *mut c_char, pub str3: *mut c_char, pub int1: c_int, pub int2: c_int, pub ctxt: *mut c_void, pub node: *mut c_void, }
#[repr(C)]
pub struct _xmlParserInput {
pub buf: *mut _xmlParserInputBuffer, pub filename: *const c_char, pub directory: *const c_char, pub base: *const xmlChar, pub cur: *const xmlChar, pub end: *const xmlChar, pub length: c_int, pub line: c_int, pub col: c_int, pub consumed: c_ulong, pub free: Option<unsafe extern "C" fn(*mut c_char)>, pub encoding: *const xmlChar, pub version: *const xmlChar, pub flags: c_int, pub id: c_int, pub parentConsumed: c_ulong, pub entity: *mut _xmlEntity, }
#[repr(C)]
pub struct _xmlParserInputBuffer {
pub context: *mut c_void, pub readcallback: Option<xmlInputReadCallback>, pub closecallback: Option<xmlInputCloseCallback>, pub encoder: *mut c_void, pub buffer: *mut c_void, pub raw: *mut c_void, pub compressed: c_int, pub error: c_int, pub rawconsumed: c_ulong, }
#[repr(C)]
pub struct _xmlOutputBuffer {
pub context: *mut c_void, pub writecallback: Option<xmlOutputWriteCallback>, pub closecallback: Option<xmlOutputCloseCallback>, pub encoder: *mut c_void, pub buffer: *mut c_void, pub conv: *mut c_void, pub written: c_int, pub error: c_int, }
#[repr(C)]
pub struct _xmlSAXHandler {
pub internalSubset: Option<internalSubsetSAXFunc>,
pub isStandalone: Option<isStandaloneSAXFunc>,
pub hasInternalSubset: Option<hasInternalSubsetSAXFunc>,
pub hasExternalSubset: Option<hasExternalSubsetSAXFunc>,
pub resolveEntity: Option<resolveEntitySAXFunc>,
pub getEntity: Option<getEntitySAXFunc>,
pub entityDecl: Option<entityDeclSAXFunc>,
pub notationDecl: Option<notationDeclSAXFunc>,
pub attributeDecl: Option<attributeDeclSAXFunc>,
pub elementDecl: Option<elementDeclSAXFunc>,
pub unparsedEntityDecl: Option<unparsedEntityDeclSAXFunc>,
pub setDocumentLocator: Option<setDocumentLocatorSAXFunc>,
pub startDocument: Option<startDocumentSAXFunc>,
pub endDocument: Option<endDocumentSAXFunc>,
pub startElement: Option<startElementSAXFunc>,
pub endElement: Option<endElementSAXFunc>,
pub reference: Option<referenceSAXFunc>,
pub characters: Option<charactersSAXFunc>,
pub ignorableWhitespace: Option<ignorableWhitespaceSAXFunc>,
pub processingInstruction: Option<processingInstructionSAXFunc>,
pub comment: Option<commentSAXFunc>,
pub warning: Option<warningSAXFunc>,
pub error: Option<errorSAXFunc>,
pub fatalError: Option<fatalErrorSAXFunc>,
pub getParameterEntity: Option<getParameterEntitySAXFunc>,
pub cdataBlock: Option<cdataBlockSAXFunc>,
pub externalSubset: Option<externalSubsetSAXFunc>,
pub initialized: c_uint,
pub _private: *mut c_void,
pub startElementNs: Option<startElementNsSAX2Func>,
pub endElementNs: Option<endElementNsSAX2Func>,
pub serror: Option<xmlStructuredErrorFunc>,
}
#[repr(C)]
pub struct _xmlParserCtxt {
pub sax: *mut _xmlSAXHandler, pub userData: *mut c_void, pub myDoc: *mut _xmlDoc, pub wellFormed: c_int, pub replaceEntities: c_int, pub version: *mut xmlChar, pub encoding: *mut xmlChar, pub standalone: c_int, pub html: c_int, pub input: *mut _xmlParserInput, pub inputNr: c_int, pub inputMax: c_int, pub inputTab: *mut *mut _xmlParserInput, pub node: *mut _xmlNode, pub nodeNr: c_int, pub nodeMax: c_int, pub nodeTab: *mut *mut _xmlNode, pub record_info: c_int, pub node_seq: xmlParserNodeInfoSeq, pub errNo: c_int, pub hasExternalSubset: c_int, pub hasPErefs: c_int, pub external: c_int, pub valid: c_int, pub validate: c_int, pub vctxt: _xmlValidCtxt, pub instate: c_int, pub token: c_int, pub directory: *mut c_char, pub name: *const xmlChar, pub nameNr: c_int, pub nameMax: c_int, pub nameTab: *mut *const xmlChar, pub nbChars: c_long, pub checkIndex: c_long, pub keepBlanks: c_int, pub disableSAX: c_int, pub inSubset: c_int, pub intSubName: *const xmlChar, pub extSubURI: *mut xmlChar, pub extSubSystem: *mut xmlChar, pub space: *mut c_int, pub spaceNr: c_int, pub spaceMax: c_int, pub spaceTab: *mut c_int, pub depth: c_int, pub entity: *mut _xmlParserInput, pub charset: c_int, pub nodelen: c_int, pub nodemem: c_int, pub pedantic: c_int, pub _private: *mut c_void, pub loadsubset: c_int, pub linenumbers: c_int, pub catalogs: *mut c_void, pub recovery: c_int, pub progressive: c_int, pub dict: *mut c_void, pub atts: *mut *const xmlChar, pub maxatts: c_int, pub docdict: c_int, pub str_xml: *const xmlChar, pub str_xmlns: *const xmlChar, pub str_xml_ns: *const xmlChar, pub sax2: c_int, pub nsNr: c_int, pub nsMax: c_int, pub nsTab: *mut *const xmlChar, pub attallocs: *mut c_uint, pub pushTab: *mut c_void, pub attsDefault: *mut c_void, pub attsSpecial: *mut c_void, pub nsWellFormed: c_int, pub options: c_int, pub dictNames: c_int, pub freeElemsNr: c_int, pub freeElems: *mut _xmlNode, pub freeAttrsNr: c_int, pub freeAttrs: *mut _xmlAttr, pub lastError: _xmlError, pub parseMode: c_int, pub nbentities: c_ulong, pub sizeentities: c_ulong, pub nodeInfo: *mut c_void, pub nodeInfoNr: c_int, pub nodeInfoMax: c_int, pub nodeInfoTab: *mut c_void, pub input_id: c_int, pub sizeentcopy: c_ulong, pub endCheckState: c_int, pub nbErrors: c_ushort, pub nbWarnings: c_ushort, pub maxAmpl: c_uint, pub nsdb: *mut c_void, pub attrHashMax: c_uint, pub attrHash: *mut c_void, pub errorHandler: Option<xmlStructuredErrorFunc>, pub errorCtxt: *mut c_void, pub resourceLoader: Option<xmlResourceLoader>, pub resourceCtxt: *mut c_void, pub convImpl: Option<xmlCharEncConvImpl>, pub convCtxt: *mut c_void, }
#[repr(C)]
pub struct _xmlValidCtxt {
pub userData: *mut c_void, pub error: Option<xmlValidityErrorFunc>, pub warning: Option<xmlValidityWarningFunc>, pub node: *mut _xmlNode, pub nodeNr: c_int, pub nodeMax: c_int, pub nodeTab: *mut *mut _xmlNode, pub flags: c_uint, pub doc: *mut _xmlDoc, pub valid: c_int, pub vstate: *mut c_void, pub vstateNr: c_int, pub vstateMax: c_int, pub vstateTab: *mut c_void, pub am: *mut c_void, pub state: *mut c_void, }
#[repr(C)]
pub struct _xmlParserNodeInfo {
pub node: *const _xmlNode,
pub begin_pos: c_ulong,
pub begin_line: c_ulong,
pub end_pos: c_ulong,
pub end_line: c_ulong,
}
#[repr(C)]
pub struct _xmlParserNodeInfoSeq {
pub block: *mut _xmlParserNodeInfo,
pub index: *mut c_int,
pub block_max: c_int,
pub size: c_int,
}
pub type xmlParserNodeInfoSeq = _xmlParserNodeInfoSeq;
#[repr(C)]
pub struct _xmlXPathContext {
pub doc: *mut _xmlDoc, pub node: *mut _xmlNode, pub nb_variables_unused: c_int, pub max_variables_unused: c_int, pub varHash: *mut c_void, pub nb_types: c_int, pub max_types: c_int, pub types: *mut c_void, pub nb_funcs_unused: c_int, pub max_funcs_unused: c_int, pub funcHash: *mut c_void, pub nb_axis: c_int, pub max_axis: c_int, pub axis: *mut c_void, pub namespaces: *mut *mut _xmlNs, pub nsNr: c_int, pub user: *mut c_void, pub contextSize: c_int, pub proximityPosition: c_int, pub xptr: c_int, pub here: *mut _xmlNode, pub origin: *mut _xmlNode, pub nsHash: *mut c_void, pub varLookupFunc: Option<xmlXPathVariableLookupFunc>, pub varLookupData: *mut c_void, pub extra: *mut c_void, pub function: *const xmlChar, pub functionURI: *const xmlChar, pub funcLookupFunc: Option<xmlXPathFuncLookupFunc>, pub funcLookupData: *mut c_void, pub tmpNsList: *mut *mut _xmlNs, pub tmpNsNr: c_int, pub userData: *mut c_void, pub error: Option<xmlStructuredErrorFunc>, pub lastError: _xmlError, pub debugNode: *mut _xmlNode, pub dict: *mut c_void, pub flags: c_int, pub cache: *mut c_void, pub opLimit: c_ulong, pub opCount: c_ulong,
pub depth: c_int,
}
#[repr(C)]
pub struct _xmlXPathObject {
pub type_: c_int, pub nodesetval: *mut c_void, pub boolval: c_int, pub floatval: f64, pub stringval: *mut xmlChar, pub user: *mut c_void, pub index: c_int, pub user2: *mut c_void, pub index2: c_int, }
#[repr(C)]
pub struct _xmlNodeSet {
pub nodeNr: c_int, pub nodeMax: c_int, pub nodeTab: *mut *mut _xmlNode, }
#[repr(C)]
pub struct _xsltStylesheet {
_unused: [u8; 0],
}
#[repr(C)]
pub struct _xsltTransformContext {
_unused: [u8; 0],
}
pub type xmlNodePtr = *mut _xmlNode;
pub type xmlDocPtr = *mut _xmlDoc;
pub type xmlNsPtr = *mut _xmlNs;
pub type xmlAttrPtr = *mut _xmlAttr;
pub type xmlDtdPtr = *mut _xmlDtd;
pub type xmlEntityPtr = *mut _xmlEntity;
pub type xmlErrorPtr = *mut _xmlError;
pub type xmlParserCtxtPtr = *mut _xmlParserCtxt;
pub type xmlParserInputPtr = *mut _xmlParserInput;
pub type xmlParserInputBufferPtr = *mut _xmlParserInputBuffer;
pub type xmlOutputBufferPtr = *mut _xmlOutputBuffer;
pub type xmlSAXHandlerPtr = *mut _xmlSAXHandler;
pub type xmlValidCtxtPtr = *mut _xmlValidCtxt;
pub type xmlBufferPtr = *mut _xmlBuffer;
pub type xmlXPathContextPtr = *mut _xmlXPathContext;
pub type xmlXPathObjectPtr = *mut _xmlXPathObject;
pub type xmlNodeSetPtr = *mut _xmlNodeSet;
pub type xsltStylesheetPtr = *mut _xsltStylesheet;
pub type xsltTransformContextPtr = *mut _xsltTransformContext;