libxml-rs 0.1.0-alpha.21

Native-Rust forensic reimplementation of libxml2+libxslt with C ABI drop-in replacement. Cross-version oracle matrix (libxml2 2.7.8-2.15.3, libxslt 1.1.26-1.1.45) with semantic epochs correlated to upstream commits; full xmllint/xmlcatalog/xsltproc CLIs; differential-court-verified C API closure (xmlXPath*, xmlTextReader*, xmlTextWriter*, catalogs, serialization, data globals, chvalid, encoding, the full libxslt surface) — parity ledger at 0 missing for both libxml2 and libxslt. 1135 tests passing.
Documentation
/**
 * @file
 *
 * String utility functions for libxml-rs
 */

#ifndef __XML_STRING_H__
#define __XML_STRING_H__

#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef unsigned char xmlChar;

#ifndef BAD_CAST
#define BAD_CAST (const xmlChar *)
#endif

XMLPUBFUN xmlChar *xmlStrdup(const xmlChar *cur);
XMLPUBFUN xmlChar *xmlStrndup(const xmlChar *cur, int len);
XMLPUBFUN int xmlStrlen(const xmlChar *str);
XMLPUBFUN int xmlStrcmp(const xmlChar *str1, const xmlChar *str2);
XMLPUBFUN int xmlStrncmp(const xmlChar *str1, const xmlChar *str2, int len);
XMLPUBFUN int xmlStrcasecmp(const xmlChar *str1, const xmlChar *str2);
XMLPUBFUN int xmlStrncasecmp(const xmlChar *str1, const xmlChar *str2, int len);
XMLPUBFUN int xmlStrEqual(const xmlChar *str1, const xmlChar *str2);
XMLPUBFUN int xmlStrQEqual(const xmlChar *pref, const xmlChar *name, const xmlChar *str);
XMLPUBFUN xmlChar *xmlStrcat(xmlChar *cur, const xmlChar *add);
XMLPUBFUN xmlChar *xmlStrncat(xmlChar *cur, const xmlChar *add, int len);
XMLPUBFUN xmlChar *xmlStrncatNew(const xmlChar *str1, const xmlChar *str2, int len);
XMLPUBFUN xmlChar *xmlStrcpy(xmlChar *dst, const xmlChar *src);
XMLPUBFUN xmlChar *xmlStrncpy(xmlChar *dst, const xmlChar *src, int len);
XMLPUBFUN xmlChar *xmlStrsub(const xmlChar *str, int start, int len);

#ifdef __cplusplus
}
#endif

#endif /* __XML_STRING_H__ */