xmpp/xode.h File Reference

#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <stdio.h>
#include <errno.h>
#include <syslog.h>
#include <strings.h>
#include <unistd.h>
#include <sys/time.h>
#include "expat.h"
#include <varargs.h>

Include dependency graph for xmpp/xode.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  xode_pool_heap
struct  xode_pool_struct
struct  xode_spool_node
struct  xode_spool_struct
struct  xode_stream_struct
struct  xode_struct

Defines

#define MAXSHORTSTR   203
#define QUAD_T   unsigned long long
#define snprintf   ap_snprintf
#define VA_END   va_end(ap)
#define VA_LOCAL_DECL   va_list ap;
#define VA_START(f)   va_start(ap)
#define vsnprintf   ap_vsnprintf
#define XODE_STREAM_CLOSE   2
#define XODE_STREAM_ERROR   4
#define XODE_STREAM_MAXDEPTH   100
#define XODE_STREAM_MAXNODE   1000000
#define XODE_STREAM_NODE   1
#define XODE_STREAM_ROOT   0
#define XODE_TYPE_ATTRIB   1
#define XODE_TYPE_CDATA   2
#define XODE_TYPE_LAST   2
#define XODE_TYPE_TAG   0
#define XODE_TYPE_UNDEF   -1

Typedefs

typedef struct xode_struct _xode
typedef struct xode_pool_struct _xode_pool
typedef struct xode_stream_struct _xode_stream
typedef struct xode_structxode
typedef struct xode_pool_structxode_pool
typedef void(* xode_pool_cleaner )(void *arg)
typedef struct xode_spool_structxode_spool
typedef struct xode_stream_structxode_stream
typedef void(* xode_stream_onNode )(int type, xode x, void *arg)

Functions

int ap_snprintf (char *, size_t, const char *,...)
int ap_vsnprintf (char *, size_t, const char *, va_list ap)
int xode_cmp (xode a, xode b)
xode xode_dup (xode x)
xode xode_dup_frompool (xode_pool p, xode x)
void xode_free (xode node)
xode xode_from_file (char *file)
xode xode_from_str (char *str, int len)
xode xode_from_strx (char *str, int len, int *err, int *pos)
char * xode_get_attrib (xode owner, const char *name)
char * xode_get_data (xode node)
int xode_get_datasz (xode node)
xode xode_get_firstattrib (xode parent)
xode xode_get_firstchild (xode parent)
xode xode_get_lastchild (xode parent)
char * xode_get_name (xode node)
xode xode_get_nextsibling (xode sibling)
xode xode_get_parent (xode node)
xode_pool xode_get_pool (xode node)
xode xode_get_prevsibling (xode sibling)
xode xode_get_tag (xode parent, const char *name)
char * xode_get_tagdata (xode parent, const char *name)
int xode_get_type (xode node)
void * xode_get_vattrib (xode owner, const char *name)
int xode_has_attribs (xode node)
int xode_has_children (xode node)
void xode_hide (xode child)
void xode_hide_attrib (xode parent, const char *name)
xode xode_insert_cdata (xode parent, const char *CDATA, unsigned int size)
void xode_insert_node (xode parent, xode node)
xode xode_insert_tag (xode parent, const char *name)
xode xode_insert_tagnode (xode parent, xode node)
xode xode_new (const char *name)
xode xode_new_frompool (xode_pool p, const char *name)
xode xode_new_tag (const char *name)
void xode_pool_cleanup (xode_pool p, xode_pool_cleaner f, void *arg)
void xode_pool_free (xode_pool p)
xode_pool xode_pool_heap (int bytes)
void * xode_pool_malloc (xode_pool p, int size)
void * xode_pool_malloco (xode_pool p, int size)
void * xode_pool_mallocx (xode_pool p, int size, char c)
xode_pool xode_pool_new (void)
int xode_pool_size (xode_pool p)
char * xode_pool_strdup (xode_pool p, const char *src)
void xode_put_attrib (xode owner, const char *name, const char *value)
void xode_put_vattrib (xode owner, const char *name, void *value)
void xode_spool_add (xode_spool s, char *str)
void xode_spool_free (xode_spool s)
int xode_spool_getlen (const xode_spool s)
xode_pool xode_spool_getpool (const xode_spool s)
xode_spool xode_spool_new (void)
xode_spool xode_spool_newfrompool (xode_pool p)
char * xode_spool_str (xode_pool p,...)
char * xode_spool_tostr (xode_spool s)
void xode_spooler (xode_spool s,...)
int xode_stream_eat (xode_stream xs, char *buff, int len)
xode_stream xode_stream_new (xode_pool p, xode_stream_onNode f, void *arg)
char * xode_strescape (xode_pool p, char *buf)
char * xode_strunescape (xode_pool p, char *buf)
int xode_to_file (char *file, xode node)
char * xode_to_prettystr (xode node)
char * xode_to_str (xode node)
xode xode_wrap (xode x, const char *wrapper)


Detailed Description

Definition in file xmpp/xode.h.


Define Documentation

#define MAXSHORTSTR   203

Definition at line 45 of file xmpp/xode.h.

#define QUAD_T   unsigned long long

Definition at line 46 of file xmpp/xode.h.

#define snprintf   ap_snprintf

Definition at line 77 of file xmpp/xode.h.

#define VA_END   va_end(ap)

Definition at line 62 of file xmpp/xode.h.

#define VA_LOCAL_DECL   va_list ap;

Definition at line 60 of file xmpp/xode.h.

#define VA_START (  )     va_start(ap)

Definition at line 61 of file xmpp/xode.h.

#define vsnprintf   ap_vsnprintf

Definition at line 82 of file xmpp/xode.h.

#define XODE_STREAM_CLOSE   2

Definition at line 279 of file xmpp/xode.h.

#define XODE_STREAM_ERROR   4

Definition at line 280 of file xmpp/xode.h.

#define XODE_STREAM_MAXDEPTH   100

Definition at line 275 of file xmpp/xode.h.

#define XODE_STREAM_MAXNODE   1000000

Definition at line 274 of file xmpp/xode.h.

#define XODE_STREAM_NODE   1

Definition at line 278 of file xmpp/xode.h.

#define XODE_STREAM_ROOT   0

Definition at line 277 of file xmpp/xode.h.

#define XODE_TYPE_ATTRIB   1

Definition at line 180 of file xmpp/xode.h.

#define XODE_TYPE_CDATA   2

Definition at line 181 of file xmpp/xode.h.

#define XODE_TYPE_LAST   2

Definition at line 183 of file xmpp/xode.h.

#define XODE_TYPE_TAG   0

Definition at line 179 of file xmpp/xode.h.

#define XODE_TYPE_UNDEF   -1

Definition at line 184 of file xmpp/xode.h.


Typedef Documentation

typedef struct xode_struct _xode

typedef struct xode_pool_struct _xode_pool

typedef struct xode_struct * xode

typedef struct xode_pool_struct * xode_pool

typedef void(* xode_pool_cleaner)(void *arg)

Definition at line 95 of file xmpp/xode.h.

typedef struct xode_spool_struct * xode_spool

typedef struct xode_stream_struct * xode_stream

typedef void(* xode_stream_onNode)(int type, xode x, void *arg)

Definition at line 282 of file xmpp/xode.h.


Function Documentation

int ap_snprintf ( char *  ,
size_t  ,
const char *  ,
  ... 
)

Definition at line 916 of file jabber/xsnprintf.c.

References strx_printv().

int ap_vsnprintf ( char *  ,
size_t  ,
const char *  ,
va_list  ap 
)

Definition at line 928 of file jabber/xsnprintf.c.

References strx_printv().

int xode_cmp ( xode  a,
xode  b 
)

xode xode_dup ( xode  x  ) 

xode xode_dup_frompool ( xode_pool  p,
xode  x 
)

void xode_free ( xode  node  ) 

xode xode_from_file ( char *  file  ) 

xode xode_from_str ( char *  str,
int  len 
)

xode xode_from_strx ( char *  str,
int  len,
int *  err,
int *  pos 
)

char* xode_get_attrib ( xode  owner,
const char *  name 
)

char* xode_get_data ( xode  node  ) 

int xode_get_datasz ( xode  node  ) 

xode xode_get_firstattrib ( xode  parent  ) 

xode xode_get_firstchild ( xode  parent  ) 

xode xode_get_lastchild ( xode  parent  ) 

Definition at line 510 of file jabber/xode.c.

References xode_struct::lastchild, and NULL.

char* xode_get_name ( xode  node  ) 

xode xode_get_nextsibling ( xode  sibling  ) 

xode xode_get_parent ( xode  node  ) 

Definition at line 531 of file jabber/xode.c.

References NULL, and xode_struct::parent.

Referenced by _xode_expat_endElement(), _xode_stream_endElement(), and _xode_tospool().

xode_pool xode_get_pool ( xode  node  ) 

xode xode_get_prevsibling ( xode  sibling  ) 

Definition at line 524 of file jabber/xode.c.

References NULL, and xode_struct::prev.

xode xode_get_tag ( xode  parent,
const char *  name 
)

char* xode_get_tagdata ( xode  parent,
const char *  name 
)

Definition at line 413 of file jabber/xode.c.

References NULL, xode_get_data(), and xode_get_tag().

int xode_get_type ( xode  node  ) 

void* xode_get_vattrib ( xode  owner,
const char *  name 
)

int xode_has_attribs ( xode  node  ) 

Definition at line 597 of file jabber/xode.c.

References xode_struct::firstattrib, and NULL.

Referenced by xode_dup(), xode_dup_frompool(), and xode_insert_tagnode().

int xode_has_children ( xode  node  ) 

Definition at line 590 of file jabber/xode.c.

References xode_struct::firstchild, and NULL.

Referenced by _xode_tospool(), xode_dup(), xode_dup_frompool(), and xode_insert_tagnode().

void xode_hide ( xode  child  ) 

void xode_hide_attrib ( xode  parent,
const char *  name 
)

xode xode_insert_cdata ( xode  parent,
const char *  CDATA,
unsigned int  size 
)

void xode_insert_node ( xode  parent,
xode  node 
)

xode xode_insert_tag ( xode  parent,
const char *  name 
)

xode xode_insert_tagnode ( xode  parent,
xode  node 
)

xode xode_new ( const char *  name  ) 

Definition at line 230 of file jabber/xode.c.

References _xode_new(), NULL, and XODE_TYPE_TAG.

Referenced by _xode_expat_startElement(), xode_dup(), and xode_stream_eat().

xode xode_new_frompool ( xode_pool  p,
const char *  name 
)

Definition at line 254 of file jabber/xode.c.

References _xode_new(), and XODE_TYPE_TAG.

Referenced by _xode_stream_startElement(), xode_dup_frompool(), and xode_wrap().

xode xode_new_tag ( const char *  name  ) 

void xode_pool_cleanup ( xode_pool  p,
xode_pool_cleaner  f,
void *  arg 
)

void xode_pool_free ( xode_pool  p  ) 

xode_pool xode_pool_heap ( int  bytes  ) 

Definition at line 248 of file jabber/xpool.c.

References _xode_pool_newheap().

void* xode_pool_malloc ( xode_pool  p,
int  size 
)

void* xode_pool_malloco ( xode_pool  p,
int  size 
)

Definition at line 181 of file jabber/xpool.c.

References xode_pool_malloc().

void* xode_pool_mallocx ( xode_pool  p,
int  size,
char  c 
)

Definition at line 172 of file jabber/xpool.c.

References NULL, and xode_pool_malloc().

xode_pool xode_pool_new ( void   ) 

Definition at line 243 of file jabber/xpool.c.

References _xode_pool_new().

int xode_pool_size ( xode_pool  p  ) 

Definition at line 208 of file jabber/xpool.c.

References NULL, and xode_pool_struct::size.

char* xode_pool_strdup ( xode_pool  p,
const char *  src 
)

Definition at line 189 of file jabber/xpool.c.

References NULL, and xode_pool_malloc().

void xode_put_attrib ( xode  owner,
const char *  name,
const char *  value 
)

void xode_put_vattrib ( xode  owner,
const char *  name,
void *  value 
)

void xode_spool_add ( xode_spool  s,
char *  str 
)

void xode_spool_free ( xode_spool  s  ) 

Definition at line 40 of file jabber/xode_str.c.

References xode_pool_free(), and xode_spool_getpool().

int xode_spool_getlen ( const xode_spool  s  ) 

Definition at line 32 of file jabber/xode_str.c.

References xode_spool_struct::len, and NULL.

xode_pool xode_spool_getpool ( const xode_spool  s  ) 

Definition at line 24 of file jabber/xode_str.c.

References NULL, and xode_spool_struct::p.

xode_spool xode_spool_new ( void   ) 

Definition at line 57 of file jabber/xode_str.c.

References xode_pool_heap(), and xode_spool_newfrompool().

xode_spool xode_spool_newfrompool ( xode_pool  p  ) 

char* xode_spool_str ( xode_pool  p,
  ... 
)

Definition at line 132 of file jabber/xode_str.c.

References NULL, s, xode_spool_add(), xode_spool_newfrompool(), and xode_spool_tostr().

char* xode_spool_tostr ( xode_spool  s  ) 

void xode_spooler ( xode_spool  s,
  ... 
)

Definition at line 86 of file jabber/xode_str.c.

References NULL, and xode_spool_add().

int xode_stream_eat ( xode_stream  xs,
char *  buff,
int  len 
)

xode_stream xode_stream_new ( xode_pool  p,
xode_stream_onNode  f,
void *  arg 
)

char* xode_strescape ( xode_pool  p,
char *  buf 
)

Definition at line 205 of file jabber/xode_str.c.

References NULL, and xode_pool_malloc().

char* xode_strunescape ( xode_pool  p,
char *  buf 
)

Definition at line 161 of file jabber/xode_str.c.

References NULL, and xode_pool_malloc().

int xode_to_file ( char *  file,
xode  node 
)

Definition at line 196 of file jabber/xode_from.c.

References NULL, snprintf, and xode_to_str().

char* xode_to_prettystr ( xode  node  ) 

char* xode_to_str ( xode  node  ) 

xode xode_wrap ( xode  x,
const char *  wrapper 
)


Generated on Fri May 25 00:00:45 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6