aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/lib.h
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/jabber/lib.h')
-rw-r--r--protocols/jabber/lib.h343
1 files changed, 0 insertions, 343 deletions
diff --git a/protocols/jabber/lib.h b/protocols/jabber/lib.h
deleted file mode 100644
index ce0669e5..00000000
--- a/protocols/jabber/lib.h
+++ /dev/null
@@ -1,343 +0,0 @@
-
-#include <string.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <stdio.h>
-#include <setjmp.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <ctype.h>
-#include <time.h>
-
-#include "xmlparse.h"
-
-int j_strcmp(const char *a, const char *b);
-
-/*
-** Arrange to use either varargs or stdargs
-*/
-
-#define MAXSHORTSTR 203 /* max short string length */
-#define QUAD_T unsigned long long
-
-#if defined(__STDC__) || defined(_WIN32)
-
-#include <stdarg.h>
-
-# define VA_LOCAL_DECL va_list ap;
-# define VA_START(f) va_start(ap, f)
-# define VA_END va_end(ap)
-
-#else /* __STDC__ */
-
-# include <varargs.h>
-
-# define VA_LOCAL_DECL va_list ap;
-# define VA_START(f) va_start(ap)
-# define VA_END va_end(ap)
-
-#endif /* __STDC__ */
-
-
-#ifndef INCL_LIB_H
-#define INCL_LIB_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* --------------------------------------------------------- */
-/* */
-/* Pool-based memory management routines */
-/* */
-/* --------------------------------------------------------- */
-
-#undef POOL_DEBUG
-/*
- flip these, this should be a prime number for top # of pools debugging
-#define POOL_DEBUG 40009
-*/
-
-/* pheap - singular allocation of memory */
-struct pheap
-{
- void *block;
- int size, used;
-};
-
-/* pool_cleaner - callback type which is associated
- with a pool entry; invoked when the pool entry is
- free'd */
-typedef void (*pool_cleaner)(void *arg);
-
-/* pfree - a linked list node which stores an
- allocation chunk, plus a callback */
-struct pfree
-{
- pool_cleaner f;
- void *arg;
- struct pheap *heap;
- struct pfree *next;
-};
-
-/* pool - base node for a pool. Maintains a linked list
- of pool entries (pfree) */
-typedef struct pool_struct
-{
- int size;
- struct pfree *cleanup;
- struct pheap *heap;
-#ifdef POOL_DEBUG
- char name[8], zone[32];
- int lsize;
-} _pool, *pool;
-#define pool_new() _pool_new(ZONE)
-#define pool_heap(i) _pool_new_heap(i,ZONE)
-#else
-} _pool, *pool;
-#define pool_heap(i) _pool_new_heap(i,NULL)
-#define pool_new() _pool_new(NULL)
-#endif
-
-pool _pool_new(char *zone); /* new pool :) */
-pool _pool_new_heap(int size, char *zone); /* creates a new memory pool with an initial heap size */
-void *pmalloc(pool p, int size); /* wrapper around malloc, takes from the pool, cleaned up automatically */
-void *pmalloc_x(pool p, int size, char c); /* Wrapper around pmalloc which prefils buffer with c */
-void *pmalloco(pool p, int size); /* YAPW for zeroing the block */
-char *pstrdup(pool p, const char *src); /* wrapper around strdup, gains mem from pool */
-void pool_stat(int full); /* print to stderr the changed pools and reset */
-void pool_cleanup(pool p, pool_cleaner f, void *arg); /* calls f(arg) before the pool is freed during cleanup */
-void pool_free(pool p); /* calls the cleanup functions, frees all the data on the pool, and deletes the pool itself */
-
-
-
-
-/* --------------------------------------------------------- */
-/* */
-/* Socket helper stuff */
-/* */
-/* --------------------------------------------------------- */
-#ifndef MAXHOSTNAMELEN
-#define MAXHOSTNAMELEN 64
-#endif
-
-#define NETSOCKET_SERVER 0
-#define NETSOCKET_CLIENT 1
-#define NETSOCKET_UDP 2
-
-#ifndef WIN32
-int make_netsocket(u_short port, char *host, int type);
-struct in_addr *make_addr(char *host);
-int set_fd_close_on_exec(int fd, int flag);
-#endif
-
-
-/* --------------------------------------------------------- */
-/* */
-/* Hashtable functions */
-/* */
-/* --------------------------------------------------------- */
-typedef struct xhn_struct
-{
- struct xhn_struct *next;
- const char *key;
- void *val;
-} *xhn, _xhn;
-
-char *strescape(pool p, char *);
-
-
-/* --------------------------------------------------------- */
-/* */
-/* String pools (spool) functions */
-/* */
-/* --------------------------------------------------------- */
-struct spool_node
-{
- char *c;
- struct spool_node *next;
-};
-
-typedef struct spool_struct
-{
- pool p;
- int len;
- struct spool_node *last;
- struct spool_node *first;
-} *spool;
-
-spool spool_new(pool p); /* create a string pool */
-void spooler(spool s, ...); /* append all the char * args to the pool, terminate args with s again */
-char *spool_print(spool s); /* return a big string */
-void spool_add(spool s, char *str); /* add a single char to the pool */
-
-
-/* --------------------------------------------------------- */
-/* */
-/* xmlnodes - Document Object Model */
-/* */
-/* --------------------------------------------------------- */
-#define NTYPE_TAG 0
-#define NTYPE_ATTRIB 1
-#define NTYPE_CDATA 2
-
-#define NTYPE_LAST 2
-#define NTYPE_UNDEF -1
-
-/* --------------------------------------------------------------------------
- Node structure. Do not use directly! Always use accessor macros
- and methods!
- -------------------------------------------------------------------------- */
-typedef struct xmlnode_t
-{
- char* name;
- unsigned short type;
- char* data;
- int data_sz;
- int complete;
- pool p;
- struct xmlnode_t* parent;
- struct xmlnode_t* firstchild;
- struct xmlnode_t* lastchild;
- struct xmlnode_t* prev;
- struct xmlnode_t* next;
- struct xmlnode_t* firstattrib;
- struct xmlnode_t* lastattrib;
-} _xmlnode, *xmlnode;
-
-/* Node creation routines */
-xmlnode xmlnode_wrap(xmlnode x,const char* wrapper);
-xmlnode xmlnode_new_tag(const char* name);
-xmlnode xmlnode_new_tag_pool(pool p, const char* name);
-xmlnode xmlnode_insert_tag(xmlnode parent, const char* name);
-xmlnode xmlnode_insert_cdata(xmlnode parent, const char* CDATA, unsigned int size);
-xmlnode xmlnode_insert_tag_node(xmlnode parent, xmlnode node);
-xmlnode xmlnode_str(char *str, int len);
-xmlnode xmlnode_dup(xmlnode x); /* duplicate x */
-xmlnode xmlnode_dup_pool(pool p, xmlnode x);
-
-/* Node Memory Pool */
-pool xmlnode_pool(xmlnode node);
-
-/* Node editing */
-void xmlnode_hide(xmlnode child);
-void xmlnode_hide_attrib(xmlnode parent, const char *name);
-
-/* Node deletion routine, also frees the node pool! */
-void xmlnode_free(xmlnode node);
-
-/* Locates a child tag by name and returns it */
-xmlnode xmlnode_get_tag(xmlnode parent, const char* name);
-char* xmlnode_get_tag_data(xmlnode parent, const char* name);
-
-/* Attribute accessors */
-void xmlnode_put_attrib(xmlnode owner, const char* name, const char* value);
-char* xmlnode_get_attrib(xmlnode owner, const char* name);
-void xmlnode_put_expat_attribs(xmlnode owner, const char** atts);
-
-/* Bastard am I, but these are fun for internal use ;-) */
-void xmlnode_put_vattrib(xmlnode owner, const char* name, void *value);
-void* xmlnode_get_vattrib(xmlnode owner, const char* name);
-
-/* Node traversal routines */
-xmlnode xmlnode_get_firstchild(xmlnode parent);
-xmlnode xmlnode_get_lastchild(xmlnode parent);
-xmlnode xmlnode_get_nextsibling(xmlnode sibling);
-xmlnode xmlnode_get_prevsibling(xmlnode sibling);
-xmlnode xmlnode_get_parent(xmlnode node);
-
-/* Node information routines */
-char* xmlnode_get_name(xmlnode node);
-char* xmlnode_get_data(xmlnode node);
-
-int xmlnode_has_children(xmlnode node);
-
-/* Node-to-string translation */
-char* xmlnode2str(xmlnode node);
-
-/********** END OLD libxode.h BEGIN OLD jabber.h *************/
-
-
-// #define KARMA_DEBUG
-// default to disable karma
-#define KARMA_READ_MAX(k) (abs(k)*100) /* how much you are allowed to read off the sock */
-#define KARMA_INIT 5 /* internal "init" value */
-#define KARMA_HEARTBEAT 2 /* seconds to register for heartbeat */
-#define KARMA_MAX 10 /* total max karma you can have */
-#define KARMA_INC 1 /* how much to increment every KARMA_HEARTBEAT seconds */
-#define KARMA_DEC 0 /* how much to penalize for reading KARMA_READ_MAX in
- KARMA_HEARTBEAT seconds */
-#define KARMA_PENALTY -5 /* where you go when you hit 0 karma */
-#define KARMA_RESTORE 5 /* where you go when you payed your penelty or INIT */
-#define KARMA_RESETMETER 0 /* Reset byte meter on restore default is falst */
-
-struct karma
-{
- int init; /* struct initialized */
- int reset_meter; /* reset the byte meter on restore */
- int val; /* current karma value */
- long bytes; /* total bytes read (in that time period) */
- int max; /* max karma you can have */
- int inc,dec; /* how much to increment/decrement */
- int penalty,restore; /* what penalty (<0) or restore (>0) */
- time_t last_update; /* time this was last incremented */
-};
-
-struct karma *karma_new(pool p); /* creates a new karma object, with default values */
-void karma_copy(struct karma *new, struct karma *old); /* makes a copy of old in new */
-void karma_increment(struct karma *k); /* inteligently increments karma */
-void karma_decrement(struct karma *k, long bytes_read); /* inteligently decrements karma */
-int karma_check(struct karma *k,long bytes_read); /* checks to see if we have good karma */
-
-
-
-/* --------------------------------------------------------- */
-/* */
-/* Namespace constants */
-/* */
-/* --------------------------------------------------------- */
-#define NSCHECK(x,n) (j_strcmp(xmlnode_get_attrib(x,"xmlns"),n) == 0)
-
-#define NS_CLIENT "jabber:client"
-#define NS_SERVER "jabber:server"
-#define NS_AUTH "jabber:iq:auth"
-#define NS_REGISTER "jabber:iq:register"
-#define NS_ROSTER "jabber:iq:roster"
-#define NS_OFFLINE "jabber:x:offline"
-#define NS_AGENT "jabber:iq:agent"
-#define NS_AGENTS "jabber:iq:agents"
-#define NS_DELAY "jabber:x:delay"
-#define NS_VERSION "jabber:iq:version"
-#define NS_TIME "jabber:iq:time"
-#define NS_VCARD "vcard-temp"
-#define NS_PRIVATE "jabber:iq:private"
-#define NS_SEARCH "jabber:iq:search"
-#define NS_OOB "jabber:iq:oob"
-#define NS_XOOB "jabber:x:oob"
-#define NS_ADMIN "jabber:iq:admin"
-#define NS_FILTER "jabber:iq:filter"
-#define NS_AUTH_0K "jabber:iq:auth:0k"
-#define NS_BROWSE "jabber:iq:browse"
-#define NS_EVENT "jabber:x:event"
-#define NS_CONFERENCE "jabber:iq:conference"
-#define NS_SIGNED "jabber:x:signed"
-#define NS_ENCRYPTED "jabber:x:encrypted"
-#define NS_GATEWAY "jabber:iq:gateway"
-#define NS_LAST "jabber:iq:last"
-#define NS_ENVELOPE "jabber:x:envelope"
-#define NS_EXPIRE "jabber:x:expire"
-#define NS_XHTML "http://www.w3.org/1999/xhtml"
-
-#define NS_XDBGINSERT "jabber:xdb:ginsert"
-#define NS_XDBNSLIST "jabber:xdb:nslist"
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* INCL_LIB_H */