28 #include "ac-stdint.h"
36 # ifdef JABBERD2_EXPORTS
37 # define JABBERD2_API __declspec(dllexport)
39 # define JABBERD2_API __declspec(dllimport)
42 # define JABBERD2_API extern
93 #define SX_SUCCESS (0x00)
94 #define SX_ERR_STREAM (0x01)
95 #define SX_ERR_AUTH (0x02)
96 #define SX_ERR_XML_PARSE (0x03)
106 #define _sx_gen_error(e,c,g,s) do { e.code = c; e.generic = g; e.specific = s; } while(0);
124 #define stream_err_BAD_FORMAT (0)
125 #define stream_err_BAD_NAMESPACE_PREFIX (1)
126 #define stream_err_CONFLICT (2)
127 #define stream_err_CONNECTION_TIMEOUT (3)
128 #define stream_err_HOST_GONE (4)
129 #define stream_err_HOST_UNKNOWN (5)
130 #define stream_err_IMPROPER_ADDRESSING (6)
131 #define stream_err_INTERNAL_SERVER_ERROR (7)
132 #define stream_err_INVALID_FROM (8)
133 #define stream_err_INVALID_ID (9)
134 #define stream_err_INVALID_NAMESPACE (10)
135 #define stream_err_INVALID_XML (11)
136 #define stream_err_NOT_AUTHORIZED (12)
137 #define stream_err_POLICY_VIOLATION (13)
138 #define stream_err_REMOTE_CONNECTION_FAILED (14)
139 #define stream_err_RESTRICTED_XML (15)
140 #define stream_err_RESOURCE_CONSTRAINT (16)
141 #define stream_err_SEE_OTHER_HOST (17)
142 #define stream_err_SYSTEM_SHUTDOWN (18)
143 #define stream_err_UNDEFINED_CONDITION (19)
144 #define stream_err_UNSUPPORTED_ENCODING (20)
145 #define stream_err_UNSUPPORTED_STANZA_TYPE (21)
146 #define stream_err_UNSUPPORTED_VERSION (22)
147 #define stream_err_XML_NOT_WELL_FORMED (23)
148 #define stream_err_LAST (24)
166 #define sx_nad_write(s,nad) sx_nad_write_elem(s, nad, 0)
195 #ifdef HAVE_XML_STOPPARSER
196 JABBERD2_API void _sx_entity_declaration(
void *arg,
const char *entityName,
197 int is_parameter_entity,
const char *value,
198 int value_length,
const char *base,
199 const char *systemId,
const char *publicId,
200 const char *notationName);
353 void (*
new)(sx_t s, sx_plugin_t p);
354 void (*free)(sx_t s, sx_plugin_t p);
356 void (*client)(sx_t s, sx_plugin_t p);
357 void (*server)(sx_t s, sx_plugin_t p);
360 int (*wio)(sx_t s, sx_plugin_t p, sx_buf_t buf);
361 int (*rio)(sx_t s, sx_plugin_t p, sx_buf_t buf);
364 int (*wnad)(sx_t s, sx_plugin_t p,
nad_t nad,
int elem);
365 int (*rnad)(sx_t s, sx_plugin_t p,
nad_t nad);
367 void (*header)(sx_t s, sx_plugin_t p, sx_buf_t buf);
368 void (*stream)(sx_t s, sx_plugin_t p);
370 void (*features)(sx_t s, sx_plugin_t p,
nad_t nad);
373 int (*process)(sx_t s, sx_plugin_t p,
nad_t nad);
375 void (*unload)(sx_plugin_t p);
385 #define ZONE __FILE__,__LINE__
392 #define _sx_event(s,e,data) __sx_event(ZONE, s, e, data)
397 #define _sx_debug if(get_debug_flag()) __sx_debug
400 #define _sx_state(s,st) do { _sx_debug(ZONE, "%d state change from %d to %d", s->tag, s->state, st); s->state = st; } while(0)
405 #define _sx_debug if(0) __sx_debug
406 #define _sx_state(s,st) s->state = st