11#if defined(__cplusplus)
38#define GS_XML_MAX_ELEMENT_NAME_LENGTH 128
39#define GS_XML_MAX_ATTRIBUTE_NAME_LENGTH 128
40#define GS_XML_MAX_ATTRIBUTE_VALUE_LENGTH 1024
45typedef void* GSXmlStreamReader;
46typedef void* GSXmlStreamWriter;
53GSXmlStreamWriter gsXmlCreateStreamWriter(
const char ** namespaces,
int count);
54GSXmlStreamReader gsXmlCreateStreamReader();
55void gsXmlFreeReader(GSXmlStreamReader stream);
56void gsXmlFreeWriter(GSXmlStreamWriter stream);
58void gsXmlResetReader(GSXmlStreamReader stream);
61const char * gsXmlWriterGetData (GSXmlStreamWriter stream);
62int gsXmlWriterGetDataLength (GSXmlStreamWriter stream);
63gsi_bool gsXmlCloseWriter (GSXmlStreamWriter stream);
64gsi_bool gsXmlWriteStringElement(GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag,
const char * value);
65gsi_bool gsXmlWriteAsciiStringElement(GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag,
const gsi_char * value);
66gsi_bool gsXmlWriteUnicodeStringElement(GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag,
const unsigned short * value);
67gsi_bool gsXmlWriteIntElement (GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag, gsi_u32 value);
68gsi_bool gsXmlWriteInt64Element (GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag, gsi_i64 value);
69gsi_bool gsXmlWriteFloatElement (GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag,
float value);
70gsi_bool gsXmlWriteHexBinaryElement(GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag,
const gsi_u8 * data,
int len);
71gsi_bool gsXmlWriteBase64BinaryElement(GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag,
const gsi_u8 * data,
int len);
72gsi_bool gsXmlWriteDateTimeElement(GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag, time_t value);
73gsi_bool gsXmlWriteLargeIntElement(GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag,
const struct gsLargeInt_s * lint);
74gsi_bool gsXmlWriteOpenTag (GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag);
75gsi_bool gsXmlWriteCloseTag (GSXmlStreamWriter stream,
const char * namespaceName,
const char * tag);
78gsi_bool gsXmlParseBuffer (GSXmlStreamReader stream,
char * buffer,
int len);
80gsi_bool gsXmlMoveToStart (GSXmlStreamReader stream);
81gsi_bool gsXmlMoveToParent (GSXmlStreamReader stream);
82gsi_bool gsXmlMoveToNext (GSXmlStreamReader stream,
const char * matchtag);
83gsi_bool gsXmlMoveToSibling (GSXmlStreamReader stream,
const char * matchtag);
84gsi_bool gsXmlMoveToChild (GSXmlStreamReader stream,
const char * matchtag);
86gsi_bool gsXmlReadChildAsString (GSXmlStreamReader stream,
const char * matchtag,
const char ** valueOut,
int * lenOut);
87gsi_bool gsXmlReadChildAsStringNT (GSXmlStreamReader stream,
const char * matchtag,
char valueOut[],
int maxLen);
89gsi_bool gsXmlReadChildAsUnicodeStringNT (GSXmlStreamReader stream,
const char * matchtag, gsi_char valueOut[],
int maxLen);
90gsi_bool gsXmlReadChildAsInt (GSXmlStreamReader stream,
const char * matchtag,
int * valueOut);
91gsi_bool gsXmlReadChildAsInt64 (GSXmlStreamReader stream,
const char * matchtag, gsi_i64 * valueOut);
92gsi_bool gsXmlReadChildAsFloat (GSXmlStreamReader stream,
const char * matchtag,
float * valueOut);
93gsi_bool gsXmlReadChildAsDateTimeElement(GSXmlStreamReader stream,
const char * matchtag, time_t * valueOut);
94gsi_bool gsXmlResetChildReadPosition(GSXmlStreamReader stream);
98gsi_bool gsXmlReadChildAsHexBinary(GSXmlStreamReader stream,
const char * matchtag, gsi_u8 valueOut[],
int maxLen,
int * lenOut);
101gsi_bool gsXmlReadChildAsBase64Binary(GSXmlStreamReader stream,
const char * matchtag, gsi_u8 valueOut[],
int * lenOut);
104gsi_bool gsXmlReadChildAsLargeInt(GSXmlStreamReader stream,
const char * matchtag,
struct gsLargeInt_s * valueOut);
107int gsXmlCountChildren (GSXmlStreamReader stream,
const char * matchtag);
111 #define gsXmlWriteTStringElement(s,n,t,v) gsXmlWriteUnicodeStringElement(s,n,t,v)
113 #define gsXmlReadChildAsTStringNT(s,m,v,l) gsXmlReadChildAsUnicodeStringNT(s,m,v,l)
115 #define gsXmlWriteTStringElement(s,n,t,v) gsXmlWriteStringElement(s,n,t,v)
117 #define gsXmlReadChildAsTStringNT(s,m,v,l) gsXmlReadChildAsStringNT(s,m,v,l)
123#if defined(__cplusplus)
Definition gsLargeInt.h:43