gobjectification: 87f67e1f: Added gtk-doc support. gtkdocize is req...

grim at pidgin.im grim at pidgin.im
Sun Dec 4 17:15:55 EST 2011


----------------------------------------------------------------------
Revision: 87f67e1f272e4a4dda4ee642f32607030cb1b042
Parent:   f6cb908701a3f952badc929344232c148d3451fe
Author:   grim at pidgin.im
Date:     03/22/11 19:00:29
Branch:   im.pidgin.gobjectification
URL: http://d.pidgin.im/viewmtn/revision/info/87f67e1f272e4a4dda4ee642f32607030cb1b042

Changelog: 

Added gtk-doc support.  gtkdocize is required for autogen, but the docs won't be built unless you specify --enable-gtk-doc to configure.  Also, docs are built as part of "make all" not sure if I can change it to "make docs"
Updated the "\.tx" ignore in .mtn-ignore to be "\.tx$"

Changes against parent f6cb908701a3f952badc929344232c148d3451fe

  added    doc/libpurple
  added    doc/libpurple/tmpl
  added    doc/libpurple/Makefile.am
  added    doc/libpurple/libpurple-docs.sgml
  added    doc/libpurple/libpurple-overrides.txt
  added    doc/libpurple/libpurple-sections.txt
  added    doc/libpurple/libpurple.types
  added    doc/libpurple/tmpl/account.sgml
  added    doc/libpurple/tmpl/accountlist.sgml
  added    doc/libpurple/tmpl/accountopt.sgml
  added    doc/libpurple/tmpl/actions.sgml
  added    doc/libpurple/tmpl/adhoccommands.sgml
  added    doc/libpurple/tmpl/aes.sgml
  added    doc/libpurple/tmpl/auth.sgml
  added    doc/libpurple/tmpl/auth_digest_md5.sgml
  added    doc/libpurple/tmpl/auth_scram.sgml
  added    doc/libpurple/tmpl/backend-fs2.sgml
  added    doc/libpurple/tmpl/backend-iface.sgml
  added    doc/libpurple/tmpl/blist-node.sgml
  added    doc/libpurple/tmpl/blist.sgml
  added    doc/libpurple/tmpl/bonjour.sgml
  added    doc/libpurple/tmpl/bonjour_ft.sgml
  added    doc/libpurple/tmpl/bosh.sgml
  added    doc/libpurple/tmpl/buddy.sgml
  added    doc/libpurple/tmpl/buddy_info.sgml
  added    doc/libpurple/tmpl/buddy_list.sgml
  added    doc/libpurple/tmpl/buddy_memo.sgml
  added    doc/libpurple/tmpl/buddy_opt.sgml
  added    doc/libpurple/tmpl/buddyicon.sgml
  added    doc/libpurple/tmpl/buddylist.sgml
  added    doc/libpurple/tmpl/candidate.sgml
  added    doc/libpurple/tmpl/caps.sgml
  added    doc/libpurple/tmpl/certificate.sgml
  added    doc/libpurple/tmpl/char_conv.sgml
  added    doc/libpurple/tmpl/chat.sgml
  added    doc/libpurple/tmpl/chunk.sgml
  added    doc/libpurple/tmpl/cipher.sgml
  added    doc/libpurple/tmpl/circbuffer.sgml
  added    doc/libpurple/tmpl/cmdproc.sgml
  added    doc/libpurple/tmpl/cmds.sgml
  added    doc/libpurple/tmpl/codec.sgml
  added    doc/libpurple/tmpl/com_err.sgml
  added    doc/libpurple/tmpl/command.sgml
  added    doc/libpurple/tmpl/compat.sgml
  added    doc/libpurple/tmpl/confer.sgml
  added    doc/libpurple/tmpl/connection.sgml
  added    doc/libpurple/tmpl/contact.sgml
  added    doc/libpurple/tmpl/content.sgml
  added    doc/libpurple/tmpl/conversation.sgml
  added    doc/libpurple/tmpl/core.sgml
  added    doc/libpurple/tmpl/data.sgml
  added    doc/libpurple/tmpl/dbus-bindings.sgml
  added    doc/libpurple/tmpl/dbus-define-api.sgml
  added    doc/libpurple/tmpl/dbus-maybe.sgml
  added    doc/libpurple/tmpl/dbus-purple.sgml
  added    doc/libpurple/tmpl/dbus-server.sgml
  added    doc/libpurple/tmpl/dbus-useful.sgml
  added    doc/libpurple/tmpl/debug.sgml
  added    doc/libpurple/tmpl/defines.sgml
  added    doc/libpurple/tmpl/des3cipher.sgml
  added    doc/libpurple/tmpl/descipher.sgml
  added    doc/libpurple/tmpl/desktopitem.sgml
  added    doc/libpurple/tmpl/directconn.sgml
  added    doc/libpurple/tmpl/disco.sgml
  added    doc/libpurple/tmpl/dns_sd_proxy.sgml
  added    doc/libpurple/tmpl/dnsquery.sgml
  added    doc/libpurple/tmpl/dnssrv.sgml
  added    doc/libpurple/tmpl/encoding.sgml
  added    doc/libpurple/tmpl/enum-types.sgml
  added    doc/libpurple/tmpl/enums.sgml
  added    doc/libpurple/tmpl/error.sgml
  added    doc/libpurple/tmpl/error_table.sgml
  added    doc/libpurple/tmpl/eventloop.sgml
  added    doc/libpurple/tmpl/file_trans.sgml
  added    doc/libpurple/tmpl/filexfer.sgml
  added    doc/libpurple/tmpl/formcmds.sgml
  added    doc/libpurple/tmpl/ft.sgml
  added    doc/libpurple/tmpl/gg-utils.sgml
  added    doc/libpurple/tmpl/gg.sgml
  added    doc/libpurple/tmpl/ghash.sgml
  added    doc/libpurple/tmpl/gmail.sgml
  added    doc/libpurple/tmpl/google.sgml
  added    doc/libpurple/tmpl/google_presence.sgml
  added    doc/libpurple/tmpl/google_roster.sgml
  added    doc/libpurple/tmpl/google_session.sgml
  added    doc/libpurple/tmpl/group.sgml
  added    doc/libpurple/tmpl/group_im.sgml
  added    doc/libpurple/tmpl/group_info.sgml
  added    doc/libpurple/tmpl/group_internal.sgml
  added    doc/libpurple/tmpl/group_join.sgml
  added    doc/libpurple/tmpl/group_opt.sgml
  added    doc/libpurple/tmpl/gsignal.sgml
  added    doc/libpurple/tmpl/hash.sgml
  added    doc/libpurple/tmpl/history.sgml
  added    doc/libpurple/tmpl/hmaccipher.sgml
  added    doc/libpurple/tmpl/http.sgml
  added    doc/libpurple/tmpl/httpconn.sgml
  added    doc/libpurple/tmpl/ibb.sgml
  added    doc/libpurple/tmpl/iceudp.sgml
  added    doc/libpurple/tmpl/idle.sgml
  added    doc/libpurple/tmpl/im.sgml
  added    doc/libpurple/tmpl/imgstore.sgml
  added    doc/libpurple/tmpl/internal.sgml
  added    doc/libpurple/tmpl/iq.sgml
  added    doc/libpurple/tmpl/irc.sgml
  added    doc/libpurple/tmpl/jabber.sgml
  added    doc/libpurple/tmpl/jingle.sgml
  added    doc/libpurple/tmpl/jingleinfo.sgml
  added    doc/libpurple/tmpl/jutil.sgml
  added    doc/libpurple/tmpl/libc_interface.sgml
  added    doc/libpurple/tmpl/libc_internal.sgml
  added    doc/libpurple/tmpl/libgadu-config.sgml
  added    doc/libpurple/tmpl/libgadu-internal.sgml
  added    doc/libpurple/tmpl/libgadu.sgml
  added    doc/libpurple/tmpl/libpurple-unused.sgml
  added    doc/libpurple/tmpl/libymsg.sgml
  added    doc/libpurple/tmpl/log.sgml
  added    doc/libpurple/tmpl/login.sgml
  added    doc/libpurple/tmpl/markup.sgml
  added    doc/libpurple/tmpl/marshallers.sgml
  added    doc/libpurple/tmpl/md4hash.sgml
  added    doc/libpurple/tmpl/md5hash.sgml
  added    doc/libpurple/tmpl/mdns_common.sgml
  added    doc/libpurple/tmpl/mdns_types.sgml
  added    doc/libpurple/tmpl/media-gst.sgml
  added    doc/libpurple/tmpl/media.sgml
  added    doc/libpurple/tmpl/mediamanager.sgml
  added    doc/libpurple/tmpl/message.sgml
  added    doc/libpurple/tmpl/mime.sgml
  added    doc/libpurple/tmpl/module.sgml
  added    doc/libpurple/tmpl/mono-glue.sgml
  added    doc/libpurple/tmpl/mono-helper.sgml
  added    doc/libpurple/tmpl/msg.sgml
  added    doc/libpurple/tmpl/msn.sgml
  added    doc/libpurple/tmpl/msnutils.sgml
  added    doc/libpurple/tmpl/multimx.sgml
  added    doc/libpurple/tmpl/mxit.sgml
  added    doc/libpurple/tmpl/myspace.sgml
  added    doc/libpurple/tmpl/namespaces.sgml
  added    doc/libpurple/tmpl/nat-pmp.sgml
  added    doc/libpurple/tmpl/network.sgml
  added    doc/libpurple/tmpl/nexus.sgml
  added    doc/libpurple/tmpl/nmconference.sgml
  added    doc/libpurple/tmpl/nmconn.sgml
  added    doc/libpurple/tmpl/nmcontact.sgml
  added    doc/libpurple/tmpl/nmevent.sgml
  added    doc/libpurple/tmpl/nmfield.sgml
  added    doc/libpurple/tmpl/nmmessage.sgml
  added    doc/libpurple/tmpl/nmrequest.sgml
  added    doc/libpurple/tmpl/nmrtf.sgml
  added    doc/libpurple/tmpl/nmuser.sgml
  added    doc/libpurple/tmpl/nmuserrecord.sgml
  added    doc/libpurple/tmpl/notification.sgml
  added    doc/libpurple/tmpl/notify.sgml
  added    doc/libpurple/tmpl/ntlm.sgml
  added    doc/libpurple/tmpl/object.sgml
  added    doc/libpurple/tmpl/oim.sgml
  added    doc/libpurple/tmpl/oob.sgml
  added    doc/libpurple/tmpl/oscar.sgml
  added    doc/libpurple/tmpl/oscarcommon.sgml
  added    doc/libpurple/tmpl/p2p.sgml
  added    doc/libpurple/tmpl/packet_parse.sgml
  added    doc/libpurple/tmpl/page.sgml
  added    doc/libpurple/tmpl/parser.sgml
  added    doc/libpurple/tmpl/peer.sgml
  added    doc/libpurple/tmpl/pep.sgml
  added    doc/libpurple/tmpl/perl-common.sgml
  added    doc/libpurple/tmpl/perl-handlers.sgml
  added    doc/libpurple/tmpl/persist.sgml
  added    doc/libpurple/tmpl/ping.sgml
  added    doc/libpurple/tmpl/plugin.sgml
  added    doc/libpurple/tmpl/pluginpref.sgml
  added    doc/libpurple/tmpl/pobject.sgml
  added    doc/libpurple/tmpl/pounce.sgml
  added    doc/libpurple/tmpl/prefs.sgml
  added    doc/libpurple/tmpl/presence.sgml
  added    doc/libpurple/tmpl/privacy.sgml
  added    doc/libpurple/tmpl/profile.sgml
  added    doc/libpurple/tmpl/protocol.sgml
  added    doc/libpurple/tmpl/proxy.sgml
  added    doc/libpurple/tmpl/prpl.sgml
  added    doc/libpurple/tmpl/purple-client-bindings.sgml
  added    doc/libpurple/tmpl/purple-client.sgml
  added    doc/libpurple/tmpl/purple.sgml
  added    doc/libpurple/tmpl/qq.sgml
  added    doc/libpurple/tmpl/qq_base.sgml
  added    doc/libpurple/tmpl/qq_crypt.sgml
  added    doc/libpurple/tmpl/qq_define.sgml
  added    doc/libpurple/tmpl/qq_network.sgml
  added    doc/libpurple/tmpl/qq_process.sgml
  added    doc/libpurple/tmpl/qq_trans.sgml
  added    doc/libpurple/tmpl/rawudp.sgml
  added    doc/libpurple/tmpl/rc4cipher.sgml
  added    doc/libpurple/tmpl/relay.sgml
  added    doc/libpurple/tmpl/request.sgml
  added    doc/libpurple/tmpl/resolver.sgml
  added    doc/libpurple/tmpl/roomlist.sgml
  added    doc/libpurple/tmpl/roster.sgml
  added    doc/libpurple/tmpl/rtp.sgml
  added    doc/libpurple/tmpl/sametime.sgml
  added    doc/libpurple/tmpl/savedstatuses.sgml
  added    doc/libpurple/tmpl/sbconn.sgml
  added    doc/libpurple/tmpl/search.sgml
  added    doc/libpurple/tmpl/send_file.sgml
  added    doc/libpurple/tmpl/servconn.sgml
  added    doc/libpurple/tmpl/server.sgml
  added    doc/libpurple/tmpl/session.sgml
  added    doc/libpurple/tmpl/sha1hash.sgml
  added    doc/libpurple/tmpl/sha256hash.sgml
  added    doc/libpurple/tmpl/si.sgml
  added    doc/libpurple/tmpl/signals.sgml
  added    doc/libpurple/tmpl/silcpurple.sgml
  added    doc/libpurple/tmpl/simple.sgml
  added    doc/libpurple/tmpl/sipmsg.sgml
  added    doc/libpurple/tmpl/slp.sgml
  added    doc/libpurple/tmpl/slpcall.sgml
  added    doc/libpurple/tmpl/slplink.sgml
  added    doc/libpurple/tmpl/slpmsg.sgml
  added    doc/libpurple/tmpl/slpmsg_part.sgml
  added    doc/libpurple/tmpl/smiley.sgml
  added    doc/libpurple/tmpl/snactypes.sgml
  added    doc/libpurple/tmpl/soap.sgml
  added    doc/libpurple/tmpl/sound-theme-loader.sgml
  added    doc/libpurple/tmpl/sound-theme.sgml
  added    doc/libpurple/tmpl/sound.sgml
  added    doc/libpurple/tmpl/splashscreen.sgml
  added    doc/libpurple/tmpl/sslconn.sgml
  added    doc/libpurple/tmpl/state.sgml
  added    doc/libpurple/tmpl/status.sgml
  added    doc/libpurple/tmpl/stringref.sgml
  added    doc/libpurple/tmpl/stun.sgml
  added    doc/libpurple/tmpl/switchboard.sgml
  added    doc/libpurple/tmpl/sysdep.sgml
  added    doc/libpurple/tmpl/table.sgml
  added    doc/libpurple/tmpl/tcl_glib.sgml
  added    doc/libpurple/tmpl/tcl_purple.sgml
  added    doc/libpurple/tmpl/tests.sgml
  added    doc/libpurple/tmpl/theme-loader.sgml
  added    doc/libpurple/tmpl/theme-manager.sgml
  added    doc/libpurple/tmpl/theme.sgml
  added    doc/libpurple/tmpl/tlv.sgml
  added    doc/libpurple/tmpl/transaction.sgml
  added    doc/libpurple/tmpl/transport.sgml
  added    doc/libpurple/tmpl/upnp.sgml
  added    doc/libpurple/tmpl/user.sgml
  added    doc/libpurple/tmpl/useravatar.sgml
  added    doc/libpurple/tmpl/userlist.sgml
  added    doc/libpurple/tmpl/usermood.sgml
  added    doc/libpurple/tmpl/usernick.sgml
  added    doc/libpurple/tmpl/usertune.sgml
  added    doc/libpurple/tmpl/util.sgml
  added    doc/libpurple/tmpl/utils.sgml
  added    doc/libpurple/tmpl/utsname.sgml
  added    doc/libpurple/tmpl/valgrind.sgml
  added    doc/libpurple/tmpl/value.sgml
  added    doc/libpurple/tmpl/version.sgml
  added    doc/libpurple/tmpl/visibility.sgml
  added    doc/libpurple/tmpl/voicevideo.sgml
  added    doc/libpurple/tmpl/wb.sgml
  added    doc/libpurple/tmpl/whiteboard.sgml
  added    doc/libpurple/tmpl/win32dep.sgml
  added    doc/libpurple/tmpl/wpurpleerror.sgml
  added    doc/libpurple/tmpl/xdata.sgml
  added    doc/libpurple/tmpl/xfer.sgml
  added    doc/libpurple/tmpl/xmlnode.sgml
  added    doc/libpurple/tmpl/yahoo_aliases.sgml
  added    doc/libpurple/tmpl/yahoo_doodle.sgml
  added    doc/libpurple/tmpl/yahoo_filexfer.sgml
  added    doc/libpurple/tmpl/yahoo_friend.sgml
  added    doc/libpurple/tmpl/yahoo_packet.sgml
  added    doc/libpurple/tmpl/yahoo_picture.sgml
  added    doc/libpurple/tmpl/yahoochat.sgml
  added    doc/libpurple/tmpl/ycht.sgml
  added    doc/libpurple/tmpl/zap.sgml
  added    doc/libpurple/tmpl/zephyr_err.sgml
  added    doc/libpurple/tmpl/zephyr_internal.sgml
  patched  .mtn-ignore
  patched  autogen.sh
  patched  configure.ac
  patched  doc/Makefile.am

-------------- next part --------------
============================================================
--- doc/Makefile.am	384d62f34373ac49f801b7e00d54a64b0e1609b7
+++ doc/Makefile.am	182a701be40894ce21041657e52da052a401c86a
@@ -1,3 +1,5 @@
+SUBDIRS=libpurple
+
 man_MANS =
 
 if ENABLE_GTK
============================================================
--- autogen.sh	9c20e92cd427ca12f5a12ab51306d58d7fce214c
+++ autogen.sh	dd32990bfb88498bfe8a93765c9d43d9aca66d51
@@ -138,6 +138,7 @@ check "sed";				SED=${BIN};
 check "glib-gettextize";	GLIB_GETTEXTIZE=${BIN};
 check "intltoolize";		INTLTOOLIZE=${BIN};
 check "sed";				SED=${BIN};
+check "gtkdocize";		GTKDOCIZE=${BIN};
 check "aclocal";		ACLOCAL=${BIN};
 check "autoheader";		AUTOHEADER=${BIN};
 check "automake";		AUTOMAKE=${BIN};
@@ -152,6 +153,7 @@ run_or_die ${SED} -i.bak -e "s:'\^\$\$la
 # This call to sed is needed to work around an annoying bug in intltool 0.40.6
 # See http://developer.pidgin.im/ticket/9520 for details
 run_or_die ${SED} -i.bak -e "s:'\^\$\$lang\$\$':\^\$\$lang\$\$:g" po/Makefile.in.in
+run_or_die ${GTKDOCIZE} --copy
 run_or_die ${ACLOCAL} ${ACLOCAL_FLAGS:-"-I m4macros"}
 run_or_die ${AUTOHEADER} ${AUTOHEADER_FLAGS}
 run_or_die ${AUTOMAKE} ${AUTOMAKE_FLAGS:-"-a -c --gnu"}
============================================================
--- configure.ac	527a5947b4681cf85ad98a5637d7cbb3f6626ea0
+++ configure.ac	351c973f7c5a05ec53e140514ed6346e23be87c4
@@ -2469,6 +2469,11 @@ dnl ####################################
 AM_CONDITIONAL(ENABLE_TRAYCOMPAT, test "x$enable_traycompat" = "xyes")
 
 dnl #######################################################################
+dnl # Check for gtk-doc
+dnl #######################################################################
+GTK_DOC_CHECK([1.0])
+
+dnl #######################################################################
 dnl # Check for Doxygen and dot (part of GraphViz)
 dnl #######################################################################
 AC_ARG_ENABLE(doxygen,
@@ -2539,6 +2544,7 @@ AC_CONFIG_FILES([Makefile
 		   doc/Makefile
 		   doc/pidgin.1
 		   doc/finch.1
+		   doc/libpurple/Makefile
 		   m4macros/Makefile
 		   pidgin.apspec
 		   pidgin/Makefile
============================================================
--- .mtn-ignore	040f75da559268d618a40579a183f392589661ae
+++ .mtn-ignore	4c9142efc10642311fc2462107021bba0da830d7
@@ -13,7 +13,7 @@ VERSION$
 .*\.loT$
 Doxyfile(\.mingw)?$
 VERSION$
-\.tx
+\.tx$
 aclocal.m4
 autogen.args
 compile
@@ -28,10 +28,15 @@ doc/html
 depcomp
 doc/finch.1$
 doc/html
+doc/libpurple/(ht|x)ml$
+doc/libpurple/.+\.stamp$
+doc/libpurple/libpurple\.(args|hierarchy|interfaces|prerequisites|signals)$
+doc/libpurple/libpurple-(decl(-list)?|undeclared|undocumented|unused)\.txt$
 doc/pidgin.1$
 finch/finch$
 finch/libgnt/gntmarshal.c
 finch/libgnt/gntmarshal.h
+gtk-doc\.make$
 install-sh
 intltool-.*
 libpurple/dbus-bindings.c
============================================================
--- /dev/null	
+++ doc/libpurple/Makefile.am	f8fe2c696a8b73ca319839874366647d3065bd34
@@ -0,0 +1,110 @@
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=libpurple
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+
+# Directories containing the source code, relative to $(srcdir).
+# gtk-doc will search all .c and .h files beneath these paths
+# for inline comments documenting functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk ../../../gdk
+DOC_SOURCE_DIR=../../libpurple
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
+MKDB_OPTIONS=--sgml-mode --output-format=xml
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS=
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=$(top_srcdir)/libpurple/*.h $(top_srcdir)/libpurple/cipher/*.h
+CFILE_GLOB=$(top_srcdir)/libpurple/*.c $(top_srcdir)/libpurple/cipher/*.c
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES=
+
+# Header files to ignore when scanning. Use base file name, no paths
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
+IGNORE_HFILES=
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files=
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS=\
+	$(GLIB_CFLAGS) \
+	-I$(top_srcdir) \
+	-I$(top_srcdir)/libpurple \
+	-I$(top_builddir) \
+	-I$(top_builddir)/libpurple
+
+GTKDOC_LIBS=\
+	$(GLIB_LIBS) \
+	$(top_builddir)/libpurple/libpurple.la
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST +=
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+#DISTCLEANFILES +=
+
+# Comment this out if you want your docs-status tested during 'make check'
+if ENABLE_GTK_DOC
+#TESTS_ENVIRONMENT = cd $(srcsrc) &&
+#TESTS = $(GTKDOC_CHECK)
+endif
+
+-include $(top_srcdir)/git.mk
============================================================
--- /dev/null	
+++ doc/libpurple/libpurple-docs.sgml	d89c2113705cd1b9ce1497001548679179090e50
@@ -0,0 +1,318 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
+]>
+<book id="index">
+  <bookinfo>
+    <title>libpurple Reference Manual</title>
+    <releaseinfo>
+      for libpurple [VERSION].
+      The latest version of this documentation can be found on-line at
+      <ulink role="online-location" url="http://[SERVER]/libpurple/index.html">http://[SERVER]/libpurple/</ulink>.
+    </releaseinfo>
+  </bookinfo>
+
+  <chapter>
+    <title>[Insert title here]</title>
+        <xi:include href="xml/pobject.xml"/>
+    <xi:include href="xml/group.xml"/>
+    <xi:include href="xml/prpl.xml"/>
+    <xi:include href="xml/valgrind.xml"/>
+    <xi:include href="xml/sound-theme-loader.xml"/>
+    <xi:include href="xml/mediamanager.xml"/>
+    <xi:include href="xml/dbus-define-api.xml"/>
+    <xi:include href="xml/circbuffer.xml"/>
+    <xi:include href="xml/contact.xml"/>
+    <xi:include href="xml/media.xml"/>
+    <xi:include href="xml/connection.xml"/>
+    <xi:include href="xml/smiley.xml"/>
+    <xi:include href="xml/theme-loader.xml"/>
+    <xi:include href="xml/blist-node.xml"/>
+    <xi:include href="xml/purple-client-bindings.xml"/>
+    <xi:include href="xml/theme-manager.xml"/>
+    <xi:include href="xml/sound-theme.xml"/>
+    <xi:include href="xml/account.xml"/>
+    <xi:include href="xml/buddy.xml"/>
+    <xi:include href="xml/theme.xml"/>
+    <xi:include href="xml/media-gst.xml"/>
+    <xi:include href="xml/chat.xml"/>
+    <xi:include href="xml/peer.xml"/>
+    <xi:include href="xml/persist.xml"/>
+    <xi:include href="xml/session.xml"/>
+    <xi:include href="xml/transport.xml"/>
+    <xi:include href="xml/rtp.xml"/>
+    <xi:include href="xml/iceudp.xml"/>
+    <xi:include href="xml/content.xml"/>
+    <xi:include href="xml/rawudp.xml"/>
+    <xi:include href="xml/hash.xml"/>
+    <xi:include href="xml/sha256hash.xml"/>
+    <xi:include href="xml/ghash.xml"/>
+    <xi:include href="xml/des3cipher.xml"/>
+    <xi:include href="xml/md4hash.xml"/>
+    <xi:include href="xml/descipher.xml"/>
+    <xi:include href="xml/md5hash.xml"/>
+    <xi:include href="xml/hmaccipher.xml"/>
+    <xi:include href="xml/cipher.xml"/>
+    <xi:include href="xml/sha1hash.xml"/>
+    <xi:include href="xml/rc4cipher.xml"/>
+    <xi:include href="xml/candidate.xml"/>
+    <xi:include href="xml/codec.xml"/>
+    <xi:include href="xml/backend-iface.xml"/>
+    <xi:include href="xml/backend-fs2.xml"/>
+    <xi:include href="xml/mime.xml"/>
+    <xi:include href="xml/core.xml"/>
+    <xi:include href="xml/sound.xml"/>
+    <xi:include href="xml/eventloop.xml"/>
+    <xi:include href="xml/server.xml"/>
+    <xi:include href="xml/accountlist.xml"/>
+    <xi:include href="xml/desktopitem.xml"/>
+    <xi:include href="xml/whiteboard.xml"/>
+    <xi:include href="xml/internal.xml"/>
+    <xi:include href="xml/sslconn.xml"/>
+    <xi:include href="xml/buddyicon.xml"/>
+    <xi:include href="xml/proxy.xml"/>
+    <xi:include href="xml/xmlnode.xml"/>
+    <xi:include href="xml/prefs.xml"/>
+    <xi:include href="xml/upnp.xml"/>
+    <xi:include href="xml/cmds.xml"/>
+    <xi:include href="xml/savedstatuses.xml"/>
+    <xi:include href="xml/signals.xml"/>
+    <xi:include href="xml/marshallers.xml"/>
+    <xi:include href="xml/roomlist.xml"/>
+    <xi:include href="xml/purple.xml"/>
+    <xi:include href="xml/imgstore.xml"/>
+    <xi:include href="xml/dnsquery.xml"/>
+    <xi:include href="xml/idle.xml"/>
+    <xi:include href="xml/nat-pmp.xml"/>
+    <xi:include href="xml/pounce.xml"/>
+    <xi:include href="xml/dbus-bindings.xml"/>
+    <xi:include href="xml/dbus-maybe.xml"/>
+    <xi:include href="xml/plugin.xml"/>
+    <xi:include href="xml/dbus-useful.xml"/>
+    <xi:include href="xml/conversation.xml"/>
+    <xi:include href="xml/dbus-purple.xml"/>
+    <xi:include href="xml/value.xml"/>
+    <xi:include href="xml/ft.xml"/>
+    <xi:include href="xml/network.xml"/>
+    <xi:include href="xml/accountopt.xml"/>
+    <xi:include href="xml/certificate.xml"/>
+    <xi:include href="xml/dnssrv.xml"/>
+    <xi:include href="xml/version.xml"/>
+    <xi:include href="xml/log.xml"/>
+    <xi:include href="xml/debug.xml"/>
+    <xi:include href="xml/blist.xml"/>
+    <xi:include href="xml/purple-client.xml"/>
+    <xi:include href="xml/status.xml"/>
+    <xi:include href="xml/stringref.xml"/>
+    <xi:include href="xml/privacy.xml"/>
+    <xi:include href="xml/gsignal.xml"/>
+    <xi:include href="xml/notify.xml"/>
+    <xi:include href="xml/ntlm.xml"/>
+    <xi:include href="xml/enums.xml"/>
+    <xi:include href="xml/pluginpref.xml"/>
+    <xi:include href="xml/util.xml"/>
+    <xi:include href="xml/dbus-server.xml"/>
+    <xi:include href="xml/request.xml"/>
+    <xi:include href="xml/stun.xml"/>
+    <xi:include href="xml/libc_interface.xml"/>
+    <xi:include href="xml/libc_internal.xml"/>
+    <xi:include href="xml/wpurpleerror.xml"/>
+    <xi:include href="xml/win32dep.xml"/>
+    <xi:include href="xml/libymsg.xml"/>
+    <xi:include href="xml/yahoo_doodle.xml"/>
+    <xi:include href="xml/yahoo_friend.xml"/>
+    <xi:include href="xml/yahoo_aliases.xml"/>
+    <xi:include href="xml/ycht.xml"/>
+    <xi:include href="xml/yahoochat.xml"/>
+    <xi:include href="xml/yahoo_filexfer.xml"/>
+    <xi:include href="xml/yahoo_picture.xml"/>
+    <xi:include href="xml/yahoo_packet.xml"/>
+    <xi:include href="xml/bonjour.xml"/>
+    <xi:include href="xml/dns_sd_proxy.xml"/>
+    <xi:include href="xml/mdns_common.xml"/>
+    <xi:include href="xml/bonjour_ft.xml"/>
+    <xi:include href="xml/parser.xml"/>
+    <xi:include href="xml/jabber.xml"/>
+    <xi:include href="xml/buddy.xml"/>
+    <xi:include href="xml/mdns_types.xml"/>
+    <xi:include href="xml/object.xml"/>
+    <xi:include href="xml/page.xml"/>
+    <xi:include href="xml/session.xml"/>
+    <xi:include href="xml/slplink.xml"/>
+    <xi:include href="xml/directconn.xml"/>
+    <xi:include href="xml/group.xml"/>
+    <xi:include href="xml/error.xml"/>
+    <xi:include href="xml/tlv.xml"/>
+    <xi:include href="xml/httpconn.xml"/>
+    <xi:include href="xml/userlist.xml"/>
+    <xi:include href="xml/msn.xml"/>
+    <xi:include href="xml/slpmsg.xml"/>
+    <xi:include href="xml/state.xml"/>
+    <xi:include href="xml/command.xml"/>
+    <xi:include href="xml/servconn.xml"/>
+    <xi:include href="xml/slpcall.xml"/>
+    <xi:include href="xml/p2p.xml"/>
+    <xi:include href="xml/contact.xml"/>
+    <xi:include href="xml/msnutils.xml"/>
+    <xi:include href="xml/slpmsg_part.xml"/>
+    <xi:include href="xml/msg.xml"/>
+    <xi:include href="xml/cmdproc.xml"/>
+    <xi:include href="xml/transaction.xml"/>
+    <xi:include href="xml/switchboard.xml"/>
+    <xi:include href="xml/oim.xml"/>
+    <xi:include href="xml/history.xml"/>
+    <xi:include href="xml/soap.xml"/>
+    <xi:include href="xml/notification.xml"/>
+    <xi:include href="xml/sbconn.xml"/>
+    <xi:include href="xml/table.xml"/>
+    <xi:include href="xml/nexus.xml"/>
+    <xi:include href="xml/slp.xml"/>
+    <xi:include href="xml/user.xml"/>
+    <xi:include href="xml/xfer.xml"/>
+    <xi:include href="xml/nmuserrecord.xml"/>
+    <xi:include href="xml/nmuser.xml"/>
+    <xi:include href="xml/nmmessage.xml"/>
+    <xi:include href="xml/nmconference.xml"/>
+    <xi:include href="xml/nmrtf.xml"/>
+    <xi:include href="xml/nmconn.xml"/>
+    <xi:include href="xml/nmfield.xml"/>
+    <xi:include href="xml/nmevent.xml"/>
+    <xi:include href="xml/nmcontact.xml"/>
+    <xi:include href="xml/nmrequest.xml"/>
+    <xi:include href="xml/wb.xml"/>
+    <xi:include href="xml/silcpurple.xml"/>
+    <xi:include href="xml/oscar.xml"/>
+    <xi:include href="xml/snactypes.xml"/>
+    <xi:include href="xml/visibility.xml"/>
+    <xi:include href="xml/encoding.xml"/>
+    <xi:include href="xml/oscarcommon.xml"/>
+    <xi:include href="xml/roster.xml"/>
+    <xi:include href="xml/voicevideo.xml"/>
+    <xi:include href="xml/markup.xml"/>
+    <xi:include href="xml/aes.xml"/>
+    <xi:include href="xml/protocol.xml"/>
+    <xi:include href="xml/filexfer.xml"/>
+    <xi:include href="xml/http.xml"/>
+    <xi:include href="xml/multimx.xml"/>
+    <xi:include href="xml/profile.xml"/>
+    <xi:include href="xml/actions.xml"/>
+    <xi:include href="xml/login.xml"/>
+    <xi:include href="xml/cipher.xml"/>
+    <xi:include href="xml/mxit.xml"/>
+    <xi:include href="xml/formcmds.xml"/>
+    <xi:include href="xml/splashscreen.xml"/>
+    <xi:include href="xml/chunk.xml"/>
+    <xi:include href="xml/internal.xml"/>
+    <xi:include href="xml/com_err.xml"/>
+    <xi:include href="xml/zephyr_err.xml"/>
+    <xi:include href="xml/zephyr_internal.xml"/>
+    <xi:include href="xml/sysdep.xml"/>
+    <xi:include href="xml/error_table.xml"/>
+    <xi:include href="xml/sametime.xml"/>
+    <xi:include href="xml/wb.xml"/>
+    <xi:include href="xml/silcpurple.xml"/>
+    <xi:include href="xml/session.xml"/>
+    <xi:include href="xml/zap.xml"/>
+    <xi:include href="xml/myspace.xml"/>
+    <xi:include href="xml/markup.xml"/>
+    <xi:include href="xml/message.xml"/>
+    <xi:include href="xml/user.xml"/>
+    <xi:include href="xml/buddylist.xml"/>
+    <xi:include href="xml/gg-utils.xml"/>
+    <xi:include href="xml/gg.xml"/>
+    <xi:include href="xml/search.xml"/>
+    <xi:include href="xml/confer.xml"/>
+    <xi:include href="xml/compat.xml"/>
+    <xi:include href="xml/libgadu.xml"/>
+    <xi:include href="xml/libgadu-config.xml"/>
+    <xi:include href="xml/protocol.xml"/>
+    <xi:include href="xml/libgadu-internal.xml"/>
+    <xi:include href="xml/resolver.xml"/>
+    <xi:include href="xml/sipmsg.xml"/>
+    <xi:include href="xml/simple.xml"/>
+    <xi:include href="xml/group_opt.xml"/>
+    <xi:include href="xml/qq_network.xml"/>
+    <xi:include href="xml/send_file.xml"/>
+    <xi:include href="xml/char_conv.xml"/>
+    <xi:include href="xml/group.xml"/>
+    <xi:include href="xml/utils.xml"/>
+    <xi:include href="xml/file_trans.xml"/>
+    <xi:include href="xml/group_internal.xml"/>
+    <xi:include href="xml/group_join.xml"/>
+    <xi:include href="xml/qq_process.xml"/>
+    <xi:include href="xml/buddy_memo.xml"/>
+    <xi:include href="xml/qq_crypt.xml"/>
+    <xi:include href="xml/qq.xml"/>
+    <xi:include href="xml/buddy_list.xml"/>
+    <xi:include href="xml/group_im.xml"/>
+    <xi:include href="xml/qq_base.xml"/>
+    <xi:include href="xml/im.xml"/>
+    <xi:include href="xml/qq_trans.xml"/>
+    <xi:include href="xml/buddy_opt.xml"/>
+    <xi:include href="xml/buddy_info.xml"/>
+    <xi:include href="xml/group_info.xml"/>
+    <xi:include href="xml/packet_parse.xml"/>
+    <xi:include href="xml/qq_define.xml"/>
+    <xi:include href="xml/useravatar.xml"/>
+    <xi:include href="xml/adhoccommands.xml"/>
+    <xi:include href="xml/iq.xml"/>
+    <xi:include href="xml/presence.xml"/>
+    <xi:include href="xml/roster.xml"/>
+    <xi:include href="xml/si.xml"/>
+    <xi:include href="xml/xdata.xml"/>
+    <xi:include href="xml/disco.xml"/>
+    <xi:include href="xml/caps.xml"/>
+    <xi:include href="xml/bosh.xml"/>
+    <xi:include href="xml/oob.xml"/>
+    <xi:include href="xml/usernick.xml"/>
+    <xi:include href="xml/auth.xml"/>
+    <xi:include href="xml/data.xml"/>
+    <xi:include href="xml/ping.xml"/>
+    <xi:include href="xml/ibb.xml"/>
+    <xi:include href="xml/pep.xml"/>
+    <xi:include href="xml/auth_digest_md5.xml"/>
+    <xi:include href="xml/auth_scram.xml"/>
+    <xi:include href="xml/usermood.xml"/>
+    <xi:include href="xml/jutil.xml"/>
+    <xi:include href="xml/parser.xml"/>
+    <xi:include href="xml/namespaces.xml"/>
+    <xi:include href="xml/jabber.xml"/>
+    <xi:include href="xml/buddy.xml"/>
+    <xi:include href="xml/usertune.xml"/>
+    <xi:include href="xml/message.xml"/>
+    <xi:include href="xml/chat.xml"/>
+    <xi:include href="xml/utsname.xml"/>
+    <xi:include href="xml/google_session.xml"/>
+    <xi:include href="xml/relay.xml"/>
+    <xi:include href="xml/google_roster.xml"/>
+    <xi:include href="xml/gmail.xml"/>
+    <xi:include href="xml/google_presence.xml"/>
+    <xi:include href="xml/google.xml"/>
+    <xi:include href="xml/jingleinfo.xml"/>
+    <xi:include href="xml/jingle.xml"/>
+    <xi:include href="xml/irc.xml"/>
+    <xi:include href="xml/defines.xml"/>
+    <xi:include href="xml/mono-helper.xml"/>
+    <xi:include href="xml/mono-glue.xml"/>
+    <xi:include href="xml/tcl_purple.xml"/>
+    <xi:include href="xml/tcl_glib.xml"/>
+    <xi:include href="xml/perl-handlers.xml"/>
+    <xi:include href="xml/perl-common.xml"/>
+    <xi:include href="xml/module.xml"/>
+    <xi:include href="xml/enum-types.xml"/>
+    <xi:include href="xml/tests.xml"/>
+
+  </chapter>
+  <chapter id="object-tree">
+    <title>Object Hierarchy</title>
+     <xi:include href="xml/tree_index.sgml"/>
+  </chapter>
+  <index id="api-index-full">
+    <title>API Index</title>
+    <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+</book>
============================================================
--- /dev/null	
+++ doc/libpurple/libpurple-overrides.txt	da39a3ee5e6b4b0d3255bfef95601890afd80709
============================================================
--- /dev/null	
+++ doc/libpurple/libpurple-sections.txt	3888cd3867c4969061c2035921010f196eb0127e
@@ -0,0 +1,8915 @@
+<SECTION>
+<FILE>pobject</FILE>
+<TITLE>PurpleObject</TITLE>
+PurpleObject
+PurpleObjectClass
+purple_object_set_protocol_data
+purple_object_get_protocol_data
+purple_object_set_ui_data
+purple_object_get_ui_data
+purple_object_get_int
+<SUBSECTION Standard>
+PURPLE_OBJECT
+PURPLE_IS_OBJECT
+PURPLE_TYPE_OBJECT
+purple_object_get_type
+PURPLE_OBJECT_CLASS
+PURPLE_IS_OBJECT_CLASS
+PURPLE_OBJECT_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>group</FILE>
+<TITLE>PurpleGroup</TITLE>
+PurpleGroup
+PurpleGroupClass
+PURPLE_GET_GROUP_CLASS
+group_to_xmlnode
+purple_group_new
+purple_group_destroy
+purple_group_get_accounts
+purple_group_on_account
+purple_group_set_name
+purple_group_get_name
+purple_group_get_size
+purple_group_set_online
+purple_group_get_online
+purple_group_set_currentsize
+purple_group_contact_updated
+purple_group_get_buddies
+<SUBSECTION Standard>
+PURPLE_GROUP
+PURPLE_IS_GROUP
+PURPLE_TYPE_GROUP
+purple_group_get_type
+PURPLE_GROUP_CLASS
+PURPLE_IS_GROUP_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>prpl</FILE>
+PurplePluginProtocolInfo
+PurpleAttentionType
+PurpleIconScaleRules
+PurpleBuddyIconSpec
+PurpleThumbnailSpec
+NO_BUDDY_ICONS
+PurpleProtocolOptions
+PURPLE_PROTOCOL_PLUGIN_HAS_FUNC
+PURPLE_PLUGIN_PROTOCOL_INFO
+purple_attention_type_new
+purple_attention_type_set_name
+purple_attention_type_set_incoming_desc
+purple_attention_type_set_outgoing_desc
+purple_attention_type_set_icon_name
+purple_attention_type_set_unlocalized_name
+purple_attention_type_get_name
+purple_attention_type_get_incoming_desc
+purple_attention_type_get_outgoing_desc
+purple_attention_type_get_icon_name
+purple_attention_type_get_unlocalized_name
+purple_prpl_got_account_idle
+purple_prpl_got_account_login_time
+purple_prpl_got_account_status
+purple_prpl_got_account_actions
+purple_prpl_got_user_idle
+purple_prpl_got_user_login_time
+purple_prpl_got_user_status
+purple_prpl_got_user_status_deactive
+purple_prpl_change_account_status
+purple_prpl_get_statuses
+purple_prpl_send_attention
+purple_prpl_got_attention
+purple_prpl_got_attention_in_chat
+purple_prpl_get_media_caps
+purple_prpl_initiate_media
+purple_prpl_got_media_caps
+purple_find_prpl
+<SUBSECTION Standard>
+PURPLE_IS_PROTOCOL_PLUGIN
+</SECTION>
+
+<SECTION>
+<FILE>valgrind</FILE>
+PLAT_x86_linux
+PLAT_amd64_linux
+PLAT_ppc32_linux
+PLAT_ppc64_linux
+PLAT_ppc64_aix5
+PLAT_ppc32_aix5
+NVALGRIND
+VALGRIND_DO_CLIENT_REQUEST
+VALGRIND_GET_NR_CONTEXT
+VALGRIND_CALL_NOREDIR_EAX
+VALGRIND_CALL_NOREDIR_RAX
+VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11
+I_WRAP_SONAME_FNNAME_ZU
+I_WRAP_SONAME_FNNAME_ZZ
+VALGRIND_GET_ORIG_FN
+CALL_FN_v_v
+CALL_FN_v_W
+CALL_FN_v_WW
+CALL_FN_v_WWW
+CALL_FN_W_v
+CALL_FN_W_W
+CALL_FN_W_WW
+CALL_FN_W_WWW
+CALL_FN_W_WWWW
+CALL_FN_W_5W
+CALL_FN_W_6W
+CALL_FN_W_7W
+CALL_FN_W_8W
+CALL_FN_W_9W
+CALL_FN_W_10W
+CALL_FN_W_11W
+CALL_FN_W_12W
+VG_EXPAND_FRAME_BY_trashes_r3
+VG_CONTRACT_FRAME_BY
+VG_USERREQ_TOOL_BASE
+RUNNING_ON_VALGRIND
+VALGRIND_DISCARD_TRANSLATIONS
+VALGRIND_PRINTF
+VALGRIND_PRINTF_BACKTRACE
+VALGRIND_NON_SIMD_CALL0
+VALGRIND_NON_SIMD_CALL1
+VALGRIND_NON_SIMD_CALL2
+VALGRIND_NON_SIMD_CALL3
+VALGRIND_COUNT_ERRORS
+VALGRIND_MALLOCLIKE_BLOCK
+VALGRIND_FREELIKE_BLOCK
+VALGRIND_CREATE_MEMPOOL
+VALGRIND_DESTROY_MEMPOOL
+VALGRIND_MEMPOOL_ALLOC
+VALGRIND_MEMPOOL_FREE
+VALGRIND_MEMPOOL_TRIM
+VALGRIND_MOVE_MEMPOOL
+VALGRIND_MEMPOOL_CHANGE
+VALGRIND_MEMPOOL_EXISTS
+VALGRIND_STACK_REGISTER
+VALGRIND_STACK_DEREGISTER
+VALGRIND_STACK_CHANGE
+<SUBSECTION Standard>
+VG_IS_TOOL_USERREQ
+</SECTION>
+
+<SECTION>
+<FILE>sound-theme-loader</FILE>
+<TITLE>PurpleSoundThemeLoader</TITLE>
+PurpleSoundThemeLoader
+PurpleSoundThemeLoaderClass
+<SUBSECTION Standard>
+PURPLE_SOUND_THEME_LOADER
+PURPLE_IS_SOUND_THEME_LOADER
+PURPLE_TYPE_SOUND_THEME_LOADER
+purple_sound_theme_loader_get_type
+PURPLE_SOUND_THEME_LOADER_CLASS
+PURPLE_IS_SOUND_THEME_LOADER_CLASS
+PURPLE_SOUND_THEME_LOADER_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>mediamanager</FILE>
+PurpleMediaManager
+PurpleMediaManagerClass
+purple_media_manager_get
+purple_media_manager_create_media
+purple_media_manager_get_media
+purple_media_manager_get_media_by_account
+purple_media_manager_remove_media
+purple_media_manager_create_output_window
+purple_media_manager_set_output_window
+purple_media_manager_remove_output_window
+purple_media_manager_remove_output_windows
+purple_media_manager_set_ui_caps
+purple_media_manager_get_ui_caps
+purple_media_manager_set_backend_type
+purple_media_manager_get_backend_type
+<SUBSECTION Standard>
+PURPLE_MEDIA_MANAGER
+PURPLE_IS_MEDIA_MANAGER
+PURPLE_TYPE_MEDIA_MANAGER
+purple_media_manager_get_type
+PURPLE_MEDIA_MANAGER_CLASS
+PURPLE_IS_MEDIA_MANAGER_CLASS
+PURPLE_MEDIA_MANAGER_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>dbus-define-api</FILE>
+PURPLE_IS_BUDDY
+PURPLE_IS_CONTACT
+PURPLE_IS_GROUP
+PURPLE_BUDDY_IS_ONLINE
+PURPLE_BLIST_NODE_HAS_FLAG
+PURPLE_BLIST_NODE_SHOULD_SAVE
+PURPLE_CONNECTION_IS_CONNECTED
+PURPLE_CONNECTION_IS_VALID
+PURPLE_CONV_IM
+<SUBSECTION Standard>
+PURPLE_CONV_CHAT
+PURPLE_IS_CHAT
+</SECTION>
+
+<SECTION>
+<FILE>circbuffer</FILE>
+<TITLE>PurpleCircularBuffer</TITLE>
+PurpleCircularBuffer
+PurpleCircularBufferClass
+purple_circular_buffer_new
+purple_circular_buffer_append
+purple_circular_buffer_get_max_read
+purple_circular_buffer_mark_read
+purple_circular_buffer_grow
+purple_circular_buffer_get_grow_size
+purple_circular_buffer_get_used
+purple_circular_buffer_get_input
+purple_circular_buffer_get_output
+purple_circular_buffer_reset
+<SUBSECTION Standard>
+PURPLE_CIRCULAR_BUFFER
+PURPLE_IS_CIRCULAR_BUFFER
+PURPLE_TYPE_CIRCULAR_BUFFER
+purple_circular_buffer_get_type
+PURPLE_CIRCULAR_BUFFER_CLASS
+PURPLE_IS_CIRCULAR_BUFFER_CLASS
+PURPLE_CIRCULAR_BUFFER_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>contact</FILE>
+<TITLE>PurpleContact</TITLE>
+PurpleContact
+PurpleContactClass
+PURPLE_GET_CONTACT_CLASS
+purple_contact_new
+purple_buddy_get_local_alias
+purple_buddy_get_alias
+purple_contact_destroy
+purple_contact_get_group
+contact_to_xmlnode
+parse_contact
+purple_contact_compute_priority_buddy
+purple_contact_get_priority_buddy
+purple_contact_set_alias
+purple_contact_get_alias
+purple_contact_get_buddies
+purple_buddy_get_contact
+purple_contact_get_totalsize
+purple_contact_set_totalsize
+purple_contact_get_online
+purple_contact_set_online
+purple_contact_buddy_status_update
+purple_contact_set_currentsize
+purple_contact_get_currentsize
+purple_blist_merge_contact
+purple_buddy_get_contact_alias
+purple_contact_on_account
+purple_contact_invalidate_priority_buddy
+<SUBSECTION Standard>
+PURPLE_CONTACT
+PURPLE_IS_CONTACT
+PURPLE_TYPE_CONTACT
+purple_contact_get_type
+PURPLE_CONTACT_CLASS
+PURPLE_IS_CONTACT_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>media</FILE>
+PurpleMedia
+purple_media_get_session_ids
+purple_media_get_account
+purple_media_get_prpl_data
+purple_media_set_prpl_data
+purple_media_error
+purple_media_end
+purple_media_stream_info
+purple_media_add_stream
+purple_media_get_session_type
+purple_media_get_manager
+purple_media_get_codecs
+purple_media_add_remote_candidates
+purple_media_get_local_candidates
+purple_media_get_active_local_candidates
+purple_media_get_active_remote_candidates
+purple_media_set_remote_codecs
+purple_media_candidates_prepared
+purple_media_set_send_codec
+purple_media_codecs_ready
+purple_media_is_initiator
+purple_media_accepted
+purple_media_set_input_volume
+purple_media_set_output_volume
+purple_media_set_output_window
+purple_media_remove_output_windows
+<SUBSECTION Standard>
+PURPLE_MEDIA
+PURPLE_IS_MEDIA
+PURPLE_TYPE_MEDIA
+purple_media_get_type
+PURPLE_MEDIA_CLASS
+PURPLE_IS_MEDIA_CLASS
+PURPLE_MEDIA_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>connection</FILE>
+<TITLE>PurpleConnection</TITLE>
+PurpleConnection
+PurpleConnectionClass
+PurpleConnectionFlags
+PurpleConnectionState
+PurpleConnectionError
+connect_progress
+connected
+disconnected
+notice
+report_disconnect
+network_connected
+network_disconnected
+report_disconnect_reason
+_purple_reserved1
+_purple_reserved2
+_purple_reserved3
+purple_connection_new
+purple_connection_new_unregister
+purple_connection_destroy
+purple_connection_set_state
+purple_connection_turn_on_flags
+purple_connection_set_flags
+purple_connection_set_display_name
+purple_connection_get_state
+purple_connection_get_flags
+PURPLE_CONNECTION_IS_CONNECTED
+purple_connection_get_account
+purple_connection_get_prpl
+purple_connection_get_password
+purple_connection_get_display_name
+purple_connection_update_progress
+purple_connection_received_now
+purple_connection_notice
+purple_connection_error
+purple_connection_error_reason
+purple_connection_ssl_error
+purple_connection_error_is_fatal
+purple_connections_get_all
+purple_connections_disconnect_all
+purple_connections_get_connecting
+PURPLE_CONNECTION_IS_VALID
+purple_connections_set_ui_ops
+purple_connections_get_ui_ops
+purple_connection_get_gtype
+purple_connection_flags_get_gtype
+purple_connection_state_get_gtype
+purple_connection_error_get_gtype
+<SUBSECTION Standard>
+PURPLE_CONNECTION
+PURPLE_IS_CONNECTION
+PURPLE_TYPE_CONNECTION
+PURPLE_CONNECTION_CLASS
+PURPLE_IS_CONNECTION_CLASS
+PURPLE_CONNECTION_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>smiley</FILE>
+PurpleSmiley
+PurpleSmileyClass
+purple_smiley_new
+purple_smiley_new_from_file
+purple_smiley_delete
+purple_smiley_set_shortcut
+purple_smiley_set_data
+purple_smiley_get_shortcut
+purple_smiley_get_checksum
+purple_smiley_get_stored_image
+purple_smiley_get_data
+purple_smiley_get_extension
+purple_smiley_get_full_path
+purple_smileys_get_all
+purple_smileys_find_by_shortcut
+purple_smileys_find_by_checksum
+purple_smileys_get_storing_dir
+purple_smileys_init
+purple_smileys_uninit
+<SUBSECTION Standard>
+PURPLE_SMILEY
+PURPLE_IS_SMILEY
+PURPLE_TYPE_SMILEY
+purple_smiley_get_type
+PURPLE_SMILEY_CLASS
+PURPLE_IS_SMILEY_CLASS
+PURPLE_SMILEY_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>theme-loader</FILE>
+<TITLE>PurpleThemeLoader</TITLE>
+PurpleThemeLoader
+PurpleThemeLoaderClass
+purple_theme_loader_get_type_string
+purple_theme_loader_build
+<SUBSECTION Standard>
+PURPLE_THEME_LOADER
+PURPLE_IS_THEME_LOADER
+PURPLE_TYPE_THEME_LOADER
+purple_theme_loader_get_type
+PURPLE_THEME_LOADER_CLASS
+PURPLE_IS_THEME_LOADER_CLASS
+PURPLE_THEME_LOADER_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>blist-node</FILE>
+<TITLE>PurpleBlistNode</TITLE>
+PURPLE_BUDDY_IS_ONLINE
+PurpleBlistNodeFlags
+PURPLE_BLIST_NODE_HAS_FLAG
+PURPLE_BLIST_NODE_SHOULD_SAVE
+PurpleBlistNode
+PurpleBlistNodeClass
+PURPLE_GET_BLIST_NODE_CLASS
+purple_blist_node_next_online
+purple_blist_node_parent
+purple_blist_node_first_child
+purple_blist_node_next
+purple_blist_node_prev
+purple_blist_node_contains
+purple_blist_node_save
+purple_blist_node_add_child
+purple_blist_node_add_sibling
+purple_blist_node_remove
+purple_blist_node_strip
+purple_blist_node_get_ui_data
+purple_blist_node_set_ui_data
+purple_blist_node_has_setting
+purple_blist_node_set_bool
+purple_blist_node_get_bool
+purple_blist_node_set_int
+purple_blist_node_get_settings
+purple_blist_node_is_empty
+purple_blist_node_is_online
+purple_blist_node_get_int
+purple_blist_node_set_string
+purple_blist_node_get_string
+purple_blist_node_remove_setting
+purple_blist_node_set_flags
+purple_blist_node_get_handle
+purple_blist_node_get_flags
+purple_blist_node_find_container
+purple_blist_node_get_extended_menu
+purple_blist_node_get_gtype
+purple_blist_node_destroy
+purple_blist_node_initialize_settings
+purple_blist_get_last_sibling
+purple_blist_get_last_child
+<SUBSECTION Standard>
+PURPLE_BLIST_NODE
+PURPLE_IS_BLIST_NODE
+PURPLE_TYPE_BLIST_NODE
+PURPLE_BLIST_NODE_CLASS
+PURPLE_IS_BLIST_NODE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>purple-client-bindings</FILE>
+PurpleAccountRequestType
+PurpleAccountRequestResponse
+PurpleBlistNodeFlags
+PurpleCertificateVerificationStatus
+PurpleCipherBatchMode
+PurpleCmdStatus
+PurpleCmdRet
+PurpleCmdPriority
+PurpleCmdFlag
+PurpleConnectionFlags
+PurpleConnectionState
+PurpleConnectionError
+PurpleConversationType
+PurpleConvUpdateType
+PurpleTypingState
+PurpleMessageFlags
+PurpleConvChatBuddyFlags
+PurpleDebugLevel
+PurpleDesktopItemType
+PurpleInputCondition
+PurpleXferType
+PurpleXferStatusType
+PurpleLogType
+PurpleLogReadFlags
+PurpleMediaElementType
+PurplePmpType
+PurpleNotifyType
+PurpleNotifyMsgType
+PurpleNotifySearchButtonType
+PurpleNotifyUserInfoEntryType
+PurplePluginType
+PurpleStringFormatType
+PurplePluginPrefType
+PurplePounceEvent
+PurplePounceOption
+PurplePrefType
+PurplePrivacyType
+PurpleProxyType
+PurpleIconScaleRules
+PurpleProtocolOptions
+PurpleRequestType
+PurpleRequestFieldType
+PurpleRoomlistRoomType
+PurpleRoomlistFieldType
+PurplePresenceContext
+PurpleStatusPrimitive
+PurpleStunStatus
+PurpleStunNatType
+PurpleSoundEventID
+PurpleSslErrorType
+PurpleType
+PurpleSubType
+XMLNodeType
+PurpleMediaCandidateType
+PurpleMediaCaps
+PurpleMediaComponentType
+PurpleMediaInfoType
+PurpleMediaNetworkProtocol
+PurpleMediaSessionType
+PurpleMediaState
+PurpleAccount
+purple_accounts_find_any
+purple_accounts_find_connected
+PurpleBlistNode
+PURPLE_IS_BUDDY
+PURPLE_IS_CONTACT
+PURPLE_IS_GROUP
+PurpleBuddy
+PURPLE_BUDDY_IS_ONLINE
+PURPLE_BLIST_NODE_HAS_FLAG
+PURPLE_BLIST_NODE_SHOULD_SAVE
+PurpleConnection
+PURPLE_CONNECTION_IS_CONNECTED
+PURPLE_CONNECTION_IS_VALID
+PurpleConversation
+PurpleConvIm
+PURPLE_CONV_IM
+purple_account_new
+purple_account_connect
+purple_account_register
+purple_account_disconnect
+purple_account_notify_added
+purple_account_request_add
+purple_account_request_close_with_account
+purple_account_request_close
+purple_account_request_change_password
+purple_account_request_change_user_info
+purple_account_set_username
+purple_account_set_password
+purple_account_set_alias
+purple_account_set_user_info
+purple_account_set_buddy_icon_path
+purple_account_set_connection
+purple_account_set_remember_password
+purple_account_set_check_mail
+purple_account_set_enabled
+PurpleProxyInfo
+purple_account_set_proxy_info
+purple_account_set_privacy_type
+purple_account_set_status_types
+purple_account_set_status_list
+purple_account_get_silence_suppression
+purple_account_set_silence_suppression
+purple_account_clear_settings
+purple_account_remove_setting
+purple_account_set_int
+purple_account_set_string
+purple_account_set_bool
+purple_account_set_ui_int
+purple_account_set_ui_string
+purple_account_set_ui_bool
+purple_account_is_connected
+purple_account_is_connecting
+purple_account_is_disconnected
+purple_account_is_disconnecting
+purple_account_get_username
+purple_account_get_password
+purple_account_get_alias
+purple_account_get_user_info
+purple_account_get_buddy_icon_path
+purple_account_get_protocol_id
+purple_account_get_protocol_name
+purple_account_get_connection
+purple_account_get_name_for_display
+purple_account_get_remember_password
+purple_account_get_check_mail
+purple_account_get_enabled
+purple_account_get_proxy_info
+purple_account_get_privacy_type
+PurpleStatus
+purple_account_get_active_status
+purple_account_get_status
+PurpleStatusType
+purple_account_get_status_type
+purple_account_get_status_type_with_primitive
+PurplePresence
+purple_account_get_presence
+purple_account_is_status_active
+purple_account_get_status_types
+purple_account_get_int
+purple_account_get_string
+purple_account_get_bool
+purple_account_get_ui_int
+purple_account_get_ui_string
+purple_account_get_ui_bool
+PurpleLog
+purple_account_get_log
+purple_account_destroy_log
+purple_account_add_buddy
+purple_account_add_buddy_with_invite
+purple_account_add_buddies
+purple_account_add_buddies_with_invite
+PurpleGroup
+purple_account_remove_buddy
+purple_account_remove_buddies
+purple_account_remove_group
+purple_account_change_password
+purple_account_supports_offline_message
+PurpleConnectionErrorInfo
+purple_account_get_current_error
+purple_account_clear_current_error
+purple_accounts_restore_current_statuses
+PurpleAccountUiOps
+purple_accounts_set_ui_ops
+purple_accounts_get_ui_ops
+purple_accounts_init
+purple_accounts_uninit
+purple_accounts_activate
+purple_accounts_all
+purple_accounts_actives
+purple_accounts_find
+purple_accounts_reorder
+xmlnode
+parse_setting
+purple_strings_are_different
+purple_blist_get_root
+purple_blist_get_buddies
+purple_blist_show
+purple_blist_destroy
+purple_blist_set_visible
+purple_blist_update_buddy_status
+purple_blist_update_node_icon
+purple_blist_update_buddy_icon
+PurpleContact
+purple_blist_alias_contact
+purple_blist_server_alias_buddy
+purple_blist_rename_group
+PurpleChat
+purple_blist_add_chat
+purple_blist_add_buddy
+purple_find_buddy
+purple_find_buddy_in_group
+purple_find_buddies
+purple_find_group
+purple_blist_find_chat
+purple_blist_add_account
+purple_blist_remove_account
+purple_blist_load
+purple_blist_schedule_save
+purple_blist_request_add_buddy
+purple_blist_request_add_chat
+purple_blist_request_add_group
+PurpleBlistUiOps
+purple_blist_set_ui_ops
+purple_blist_get_ui_ops
+PurpleBuddyIcon
+purple_buddy_icon_new
+purple_buddy_icon_ref
+purple_buddy_icon_unref
+purple_buddy_icon_update
+purple_buddy_icon_set_data
+purple_buddy_icon_get_account
+purple_buddy_icon_get_username
+purple_buddy_icon_get_checksum
+purple_buddy_icon_get_extension
+purple_buddy_icon_get_full_path
+purple_buddy_icons_set_for_user
+purple_buddy_icons_find
+PurpleStoredImage
+purple_buddy_icons_find_account_icon
+purple_buddy_icons_set_account_icon
+purple_buddy_icons_get_account_icon_timestamp
+purple_buddy_icons_node_has_custom_icon
+purple_buddy_icons_node_find_custom_icon
+purple_buddy_icons_node_set_custom_icon
+purple_buddy_icons_node_set_custom_icon_from_file
+purple_buddy_icons_has_custom_icon
+purple_buddy_icons_find_custom_icon
+purple_buddy_icons_set_custom_icon
+purple_buddy_icons_set_caching
+purple_buddy_icons_is_caching
+purple_buddy_icons_set_cache_dir
+purple_buddy_icons_get_cache_dir
+purple_buddy_icons_init
+purple_buddy_icons_uninit
+PurpleBuddyIconSpec
+purple_buddy_icon_get_scale_size
+purple_connection_new
+purple_connection_destroy
+purple_connection_set_state
+purple_connection_set_flags
+purple_connection_set_display_name
+purple_connection_get_state
+purple_connection_get_flags
+purple_connection_get_account
+PurplePlugin
+purple_connection_get_prpl
+purple_connection_get_password
+purple_connection_get_display_name
+purple_connection_update_progress
+purple_connection_received_now
+purple_connection_notice
+purple_connection_error
+purple_connection_error_reason
+purple_connection_ssl_error
+purple_connection_error_is_fatal
+purple_connections_get_all
+purple_conversation_new
+purple_conversation_destroy
+purple_conversation_present
+PurpleConversationUiOps
+purple_conversation_set_ui_ops
+purple_conversations_set_ui_ops
+purple_conversation_get_ui_ops
+purple_conversation_set_ui_data
+purple_conversation_set_account
+purple_conversation_get_account
+purple_conversation_get_gc
+purple_conversation_set_title
+purple_conversation_get_title
+purple_conversation_autoset_title
+purple_conversation_set_name
+purple_conversation_get_name
+PurpleConvChatBuddy
+purple_conv_chat_cb_get_attribute
+purple_conv_chat_cb_get_attribute_keys
+PurpleConvChat
+purple_conv_chat_cb_set_attribute
+purple_conv_chat_cb_set_attributes
+purple_conversation_find_buddy
+purple_conversation_find_buddies
+purple_conversation_set_logging
+purple_conversation_is_logging
+purple_conversation_get_im_data
+purple_conversation_get_chat_data
+purple_get_conversations
+purple_get_ims
+purple_get_chats
+purple_find_conversation_with_account
+purple_conversation_write
+purple_conversation_set_features
+purple_conversation_get_features
+purple_conversation_has_focus
+purple_conversation_update
+purple_conversation_get_message_history
+purple_conversation_clear_message_history
+PurpleConvMessage
+purple_conversation_message_get_sender
+purple_conversation_message_get_message
+purple_conversation_message_get_flags
+purple_conversation_message_get_timestamp
+purple_conversation_message_get_alias
+purple_conversation_message_get_conversation
+purple_conv_im_get_conversation
+purple_conv_im_set_icon
+purple_conv_im_get_icon
+purple_conv_im_set_typing_state
+purple_conv_im_get_typing_state
+purple_conv_im_start_typing_timeout
+purple_conv_im_stop_typing_timeout
+purple_conv_im_get_typing_timeout
+purple_conv_im_set_type_again
+purple_conv_im_get_type_again
+purple_conv_im_start_send_typed_timeout
+purple_conv_im_stop_send_typed_timeout
+purple_conv_im_get_send_typed_timeout
+purple_conv_im_update_typing
+purple_conv_im_write
+purple_conv_present_error
+purple_conv_im_send
+purple_conv_send_confirm
+purple_conv_im_send_with_flags
+purple_conv_custom_smiley_add
+purple_conv_custom_smiley_close
+purple_conv_chat_get_conversation
+purple_conv_chat_set_users
+purple_conv_chat_get_users
+purple_conv_chat_ignore
+purple_conv_chat_unignore
+purple_conv_chat_set_ignored
+purple_conv_chat_get_ignored
+purple_conv_chat_get_ignored_user
+purple_conv_chat_is_user_ignored
+purple_conv_chat_set_topic
+purple_conv_chat_get_topic
+purple_conv_chat_set_id
+purple_conv_chat_get_id
+purple_conv_chat_write
+purple_conv_chat_send
+purple_conv_chat_send_with_flags
+purple_conv_chat_add_user
+purple_conv_chat_add_users
+purple_conv_chat_rename_user
+purple_conv_chat_remove_user
+purple_conv_chat_remove_users
+purple_conv_chat_find_user
+purple_conv_chat_user_set_flags
+purple_conv_chat_user_get_flags
+purple_conv_chat_clear_users
+purple_conv_chat_set_nick
+purple_conv_chat_get_nick
+purple_find_chat
+purple_conv_chat_left
+purple_conv_chat_invite_user
+purple_conv_chat_has_left
+purple_conv_chat_cb_new
+purple_conv_chat_cb_find
+purple_conv_chat_cb_get_name
+purple_conv_chat_cb_get_alias
+purple_conv_chat_cb_get_flags
+purple_conv_chat_cb_is_buddy
+purple_conv_chat_cb_destroy
+purple_conversation_get_extended_menu
+purple_conversations_init
+purple_conversations_uninit
+purple_core_init
+purple_core_quit
+purple_core_get_version
+purple_core_get_ui
+PurpleCore
+purple_get_core
+PurpleCoreUiOps
+purple_core_set_ui_ops
+purple_core_get_ui_ops
+purple_core_ensure_single_instance
+PurpleXfer
+purple_xfer_new
+purple_xfers_get_all
+purple_xfer_ref
+purple_xfer_unref
+purple_xfer_request
+purple_xfer_request_accepted
+purple_xfer_request_denied
+purple_xfer_get_type
+purple_xfer_get_account
+purple_xfer_get_remote_user
+purple_xfer_get_status
+purple_xfer_is_canceled
+purple_xfer_is_completed
+purple_xfer_get_filename
+purple_xfer_get_local_filename
+purple_xfer_get_bytes_sent
+purple_xfer_get_bytes_remaining
+purple_xfer_get_size
+purple_xfer_get_local_port
+purple_xfer_get_remote_ip
+purple_xfer_get_remote_port
+purple_xfer_get_start_time
+purple_xfer_get_end_time
+purple_xfer_set_completed
+purple_xfer_set_message
+purple_xfer_set_filename
+purple_xfer_set_local_filename
+purple_xfer_set_size
+purple_xfer_set_bytes_sent
+PurpleXferUiOps
+purple_xfer_get_ui_ops
+purple_xfer_start
+purple_xfer_end
+purple_xfer_add
+purple_xfer_cancel_local
+purple_xfer_cancel_remote
+purple_xfer_error
+purple_xfer_update_progress
+purple_xfer_get_thumbnail_mimetype
+purple_xfer_prepare_thumbnail
+purple_xfers_init
+purple_xfers_uninit
+purple_xfers_set_ui_ops
+purple_xfers_get_ui_ops
+purple_log_free
+purple_log_write
+purple_log_get_logs
+purple_log_get_system_logs
+purple_log_get_size
+purple_log_get_total_size
+purple_log_get_activity_score
+purple_log_is_deletable
+purple_log_delete
+purple_log_get_log_dir
+PurpleLogSet
+purple_log_set_free
+purple_log_common_writer
+PurpleLogLogger
+purple_log_common_lister
+purple_log_common_total_sizer
+purple_log_common_sizer
+purple_log_common_deleter
+purple_log_common_is_deletable
+purple_log_logger_free
+purple_log_logger_add
+purple_log_logger_remove
+purple_log_logger_set
+purple_log_logger_get
+purple_log_logger_get_options
+purple_log_init
+purple_log_uninit
+PurpleNotifySearchResults
+purple_notify_searchresults_free
+purple_notify_searchresults_new_rows
+purple_notify_searchresults_new
+PurpleNotifySearchColumn
+purple_notify_searchresults_column_new
+purple_notify_searchresults_column_add
+purple_notify_searchresults_row_add
+purple_notify_searchresults_get_rows_count
+purple_notify_searchresults_get_columns_count
+purple_notify_searchresults_row_get
+purple_notify_searchresults_column_get_title
+PurpleNotifyUserInfo
+purple_notify_user_info_new
+purple_notify_user_info_destroy
+purple_notify_user_info_get_entries
+purple_notify_user_info_get_text_with_newline
+purple_notify_user_info_add_pair
+purple_notify_user_info_add_pair_plaintext
+purple_notify_user_info_prepend_pair
+PurpleNotifyUserInfoEntry
+purple_notify_user_info_remove_entry
+purple_notify_user_info_entry_new
+purple_notify_user_info_add_section_break
+purple_notify_user_info_prepend_section_break
+purple_notify_user_info_add_section_header
+purple_notify_user_info_prepend_section_header
+purple_notify_user_info_remove_last_item
+purple_notify_user_info_entry_get_label
+purple_notify_user_info_entry_set_label
+purple_notify_user_info_entry_get_value
+purple_notify_user_info_entry_set_value
+purple_notify_user_info_entry_get_type
+purple_notify_user_info_entry_set_type
+purple_notify_close
+purple_notify_close_with_handle
+PurpleNotifyUiOps
+purple_notify_set_ui_ops
+purple_notify_get_ui_ops
+purple_notify_init
+purple_notify_uninit
+purple_prefs_init
+purple_prefs_uninit
+purple_prefs_add_none
+purple_prefs_add_bool
+purple_prefs_add_int
+purple_prefs_add_string
+purple_prefs_add_string_list
+purple_prefs_add_path
+purple_prefs_add_path_list
+purple_prefs_remove
+purple_prefs_rename
+purple_prefs_rename_boolean_toggle
+purple_prefs_destroy
+purple_prefs_set_bool
+purple_prefs_set_int
+purple_prefs_set_string
+purple_prefs_set_string_list
+purple_prefs_set_path
+purple_prefs_set_path_list
+purple_prefs_exists
+purple_prefs_get_type
+purple_prefs_get_bool
+purple_prefs_get_int
+purple_prefs_get_string
+purple_prefs_get_string_list
+purple_prefs_get_path
+purple_prefs_get_path_list
+purple_prefs_get_children_names
+purple_prefs_disconnect_callback
+purple_prefs_disconnect_by_handle
+purple_prefs_trigger_callback
+purple_prefs_load
+purple_prefs_update_old
+purple_roomlist_show_with_account
+PurpleRoomlist
+purple_roomlist_new
+purple_roomlist_ref
+purple_roomlist_unref
+purple_roomlist_set_fields
+purple_roomlist_set_in_progress
+purple_roomlist_get_in_progress
+PurpleRoomlistRoom
+purple_roomlist_room_add
+purple_roomlist_get_list
+purple_roomlist_cancel_get_list
+purple_roomlist_expand_category
+purple_roomlist_get_fields
+purple_roomlist_room_new
+purple_roomlist_room_join
+purple_roomlist_room_get_type
+purple_roomlist_room_get_name
+purple_roomlist_room_get_parent
+purple_roomlist_room_get_fields
+PurpleRoomlistField
+purple_roomlist_field_new
+purple_roomlist_field_get_type
+purple_roomlist_field_get_label
+purple_roomlist_field_get_hidden
+PurpleRoomlistUiOps
+purple_roomlist_set_ui_ops
+purple_roomlist_get_ui_ops
+PurpleSavedStatus
+purple_savedstatus_new
+purple_savedstatus_set_title
+purple_savedstatus_set_type
+purple_savedstatus_set_message
+purple_savedstatus_set_substatus
+purple_savedstatus_unset_substatus
+purple_savedstatus_delete
+purple_savedstatus_delete_by_status
+purple_savedstatuses_get_all
+purple_savedstatuses_get_popular
+purple_savedstatus_get_current
+purple_savedstatus_get_default
+purple_savedstatus_get_idleaway
+purple_savedstatus_is_idleaway
+purple_savedstatus_set_idleaway
+purple_savedstatus_get_startup
+purple_savedstatus_find
+purple_savedstatus_find_by_creation_time
+purple_savedstatus_find_transient_by_type_and_message
+purple_savedstatus_is_transient
+purple_savedstatus_get_title
+purple_savedstatus_get_type
+purple_savedstatus_get_message
+purple_savedstatus_get_creation_time
+purple_savedstatus_has_substatuses
+PurpleSavedStatusSub
+purple_savedstatus_get_substatus
+purple_savedstatus_substatus_get_type
+purple_savedstatus_substatus_get_message
+purple_savedstatus_activate
+purple_savedstatus_activate_for_account
+purple_savedstatuses_init
+purple_savedstatuses_uninit
+PurpleSmiley
+purple_smiley_new
+purple_smiley_new_from_file
+purple_smiley_delete
+purple_smiley_set_shortcut
+purple_smiley_set_data
+purple_smiley_get_shortcut
+purple_smiley_get_checksum
+purple_smiley_get_stored_image
+purple_smiley_get_extension
+purple_smiley_get_full_path
+purple_smileys_get_all
+purple_smileys_find_by_shortcut
+purple_smileys_find_by_checksum
+purple_smileys_get_storing_dir
+purple_smileys_init
+purple_smileys_uninit
+purple_primitive_get_id_from_type
+purple_primitive_get_name_from_type
+purple_primitive_get_type_from_id
+purple_status_type_new_full
+purple_status_type_new
+purple_status_type_destroy
+purple_status_type_set_primary_attr
+purple_status_type_get_primitive
+purple_status_type_get_id
+purple_status_type_get_name
+purple_status_type_is_saveable
+purple_status_type_is_user_settable
+purple_status_type_is_independent
+purple_status_type_is_exclusive
+purple_status_type_is_available
+purple_status_type_get_primary_attr
+PurpleStatusAttr
+purple_status_type_get_attr
+purple_status_type_get_attrs
+purple_status_type_find_with_id
+purple_status_attr_destroy
+purple_status_attr_get_id
+purple_status_attr_get_name
+purple_status_new
+purple_status_destroy
+purple_status_set_active
+purple_status_set_active_with_attrs_list
+purple_status_set_attr_boolean
+purple_status_set_attr_int
+purple_status_set_attr_string
+purple_status_get_type
+purple_status_get_presence
+purple_status_get_id
+purple_status_get_name
+purple_status_is_independent
+purple_status_is_exclusive
+purple_status_is_available
+purple_status_is_active
+purple_status_is_online
+purple_status_get_attr_boolean
+purple_status_get_attr_int
+purple_status_get_attr_string
+purple_status_compare
+purple_presence_new
+purple_presence_new_for_account
+purple_presence_new_for_conv
+purple_presence_new_for_buddy
+purple_presence_destroy
+purple_presence_add_status
+purple_presence_set_status_active
+purple_presence_switch_status
+purple_presence_set_idle
+purple_presence_set_login_time
+purple_presence_get_context
+purple_presence_get_account
+purple_presence_get_conversation
+purple_presence_get_chat_user
+purple_presence_get_buddy
+purple_presence_get_statuses
+purple_presence_get_status
+purple_presence_get_active_status
+purple_presence_is_available
+purple_presence_is_online
+purple_presence_is_status_active
+purple_presence_is_status_primitive_active
+purple_presence_is_idle
+purple_presence_get_idle_time
+purple_presence_get_login_time
+purple_presence_compare
+purple_status_init
+purple_status_uninit
+serv_send_typing
+serv_move_buddy
+serv_send_im
+PurpleAttentionType
+purple_get_attention_type_from_code
+serv_send_attention
+serv_got_attention
+serv_get_info
+serv_set_info
+serv_add_permit
+serv_add_deny
+serv_rem_permit
+serv_rem_deny
+serv_set_permit_deny
+serv_chat_invite
+serv_chat_leave
+serv_chat_whisper
+serv_chat_send
+serv_alias_buddy
+serv_got_alias
+purple_serv_got_private_alias
+serv_got_typing
+serv_got_typing_stopped
+serv_got_im
+serv_join_chat
+serv_reject_chat
+serv_got_chat_invite
+serv_got_joined_chat
+purple_serv_got_join_chat_failed
+serv_got_chat_left
+serv_got_chat_in
+serv_send_file
+PurpleMenuAction
+purple_menu_action_free
+purple_util_set_current_song
+purple_util_init
+purple_util_uninit
+purple_mime_decode_field
+purple_time_build
+purple_markup_escape_text
+purple_markup_strip_html
+purple_markup_linkify
+purple_unescape_text
+purple_unescape_html
+purple_markup_slice
+purple_markup_get_tag_name
+purple_markup_unescape_entity
+purple_markup_get_css_property
+purple_markup_is_rtl
+purple_home_dir
+purple_user_dir
+purple_util_set_user_dir
+purple_build_dir
+purple_util_write_data_to_file
+purple_util_write_data_to_file_absolute
+purple_program_is_valid
+purple_running_gnome
+purple_running_kde
+purple_running_osx
+purple_fd_get_ip
+purple_socket_get_family
+purple_socket_speaks_ipv4
+purple_strequal
+purple_normalize
+purple_normalize_nocase
+purple_str_has_prefix
+purple_str_has_suffix
+purple_strdup_withhtml
+purple_str_add_cr
+purple_strreplace
+purple_utf8_ncr_encode
+purple_utf8_ncr_decode
+purple_strcasereplace
+purple_strcasestr
+purple_str_size_to_units
+purple_str_seconds_to_string
+purple_str_binary_to_ascii
+purple_util_strings_equal
+purple_got_protocol_handler_uri
+PurpleUtilFetchUrlData
+purple_util_fetch_url_cancel
+purple_url_decode
+purple_url_encode
+purple_email_is_valid
+purple_ip_address_is_valid
+purple_ipv4_address_is_valid
+purple_ipv6_address_is_valid
+purple_uri_list_extract_uris
+purple_uri_list_extract_filenames
+purple_utf8_try_convert
+purple_utf8_salvage
+purple_utf8_strip_unprintables
+purple_utf8_strcasecmp
+purple_utf8_has_word
+purple_text_strip_mnemonic
+purple_unescape_filename
+purple_escape_filename
+purple_restore_default_signal_handlers
+purple_get_host_name
+purple_uuid_random
+purple_http_digest_calculate_session_key
+purple_http_digest_calculate_response
+xmlnode_insert_child
+xmlnode_insert_data
+xmlnode_get_data
+xmlnode_get_data_unescaped
+xmlnode_set_attrib
+xmlnode_set_attrib_with_prefix
+xmlnode_set_attrib_with_namespace
+xmlnode_set_attrib_full
+xmlnode_get_attrib
+xmlnode_get_attrib_with_namespace
+xmlnode_remove_attrib
+xmlnode_remove_attrib_with_namespace
+xmlnode_set_namespace
+xmlnode_get_namespace
+xmlnode_set_prefix
+xmlnode_get_prefix
+xmlnode_to_str
+xmlnode_to_formatted_str
+xmlnode_free
+purple_attention_type_new
+purple_attention_type_set_name
+purple_attention_type_set_incoming_desc
+purple_attention_type_set_outgoing_desc
+purple_attention_type_set_icon_name
+purple_attention_type_set_unlocalized_name
+purple_attention_type_get_name
+purple_attention_type_get_incoming_desc
+purple_attention_type_get_outgoing_desc
+purple_attention_type_get_icon_name
+purple_attention_type_get_unlocalized_name
+purple_prpl_got_account_idle
+purple_prpl_got_account_login_time
+purple_prpl_got_account_actions
+purple_prpl_got_user_idle
+purple_prpl_got_user_login_time
+purple_prpl_got_user_status_deactive
+purple_prpl_change_account_status
+purple_prpl_get_statuses
+purple_prpl_send_attention
+purple_prpl_got_attention
+purple_prpl_got_attention_in_chat
+purple_prpl_get_media_caps
+purple_prpl_initiate_media
+purple_prpl_got_media_caps
+purple_find_prpl
+<SUBSECTION Standard>
+PURPLE_CONV_CHAT
+PURPLE_IS_CHAT
+purple_conversation_get_type
+</SECTION>
+
+<SECTION>
+<FILE>theme-manager</FILE>
+<TITLE>PurpleThemeManager</TITLE>
+PTFunc
+PurpleThemeManager
+PurpleThemeManagerClass
+PURPLE_GET_THEME_MANAGER_CLASS
+purple_theme_manager_init
+purple_theme_manager_uninit
+purple_theme_manager_refresh
+purple_theme_manager_find_theme
+purple_theme_manager_add_theme
+purple_theme_manager_remove_theme
+purple_theme_manager_register_type
+purple_theme_manager_unregister_type
+purple_theme_manager_for_each_theme
+purple_theme_manager_load_theme
+<SUBSECTION Standard>
+PURPLE_THEME_MANAGER
+PURPLE_IS_THEME_MANAGER
+PURPLE_TYPE_THEME_MANAGER
+purple_theme_manager_get_type
+PURPLE_THEME_MANAGER_CLASS
+PURPLE_IS_THEME_MANAGER_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>sound-theme</FILE>
+<TITLE>PurpleSoundTheme</TITLE>
+PurpleSoundTheme
+PurpleSoundThemeClass
+purple_sound_theme_get_file
+purple_sound_theme_get_file_full
+purple_sound_theme_set_file
+<SUBSECTION Standard>
+PURPLE_SOUND_THEME
+PURPLE_IS_SOUND_THEME
+PURPLE_TYPE_SOUND_THEME
+purple_sound_theme_get_type
+PURPLE_SOUND_THEME_CLASS
+PURPLE_IS_SOUND_THEME_CLASS
+PURPLE_SOUND_THEME_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>account</FILE>
+<TITLE>PurpleAccount</TITLE>
+purple_account_get_gtype
+PurpleAccount
+PurpleAccountClass
+PurpleAccountUiOps
+PurpleFilterAccountFunc
+PurpleAccountRequestAuthorizationCb
+PurpleAccountRegistrationCb
+PurpleAccountUnregistrationCb
+PurpleSetPublicAliasSuccessCallback
+PurpleSetPublicAliasFailureCallback
+PurpleGetPublicAliasSuccessCallback
+PurpleGetPublicAliasFailureCallback
+PurpleAccountRequestType
+PurpleAccountRequestResponse
+purple_account_new
+purple_account_connect
+purple_account_set_register_callback
+purple_account_register
+purple_account_unregister
+purple_account_disconnect
+purple_account_notify_added
+purple_account_request_add
+purple_account_request_authorization
+purple_account_request_close_with_account
+purple_account_request_close
+purple_account_request_password
+purple_account_request_change_password
+purple_account_request_change_user_info
+purple_account_set_username
+purple_account_set_password
+purple_account_set_alias
+purple_account_set_user_info
+purple_account_set_buddy_icon_path
+purple_account_set_connection
+purple_account_set_remember_password
+purple_account_set_check_mail
+purple_account_set_enabled
+purple_account_set_proxy_info
+purple_account_set_privacy_type
+purple_account_set_status_types
+purple_account_set_status
+purple_account_set_status_list
+purple_account_set_public_alias
+purple_account_get_public_alias
+purple_account_get_silence_suppression
+purple_account_set_silence_suppression
+purple_account_clear_settings
+purple_account_remove_setting
+purple_account_set_int
+purple_account_set_string
+purple_account_set_bool
+purple_account_set_ui_int
+purple_account_set_ui_string
+purple_account_set_ui_bool
+purple_account_is_connected
+purple_account_is_connecting
+purple_account_is_disconnected
+purple_account_is_disconnecting
+purple_account_get_username
+purple_account_get_password
+purple_account_get_alias
+purple_account_get_user_info
+purple_account_get_buddy_icon_path
+purple_account_get_protocol_id
+purple_account_get_protocol_name
+purple_account_get_connection
+purple_account_get_name_for_display
+purple_account_get_remember_password
+purple_account_get_check_mail
+purple_account_get_enabled
+purple_account_get_proxy_info
+purple_account_get_privacy_type
+purple_account_get_active_status
+purple_account_get_status
+purple_account_get_status_type
+purple_account_get_status_type_with_primitive
+purple_account_get_presence
+purple_account_is_status_active
+purple_account_get_status_types
+purple_account_get_int
+purple_account_get_string
+purple_account_get_bool
+purple_account_get_ui_int
+purple_account_get_ui_string
+purple_account_get_ui_bool
+purple_account_get_log
+purple_account_destroy_log
+purple_account_add_buddy
+purple_account_add_buddy_with_invite
+purple_account_add_buddies
+purple_account_add_buddies_with_invite
+purple_account_remove_buddy
+purple_account_remove_buddies
+purple_account_remove_group
+purple_account_change_password
+purple_account_supports_offline_message
+purple_account_get_current_error
+purple_account_clear_current_error
+purple_account_to_xmlnode
+purple_accounts_restore_current_statuses
+purple_accounts_set_ui_ops
+purple_accounts_get_ui_ops
+purple_accounts_get_handle
+<SUBSECTION Standard>
+PURPLE_ACCOUNT
+PURPLE_IS_ACCOUNT
+PURPLE_TYPE_ACCOUNT
+PURPLE_ACCOUNT_CLASS
+PURPLE_IS_ACCOUNT_CLASS
+PURPLE_ACCOUNT_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>buddy</FILE>
+<TITLE>PurpleBuddy</TITLE>
+PurpleBuddy
+PurpleBuddyClass
+PURPLE_GET_BUDDY_CLASS
+buddy_to_xmlnode
+parse_buddy
+purple_buddy_new
+purple_buddy_destroy
+purple_buddy_set_icon
+purple_buddy_get_server_alias
+purple_buddy_get_local_buddy_alias
+purple_buddy_get_group
+purple_buddy_get_account
+purple_buddy_get_name
+purple_buddy_set_name
+purple_buddy_get_icon
+purple_buddy_get_protocol_data
+purple_buddy_set_alias
+purple_buddy_get_alias_only
+purple_buddy_set_protocol_data
+purple_buddy_get_presence
+purple_buddy_get_media_caps
+purple_buddy_set_media_caps
+<SUBSECTION Standard>
+PURPLE_BUDDY
+PURPLE_IS_BUDDY
+PURPLE_TYPE_BUDDY
+purple_buddy_get_type
+PURPLE_BUDDY_CLASS
+PURPLE_IS_BUDDY_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>theme</FILE>
+<TITLE>PurpleTheme</TITLE>
+PurpleTheme
+PurpleThemeClass
+purple_theme_get_name
+purple_theme_set_name
+purple_theme_get_description
+purple_theme_set_description
+purple_theme_get_author
+purple_theme_set_author
+purple_theme_get_type_string
+purple_theme_get_dir
+purple_theme_set_dir
+purple_theme_get_image
+purple_theme_get_image_full
+purple_theme_set_image
+<SUBSECTION Standard>
+PURPLE_THEME
+PURPLE_IS_THEME
+PURPLE_TYPE_THEME
+purple_theme_get_type
+PURPLE_THEME_CLASS
+PURPLE_IS_THEME_CLASS
+PURPLE_THEME_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>media-gst</FILE>
+PurpleMediaElementInfo
+PurpleMediaElementInfoClass
+PurpleMediaElementCreateCallback
+PurpleMediaElementType
+purple_media_element_info_get_type
+purple_media_get_src
+purple_media_get_tee
+purple_media_manager_get_pipeline
+purple_media_manager_get_element
+purple_media_manager_get_element_info
+purple_media_manager_register_element
+purple_media_manager_unregister_element
+purple_media_manager_set_active_element
+purple_media_manager_get_active_element
+purple_media_manager_set_video_caps
+purple_media_manager_get_video_caps
+purple_media_element_info_get_id
+purple_media_element_info_get_name
+purple_media_element_info_get_element_type
+purple_media_element_info_call_create
+<SUBSECTION Standard>
+PURPLE_MEDIA_ELEMENT_INFO
+PURPLE_IS_MEDIA_ELEMENT_INFO
+PURPLE_TYPE_MEDIA_ELEMENT_INFO
+purple_media_element_type_get_type
+PURPLE_MEDIA_ELEMENT_INFO_CLASS
+PURPLE_IS_MEDIA_ELEMENT_INFO_CLASS
+PURPLE_MEDIA_ELEMENT_INFO_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>chat</FILE>
+<TITLE>PurpleChat</TITLE>
+PurpleChat
+PurpleChatClass
+PURPLE_GET_CHAT_CLASS
+purple_chat_new
+purple_chat_destroy
+purple_chat_get_name
+purple_chat_get_account
+purple_chat_get_components
+purple_chat_set_alias
+purple_chat_get_alias
+purple_chat_get_group
+chat_to_xmlnode
+parse_chat
+<SUBSECTION Standard>
+PURPLE_CHAT
+PURPLE_IS_CHAT
+PURPLE_TYPE_CHAT
+purple_chat_get_type
+PURPLE_CHAT_CLASS
+PURPLE_IS_CHAT_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>peer</FILE>
+ChecksumData
+OdcFrame
+OftFrame
+ProxyFrame
+PeerConnection
+PEER_CONNECTION_FLAG_INITIATED_BY_ME
+PEER_CONNECTION_FLAG_APPROVED
+PEER_CONNECTION_FLAG_TRIED_DIRECT
+PEER_CONNECTION_FLAG_TRIED_PROXY
+PEER_TYPE_PROMPT
+PEER_TYPE_RESUMEACCEPT
+PEER_TYPE_ACK
+PEER_TYPE_DONE
+PEER_TYPE_RESUME
+PEER_TYPE_RESUMEACK
+PEER_TYPE_GETFILE_REQUESTLISTING
+PEER_TYPE_GETFILE_RECEIVELISTING
+PEER_TYPE_GETFILE_RECEIVEDLISTING
+PEER_TYPE_GETFILE_ACKLISTING
+PEER_TYPE_GETFILE_REQUESTFILE
+AIM_PEER_PROXY_SERVER
+ICQ_PEER_PROXY_SERVER
+PEER_PROXY_PORT
+PEER_PROXY_PACKET_VERSION
+PEER_PROXY_TYPE_ERROR
+PEER_PROXY_TYPE_CREATE
+PEER_PROXY_TYPE_CREATED
+PEER_PROXY_TYPE_JOIN
+PEER_PROXY_TYPE_READY
+peer_connection_new
+peer_connection_destroy
+peer_connection_schedule_destroy
+peer_connection_find_by_type
+peer_connection_find_by_cookie
+peer_connection_listen_cb
+peer_connection_recv_cb
+peer_connection_send
+peer_connection_trynext
+peer_connection_finalize_connection
+peer_connection_propose
+peer_connection_got_proposition
+peer_odc_close
+peer_odc_recv_frame
+peer_odc_send_cookie
+peer_odc_send_typing
+peer_odc_send_im
+peer_oft_close
+peer_oft_recv_frame
+peer_oft_send_prompt
+peer_oft_checksum_destroy
+peer_oft_recvcb_init
+peer_oft_recvcb_end
+peer_oft_recvcb_ack_recv
+peer_oft_sendcb_init
+peer_oft_sendcb_ack
+peer_oft_cb_generic_cancel
+peer_proxy_connection_established_cb
+<SUBSECTION Standard>
+PEER_CONNECTION_FLAG_TRIED_INCOMING
+PEER_CONNECTION_FLAG_IS_INCOMING
+</SECTION>
+
+<SECTION>
+<FILE>persist</FILE>
+MSIM_CMD_GET
+MSIM_CMD_PUT
+MSIM_CMD_DELETE
+MSIM_CMD_BIT_CODE
+MSIM_CMD_BIT_ACTION
+MSIM_CMD_BIT_ERROR
+MSIM_CMD_GET_CODE
+MSIM_CMD_IS_REQUEST
+MSIM_CMD_IS_ACTION
+MSIM_CMD_IS_INFO
+MSIM_CMD_IS_ERROR
+MSIM_CMD_IS_NORMAL
+MSIM_PERSIST_DSN_LID
+MERR_PARSE
+MERR_NOT_LOGGED_IN
+MERR_ANOTHER_LOGIN
+MERR_BAD_EMAIL
+MERR_BAD_PASSWORD
+MERR_BAD_UID_IN_PERSISTR
+<SUBSECTION Standard>
+MSIM_CMD_BIT_REPLY
+MSIM_CMD_IS_REPLY
+</SECTION>
+
+<SECTION>
+<FILE>session</FILE>
+<TITLE>JingleSession</TITLE>
+JingleSession
+JingleSessionClass
+JingleSessionPrivate
+jingle_session_create
+jingle_session_get_js
+jingle_session_get_sid
+jingle_session_get_local_jid
+jingle_session_get_remote_jid
+jingle_session_is_initiator
+jingle_session_get_state
+jingle_session_get_contents
+jingle_session_get_pending_contents
+jingle_session_find_by_sid
+jingle_session_find_by_jid
+jingle_session_create_ack
+jingle_session_to_xml
+jingle_session_to_packet
+jingle_session_handle_action
+jingle_session_find_content
+jingle_session_find_pending_content
+jingle_session_add_content
+jingle_session_remove_content
+jingle_session_add_pending_content
+jingle_session_remove_pending_content
+jingle_session_accept_content
+jingle_session_accept_session
+jingle_session_terminate_packet
+jingle_session_redirect_packet
+<SUBSECTION Standard>
+JINGLE_SESSION
+JINGLE_IS_SESSION
+JINGLE_TYPE_SESSION
+jingle_session_get_type
+JINGLE_SESSION_CLASS
+JINGLE_IS_SESSION_CLASS
+JINGLE_SESSION_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>transport</FILE>
+<TITLE>JingleTransport</TITLE>
+JingleTransport
+JingleTransportClass
+JingleTransportPrivate
+jingle_transport_create
+jingle_transport_get_transport_type
+jingle_transport_add_candidate
+jingle_transport_parse
+jingle_transport_to_xml
+<SUBSECTION Standard>
+JINGLE_TRANSPORT
+JINGLE_IS_TRANSPORT
+JINGLE_TYPE_TRANSPORT
+jingle_transport_get_type
+JINGLE_TRANSPORT_CLASS
+JINGLE_IS_TRANSPORT_CLASS
+JINGLE_TRANSPORT_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>rtp</FILE>
+<TITLE>JingleRtp</TITLE>
+JingleRtp
+JingleRtpClass
+JingleRtpPrivate
+jingle_rtp_get_media_type
+jingle_rtp_get_ssrc
+jingle_rtp_initiate_media
+jingle_rtp_terminate_session
+<SUBSECTION Standard>
+JINGLE_RTP
+JINGLE_IS_RTP
+JINGLE_TYPE_RTP
+jingle_rtp_get_type
+JINGLE_RTP_CLASS
+JINGLE_IS_RTP_CLASS
+JINGLE_RTP_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>iceudp</FILE>
+<TITLE>JingleIceUdp</TITLE>
+JINGLE_TYPE_ICEUDP_CANDIDATE
+JingleIceUdp
+JingleIceUdpClass
+JingleIceUdpPrivate
+JingleIceUdpCandidate
+jingle_iceudp_get_type
+jingle_iceudp_candidate_new
+jingle_iceudp_add_local_candidate
+jingle_iceudp_get_remote_candidates
+<SUBSECTION Standard>
+JINGLE_ICEUDP
+JINGLE_IS_ICEUDP
+JINGLE_TYPE_ICEUDP
+jingle_iceudp_candidate_get_type
+JINGLE_ICEUDP_CLASS
+JINGLE_IS_ICEUDP_CLASS
+JINGLE_ICEUDP_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>content</FILE>
+<TITLE>JingleContent</TITLE>
+JingleContent
+JingleContentClass
+JingleContentPrivate
+jingle_content_create
+jingle_content_get_session
+jingle_content_get_description_type
+jingle_content_get_creator
+jingle_content_get_disposition
+jingle_content_get_name
+jingle_content_get_senders
+jingle_content_get_transport
+jingle_content_get_pending_transport
+jingle_content_set_session
+jingle_content_set_pending_transport
+jingle_content_accept_transport
+jingle_content_remove_pending_transport
+jingle_content_modify
+jingle_content_create_content_accept
+jingle_content_create_content_add
+jingle_content_create_content_modify
+jingle_content_create_content_remove
+jingle_content_parse
+jingle_content_to_xml
+jingle_content_handle_action
+<SUBSECTION Standard>
+JINGLE_CONTENT
+JINGLE_IS_CONTENT
+JINGLE_TYPE_CONTENT
+jingle_content_get_type
+JINGLE_CONTENT_CLASS
+JINGLE_IS_CONTENT_CLASS
+JINGLE_CONTENT_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>rawudp</FILE>
+<TITLE>JingleRawUdp</TITLE>
+JINGLE_TYPE_RAWUDP_CANDIDATE
+JingleRawUdp
+JingleRawUdpClass
+JingleRawUdpPrivate
+JingleRawUdpCandidate
+jingle_rawudp_get_type
+jingle_rawudp_candidate_new
+jingle_rawudp_add_local_candidate
+jingle_rawudp_get_remote_candidates
+<SUBSECTION Standard>
+JINGLE_RAWUDP
+JINGLE_IS_RAWUDP
+JINGLE_TYPE_RAWUDP
+jingle_rawudp_candidate_get_type
+JINGLE_RAWUDP_CLASS
+JINGLE_IS_RAWUDP_CLASS
+JINGLE_RAWUDP_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>hash</FILE>
+<TITLE>PurpleHash</TITLE>
+PurpleHash
+PurpleHashClass
+purple_hash_get_gtype
+purple_hash_reset
+purple_hash_set_iv
+purple_hash_append
+purple_hash_digest
+purple_hash_digest_to_str
+purple_hash_set_salt
+purple_hash_get_salt_size
+purple_hash_set_key
+purple_hash_get_key_length
+purple_hash_set_key_with_length
+<SUBSECTION Standard>
+PURPLE_HASH
+PURPLE_IS_HASH
+PURPLE_TYPE_HASH
+PURPLE_HASH_CLASS
+PURPLE_IS_HASH_CLASS
+PURPLE_HASH_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>sha256hash</FILE>
+<TITLE>PurpleSHA256Hash</TITLE>
+PurpleSHA256Hash
+PurpleSHA256HashClass
+purple_sha256_hash_get_gtype
+purple_sha256_hash_new
+<SUBSECTION Standard>
+PURPLE_SHA256_HASH
+PURPLE_IS_SHA256_HASH
+PURPLE_TYPE_SHA256_HASH
+PURPLE_SHA256_HASH_CLASS
+PURPLE_IS_SHA256_HASH_CLASS
+PURPLE_SHA256_HASH_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>ghash</FILE>
+<TITLE>PurpleGHash</TITLE>
+PurpleGHash
+PurpleGHashClass
+purple_g_hash_get_checksum_type
+<SUBSECTION Standard>
+PURPLE_G_HASH
+PURPLE_IS_G_HASH
+PURPLE_TYPE_G_HASH
+purple_g_hash_get_type
+PURPLE_G_HASH_CLASS
+PURPLE_IS_G_HASH_CLASS
+PURPLE_G_HASH_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>des3cipher</FILE>
+<TITLE>PurpleDES3Cipher</TITLE>
+PurpleDES3Cipher
+PurpleDES3CipherClass
+purple_des3_cipher_get_gtype
+purple_des3_cipher_new
+<SUBSECTION Standard>
+PURPLE_DES3_CIPHER
+PURPLE_IS_DES3_CIPHER
+PURPLE_TYPE_DES3_CIPHER
+PURPLE_DES3_CIPHER_CLASS
+PURPLE_IS_DES3_CIPHER_CLASS
+PURPLE_DES3_CIPHER_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>md4hash</FILE>
+<TITLE>PurpleMD4Hash</TITLE>
+PurpleMD4Hash
+PurpleMD4HashClass
+purple_md4_hash_get_gtype
+purple_md4_hash_new
+<SUBSECTION Standard>
+PURPLE_MD4_HASH
+PURPLE_IS_MD4_HASH
+PURPLE_TYPE_MD4_HASH
+PURPLE_MD4_HASH_CLASS
+PURPLE_IS_MD4_HASH_CLASS
+PURPLE_MD4_HASH_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>descipher</FILE>
+<TITLE>PurpleDESCipher</TITLE>
+PurpleDESCipher
+PurpleDESCipherClass
+purple_des_cipher_get_gtype
+purple_des_cipher_new
+purple_des_cipher_ecb_crypt
+<SUBSECTION Standard>
+PURPLE_DES_CIPHER
+PURPLE_IS_DES_CIPHER
+PURPLE_TYPE_DES_CIPHER
+PURPLE_DES_CIPHER_CLASS
+PURPLE_IS_DES_CIPHER_CLASS
+PURPLE_DES_CIPHER_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>md5hash</FILE>
+<TITLE>PurpleMD5Hash</TITLE>
+PurpleMD5Hash
+PurpleMD5HashClass
+purple_md5_hash_get_gtype
+purple_md5_hash_new
+<SUBSECTION Standard>
+PURPLE_MD5_HASH
+PURPLE_IS_MD5_HASH
+PURPLE_TYPE_MD5_HASH
+PURPLE_MD5_HASH_CLASS
+PURPLE_IS_MD5_HASH_CLASS
+PURPLE_MD5_HASH_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>hmaccipher</FILE>
+<TITLE>PurpleHMACFunction</TITLE>
+<TITLE>PurpleHMACCipher</TITLE>
+PurpleHMACCipher
+PurpleHMACCipherClass
+PURPLE_TYPE_HMAC_FUNCTION
+PURPLE_HMAC_FUNCTION
+PURPLE_IS_HMAC_FUNCTION
+PURPLE_HMAC_FUNCTION_GET_IFACE
+PurpleHMACFunction
+PurpleHMACFunctionIface
+purple_hmac_cipher_get_gtype
+purple_hmac_cipher_new
+purple_hmac_cipher_get_hash
+purple_hmac_function_get_block_size
+<SUBSECTION Standard>
+PURPLE_HMAC_CIPHER
+PURPLE_IS_HMAC_CIPHER
+PURPLE_TYPE_HMAC_CIPHER
+purple_hmac_function_get_type
+PURPLE_HMAC_CIPHER_CLASS
+PURPLE_IS_HMAC_CIPHER_CLASS
+PURPLE_HMAC_CIPHER_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>cipher</FILE>
+<TITLE>PurpleCipher</TITLE>
+PurpleCipher
+PurpleCipherClass
+PURPLE_TYPE_CIPHER_BATCH_MODE
+PurpleCipherBatchMode
+purple_cipher_get_gtype
+purple_cipher_batch_mode_get_gtype
+purple_cipher_reset
+purple_cipher_set_iv
+purple_cipher_append
+purple_cipher_digest
+purple_cipher_digest_to_str
+purple_cipher_encrypt
+purple_cipher_decrypt
+purple_cipher_set_salt
+purple_cipher_get_salt_size
+purple_cipher_set_key
+purple_cipher_get_key_size
+purple_cipher_set_batch_mode
+purple_cipher_get_batch_mode
+purple_cipher_get_block_size
+purple_cipher_set_key_with_len
+<SUBSECTION Standard>
+PURPLE_CIPHER
+PURPLE_IS_CIPHER
+PURPLE_TYPE_CIPHER
+PURPLE_CIPHER_CLASS
+PURPLE_IS_CIPHER_CLASS
+PURPLE_CIPHER_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>sha1hash</FILE>
+<TITLE>PurpleSHA1Hash</TITLE>
+PurpleSHA1Hash
+PurpleSHA1HashClass
+purple_sha1_hash_get_gtype
+purple_sha1_hash_new
+<SUBSECTION Standard>
+PURPLE_SHA1_HASH
+PURPLE_IS_SHA1_HASH
+PURPLE_TYPE_SHA1_HASH
+PURPLE_SHA1_HASH_CLASS
+PURPLE_IS_SHA1_HASH_CLASS
+PURPLE_SHA1_HASH_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>rc4cipher</FILE>
+<TITLE>PurpleRC4Cipher</TITLE>
+PurpleRC4Cipher
+PurpleRC4CipherClass
+purple_rc4_cipher_get_gtype
+purple_rc4_cipher_new
+purple_rc4_cipher_get_key_len
+purple_rc4_cipher_set_key_len
+<SUBSECTION Standard>
+PURPLE_RC4_CIPHER
+PURPLE_IS_RC4_CIPHER
+PURPLE_TYPE_RC4_CIPHER
+PURPLE_RC4_CIPHER_CLASS
+PURPLE_IS_RC4_CIPHER_CLASS
+PURPLE_RC4_CIPHER_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>candidate</FILE>
+PURPLE_MEDIA_CANDIDATE_CLASS
+PurpleMediaCandidate
+purple_media_candidate_new
+purple_media_candidate_copy
+purple_media_candidate_list_copy
+purple_media_candidate_list_free
+purple_media_candidate_get_foundation
+purple_media_candidate_get_component_id
+purple_media_candidate_get_ip
+purple_media_candidate_get_port
+purple_media_candidate_get_base_ip
+purple_media_candidate_get_base_port
+purple_media_candidate_get_protocol
+purple_media_candidate_get_priority
+purple_media_candidate_get_candidate_type
+purple_media_candidate_get_username
+purple_media_candidate_get_password
+purple_media_candidate_get_ttl
+<SUBSECTION Standard>
+PURPLE_MEDIA_CANDIDATE
+PURPLE_IS_MEDIA_CANDIDATE
+PURPLE_TYPE_MEDIA_CANDIDATE
+purple_media_candidate_get_type
+PURPLE_IS_MEDIA_CANDIDATE_CLASS
+PURPLE_MEDIA_CANDIDATE_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>codec</FILE>
+PurpleMediaCodec
+PURPLE_MEDIA_CODEC_CLASS
+purple_media_codec_new
+purple_media_codec_get_id
+purple_media_codec_get_encoding_name
+purple_media_codec_get_clock_rate
+purple_media_codec_get_channels
+purple_media_codec_get_optional_parameters
+purple_media_codec_add_optional_parameter
+purple_media_codec_remove_optional_parameter
+purple_media_codec_get_optional_parameter
+purple_media_codec_copy
+purple_media_codec_list_copy
+purple_media_codec_list_free
+purple_media_codec_to_string
+<SUBSECTION Standard>
+PURPLE_MEDIA_CODEC
+PURPLE_IS_MEDIA_CODEC
+PURPLE_TYPE_MEDIA_CODEC
+purple_media_codec_get_type
+PURPLE_IS_MEDIA_CODEC_CLASS
+PURPLE_MEDIA_CODEC_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>backend-iface</FILE>
+<TITLE>PurpleMediaBackend</TITLE>
+PurpleMediaBackend
+PurpleMediaBackendIface
+purple_media_backend_add_stream
+purple_media_backend_add_remote_candidates
+purple_media_backend_codecs_ready
+purple_media_backend_get_codecs
+purple_media_backend_get_local_candidates
+purple_media_backend_set_remote_codecs
+purple_media_backend_set_send_codec
+<SUBSECTION Standard>
+PURPLE_MEDIA_BACKEND
+PURPLE_IS_MEDIA_BACKEND
+PURPLE_TYPE_MEDIA_BACKEND
+purple_media_backend_get_type
+PURPLE_MEDIA_BACKEND_GET_INTERFACE
+</SECTION>
+
+<SECTION>
+<FILE>backend-fs2</FILE>
+PURPLE_MEDIA_BACKEND_FS2_CLASS
+PurpleMediaBackendFs2
+purple_media_backend_fs2_get_src
+purple_media_backend_fs2_get_tee
+purple_media_backend_fs2_set_input_volume
+purple_media_backend_fs2_set_output_volume
+<SUBSECTION Standard>
+PURPLE_MEDIA_BACKEND_FS2
+PURPLE_IS_MEDIA_BACKEND_FS2
+PURPLE_TYPE_MEDIA_BACKEND_FS2
+purple_media_backend_fs2_get_type
+PURPLE_IS_MEDIA_BACKEND_FS2_CLASS
+PURPLE_MEDIA_BACKEND_FS2_GET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>mime</FILE>
+PurpleMimeDocument
+PurpleMimePart
+purple_mime_document_new
+purple_mime_document_free
+purple_mime_document_parse
+purple_mime_document_parsen
+purple_mime_document_write
+purple_mime_document_get_fields
+purple_mime_document_get_field
+purple_mime_document_set_field
+purple_mime_document_get_parts
+purple_mime_part_new
+purple_mime_part_get_fields
+purple_mime_part_get_field
+purple_mime_part_get_field_decoded
+purple_mime_part_set_field
+purple_mime_part_get_data
+purple_mime_part_get_data_decoded
+purple_mime_part_get_length
+purple_mime_part_set_data
+</SECTION>
+
+<SECTION>
+<FILE>core</FILE>
+PurpleCore
+ui_prefs_init
+debug_ui_init
+ui_init
+quit
+get_ui_info
+_purple_reserved1
+_purple_reserved2
+_purple_reserved3
+purple_core_init
+purple_core_quit
+purple_core_quit_cb
+purple_core_get_version
+purple_core_get_ui
+purple_get_core
+purple_core_set_ui_ops
+purple_core_get_ui_ops
+purple_core_ensure_single_instance
+purple_core_get_ui_info
+</SECTION>
+
+<SECTION>
+<FILE>sound</FILE>
+PurpleSoundEventID
+init
+uninit
+play_file
+play_event
+_purple_reserved1
+_purple_reserved2
+_purple_reserved3
+_purple_reserved4
+purple_sound_play_file
+purple_sound_play_event
+purple_sound_set_ui_ops
+purple_sound_get_ui_ops
+purple_sound_init
+purple_sound_uninit
+purple_sounds_get_handle
+</SECTION>
+
+<SECTION>
+<FILE>eventloop</FILE>
+PurpleInputCondition
+PurpleInputFunction
+PurpleEventLoopUiOps
+purple_timeout_add
+purple_timeout_add_seconds
+purple_timeout_remove
+purple_input_add
+purple_input_remove
+purple_input_get_error
+purple_eventloop_set_ui_ops
+purple_eventloop_get_ui_ops
+</SECTION>
+
+<SECTION>
+<FILE>server</FILE>
+serv_send_typing
+serv_move_buddy
+serv_send_im
+purple_get_attention_type_from_code
+serv_send_attention
+serv_got_attention
+serv_get_info
+serv_set_info
+serv_add_permit
+serv_add_deny
+serv_rem_permit
+serv_rem_deny
+serv_set_permit_deny
+serv_chat_invite
+serv_chat_leave
+serv_chat_whisper
+serv_chat_send
+serv_alias_buddy
+serv_got_alias
+purple_serv_got_private_alias
+serv_got_typing
+serv_got_typing_stopped
+serv_got_im
+serv_join_chat
+serv_reject_chat
+serv_got_chat_invite
+serv_got_joined_chat
+purple_serv_got_join_chat_failed
+serv_got_chat_left
+serv_got_chat_in
+serv_send_file
+</SECTION>
+
+<SECTION>
+<FILE>accountlist</FILE>
+purple_accounts_init
+purple_accounts_uninit
+purple_accounts_activate
+purple_accounts_all
+purple_accounts_actives
+purple_accounts_find
+purple_accounts_reorder
+</SECTION>
+
+<SECTION>
+<FILE>desktopitem</FILE>
+PurpleDesktopItemType
+PurpleDesktopItem
+PURPLE_TYPE_DESKTOP_ITEM
+purple_desktop_item_get_type
+PURPLE_DESKTOP_ITEM_ENCODING
+PURPLE_DESKTOP_ITEM_VERSION
+PURPLE_DESKTOP_ITEM_NAME
+PURPLE_DESKTOP_ITEM_GENERIC_NAME
+PURPLE_DESKTOP_ITEM_TYPE
+PURPLE_DESKTOP_ITEM_FILE_PATTERN
+PURPLE_DESKTOP_ITEM_TRY_EXEC
+PURPLE_DESKTOP_ITEM_NO_DISPLAY
+PURPLE_DESKTOP_ITEM_COMMENT
+PURPLE_DESKTOP_ITEM_EXEC
+PURPLE_DESKTOP_ITEM_ACTIONS
+PURPLE_DESKTOP_ITEM_ICON
+PURPLE_DESKTOP_ITEM_MINI_ICON
+PURPLE_DESKTOP_ITEM_HIDDEN
+PURPLE_DESKTOP_ITEM_PATH
+PURPLE_DESKTOP_ITEM_TERMINAL
+PURPLE_DESKTOP_ITEM_TERMINAL_OPTIONS
+PURPLE_DESKTOP_ITEM_SWALLOW_TITLE
+PURPLE_DESKTOP_ITEM_SWALLOW_EXEC
+PURPLE_DESKTOP_ITEM_MIME_TYPE
+PURPLE_DESKTOP_ITEM_PATTERNS
+PURPLE_DESKTOP_ITEM_DEFAULT_APP
+PURPLE_DESKTOP_ITEM_DEV
+PURPLE_DESKTOP_ITEM_FS_TYPE
+PURPLE_DESKTOP_ITEM_MOUNT_POINT
+PURPLE_DESKTOP_ITEM_READ_ONLY
+PURPLE_DESKTOP_ITEM_UNMOUNT_ICON
+PURPLE_DESKTOP_ITEM_SORT_ORDER
+PURPLE_DESKTOP_ITEM_URL
+PURPLE_DESKTOP_ITEM_DOC_PATH
+purple_desktop_item_new_from_file
+purple_desktop_item_get_entry_type
+purple_desktop_item_get_string
+purple_desktop_item_copy
+purple_desktop_item_unref
+</SECTION>
+
+<SECTION>
+<FILE>whiteboard</FILE>
+PurpleWhiteboardPrplOps
+create
+destroy
+set_dimensions
+set_brush
+draw_point
+draw_line
+clear
+_purple_reserved1
+_purple_reserved2
+_purple_reserved3
+_purple_reserved4
+purple_whiteboard_set_ui_ops
+purple_whiteboard_set_prpl_ops
+purple_whiteboard_create
+purple_whiteboard_destroy
+purple_whiteboard_start
+purple_whiteboard_get_session
+purple_whiteboard_draw_list_destroy
+purple_whiteboard_get_dimensions
+purple_whiteboard_set_dimensions
+purple_whiteboard_draw_point
+purple_whiteboard_send_draw_list
+purple_whiteboard_draw_line
+purple_whiteboard_clear
+purple_whiteboard_send_clear
+purple_whiteboard_send_brush
+purple_whiteboard_get_brush
+purple_whiteboard_set_brush
+</SECTION>
+
+<SECTION>
+<FILE>internal</FILE>
+_
+N_
+ngettext
+dngettext
+MSG_LEN
+BUF_LEN
+BUF_LONG
+HOST_NAME_MAX
+G_MAXSSIZE
+PURPLE_TIME_T_MODIFIER
+purple_strlcpy
+purple_strlcat
+PURPLE_WEBSITE
+PURPLE_DEVEL_WEBSITE
+purple_blist_init
+purple_blist_uninit
+</SECTION>
+
+<SECTION>
+<FILE>sslconn</FILE>
+PurpleSslErrorType
+PURPLE_SSL_DEFAULT_PORT
+PurpleSslConnection
+PurpleSslInputFunction
+PurpleSslErrorFunction
+init
+uninit
+connectfunc
+close
+read
+write
+get_peer_certificates
+_purple_reserved2
+_purple_reserved3
+_purple_reserved4
+purple_ssl_is_supported
+purple_ssl_strerror
+purple_ssl_connect
+purple_ssl_connect_with_ssl_cn
+purple_ssl_connect_fd
+purple_ssl_connect_with_host_fd
+purple_ssl_input_add
+purple_ssl_close
+purple_ssl_read
+purple_ssl_write
+purple_ssl_get_peer_certificates
+purple_ssl_set_ops
+purple_ssl_get_ops
+purple_ssl_init
+purple_ssl_uninit
+</SECTION>
+
+<SECTION>
+<FILE>buddyicon</FILE>
+PurpleBuddyIcon
+purple_buddy_icon_new
+purple_buddy_icon_ref
+purple_buddy_icon_unref
+purple_buddy_icon_update
+purple_buddy_icon_set_data
+purple_buddy_icon_get_account
+purple_buddy_icon_get_username
+purple_buddy_icon_get_checksum
+purple_buddy_icon_get_data
+purple_buddy_icon_get_extension
+purple_buddy_icon_get_full_path
+purple_buddy_icons_set_for_user
+purple_buddy_icons_get_checksum_for_user
+purple_buddy_icons_find
+purple_buddy_icons_find_account_icon
+purple_buddy_icons_set_account_icon
+purple_buddy_icons_get_account_icon_timestamp
+purple_buddy_icons_node_has_custom_icon
+purple_buddy_icons_node_find_custom_icon
+purple_buddy_icons_node_set_custom_icon
+purple_buddy_icons_node_set_custom_icon_from_file
+purple_buddy_icons_has_custom_icon
+purple_buddy_icons_find_custom_icon
+purple_buddy_icons_set_custom_icon
+purple_buddy_icons_set_caching
+purple_buddy_icons_is_caching
+purple_buddy_icons_set_cache_dir
+purple_buddy_icons_get_cache_dir
+purple_buddy_icons_get_handle
+purple_buddy_icons_init
+purple_buddy_icons_uninit
+purple_buddy_icon_get_scale_size
+</SECTION>
+
+<SECTION>
+<FILE>proxy</FILE>
+PurpleProxyType
+PurpleProxyConnectData
+PurpleProxyConnectFunction
+purple_proxy_info_new
+purple_proxy_info_destroy
+purple_proxy_info_set_type
+purple_proxy_info_set_host
+purple_proxy_info_set_port
+purple_proxy_info_set_username
+purple_proxy_info_set_password
+purple_proxy_info_get_type
+purple_proxy_info_get_host
+purple_proxy_info_get_port
+purple_proxy_info_get_username
+purple_proxy_info_get_password
+purple_global_proxy_get_info
+purple_global_proxy_set_info
+purple_proxy_get_handle
+purple_proxy_init
+purple_proxy_uninit
+purple_proxy_get_setup
+purple_proxy_connect
+purple_proxy_connect_udp
+purple_proxy_connect_socks5
+purple_proxy_connect_cancel
+purple_proxy_connect_cancel_with_handle
+</SECTION>
+
+<SECTION>
+<FILE>xmlnode</FILE>
+XMLNodeType
+xmlnode
+xmlnode_new
+xmlnode_new_child
+xmlnode_insert_child
+xmlnode_get_child
+xmlnode_get_child_with_namespace
+xmlnode_get_next_twin
+xmlnode_insert_data
+xmlnode_get_data
+xmlnode_get_data_unescaped
+xmlnode_set_attrib
+xmlnode_set_attrib_with_prefix
+xmlnode_set_attrib_with_namespace
+xmlnode_set_attrib_full
+xmlnode_get_attrib
+xmlnode_get_attrib_with_namespace
+xmlnode_remove_attrib
+xmlnode_remove_attrib_with_namespace
+xmlnode_set_namespace
+xmlnode_get_namespace
+xmlnode_set_prefix
+xmlnode_get_prefix
+xmlnode_get_parent
+xmlnode_to_str
+xmlnode_to_formatted_str
+xmlnode_from_str
+xmlnode_copy
+xmlnode_free
+xmlnode_from_file
+</SECTION>
+
+<SECTION>
+<FILE>prefs</FILE>
+PurplePrefType
+PurplePrefCallback
+purple_prefs_get_handle
+purple_prefs_init
+purple_prefs_uninit
+purple_prefs_add_none
+purple_prefs_add_bool
+purple_prefs_add_int
+purple_prefs_add_string
+purple_prefs_add_string_list
+purple_prefs_add_path
+purple_prefs_add_path_list
+purple_prefs_remove
+purple_prefs_rename
+purple_prefs_rename_boolean_toggle
+purple_prefs_destroy
+purple_prefs_set_generic
+purple_prefs_set_bool
+purple_prefs_set_int
+purple_prefs_set_string
+purple_prefs_set_string_list
+purple_prefs_set_path
+purple_prefs_set_path_list
+purple_prefs_exists
+purple_prefs_get_type
+purple_prefs_get_bool
+purple_prefs_get_int
+purple_prefs_get_string
+purple_prefs_get_string_list
+purple_prefs_get_path
+purple_prefs_get_path_list
+purple_prefs_get_children_names
+purple_prefs_connect_callback
+purple_prefs_disconnect_callback
+purple_prefs_disconnect_by_handle
+purple_prefs_trigger_callback
+purple_prefs_load
+purple_prefs_update_old
+</SECTION>
+
+<SECTION>
+<FILE>upnp</FILE>
+UPnPMappingAddRemove
+PurpleUPnPCallback
+purple_upnp_init
+purple_upnp_discover
+purple_upnp_get_control_info
+purple_upnp_get_public_ip
+purple_upnp_cancel_port_mapping
+purple_upnp_set_port_mapping
+purple_upnp_remove_port_mapping
+</SECTION>
+
+<SECTION>
+<FILE>cmds</FILE>
+PurpleCmdStatus
+PurpleCmdRet
+PURPLE_CMD_FUNC
+PurpleCmdFunc
+PurpleCmdId
+PurpleCmdPriority
+PurpleCmdFlag
+purple_cmd_register
+purple_cmd_unregister
+purple_cmd_do_command
+purple_cmd_list
+purple_cmd_help
+purple_cmds_get_handle
+purple_cmds_init
+purple_cmds_uninit
+</SECTION>
+
+<SECTION>
+<FILE>savedstatuses</FILE>
+PurpleSavedStatus
+PurpleSavedStatusSub
+purple_savedstatus_new
+purple_savedstatus_set_title
+purple_savedstatus_set_type
+purple_savedstatus_set_message
+purple_savedstatus_set_substatus
+purple_savedstatus_unset_substatus
+purple_savedstatus_delete
+purple_savedstatus_delete_by_status
+purple_savedstatuses_get_all
+purple_savedstatuses_get_popular
+purple_savedstatus_get_current
+purple_savedstatus_get_default
+purple_savedstatus_get_idleaway
+purple_savedstatus_is_idleaway
+purple_savedstatus_set_idleaway
+purple_savedstatus_get_startup
+purple_savedstatus_find
+purple_savedstatus_find_by_creation_time
+purple_savedstatus_find_transient_by_type_and_message
+purple_savedstatus_is_transient
+purple_savedstatus_get_title
+purple_savedstatus_get_type
+purple_savedstatus_get_message
+purple_savedstatus_get_creation_time
+purple_savedstatus_has_substatuses
+purple_savedstatus_get_substatus
+purple_savedstatus_substatus_get_type
+purple_savedstatus_substatus_get_message
+purple_savedstatus_activate
+purple_savedstatus_activate_for_account
+purple_savedstatuses_get_handle
+purple_savedstatuses_init
+purple_savedstatuses_uninit
+</SECTION>
+
+<SECTION>
+<FILE>signals</FILE>
+PURPLE_CALLBACK
+PurpleCallback
+PurpleSignalMarshalFunc
+PURPLE_SIGNAL_PRIORITY_DEFAULT
+PURPLE_SIGNAL_PRIORITY_HIGHEST
+PURPLE_SIGNAL_PRIORITY_LOWEST
+purple_signal_register
+purple_signal_unregister
+purple_signals_unregister_by_instance
+purple_signal_get_values
+purple_signal_connect_priority
+purple_signal_connect
+purple_signal_connect_priority_vargs
+purple_signal_connect_vargs
+purple_signal_disconnect
+purple_signals_disconnect_by_handle
+purple_signal_emit
+purple_signal_emit_vargs
+purple_signal_emit_return_1
+purple_signal_emit_vargs_return_1
+purple_signals_init
+purple_signals_uninit
+purple_old_marshal_VOID
+purple_old_marshal_VOID__INT
+purple_old_marshal_VOID__INT_INT
+purple_old_marshal_VOID__POINTER
+purple_old_marshal_VOID__POINTER_UINT
+purple_old_marshal_VOID__POINTER_INT_INT
+purple_old_marshal_VOID__POINTER_INT_POINTER
+purple_old_marshal_VOID__POINTER_POINTER
+purple_old_marshal_VOID__POINTER_POINTER_UINT
+purple_old_marshal_VOID__POINTER_POINTER_UINT_UINT
+purple_old_marshal_VOID__POINTER_POINTER_POINTER
+purple_old_marshal_VOID__POINTER_POINTER_POINTER_POINTER
+purple_old_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER
+purple_old_marshal_VOID__POINTER_POINTER_POINTER_UINT
+purple_old_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT
+purple_old_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT
+purple_old_marshal_INT__INT
+purple_old_marshal_INT__INT_INT
+purple_old_marshal_INT__POINTER_POINTER
+purple_old_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER
+purple_old_marshal_BOOLEAN__POINTER
+purple_old_marshal_BOOLEAN__POINTER_POINTER
+purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER
+purple_old_marshal_BOOLEAN__POINTER_POINTER_UINT
+purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT
+purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER
+purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER
+purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER
+purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT
+purple_old_marshal_BOOLEAN__INT_POINTER
+purple_marshal_POINTER__POINTER
+purple_old_marshal_POINTER__POINTER_INT
+purple_old_marshal_POINTER__POINTER_INT64
+purple_old_marshal_POINTER__POINTER_INT_BOOLEAN
+purple_old_marshal_POINTER__POINTER_INT64_BOOLEAN
+purple_old_marshal_POINTER__POINTER_POINTER
+purple_marshal_VOID
+purple_marshal_VOID__INT
+purple_marshal_VOID__INT_INT
+purple_marshal_VOID__POINTER
+purple_marshal_VOID__POINTER_UINT
+purple_marshal_VOID__POINTER_INT_INT
+purple_marshal_VOID__POINTER_INT_POINTER
+purple_marshal_VOID__POINTER_POINTER
+purple_marshal_VOID__POINTER_POINTER_UINT
+purple_marshal_VOID__POINTER_POINTER_UINT_UINT
+purple_marshal_VOID__POINTER_POINTER_POINTER
+purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER
+purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER
+purple_marshal_VOID__POINTER_POINTER_POINTER_UINT
+purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT
+purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT
+purple_marshal_INT__INT
+purple_marshal_INT__INT_INT
+purple_marshal_INT__POINTER_POINTER
+purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER
+purple_marshal_BOOLEAN__POINTER
+purple_marshal_BOOLEAN__POINTER_POINTER
+purple_marshal_BOOLEAN__POINTER_POINTER_POINTER
+purple_marshal_BOOLEAN__POINTER_POINTER_UINT
+purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT
+purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER
+purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER
+purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER
+purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT
+purple_marshal_BOOLEAN__INT_POINTER
+purple_marshal_POINTER__POINTER_INT
+purple_marshal_POINTER__POINTER_INT64
+purple_marshal_POINTER__POINTER_INT_BOOLEAN
+purple_marshal_POINTER__POINTER_INT64_BOOLEAN
+purple_marshal_POINTER__POINTER_POINTER
+</SECTION>
+
+<SECTION>
+<FILE>marshallers</FILE>
+purple_smarshal_VOID__OBJECT
+purple_smarshal_VOID__OBJECT_OBJECT
+purple_smarshal_VOID__POINTER
+purple_smarshal_VOID__POINTER_POINTER
+purple_smarshal_VOID__POINTER_POINTER_OBJECT
+purple_smarshal_VOID__POINTER_POINTER_POINTER
+purple_smarshal_BOOLEAN__VOID
+purple_smarshal_BOOLEAN__OBJECT_POINTER_STRING
+purple_smarshal_VOID__STRING_STRING
+purple_smarshal_VOID__STRING_STRING_DOUBLE
+purple_smarshal_VOID__ENUM_STRING
+purple_smarshal_VOID__ENUM_STRING_STRING
+purple_smarshal_VOID__ENUM_STRING_STRING_BOOLEAN
+purple_smarshal_VOID__FLAGS_FLAGS
+purple_smarshal_VOID__STRING_STRING_OBJECT_OBJECT
+</SECTION>
+
+<SECTION>
+<FILE>roomlist</FILE>
+PurpleRoomlist
+PurpleRoomlistRoom
+PurpleRoomlistField
+PurpleRoomlistUiOps
+PurpleRoomlistRoomType
+PurpleRoomlistFieldType
+purple_roomlist_show_with_account
+purple_roomlist_new
+purple_roomlist_ref
+purple_roomlist_unref
+purple_roomlist_set_fields
+purple_roomlist_set_in_progress
+purple_roomlist_get_in_progress
+purple_roomlist_room_add
+purple_roomlist_get_list
+purple_roomlist_cancel_get_list
+purple_roomlist_expand_category
+purple_roomlist_get_fields
+purple_roomlist_room_new
+purple_roomlist_room_add_field
+purple_roomlist_room_join
+purple_roomlist_room_get_type
+purple_roomlist_room_get_name
+purple_roomlist_room_get_parent
+purple_roomlist_room_get_fields
+purple_roomlist_field_new
+purple_roomlist_field_get_type
+purple_roomlist_field_get_label
+purple_roomlist_field_get_hidden
+purple_roomlist_set_ui_ops
+purple_roomlist_get_ui_ops
+</SECTION>
+
+<SECTION>
+<FILE>purple</FILE>
+G_GNUC_NULL_TERMINATED
+PURPLE_PLUGINS
+</SECTION>
+
+<SECTION>
+<FILE>imgstore</FILE>
+PurpleStoredImage
+purple_imgstore_add
+purple_imgstore_new_from_file
+purple_imgstore_add_with_id
+purple_imgstore_find_by_id
+purple_imgstore_get_data
+purple_imgstore_get_size
+purple_imgstore_get_filename
+purple_imgstore_get_extension
+purple_imgstore_ref
+purple_imgstore_unref
+purple_imgstore_ref_by_id
+purple_imgstore_unref_by_id
+purple_imgstore_get_handle
+purple_imgstore_init
+purple_imgstore_uninit
+</SECTION>
+
+<SECTION>
+<FILE>dnsquery</FILE>
+PurpleDnsQueryData
+PurpleDnsQueryConnectFunction
+PurpleDnsQueryResolvedCallback
+PurpleDnsQueryFailedCallback
+resolve_host
+destroy
+_purple_reserved1
+_purple_reserved2
+_purple_reserved3
+_purple_reserved4
+purple_dnsquery_a
+purple_dnsquery_destroy
+purple_dnsquery_set_ui_ops
+purple_dnsquery_get_ui_ops
+purple_dnsquery_get_host
+purple_dnsquery_get_port
+purple_dnsquery_init
+purple_dnsquery_uninit
+</SECTION>
+
+<SECTION>
+<FILE>idle</FILE>
+get_time_idle
+_purple_reserved1
+_purple_reserved2
+_purple_reserved3
+_purple_reserved4
+purple_idle_touch
+purple_idle_set
+purple_idle_set_ui_ops
+purple_idle_get_ui_ops
+purple_idle_init
+purple_idle_uninit
+</SECTION>
+
+<SECTION>
+<FILE>nat-pmp</FILE>
+PURPLE_PMP_LIFETIME
+PurplePmpType
+purple_pmp_init
+purple_pmp_get_public_ip
+purple_pmp_create_map
+purple_pmp_destroy_map
+</SECTION>
+
+<SECTION>
+<FILE>pounce</FILE>
+PurplePounce
+PurplePounceEvent
+PurplePounceOption
+PurplePounceCb
+purple_pounce_new
+purple_pounce_destroy
+purple_pounce_destroy_all_by_account
+purple_pounce_set_events
+purple_pounce_set_options
+purple_pounce_set_pouncer
+purple_pounce_set_pouncee
+purple_pounce_set_save
+purple_pounce_action_register
+purple_pounce_action_set_enabled
+purple_pounce_action_set_attribute
+purple_pounce_set_data
+purple_pounce_get_events
+purple_pounce_get_options
+purple_pounce_get_pouncer
+purple_pounce_get_pouncee
+purple_pounce_get_save
+purple_pounce_action_is_enabled
+purple_pounce_action_get_attribute
+purple_pounce_get_data
+purple_pounce_execute
+purple_find_pounce
+purple_pounces_load
+purple_pounces_register_handler
+purple_pounces_unregister_handler
+purple_pounces_get_all
+purple_pounces_get_all_for_ui
+purple_pounces_get_handle
+purple_pounces_init
+purple_pounces_uninit
+</SECTION>
+
+<SECTION>
+<FILE>dbus-bindings</FILE>
+purple_dbus_pointer_to_id
+purple_dbus_id_to_pointer
+purple_dbus_pointer_to_id_error
+purple_dbus_id_to_pointer_error
+NULLIFY
+CHECK_ERROR
+PURPLE_DBUS_ID_TO_POINTER
+PURPLE_DBUS_POINTER_TO_ID
+purple_dbus_message_get_args
+purple_dbus_message_get_args_valist
+purple_dbus_message_iter_get_args
+purple_dbus_message_iter_get_args_valist
+purple_dbusify_GList
+purple_dbusify_GSList
+purple_GList_to_array
+purple_GSList_to_array
+purple_dbus_iter_hash_table
+empty_to_null
+null_to_empty
+PurpleDBusBinding
+purple_dbus_register_bindings
+purple_dbus_get_connection
+</SECTION>
+
+<SECTION>
+<FILE>dbus-maybe</FILE>
+DBUS_API_SUBJECT_TO_CHANGE
+PURPLE_DBUS_REGISTER_POINTER
+PURPLE_DBUS_UNREGISTER_POINTER
+DBUS_EXPORT
+</SECTION>
+
+<SECTION>
+<FILE>plugin</FILE>
+PurplePlugin
+PurplePluginInfo
+PurplePluginUiInfo
+PurplePluginLoaderInfo
+PurplePluginAction
+PurplePluginPriority
+PurplePluginType
+PURPLE_PRIORITY_DEFAULT
+PURPLE_PRIORITY_HIGHEST
+PURPLE_PRIORITY_LOWEST
+PURPLE_PLUGIN_FLAG_INVISIBLE
+PURPLE_PLUGIN_MAGIC
+PURPLE_PLUGIN_LOADER_INFO
+PURPLE_PLUGIN_HAS_PREF_FRAME
+PURPLE_PLUGIN_UI_INFO
+PURPLE_PLUGIN_HAS_ACTIONS
+PURPLE_PLUGIN_ACTIONS
+PURPLE_INIT_PLUGIN
+purple_plugin_new
+purple_plugin_probe
+purple_plugin_register
+purple_plugin_load
+purple_plugin_unload
+purple_plugin_disable
+purple_plugin_reload
+purple_plugin_destroy
+purple_plugin_is_loaded
+purple_plugin_is_unloadable
+purple_plugin_get_id
+purple_plugin_get_name
+purple_plugin_get_version
+purple_plugin_get_summary
+purple_plugin_get_description
+purple_plugin_get_author
+purple_plugin_get_homepage
+purple_plugin_ipc_register
+purple_plugin_ipc_unregister
+purple_plugin_ipc_unregister_all
+purple_plugin_ipc_get_params
+purple_plugin_ipc_call
+purple_plugins_add_search_path
+purple_plugins_get_search_paths
+purple_plugins_unload_all
+purple_plugins_unload
+purple_plugins_destroy_all
+purple_plugins_save_loaded
+purple_plugins_load_saved
+purple_plugins_probe
+purple_plugins_enabled
+purple_plugins_register_probe_notify_cb
+purple_plugins_unregister_probe_notify_cb
+purple_plugins_register_load_notify_cb
+purple_plugins_unregister_load_notify_cb
+purple_plugins_register_unload_notify_cb
+purple_plugins_unregister_unload_notify_cb
+purple_plugins_find_with_name
+purple_plugins_find_with_filename
+purple_plugins_find_with_basename
+purple_plugins_find_with_id
+purple_plugins_get_loaded
+purple_plugins_get_protocols
+purple_plugins_get_all
+purple_plugins_get_handle
+purple_plugins_init
+purple_plugins_uninit
+purple_plugin_action_new
+purple_plugin_action_free
+</SECTION>
+
+<SECTION>
+<FILE>dbus-useful</FILE>
+purple_accounts_find_ext
+purple_accounts_find_any
+purple_accounts_find_connected
+</SECTION>
+
+<SECTION>
+<FILE>conversation</FILE>
+PurpleConversationUiOps
+PurpleConversation
+PurpleConvIm
+PurpleConvChat
+PurpleConvChatBuddy
+PurpleConvMessage
+PurpleConversationType
+PurpleConvUpdateType
+PurpleTypingState
+PurpleMessageFlags
+PurpleConvChatBuddyFlags
+purple_conversation_new
+purple_conversation_destroy
+purple_conversation_present
+purple_conversation_get_type
+purple_conversation_set_ui_ops
+purple_conversations_set_ui_ops
+purple_conversation_get_ui_ops
+purple_conversation_get_ui_data
+purple_conversation_set_ui_data
+purple_conversation_set_account
+purple_conversation_get_account
+purple_conversation_get_gc
+purple_conversation_set_title
+purple_conversation_get_title
+purple_conversation_autoset_title
+purple_conversation_set_name
+purple_conversation_get_name
+purple_conv_chat_cb_get_attribute
+purple_conv_chat_cb_get_attribute_keys
+purple_conv_chat_cb_set_attribute
+purple_conv_chat_cb_set_attributes
+purple_conversation_find_buddy
+purple_conversation_find_buddies
+purple_conversation_set_logging
+purple_conversation_is_logging
+purple_conversation_close_logs
+purple_conversation_get_im_data
+PURPLE_CONV_IM
+purple_conversation_get_chat_data
+PURPLE_CONV_CHAT
+purple_conversation_set_data
+purple_conversation_get_data
+purple_get_conversations
+purple_get_ims
+purple_get_chats
+purple_find_conversation_with_account
+purple_conversation_write
+purple_conversation_set_features
+purple_conversation_get_features
+purple_conversation_has_focus
+purple_conversation_update
+purple_conversation_foreach
+purple_conversation_get_message_history
+purple_conversation_clear_message_history
+purple_conversation_message_get_sender
+purple_conversation_message_get_message
+purple_conversation_message_get_flags
+purple_conversation_message_get_timestamp
+purple_conversation_message_get_alias
+purple_conversation_message_get_conversation
+purple_conv_im_get_conversation
+purple_conv_im_set_icon
+purple_conv_im_get_icon
+purple_conv_im_set_typing_state
+purple_conv_im_get_typing_state
+purple_conv_im_start_typing_timeout
+purple_conv_im_stop_typing_timeout
+purple_conv_im_get_typing_timeout
+purple_conv_im_set_type_again
+purple_conv_im_get_type_again
+purple_conv_im_start_send_typed_timeout
+purple_conv_im_stop_send_typed_timeout
+purple_conv_im_get_send_typed_timeout
+purple_conv_im_update_typing
+purple_conv_im_write
+purple_conv_present_error
+purple_conv_im_send
+purple_conv_send_confirm
+purple_conv_im_send_with_flags
+purple_conv_custom_smiley_add
+purple_conv_custom_smiley_write
+purple_conv_custom_smiley_close
+purple_conv_chat_get_conversation
+purple_conv_chat_set_users
+purple_conv_chat_get_users
+purple_conv_chat_ignore
+purple_conv_chat_unignore
+purple_conv_chat_set_ignored
+purple_conv_chat_get_ignored
+purple_conv_chat_get_ignored_user
+purple_conv_chat_is_user_ignored
+purple_conv_chat_set_topic
+purple_conv_chat_get_topic
+purple_conv_chat_set_id
+purple_conv_chat_get_id
+purple_conv_chat_write
+purple_conv_chat_send
+purple_conv_chat_send_with_flags
+purple_conv_chat_add_user
+purple_conv_chat_add_users
+purple_conv_chat_rename_user
+purple_conv_chat_remove_user
+purple_conv_chat_remove_users
+purple_conv_chat_find_user
+purple_conv_chat_user_set_flags
+purple_conv_chat_user_get_flags
+purple_conv_chat_clear_users
+purple_conv_chat_set_nick
+purple_conv_chat_get_nick
+purple_find_chat
+purple_conv_chat_left
+purple_conv_chat_invite_user
+purple_conv_chat_has_left
+purple_conv_chat_cb_new
+purple_conv_chat_cb_find
+purple_conv_chat_cb_get_name
+purple_conv_chat_cb_get_alias
+purple_conv_chat_cb_get_flags
+purple_conv_chat_cb_is_buddy
+purple_conv_chat_cb_destroy
+purple_conversation_get_extended_menu
+purple_conversation_do_command
+purple_conversations_get_handle
+purple_conversations_init
+purple_conversations_uninit
+</SECTION>
+
+<SECTION>
+<FILE>dbus-purple</FILE>
+DBUS_SERVICE_PURPLE
+DBUS_PATH_PURPLE
+DBUS_INTERFACE_PURPLE
+</SECTION>
+
+<SECTION>
+<FILE>value</FILE>
+PurpleType
+PurpleSubType
+purple_value_new
+purple_value_new_outgoing
+purple_value_destroy
+purple_value_dup
+purple_value_get_type
+purple_value_get_subtype
+purple_value_get_specific_type
+purple_value_is_outgoing
+purple_value_set_char
+purple_value_set_uchar
+purple_value_set_boolean
+purple_value_set_short
+purple_value_set_ushort
+purple_value_set_int
+purple_value_set_uint
+purple_value_set_long
+purple_value_set_ulong
+purple_value_set_int64
+purple_value_set_uint64
+purple_value_set_string
+purple_value_set_object
+purple_value_set_pointer
+purple_value_set_enum
+purple_value_set_boxed
+purple_value_get_char
+purple_value_get_uchar
+purple_value_get_boolean
+purple_value_get_short
+purple_value_get_ushort
+purple_value_get_int
+purple_value_get_uint
+purple_value_get_long
+purple_value_get_ulong
+purple_value_get_int64
+purple_value_get_uint64
+purple_value_get_string
+purple_value_get_object
+purple_value_get_pointer
+purple_value_get_enum
+purple_value_get_boxed
+</SECTION>
+
+<SECTION>
+<FILE>ft</FILE>
+PurpleXfer
+PurpleXferType
+PurpleXferStatusType
+new_xfer
+destroy
+add_xfer
+update_progress
+cancel_local
+cancel_remote
+ui_write
+ui_read
+data_not_sent
+add_thumbnail
+purple_xfer_new
+purple_xfers_get_all
+purple_xfer_ref
+purple_xfer_unref
+purple_xfer_request
+purple_xfer_request_accepted
+purple_xfer_request_denied
+purple_xfer_get_type
+purple_xfer_get_account
+purple_xfer_get_remote_user
+purple_xfer_get_status
+purple_xfer_is_canceled
+purple_xfer_is_completed
+purple_xfer_get_filename
+purple_xfer_get_local_filename
+purple_xfer_get_bytes_sent
+purple_xfer_get_bytes_remaining
+purple_xfer_get_size
+purple_xfer_get_progress
+purple_xfer_get_local_port
+purple_xfer_get_remote_ip
+purple_xfer_get_remote_port
+purple_xfer_get_start_time
+purple_xfer_get_end_time
+purple_xfer_set_completed
+purple_xfer_set_message
+purple_xfer_set_filename
+purple_xfer_set_local_filename
+purple_xfer_set_size
+purple_xfer_set_bytes_sent
+purple_xfer_get_ui_ops
+purple_xfer_set_read_fnc
+purple_xfer_set_write_fnc
+purple_xfer_set_ack_fnc
+purple_xfer_set_request_denied_fnc
+purple_xfer_set_init_fnc
+purple_xfer_set_start_fnc
+purple_xfer_set_end_fnc
+purple_xfer_set_cancel_send_fnc
+purple_xfer_set_cancel_recv_fnc
+purple_xfer_read
+purple_xfer_write
+purple_xfer_start
+purple_xfer_end
+purple_xfer_add
+purple_xfer_cancel_local
+purple_xfer_cancel_remote
+purple_xfer_error
+purple_xfer_update_progress
+purple_xfer_conversation_write
+purple_xfer_ui_ready
+purple_xfer_prpl_ready
+purple_xfer_get_thumbnail
+purple_xfer_get_thumbnail_mimetype
+purple_xfer_set_thumbnail
+purple_xfer_prepare_thumbnail
+purple_xfers_get_handle
+purple_xfers_init
+purple_xfers_uninit
+purple_xfers_set_ui_ops
+purple_xfers_get_ui_ops
+</SECTION>
+
+<SECTION>
+<FILE>network</FILE>
+PurpleNetworkListenData
+PurpleNetworkListenCallback
+purple_network_ip_atoi
+purple_network_set_public_ip
+purple_network_get_public_ip
+purple_network_get_local_system_ip
+purple_network_get_all_local_system_ips
+purple_network_get_my_ip
+purple_network_listen_map_external
+purple_network_listen
+purple_network_listen_family
+purple_network_listen_range
+purple_network_listen_range_family
+purple_network_listen_cancel
+purple_network_get_port_from_fd
+purple_network_is_available
+purple_network_force_online
+purple_network_get_handle
+purple_network_set_stun_server
+purple_network_get_stun_ip
+purple_network_set_turn_server
+purple_network_get_turn_ip
+purple_network_remove_port_mapping
+purple_network_convert_idn_to_ascii
+purple_network_init
+purple_network_uninit
+</SECTION>
+
+<SECTION>
+<FILE>accountopt</FILE>
+purple_account_option_new
+purple_account_option_bool_new
+purple_account_option_int_new
+purple_account_option_string_new
+purple_account_option_list_new
+purple_account_option_destroy
+purple_account_option_set_default_bool
+purple_account_option_set_default_int
+purple_account_option_set_default_string
+purple_account_option_set_masked
+purple_account_option_set_list
+purple_account_option_add_list_item
+purple_account_option_get_type
+purple_account_option_get_text
+purple_account_option_get_setting
+purple_account_option_get_default_bool
+purple_account_option_get_default_int
+purple_account_option_get_default_string
+purple_account_option_get_default_list_value
+purple_account_option_get_masked
+purple_account_option_get_list
+purple_account_user_split_new
+purple_account_user_split_destroy
+purple_account_user_split_get_text
+purple_account_user_split_get_default_value
+purple_account_user_split_get_separator
+purple_account_user_split_get_reverse
+purple_account_user_split_set_reverse
+</SECTION>
+
+<SECTION>
+<FILE>certificate</FILE>
+PurpleCertificateVerificationStatus
+PurpleCertificate
+PurpleCertificatePool
+PurpleCertificateScheme
+PurpleCertificateVerifier
+PurpleCertificateVerificationRequest
+purple_certificate_verify
+purple_certificate_verify_complete
+purple_certificate_copy
+purple_certificate_copy_list
+purple_certificate_destroy
+purple_certificate_destroy_list
+purple_certificate_signed_by
+purple_certificate_check_signature_chain_with_failing
+purple_certificate_check_signature_chain
+purple_certificate_import
+purple_certificates_import
+purple_certificate_export
+purple_certificate_get_fingerprint_sha1
+purple_certificate_get_unique_id
+purple_certificate_get_issuer_unique_id
+purple_certificate_get_subject_name
+purple_certificate_check_subject_name
+purple_certificate_get_times
+purple_certificate_pool_mkpath
+purple_certificate_pool_usable
+purple_certificate_pool_get_scheme
+purple_certificate_pool_contains
+purple_certificate_pool_retrieve
+purple_certificate_pool_store
+purple_certificate_pool_delete
+purple_certificate_pool_get_idlist
+purple_certificate_pool_destroy_idlist
+purple_certificate_init
+purple_certificate_uninit
+purple_certificate_get_handle
+purple_certificate_find_scheme
+purple_certificate_get_schemes
+purple_certificate_register_scheme
+purple_certificate_unregister_scheme
+purple_certificate_find_verifier
+purple_certificate_get_verifiers
+purple_certificate_register_verifier
+purple_certificate_unregister_verifier
+purple_certificate_find_pool
+purple_certificate_get_pools
+purple_certificate_register_pool
+purple_certificate_unregister_pool
+purple_certificate_display_x509
+purple_certificate_add_ca_search_path
+</SECTION>
+
+<SECTION>
+<FILE>dnssrv</FILE>
+PurpleSrvQueryData
+PurpleSrvResponse
+PurpleTxtResponse
+PurpleSrvCallback
+PurpleTxtCallback
+purple_srv_resolve
+purple_srv_cancel
+purple_txt_resolve
+purple_txt_cancel
+purple_txt_response_get_content
+purple_txt_response_destroy
+</SECTION>
+
+<SECTION>
+<FILE>version</FILE>
+PURPLE_MAJOR_VERSION
+PURPLE_MINOR_VERSION
+PURPLE_MICRO_VERSION
+PURPLE_VERSION_CHECK
+purple_version_check
+purple_major_version
+purple_minor_version
+purple_micro_version
+</SECTION>
+
+<SECTION>
+<FILE>log</FILE>
+PurpleLog
+PurpleLogLogger
+PurpleLogCommonLoggerData
+PurpleLogSet
+PurpleLogType
+PurpleLogReadFlags
+PurpleLogSetCallback
+purple_log_new
+purple_log_free
+purple_log_write
+purple_log_read
+purple_log_get_logs
+purple_log_get_log_sets
+purple_log_get_system_logs
+purple_log_get_size
+purple_log_get_total_size
+purple_log_get_activity_score
+purple_log_is_deletable
+purple_log_delete
+purple_log_get_log_dir
+purple_log_compare
+purple_log_set_compare
+purple_log_set_free
+purple_log_common_writer
+purple_log_common_lister
+purple_log_common_total_sizer
+purple_log_common_sizer
+purple_log_common_deleter
+purple_log_common_is_deletable
+purple_log_logger_new
+purple_log_logger_free
+purple_log_logger_add
+purple_log_logger_remove
+purple_log_logger_set
+purple_log_logger_get
+purple_log_logger_get_options
+purple_log_init
+purple_log_get_handle
+purple_log_uninit
+</SECTION>
+
+<SECTION>
+<FILE>debug</FILE>
+PurpleDebugLevel
+print
+is_enabled
+_purple_reserved1
+_purple_reserved2
+_purple_reserved3
+_purple_reserved4
+purple_debug
+purple_debug_misc
+purple_debug_info
+purple_debug_warning
+purple_debug_error
+purple_debug_fatal
+purple_debug_set_enabled
+purple_debug_is_enabled
+purple_debug_set_verbose
+purple_debug_is_verbose
+purple_debug_set_unsafe
+purple_debug_is_unsafe
+purple_debug_set_ui_ops
+purple_debug_get_ui_ops
+purple_debug_init
+</SECTION>
+
+<SECTION>
+<FILE>blist</FILE>
+PurpleBlistUiOps
+parse_setting
+value_to_xmlnode
+purple_strings_are_different
+list_account_buddies
+purple_blist_get_root
+purple_blist_get_buddies
+purple_blist_get_ui_data
+purple_blist_set_ui_data
+purple_blist_show
+purple_blist_destroy
+purple_blist_set_visible
+purple_blist_update_buddy_status
+purple_blist_update_node_icon
+purple_blist_update_buddy_icon
+purple_blist_alias_contact
+purple_blist_server_alias_buddy
+purple_blist_rename_group
+purple_blist_add_chat
+purple_blist_add_buddy
+purple_find_buddy
+purple_find_buddy_in_group
+purple_find_buddies
+purple_find_group
+purple_blist_find_chat
+purple_blist_add_account
+purple_blist_remove_account
+purple_blist_load
+purple_blist_schedule_save
+purple_blist_request_add_buddy
+purple_blist_request_add_chat
+purple_blist_request_add_group
+purple_blist_set_ui_ops
+purple_blist_get_ui_ops
+purple_blist_get_handle
+</SECTION>
+
+<SECTION>
+<FILE>purple-client</FILE>
+purple_init
+</SECTION>
+
+<SECTION>
+<FILE>status</FILE>
+PurpleStatusType
+PurpleStatusAttr
+PurplePresence
+PurpleStatus
+PurpleMood
+PurplePresenceContext
+PurpleStatusPrimitive
+PURPLE_TUNE_ARTIST
+PURPLE_TUNE_TITLE
+PURPLE_TUNE_ALBUM
+PURPLE_TUNE_GENRE
+PURPLE_TUNE_COMMENT
+PURPLE_TUNE_TRACK
+PURPLE_TUNE_TIME
+PURPLE_TUNE_YEAR
+PURPLE_TUNE_URL
+PURPLE_TUNE_FULL
+PURPLE_MOOD_NAME
+PURPLE_MOOD_COMMENT
+purple_primitive_get_id_from_type
+purple_primitive_get_name_from_type
+purple_primitive_get_type_from_id
+purple_status_type_new_full
+purple_status_type_new
+purple_status_type_new_with_attrs
+purple_status_type_destroy
+purple_status_type_set_primary_attr
+purple_status_type_add_attr
+purple_status_type_add_attrs
+purple_status_type_add_attrs_vargs
+purple_status_type_get_primitive
+purple_status_type_get_id
+purple_status_type_get_name
+purple_status_type_is_saveable
+purple_status_type_is_user_settable
+purple_status_type_is_independent
+purple_status_type_is_exclusive
+purple_status_type_is_available
+purple_status_type_get_primary_attr
+purple_status_type_get_attr
+purple_status_type_get_attrs
+purple_status_type_find_with_id
+purple_status_attr_new
+purple_status_attr_destroy
+purple_status_attr_get_id
+purple_status_attr_get_name
+purple_status_attr_get_value
+purple_status_new
+purple_status_destroy
+purple_status_set_active
+purple_status_set_active_with_attrs
+purple_status_set_active_with_attrs_list
+purple_status_set_attr_boolean
+purple_status_set_attr_int
+purple_status_set_attr_string
+purple_status_get_type
+purple_status_get_presence
+purple_status_get_id
+purple_status_get_name
+purple_status_is_independent
+purple_status_is_exclusive
+purple_status_is_available
+purple_status_is_active
+purple_status_is_online
+purple_status_get_attr_value
+purple_status_get_attr_boolean
+purple_status_get_attr_int
+purple_status_get_attr_string
+purple_status_compare
+purple_presence_new
+purple_presence_new_for_account
+purple_presence_new_for_conv
+purple_presence_new_for_buddy
+purple_presence_destroy
+purple_presence_add_status
+purple_presence_add_list
+purple_presence_set_status_active
+purple_presence_switch_status
+purple_presence_set_idle
+purple_presence_set_login_time
+purple_presence_get_context
+purple_presence_get_account
+purple_presence_get_conversation
+purple_presence_get_chat_user
+purple_presence_get_buddy
+purple_presence_get_statuses
+purple_presence_get_status
+purple_presence_get_active_status
+purple_presence_is_available
+purple_presence_is_online
+purple_presence_is_status_active
+purple_presence_is_status_primitive_active
+purple_presence_is_idle
+purple_presence_get_idle_time
+purple_presence_get_login_time
+purple_presence_compare
+purple_status_get_handle
+purple_status_init
+purple_status_uninit
+</SECTION>
+
+<SECTION>
+<FILE>stringref</FILE>
+PurpleStringref
+purple_stringref_new
+purple_stringref_new_noref
+purple_stringref_printf
+purple_stringref_ref
+purple_stringref_unref
+purple_stringref_value
+purple_stringref_cmp
+purple_stringref_len
+</SECTION>
+
+<SECTION>
+<FILE>privacy</FILE>
+PurplePrivacyType
+permit_added
+permit_removed
+deny_added
+deny_removed
+_purple_reserved1
+_purple_reserved2
+_purple_reserved3
+_purple_reserved4
+purple_privacy_permit_add
+purple_privacy_permit_remove
+purple_privacy_deny_add
+purple_privacy_deny_remove
+purple_privacy_allow
+purple_privacy_deny
+purple_privacy_check
+purple_privacy_set_ui_ops
+purple_privacy_get_ui_ops
+purple_privacy_init
+</SECTION>
+
+<SECTION>
+<FILE>gsignal</FILE>
+PURPLE_TYPE_SIGNAL_HANDLE
+PurpleGSignalHandle
+purple_g_signal_connect
+purple_g_signal_connect_after
+purple_g_signal_connect_flags
+purple_g_signal_disconnect
+purple_g_signal_handle_get_type
+purple_g_signal_handle_new
+purple_g_signal_handle_copy
+purple_g_signal_handle_free
+</SECTION>
+
+<SECTION>
+<FILE>notify</FILE>
+PurpleNotifyUserInfoEntry
+PurpleNotifyUserInfo
+PurpleNotifyCloseCallback
+PurpleNotifyType
+PurpleNotifyMsgType
+PurpleNotifySearchButtonType
+PurpleNotifyUserInfoEntryType
+PurpleNotifySearchResultsCallback
+notify_message
+notify_email
+notify_emails
+notify_formatted
+notify_searchresults
+notify_searchresults_new_rows
+notify_userinfo
+notify_uri
+close_notify
+_purple_reserved1
+_purple_reserved2
+_purple_reserved3
+_purple_reserved4
+purple_notify_searchresults
+purple_notify_searchresults_free
+purple_notify_searchresults_new_rows
+purple_notify_searchresults_button_add
+purple_notify_searchresults_button_add_labeled
+purple_notify_searchresults_new
+purple_notify_searchresults_column_new
+purple_notify_searchresults_column_add
+purple_notify_searchresults_row_add
+purple_notify_searchresults_get_rows_count
+purple_notify_searchresults_get_columns_count
+purple_notify_searchresults_row_get
+purple_notify_searchresults_column_get_title
+purple_notify_message
+purple_notify_email
+purple_notify_emails
+purple_notify_formatted
+purple_notify_userinfo
+purple_notify_user_info_new
+purple_notify_user_info_destroy
+purple_notify_user_info_get_entries
+purple_notify_user_info_get_text_with_newline
+purple_notify_user_info_add_pair
+purple_notify_user_info_add_pair_plaintext
+purple_notify_user_info_prepend_pair
+purple_notify_user_info_remove_entry
+purple_notify_user_info_entry_new
+purple_notify_user_info_add_section_break
+purple_notify_user_info_prepend_section_break
+purple_notify_user_info_add_section_header
+purple_notify_user_info_prepend_section_header
+purple_notify_user_info_remove_last_item
+purple_notify_user_info_entry_get_label
+purple_notify_user_info_entry_set_label
+purple_notify_user_info_entry_get_value
+purple_notify_user_info_entry_set_value
+purple_notify_user_info_entry_get_type
+purple_notify_user_info_entry_set_type
+purple_notify_uri
+purple_notify_close
+purple_notify_close_with_handle
+purple_notify_info
+purple_notify_warning
+purple_notify_error
+purple_notify_set_ui_ops
+purple_notify_get_ui_ops
+purple_notify_get_handle
+purple_notify_init
+purple_notify_uninit
+</SECTION>
+
+<SECTION>
+<FILE>ntlm</FILE>
+purple_ntlm_gen_type1
+purple_ntlm_parse_type2
+purple_ntlm_gen_type3
+</SECTION>
+
+<SECTION>
+<FILE>enums</FILE>
+purple_account_request_type_get_type
+PURPLE_TYPE_ACCOUNT_REQUEST_TYPE
+purple_account_request_response_get_type
+PURPLE_TYPE_ACCOUNT_REQUEST_RESPONSE
+purple_blist_node_flags_get_type
+PURPLE_TYPE_BLIST_NODE_FLAGS
+purple_certificate_verification_status_get_type
+PURPLE_TYPE_CERTIFICATE_VERIFICATION_STATUS
+purple_connection_flags_get_type
+PURPLE_TYPE_CONNECTION_FLAGS
+purple_connection_state_get_type
+PURPLE_TYPE_CONNECTION_STATE
+purple_connection_error_get_type
+PURPLE_TYPE_CONNECTION_ERROR
+purple_conversation_type_get_type
+PURPLE_TYPE_CONVERSATION_TYPE
+purple_conv_update_type_get_type
+PURPLE_TYPE_CONV_UPDATE_TYPE
+purple_typing_state_get_type
+PURPLE_TYPE_TYPING_STATE
+purple_message_flags_get_type
+PURPLE_TYPE_MESSAGE_FLAGS
+purple_conv_chat_buddy_flags_get_type
+PURPLE_TYPE_CONV_CHAT_BUDDY_FLAGS
+purple_debug_level_get_type
+PURPLE_TYPE_DEBUG_LEVEL
+purple_desktop_item_type_get_type
+PURPLE_TYPE_DESKTOP_ITEM_TYPE
+purple_input_condition_get_type
+PURPLE_TYPE_INPUT_CONDITION
+purple_xfer_type_get_type
+PURPLE_TYPE_XFER_TYPE
+purple_xfer_status_type_get_type
+PURPLE_TYPE_XFER_STATUS_TYPE
+purple_log_type_get_type
+PURPLE_TYPE_LOG_TYPE
+purple_log_read_flags_get_type
+PURPLE_TYPE_LOG_READ_FLAGS
+purple_media_element_type_get_type
+PURPLE_TYPE_MEDIA_ELEMENT_TYPE
+purple_pmp_type_get_type
+PURPLE_TYPE_PMP_TYPE
+purple_notify_type_get_type
+PURPLE_TYPE_NOTIFY_TYPE
+purple_notify_msg_type_get_type
+PURPLE_TYPE_NOTIFY_MSG_TYPE
+purple_notify_search_button_type_get_type
+PURPLE_TYPE_NOTIFY_SEARCH_BUTTON_TYPE
+purple_notify_user_info_entry_type_get_type
+PURPLE_TYPE_NOTIFY_USER_INFO_ENTRY_TYPE
+purple_plugin_type_get_type
+PURPLE_TYPE_PLUGIN_TYPE
+purple_string_format_type_get_type
+PURPLE_TYPE_STRING_FORMAT_TYPE
+purple_plugin_pref_type_get_type
+PURPLE_TYPE_PLUGIN_PREF_TYPE
+purple_pounce_event_get_type
+PURPLE_TYPE_POUNCE_EVENT
+purple_pounce_option_get_type
+PURPLE_TYPE_POUNCE_OPTION
+purple_pref_type_get_type
+PURPLE_TYPE_PREF_TYPE
+purple_privacy_type_get_type
+PURPLE_TYPE_PRIVACY_TYPE
+purple_proxy_type_get_type
+PURPLE_TYPE_PROXY_TYPE
+purple_icon_scale_rules_get_type
+PURPLE_TYPE_ICON_SCALE_RULES
+purple_protocol_options_get_type
+PURPLE_TYPE_PROTOCOL_OPTIONS
+purple_request_type_get_type
+PURPLE_TYPE_REQUEST_TYPE
+purple_request_field_type_get_type
+PURPLE_TYPE_REQUEST_FIELD_TYPE
+purple_roomlist_room_type_get_type
+PURPLE_TYPE_ROOMLIST_ROOM_TYPE
+purple_roomlist_field_type_get_type
+PURPLE_TYPE_ROOMLIST_FIELD_TYPE
+purple_sound_event_id_get_type
+PURPLE_TYPE_SOUND_EVENT_ID
+purple_ssl_error_type_get_type
+PURPLE_TYPE_SSL_ERROR_TYPE
+purple_presence_context_get_type
+PURPLE_TYPE_PRESENCE_CONTEXT
+purple_status_primitive_get_type
+PURPLE_TYPE_STATUS_PRIMITIVE
+purple_stun_status_get_type
+PURPLE_TYPE_STUN_STATUS
+purple_stun_nat_type_get_type
+PURPLE_TYPE_STUN_NAT_TYPE
+purple_type_get_type
+PURPLE_TYPE_TYPE
+purple_sub_type_get_type
+PURPLE_TYPE_SUB_TYPE
+x_ml_node_type_get_type
+X_TYPE_ML_NODE_TYPE
+</SECTION>
+
+<SECTION>
+<FILE>pluginpref</FILE>
+PurplePluginPrefFrame
+PurplePluginPref
+PurpleStringFormatType
+PurplePluginPrefType
+purple_plugin_pref_frame_new
+purple_plugin_pref_frame_destroy
+purple_plugin_pref_frame_add
+purple_plugin_pref_frame_get_prefs
+purple_plugin_pref_new
+purple_plugin_pref_new_with_name
+purple_plugin_pref_new_with_label
+purple_plugin_pref_new_with_name_and_label
+purple_plugin_pref_destroy
+purple_plugin_pref_set_name
+purple_plugin_pref_get_name
+purple_plugin_pref_set_label
+purple_plugin_pref_get_label
+purple_plugin_pref_set_bounds
+purple_plugin_pref_get_bounds
+purple_plugin_pref_set_type
+purple_plugin_pref_get_type
+purple_plugin_pref_add_choice
+purple_plugin_pref_get_choices
+purple_plugin_pref_set_max_length
+purple_plugin_pref_get_max_length
+purple_plugin_pref_set_masked
+purple_plugin_pref_get_masked
+purple_plugin_pref_set_format_type
+purple_plugin_pref_get_format_type
+</SECTION>
+
+<SECTION>
+<FILE>util</FILE>
+PurpleUtilFetchUrlData
+PurpleMenuAction
+PurpleKeyValuePair
+PurpleInfoFieldFormatCallback
+purple_menu_action_new
+purple_menu_action_free
+purple_util_set_current_song
+purple_util_format_song_info
+purple_util_init
+purple_util_uninit
+purple_base16_encode
+purple_base16_decode
+purple_base16_encode_chunked
+purple_base64_encode
+purple_base64_decode
+purple_quotedp_decode
+purple_mime_decode_field
+purple_utf8_strftime
+purple_get_tzoff_str
+purple_date_format_short
+purple_date_format_long
+purple_date_format_full
+purple_time_format
+purple_time_build
+PURPLE_NO_TZ_OFF
+purple_str_to_time
+purple_markup_escape_text
+purple_markup_find_tag
+purple_markup_extract_info_field
+purple_markup_html_to_xhtml
+purple_markup_strip_html
+purple_markup_linkify
+purple_unescape_text
+purple_unescape_html
+purple_markup_slice
+purple_markup_get_tag_name
+purple_markup_unescape_entity
+purple_markup_get_css_property
+purple_markup_is_rtl
+purple_home_dir
+purple_user_dir
+purple_util_set_user_dir
+purple_build_dir
+purple_util_write_data_to_file
+purple_util_write_data_to_file_absolute
+purple_util_read_xml_from_file
+purple_mkstemp
+purple_util_get_image_extension
+purple_util_get_image_checksum
+purple_util_get_image_filename
+purple_program_is_valid
+purple_running_gnome
+purple_running_kde
+purple_running_osx
+purple_fd_get_ip
+purple_socket_get_family
+purple_socket_speaks_ipv4
+purple_strequal
+purple_normalize
+purple_normalize_nocase
+purple_str_has_prefix
+purple_str_has_suffix
+purple_strdup_withhtml
+purple_str_add_cr
+purple_str_strip_char
+purple_util_chrreplace
+purple_strreplace
+purple_utf8_ncr_encode
+purple_utf8_ncr_decode
+purple_strcasereplace
+purple_strcasestr
+purple_str_size_to_units
+purple_str_seconds_to_string
+purple_str_binary_to_ascii
+purple_util_strings_equal
+purple_got_protocol_handler_uri
+purple_url_parse
+PurpleUtilFetchUrlCallback
+purple_util_fetch_url
+purple_util_fetch_url_len
+purple_util_fetch_url_request
+purple_util_fetch_url_request_len
+purple_util_fetch_url_request_len_with_account
+purple_util_fetch_url_cancel
+purple_url_decode
+purple_url_encode
+purple_email_is_valid
+purple_ip_address_is_valid
+purple_ipv4_address_is_valid
+purple_ipv6_address_is_valid
+purple_uri_list_extract_uris
+purple_uri_list_extract_filenames
+purple_utf8_try_convert
+purple_utf8_salvage
+purple_utf8_strip_unprintables
+purple_gai_strerror
+purple_utf8_strcasecmp
+purple_utf8_has_word
+purple_print_utf8_to_console
+purple_message_meify
+purple_text_strip_mnemonic
+purple_add_eight
+purple_unescape_filename
+purple_escape_filename
+purple_restore_default_signal_handlers
+purple_get_host_name
+purple_uuid_random
+purple_http_digest_calculate_session_key
+purple_http_digest_calculate_response
+purple_g_value_slice_new
+purple_g_value_slice_free
+purple_g_value_slice_dup
+</SECTION>
+
+<SECTION>
+<FILE>dbus-server</FILE>
+PurpleDBusType
+PURPLE_DBUS_TYPE
+PURPLE_DBUS_DECLARE_TYPE
+PURPLE_DBUS_DEFINE_TYPE
+PURPLE_DBUS_DEFINE_INHERITING_TYPE
+PURPLE_DBUS_RETURN_FALSE_IF_DISABLED
+purple_dbus_init_ids
+purple_dbus_register_pointer
+purple_dbus_unregister_pointer
+purple_dbus_signal_emit_purple
+purple_dbus_get_init_error
+purple_dbus_get_handle
+purple_dbus_is_owner
+purple_dbus_init
+purple_dbus_uninit
+DBUS_EXPORT
+</SECTION>
+
+<SECTION>
+<FILE>request</FILE>
+PurpleRequestField
+PURPLE_DEFAULT_ACTION_NONE
+PurpleRequestType
+PurpleRequestFieldType
+request_input
+request_choice
+request_action
+request_fields
+request_file
+close_request
+request_folder
+request_action_with_icon
+_purple_reserved1
+_purple_reserved2
+_purple_reserved3
+PurpleRequestInputCb
+PurpleRequestActionCb
+PurpleRequestChoiceCb
+PurpleRequestFieldsCb
+PurpleRequestFileCb
+purple_request_fields_new
+purple_request_fields_destroy
+purple_request_fields_add_group
+purple_request_fields_get_groups
+purple_request_fields_exists
+purple_request_fields_get_required
+purple_request_fields_is_field_required
+purple_request_fields_all_required_filled
+purple_request_fields_get_field
+purple_request_fields_get_string
+purple_request_fields_get_integer
+purple_request_fields_get_bool
+purple_request_fields_get_choice
+purple_request_fields_get_account
+purple_request_field_group_new
+purple_request_field_group_destroy
+purple_request_field_group_add_field
+purple_request_field_group_get_title
+purple_request_field_group_get_fields
+purple_request_field_new
+purple_request_field_destroy
+purple_request_field_set_label
+purple_request_field_set_visible
+purple_request_field_set_type_hint
+purple_request_field_set_required
+purple_request_field_get_type
+purple_request_field_get_group
+purple_request_field_get_id
+purple_request_field_get_label
+purple_request_field_is_visible
+purple_request_field_get_type_hint
+purple_request_field_is_required
+purple_request_field_get_ui_data
+purple_request_field_set_ui_data
+purple_request_field_string_new
+purple_request_field_string_set_default_value
+purple_request_field_string_set_value
+purple_request_field_string_set_masked
+purple_request_field_string_set_editable
+purple_request_field_string_get_default_value
+purple_request_field_string_get_value
+purple_request_field_string_is_multiline
+purple_request_field_string_is_masked
+purple_request_field_string_is_editable
+purple_request_field_int_new
+purple_request_field_int_set_default_value
+purple_request_field_int_set_value
+purple_request_field_int_get_default_value
+purple_request_field_int_get_value
+purple_request_field_bool_new
+purple_request_field_bool_set_default_value
+purple_request_field_bool_set_value
+purple_request_field_bool_get_default_value
+purple_request_field_bool_get_value
+purple_request_field_choice_new
+purple_request_field_choice_add
+purple_request_field_choice_set_default_value
+purple_request_field_choice_set_value
+purple_request_field_choice_get_default_value
+purple_request_field_choice_get_value
+purple_request_field_choice_get_labels
+purple_request_field_list_new
+purple_request_field_list_set_multi_select
+purple_request_field_list_get_multi_select
+purple_request_field_list_get_data
+purple_request_field_list_add
+purple_request_field_list_add_icon
+purple_request_field_list_add_selected
+purple_request_field_list_clear_selected
+purple_request_field_list_set_selected
+purple_request_field_list_is_selected
+purple_request_field_list_get_selected
+purple_request_field_list_get_items
+purple_request_field_list_get_icons
+purple_request_field_label_new
+purple_request_field_image_new
+purple_request_field_image_set_scale
+purple_request_field_image_get_buffer
+purple_request_field_image_get_size
+purple_request_field_image_get_scale_x
+purple_request_field_image_get_scale_y
+purple_request_field_account_new
+purple_request_field_account_set_default_value
+purple_request_field_account_set_value
+purple_request_field_account_set_show_all
+purple_request_field_account_set_filter
+purple_request_field_account_get_default_value
+purple_request_field_account_get_value
+purple_request_field_account_get_show_all
+purple_request_field_account_get_filter
+purple_request_input
+purple_request_choice
+purple_request_choice_varg
+purple_request_action
+purple_request_action_varg
+purple_request_action_with_icon
+purple_request_action_with_icon_varg
+purple_request_fields
+purple_request_close
+purple_request_close_with_handle
+purple_request_yes_no
+purple_request_ok_cancel
+purple_request_accept_cancel
+purple_request_accept_cancel_with_icon
+purple_request_file
+purple_request_folder
+purple_request_set_ui_ops
+purple_request_get_ui_ops
+</SECTION>
+
+<SECTION>
+<FILE>stun</FILE>
+PurpleStunNatDiscovery
+PurpleStunStatus
+PurpleStunNatType
+StunCallback
+purple_stun_discover
+purple_stun_init
+</SECTION>
+
+<SECTION>
+<FILE>libc_interface</FILE>
+S_IRUSR
+S_IWUSR
+S_IXUSR
+S_ISDIR
+F_OK
+socket
+connect
+getsockopt
+setsockopt
+getsockname
+bind
+listen
+sendto
+recv
+send
+ioctl
+fcntl
+inet_aton
+inet_ntop
+gethostbyname
+ntohl
+hstrerror
+strerror
+g_strerror
+read
+write
+close
+sleep
+gethostname
+fsync
+gettimeofday
+snprintf
+vsnprintf
+rename
+fchmod
+localtime_r
+</SECTION>
+
+<SECTION>
+<FILE>libc_internal</FILE>
+wpurple_get_timezone_abbreviation
+wpurple_socket
+wpurple_connect
+wpurple_getsockopt
+wpurple_setsockopt
+wpurple_getsockname
+wpurple_bind
+wpurple_listen
+wpurple_sendto
+wpurple_recv
+wpurple_send
+wpurple_inet_aton
+wpurple_inet_ntop
+wpurple_gethostbyname
+wpurple_strerror
+wpurple_fcntl
+F_GETFL
+F_SETFL
+O_NONBLOCK
+SIOCGIFCONF
+wpurple_ioctl
+ifr_name
+ifr_addr
+ifr_hwaddr
+ifr_dstaddr
+ifr_broadaddr
+ifr_netmask
+ifr_flags
+ifr_metric
+ifr_mtu
+ifr_data
+ifr_ifindex
+ifr_bandwidth
+ifr_qlen
+ifc_buf
+ifc_req
+wpurple_gettimeofday
+wpurple_localtime_r
+wpurple_read
+wpurple_write
+wpurple_close
+wpurple_gethostname
+wpurple_rename
+</SECTION>
+
+<SECTION>
+<FILE>wpurpleerror</FILE>
+ENETDOWN
+EAFNOSUPPORT
+EINPROGRESS
+ENOBUFS
+EPROTONOSUPPORT
+EPROTOTYPE
+ESOCKTNOSUPPORT
+EADDRINUSE
+EALREADY
+EADDRNOTAVAIL
+ECONNREFUSED
+EISCONN
+ENETUNREACH
+ENOTSOCK
+ETIMEDOUT
+EWOULDBLOCK
+ENOTCONN
+ENETRESET
+EOPNOTSUPP
+ESHUTDOWN
+EMSGSIZE
+ECONNABORTED
+ECONNRESET
+EHOSTUNREACH
+</SECTION>
+
+<SECTION>
+<FILE>win32dep</FILE>
+WINHTTP_CURRENT_USER_IE_PROXY_CONFIG
+wpurple_find_and_loadproc
+wpurple_read_reg_dword
+wpurple_read_reg_string
+wpurple_write_reg_string
+wpurple_escape_dirsep
+wpurple_g_io_channel_win32_new_socket
+wpurple_get_special_folder
+wpurple_install_dir
+wpurple_lib_dir
+wpurple_locale_dir
+wpurple_data_dir
+wpurple_init
+wpurple_cleanup
+wpurple_get_tz_offset
+DATADIR
+LIBDIR
+LOCALEDIR
+</SECTION>
+
+<SECTION>
+<FILE>libymsg</FILE>
+YAHOO_PAGER_HOST_REQ_URL
+YAHOO_PAGER_HOST_FALLBACK
+YAHOO_PAGER_PORT
+YAHOO_PAGER_PORT_P2P
+YAHOO_LOGIN_URL
+YAHOO_TOKEN_URL
+YAHOO_P2P_KEEPALIVE_SECS
+YAHOO_P2P_SERVER_TIMEOUT
+YAHOO_PROFILE_URL
+YAHOO_MAIL_URL
+YAHOO_XFER_HOST
+YAHOO_XFER_PORT
+YAHOO_XFER_RELAY_HOST
+YAHOO_XFER_RELAY_PORT
+YAHOO_ROOMLIST_URL
+YAHOO_ROOMLIST_LOCALE
+YAHOOJP_PAGER_HOST_REQ_URL
+YAHOOJP_TOKEN_URL
+YAHOOJP_LOGIN_URL
+YAHOOJP_PROFILE_URL
+YAHOOJP_MAIL_URL
+YAHOOJP_XFER_HOST
+YAHOOJP_WEBCAM_HOST
+YAHOOJP_XFER_RELAY_HOST
+YAHOOJP_XFER_RELAY_PORT
+YAHOOJP_ROOMLIST_URL
+YAHOOJP_ROOMLIST_LOCALE
+YAHOO_AUDIBLE_URL
+WEBMESSENGER_URL
+YAHOO_SMS_CARRIER_URL
+YAHOO_USERINFO_URL
+YAHOOJP_USERINFO_URL
+YAHOO_PICURL_SETTING
+YAHOO_PICCKSUM_SETTING
+YAHOO_PICEXPIRE_SETTING
+YAHOO_STATUS_TYPE_OFFLINE
+YAHOO_STATUS_TYPE_AVAILABLE
+YAHOO_STATUS_TYPE_BRB
+YAHOO_STATUS_TYPE_BUSY
+YAHOO_STATUS_TYPE_NOTATHOME
+YAHOO_STATUS_TYPE_NOTATDESK
+YAHOO_STATUS_TYPE_NOTINOFFICE
+YAHOO_STATUS_TYPE_ONPHONE
+YAHOO_STATUS_TYPE_ONVACATION
+YAHOO_STATUS_TYPE_OUTTOLUNCH
+YAHOO_STATUS_TYPE_STEPPEDOUT
+YAHOO_STATUS_TYPE_AWAY
+YAHOO_STATUS_TYPE_INVISIBLE
+YAHOO_STATUS_TYPE_MOBILE
+YAHOO_CLIENT_VERSION_ID
+YAHOO_CLIENT_VERSION
+YAHOOJP_CLIENT_VERSION_ID
+YAHOOJP_CLIENT_VERSION
+YAHOO_CLIENT_USERAGENT
+YAHOO_BUZZ
+yahoo_pkt_type
+yahoo_p2p_connection_type
+YahooFederation
+names
+YahooData
+YAHOO_MAX_STATUS_MESSAGE_LENGTH
+YAHOO_MAX_MESSAGE_LENGTH_BYTES
+YAHOO_MAX_MESSAGE_LENGTH_CHARS
+yahoo_put16
+yahoo_get16
+yahoo_put32
+yahoo_get32
+yahoo_init_colorht
+yahoo_dest_colorht
+yahoo_codes_to_html
+yahoo_html_to_codes
+yahoo_account_use_http_proxy
+yahoo_string_encode
+yahoo_string_decode
+yahoo_convert_to_numeric
+yahoo_get_federation_from_name
+yahoo_get_info
+yahoo_list_icon
+yahoo_list_emblem
+yahoo_status_text
+yahoo_tooltip_text
+yahoo_status_types
+yahoo_blist_node_menu
+yahoo_login
+yahoo_close
+yahoo_send_im
+yahoo_send_typing
+yahoo_set_status
+yahoo_set_idle
+yahoo_add_buddy
+yahoo_remove_buddy
+yahoo_add_deny
+yahoo_rem_deny
+yahoo_set_permit_deny
+yahoo_keepalive
+yahoo_change_buddys_group
+yahoo_rename_group
+yahoo_offline_message
+yahoo_send_attention
+yahoo_attention_types
+yahoo_actions
+yahoopurple_register_commands
+yahoopurple_cmd_buzz
+yahoopurple_cmd_chat_join
+yahoopurple_cmd_chat_list
+yahoo_get_cookies
+yahoo_send_p2p_pkt
+</SECTION>
+
+<SECTION>
+<FILE>yahoo_doodle</FILE>
+DOODLE_IMV_KEY
+DOODLE_CMD_REQUEST
+DOODLE_CMD_CLEAR
+DOODLE_CMD_DRAW
+DOODLE_CMD_EXTRA
+DOODLE_CMD_READY
+DOODLE_CMD_CONFIRM
+DOODLE_CMD_SHUTDOWN
+DOODLE_EXTRA_NONE
+DOODLE_EXTRA_TICTACTOE
+DOODLE_EXTRA_DOTS
+DOODLE_STATE_REQUESTING
+DOODLE_STATE_REQUESTED
+DOODLE_STATE_ESTABLISHED
+DOODLE_STATE_CANCELLED
+DOODLE_CANVAS_WIDTH
+DOODLE_CANVAS_HEIGHT
+DOODLE_COLOR_RED
+DOODLE_COLOR_ORANGE
+DOODLE_COLOR_YELLOW
+DOODLE_COLOR_GREEN
+DOODLE_COLOR_CYAN
+DOODLE_COLOR_BLUE
+DOODLE_COLOR_VIOLET
+DOODLE_COLOR_PURPLE
+DOODLE_COLOR_TAN
+DOODLE_COLOR_BROWN
+DOODLE_COLOR_BLACK
+DOODLE_COLOR_GREY
+DOODLE_COLOR_WHITE
+PALETTE_NUM_OF_COLORS
+DOODLE_BRUSH_SMALL
+DOODLE_BRUSH_MEDIUM
+DOODLE_BRUSH_LARGE
+DOODLE_MAX_BRUSH_MOTIONS
+yahoo_doodle_purple_cmd_start
+yahoo_doodle_process
+yahoo_doodle_initiate
+yahoo_doodle_command_got_shutdown
+yahoo_doodle_command_send_request
+yahoo_doodle_command_send_ready
+yahoo_doodle_command_send_draw
+yahoo_doodle_command_send_clear
+yahoo_doodle_command_send_extra
+yahoo_doodle_command_send_confirm
+yahoo_doodle_command_send_shutdown
+yahoo_doodle_start
+yahoo_doodle_end
+yahoo_doodle_get_dimensions
+yahoo_doodle_send_draw_list
+yahoo_doodle_clear
+yahoo_doodle_draw_stroke
+yahoo_doodle_get_brush
+yahoo_doodle_set_brush
+</SECTION>
+
+<SECTION>
+<FILE>yahoo_friend</FILE>
+YahooPresenceVisibility
+YahooP2PStatus
+YahooFriend
+yahoo_friend_find
+yahoo_friend_find_or_new
+yahoo_friend_set_ip
+yahoo_friend_get_ip
+yahoo_friend_set_game
+yahoo_friend_get_game
+yahoo_friend_set_status_message
+yahoo_friend_get_status_message
+yahoo_friend_set_alias_id
+yahoo_friend_get_alias_id
+yahoo_friend_set_buddy_icon_need_request
+yahoo_friend_get_buddy_icon_need_request
+yahoo_friend_free
+yahoo_process_presence
+yahoo_friend_update_presence
+yahoo_friend_set_p2p_status
+yahoo_friend_get_p2p_status
+</SECTION>
+
+<SECTION>
+<FILE>yahoo_aliases</FILE>
+yahoo_update_alias
+yahoo_fetch_aliases
+yahoo_set_userinfo
+yahoo_set_userinfo_for_buddy
+yahoo_personal_details_reset
+yahoo_process_contact_details
+</SECTION>
+
+<SECTION>
+<FILE>ycht</FILE>
+YAHOO_YCHT_HOST
+YAHOO_YCHT_PORT
+YCHT_VERSION
+YCHT_HEADER_LEN
+ycht_service
+YCHT_SEP
+YchtConn
+YchtPkt
+ycht_connection_open
+ycht_connection_close
+ycht_chat_join
+ycht_chat_send
+ycht_chat_leave
+ycht_chat_send_invite
+ycht_chat_goto_user
+ycht_chat_send_keepalive
+</SECTION>
+
+<SECTION>
+<FILE>yahoochat</FILE>
+yahoo_process_conference_invite
+yahoo_process_conference_decline
+yahoo_process_conference_logon
+yahoo_process_conference_logoff
+yahoo_process_conference_message
+yahoo_process_chat_online
+yahoo_process_chat_logout
+yahoo_process_chat_join
+yahoo_process_chat_exit
+yahoo_process_chat_message
+yahoo_process_chat_addinvite
+yahoo_process_chat_goto
+yahoo_c_leave
+yahoo_c_send
+yahoo_c_info
+yahoo_c_info_defaults
+yahoo_c_join
+yahoo_get_chat_name
+yahoo_c_invite
+yahoo_conf_leave
+yahoo_chat_goto
+yahoo_roomlist_get_list
+yahoo_roomlist_cancel
+yahoo_roomlist_expand_category
+yahoo_chat_add_users
+yahoo_chat_add_user
+</SECTION>
+
+<SECTION>
+<FILE>yahoo_filexfer</FILE>
+yahoo_process_p2pfilexfer
+yahoo_process_filetransfer
+yahoo_new_xfer
+yahoo_can_receive_file
+yahoo_send_file
+yahoo_process_filetrans_15
+yahoo_process_filetrans_info_15
+yahoo_process_filetrans_acc_15
+</SECTION>
+
+<SECTION>
+<FILE>yahoo_picture</FILE>
+yahoo_send_picture_request
+yahoo_send_picture_info
+yahoo_send_picture_checksum
+yahoo_send_picture_update
+yahoo_send_picture_update_to_user
+yahoo_process_picture
+yahoo_process_picture_checksum
+yahoo_process_picture_upload
+yahoo_process_avatar_update
+yahoo_set_buddy_icon
+yahoo_buddy_icon_upload
+yahoo_buddy_icon_upload_data_free
+</SECTION>
+
+<SECTION>
+<FILE>yahoo_packet</FILE>
+YAHOO_WEBMESSENGER_PROTO_VER
+YAHOO_PROTO_VER
+YAHOO_PROTO_VER_JAPAN
+YAHOO_PACKET_HDRLEN
+yahoo_packet_new
+yahoo_packet_hash
+yahoo_packet_hash_str
+yahoo_packet_hash_int
+yahoo_packet_send
+yahoo_packet_send_and_free
+yahoo_packet_build
+yahoo_packet_read
+yahoo_packet_write
+yahoo_packet_dump
+yahoo_packet_length
+yahoo_packet_free
+</SECTION>
+
+<SECTION>
+<FILE>bonjour</FILE>
+BONJOUR_GROUP_NAME
+BONJOUR_PROTOCOL_NAME
+BONJOUR_ICON_NAME
+BONJOUR_STATUS_ID_OFFLINE
+BONJOUR_STATUS_ID_AVAILABLE
+BONJOUR_STATUS_ID_AWAY
+BONJOUR_DEFAULT_PORT
+bonjour_get_jid
+</SECTION>
+
+<SECTION>
+<FILE>dns_sd_proxy</FILE>
+dns_sd_available
+DNSServiceAddRecord
+DNSServiceBrowse
+DNSServiceConstructFullName
+DNSServiceGetAddrInfo
+DNSServiceProcessResult
+DNSServiceQueryRecord
+DNSServiceRefDeallocate
+DNSServiceRefSockFD
+DNSServiceRegister
+DNSServiceResolve
+DNSServiceRemoveRecord
+DNSServiceUpdateRecord
+TXTRecordCreate
+TXTRecordDeallocate
+TXTRecordGetBytesPtr
+TXTRecordGetLength
+TXTRecordGetValuePtr
+TXTRecordSetValue
+</SECTION>
+
+<SECTION>
+<FILE>mdns_common</FILE>
+bonjour_dns_sd_new
+bonjour_dns_sd_free
+bonjour_dns_sd_send_status
+bonjour_dns_sd_retrieve_buddy_icon
+bonjour_dns_sd_update_buddy_icon
+bonjour_dns_sd_start
+bonjour_dns_sd_stop
+bonjour_dns_sd_set_jid
+</SECTION>
+
+<SECTION>
+<FILE>bonjour_ft</FILE>
+XepXfer
+XepSiMode
+bonjour_new_xfer
+bonjour_send_file
+xep_si_parse
+xep_bytestreams_parse
+</SECTION>
+
+<SECTION>
+<FILE>parser</FILE>
+bonjour_parser_setup
+bonjour_parser_process
+</SECTION>
+
+<SECTION>
+<FILE>jabber</FILE>
+bonjour_jabber_start
+bonjour_jabber_send_message
+bonjour_jabber_close_conversation
+async_bonjour_jabber_close_conversation
+bonjour_jabber_stream_started
+bonjour_jabber_process_packet
+bonjour_jabber_stop
+bonjour_jabber_conv_match_by_ip
+bonjour_jabber_conv_match_by_name
+XepIqType
+XepIq
+xep_iq_new
+xep_iq_send_and_free
+bonjour_jabber_get_local_ips
+</SECTION>
+
+<SECTION>
+<FILE>buddy</FILE>
+bonjour_buddy_new
+clear_bonjour_buddy_values
+set_bonjour_buddy_value
+bonjour_buddy_check
+bonjour_buddy_add_to_purple
+bonjour_buddy_signed_off
+bonjour_buddy_got_buddy_icon
+bonjour_buddy_delete
+</SECTION>
+
+<SECTION>
+<FILE>mdns_types</FILE>
+LINK_LOCAL_RECORD_NAME
+BonjourDnsSd
+PublishType
+</SECTION>
+
+<SECTION>
+<FILE>object</FILE>
+MsnObjectType
+msn_object_new
+msn_object_new_from_string
+msn_object_new_from_image
+msn_object_destroy
+msn_object_to_string
+msn_object_set_creator
+msn_object_set_size
+msn_object_set_type
+msn_object_set_location
+msn_object_set_friendly
+msn_object_set_sha1d
+msn_object_set_sha1c
+msn_object_set_image
+msn_object_set_url
+msn_object_set_url1
+msn_object_get_creator
+msn_object_get_size
+msn_object_get_type
+msn_object_get_location
+msn_object_get_friendly
+msn_object_get_sha1d
+msn_object_get_sha1c
+msn_object_get_sha1
+msn_object_get_image
+msn_object_get_url
+msn_object_get_url1
+msn_object_find_local
+msn_object_set_local
+</SECTION>
+
+<SECTION>
+<FILE>page</FILE>
+MsnPage
+msn_page_new
+msn_page_destroy
+msn_page_gen_payload
+msn_page_set_body
+msn_page_get_body
+</SECTION>
+
+<SECTION>
+<FILE>session</FILE>
+MsnSession
+MsnErrorType
+MsnLoginStep
+MSN_LOGIN_STEPS
+MSN_LOGIN_FQY_TIMEOUT
+msn_session_new
+msn_session_destroy
+msn_session_connect
+msn_session_disconnect
+msn_session_find_swboard
+msn_session_find_swboard_with_conv
+msn_session_find_swboard_with_id
+msn_session_get_swboard
+msn_session_set_error
+msn_session_activate_login_timeout
+msn_session_set_login_step
+msn_session_finish_login
+msn_session_report_user
+</SECTION>
+
+<SECTION>
+<FILE>slplink</FILE>
+MsnSlpLink
+MsnSlpCb
+MsnSlpEndCb
+msn_slplink_ref
+msn_slplink_unref
+msn_session_find_slplink
+msn_session_get_slplink
+msn_slplink_add_slpcall
+msn_slplink_remove_slpcall
+msn_slplink_find_slp_call
+msn_slplink_find_slp_call_with_session_id
+msn_slplink_queue_slpmsg
+msn_slplink_send_slpmsg
+msn_slplink_send_queued_slpmsgs
+msn_slplink_process_msg
+msn_slplink_send_msgpart
+msn_slplink_request_object
+msn_slp_process_msg
+</SECTION>
+
+<SECTION>
+<FILE>directconn</FILE>
+MsnDirectConn
+MSN_DCCONN_MAX_SIZE
+MsnDirectConnState
+MsnDirectConnProcessResult
+MsnDirectConnNonceType
+MsnDirectConnPacket
+DC_OUTGOING_TIMEOUT
+DC_INCOMING_TIMEOUT
+DC_TIMEOUT
+msn_dc_enqueue_part
+msn_dc_new
+msn_dc_destroy
+msn_dc_fallback_to_sb
+msn_dc_ref
+msn_dc_unref
+msn_dc_send_invite
+msn_dc_send_ok
+msn_dc_connected_to_peer_cb
+msn_dc_outgoing_connection_timeout_cb
+msn_dc_listen_socket_created_cb
+</SECTION>
+
+<SECTION>
+<FILE>group</FILE>
+MsnGroup
+MSN_INDIVIDUALS_GROUP_ID
+MSN_INDIVIDUALS_GROUP_NAME
+MSN_NON_IM_GROUP_ID
+MSN_NON_IM_GROUP_NAME
+msn_group_new
+msn_group_destroy
+msn_group_set_id
+msn_group_set_name
+msn_group_get_id
+msn_group_get_name
+</SECTION>
+
+<SECTION>
+<FILE>error</FILE>
+msn_error_get_text
+msn_error_handle
+msn_error_sync_issue
+</SECTION>
+
+<SECTION>
+<FILE>tlv</FILE>
+msn_tlv_getvalue_as_string
+msn_tlv_gettlv
+msn_tlv_getlength
+msn_tlv_getstr
+msn_tlv_get8
+msn_tlv_get16
+msn_tlv_get32
+msn_tlvlist_read
+msn_tlvlist_copy
+msn_tlvlist_count
+msn_tlvlist_size
+msn_tlvlist_equal
+msn_tlvlist_write
+msn_tlvlist_free
+msn_tlvlist_add_raw
+msn_tlvlist_add_empty
+msn_tlvlist_add_8
+msn_tlvlist_add_16
+msn_tlvlist_add_32
+msn_tlvlist_add_str
+msn_tlvlist_replace_raw
+msn_tlvlist_replace_str
+msn_tlvlist_replace_empty
+msn_tlvlist_replace_8
+msn_tlvlist_replace_16
+msn_tlvlist_replace_32
+msn_tlvlist_remove
+</SECTION>
+
+<SECTION>
+<FILE>httpconn</FILE>
+MsnHttpConn
+msn_httpconn_new
+msn_httpconn_destroy
+msn_httpconn_write
+msn_httpconn_connect
+msn_httpconn_disconnect
+</SECTION>
+
+<SECTION>
+<FILE>userlist</FILE>
+MsnUserList
+MsnListId
+MsnListOp
+MSN_LIST_OP_MASK
+msn_got_lst_user
+msn_userlist_new
+msn_userlist_destroy
+msn_userlist_add_user
+msn_userlist_remove_user
+msn_userlist_find_user
+msn_userlist_find_add_user
+msn_userlist_find_user_with_id
+msn_userlist_find_user_with_mobile_phone
+msn_userlist_add_group
+msn_userlist_remove_group
+msn_userlist_find_group_with_id
+msn_userlist_find_group_with_name
+msn_userlist_find_group_id
+msn_userlist_find_group_name
+msn_userlist_rename_group_id
+msn_userlist_remove_group_id
+msn_userlist_rem_buddy
+msn_userlist_add_buddy
+msn_userlist_move_buddy
+msn_userlist_add_buddy_to_group
+msn_userlist_rem_buddy_from_group
+msn_userlist_add_buddy_to_list
+msn_userlist_rem_buddy_from_list
+msn_release_buddy_icon_request
+msn_userlist_load
+</SECTION>
+
+<SECTION>
+<FILE>msn</FILE>
+MsnClientCaps
+MsnClientExtCaps
+MsnClientVerId
+MSN_BUF_LEN
+MSN_SERVER
+MSN_HTTPCONN_SERVER
+MSN_PORT
+WLM_PROT_VER
+WLM_MAX_PROTOCOL
+WLM_MIN_PROTOCOL
+MSN_TYPING_RECV_TIMEOUT
+MSN_TYPING_SEND_TIMEOUT
+PROFILE_URL
+PHOTO_URL
+BUDDY_ALIAS_MAXLEN
+MSN_CAM_GUID
+MSN_CAM_REQUEST_GUID
+MSN_FT_GUID
+MSN_OBJ_GUID
+MSN_CLIENTINFO
+MSN_NUDGE
+MSN_CLIENT_ID_VERSION
+MSN_CLIENT_ID_CAPABILITIES
+MSN_CLIENT_ID_EXT_CAPS
+MSN_CLIENT_ID
+msn_set_public_alias
+msn_send_privacy
+msn_send_im_message
+</SECTION>
+
+<SECTION>
+<FILE>slpmsg</FILE>
+MsnSlpMessage
+msn_slpmsg_new
+msn_slpmsg_destroy
+msn_slpmsg_set_slplink
+msn_slpmsg_set_body
+msn_slpmsg_set_image
+msn_slpmsg_sip_new
+msn_slpmsg_ack_new
+msn_slpmsg_obj_new
+msn_slpmsg_dataprep_new
+msn_slpmsg_file_new
+msn_slpmsg_serialize
+msn_slpmsg_show_readable
+</SECTION>
+
+<SECTION>
+<FILE>state</FILE>
+MsnAwayType
+msn_change_status
+msn_away_get_text
+msn_state_get_text
+msn_get_currentmedia
+msn_get_psm
+msn_state_from_account
+</SECTION>
+
+<SECTION>
+<FILE>command</FILE>
+MsnCommand
+MsnPayloadCb
+msn_command_from_string
+msn_command_ref
+msn_command_unref
+</SECTION>
+
+<SECTION>
+<FILE>servconn</FILE>
+MsnServConn
+MsnServConnError
+MsnServConnType
+msn_servconn_new
+msn_servconn_destroy
+msn_servconn_connect
+msn_servconn_disconnect
+msn_servconn_set_connect_cb
+msn_servconn_set_disconnect_cb
+msn_servconn_set_destroy_cb
+msn_servconn_write
+msn_servconn_got_error
+msn_servconn_process_data
+msn_servconn_set_idle_timeout
+</SECTION>
+
+<SECTION>
+<FILE>slpcall</FILE>
+MsnSlpCall
+MsnSlpCallType
+MSN_SLPCALL_TIMEOUT
+msn_slpcall_new
+msn_slpcall_init
+msn_slpcall_session_init
+msn_slpcall_destroy
+msn_slpcall_invite
+msn_slpcall_close
+</SECTION>
+
+<SECTION>
+<FILE>p2p</FILE>
+MsnP2PHeader
+P2P_PACKET_HEADER_SIZE
+MsnP2Pv2Header
+P2P_PACKET_FOOTER_SIZE
+MsnP2PVersion
+MsnP2PInfo
+MsnP2PHeaderFlag
+MsnP2PAppId
+MsnP2Pv2OpCode
+msn_p2p_info_new
+msn_p2p_info_dup
+msn_p2p_info_free
+msn_p2p_header_from_wire
+msn_p2p_header_to_wire
+msn_p2p_footer_from_wire
+msn_p2p_footer_to_wire
+msn_p2p_info_to_string
+msn_p2p_msg_is_data
+msn_p2p_info_is_valid
+msn_p2p_info_is_final
+msn_p2p_info_get_session_id
+msn_p2p_info_get_id
+msn_p2p_info_get_offset
+msn_p2p_info_get_total_size
+msn_p2p_info_get_length
+msn_p2p_info_get_flags
+msn_p2p_info_get_ack_id
+msn_p2p_info_get_ack_sub_id
+msn_p2p_info_get_ack_size
+msn_p2p_info_get_app_id
+msn_p2p_info_set_session_id
+msn_p2p_info_set_id
+msn_p2p_info_set_offset
+msn_p2p_info_set_total_size
+msn_p2p_info_set_length
+msn_p2p_info_set_flags
+msn_p2p_info_set_ack_id
+msn_p2p_info_set_ack_sub_id
+msn_p2p_info_set_ack_size
+msn_p2p_info_set_app_id
+</SECTION>
+
+<SECTION>
+<FILE>contact</FILE>
+MsnCallbackState
+MsnCallbackAction
+MsnContactUpdateType
+MsnSoapPartnerScenario
+MSN_APPLICATION_ID
+MSN_CONTACT_SERVER
+MSN_GET_CONTACT_POST_URL
+MSN_GET_CONTACT_SOAP_ACTION
+MSN_GET_CONTACT_UPDATE_XML
+MSN_GET_CONTACT_TEMPLATE
+MSN_ADDRESS_BOOK_POST_URL
+MSN_ADD_ADDRESSBOOK_SOAP_ACTION
+MSN_ADD_ADDRESSBOOK_TEMPLATE
+MSN_GET_ADDRESS_SOAP_ACTION
+MSN_GET_ADDRESS_FULL_TIME
+MSN_GET_ADDRESS_UPDATE_XML
+MSN_GET_GLEAM_UPDATE_XML
+MSN_GET_ADDRESS_TEMPLATE
+MSN_GET_GLEAMS_SOAP_ACTION
+MSN_GLEAMS_TEMPLATE
+MSN_CONTACT_ADD_SOAP_ACTION
+MSN_CONTACT_LIVE_PENDING_XML
+MSN_CONTACT_XML
+MSN_CONTACT_DISPLAYNAME_XML
+MSN_CONTACT_ID_XML
+MSN_CONTACT_EMAIL_XML
+MSN_CONTACT_INVITE_MESSAGE_XML
+MSN_ADD_CONTACT_TEMPLATE
+MSN_ADD_CONTACT_GROUP_SOAP_ACTION
+MSN_ADD_CONTACT_GROUP_TEMPLATE
+MSN_CONTACT_DEL_SOAP_ACTION
+MSN_DEL_CONTACT_TEMPLATE
+MSN_CONTACT_DEL_GROUP_SOAP_ACTION
+MSN_CONTACT_DEL_GROUP_TEMPLATE
+MSN_CONTACT_UPDATE_SOAP_ACTION
+MSN_CONTACT_UPDATE_TEMPLATE
+MSN_CONTACT_ANNOTATE_SOAP_ACTION
+MSN_CONTACT_ANNOTATE_TEMPLATE
+MSN_SHARE_POST_URL
+MSN_ADD_MEMBER_TO_LIST_SOAP_ACTION
+MSN_DELETE_MEMBER_FROM_LIST_SOAP_ACTION
+MSN_MEMBER_PASSPORT_XML
+MSN_MEMBER_MEMBERSHIPID_XML
+MSN_CONTACT_DELETE_FROM_LIST_TEMPLATE
+MSN_CONTACT_ADD_TO_LIST_TEMPLATE
+MSN_GROUP_ADD_SOAP_ACTION
+MSN_GROUP_ADD_TEMPLATE
+MSN_GROUP_DEL_SOAP_ACTION
+MSN_GROUP_DEL_TEMPLATE
+MSN_GROUP_RENAME_SOAP_ACTION
+MSN_GROUP_RENAME_TEMPLATE
+msn_callback_state_new
+msn_callback_state_dup
+msn_callback_state_free
+msn_callback_state_set_who
+msn_callback_state_set_uid
+msn_callback_state_set_old_group_name
+msn_callback_state_set_new_group_name
+msn_callback_state_set_guid
+msn_callback_state_set_list_id
+msn_callback_state_set_action
+msn_get_contact_list
+msn_get_address_book
+msn_update_contact
+msn_annotate_contact
+msn_add_contact
+msn_delete_contact
+msn_add_contact_to_group
+msn_del_contact_from_group
+msn_add_group
+msn_del_group
+msn_contact_rename_group
+msn_add_contact_to_list
+msn_del_contact_from_list
+</SECTION>
+
+<SECTION>
+<FILE>msnutils</FILE>
+msn_encode_mime
+rand_guid
+msn_encode_spaces
+msn_parse_format
+msn_import_html
+msn_parse_socket
+msn_email_is_valid
+msn_handle_chl
+msn_read8
+msn_read16le
+msn_read16be
+msn_read32le
+msn_read32be
+msn_read64le
+msn_read64be
+msn_write8
+msn_write16le
+msn_write16be
+msn_write32le
+msn_write32be
+msn_write64le
+msn_write64be
+msn_pop8
+msn_pop16le
+msn_pop16be
+msn_pop32le
+msn_pop32be
+msn_pop64le
+msn_pop64be
+msn_push8
+msn_push16le
+msn_push16be
+msn_push32le
+msn_push32be
+msn_push64le
+msn_push64be
+</SECTION>
+
+<SECTION>
+<FILE>slpmsg_part</FILE>
+MsnSlpMessagePart
+MsnSlpPartCb
+msn_slpmsgpart_new
+msn_slpmsgpart_new_from_data
+msn_slpmsgpart_ref
+msn_slpmsgpart_unref
+msn_slpmsgpart_set_bin_data
+msn_slpmsgpart_serialize
+msn_slpmsgpart_ack
+msn_slpmsgpart_nak
+msn_slpmsgpart_to_string
+</SECTION>
+
+<SECTION>
+<FILE>msg</FILE>
+MsnMessage
+MsnMsgType
+MsnMsgErrorType
+MsnMsgCb
+MSG_BODY_DEM
+MSG_LINE_DEM
+MSG_OIM_BODY_DEM
+MSG_OIM_LINE_DEM
+msn_message_new
+msn_message_new_msnslp
+msn_message_new_nudge
+msn_message_new_plain
+msn_message_new_msnslp_ack
+msn_message_new_from_cmd
+msn_message_parse_payload
+msn_message_ref
+msn_message_unref
+msn_message_gen_payload
+msn_message_set_flag
+msn_message_get_flag
+msn_message_set_bin_data
+msn_message_get_bin_data
+msn_message_set_content_type
+msn_message_get_content_type
+msn_message_set_charset
+msn_message_get_charset
+msn_message_set_header
+msn_message_get_header_value
+msn_message_get_hashtable_from_body
+msn_message_show_readable
+msn_message_to_string
+msn_plain_msg
+msn_control_msg
+msn_p2p_msg
+msn_emoticon_msg
+msn_datacast_msg
+msn_invite_msg
+msn_handwritten_msg
+</SECTION>
+
+<SECTION>
+<FILE>cmdproc</FILE>
+MsnCmdProc
+msn_cmdproc_new
+msn_cmdproc_destroy
+msn_cmdproc_process_queue
+msn_cmdproc_send_trans
+msn_cmdproc_queue_trans
+msn_cmdproc_process_msg
+msn_cmdproc_process_cmd
+msn_cmdproc_process_cmd_text
+msn_cmdproc_process_payload
+</SECTION>
+
+<SECTION>
+<FILE>transaction</FILE>
+MsnTransaction
+MsnTransCb
+MsnTimeoutCb
+MsnErrorCb
+msn_transaction_new
+msn_transaction_destroy
+msn_transaction_to_string
+msn_transaction_queue_cmd
+msn_transaction_unqueue_cmd
+msn_transaction_set_payload
+msn_transaction_set_data
+msn_transaction_set_data_free
+msn_transaction_set_saveable
+msn_transaction_add_cb
+msn_transaction_set_error_cb
+msn_transaction_set_timeout_cb
+</SECTION>
+
+<SECTION>
+<FILE>switchboard</FILE>
+MsnSwitchBoard
+MsnSBErrorType
+MsnSBFlag
+msn_switchboard_init
+msn_switchboard_end
+msn_switchboard_new
+msn_switchboard_destroy
+msn_switchboard_set_auth_key
+msn_switchboard_get_auth_key
+msn_switchboard_set_session_id
+msn_switchboard_get_session_id
+msn_switchboard_get_chat_id
+msn_switchboard_set_invited
+msn_switchboard_is_invited
+msn_switchboard_connect
+msn_switchboard_disconnect
+msn_switchboard_close
+msn_switchboard_release
+msn_switchboard_can_send
+msn_switchboard_send_msg
+msg_error_helper
+msn_switchboard_chat_leave
+msn_switchboard_chat_invite
+msn_switchboard_request
+msn_switchboard_request_add_user
+msn_switchboard_show_ink
+</SECTION>
+
+<SECTION>
+<FILE>oim</FILE>
+MsnOim
+MSN_OIM_RETRIEVE_HOST
+MSN_OIM_RETRIEVE_URL
+MSN_OIM_GET_METADATA_ACTION
+MSN_OIM_GET_METADATA_TEMPLATE
+MSN_OIM_GET_SOAP_ACTION
+MSN_OIM_GET_TEMPLATE
+MSN_OIM_DEL_SOAP_ACTION
+MSN_OIM_DEL_TEMPLATE
+MSN_OIM_MSG_TEMPLATE
+MSN_OIM_SEND_HOST
+MSN_OIM_SEND_URL
+MSN_OIM_SEND_SOAP_ACTION
+MSN_OIM_SEND_TEMPLATE
+msn_oim_new
+msn_oim_destroy
+msn_parse_oim_msg
+msn_oim_prep_send_msg_info
+msn_oim_send_msg
+</SECTION>
+
+<SECTION>
+<FILE>history</FILE>
+MsnHistory
+MSN_NS_HIST_ELEMS
+MSN_SB_HIST_ELEMS
+msn_history_new
+msn_history_destroy
+msn_history_find
+msn_history_add
+</SECTION>
+
+<SECTION>
+<FILE>soap</FILE>
+MsnSoapMessage
+MsnSoapCallback
+msn_soap_message_new
+msn_soap_message_send
+</SECTION>
+
+<SECTION>
+<FILE>notification</FILE>
+MsnNotification
+MSNP18_WLM_PRODUCT_KEY
+MSNP18_WLM_PRODUCT_ID
+MSNP15_WLM_PRODUCT_KEY
+MSNP15_WLM_PRODUCT_ID
+MSNP13_WLM_PRODUCT_KEY
+MSNP13_WLM_PRODUCT_ID
+MSNP10_PRODUCT_KEY
+MSNP10_PRODUCT_ID
+MsnFqyCb
+MsnUnifiedNotificationType
+uum_send_msg
+msn_notification_end
+msn_notification_init
+msn_notification_add_buddy_to_list
+msn_notification_rem_buddy_from_list
+msn_notification_send_fqy
+msn_notification_new
+msn_notification_destroy
+msn_notification_connect
+msn_notification_disconnect
+msn_notification_dump_contact
+msn_notification_send_uux
+msn_notification_send_uux_endpointdata
+msn_notification_send_uux_private_endpointdata
+msn_notification_send_uun
+msn_notification_close
+msn_got_login_params
+</SECTION>
+
+<SECTION>
+<FILE>sbconn</FILE>
+MSN_SBCONN_MAX_SIZE
+msn_sbconn_send_part
+msn_switchboard_send_msg
+msn_sbconn_process_queue
+</SECTION>
+
+<SECTION>
+<FILE>table</FILE>
+MsnTable
+MsnMsgTypeCb
+msn_table_new
+msn_table_destroy
+msn_table_add_cmd
+msn_table_add_error
+msn_table_add_msg_type
+</SECTION>
+
+<SECTION>
+<FILE>nexus</FILE>
+MsnNexus
+MsnTicketToken
+MsnUsrKey
+MsnAuthDomains
+MSN_SSO_SERVER
+SSO_POST_URL
+MSN_SSO_RST_TEMPLATE
+MSN_SSO_TEMPLATE
+MSN_SSO_AUTHINFO_TEMPLATE
+MSN_SSO_AUTHINFO_SHA1_BASE64
+MSN_SSO_TIMESTAMP_TEMPLATE
+MSN_SSO_SIGNEDINFO_TEMPLATE
+MSN_SSO_TOKEN_UPDATE_TEMPLATE
+msn_nexus_connect
+msn_nexus_new
+msn_nexus_destroy
+msn_nexus_get_token
+msn_nexus_get_token_str
+msn_nexus_update_token
+</SECTION>
+
+<SECTION>
+<FILE>slp</FILE>
+msn_slp_send_ok
+msn_slp_send_decline
+send_bye
+msn_request_user_display
+msn_request_ft
+</SECTION>
+
+<SECTION>
+<FILE>user</FILE>
+MsnUser
+MsnNetwork
+CurrentMediaType
+MsnUserEndpoint
+msn_user_new
+msn_user_ref
+msn_user_unref
+msn_user_update
+msn_user_set_statusline
+msn_user_set_state
+msn_user_set_passport
+msn_user_set_friendly_name
+msn_user_set_buddy_icon
+msn_user_set_group_ids
+msn_user_add_group_id
+msn_user_remove_group_id
+msn_user_set_pending_group
+msn_user_remove_pending_group
+msn_user_set_home_phone
+msn_user_set_work_phone
+msn_user_set_uid
+msn_user_set_endpoint_data
+msn_user_clear_endpoints
+msn_user_set_clientid
+msn_user_set_extcaps
+msn_user_set_network
+msn_user_set_mobile_phone
+msn_user_set_object
+msn_user_set_client_caps
+msn_user_set_invite_message
+msn_user_get_passport
+msn_user_get_friendly_name
+msn_user_get_home_phone
+msn_user_get_work_phone
+msn_user_get_mobile_phone
+msn_user_get_endpoint_data
+msn_user_get_clientid
+msn_user_get_extcaps
+msn_user_is_in_group
+msn_user_is_in_list
+msn_user_get_network
+msn_user_get_object
+msn_user_get_client_caps
+msn_user_get_invite_message
+msn_user_is_online
+msn_user_is_yahoo
+msn_user_set_op
+msn_user_unset_op
+msn_user_passport_cmp
+msn_user_is_capable
+</SECTION>
+
+<SECTION>
+<FILE>xfer</FILE>
+MAX_FILE_NAME_LEN
+MSN_FILE_CONTEXT_SIZE
+msn_xfer_init
+msn_xfer_cancel
+msn_xfer_write
+msn_xfer_read
+msn_xfer_completed_cb
+msn_xfer_end_cb
+msn_file_context_to_wire
+msn_file_context_from_wire
+</SECTION>
+
+<SECTION>
+<FILE>nmuserrecord</FILE>
+NMUserRecord
+NMProperty
+nm_create_user_record
+nm_create_user_record_from_fields
+nm_user_record_add_ref
+nm_release_user_record
+nm_user_record_set_status
+nm_user_record_get_status
+nm_user_record_get_status_text
+nm_user_record_set_dn
+nm_user_record_get_dn
+nm_user_record_set_userid
+nm_user_record_get_userid
+nm_user_record_set_display_id
+nm_user_record_get_display_id
+nm_user_record_get_auth_attr
+nm_user_record_get_full_name
+nm_user_record_get_first_name
+nm_user_record_get_last_name
+nm_user_record_set_data
+nm_user_record_get_data
+nm_user_record_get_property_count
+nm_user_record_get_property
+nm_release_property
+nm_property_get_tag
+nm_property_get_value
+nm_user_record_copy
+</SECTION>
+
+<SECTION>
+<FILE>nmuser</FILE>
+NMERR_T
+NMSTATUS_T
+NMUser
+NMRequestType
+nm_response_cb
+nm_event_cb
+NM_STATUS_UNKNOWN
+NM_STATUS_OFFLINE
+NM_STATUS_AVAILABLE
+NM_STATUS_BUSY
+NM_STATUS_AWAY
+NM_STATUS_AWAY_IDLE
+NM_STATUS_INVALID
+NMERR_BASE
+NM_OK
+NMERR_BAD_PARM
+NMERR_TCP_WRITE
+NMERR_TCP_READ
+NMERR_PROTOCOL
+NMERR_SERVER_REDIRECT
+NMERR_CONFERENCE_NOT_FOUND
+NMERR_CONFERENCE_NOT_INSTANTIATED
+NMERR_FOLDER_EXISTS
+NMERR_SERVER_BASE
+NMERR_ACCESS_DENIED
+NMERR_NOT_SUPPORTED
+NMERR_PASSWORD_EXPIRED
+NMERR_PASSWORD_INVALID
+NMERR_USER_NOT_FOUND
+NMERR_USER_DISABLED
+NMERR_DIRECTORY_FAILURE
+NMERR_HOST_NOT_FOUND
+NMERR_ADMIN_LOCKED
+NMERR_DUPLICATE_PARTICIPANT
+NMERR_SERVER_BUSY
+NMERR_OBJECT_NOT_FOUND
+NMERR_DIRECTORY_UPDATE
+NMERR_DUPLICATE_FOLDER
+NMERR_DUPLICATE_CONTACT
+NMERR_USER_NOT_ALLOWED
+NMERR_TOO_MANY_CONTACTS
+NMERR_CONFERENCE_NOT_FOUND_2
+NMERR_TOO_MANY_FOLDERS
+NMERR_SERVER_PROTOCOL
+NMERR_CONVERSATION_INVITE
+NMERR_USER_BLOCKED
+NMERR_MASTER_ARCHIVE_MISSING
+NMERR_PASSWORD_EXPIRED_2
+NMERR_CREDENTIALS_MISSING
+NMERR_AUTHENTICATION_FAILED
+NMERR_EVAL_CONNECTION_LIMIT
+nm_initialize_user
+nm_deinitialize_user
+nm_send_login
+nm_send_set_status
+nm_send_create_conference
+nm_send_leave_conference
+nm_send_join_conference
+nm_send_reject_conference
+nm_send_conference_invite
+nm_send_multiple_get_details
+nm_send_get_details
+nm_send_message
+nm_send_typing
+nm_send_create_contact
+nm_send_remove_contact
+nm_send_create_folder
+nm_send_remove_folder
+nm_send_rename_contact
+nm_send_rename_folder
+nm_send_move_contact
+nm_send_get_status
+nm_send_create_privacy_item
+nm_send_remove_privacy_item
+nm_send_set_privacy_default
+nm_send_keepalive
+nm_process_new_data
+nm_get_root_folder
+nm_create_contact_list
+nm_destroy_contact_list
+nm_user_add_contact
+nm_user_add_user_record
+nm_find_contact
+nm_find_contacts
+nm_find_user_record
+nm_find_folder
+nm_find_folder_by_id
+nm_find_conversation
+nm_conference_list_add
+nm_conference_list_remove
+nm_conference_list_free
+nm_conference_list_find
+nm_lookup_dn
+nm_user_get_event_callback
+nm_user_get_conn
+nm_user_is_privacy_locked
+nm_are_guids_equal
+nm_utf8_str_equal
+nm_typed_to_dotted
+nm_error_to_string
+</SECTION>
+
+<SECTION>
+<FILE>nmmessage</FILE>
+NMMessage
+nm_create_message
+nm_message_add_ref
+nm_release_message
+nm_message_get_text
+nm_message_set_conference
+nm_message_get_conference
+</SECTION>
+
+<SECTION>
+<FILE>nmconference</FILE>
+NMConference
+BLANK_GUID
+CONF_GUID_END
+nm_create_conference
+nm_conference_add_ref
+nm_release_conference
+nm_conference_set_guid
+nm_conference_get_guid
+nm_conference_add_participant
+nm_conference_remove_participant
+nm_conference_get_participant_count
+nm_conference_get_participant
+nm_conference_is_instantiated
+nm_conference_set_flags
+nm_conference_set_data
+nm_conference_get_data
+</SECTION>
+
+<SECTION>
+<FILE>nmrtf</FILE>
+NMRtfContext
+nm_rtf_init
+nm_rtf_strip_formatting
+nm_rtf_deinit
+</SECTION>
+
+<SECTION>
+<FILE>nmconn</FILE>
+NMConn
+NMSSLConn
+nm_ssl_read_cb
+nm_ssl_write_cb
+nm_create_conn
+nm_release_conn
+nm_tcp_write
+nm_tcp_read
+nm_read_all
+nm_read_uint32
+nm_read_uint16
+nm_send_request
+nm_write_fields
+nm_read_header
+nm_read_fields
+nm_conn_add_request_item
+nm_conn_remove_request_item
+nm_conn_find_request
+nm_conn_get_addr
+nm_conn_get_port
+</SECTION>
+
+<SECTION>
+<FILE>nmfield</FILE>
+NMFIELD_TYPE_INVALID
+NMFIELD_TYPE_NUMBER
+NMFIELD_TYPE_BINARY
+NMFIELD_TYPE_BYTE
+NMFIELD_TYPE_UBYTE
+NMFIELD_TYPE_WORD
+NMFIELD_TYPE_UWORD
+NMFIELD_TYPE_DWORD
+NMFIELD_TYPE_UDWORD
+NMFIELD_TYPE_ARRAY
+NMFIELD_TYPE_UTF8
+NMFIELD_TYPE_BOOL
+NMFIELD_TYPE_MV
+NMFIELD_TYPE_DN
+NMFIELD_METHOD_VALID
+NMFIELD_METHOD_IGNORE
+NMFIELD_METHOD_DELETE
+NMFIELD_METHOD_DELETE_ALL
+NMFIELD_METHOD_EQUAL
+NMFIELD_METHOD_ADD
+NMFIELD_METHOD_UPDATE
+NMFIELD_METHOD_GTE
+NMFIELD_METHOD_LTE
+NMFIELD_METHOD_NE
+NMFIELD_METHOD_EXIST
+NMFIELD_METHOD_NOTEXIST
+NMFIELD_METHOD_SEARCH
+NMFIELD_METHOD_MATCHBEGIN
+NMFIELD_METHOD_MATCHEND
+NMFIELD_METHOD_NOT_ARRAY
+NMFIELD_METHOD_OR_ARRAY
+NMFIELD_METHOD_AND_ARRAY
+NM_A_IP_ADDRESS
+NM_A_PORT
+NM_A_FA_FOLDER
+NM_A_FA_CONTACT
+NM_A_FA_CONVERSATION
+NM_A_FA_MESSAGE
+NM_A_FA_CONTACT_LIST
+NM_A_FA_RESULTS
+NM_A_FA_INFO_DISPLAY_ARRAY
+NM_A_FA_USER_DETAILS
+NM_A_SZ_OBJECT_ID
+NM_A_SZ_PARENT_ID
+NM_A_SZ_SEQUENCE_NUMBER
+NM_A_SZ_TYPE
+NM_A_SZ_STATUS
+NM_A_SZ_STATUS_TEXT
+NM_A_SZ_DN
+NM_A_SZ_DISPLAY_NAME
+NM_A_SZ_USERID
+NM_A_SZ_CREDENTIALS
+NM_A_SZ_MESSAGE_BODY
+NM_A_SZ_MESSAGE_TEXT
+NM_A_UD_MESSAGE_TYPE
+NM_A_FA_PARTICIPANTS
+NM_A_FA_INVITES
+NM_A_FA_EVENT
+NM_A_UD_COUNT
+NM_A_UD_DATE
+NM_A_UD_EVENT
+NM_A_B_NO_CONTACTS
+NM_A_B_NO_CUSTOMS
+NM_A_B_NO_PRIVACY
+NM_A_UW_STATUS
+NM_A_UD_OBJECT_ID
+NM_A_SZ_TRANSACTION_ID
+NM_A_SZ_RESULT_CODE
+NM_A_UD_BUILD
+NM_A_SZ_AUTH_ATTRIBUTE
+NM_A_UD_KEEPALIVE
+NM_A_SZ_USER_AGENT
+NM_A_BLOCKING
+NM_A_BLOCKING_DENY_LIST
+NM_A_BLOCKING_ALLOW_LIST
+NM_A_SZ_BLOCKING_ALLOW_ITEM
+NM_A_SZ_BLOCKING_DENY_ITEM
+NM_A_LOCKED_ATTR_LIST
+NM_PROTOCOL_VERSION
+NM_FIELD_TRUE
+NM_FIELD_FALSE
+NMFIELD_MAX_STR_LENGTH
+nm_count_fields
+nm_field_add_pointer
+nm_field_add_number
+nm_free_fields
+nm_locate_field
+nm_copy_field_array
+nm_remove_field
+nm_print_fields
+</SECTION>
+
+<SECTION>
+<FILE>nmevent</FILE>
+NMEvent
+NMEVT_INVALID_RECIPIENT
+NMEVT_UNDELIVERABLE_STATUS
+NMEVT_STATUS_CHANGE
+NMEVT_CONTACT_ADD
+NMEVT_CONFERENCE_CLOSED
+NMEVT_CONFERENCE_JOINED
+NMEVT_CONFERENCE_LEFT
+NMEVT_RECEIVE_MESSAGE
+NMEVT_RECEIVE_FILE
+NMEVT_USER_TYPING
+NMEVT_USER_NOT_TYPING
+NMEVT_USER_DISCONNECT
+NMEVT_SERVER_DISCONNECT
+NMEVT_CONFERENCE_RENAME
+NMEVT_CONFERENCE_INVITE
+NMEVT_CONFERENCE_INVITE_NOTIFY
+NMEVT_CONFERENCE_REJECT
+NMEVT_RECEIVE_AUTOREPLY
+NMEVT_START
+NMEVT_STOP
+nm_process_event
+nm_create_event
+nm_release_event
+nm_event_set_conference
+nm_event_get_conference
+nm_event_set_user_record
+nm_event_get_user_record
+nm_event_set_text
+nm_event_get_text
+nm_event_get_source
+nm_event_get_type
+nm_event_get_gmt
+</SECTION>
+
+<SECTION>
+<FILE>nmcontact</FILE>
+NMContact
+NMContactProperty
+NMFolder
+nm_create_contact
+nm_create_contact_from_fields
+nm_contact_add_ref
+nm_contact_update_list_properties
+nm_release_contact
+nm_contact_get_display_name
+nm_contact_get_dn
+nm_contact_set_display_name
+nm_contact_set_dn
+nm_contact_to_fields
+nm_contact_set_user_record
+nm_contact_get_user_record
+nm_contact_get_data
+nm_contact_get_id
+nm_contact_get_parent_id
+nm_contact_get_userid
+nm_contact_get_display_id
+nm_contact_set_data
+nm_create_folder
+nm_create_folder_from_fields
+nm_folder_add_ref
+nm_release_folder
+nm_folder_get_subfolder_count
+nm_folder_get_subfolder
+nm_folder_get_contact_count
+nm_folder_get_contact
+nm_folder_get_name
+nm_folder_set_name
+nm_folder_get_id
+nm_folder_add_contacts_and_folders
+nm_folder_add_contact_to_list
+nm_folder_update_list_properties
+nm_folder_add_folder_to_list
+nm_folder_find_item_by_object_id
+nm_folder_remove_contact
+nm_folder_find_contact
+nm_folder_find_contact_by_userid
+nm_folder_find_contact_by_display_id
+nm_folder_to_fields
+</SECTION>
+
+<SECTION>
+<FILE>nmrequest</FILE>
+NMRequest
+nm_create_request
+nm_release_request
+nm_request_add_ref
+nm_request_set_callback
+nm_request_set_data
+nm_request_set_user_define
+nm_request_set_ret_code
+nm_request_get_trans_id
+nm_request_get_cmd
+nm_request_get_data
+nm_request_get_user_define
+nm_request_get_callback
+nm_request_get_ret_code
+</SECTION>
+
+<SECTION>
+<FILE>wb</FILE>
+silcpurple_wb_init
+silcpurple_wb_init_ch
+silcpurple_wb_receive
+silcpurple_wb_receive_ch
+silcpurple_wb_start
+silcpurple_wb_end
+silcpurple_wb_get_dimensions
+silcpurple_wb_set_dimensions
+silcpurple_wb_get_brush
+silcpurple_wb_set_brush
+silcpurple_wb_send
+silcpurple_wb_clear
+</SECTION>
+
+<SECTION>
+<FILE>silcpurple</FILE>
+SILC_VERSION
+SILCPURPLE_PUBLIC_KEY_NAME
+SILCPURPLE_PRIVATE_KEY_NAME
+SILCPURPLE_DEF_PKCS
+SILCPURPLE_DEF_PKCS_LEN
+SILCPURPLE_PRVGRP
+SILCPURPLE_STATUS_ID_OFFLINE
+SILCPURPLE_STATUS_ID_AVAILABLE
+SILCPURPLE_STATUS_ID_HYPER
+SILCPURPLE_STATUS_ID_AWAY
+SILCPURPLE_STATUS_ID_BUSY
+SILCPURPLE_STATUS_ID_INDISPOSED
+SILCPURPLE_STATUS_ID_PAGE
+getpwuid
+getuid
+geteuid
+</SECTION>
+
+<SECTION>
+<FILE>oscar</FILE>
+ByteStream
+ClientInfo
+FlapConnection
+FlapFrame
+IcbmArgsCh2
+IcbmCookie
+OscarData
+QueuedSnac
+aim_snacid_t
+FAIM_SNAC_HASH_SIZE
+MAXSNLEN
+MAXMSGLEN
+MAXICONLEN
+AIM_ICONIDENT
+MAXAVAILMSGLEN
+MAXICQPASSLEN
+AIM_MD5_STRING
+CLIENTINFO_PURPLE_AIM
+CLIENTINFO_PURPLE_ICQ
+OscarDisconnectReason
+OSCAR_CAPABILITY_BUDDYICON
+OSCAR_CAPABILITY_TALK
+OSCAR_CAPABILITY_DIRECTIM
+OSCAR_CAPABILITY_CHAT
+OSCAR_CAPABILITY_GETFILE
+OSCAR_CAPABILITY_SENDFILE
+OSCAR_CAPABILITY_GAMES
+OSCAR_CAPABILITY_ADDINS
+OSCAR_CAPABILITY_SENDBUDDYLIST
+OSCAR_CAPABILITY_GAMES2
+OSCAR_CAPABILITY_ICQ_DIRECT
+OSCAR_CAPABILITY_APINFO
+OSCAR_CAPABILITY_ICQRTF
+OSCAR_CAPABILITY_EMPTY
+OSCAR_CAPABILITY_ICQSERVERRELAY
+OSCAR_CAPABILITY_UNICODEOLD
+OSCAR_CAPABILITY_TRILLIANCRYPT
+OSCAR_CAPABILITY_UNICODE
+OSCAR_CAPABILITY_INTEROPERATE
+OSCAR_CAPABILITY_SHORTCAPS
+OSCAR_CAPABILITY_HIPTOP
+OSCAR_CAPABILITY_SECUREIM
+OSCAR_CAPABILITY_SMS
+OSCAR_CAPABILITY_VIDEO
+OSCAR_CAPABILITY_ICHATAV
+OSCAR_CAPABILITY_LIVEVIDEO
+OSCAR_CAPABILITY_CAMERA
+OSCAR_CAPABILITY_ICHAT_SCREENSHARE
+OSCAR_CAPABILITY_TYPING
+OSCAR_CAPABILITY_NEWCAPS
+OSCAR_CAPABILITY_XTRAZ
+OSCAR_CAPABILITY_GENERICUNKNOWN
+OSCAR_CAPABILITY_HTML_MSGS
+OSCAR_CAPABILITY_LAST
+OSCAR_STATUS_ID_INVISIBLE
+OSCAR_STATUS_ID_OFFLINE
+OSCAR_STATUS_ID_AVAILABLE
+OSCAR_STATUS_ID_AWAY
+OSCAR_STATUS_ID_DND
+OSCAR_STATUS_ID_NA
+OSCAR_STATUS_ID_OCCUPIED
+OSCAR_STATUS_ID_FREE4CHAT
+OSCAR_STATUS_ID_CUSTOM
+OSCAR_STATUS_ID_MOBILE
+OSCAR_STATUS_ID_EVIL
+OSCAR_STATUS_ID_DEPRESSION
+OSCAR_STATUS_ID_ATHOME
+OSCAR_STATUS_ID_ATWORK
+OSCAR_STATUS_ID_LUNCH
+AIM_ICQ_STATE_NORMAL
+AIM_ICQ_STATE_AWAY
+AIM_ICQ_STATE_DND
+AIM_ICQ_STATE_OUT
+AIM_ICQ_STATE_BUSY
+AIM_ICQ_STATE_CHAT
+AIM_ICQ_STATE_INVISIBLE
+AIM_ICQ_STATE_EVIL
+AIM_ICQ_STATE_DEPRESSION
+AIM_ICQ_STATE_ATHOME
+AIM_ICQ_STATE_ATWORK
+AIM_ICQ_STATE_LUNCH
+AIM_ICQ_STATE_WEBAWARE
+AIM_ICQ_STATE_HIDEIP
+AIM_ICQ_STATE_BIRTHDAY
+AIM_ICQ_STATE_ICQHOMEPAGE
+AIM_ICQ_STATE_DIRECTREQUIREAUTH
+oscar_connect_to_bos
+aim_request_login
+aim_send_login
+send_client_login
+flap_connection_new
+flap_connection_close
+flap_connection_destroy
+flap_connection_schedule_destroy
+flap_connection_findbygroup
+flap_connection_getbytype
+flap_connection_getbytype_all
+flap_connection_recv_cb
+flap_connection_recv_cb_ssl
+flap_connection_send
+flap_connection_send_version
+flap_connection_send_version_with_cookie
+flap_connection_send_version_with_cookie_and_clientinfo
+flap_connection_send_snac
+flap_connection_send_snac_with_priority
+flap_connection_send_keepalive
+flap_frame_new
+aim_rxcallback_t
+oscar_data_new
+oscar_data_destroy
+oscar_data_addhandler
+aim_callhandler
+aim_srv_set_dc_info
+aim_bos_reqrights
+AIM_RATE_CODE_LIMIT
+AIM_OFT_SUBTYPE_SEND_DIR
+AIM_TRANSFER_DENY_DECLINE
+AIM_IMPARAM_FLAG_CHANNEL_MSGS_ALLOWED
+AIM_IMPARAM_FLAG_MISSED_CALLS_ENABLED
+AIM_IMPARAM_FLAG_EVENTS_ALLOWED
+AIM_IMPARAM_FLAG_SMS_SUPPORTED
+AIM_IMPARAM_FLAG_OFFLINE_MSGS_ALLOWED
+AIM_IMPARAM_FLAG_USE_HTML_FOR_ICQ
+oscar_chat_destroy
+AIM_IMFLAGS_AWAY
+AIM_IMFLAGS_ACK
+AIM_IMFLAGS_BUDDYREQ
+AIM_IMFLAGS_HASICON
+AIM_IMFLAGS_SUBENC_MACINTOSH
+AIM_IMFLAGS_CUSTOMFEATURES
+AIM_IMFLAGS_OFFLINE
+AIM_IMFLAGS_TYPINGNOT
+AIM_CHARSET_ASCII
+AIM_CHARSET_UNICODE
+AIM_CHARSET_LATIN_1
+AIM_RENDEZVOUS_PROPOSE
+AIM_RENDEZVOUS_CANCEL
+AIM_RENDEZVOUS_CONNECTED
+aim_icbm_makecookie
+aim_im_send_icq_confirmation
+AIM_FLAG_ADMINISTRATOR
+AIM_FLAG_AOL
+AIM_FLAG_AWAY
+AIM_FLAG_WIRELESS
+AIM_FLAG_ICQ
+AIM_FLAG_ACTIVEBUDDY
+AIM_USERINFO_PRESENT_FLAGS
+AIM_USERINFO_PRESENT_MEMBERSINCE
+AIM_USERINFO_PRESENT_ONLINESINCE
+AIM_USERINFO_PRESENT_IDLE
+AIM_USERINFO_PRESENT_ICQEXTSTATUS
+AIM_USERINFO_PRESENT_ICQIPADDR
+AIM_USERINFO_PRESENT_ICQDATA
+AIM_USERINFO_PRESENT_CAPABILITIES
+AIM_USERINFO_PRESENT_SESSIONLEN
+AIM_USERINFO_PRESENT_CREATETIME
+AIM_SENDMEMBLOCK_FLAG_ISREQUEST
+AIM_SENDMEMBLOCK_FLAG_ISHASH
+aim_sendmemblock
+AIM_COOKIETYPE_CHAT
+AIM_COOKIETYPE_INVITE
+aim_locate_finduserinfo
+aim_locate_dorequest
+aim_locate_getcaps
+aim_locate_getcaps_short
+aim_info_free
+aim_info_extract
+aim_putuserinfo
+icq_get_purple_moods
+icq_get_custom_icon_description
+icq_get_custom_icon_data
+icq_im_xstatus_request
+aim_search_address
+AIM_CHATFLAGS_NOREFLECT
+AIM_CHATFLAGS_AWAY
+aim_chat_send_im
+aim_chat_join
+aim_chatnav_reqrights
+aim_chatnav_createroom
+aim_bart_upload
+aim_bart_request
+AIM_SSI_TYPE_BUDDY
+AIM_SSI_TYPE_GROUP
+AIM_SSI_TYPE_PERMIT
+AIM_SSI_TYPE_DENY
+AIM_SSI_TYPE_PDINFO
+AIM_SSI_TYPE_PRESENCEPREFS
+AIM_SSI_TYPE_ICQDENY
+AIM_SSI_TYPE_ICONINFO
+AIM_SSI_PRESENCE_FLAG_SHOWIDLE
+AIM_SSI_PRESENCE_FLAG_NORECENTBUDDIES
+aim_ssi_itemlist_find
+aim_ssi_itemlist_finditem
+aim_ssi_itemlist_exists
+aim_ssi_itemlist_findparentname
+aim_ssi_getpermdeny
+aim_ssi_getpresence
+aim_ssi_getalias
+aim_ssi_getalias_from_item
+aim_ssi_getcomment
+aim_ssi_waitingforauth
+aim_ssi_addbuddy
+aim_ssi_delbuddy
+aim_ssi_delgroup
+aim_ssi_movebuddy
+aim_ssi_aliasbuddy
+aim_ssi_editcomment
+aim_ssi_rename_group
+aim_ssi_cleanlist
+aim_ssi_deletelist
+aim_ssi_setpermdeny
+aim_ssi_setpresence
+aim_ssi_seticon
+aim_ssi_delicon
+aim_ssi_add_to_private_list
+aim_ssi_del_from_private_list
+aim_ssi_getdenyentrytype
+aim_icq_setsecurity
+aim_icq_changepasswd
+aim_icq_getalias
+aim_icq_getallinfo
+aim_icq_sendsms
+aim_sendcookie
+aim_admin_changepasswd
+aim_admin_reqconfirm
+aim_admin_getinfo
+aim_admin_setemail
+aim_admin_setnick
+aim_email_sendcookies
+aim_email_activate
+aim_tlv_getvalue_as_string
+aim_tlv_gettlv
+aim_tlv_getlength
+aim_tlv_getstr
+aim_tlv_get8
+aim_tlv_get16
+aim_tlv_get32
+aim_tlvlist_read
+aim_tlvlist_readnum
+aim_tlvlist_readlen
+aim_tlvlist_copy
+aim_tlvlist_count
+aim_tlvlist_size
+aim_tlvlist_cmp
+aim_tlvlist_write
+aim_tlvlist_free
+aim_tlvlist_add_raw
+aim_tlvlist_add_noval
+aim_tlvlist_add_8
+aim_tlvlist_add_16
+aim_tlvlist_add_32
+aim_tlvlist_add_str
+aim_tlvlist_add_caps
+aim_tlvlist_add_userinfo
+aim_tlvlist_add_chatroom
+aim_tlvlist_add_frozentlvlist
+aim_tlvlist_replace_raw
+aim_tlvlist_replace_str
+aim_tlvlist_replace_noval
+aim_tlvlist_replace_8
+aim_tlvlist_replace_16
+aim_tlvlist_replace_32
+aim_tlvlist_remove
+aimutil_put8
+aimutil_get8
+aimutil_put16
+aimutil_get16
+aimutil_put32
+aimutil_get32
+aimutil_putle8
+aimutil_getle8
+aimutil_putle16
+aimutil_getle16
+aimutil_putle32
+aimutil_getle32
+oscar_get_msgerr_reason
+oscar_get_ui_info_int
+oscar_get_ui_info_string
+oscar_get_clientstring
+aimutil_iconsum
+oscar_util_valid_name
+oscar_util_valid_name_icq
+oscar_util_valid_name_sms
+oscar_util_name_compare
+oscar_util_format_string
+oscar_format_buddies
+aim_modsnac_t
+AIM_MODULENAME_MAXLEN
+AIM_MODFLAG_MULTIFAMILY
+snachandler
+shutdown
+aim__registermodule
+aim__shutdownmodules
+aim__findmodulebygroup
+aim__findmodule
+admin_modfirst
+buddylist_modfirst
+bos_modfirst
+search_modfirst
+stats_modfirst
+auth_modfirst
+msg_modfirst
+misc_modfirst
+chatnav_modfirst
+chat_modfirst
+locate_modfirst
+service_modfirst
+popups_modfirst
+bart_modfirst
+ssi_modfirst
+icq_modfirst
+email_modfirst
+aim_genericreq_n
+aim_genericreq_n_snacid
+aim_genericreq_l
+byte_stream_new
+byte_stream_init
+byte_stream_destroy
+byte_stream_bytes_left
+byte_stream_curpos
+byte_stream_setpos
+byte_stream_rewind
+byte_stream_advance
+byte_stream_get8
+byte_stream_get16
+byte_stream_get32
+byte_stream_getle8
+byte_stream_getle16
+byte_stream_getle32
+byte_stream_getrawbuf
+byte_stream_getraw
+byte_stream_getstr
+byte_stream_put8
+byte_stream_put16
+byte_stream_put32
+byte_stream_putle8
+byte_stream_putle16
+byte_stream_putle32
+byte_stream_putraw
+byte_stream_putstr
+byte_stream_putbs
+byte_stream_putuid
+byte_stream_putcaps
+byte_stream_put_bart_asset
+byte_stream_put_bart_asset_str
+aim_snac_t
+aim_initsnachash
+aim_newsnac
+aim_cachesnac
+aim_remsnac
+aim_cleansnacs
+aim_putsnac
+aim_cachecookie
+aim_uncachecookie
+aim_mkcookie
+aim_checkcookie
+aim_freecookie
+aim_cookie_free
+aim_chat_readroominfo
+flap_connection_destroy_chat
+oscar_user_info_append_status
+oscar_user_info_append_extra_info
+oscar_user_info_display_error
+oscar_user_info_display_icq
+oscar_user_info_display_aim
+oscar_auth_sendrequest
+oscar_auth_sendrequest_menu
+oscar_auth_recvrequest
+oscar_set_aim_permdeny
+oscar_free_name_data
+</SECTION>
+
+<SECTION>
+<FILE>snactypes</FILE>
+SNAC_FAMILY_OSERVICE
+SNAC_FAMILY_LOCATE
+SNAC_FAMILY_BUDDY
+SNAC_FAMILY_ICBM
+SNAC_FAMILY_ADVERT
+SNAC_FAMILY_INVITE
+SNAC_FAMILY_ADMIN
+SNAC_FAMILY_POPUP
+SNAC_FAMILY_BOS
+SNAC_FAMILY_USERLOOKUP
+SNAC_FAMILY_STATS
+SNAC_FAMILY_TRANSLATE
+SNAC_FAMILY_CHATNAV
+SNAC_FAMILY_CHAT
+SNAC_FAMILY_ODIR
+SNAC_FAMILY_BART
+SNAC_FAMILY_FEEDBAG
+SNAC_FAMILY_ICQ
+SNAC_FAMILY_AUTH
+SNAC_FAMILY_ALERT
+AIM_CB_FAM_SPECIAL
+AIM_CB_ACK_ACK
+SNAC_SUBTYPE_OSERVICE_ERROR
+SNAC_SUBTYPE_OSERVICE_CLIENTREADY
+SNAC_SUBTYPE_OSERVICE_SERVERREADY
+SNAC_SUBTYPE_OSERVICE_SERVICEREQ
+SNAC_SUBTYPE_OSERVICE_REDIRECT
+SNAC_SUBTYPE_OSERVICE_RATEINFOREQ
+SNAC_SUBTYPE_OSERVICE_RATEINFO
+SNAC_SUBTYPE_OSERVICE_RATEINFOACK
+SNAC_SUBTYPE_OSERVICE_RATECHANGE
+SNAC_SUBTYPE_OSERVICE_SERVERPAUSE
+SNAC_SUBTYPE_OSERVICE_SERVERRESUME
+SNAC_SUBTYPE_OSERVICE_REQSELFINFO
+SNAC_SUBTYPE_OSERVICE_SELFINFO
+SNAC_SUBTYPE_OSERVICE_EVIL
+SNAC_SUBTYPE_OSERVICE_SETIDLE
+SNAC_SUBTYPE_OSERVICE_MIGRATIONREQ
+SNAC_SUBTYPE_OSERVICE_MOTD
+SNAC_SUBTYPE_OSERVICE_SETPRIVFLAGS
+SNAC_SUBTYPE_OSERVICE_WELLKNOWNURL
+SNAC_SUBTYPE_OSERVICE_NOP
+SNAC_SUBTYPE_OSERVICE_DEFAULT
+SNAC_SUBTYPE_LOCATE_ERROR
+SNAC_SUBTYPE_LOCATE_REQRIGHTS
+SNAC_SUBTYPE_LOCATE_RIGHTSINFO
+SNAC_SUBTYPE_LOCATE_SETUSERINFO
+SNAC_SUBTYPE_LOCATE_REQUSERINFO
+SNAC_SUBTYPE_LOCATE_USERINFO
+SNAC_SUBTYPE_LOCATE_WATCHERSUBREQ
+SNAC_SUBTYPE_LOCATE_WATCHERNOT
+SNAC_SUBTYPE_LOCATE_DEFAULT
+SNAC_SUBTYPE_BUDDY_ERROR
+SNAC_SUBTYPE_BUDDY_REQRIGHTS
+SNAC_SUBTYPE_BUDDY_RIGHTSINFO
+SNAC_SUBTYPE_BUDDY_ADDBUDDY
+SNAC_SUBTYPE_BUDDY_REMBUDDY
+SNAC_SUBTYPE_BUDDY_REJECT
+SNAC_SUBTYPE_BUDDY_ONCOMING
+SNAC_SUBTYPE_BUDDY_OFFGOING
+SNAC_SUBTYPE_BUDDY_DEFAULT
+SNAC_SUBTYPE_ICBM_ERROR
+SNAC_SUBTYPE_ICBM_PARAMINFO
+SNAC_SUBTYPE_ICBM_INCOMING
+SNAC_SUBTYPE_ICBM_EVIL
+SNAC_SUBTYPE_ICBM_MISSEDCALL
+SNAC_SUBTYPE_ICBM_CLIENTAUTORESP
+SNAC_SUBTYPE_ICBM_ACK
+SNAC_SUBTYPE_ICBM_MTN
+SNAC_SUBTYPE_ICBM_DEFAULT
+SNAC_SUBTYPE_ADVERT_ERROR
+SNAC_SUBTYPE_ADVERT_DEFAULT
+SNAC_SUBTYPE_INVITE_ERROR
+SNAC_SUBTYPE_INVITE_DEFAULT
+SNAC_SUBTYPE_ADMIN_ERROR
+SNAC_SUBTYPE_ADMIN_INFOCHANGE_REPLY
+SNAC_SUBTYPE_ADMIN_DEFAULT
+SNAC_SUBTYPE_POPUP_ERROR
+SNAC_SUBTYPE_POPUP_DEFAULT
+SNAC_SUBTYPE_BOS_ERROR
+SNAC_SUBTYPE_BOS_RIGHTSQUERY
+SNAC_SUBTYPE_BOS_RIGHTS
+SNAC_SUBTYPE_BOS_DEFAULT
+SNAC_SUBTYPE_USERLOOKUP_ERROR
+SNAC_SUBTYPE_USERLOOKUP_DEFAULT
+SNAC_SUBTYPE_STATS_ERROR
+SNAC_SUBTYPE_STATS_SETREPORTINTERVAL
+SNAC_SUBTYPE_STATS_REPORTACK
+SNAC_SUBTYPE_STATS_DEFAULT
+SNAC_SUBTYPE_TRANSLATE_ERROR
+SNAC_SUBTYPE_TRANSLATE_DEFAULT
+SNAC_SUBTYPE_CHATNAV_ERROR
+SNAC_SUBTYPE_CHATNAV_CREATE
+SNAC_SUBTYPE_CHATNAV_INFO
+SNAC_SUBTYPE_CHATNAV_DEFAULT
+SNAC_SUBTYPE_CHAT_ERROR
+SNAC_SUBTYPE_CHAT_ROOMINFOUPDATE
+SNAC_SUBTYPE_CHAT_USERJOIN
+SNAC_SUBTYPE_CHAT_USERLEAVE
+SNAC_SUBTYPE_CHAT_OUTGOINGMSG
+SNAC_SUBTYPE_CHAT_INCOMINGMSG
+SNAC_SUBTYPE_CHAT_DEFAULT
+SNAC_SUBTYPE_ODIR_ERROR
+SNAC_SUBTYPE_ODIR_SEARCH
+SNAC_SUBTYPE_ODIR_RESULTS
+SNAC_SUBTYPE_BART_ERROR
+SNAC_SUBTYPE_BART_REQUEST
+SNAC_SUBTYPE_BART_RESPONSE
+SNAC_SUBTYPE_FEEDBAG_ERROR
+SNAC_SUBTYPE_FEEDBAG_REQRIGHTS
+SNAC_SUBTYPE_FEEDBAG_RIGHTSINFO
+SNAC_SUBTYPE_FEEDBAG_REQDATA
+SNAC_SUBTYPE_FEEDBAG_REQIFCHANGED
+SNAC_SUBTYPE_FEEDBAG_LIST
+SNAC_SUBTYPE_FEEDBAG_ACTIVATE
+SNAC_SUBTYPE_FEEDBAG_ADD
+SNAC_SUBTYPE_FEEDBAG_MOD
+SNAC_SUBTYPE_FEEDBAG_DEL
+SNAC_SUBTYPE_FEEDBAG_SRVACK
+SNAC_SUBTYPE_FEEDBAG_NOLIST
+SNAC_SUBTYPE_FEEDBAG_EDITSTART
+SNAC_SUBTYPE_FEEDBAG_EDITSTOP
+SNAC_SUBTYPE_FEEDBAG_SENDAUTH
+SNAC_SUBTYPE_FEEDBAG_RECVAUTH
+SNAC_SUBTYPE_FEEDBAG_SENDAUTHREQ
+SNAC_SUBTYPE_FEEDBAG_RECVAUTHREQ
+SNAC_SUBTYPE_FEEDBAG_SENDAUTHREP
+SNAC_SUBTYPE_FEEDBAG_RECVAUTHREP
+SNAC_SUBTYPE_FEEDBAG_ADDED
+SNAC_SUBTYPE_ICQ_ERROR
+SNAC_SUBTYPE_ICQ_OFFLINEMSG
+SNAC_SUBTYPE_ICQ_OFFLINEMSGCOMPLETE
+SNAC_SUBTYPE_ICQ_INFO
+SNAC_SUBTYPE_ICQ_ALIAS
+SNAC_SUBTYPE_ICQ_DEFAULT
+SNAC_SUBTYPE_AUTH_ERROR
+SNAC_SUBTYPE_AUTH_LOGINREQEST
+SNAC_SUBTYPE_AUTH_LOGINRESPONSE
+SNAC_SUBTYPE_AUTH_AUTHREQ
+SNAC_SUBTYPE_AUTH_AUTHRESPONSE
+SNAC_SUBTYPE_AUTH_SECURID_REQUEST
+SNAC_SUBTYPE_AUTH_SECURID_RESPONSE
+SNAC_SUBTYPE_ALERT_ERROR
+SNAC_SUBTYPE_ALERT_SENDCOOKIES
+SNAC_SUBTYPE_ALERT_MAILSTATUS
+SNAC_SUBTYPE_ALERT_INIT
+AIM_CB_SPECIAL_CONNERR
+AIM_CB_SPECIAL_CONNINITDONE
+AIM_SNACFLAGS_DESTRUCTOR
+</SECTION>
+
+<SECTION>
+<FILE>visibility</FILE>
+create_visibility_menu_item
+oscar_show_visible_list
+oscar_show_invisible_list
+</SECTION>
+
+<SECTION>
+<FILE>encoding</FILE>
+oscar_encoding_to_utf8
+oscar_utf8_try_convert
+oscar_decode_im
+oscar_encode_im
+</SECTION>
+
+<SECTION>
+<FILE>oscarcommon</FILE>
+AIM_DEFAULT_LOGIN_SERVER
+AIM_ALT_LOGIN_SERVER
+AIM_DEFAULT_SSL_LOGIN_SERVER
+ICQ_DEFAULT_LOGIN_SERVER
+ICQ_DEFAULT_SSL_LOGIN_SERVER
+OSCAR_DEFAULT_LOGIN_PORT
+OSCAR_OPPORTUNISTIC_ENCRYPTION
+OSCAR_REQUIRE_ENCRYPTION
+OSCAR_NO_ENCRYPTION
+OSCAR_DEFAULT_CUSTOM_ENCODING
+OSCAR_DEFAULT_AUTHORIZATION
+OSCAR_DEFAULT_HIDE_IP
+OSCAR_DEFAULT_WEB_AWARE
+OSCAR_DEFAULT_ALWAYS_USE_RV_PROXY
+OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS
+OSCAR_DEFAULT_USE_CLIENTLOGIN
+OSCAR_DEFAULT_ENCRYPTION
+oscar_get_locale_charset
+oscar_get_purple_moods
+oscar_list_icon_icq
+oscar_list_icon_aim
+oscar_list_emblem
+oscar_status_text
+oscar_tooltip_text
+oscar_status_types
+oscar_blist_node_menu
+oscar_chat_info
+oscar_chat_info_defaults
+oscar_login
+oscar_close
+oscar_send_im
+oscar_set_info
+oscar_send_typing
+oscar_get_info
+oscar_set_status
+oscar_set_idle
+oscar_change_passwd
+oscar_add_buddy
+oscar_remove_buddy
+oscar_add_permit
+oscar_add_deny
+oscar_rem_permit
+oscar_rem_deny
+oscar_join_chat
+oscar_get_chat_name
+oscar_chat_invite
+oscar_chat_leave
+oscar_send_chat
+oscar_keepalive
+oscar_alias_buddy
+oscar_move_buddy
+oscar_rename_group
+oscar_convo_closed
+oscar_normalize
+oscar_set_icon
+oscar_remove_group
+oscar_can_receive_file
+oscar_send_file
+oscar_new_xfer
+oscar_offline_message
+oscar_actions
+oscar_init
+</SECTION>
+
+<SECTION>
+<FILE>roster</FILE>
+MXIT_PRESENCE_OFFLINE
+MXIT_PRESENCE_ONLINE
+MXIT_PRESENCE_AWAY
+MXIT_PRESENCE_AVAILABLE
+MXIT_PRESENCE_DND
+MXIT_TYPE_MXIT
+MXIT_TYPE_JABBER
+MXIT_TYPE_MSN
+MXIT_TYPE_YAHOO
+MXIT_TYPE_ICQ
+MXIT_TYPE_AIM
+MXIT_TYPE_QQ
+MXIT_TYPE_WV
+MXIT_TYPE_BOT
+MXIT_TYPE_CHATROOM
+MXIT_TYPE_SMS
+MXIT_TYPE_GROUP
+MXIT_TYPE_GALLERY
+MXIT_TYPE_INFO
+MXIT_TYPE_MULTIMX
+MXIT_TYPE_HYBRID
+MXIT_MOOD_NONE
+MXIT_MOOD_ANGRY
+MXIT_MOOD_EXCITED
+MXIT_MOOD_GRUMPY
+MXIT_MOOD_HAPPY
+MXIT_MOOD_INLOVE
+MXIT_MOOD_INVINCIBLE
+MXIT_MOOD_SAD
+MXIT_MOOD_HOT
+MXIT_MOOD_SICK
+MXIT_MOOD_SLEEPY
+MXIT_MOOD_BORED
+MXIT_MOOD_COLD
+MXIT_MOOD_CONFUSED
+MXIT_MOOD_HUNGRY
+MXIT_MOOD_STRESSED
+MXIT_CFLAG_HIDDEN
+MXIT_CFLAG_GATEWAY
+MXIT_CFLAG_FOCUS_SEND_BLANK
+MXIT_PFLAG_VOICE
+MXIT_PFLAG_VIDEO
+MXIT_SUBTYPE_BOTH
+MXIT_SUBTYPE_PENDING
+MXIT_SUBTYPE_ASK
+MXIT_SUBTYPE_REJECTED
+MXIT_SUBTYPE_DELETED
+MXIT_SUBTYPE_NONE
+MXIT_CP_MAX_JID_LEN
+MXIT_CP_MAX_GROUP_LEN
+MXIT_CP_MAX_ALIAS_LEN
+MXIT_DEFAULT_GROUP
+mxit_status_types
+mxit_convert_presence
+mxit_convert_presence_to_name
+mxit_convert_subtype_to_name
+mxit_convert_mood
+mxit_convert_mood_to_name
+mxit_update_contact
+mxit_update_buddy_presence
+mxit_update_buddy_avatar
+mxit_new_subscription
+mxit_update_blist
+is_mxit_chatroom_contact
+mxit_add_buddy
+mxit_remove_buddy
+mxit_buddy_alias
+mxit_buddy_group
+mxit_rename_group
+mxit_get_moods
+</SECTION>
+
+<SECTION>
+<FILE>voicevideo</FILE>
+mxit_audio_enabled
+mxit_video_enabled
+mxit_media_caps
+mxit_media_initiate
+</SECTION>
+
+<SECTION>
+<FILE>markup</FILE>
+MXIT_II_TAG
+mxit_parse_markup
+mxit_convert_markup_tx
+mxit_add_html_link
+mxit_show_message
+mxit_free_emoticon_cache
+</SECTION>
+
+<SECTION>
+<FILE>aes</FILE>
+Nb
+Nk
+Nr
+uchar
+ExpandKey
+Encrypt
+Decrypt
+</SECTION>
+
+<SECTION>
+<FILE>protocol</FILE>
+CP_SOCK_REC_TERM
+CP_HTTP_REC_TERM
+CP_FLD_TERM
+CP_PKT_TERM
+CP_MAX_PACKET
+CP_MAX_FILESIZE
+MXIT_EMOTICON_SIZE
+CP_MAX_STATUS_MSG
+MXIT_AVATAR_SIZE
+MXIT_AVATAR_TYPE
+MXIT_AVATAR_BITDEPT
+MXIT_ERRCODE_SUCCESS
+MXIT_ERRCODE_REDIRECT
+MXIT_ERRCODE_LOGGEDOUT
+MXIT_CF_NONE
+MXIT_CF_FORMS
+MXIT_CF_FILE_TRANSFER
+MXIT_CF_CAMERA
+MXIT_CF_COMMANDS
+MXIT_CF_SMS
+MXIT_CF_FILE_ACCESS
+MXIT_CF_MIDP2
+MXIT_CF_SKINS
+MXIT_CF_AUDIO
+MXIT_CF_ENCRYPTION
+MXIT_CF_VOICE_REC
+MXIT_CF_VECTOR_GFX
+MXIT_CF_IMAGES
+MXIT_CF_MARKUP
+MXIT_CF_VIBES
+MXIT_CF_SELECT_CONTACT
+MXIT_CF_CUSTOM_EMO
+MXIT_CF_ALERT_PROFILES
+MXIT_CF_EXT_MARKUP
+MXIT_CF_PLAIN_PWD
+MXIT_CF_NO_GATEWAYS
+MXIT_CF_NO_AVATARS
+MXIT_CF_GAMING
+MXIT_CF_GAMING_UPDATE
+MXIT_CF_VOICE
+MXIT_CF_VIDEO
+MXIT_CP_FEATURES
+MXIT_PING_INTERVAL
+MXIT_ACK_TIMEOUT
+MXIT_TX_DELAY
+MXIT_CP_DISTCODE
+MXIT_CP_ARCH
+MXIT_CLIENT_ID
+MXIT_CP_PLATFORM
+MXIT_CP_PROTO_VESION
+MXIT_CP_OS
+MXIT_CP_CAP
+MAX_QUEUE_SIZE
+MXIT_POPUP_WIN_NAME
+MXIT_MAX_ATTRIBS
+MXIT_DEFAULT_LOCALE
+MXIT_DEFAULT_LOC
+CP_CMD_LOGIN
+CP_CMD_LOGOUT
+CP_CMD_CONTACT
+CP_CMD_UPDATE
+CP_CMD_INVITE
+CP_CMD_PRESENCE
+CP_CMD_REMOVE
+CP_CMD_RX_MSG
+CP_CMD_TX_MSG
+CP_CMD_REGISTER
+CP_CMD_SUGGESTCONTACTS
+CP_CMD_POLL
+CP_CMD_MEDIA
+CP_CMD_SPLASHCLICK
+CP_CMD_STATUS
+CP_CMD_MSGEVENT
+CP_CMD_MOOD
+CP_CMD_KICK
+CP_CMD_GRPCHAT_CREATE
+CP_CMD_GRPCHAT_INVITE
+CP_CMD_NEW_SUB
+CP_CMD_ALLOW
+CP_CMD_DENY
+CP_CMD_EXTPROFILE_GET
+CP_CMD_EXTPROFILE_SET
+CP_CMD_PING
+MXIT_HTTP_POLL_MIN
+MXIT_HTTP_POLL_MAX
+RX_STATE_RLEN
+RX_STATE_DATA
+RX_STATE_PROC
+CP_MSG_NOTIFY_DELIVERY
+CP_MSG_NOTIFY_READ
+CP_MSG_ENCRYPTED
+CP_MSG_MARKUP
+CP_MSG_EMOTICON
+CP_REDIRECT_PERMANENT
+CP_REDIRECT_TEMPORARY
+CP_MSGTYPE_NORMAL
+CP_MSGTYPE_CHAT
+CP_MSGTYPE_HEADLINE
+CP_MSGTYPE_ERROR
+CP_MSGTYPE_GROUPCHAT
+CP_MSGTYPE_FORM
+CP_MSGTYPE_COMMAND
+CP_MSGEVENT_DELIVERED
+CP_MSGEVENT_DISPLAYED
+CP_PROFILE_BIRTHDATE
+CP_PROFILE_GENDER
+CP_PROFILE_HIDENUMBER
+CP_PROFILE_FULLNAME
+CP_PROFILE_STATUS
+CP_PROFILE_PREVSTATUS
+CP_PROFILE_AVATAR
+CP_PROFILE_MODIFIED
+CP_PROFILE_TITLE
+CP_PROFILE_FIRSTNAME
+CP_PROFILE_LASTNAME
+CP_PROFILE_EMAIL
+CP_PROFILE_MOBILENR
+CP_PROFILE_REGCOUNTRY
+CP_PROFILE_FLAGS
+CP_PROFILE_LASTSEEN
+CP_PROFILE_TYPE_BOOL
+CP_PROFILE_TYPE_INT
+CP_PROFILE_TYPE_UTF8
+CP_PROFILE_TYPE_DATE
+CP_PROF_DOBLOCKED
+CP_SUGGEST_ADDRESSBOOK
+CP_SUGGEST_FRIENDS
+CP_SUGGEST_SEARCH
+CP_SUGGEST_MXITID
+DEBUG_PROTOCOL
+MXitSession
+mxit_popup
+mxit_strip_domain
+find_active_chat
+mxit_cb_rx
+mxit_manage_queue_slow
+mxit_manage_queue_fast
+mxit_manage_polling
+mxit_send_register
+mxit_send_login
+mxit_send_logout
+mxit_send_ping
+mxit_send_poll
+mxit_send_presence
+mxit_send_mood
+mxit_send_message
+mxit_send_extprofile_update
+mxit_send_extprofile_request
+mxit_send_suggest_friends
+mxit_send_suggest_search
+mxit_send_invite
+mxit_send_remove
+mxit_send_allow_sub
+mxit_send_deny_sub
+mxit_send_update_contact
+mxit_send_splashclick
+mxit_send_msgevent
+mxit_send_file
+mxit_send_file_reject
+mxit_send_file_accept
+mxit_send_file_received
+mxit_set_avatar
+mxit_get_avatar
+mxit_send_groupchat_create
+mxit_send_groupchat_invite
+mxit_parse_packet
+dump_bytes
+mxit_close_connection
+mxit_now_milli
+</SECTION>
+
+<SECTION>
+<FILE>filexfer</FILE>
+file_mime_type
+mxit_xfer_enabled
+mxit_xfer_tx
+mxit_xfer_new
+mxit_xfer_rx_offer
+mxit_xfer_rx_file
+</SECTION>
+
+<SECTION>
+<FILE>http</FILE>
+mxit_http_send_request
+</SECTION>
+
+<SECTION>
+<FILE>multimx</FILE>
+STATE_CREATOR
+STATE_INVITED
+STATE_JOINED
+multimx_invite
+multimx_created
+is_multimx_contact
+multimx_message_received
+mxit_chat_info
+mxit_chat_join
+mxit_chat_reject
+mxit_chat_name
+mxit_chat_invite
+mxit_chat_leave
+mxit_chat_send
+</SECTION>
+
+<SECTION>
+<FILE>profile</FILE>
+MXitSession
+mxit_show_profile
+validateDate
+</SECTION>
+
+<SECTION>
+<FILE>actions</FILE>
+mxit_actions
+</SECTION>
+
+<SECTION>
+<FILE>login</FILE>
+mxit_login
+mxit_register
+mxit_reconnect
+</SECTION>
+
+<SECTION>
+<FILE>cipher</FILE>
+MXitSession
+mxit_encrypt_password
+</SECTION>
+
+<SECTION>
+<FILE>mxit</FILE>
+HOST_NAME_MAX
+MXIT_PLUGIN_ID
+MXIT_PLUGIN_NAME
+MXIT_PLUGIN_EMAIL
+MXIT_PLUGIN_WWW
+MXIT_PLUGIN_SUMMARY
+MXIT_PLUGIN_DESC
+MXIT_HTTP_USERAGENT
+DEFAULT_SERVER
+DEFAULT_PORT
+DEFAULT_WAPSITE
+DEFAULT_HTTP_SERVER
+MXIT_CONFIG_STATE
+MXIT_CONFIG_WAPSERVER
+MXIT_CONFIG_DISTCODE
+MXIT_CONFIG_CLIENTKEY
+MXIT_CONFIG_DIALCODE
+MXIT_CONFIG_SERVER_ADDR
+MXIT_CONFIG_SERVER_PORT
+MXIT_CONFIG_HTTPSERVER
+MXIT_CONFIG_SPLASHID
+MXIT_CONFIG_SPLASHCLICK
+MXIT_CONFIG_SPLASHPOPUP
+MXIT_CONFIG_COUNTRYCODE
+MXIT_CONFIG_LOCALE
+MXIT_CONFIG_USE_HTTP
+MXIT_STATE_LOGIN
+MXIT_STATE_REGISTER1
+MXIT_STATE_REGISTER2
+MXIT_FLAG_CONNECTED
+MXIT_FLAG_LOGGEDIN
+MXIT_FLAG_FIRSTROSTER
+MXIT_LINK_CLICK
+MXIT_LINK_PREFIX
+MXIT_LINK_KEY
+ARRAY_SIZE
+mxit_status_text
+mxit_enable_signals
+mxit_register_uri_handler
+</SECTION>
+
+<SECTION>
+<FILE>formcmds</FILE>
+mxit_parse_command
+</SECTION>
+
+<SECTION>
+<FILE>splashscreen</FILE>
+HANDLE_SPLASH1
+HANDLE_SPLASH2
+DEFAULT_SPLASH_POPUP
+splash_current
+splash_popup_enabled
+splash_update
+splash_remove
+splash_display
+</SECTION>
+
+<SECTION>
+<FILE>chunk</FILE>
+MXIT_CHUNK_FILEID_LEN
+MXIT_CHUNK_HEADER_SIZE
+CP_CHUNK_NONE
+CP_CHUNK_CUSTOM
+CP_CHUNK_SPLASH
+CP_CHUNK_CLICK
+CP_CHUNK_OFFER
+CP_CHUNK_REJECT
+CP_CHUNK_GET
+CP_CHUNK_RECEIVED
+CP_CHUNK_DIRECT_SND
+CP_CHUNK_DIRECT_FWD
+CP_CHUNK_SKIN
+CP_CHUNK_SET_AVATAR
+CP_CHUNK_GET_AVATAR
+CP_CHUNK_END
+CP_CHUNK_EXT
+CR_OP_UPDATE
+CR_OP_REMOVE
+RECV_STATUS_SUCCESS
+RECV_STATUS_PARSE_FAIL
+RECV_STATUS_CANNOT_OPEN
+RECV_STATUS_BAD_CRC
+RECV_STATUS_BAD_ID
+REJECT_BY_USER
+REJECT_FILETYPE
+REJECT_NO_RESOURCES
+REJECT_BAD_RECIPIENT
+htonl
+mxit_chunk_create_senddirect
+mxit_chunk_create_reject
+mxit_chunk_create_get
+mxit_chunk_create_received
+mxit_chunk_create_set_avatar
+mxit_chunk_create_get_avatar
+mxit_chunk_parse_offer
+mxit_chunk_parse_get
+mxit_chunk_parse_cr
+mxit_chunk_parse_get_avatar
+</SECTION>
+
+<SECTION>
+<FILE>internal</FILE>
+MAXHOSTNAMELEN
+ETIMEDOUT
+EADDRINUSE
+REALM_SZ
+INST_SZ
+ANAME_SZ
+CLOCK_SKEW
+SERVER_SVC_FALLBACK
+HM_SVC_FALLBACK
+HM_SRV_SVC_FALLBACK
+ZAUTH_CKSUM_FAILED
+ZAUTH_UNSET
+Z_MAXFRAGS
+Z_MAXNOTICESIZE
+Z_MAXQUEUESIZE
+Z_FRAGFUDGE
+Z_NOTICETIMELIMIT
+Z_INITFILTERSIZE
+Z_Hole
+Z_InputQ
+</SECTION>
+
+<SECTION>
+<FILE>com_err</FILE>
+COM_ERR_BUF_LEN
+ETP
+ETCONST
+com_err_hook
+</SECTION>
+
+<SECTION>
+<FILE>zephyr_err</FILE>
+ZERR_PKTLEN
+ZERR_HEADERLEN
+ZERR_ILLVAL
+ZERR_HMPORT
+ZERR_PORTINUSE
+ZERR_BADPKT
+ZERR_VERS
+ZERR_NOPORT
+ZERR_NONOTICE
+ZERR_QLEN
+ZERR_HMDEAD
+ZERR_INTERNAL
+ZERR_NOLOCATIONS
+ZERR_NOMORELOCS
+ZERR_FIELDLEN
+ZERR_BADFIELD
+ZERR_SERVNAK
+ZERR_AUTHFAIL
+ZERR_LOGINFAIL
+ZERR_NOSUBSCRIPTIONS
+ZERR_NOMORESUBSCRIPTIONS
+ZERR_TOOMANYSUBS
+ZERR_EOF
+initialize_zeph_error_table
+ERROR_TABLE_BASE_zeph
+init_zeph_err_tbl
+zeph_err_base
+</SECTION>
+
+<SECTION>
+<FILE>zephyr_internal</FILE>
+ZP
+ZCONST
+HM_SVCNAME
+HM_SRV_SVCNAME
+SERVER_SVCNAME
+SERVER_SERVICE
+SERVER_INSTANCE
+ZVERSIONHDR
+ZVERSIONMAJOR
+ZVERSIONMINOR
+Z_MAXPKTLEN
+Z_MAXHEADERLEN
+Z_MAXOTHERFIELDS
+Z_NUMFIELDS
+ZAUTH_FAILED
+ZAUTH_YES
+ZAUTH_NO
+ZPacket_t
+ZNotice_Kind_t
+ZUnique_Id_t
+ZChecksum_t
+ZNotice_t
+ZSubscription_t
+Code_t
+ZLocations_t
+ZAsyncLocateData_t
+int
+ZNewLocateUser
+ZGetFD
+ZQLength
+ZGetDestAddr
+ZGetRealm
+ZSetDebug
+Z_MAXQLEN
+ZERR_NONE
+HM_TIMEOUT
+SRV_TIMEOUT
+ZAUTH
+ZNOAUTH
+ZSRVACK_SENT
+ZSRVACK_NOTSENT
+ZSRVACK_FAIL
+ZEPHYR_ADMIN_CLASS
+ZEPHYR_CTL_CLASS
+ZEPHYR_CTL_CLIENT
+CLIENT_SUBSCRIBE
+CLIENT_SUBSCRIBE_NODEFS
+CLIENT_UNSUBSCRIBE
+CLIENT_CANCELSUB
+CLIENT_GIMMESUBS
+CLIENT_GIMMEDEFS
+ZEPHYR_CTL_HM
+HM_BOOT
+HM_FLUSH
+HM_DETACH
+HM_ATTACH
+HM_CTL_CLASS
+HM_CTL_SERVER
+SERVER_SHUTDOWN
+SERVER_PING
+HM_CTL_CLIENT
+CLIENT_FLUSH
+CLIENT_NEW_SERVER
+HM_STAT_CLASS
+HM_STAT_CLIENT
+HM_GIMMESTATS
+LOGIN_CLASS
+EXPOSE_NONE
+EXPOSE_OPSTAFF
+EXPOSE_REALMVIS
+EXPOSE_REALMANN
+EXPOSE_NETVIS
+EXPOSE_NETANN
+LOGIN_USER_LOGIN
+LOGIN_USER_LOGOUT
+LOGIN_USER_FLUSH
+LOCATE_CLASS
+LOCATE_HIDE
+LOCATE_UNHIDE
+LOCATE_LOCATE
+WG_CTL_CLASS
+WG_CTL_USER
+USER_REREAD
+USER_SHUTDOWN
+USER_STARTUP
+USER_EXIT
+</SECTION>
+
+<SECTION>
+<FILE>sysdep</FILE>
+malloc
+getenv
+time
+random
+srandom
+strerror
+strchr
+strrchr
+memcpy
+memcmp
+memmove
+WEXITSTATUS
+WIFEXITED
+VA_START
+const
+OPENLOG
+TEMP_DIRECTORY
+getuid
+ttyname
+gethostid
+STDIN_FILENO
+STDOUT_FILENO
+STDERR_FILENO
+krb_get_err_text
+krb_log
+MSG_BSIZE
+</SECTION>
+
+<SECTION>
+<FILE>error_table</FILE>
+ERRCODE_RANGE
+BITS_PER_CHAR
+error_table_name
+</SECTION>
+
+<SECTION>
+<FILE>sametime</FILE>
+MW_PLUGIN_DEFAULT_PORT
+MW_PLUGIN_DEFAULT_ENCODING
+</SECTION>
+
+<SECTION>
+<FILE>wb</FILE>
+silcpurple_wb_init
+silcpurple_wb_init_ch
+silcpurple_wb_receive
+silcpurple_wb_receive_ch
+silcpurple_wb_start
+silcpurple_wb_end
+silcpurple_wb_get_dimensions
+silcpurple_wb_set_dimensions
+silcpurple_wb_get_brush
+silcpurple_wb_set_brush
+silcpurple_wb_send
+silcpurple_wb_clear
+</SECTION>
+
+<SECTION>
+<FILE>silcpurple</FILE>
+SILCPURPLE_PUBLIC_KEY_NAME
+SILCPURPLE_PRIVATE_KEY_NAME
+SILCPURPLE_DEF_PKCS
+SILCPURPLE_DEF_PKCS_LEN
+SILCPURPLE_PRVGRP
+SILCPURPLE_STATUS_ID_OFFLINE
+SILCPURPLE_STATUS_ID_AVAILABLE
+SILCPURPLE_STATUS_ID_HYPER
+SILCPURPLE_STATUS_ID_AWAY
+SILCPURPLE_STATUS_ID_BUSY
+SILCPURPLE_STATUS_ID_INDISPOSED
+SILCPURPLE_STATUS_ID_PAGE
+getpwuid
+getuid
+geteuid
+</SECTION>
+
+<SECTION>
+<FILE>session</FILE>
+MSIM_SESSION_STRUCT_MAGIC
+msim_session_new
+msim_session_destroy
+</SECTION>
+
+<SECTION>
+<FILE>zap</FILE>
+msim_attention_types
+msim_send_attention
+msim_blist_node_menu
+msim_incoming_zap
+</SECTION>
+
+<SECTION>
+<FILE>myspace</FILE>
+MSIM_MAX_PASSWORD_LENGTH
+MSIM_MAX_USERNAME_LENGTH
+MSIM_CLIENT_VERSION
+MSIM_LANGUAGE_ID_ENGLISH
+MSIM_LANGUAGE_NAME_ENGLISH
+MSIM_PRPL_VERSION_STRING
+MSIM_SERVER
+MSIM_PORT
+MSIM_KEEPALIVE_INTERVAL
+MSIM_KEEPALIVE_INTERVAL_CHECK
+MSIM_MAIL_INTERVAL_CHECK
+HASH_SIZE
+NONCE_SIZE
+MSIM_READ_BUF_SIZE
+MSIM_FINAL_STRING
+MSIM_BM_ACTION_OR_IM_DELAYABLE
+MSIM_BM_STATUS
+MSIM_BM_ACTION_OR_IM_INSTANT
+MSIM_BM_MEDIA
+MSIM_BM_PROFILE
+MSIM_BM_STATUS_MOOD
+MSIM_BM_UNOFFICIAL_CLIENT
+MSIM_AUTH_ALGORITHM
+MSIM_AUTH_CHALLENGE_LENGTH
+MSIM_LOGIN_IP_LIST
+MSIM_LOGIN_IP_LIST_LEN
+MSIM_STATUS_ORDINAL_EMPTY
+MSIM_STATUS_ORDINAL_UNKNOWNs
+MSIM_STATUS_ORDINAL_ONLINE
+MSIM_STATUS_ORDINAL_UNKNOWNss
+MSIM_STATUS_ORDINAL_HEADLINE
+MSIM_STATUS_ORDINAL_UNKNOWNls
+MSIM_STATUS_ORDINAL_UNKNOWN
+MSIM_STATUS_ORDINAL_UNKNOWN1
+MSIM_STATUS_ORDINAL_UNKNOWNp
+MSIM_STATUS_ORDINAL_UNKNOWN2
+MSIM_STATUS_CODE_OFFLINE_OR_HIDDEN
+MSIM_STATUS_CODE_ONLINE
+MSIM_STATUS_CODE_IDLE
+MSIM_STATUS_CODE_AWAY
+MSIM_INBOX_MAIL
+MSIM_INBOX_BLOG_COMMENT
+MSIM_INBOX_PROFILE_COMMENT
+MSIM_INBOX_FRIEND_REQUEST
+MSIM_INBOX_PICTURE_COMMENT
+MSIM_CONTACT_LIST_INITIAL_FRIENDS
+MSIM_CONTACT_LIST_IMPORT_ALL_FRIENDS
+MSIM_CONTACT_LIST_IMPORT_TOP_FRIENDS
+MSIM_ERROR_INCORRECT_PASSWORD
+MSIM_ERROR_LOGGED_IN_ELSEWHERE
+msim_send_raw
+msim_send_bm
+msim_we_are_logged_on
+msim_unrecognized
+msim_new_reply_callback
+</SECTION>
+
+<SECTION>
+<FILE>markup</FILE>
+msim_markup_to_html
+html_to_msim_markup
+</SECTION>
+
+<SECTION>
+<FILE>message</FILE>
+MsimMessage
+MsimMessageType
+MsimMessageElement
+msim_msg_get_next_element_node
+MSIM_TYPE_RAW
+MSIM_TYPE_INTEGER
+MSIM_TYPE_STRING
+MSIM_TYPE_BINARY
+MSIM_TYPE_BOOLEAN
+MSIM_TYPE_DICTIONARY
+MSIM_TYPE_LIST
+msim_escape
+msim_unescape
+msim_msg_new
+msim_msg_clone
+msim_msg_free_element_data
+msim_msg_free
+msim_msg_append
+msim_msg_insert_before
+msim_msg_pack_element_data
+msim_msg_dump
+msim_msg_pack
+msim_msg_list_free
+GCC_VERSION
+FORMAT_ATTR
+NORETURN_ATTR
+SENTINEL_ATTR
+msim_send
+msim_parse
+msim_msg_get
+msim_msg_get_string
+msim_msg_get_list
+msim_msg_get_dictionary
+msim_msg_get_integer
+msim_msg_get_binary
+msim_msg_get_string_from_element
+msim_msg_get_integer_from_element
+</SECTION>
+
+<SECTION>
+<FILE>user</FILE>
+MSIM_USER_LOOKUP_CB
+msim_get_user_from_buddy
+msim_user_free
+msim_find_user
+msim_append_user_info
+msim_store_user_info
+msim_is_userid
+msim_lookup_user
+msim_set_username_cb
+msim_do_not_set_username_cb
+</SECTION>
+
+<SECTION>
+<FILE>buddylist</FILE>
+ggp_buddylist_send
+ggp_buddylist_load
+ggp_buddylist_dump
+</SECTION>
+
+<SECTION>
+<FILE>gg-utils</FILE>
+ggp_str_to_uin
+ggp_array_size
+charset_convert
+ggp_get_uin
+ggp_buddy_get_name
+ggp_status_fake_to_self
+</SECTION>
+
+<SECTION>
+<FILE>gg</FILE>
+PUBDIR_RESULTS_MAX
+GGPTokenCallback
+GGPInfo
+</SECTION>
+
+<SECTION>
+<FILE>search</FILE>
+GGPSearchType
+GGPSearchForm
+GGPSearches
+ggp_search_form_new
+ggp_search_form_destroy
+ggp_search_add
+ggp_search_remove
+ggp_search_get
+ggp_search_new
+ggp_search_destroy
+ggp_search_start
+ggp_search_get_result
+</SECTION>
+
+<SECTION>
+<FILE>confer</FILE>
+ggp_confer_find_by_name
+ggp_confer_participants_add_uin
+ggp_confer_participants_add
+ggp_confer_find_by_participants
+ggp_confer_add_new
+</SECTION>
+
+<SECTION>
+<FILE>compat</FILE>
+INADDR_NONE
+</SECTION>
+
+<SECTION>
+<FILE>libgadu</FILE>
+uint8_t
+uint16_t
+uint32_t
+int8_t
+int16_t
+int32_t
+uin_t
+gg_dcc7_id_t
+gg_common_head
+gg_image_queue
+gg_dcc7
+gg_resolver_t
+gg_encoding_t
+resolver_start
+resolver_cleanup
+GG_PACKED
+GG_DEPRECATED
+GG_MAX_PATH
+GG_DCC7_HASH_LEN
+GG_DCC7_FILENAME_LEN
+GG_DCC7_INFO_LEN
+gg_login
+gg_free_session
+gg_logoff
+gg_change_status
+gg_change_status_descr
+gg_change_status_descr_time
+gg_send_message
+gg_send_message_richtext
+gg_send_message_confer
+gg_send_message_confer_richtext
+gg_send_message_ctcp
+gg_ping
+gg_userlist_request
+gg_image_request
+gg_image_reply
+gg_crc32
+gg_session_set_resolver
+gg_session_get_resolver
+gg_session_set_custom_resolver
+gg_http_set_resolver
+gg_http_get_resolver
+gg_http_set_custom_resolver
+gg_global_set_resolver
+gg_global_get_resolver
+gg_global_set_custom_resolver
+GG_EVENT_SEARCH50_REPLY
+gg_pubdir50_t
+gg_watch_fd
+gg_event_free
+gg_notify_ex
+gg_notify
+gg_add_notify_ex
+gg_add_notify
+gg_remove_notify_ex
+gg_remove_notify
+gg_http_connect
+gg_http_watch_fd
+gg_http_stop
+gg_http_free
+gg_pubdir50
+gg_pubdir50_new
+gg_pubdir50_add
+gg_pubdir50_seq_set
+gg_pubdir50_get
+gg_pubdir50_type
+gg_pubdir50_count
+gg_pubdir50_next
+gg_pubdir50_seq
+gg_pubdir50_free
+GG_PUBDIR50_UIN
+GG_PUBDIR50_STATUS
+GG_PUBDIR50_FIRSTNAME
+GG_PUBDIR50_LASTNAME
+GG_PUBDIR50_NICKNAME
+GG_PUBDIR50_BIRTHYEAR
+GG_PUBDIR50_CITY
+GG_PUBDIR50_GENDER
+GG_PUBDIR50_GENDER_FEMALE
+GG_PUBDIR50_GENDER_MALE
+GG_PUBDIR50_GENDER_SET_FEMALE
+GG_PUBDIR50_GENDER_SET_MALE
+GG_PUBDIR50_ACTIVE
+GG_PUBDIR50_ACTIVE_TRUE
+GG_PUBDIR50_START
+GG_PUBDIR50_FAMILYNAME
+GG_PUBDIR50_FAMILYCITY
+gg_pubdir_watch_fd
+gg_pubdir_free
+gg_token
+gg_token_watch_fd
+gg_token_free
+gg_register3
+gg_register_watch_fd
+gg_register_free
+gg_unregister3
+gg_unregister_watch_fd
+gg_unregister_free
+gg_remind_passwd3
+gg_remind_passwd_watch_fd
+gg_remind_passwd_free
+gg_change_passwd4
+gg_change_passwd_watch_fd
+gg_change_passwd_free
+gg_dcc_port
+gg_dcc_ip
+gg_dcc_request
+gg_dcc_send_file
+gg_dcc_get_file
+gg_dcc_voice_chat
+gg_dcc_set_type
+gg_dcc_fill_file_info
+gg_dcc_fill_file_info2
+gg_dcc_voice_send
+GG_DCC_VOICE_FRAME_LENGTH
+GG_DCC_VOICE_FRAME_LENGTH_505
+gg_dcc_socket_create
+gg_dcc_socket_free
+gg_dcc_socket_watch_fd
+gg_dcc_watch_fd
+gg_dcc_free
+gg_dcc7_watch_fd
+gg_dcc7_send_file
+gg_dcc7_send_file_fd
+gg_dcc7_accept
+gg_dcc7_reject
+gg_dcc7_free
+gg_debug_level
+gg_debug_handler
+gg_debug_handler_session
+gg_debug_file
+GG_DEBUG_NET
+GG_DEBUG_TRAFFIC
+GG_DEBUG_DUMP
+GG_DEBUG_FUNCTION
+GG_DEBUG_MISC
+gg_debug
+gg_debug_session
+gg_libgadu_version
+gg_proxy_enabled
+gg_proxy_host
+gg_proxy_port
+gg_proxy_username
+gg_proxy_password
+gg_proxy_http_only
+gg_local_ip
+GG_LOGIN_HASH_GG32
+GG_LOGIN_HASH_SHA1
+GG_PUBDIR50_WRITE
+GG_PUBDIR50_READ
+GG_PUBDIR50_SEARCH
+GG_PUBDIR50_SEARCH_REQUEST
+GG_PUBDIR50_SEARCH_REPLY
+gg_free_event
+gg_free_http
+gg_free_pubdir
+gg_free_register
+gg_free_remind_passwd
+gg_free_dcc
+gg_free_change_passwd
+GG_GENDER_NONE
+GG_GENDER_FEMALE
+GG_GENDER_MALE
+</SECTION>
+
+<SECTION>
+<FILE>libgadu-config</FILE>
+vnsprintf
+random
+</SECTION>
+
+<SECTION>
+<FILE>protocol</FILE>
+GG_LOGIN80BETA
+GG_LOGIN80
+GG_FEATURE_STATUS80BETA
+GG_FEATURE_MSG80
+GG_FEATURE_STATUS80
+GG8_LANG
+GG8_VERSION
+GG_LOGIN_HASH_TYPE_INVALID
+GG_LOGIN80_OK
+GG_NEW_STATUS80BETA
+GG_NEW_STATUS80
+GG_STATUS80BETA
+GG_NOTIFY_REPLY80BETA
+GG_STATUS80
+GG_NOTIFY_REPLY80
+GG_SEND_MSG80
+GG_RECV_MSG80
+GG_DISCONNECT_ACK
+GG_DCC7_VOICE_RETRIES
+GG_DCC7_RESERVED1
+GG_DCC7_RESERVED2
+</SECTION>
+
+<SECTION>
+<FILE>libgadu-internal</FILE>
+gg_cp_to_utf8
+gg_utf8_to_cp
+gg_pubdir50_handle_reply_sess
+gg_debug_common
+</SECTION>
+
+<SECTION>
+<FILE>resolver</FILE>
+gg_gethostbyname_real
+</SECTION>
+
+<SECTION>
+<FILE>sipmsg</FILE>
+sipmsg_parse_msg
+sipmsg_parse_header
+sipmsg_add_header
+sipmsg_free
+sipmsg_find_header
+sipmsg_remove_header
+sipmsg_print
+sipmsg_to_string
+</SECTION>
+
+<SECTION>
+<FILE>simple</FILE>
+SIMPLE_BUF_INC
+SIMPLE_REGISTER_RETRY_MAX
+SIMPLE_REGISTER_SENT
+SIMPLE_REGISTER_RETRY
+SIMPLE_REGISTER_COMPLETE
+PUBLISH_EXPIRATION
+SUBSCRIBE_EXPIRATION
+transaction
+TransCallback
+</SECTION>
+
+<SECTION>
+<FILE>group_opt</FILE>
+QQ_QUN_MEMBER_MAX
+qq_room_req
+qq_group_modify_members
+qq_room_change_info
+qq_create_room
+qq_group_process_modify_info_reply
+qq_group_process_modify_members_reply
+qq_group_manage_group
+qq_group_process_activate_group_reply
+qq_group_process_create_group_reply
+qq_process_room_buddy_request_join
+qq_process_room_buddy_rejected
+qq_process_room_buddy_approved
+qq_process_room_buddy_removed
+qq_process_room_buddy_joined
+</SECTION>
+
+<SECTION>
+<FILE>qq_network</FILE>
+QQ_CONNECT_STEPS
+qq_connect_later
+qq_disconnect
+qq_send_cmd_encrypted
+qq_send_cmd
+qq_send_cmd_mess
+qq_send_server_reply
+qq_send_room_cmd
+qq_send_room_cmd_mess
+qq_send_room_cmd_only
+qq_send_room_cmd_noid
+</SECTION>
+
+<SECTION>
+<FILE>send_file</FILE>
+ft_info
+qq_process_recv_file_accept
+qq_process_recv_file_reject
+qq_process_recv_file_cancel
+qq_process_recv_file_request
+qq_process_recv_file_notify
+qq_can_receive_file
+qq_send_file
+qq_get_conn_info
+qq_fill_conn_info
+</SECTION>
+
+<SECTION>
+<FILE>char_conv</FILE>
+QQ_CHARSET_DEFAULT
+qq_get_vstr
+qq_put_vstr
+utf8_to_qq
+qq_to_utf8
+</SECTION>
+
+<SECTION>
+<FILE>group</FILE>
+PURPLE_GROUP_QQ_QUN
+qq_room_role
+qq_room_data
+qq_chat_info
+qq_chat_info_defaults
+qq_roomlist_get_list
+qq_roomlist_cancel
+</SECTION>
+
+<SECTION>
+<FILE>utils</FILE>
+qq_get_md5
+get_name_by_index_str
+get_index_str_by_name
+split_data
+gen_ip_str
+str_ip_gen
+purple_name_to_uid
+uid_to_purple_name
+try_dump_as_gbk
+qq_show_packet
+qq_hex_dump
+hex_str_to_bytes
+qq_filter_str
+</SECTION>
+
+<SECTION>
+<FILE>file_trans</FILE>
+QQ_FILE_FRAGMENT_MAXLEN
+QQ_FILE_CONTROL_PACKET_TAG
+QQ_FILE_DATA_PACKET_TAG
+QQ_FILE_AGENT_PACKET_TAG
+qq_send_file_ctl_packet
+qq_process_recv_file
+qq_xfer_close_file
+</SECTION>
+
+<SECTION>
+<FILE>group_internal</FILE>
+QQ_ROOM_KEY_INTERNAL_ID
+QQ_ROOM_KEY_EXTERNAL_ID
+QQ_ROOM_KEY_TITLE_UTF8
+qq_room_find_or_new
+qq_room_remove
+qq_room_update_chat_info
+qq_room_buddy_find
+qq_room_buddy_remove
+qq_room_buddy_find_or_new
+qq_room_data_initial
+qq_room_data_free_all
+qq_room_data_find
+qq_room_get_next
+qq_room_get_next_conv
+</SECTION>
+
+<SECTION>
+<FILE>group_join</FILE>
+qq_request_room_search
+qq_process_room_search
+qq_send_cmd_group_auth
+qq_group_join
+qq_request_room_join
+qq_room_quit
+qq_process_group_cmd_exit_group
+qq_process_group_cmd_join_group_auth
+qq_process_group_cmd_join_group
+</SECTION>
+
+<SECTION>
+<FILE>qq_process</FILE>
+qq_proc_login_cmds
+qq_proc_client_cmds
+qq_proc_room_cmds
+qq_proc_server_cmd
+qq_update_all
+qq_update_online
+qq_update_room
+qq_update_all_rooms
+</SECTION>
+
+<SECTION>
+<FILE>buddy_memo</FILE>
+QQ_BUDDY_MEMO_REQUEST_SUCCESS
+qq_process_get_buddy_memo
+qq_request_buddy_memo
+</SECTION>
+
+<SECTION>
+<FILE>qq_crypt</FILE>
+qq_encrypt
+qq_decrypt
+</SECTION>
+
+<SECTION>
+<FILE>qq</FILE>
+QQ_KEY_LENGTH
+qq_strlen
+qq_strcmp
+UPDCLS
+UID
+qq_captcha_data
+qq_login_data
+qq_interval
+qq_net_stat
+qq_buddy_data
+qq_connection
+qq_data
+</SECTION>
+
+<SECTION>
+<FILE>buddy_list</FILE>
+qq_buddy_status
+qq_request_get_buddies_online
+qq_process_get_buddies_online
+qq_request_get_buddies
+qq_process_get_buddies
+qq_request_get_buddies_and_rooms
+qq_process_get_buddies_and_rooms
+qq_request_change_status
+qq_process_change_status
+qq_process_buddy_change_status
+qq_update_buddyies_status
+qq_update_buddy_status
+qq_buddy_data_free_all
+</SECTION>
+
+<SECTION>
+<FILE>group_im</FILE>
+qq_room_conv_open
+qq_room_conv_set_onlines
+qq_room_got_chat_in
+qq_chat_send
+qq_process_room_send_im
+qq_process_room_send_im_ex
+qq_process_room_im
+</SECTION>
+
+<SECTION>
+<FILE>qq_base</FILE>
+QQ_LOGIN_REPLY_OK
+QQ_LOGIN_REPLY_REDIRECT
+QQ_LOGIN_REPLY_CAPTCHA_DLG
+QQ_LOGIN_REPLY_NEXT_TOKEN_EX
+QQ_LOGIN_REPLY_ERR
+QQ_LOGIN_MODE_NORMAL
+QQ_LOGIN_MODE_AWAY
+QQ_LOGIN_MODE_HIDDEN
+QQ_UPDATE_ONLINE_INTERVAL
+qq_request_token
+qq_process_token
+qq_request_login
+qq_process_login
+qq_request_logout
+qq_request_keep_alive
+qq_process_keep_alive
+qq_request_keep_alive_2007
+qq_process_keep_alive_2007
+qq_request_keep_alive_2008
+qq_process_keep_alive_2008
+qq_request_get_server
+qq_process_get_server
+qq_request_token_ex
+qq_request_token_ex_next
+qq_process_token_ex
+qq_captcha_input_dialog
+qq_request_check_pwd
+qq_process_check_pwd
+qq_request_login_2007
+qq_process_login_2007
+qq_request_login_2008
+qq_process_login_2008
+</SECTION>
+
+<SECTION>
+<FILE>im</FILE>
+qq_im_format
+qq_put_im_tail
+qq_get_im_tail
+qq_im_fmt_new
+qq_im_fmt_free
+qq_im_fmt_reset_font
+qq_im_fmt_new_by_purple
+qq_im_fmt_to_purple
+qq_im_smiley_none
+qq_im_get_segments
+qq_got_message
+qq_send_im
+qq_process_im
+qq_process_extend_im
+qq_emoticon_to_purple
+</SECTION>
+
+<SECTION>
+<FILE>qq_trans</FILE>
+qq_transaction
+qq_trans_find_rcved
+qq_trans_is_server
+qq_trans_is_dup
+qq_trans_get_room_cmd
+qq_trans_get_room_id
+qq_trans_get_class
+qq_trans_get_ship
+qq_trans_add_client_cmd
+qq_trans_add_room_cmd
+qq_trans_add_server_cmd
+qq_trans_add_server_reply
+qq_trans_add_remain
+qq_trans_process_remained
+qq_trans_scan
+qq_trans_remove_all
+</SECTION>
+
+<SECTION>
+<FILE>buddy_opt</FILE>
+qq_add_buddy
+qq_change_buddys_group
+qq_remove_buddy_and_me
+qq_remove_buddy
+qq_process_remove_buddy
+qq_process_buddy_remove_me
+qq_process_add_buddy_no_auth
+qq_process_add_buddy_no_auth_ex
+qq_process_add_buddy_auth
+qq_process_buddy_from_server
+qq_process_buddy_check_code
+qq_request_auth_code
+qq_process_auth_code
+qq_request_question
+qq_process_question
+qq_process_add_buddy_auth_ex
+qq_buddy_data_find
+qq_buddy_data_free
+qq_buddy_new
+qq_buddy_find_or_new
+qq_buddy_find
+qq_group_find_or_new
+</SECTION>
+
+<SECTION>
+<FILE>buddy_info</FILE>
+QQ_COMM_FLAG_QQ_VIP
+QQ_COMM_FLAG_QQ_MEMBER
+QQ_COMM_FLAG_TCP_MODE
+QQ_COMM_FLAG_MOBILE
+QQ_COMM_FLAG_BIND_MOBILE
+QQ_COMM_FLAG_VIDEO
+QQ_EXT_FLAG_ZONE
+QQ_BUDDY_GENDER_GG
+QQ_BUDDY_GENDER_MM
+QQ_BUDDY_GENDER_UNKNOWN
+qq_get_icon_name
+qq_get_icon_path
+qq_change_icon_cb
+qq_request_buddy_info
+qq_set_custom_icon
+qq_process_change_info
+qq_process_get_buddy_info
+qq_request_get_level
+qq_request_get_level_2007
+qq_request_get_buddies_level
+qq_process_get_level_reply
+qq_update_buddy_icon
+</SECTION>
+
+<SECTION>
+<FILE>group_info</FILE>
+qq_request_room_get_buddies
+qq_process_room_cmd_get_info
+qq_process_room_cmd_get_onlines
+qq_process_room_cmd_get_buddies
+</SECTION>
+
+<SECTION>
+<FILE>packet_parse</FILE>
+MAX_PACKET_SIZE
+qq_get8
+qq_get16
+qq_get32
+qq_getIP
+qq_getime
+qq_getdata
+qq_put8
+qq_put16
+qq_put32
+qq_putIP
+qq_putime
+qq_putdata
+</SECTION>
+
+<SECTION>
+<FILE>qq_define</FILE>
+QQ_UDP_HEADER_LENGTH
+QQ_TCP_HEADER_LENGTH
+QQ_PACKET_TAG
+QQ_PACKET_TAIL
+QQ_CLIENT_0D55
+QQ_CLIENT_111D
+QQ_CLIENT_115B
+QQ_CLIENT_1663
+QQ_CLIENT_1801
+qq_get_ver_desc
+qq_get_cmd_desc
+qq_get_room_cmd_desc
+is_online
+</SECTION>
+
+<SECTION>
+<FILE>useravatar</FILE>
+jabber_avatar_init
+jabber_avatar_set
+jabber_avatar_fetch_mine
+</SECTION>
+
+<SECTION>
+<FILE>adhoccommands</FILE>
+jabber_adhoc_disco_result_cb
+jabber_adhoc_execute
+jabber_adhoc_execute_action
+jabber_adhoc_got_list
+jabber_adhoc_server_get_list
+jabber_adhoc_init_server_commands
+</SECTION>
+
+<SECTION>
+<FILE>iq</FILE>
+JabberIqType
+JabberIq
+jabber_iq_new
+jabber_iq_new_query
+jabber_iq_parse
+jabber_iq_remove_callback_by_id
+jabber_iq_set_callback
+jabber_iq_set_id
+jabber_iq_send
+jabber_iq_free
+jabber_iq_init
+jabber_iq_uninit
+jabber_iq_register_handler
+jabber_iq_signal_register
+jabber_iq_signal_unregister
+</SECTION>
+
+<SECTION>
+<FILE>presence</FILE>
+JabberPresenceType
+JabberPresenceChatInfo
+JabberPresence
+jabber_presence_register_handler
+jabber_presence_init
+jabber_presence_uninit
+jabber_set_status
+jabber_presence_send
+jabber_presence_create
+jabber_presence_create_js
+jabber_presence_parse
+jabber_presence_subscription_set
+jabber_presence_fake_to_self
+purple_status_to_jabber
+</SECTION>
+
+<SECTION>
+<FILE>roster</FILE>
+jabber_roster_request
+jabber_roster_parse
+jabber_roster_add_buddy
+jabber_roster_alias_change
+jabber_roster_group_change
+jabber_roster_group_rename
+jabber_roster_remove_buddy
+</SECTION>
+
+<SECTION>
+<FILE>si</FILE>
+jabber_bytestreams_parse
+jabber_si_parse
+jabber_si_new_xfer
+jabber_si_xfer_send
+jabber_si_init
+jabber_si_uninit
+</SECTION>
+
+<SECTION>
+<FILE>xdata</FILE>
+JabberXDataAction
+jabber_x_data_cb
+jabber_x_data_action_cb
+jabber_x_data_request
+jabber_x_data_request_with_actions
+jabber_x_data_get_formtype
+</SECTION>
+
+<SECTION>
+<FILE>disco</FILE>
+JabberDiscoItem
+jabber_disco_info_parse
+jabber_disco_items_parse
+jabber_disco_items_server
+jabber_disco_info_do
+</SECTION>
+
+<SECTION>
+<FILE>caps</FILE>
+JabberCapsClientInfo
+JabberCapsNodeExts
+JabberCapsTuple
+jabber_caps_get_info_cb
+jabber_caps_init
+jabber_caps_uninit
+jabber_caps_exts_known
+jabber_caps_get_info
+jabber_caps_calculate_hash
+jabber_caps_calculate_own_hash
+jabber_caps_get_own_hash
+jabber_caps_broadcast_change
+jabber_caps_parse_client_info
+</SECTION>
+
+<SECTION>
+<FILE>bosh</FILE>
+PurpleBOSHConnection
+jabber_bosh_init
+jabber_bosh_uninit
+jabber_bosh_connection_init
+jabber_bosh_connection_destroy
+jabber_bosh_connection_is_ssl
+jabber_bosh_connection_send_keepalive
+jabber_bosh_connection_connect
+jabber_bosh_connection_close
+jabber_bosh_connection_send_raw
+</SECTION>
+
+<SECTION>
+<FILE>oob</FILE>
+jabber_oob_parse
+</SECTION>
+
+<SECTION>
+<FILE>usernick</FILE>
+jabber_nick_init
+jabber_nick_init_action
+</SECTION>
+
+<SECTION>
+<FILE>auth</FILE>
+JabberSaslMech
+JabberSaslState
+jabber_auth_start
+jabber_auth_start_old
+jabber_auth_handle_challenge
+jabber_auth_handle_success
+jabber_auth_handle_failure
+jabber_auth_get_plain_mech
+jabber_auth_get_digest_md5_mech
+jabber_auth_get_scram_mechs
+jabber_auth_get_cyrus_mech
+jabber_auth_add_mech
+jabber_auth_remove_mech
+jabber_auth_init
+jabber_auth_uninit
+</SECTION>
+
+<SECTION>
+<FILE>data</FILE>
+JABBER_DATA_MAX_SIZE
+JabberData
+jabber_data_create_from_data
+jabber_data_create_from_xml
+jabber_data_destroy
+jabber_data_get_cid
+jabber_data_get_type
+jabber_data_get_size
+jabber_data_get_data
+jabber_data_get_xml_definition
+jabber_data_get_xhtml_im
+jabber_data_request
+jabber_data_find_local_by_alt
+jabber_data_find_local_by_cid
+jabber_data_find_remote_by_cid
+jabber_data_associate_local
+jabber_data_associate_remote
+jabber_data_parse
+jabber_data_init
+jabber_data_uninit
+</SECTION>
+
+<SECTION>
+<FILE>ping</FILE>
+jabber_ping_parse
+jabber_ping_jid
+jabber_keepalive_ping
+</SECTION>
+
+<SECTION>
+<FILE>ibb</FILE>
+JabberIBBSession
+void
+JabberIBBSessionState
+jabber_ibb_session_create
+jabber_ibb_session_create_from_xmlnode
+jabber_ibb_session_destroy
+jabber_ibb_session_set_opened_callback
+jabber_ibb_session_set_data_sent_callback
+jabber_ibb_session_set_closed_callback
+jabber_ibb_session_set_data_received_callback
+jabber_ibb_session_set_error_callback
+jabber_ibb_session_open
+jabber_ibb_session_close
+jabber_ibb_session_accept
+jabber_ibb_session_send_data
+jabber_ibb_session_get_sid
+jabber_ibb_session_get_js
+jabber_ibb_session_get_who
+jabber_ibb_session_get_send_seq
+jabber_ibb_session_get_recv_seq
+jabber_ibb_session_get_state
+jabber_ibb_session_get_block_size
+jabber_ibb_session_set_block_size
+jabber_ibb_session_get_max_data_size
+jabber_ibb_session_get_user_data
+jabber_ibb_parse
+jabber_ibb_register_open_handler
+jabber_ibb_unregister_open_handler
+jabber_ibb_init
+jabber_ibb_uninit
+</SECTION>
+
+<SECTION>
+<FILE>pep</FILE>
+jabber_pep_init
+jabber_pep_uninit
+jabber_pep_init_actions
+jabber_pep_register_handler
+jabber_pep_request_item
+jabber_pep_namespace_only_when_pep_enabled_cb
+jabber_handle_event
+jabber_pep_delete_node
+jabber_pep_publish
+</SECTION>
+
+<SECTION>
+<FILE>auth_digest_md5</FILE>
+jabber_auth_digest_md5_parse
+</SECTION>
+
+<SECTION>
+<FILE>auth_scram</FILE>
+JabberScramHash
+JabberScramData
+jabber_scram_hi
+jabber_scram_calc_proofs
+jabber_scram_feed_parser
+jabber_scram_data_destroy
+</SECTION>
+
+<SECTION>
+<FILE>usermood</FILE>
+jabber_mood_init
+jabber_mood_set
+jabber_get_moods
+</SECTION>
+
+<SECTION>
+<FILE>jutil</FILE>
+JabberID
+JabberBuddyState
+jabber_id_new
+jabber_id_free
+jabber_get_domain
+jabber_get_resource
+jabber_get_bare_jid
+jabber_id_get_bare_jid
+jabber_jid_is_domain
+jabber_normalize
+jabber_is_own_server
+jabber_is_own_account
+jabber_nodeprep_validate
+jabber_domain_validate
+jabber_resourceprep_validate
+jabber_saslprep
+jabber_buddy_state_get_name
+jabber_buddy_state_get_status_id
+jabber_buddy_state_get_show
+jabber_buddy_status_id_get_state
+jabber_buddy_show_get_state
+jabber_calculate_data_hash
+</SECTION>
+
+<SECTION>
+<FILE>parser</FILE>
+jabber_parser_setup
+jabber_parser_free
+jabber_parser_process
+</SECTION>
+
+<SECTION>
+<FILE>namespaces</FILE>
+NS_XMPP_BIND
+NS_XMPP_CLIENT
+NS_XMPP_SASL
+NS_XMPP_SESSION
+NS_XMPP_STANZAS
+NS_XMPP_STREAMS
+NS_XMPP_TLS
+NS_LAST_ACTIVITY
+NS_DISCO_INFO
+NS_DISCO_ITEMS
+NS_IBB
+NS_BYTESTREAMS
+NS_OOB_IQ_DATA
+NS_OOB_X_DATA
+NS_XHTML_IM
+NS_XHTML
+NS_AVATAR_0_12_DATA
+NS_AVATAR_0_12_METADATA
+NS_AVATAR_1_1_DATA
+NS_AVATAR_1_1_METADATA
+NS_SI_FILE_TRANSFER
+NS_BOSH
+NS_SIMPLE_BLOCKING
+NS_PING
+NS_ENTITY_TIME
+NS_DELAYED_DELIVERY
+NS_DELAYED_DELIVERY_LEGACY
+NS_XMPP_BOSH
+NS_ATTENTION
+NS_BOB
+NS_ROSTER_VERSIONING
+NS_THUMBS
+NS_GOOGLE_CAMERA
+NS_GOOGLE_VIDEO
+NS_GOOGLE_VOICE
+NS_GOOGLE_JINGLE_INFO
+NS_GOOGLE_MAIL_NOTIFY
+NS_GOOGLE_ROSTER
+NS_GOOGLE_PROTOCOL_SESSION
+NS_GOOGLE_SESSION
+NS_GOOGLE_SESSION_PHONE
+NS_GOOGLE_SESSION_VIDEO
+</SECTION>
+
+<SECTION>
+<FILE>jabber</FILE>
+JabberCapabilities
+JabberStream
+CAPS0115_NODE
+JABBER_DEFAULT_REQUIRE_TLS
+JABBER_DEFAULT_FT_PROXIES
+JABBER_BUZZ
+JabberStreamState
+JabberBytestreamsStreamhost
+jabber_features
+jabber_identities
+jabber_stream_features_parse
+jabber_process_packet
+jabber_send
+jabber_send_raw
+jabber_send_signal_cb
+jabber_stream_set_state
+jabber_register_parse
+jabber_register_start
+jabber_get_next_id
+jabber_parse_error
+jabber_add_feature
+jabber_remove_feature
+jabber_add_identity
+jabber_identity_compare
+jabber_stream_is_ssl
+jabber_stream_restart_inactivity_timer
+jabber_list_icon
+jabber_list_emblem
+jabber_status_text
+jabber_tooltip_text
+jabber_status_types
+jabber_login
+jabber_close
+jabber_idle_set
+jabber_blocklist_parse_push
+jabber_request_block_list
+jabber_add_deny
+jabber_rem_deny
+jabber_keepalive
+jabber_register_gateway
+jabber_register_account
+jabber_unregister_account
+jabber_send_attention
+jabber_attention_types
+jabber_convo_closed
+jabber_find_blist_chat
+jabber_offline_message
+jabber_prpl_send_raw
+jabber_actions
+jabber_audio_enabled
+jabber_video_enabled
+jabber_initiate_media
+jabber_get_media_caps
+jabber_can_receive_file
+jabber_plugin_init
+jabber_plugin_uninit
+</SECTION>
+
+<SECTION>
+<FILE>buddy</FILE>
+JabberBuddy
+JabberAdHocCommands
+JabberBuddyResource
+jabber_buddy_free
+jabber_buddy_find
+jabber_buddy_find_resource
+jabber_buddy_track_resource
+jabber_buddy_remove_resource
+jabber_buddy_get_info
+jabber_blist_node_menu
+jabber_set_info
+jabber_setup_set_info
+jabber_set_buddy_icon
+jabber_user_search
+jabber_user_search_begin
+jabber_buddy_remove_all_pending_buddy_info_requests
+jabber_vcard_fetch_mine
+jabber_resource_know_capabilities
+jabber_resource_has_capability
+jabber_buddy_has_capability
+jabber_resource_get_identity_category_type
+</SECTION>
+
+<SECTION>
+<FILE>usertune</FILE>
+PurpleJabberTuneInfo
+jabber_tune_init
+jabber_tune_set
+</SECTION>
+
+<SECTION>
+<FILE>message</FILE>
+JabberMessage
+jabber_message_free
+jabber_message_send
+jabber_message_parse
+jabber_message_send_im
+jabber_message_send_chat
+jabber_send_typing
+jabber_buzz_isenabled
+jabber_custom_smileys_isenabled
+</SECTION>
+
+<SECTION>
+<FILE>chat</FILE>
+JabberChatMember
+JabberChat
+jabber_chat_info
+jabber_chat_info_defaults
+jabber_get_chat_name
+jabber_join_chat
+jabber_chat_join
+jabber_chat_find
+jabber_chat_find_by_id
+jabber_chat_find_by_conv
+jabber_chat_destroy
+jabber_chat_free
+jabber_chat_find_buddy
+jabber_chat_invite
+jabber_chat_leave
+jabber_chat_buddy_real_name
+jabber_chat_request_room_configure
+jabber_chat_create_instant_room
+jabber_chat_register
+jabber_chat_change_topic
+jabber_chat_set_topic
+jabber_chat_change_nick
+jabber_chat_part
+jabber_chat_track_handle
+jabber_chat_remove_handle
+jabber_chat_ban_user
+jabber_chat_affiliate_user
+jabber_chat_affiliation_list
+jabber_chat_role_user
+jabber_chat_role_list
+jabber_roomlist_get_list
+jabber_roomlist_cancel
+jabber_chat_disco_traffic
+jabber_roomlist_room_serialize
+jabber_chat_all_participants_have_capability
+jabber_chat_get_num_participants
+</SECTION>
+
+<SECTION>
+<FILE>utsname</FILE>
+jabber_win32_uname
+uname
+</SECTION>
+
+<SECTION>
+<FILE>google_session</FILE>
+GoogleSessionId
+GoogleSessionState
+GoogleSession
+jabber_google_session_initiate
+jabber_google_session_parse
+</SECTION>
+
+<SECTION>
+<FILE>relay</FILE>
+jabber_google_do_relay_request
+</SECTION>
+
+<SECTION>
+<FILE>google_roster</FILE>
+jabber_google_roster_outgoing
+jabber_google_roster_incoming
+jabber_google_roster_add_deny
+jabber_google_roster_rem_deny
+</SECTION>
+
+<SECTION>
+<FILE>gmail</FILE>
+jabber_gmail_init
+jabber_gmail_poke
+</SECTION>
+
+<SECTION>
+<FILE>google_presence</FILE>
+jabber_google_presence_incoming
+jabber_google_presence_outgoing
+</SECTION>
+
+<SECTION>
+<FILE>google</FILE>
+GOOGLE_GROUPCHAT_SERVER
+jabber_google_format_to_html
+google_buddy_node_chat
+</SECTION>
+
+<SECTION>
+<FILE>jingleinfo</FILE>
+jabber_google_handle_jingle_info
+jabber_google_send_jingle_info
+</SECTION>
+
+<SECTION>
+<FILE>jingle</FILE>
+JINGLE
+JINGLE_ERROR
+JINGLE_APP_FT
+JINGLE_APP_RTP
+JINGLE_APP_RTP_ERROR
+JINGLE_APP_RTP_INFO
+JINGLE_APP_RTP_SUPPORT_AUDIO
+JINGLE_APP_RTP_SUPPORT_VIDEO
+JINGLE_APP_XML
+JINGLE_DTMF
+JINGLE_TRANSPORT_S5B
+JINGLE_TRANSPORT_IBB
+JINGLE_TRANSPORT_ICEUDP
+JINGLE_TRANSPORT_RAWUDP
+JingleActionType
+jingle_get_action_name
+jingle_get_action_type
+jingle_get_type
+jingle_parse
+jingle_terminate_sessions
+jingle_get_params
+</SECTION>
+
+<SECTION>
+<FILE>irc</FILE>
+IRC_DEFAULT_SERVER
+IRC_DEFAULT_PORT
+IRC_DEFAULT_SSL_PORT
+IRC_DEFAULT_CHARSET
+IRC_DEFAULT_AUTODETECT
+IRC_DEFAULT_ALIAS
+IRC_DEFAULT_QUIT
+IRC_INITIAL_BUFSIZE
+IRC_NAMES_FLAG
+whois
+IRCCmdCallback
+irc_send
+irc_blist_timeout
+irc_who_channel_timeout
+irc_buddy_query
+irc_escape_privmsg
+irc_mirc2html
+irc_mirc2txt
+irc_nick_skip_mode
+irc_ischannel
+irc_register_commands
+irc_msg_table_build
+irc_parse_msg
+irc_parse_ctcp
+irc_format
+irc_msg_default
+irc_msg_away
+irc_msg_badmode
+irc_msg_badnick
+irc_msg_ban
+irc_msg_banfull
+irc_msg_banned
+irc_msg_chanmode
+irc_msg_endwhois
+irc_msg_features
+irc_msg_invite
+irc_msg_inviteonly
+irc_msg_ison
+irc_msg_join
+irc_msg_kick
+irc_msg_list
+irc_msg_luser
+irc_msg_mode
+irc_msg_motd
+irc_msg_names
+irc_msg_nick
+irc_msg_nickused
+irc_msg_nochan
+irc_msg_nonick
+irc_msg_nochangenick
+irc_msg_nosend
+irc_msg_notice
+irc_msg_notinchan
+irc_msg_notop
+irc_msg_part
+irc_msg_ping
+irc_msg_pong
+irc_msg_privmsg
+irc_msg_quit
+irc_msg_regonly
+irc_msg_time
+irc_msg_topic
+irc_msg_unavailable
+irc_msg_unknown
+irc_msg_wallops
+irc_msg_whois
+irc_msg_who
+irc_msg_ignore
+irc_cmd_table_build
+irc_cmd_default
+irc_cmd_away
+irc_cmd_ctcp
+irc_cmd_ctcp_action
+irc_cmd_ctcp_version
+irc_cmd_invite
+irc_cmd_join
+irc_cmd_kick
+irc_cmd_list
+irc_cmd_mode
+irc_cmd_names
+irc_cmd_nick
+irc_cmd_op
+irc_cmd_privmsg
+irc_cmd_part
+irc_cmd_ping
+irc_cmd_quit
+irc_cmd_quote
+irc_cmd_query
+irc_cmd_remove
+irc_cmd_service
+irc_cmd_time
+irc_cmd_topic
+irc_cmd_wallops
+irc_cmd_whois
+irc_cmd_whowas
+irc_dccsend_new_xfer
+irc_dccsend_send_file
+irc_dccsend_recv
+</SECTION>
+
+<SECTION>
+<FILE>defines</FILE>
+CUSTOM_USER_DIRECTORY
+CUSTOM_PLUGIN_PATH
+PLUGIN_SAVE_PREF
+UI_ID
+</SECTION>
+
+<SECTION>
+<FILE>mono-helper</FILE>
+PurpleMonoPlugin
+ml_init
+ml_uninit
+ml_invoke
+ml_delegate_invoke
+ml_find_plugin_class
+ml_get_prop_string
+ml_set_prop_string
+ml_get_info_prop
+ml_is_api_dll
+ml_get_domain
+ml_set_domain
+ml_init_internal_calls
+ml_object_from_purple_type
+ml_object_from_purple_subtype
+ml_create_api_object
+ml_set_api_image
+ml_get_api_image
+ml_add_plugin
+ml_remove_plugin
+ml_find_plugin
+ml_find_plugin_by_class
+ml_get_plugin_hash
+</SECTION>
+
+<SECTION>
+<FILE>mono-glue</FILE>
+purple_debug_glue
+purple_signal_connect_glue
+purple_blist_get_handle_glue
+purple_blist_build_buddy_object
+purple_status_build_status_object
+</SECTION>
+
+<SECTION>
+<FILE>tcl_purple</FILE>
+PurpleTclRefAccount
+PurpleTclRefConnection
+PurpleTclRefConversation
+PurpleTclRefPointer
+PurpleTclRefPlugin
+PurpleTclRefPresence
+PurpleTclRefStatus
+PurpleTclRefStatusAttr
+PurpleTclRefStatusType
+PurpleTclRefXfer
+PurpleTclRefHandle
+tcl_interp_get_plugin
+tcl_signal_init
+tcl_signal_handler_free
+tcl_signal_cleanup
+tcl_signal_connect
+tcl_signal_disconnect
+tcl_cmd_init
+tcl_cmd_handler_free
+tcl_cmd_cleanup
+tcl_cmd_register
+tcl_cmd_unregister
+purple_tcl_ref_init
+purple_tcl_ref_get
+purple_tcl_ref_new
+</SECTION>
+
+<SECTION>
+<FILE>tcl_glib</FILE>
+tcl_glib_init
+</SECTION>
+
+<SECTION>
+<FILE>perl-handlers</FILE>
+purple_perl_plugin_action_cb
+purple_perl_plugin_actions
+purple_perl_get_plugin_frame
+purple_perl_gtk_get_plugin_frame
+purple_perl_timeout_add
+purple_perl_timeout_remove
+purple_perl_timeout_clear_for_plugin
+purple_perl_timeout_clear
+purple_perl_signal_connect
+purple_perl_signal_disconnect
+purple_perl_signal_clear_for_plugin
+purple_perl_signal_clear
+purple_perl_cmd_register
+purple_perl_cmd_unregister
+purple_perl_cmd_clear_for_plugin
+purple_perl_prefs_connect_callback
+purple_perl_prefs_disconnect_callback
+purple_perl_pref_cb_clear_for_plugin
+</SECTION>
+
+<SECTION>
+<FILE>perl-common</FILE>
+is_hvref
+hvref
+PURPLE_PERL_BOOT_PROTO
+PURPLE_PERL_BOOT
+purple_perl_normalize_script_name
+newSVGChar
+purple_perl_callXS
+purple_perl_bless_plain
+purple_perl_bless_object
+purple_perl_is_ref_object
+purple_perl_ref_object
+execute_perl
+purple_perl_value_from_sv
+purple_perl_sv_from_value
+purple_perl_data_from_sv
+purple_perl_sv_from_vargs
+purple_perl_sv_from_fun
+</SECTION>
+
+<SECTION>
+<FILE>module</FILE>
+Purple__Group
+group
+Purple__Account
+Purple__Account__Option
+Purple__Account__UserSplit
+Purple__BuddyList__Node
+Purple__BuddyList__NodeFlags
+Purple__BuddyList__Buddy
+Purple__BuddyList__Chat
+Purple__BuddyList__Contact
+Purple__BuddyList__Group
+Purple__Buddy__Icon
+Purple__Certificate
+Purple__Certificate__Pool
+Purple__Certificate__Scheme
+Purple__Certificate__Verifier
+Purple__Certificate__VerificationRequest
+Purple__Certificate__VerificationStatus
+Purple__Cipher
+Purple__Cipher__BatchMode
+Purple__Hash
+Purple__Cmd__Flag
+Purple__Cmd__Id
+Purple__Cmd__Priority
+Purple__Cmd__Ret
+Purple__Connection
+Purple__ConnectionFlags
+Purple__ConnectionState
+Purple__ConversationType
+Purple__ConvUpdateType
+Purple__TypingState
+Purple__MessageFlags
+Purple__ConvChatBuddyFlags
+Purple__Conversation
+Purple__Conversation__IM
+Purple__Conversation__Chat
+Purple__Conversation__ChatBuddy
+Purple__Core
+Purple__DebugLevel
+Purple__DesktopItem
+Purple__DesktopItemType
+Purple__InputCondition
+Purple__Xfer
+Purple__XferType
+Purple__XferStatusType
+Purple__GTK__BuddyList
+Purple__StatusIconSize
+Purple__ButtonOrientation
+Purple__ButtonStyle
+Purple__BrowserPlace
+Purple__UnseenState
+Purple__GTK__Conversation
+Purple__GDK__Pixbuf
+Purple__GTK__Widget
+Purple__GTK__FileSelection
+Purple__GTK__SelectionData
+Purple__GTK__TextView
+Purple__StoredImage
+Purple__Log
+Purple__LogCommonLoggerData
+Purple__Log__Logger
+Purple__Log__ReadFlags
+Purple__LogSet
+Purple__LogType
+Purple__NetworkListenData
+Purple__NetworkListenCallback
+Purple__NotifyCloseCallback
+Purple__NotifyMsgType
+Purple__NotifySearchButtonType
+Purple__NotifySearchResults
+Purple__NotifySearchColumn
+Purple__NotifySearchButton
+Purple__NotifyType
+Purple__NotifyUserInfo
+Purple__NotifyUserInfoEntry
+Purple__Plugin
+Purple__Plugin__Action
+Purple__PluginInfo
+Purple__PluginLoaderInfo
+Purple__PluginType
+Purple__PluginUiInfo
+Purple__PluginPref
+Purple__PluginPref__Frame
+Purple__PluginPrefType
+Purple__String__Format__Type
+Purple__Pounce
+Purple__PounceEvent
+Purple__PrefType
+Purple__PrivacyType
+Purple__ProxyInfo
+Purple__ProxyType
+Purple__Buddy__Icon__Spec
+Purple__IconScaleRules
+Purple__PluginProtocolInfo
+Purple__ProtocolOptions
+Purple__Request__Field
+Purple__Request__Fields
+Purple__Request__Field__Group
+Purple__RequestFieldType
+Purple__RequestType
+Purple__Roomlist
+Purple__Roomlist__Field
+Purple__RoomlistFieldType
+Purple__Roomlist__Room
+Purple__RoomlistRoomType
+Purple__SavedStatus
+Purple__SavedStatus__Sub
+Purple__Smiley
+Purple__SoundEventID
+Purple__Input__Condition
+Purple__Ssl__Connection
+Purple__SslErrorType
+Purple__Ssl__Ops
+Purple__Presence
+Purple__PresenceContext
+Purple__Status
+Purple__StatusAttr
+Purple__StatusPrimitive
+Purple__StatusType
+Purple__Stringref
+Purple__Util__InfoFieldFormatCallback
+Purple__Util__FetchUrlData
+Purple__Menu__Action
+Purple__Value
+Purple__Whiteboard
+Purple__XMLNode
+XMLNode__Type
+Purple__Handle
+gchar_own
+constiv
+</SECTION>
+
+<SECTION>
+<FILE>enum-types</FILE>
+PURPLE_TYPE_MEDIA_CANDIDATE_TYPE
+PURPLE_MEDIA_TYPE_CAPS
+PURPLE_MEDIA_TYPE_INFO_TYPE
+PURPLE_TYPE_MEDIA_NETWORK_PROTOCOL
+PURPLE_TYPE_MEDIA_SESSION_TYPE
+PURPLE_MEDIA_TYPE_STATE
+PurpleMediaCandidateType
+PurpleMediaCaps
+PurpleMediaComponentType
+PurpleMediaInfoType
+PurpleMediaNetworkProtocol
+PurpleMediaSessionType
+PurpleMediaState
+purple_media_candidate_type_get_type
+purple_media_caps_get_type
+purple_media_info_type_get_type
+purple_media_network_protocol_get_type
+purple_media_session_type_get_type
+purple_media_state_changed_get_type
+</SECTION>
+
+<SECTION>
+<FILE>tests</FILE>
+master_suite
+cipher_suite
+jabber_caps_suite
+jabber_digest_md5_suite
+jabber_jutil_suite
+jabber_scram_suite
+oscar_util_suite
+qq_suite
+yahoo_util_suite
+util_suite
+assert_int_equal
+assert_string_equal
+assert_string_equal_free
+</SECTION>
+
============================================================
--- /dev/null	
+++ doc/libpurple/libpurple.types	d266235bfff154f4190c1e3f96cd3afc44dadc37
@@ -0,0 +1,80 @@
+#include <libpurple/purple.h>
+
+purple_account_request_response_get_type
+purple_account_request_type_get_type
+purple_blist_node_flags_get_type
+purple_buddy_get_type
+purple_certificate_verification_status_get_type
+purple_chat_get_type
+purple_circular_buffer_get_type
+purple_connection_error_get_type
+purple_connection_flags_get_type
+purple_connection_state_get_type
+purple_contact_get_type
+purple_conv_chat_buddy_flags_get_type
+purple_conv_update_type_get_type
+purple_conversation_type_get_type
+purple_debug_level_get_type
+purple_desktop_item_get_type
+purple_desktop_item_type_get_type
+purple_g_hash_get_type
+purple_g_signal_handle_get_type
+purple_group_get_type
+purple_hmac_function_get_type
+purple_icon_scale_rules_get_type
+purple_input_condition_get_type
+purple_log_read_flags_get_type
+purple_log_type_get_type
+purple_media_backend_fs2_get_type
+purple_media_backend_get_type
+purple_media_candidate_get_type
+purple_media_candidate_type_get_type
+purple_media_caps_get_type
+purple_media_codec_get_type
+purple_media_element_info_get_type
+purple_media_element_type_get_type
+purple_media_element_type_get_type
+purple_media_get_type
+purple_media_info_type_get_type
+purple_media_manager_get_type
+purple_media_network_protocol_get_type
+purple_media_session_type_get_type
+purple_media_state_changed_get_type
+purple_message_flags_get_type
+purple_notify_msg_type_get_type
+purple_notify_search_button_type_get_type
+purple_notify_type_get_type
+purple_notify_user_info_entry_type_get_type
+purple_object_get_type
+purple_plugin_pref_type_get_type
+purple_plugin_type_get_type
+purple_pmp_type_get_type
+purple_pounce_event_get_type
+purple_pounce_option_get_type
+purple_pref_type_get_type
+purple_presence_context_get_type
+purple_privacy_type_get_type
+purple_protocol_options_get_type
+purple_proxy_type_get_type
+purple_request_field_type_get_type
+purple_request_type_get_type
+purple_roomlist_field_type_get_type
+purple_roomlist_room_type_get_type
+purple_smiley_get_type
+purple_sound_event_id_get_type
+purple_sound_theme_get_type
+purple_sound_theme_loader_get_type
+purple_ssl_error_type_get_type
+purple_status_primitive_get_type
+purple_string_format_type_get_type
+purple_stun_nat_type_get_type
+purple_stun_status_get_type
+purple_sub_type_get_type
+purple_theme_get_type
+purple_theme_loader_get_type
+purple_theme_manager_get_type
+purple_type_get_type
+purple_typing_state_get_type
+purple_xfer_status_type_get_type
+purple_xfer_type_get_type
+x_ml_node_type_get_type
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/account.sgml	6808b3da356fa5e69bce828b5c86dbb76fc5cf7e
@@ -0,0 +1,1001 @@
+<!-- ##### SECTION Title ##### -->
+PurpleAccount
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION purple_account_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleAccount ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleAccountClass ##### -->
+<para>
+
+</para>
+
+ at parent: 
+
+<!-- ##### STRUCT PurpleAccountUiOps ##### -->
+<para>
+
+</para>
+
+ at notify_added: 
+ at status_changed: 
+ at request_add: 
+ at request_authorize: 
+ at close_account_request: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### USER_FUNCTION PurpleFilterAccountFunc ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION PurpleAccountRequestAuthorizationCb ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### USER_FUNCTION PurpleAccountRegistrationCb ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at succeeded: 
+ at user_data: 
+
+
+<!-- ##### USER_FUNCTION PurpleAccountUnregistrationCb ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at succeeded: 
+ at user_data: 
+
+
+<!-- ##### USER_FUNCTION PurpleSetPublicAliasSuccessCallback ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at new_alias: 
+
+
+<!-- ##### USER_FUNCTION PurpleSetPublicAliasFailureCallback ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at error: 
+
+
+<!-- ##### USER_FUNCTION PurpleGetPublicAliasSuccessCallback ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at alias: 
+
+
+<!-- ##### USER_FUNCTION PurpleGetPublicAliasFailureCallback ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at error: 
+
+
+<!-- ##### ENUM PurpleAccountRequestType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_ACCOUNT_REQUEST_AUTHORIZATION: 
+
+<!-- ##### ENUM PurpleAccountRequestResponse ##### -->
+<para>
+
+</para>
+
+ at PURPLE_ACCOUNT_RESPONSE_IGNORE: 
+ at PURPLE_ACCOUNT_RESPONSE_DENY: 
+ at PURPLE_ACCOUNT_RESPONSE_PASS: 
+ at PURPLE_ACCOUNT_RESPONSE_ACCEPT: 
+
+<!-- ##### FUNCTION purple_account_new ##### -->
+<para>
+
+</para>
+
+ at username: 
+ at protocol_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_connect ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_set_register_callback ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at cb: 
+ at user_data: 
+
+
+<!-- ##### FUNCTION purple_account_register ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_unregister ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at cb: 
+ at user_data: 
+
+
+<!-- ##### FUNCTION purple_account_disconnect ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_notify_added ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at remote_user: 
+ at id: 
+ at alias: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_account_request_add ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at remote_user: 
+ at id: 
+ at alias: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_account_request_authorization ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at remote_user: 
+ at id: 
+ at alias: 
+ at message: 
+ at on_list: 
+ at auth_cb: 
+ at deny_cb: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_request_close_with_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_request_close ##### -->
+<para>
+
+</para>
+
+ at ui_handle_NULL: 
+
+
+<!-- ##### FUNCTION purple_account_request_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ok_cb: 
+ at cancel_cb: 
+ at user_data: 
+
+
+<!-- ##### FUNCTION purple_account_request_change_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_request_change_user_info ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_set_username ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at username: 
+
+
+<!-- ##### FUNCTION purple_account_set_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at password: 
+
+
+<!-- ##### FUNCTION purple_account_set_alias ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at alias: 
+
+
+<!-- ##### FUNCTION purple_account_set_user_info ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at user_info: 
+
+
+<!-- ##### FUNCTION purple_account_set_buddy_icon_path ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at path: 
+
+
+<!-- ##### FUNCTION purple_account_set_connection ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at gc: 
+
+
+<!-- ##### FUNCTION purple_account_set_remember_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_check_mail ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_enabled ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_proxy_info ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at info: 
+
+
+<!-- ##### FUNCTION purple_account_set_privacy_type ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at privacy_type: 
+
+
+<!-- ##### FUNCTION purple_account_set_status_types ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status_types_NULL: 
+
+
+<!-- ##### FUNCTION purple_account_set_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status_id: 
+ at active: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_account_set_status_list ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status_id: 
+ at active: 
+ at attrs_NULL: 
+
+
+<!-- ##### FUNCTION purple_account_set_public_alias ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at alias: 
+ at success_cb: 
+ at failure_cb: 
+
+
+<!-- ##### FUNCTION purple_account_get_public_alias ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at success_cb: 
+ at failure_cb: 
+
+
+<!-- ##### FUNCTION purple_account_get_silence_suppression ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_set_silence_suppression ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_clear_settings ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_remove_setting ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at setting: 
+
+
+<!-- ##### FUNCTION purple_account_set_int ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_string ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_bool ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_ui_int ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_ui_string ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_ui_bool ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_is_connected ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_is_connecting ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_is_disconnected ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_is_disconnecting ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_username ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_alias ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_user_info ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_buddy_icon_path ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_protocol_id ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_protocol_name ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_connection ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_name_for_display ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_remember_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_check_mail ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_enabled ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_proxy_info ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_privacy_type ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_active_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_status_type ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_status_type_with_primitive ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at primitive: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_presence ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_is_status_active ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_status_types ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_int ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_string ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_bool ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_ui_int ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_ui_string ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_ui_bool ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_log ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at create: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_destroy_log ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_add_buddy ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddy: 
+
+
+<!-- ##### FUNCTION purple_account_add_buddy_with_invite ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddy: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_account_add_buddies ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddies_NULL: 
+
+
+<!-- ##### FUNCTION purple_account_add_buddies_with_invite ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddies_NULL: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_account_remove_buddy ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddy: 
+ at group: 
+
+
+<!-- ##### FUNCTION purple_account_remove_buddies ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddies_NULL: 
+ at groups_NULL: 
+
+
+<!-- ##### FUNCTION purple_account_remove_group ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at group: 
+
+
+<!-- ##### FUNCTION purple_account_change_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at orig_pw: 
+ at new_pw: 
+
+
+<!-- ##### FUNCTION purple_account_supports_offline_message ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_current_error ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_clear_current_error ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_to_xmlnode ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_restore_current_statuses ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_accounts_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_accounts_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/accountlist.sgml	baff4f21870d975b8eab83f65a1a97b8ba057cc4
@@ -0,0 +1,85 @@
+<!-- ##### SECTION Title ##### -->
+accountlist
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION purple_accounts_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_accounts_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_accounts_activate ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_accounts_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_actives ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_find ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at protocol: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_reorder ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at newindex: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/accountopt.sgml	27491c8e331ac94401781b91c366ca7a538ad70e
@@ -0,0 +1,287 @@
+<!-- ##### SECTION Title ##### -->
+accountopt
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION purple_account_option_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at text: 
+ at pref_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_bool_new ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at pref_name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_int_new ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at pref_name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_string_new ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at pref_name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_list_new ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at pref_name: 
+ at list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_destroy ##### -->
+<para>
+
+</para>
+
+ at option: 
+
+
+<!-- ##### FUNCTION purple_account_option_set_default_bool ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_option_set_default_int ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_option_set_default_string ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_option_set_masked ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at masked: 
+
+
+<!-- ##### FUNCTION purple_account_option_set_list ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at values: 
+
+
+<!-- ##### FUNCTION purple_account_option_add_list_item ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at key: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_option_get_type ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_get_text ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_get_setting ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_get_default_bool ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_get_default_int ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_get_default_string ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_get_default_list_value ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_get_masked ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_option_get_list ##### -->
+<para>
+
+</para>
+
+ at option: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_user_split_new ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at default_value: 
+ at sep: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_user_split_destroy ##### -->
+<para>
+
+</para>
+
+ at split: 
+
+
+<!-- ##### FUNCTION purple_account_user_split_get_text ##### -->
+<para>
+
+</para>
+
+ at split: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_user_split_get_default_value ##### -->
+<para>
+
+</para>
+
+ at split: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_user_split_get_separator ##### -->
+<para>
+
+</para>
+
+ at split: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_user_split_get_reverse ##### -->
+<para>
+
+</para>
+
+ at split: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_user_split_set_reverse ##### -->
+<para>
+
+</para>
+
+ at split: 
+ at reverse: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/actions.sgml	e266fd48d8ffad3e1343135f493a81f6491e4a88
@@ -0,0 +1,34 @@
+<!-- ##### SECTION Title ##### -->
+actions
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION mxit_actions ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at context: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/adhoccommands.sgml	6e03107aa68ffa5d228cbdd9dd3d693238ec06d1
@@ -0,0 +1,82 @@
+<!-- ##### SECTION Title ##### -->
+adhoccommands
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_adhoc_disco_result_cb ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at packet: 
+ at data: 
+
+
+<!-- ##### FUNCTION jabber_adhoc_execute ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at cmd: 
+
+
+<!-- ##### FUNCTION jabber_adhoc_execute_action ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at data: 
+
+
+<!-- ##### FUNCTION jabber_adhoc_got_list ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at query: 
+
+
+<!-- ##### FUNCTION jabber_adhoc_server_get_list ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_adhoc_init_server_commands ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at m: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/aes.sgml	efaacaa8c5d38bbd51f7da0dbce015836e8f3a42
@@ -0,0 +1,80 @@
+<!-- ##### SECTION Title ##### -->
+aes
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO Nb ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Nk ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Nr ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### TYPEDEF uchar ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION ExpandKey ##### -->
+<para>
+
+</para>
+
+ at key: 
+ at expkey: 
+
+
+<!-- ##### FUNCTION Encrypt ##### -->
+<para>
+
+</para>
+
+ at in: 
+ at expkey: 
+ at out: 
+
+
+<!-- ##### FUNCTION Decrypt ##### -->
+<para>
+
+</para>
+
+ at in: 
+ at expkey: 
+ at out: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/auth.sgml	33f85631821a022bcf7a0a43641b49523988c6a6
@@ -0,0 +1,158 @@
+<!-- ##### SECTION Title ##### -->
+auth
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JabberSaslMech ##### -->
+<para>
+
+</para>
+
+ at priority: 
+ at name: 
+ at start: 
+ at handle_challenge: 
+ at handle_success: 
+ at handle_failure: 
+ at dispose: 
+
+<!-- ##### ENUM JabberSaslState ##### -->
+<para>
+
+</para>
+
+ at JABBER_SASL_STATE_FAIL: 
+ at JABBER_SASL_STATE_OK: 
+ at JABBER_SASL_STATE_CONTINUE: 
+
+<!-- ##### FUNCTION jabber_auth_start ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+
+
+<!-- ##### FUNCTION jabber_auth_start_old ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_auth_handle_challenge ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+
+
+<!-- ##### FUNCTION jabber_auth_handle_success ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+
+
+<!-- ##### FUNCTION jabber_auth_handle_failure ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+
+
+<!-- ##### FUNCTION jabber_auth_get_plain_mech ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_auth_get_digest_md5_mech ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_auth_get_scram_mechs ##### -->
+<para>
+
+</para>
+
+ at count: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_auth_get_cyrus_mech ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_auth_add_mech ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### FUNCTION jabber_auth_remove_mech ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### FUNCTION jabber_auth_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_auth_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/auth_digest_md5.sgml	ef8d0daaa4e803c08f3f6160128c02f430b785a6
@@ -0,0 +1,33 @@
+<!-- ##### SECTION Title ##### -->
+auth_digest_md5
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_auth_digest_md5_parse ##### -->
+<para>
+
+</para>
+
+ at challenge: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/auth_scram.sgml	1ee05e4b9e7ab51c5cbc1418919c7e1ff462cae9
@@ -0,0 +1,89 @@
+<!-- ##### SECTION Title ##### -->
+auth_scram
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JabberScramHash ##### -->
+<para>
+
+</para>
+
+ at mech_substr: 
+ at new: 
+ at size: 
+
+<!-- ##### STRUCT JabberScramData ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at cnonce: 
+ at auth_message: 
+ at client_proof: 
+ at server_signature: 
+ at password: 
+ at channel_binding: 
+ at step: 
+
+<!-- ##### FUNCTION jabber_scram_hi ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at str: 
+ at salt: 
+ at iterations: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_scram_calc_proofs ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at salt: 
+ at iterations: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_scram_feed_parser ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at in: 
+ at out: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_scram_data_destroy ##### -->
+<para>
+
+</para>
+
+ at data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/backend-fs2.sgml	41a3d0b667463b922b3f3a6ded5bbbcace96ef7e
@@ -0,0 +1,80 @@
+<!-- ##### SECTION Title ##### -->
+backend-fs2
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO PURPLE_MEDIA_BACKEND_FS2_CLASS ##### -->
+<para>
+
+</para>
+
+ at klass: 
+
+
+<!-- ##### STRUCT PurpleMediaBackendFs2 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_media_backend_fs2_get_src ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at sess_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_backend_fs2_get_tee ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at sess_id: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_backend_fs2_set_input_volume ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at sess_id: 
+ at level: 
+
+
+<!-- ##### FUNCTION purple_media_backend_fs2_set_output_volume ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at sess_id: 
+ at who: 
+ at level: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/backend-iface.sgml	47cf9240e2f881d7e62cc212405868404438a522
@@ -0,0 +1,176 @@
+<!-- ##### SECTION Title ##### -->
+PurpleMediaBackend
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleMediaBackend ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SIGNAL PurpleMediaBackend::active-candidate-pair ##### -->
+<para>
+
+</para>
+
+ at purplemediabackend: the object which received the signal.
+ at arg1: 
+ at arg2: 
+ at arg3: 
+ at arg4: 
+
+<!-- ##### SIGNAL PurpleMediaBackend::candidates-prepared ##### -->
+<para>
+
+</para>
+
+ at purplemediabackend: the object which received the signal.
+ at arg1: 
+ at arg2: 
+
+<!-- ##### SIGNAL PurpleMediaBackend::codecs-changed ##### -->
+<para>
+
+</para>
+
+ at purplemediabackend: the object which received the signal.
+ at arg1: 
+
+<!-- ##### SIGNAL PurpleMediaBackend::error ##### -->
+<para>
+
+</para>
+
+ at purplemediabackend: the object which received the signal.
+ at arg1: 
+
+<!-- ##### SIGNAL PurpleMediaBackend::new-candidate ##### -->
+<para>
+
+</para>
+
+ at purplemediabackend: the object which received the signal.
+ at arg1: 
+ at arg2: 
+ at arg3: 
+
+<!-- ##### ARG PurpleMediaBackend:conference-type ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT PurpleMediaBackendIface ##### -->
+<para>
+
+</para>
+
+ at parent_iface: 
+ at add_stream: 
+ at add_remote_candidates: 
+ at codecs_ready: 
+ at get_codecs: 
+ at get_local_candidates: 
+ at set_remote_codecs: 
+ at set_send_codec: 
+
+<!-- ##### FUNCTION purple_media_backend_add_stream ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at sess_id: 
+ at who: 
+ at type: 
+ at initiator: 
+ at transmitter: 
+ at num_params: 
+ at params: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_backend_add_remote_candidates ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at sess_id: 
+ at participant: 
+ at remote_candidates: 
+
+
+<!-- ##### FUNCTION purple_media_backend_codecs_ready ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at sess_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_backend_get_codecs ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at sess_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_backend_get_local_candidates ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at sess_id: 
+ at participant: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_backend_set_remote_codecs ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at sess_id: 
+ at participant: 
+ at codecs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_backend_set_send_codec ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at sess_id: 
+ at codec: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/blist-node.sgml	1c78a775a9c92497d439e87e226ef1e6bff05406
@@ -0,0 +1,403 @@
+<!-- ##### SECTION Title ##### -->
+PurpleBlistNode
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION PURPLE_BUDDY_IS_ONLINE ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### ENUM PurpleBlistNodeFlags ##### -->
+<para>
+
+</para>
+
+ at PURPLE_BLIST_NODE_FLAG_NO_SAVE: 
+
+<!-- ##### FUNCTION PURPLE_BLIST_NODE_HAS_FLAG ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_BLIST_NODE_SHOULD_SAVE ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleBlistNode ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleBlistNodeClass ##### -->
+<para>
+
+</para>
+
+ at _parent: 
+ at add_sibling: 
+ at add_child: 
+ at remove: 
+ at first_child: 
+ at parent: 
+ at next: 
+ at prev: 
+ at is_online: 
+ at purple_reserved1: 
+ at purple_reserved2: 
+ at purple_reserved3: 
+ at purple_reserved4: 
+
+<!-- ##### MACRO PURPLE_GET_BLIST_NODE_CLASS ##### -->
+<para>
+
+</para>
+
+ at obj: 
+
+
+<!-- ##### FUNCTION purple_blist_node_next_online ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at offline: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_parent ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_first_child ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_next ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_prev ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_contains ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_save ##### -->
+<para>
+
+</para>
+
+ at node: 
+
+
+<!-- ##### FUNCTION purple_blist_node_add_child ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at child: 
+
+
+<!-- ##### FUNCTION purple_blist_node_add_sibling ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at sibling: 
+
+
+<!-- ##### FUNCTION purple_blist_node_remove ##### -->
+<para>
+
+</para>
+
+ at node: 
+
+
+<!-- ##### FUNCTION purple_blist_node_strip ##### -->
+<para>
+
+</para>
+
+ at node: 
+
+
+<!-- ##### FUNCTION purple_blist_node_get_ui_data ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_set_ui_data ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at ui_data: 
+
+
+<!-- ##### FUNCTION purple_blist_node_has_setting ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at key: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_set_bool ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at key: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_blist_node_get_bool ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at key: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_set_int ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at key: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_blist_node_get_settings ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_is_empty ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_is_online ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_get_int ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at key: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_set_string ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at key: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_blist_node_get_string ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at key: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_remove_setting ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at key: 
+
+
+<!-- ##### FUNCTION purple_blist_node_set_flags ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at flags: 
+
+
+<!-- ##### FUNCTION purple_blist_node_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_get_flags ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_find_container ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_get_extended_menu ##### -->
+<para>
+
+</para>
+
+ at n: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_node_destroy ##### -->
+<para>
+
+</para>
+
+ at node: 
+
+
+<!-- ##### FUNCTION purple_blist_node_initialize_settings ##### -->
+<para>
+
+</para>
+
+ at node: 
+
+
+<!-- ##### FUNCTION purple_blist_get_last_sibling ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_get_last_child ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/blist.sgml	5cb00c93fb8c0686800bfdaa2f282637d193b44d
@@ -0,0 +1,351 @@
+<!-- ##### SECTION Title ##### -->
+blist
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleBlistUiOps ##### -->
+<para>
+
+</para>
+
+ at new_list: 
+ at new_node: 
+ at show: 
+ at update: 
+ at remove: 
+ at destroy: 
+ at set_visible: 
+ at request_add_buddy: 
+ at request_add_chat: 
+ at request_add_group: 
+ at save_node: 
+ at remove_node: 
+ at save_account: 
+ at _purple_reserved1: 
+
+<!-- ##### FUNCTION parse_setting ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at setting: 
+
+
+<!-- ##### FUNCTION value_to_xmlnode ##### -->
+<para>
+
+</para>
+
+ at key: 
+ at hvalue: 
+ at user_data: 
+
+
+<!-- ##### FUNCTION purple_strings_are_different ##### -->
+<para>
+
+</para>
+
+ at one: 
+ at two: 
+ at Returns: 
+
+
+<!-- ##### STRUCT list_account_buddies ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at account: 
+
+<!-- ##### FUNCTION purple_blist_get_root ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_get_buddies ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_get_ui_data ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_set_ui_data ##### -->
+<para>
+
+</para>
+
+ at ui_data: 
+
+
+<!-- ##### FUNCTION purple_blist_show ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_blist_destroy ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_blist_set_visible ##### -->
+<para>
+
+</para>
+
+ at show: 
+
+
+<!-- ##### FUNCTION purple_blist_update_buddy_status ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at old_status: 
+
+
+<!-- ##### FUNCTION purple_blist_update_node_icon ##### -->
+<para>
+
+</para>
+
+ at node: 
+
+
+<!-- ##### FUNCTION purple_blist_update_buddy_icon ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+
+
+<!-- ##### FUNCTION purple_blist_alias_contact ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at alias: 
+
+
+<!-- ##### FUNCTION purple_blist_server_alias_buddy ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at alias: 
+
+
+<!-- ##### FUNCTION purple_blist_rename_group ##### -->
+<para>
+
+</para>
+
+ at group: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_blist_add_chat ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at group: 
+ at node: 
+
+
+<!-- ##### FUNCTION purple_blist_add_buddy ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at contact: 
+ at group: 
+ at node: 
+
+
+<!-- ##### FUNCTION purple_find_buddy ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_find_buddy_in_group ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at group: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_find_buddies ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_find_group ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_find_chat ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_add_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_blist_remove_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_blist_load ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_blist_schedule_save ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_blist_request_add_buddy ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at username: 
+ at group: 
+ at alias: 
+
+
+<!-- ##### FUNCTION purple_blist_request_add_chat ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at group: 
+ at alias: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_blist_request_add_group ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_blist_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_blist_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/bonjour.sgml	3cd6bc6248c0423a4d6584a1208a9f0605304cc6
@@ -0,0 +1,82 @@
+<!-- ##### SECTION Title ##### -->
+bonjour
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO BONJOUR_GROUP_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO BONJOUR_PROTOCOL_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO BONJOUR_ICON_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO BONJOUR_STATUS_ID_OFFLINE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO BONJOUR_STATUS_ID_AVAILABLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO BONJOUR_STATUS_ID_AWAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO BONJOUR_DEFAULT_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION bonjour_get_jid ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/bonjour_ft.sgml	7ec8902cce8ec41b2f230d2d562c2fcd2b8b2e0f
@@ -0,0 +1,97 @@
+<!-- ##### SECTION Title ##### -->
+bonjour_ft
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT XepXfer ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at filename: 
+ at filesize: 
+ at iq_id: 
+ at sid: 
+ at recv_id: 
+ at buddy_ip: 
+ at mode: 
+ at listen_data: 
+ at sock5_req_state: 
+ at rxlen: 
+ at rx_buf: 
+ at tx_buf: 
+ at proxy_info: 
+ at proxy_connection: 
+ at jid: 
+ at proxy_host: 
+ at proxy_port: 
+
+<!-- ##### ENUM XepSiMode ##### -->
+<para>
+
+</para>
+
+ at XEP_BYTESTREAMS: 
+ at XEP_IBB: 
+ at XEP_UNKNOWN: 
+
+<!-- ##### FUNCTION bonjour_new_xfer ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION bonjour_send_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at file: 
+
+
+<!-- ##### FUNCTION xep_si_parse ##### -->
+<para>
+
+</para>
+
+ at pc: 
+ at packet: 
+ at pb: 
+
+
+<!-- ##### FUNCTION xep_bytestreams_parse ##### -->
+<para>
+
+</para>
+
+ at pc: 
+ at packet: 
+ at pb: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/bosh.sgml	1a685c04a5be1e4bf4f385862aa6e2a2da0192b9
@@ -0,0 +1,106 @@
+<!-- ##### SECTION Title ##### -->
+bosh
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleBOSHConnection ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION jabber_bosh_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_bosh_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_bosh_connection_init ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at url: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_bosh_connection_destroy ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION jabber_bosh_connection_is_ssl ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_bosh_connection_send_keepalive ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION jabber_bosh_connection_connect ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION jabber_bosh_connection_close ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION jabber_bosh_connection_send_raw ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/buddy.sgml	02fd8a1d2e7ae8c70bf10bef4574bfda0b19b293
@@ -0,0 +1,224 @@
+<!-- ##### SECTION Title ##### -->
+buddy
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JabberBuddy ##### -->
+<para>
+
+</para>
+
+ at resources: 
+ at error_msg: 
+
+<!-- ##### STRUCT JabberAdHocCommands ##### -->
+<para>
+
+</para>
+
+ at jid: 
+ at node: 
+ at name: 
+
+<!-- ##### STRUCT JabberBuddyResource ##### -->
+<para>
+
+</para>
+
+ at jb: 
+ at name: 
+ at priority: 
+ at state: 
+ at status: 
+ at idle: 
+ at capabilities: 
+ at thread_id: 
+ at commands: 
+ at commands_fetched: 
+
+<!-- ##### FUNCTION jabber_buddy_free ##### -->
+<para>
+
+</para>
+
+ at jb: 
+
+
+<!-- ##### FUNCTION jabber_buddy_find ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at name: 
+ at create: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_buddy_find_resource ##### -->
+<para>
+
+</para>
+
+ at jb: 
+ at resource: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_buddy_track_resource ##### -->
+<para>
+
+</para>
+
+ at jb: 
+ at resource: 
+ at priority: 
+ at state: 
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_buddy_remove_resource ##### -->
+<para>
+
+</para>
+
+ at jb: 
+ at resource: 
+
+
+<!-- ##### FUNCTION jabber_buddy_get_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION jabber_blist_node_menu ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_set_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at info: 
+
+
+<!-- ##### FUNCTION jabber_setup_set_info ##### -->
+<para>
+
+</para>
+
+ at action: 
+
+
+<!-- ##### FUNCTION jabber_set_buddy_icon ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at img: 
+
+
+<!-- ##### FUNCTION jabber_user_search ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at directory: 
+
+
+<!-- ##### FUNCTION jabber_user_search_begin ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### FUNCTION jabber_buddy_remove_all_pending_buddy_info_requests ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_vcard_fetch_mine ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_resource_know_capabilities ##### -->
+<para>
+
+</para>
+
+ at jbr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_resource_has_capability ##### -->
+<para>
+
+</para>
+
+ at jbr: 
+ at cap: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_buddy_has_capability ##### -->
+<para>
+
+</para>
+
+ at jb: 
+ at cap: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_resource_get_identity_category_type ##### -->
+<para>
+
+</para>
+
+ at jbr: 
+ at category: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/buddy_info.sgml	7d1995bec4aeef19b701703dd62e875ac48605f2
@@ -0,0 +1,209 @@
+<!-- ##### SECTION Title ##### -->
+buddy_info
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO QQ_COMM_FLAG_QQ_VIP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_COMM_FLAG_QQ_MEMBER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_COMM_FLAG_TCP_MODE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_COMM_FLAG_MOBILE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_COMM_FLAG_BIND_MOBILE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_COMM_FLAG_VIDEO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_EXT_FLAG_ZONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_BUDDY_GENDER_GG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_BUDDY_GENDER_MM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_BUDDY_GENDER_UNKNOWN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION qq_get_icon_name ##### -->
+<para>
+
+</para>
+
+ at face: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_get_icon_path ##### -->
+<para>
+
+</para>
+
+ at icon_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_change_icon_cb ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at filepath: 
+
+
+<!-- ##### FUNCTION qq_request_buddy_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at uid: 
+ at update_class: 
+ at action: 
+
+
+<!-- ##### FUNCTION qq_set_custom_icon ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at img: 
+
+
+<!-- ##### FUNCTION qq_process_change_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+
+
+<!-- ##### FUNCTION qq_process_get_buddy_info ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at action: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_request_get_level ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at uid: 
+
+
+<!-- ##### FUNCTION qq_request_get_level_2007 ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at uid: 
+
+
+<!-- ##### FUNCTION qq_request_get_buddies_level ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at update_class: 
+
+
+<!-- ##### FUNCTION qq_process_get_level_reply ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at buf_len: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_update_buddy_icon ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at face: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/buddy_list.sgml	db2f7849b89ffee6964a1b6012e55213703d3b0f
@@ -0,0 +1,157 @@
+<!-- ##### SECTION Title ##### -->
+buddy_list
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT qq_buddy_status ##### -->
+<para>
+
+</para>
+
+ at uid: 
+ at unknown1: 
+ at ip: 
+ at port: 
+ at unknown2: 
+ at status: 
+ at unknown3: 
+ at unknown_key: 
+
+<!-- ##### FUNCTION qq_request_get_buddies_online ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at position: 
+ at update_class: 
+
+
+<!-- ##### FUNCTION qq_process_get_buddies_online ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_request_get_buddies ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at position: 
+ at update_class: 
+
+
+<!-- ##### FUNCTION qq_process_get_buddies ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_request_get_buddies_and_rooms ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at position: 
+ at update_class: 
+
+
+<!-- ##### FUNCTION qq_process_get_buddies_and_rooms ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_request_change_status ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at update_class: 
+
+
+<!-- ##### FUNCTION qq_process_change_status ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_buddy_change_status ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_update_buddyies_status ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_update_buddy_status ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at uid: 
+ at status: 
+ at flag: 
+
+
+<!-- ##### FUNCTION qq_buddy_data_free_all ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/buddy_memo.sgml	39380464a45db6fd68c7812281b639c46b1d4328
@@ -0,0 +1,54 @@
+<!-- ##### SECTION Title ##### -->
+buddy_memo
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO QQ_BUDDY_MEMO_REQUEST_SUCCESS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION qq_process_get_buddy_memo ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at update_class: 
+ at action: 
+
+
+<!-- ##### FUNCTION qq_request_buddy_memo ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at bd_uid: 
+ at update_class: 
+ at action: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/buddy_opt.sgml	571752cb20984f3d3e97024958c94717a40618ee
@@ -0,0 +1,253 @@
+<!-- ##### SECTION Title ##### -->
+buddy_opt
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION qq_add_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buddy: 
+ at group: 
+
+
+<!-- ##### FUNCTION qq_change_buddys_group ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at old_group: 
+ at new_group: 
+
+
+<!-- ##### FUNCTION qq_remove_buddy_and_me ##### -->
+<para>
+
+</para>
+
+ at node: 
+
+
+<!-- ##### FUNCTION qq_remove_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buddy: 
+ at group: 
+
+
+<!-- ##### FUNCTION qq_process_remove_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at uid: 
+
+
+<!-- ##### FUNCTION qq_process_buddy_remove_me ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at uid: 
+
+
+<!-- ##### FUNCTION qq_process_add_buddy_no_auth ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at uid: 
+
+
+<!-- ##### FUNCTION qq_process_add_buddy_no_auth_ex ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at uid: 
+
+
+<!-- ##### FUNCTION qq_process_add_buddy_auth ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_buddy_from_server ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at funct: 
+ at from: 
+ at to: 
+ at data: 
+ at data_len: 
+
+
+<!-- ##### FUNCTION qq_process_buddy_check_code ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+
+
+<!-- ##### FUNCTION qq_request_auth_code ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at sub_cmd: 
+ at uid: 
+
+
+<!-- ##### FUNCTION qq_process_auth_code ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at uid: 
+
+
+<!-- ##### FUNCTION qq_request_question ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at uid: 
+ at question_utf8: 
+ at answer_utf8: 
+
+
+<!-- ##### FUNCTION qq_process_question ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at uid: 
+
+
+<!-- ##### FUNCTION qq_process_add_buddy_auth_ex ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at ship32: 
+
+
+<!-- ##### FUNCTION qq_buddy_data_find ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at uid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_buddy_data_free ##### -->
+<para>
+
+</para>
+
+ at bd: 
+
+
+<!-- ##### FUNCTION qq_buddy_new ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at uid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_buddy_find_or_new ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at uid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_buddy_find ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at uid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_group_find_or_new ##### -->
+<para>
+
+</para>
+
+ at group_name: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/buddyicon.sgml	d2acc3a0d57e0807ac2fba2cef5e6eb8cd50057b
@@ -0,0 +1,332 @@
+<!-- ##### SECTION Title ##### -->
+buddyicon
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleBuddyIcon ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_buddy_icon_new ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at username: 
+ at icon_data: 
+ at icon_len: 
+ at checksum: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_ref ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_unref ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_update ##### -->
+<para>
+
+</para>
+
+ at icon: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_set_data ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at data: 
+ at len: 
+ at checksum: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_account ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_username ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_checksum ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_data ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_extension ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_full_path ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_set_for_user ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at username: 
+ at icon_data: 
+ at icon_len: 
+ at checksum: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_get_checksum_for_user ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_find ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at username: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_find_account_icon ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_set_account_icon ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at icon_data: 
+ at icon_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_get_account_icon_timestamp ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_node_has_custom_icon ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_node_find_custom_icon ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_node_set_custom_icon ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at icon_data: 
+ at icon_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_node_set_custom_icon_from_file ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_has_custom_icon ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_find_custom_icon ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_set_custom_icon ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at icon_data: 
+ at icon_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_set_caching ##### -->
+<para>
+
+</para>
+
+ at caching: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_is_caching ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_set_cache_dir ##### -->
+<para>
+
+</para>
+
+ at cache_dir: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_get_cache_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_scale_size ##### -->
+<para>
+
+</para>
+
+ at spec: 
+ at width: 
+ at height: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/buddylist.sgml	e800db7f37f8c216b22b86f5aa4e212a10c508a2
@@ -0,0 +1,50 @@
+<!-- ##### SECTION Title ##### -->
+buddylist
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION ggp_buddylist_send ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION ggp_buddylist_load ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buddylist: 
+
+
+<!-- ##### FUNCTION ggp_buddylist_dump ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/candidate.sgml	90f56196d1c16d90cf9c586656b7bd372b7b2ae5
@@ -0,0 +1,246 @@
+<!-- ##### SECTION Title ##### -->
+candidate
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO PURPLE_MEDIA_CANDIDATE_CLASS ##### -->
+<para>
+
+</para>
+
+ at klass: 
+
+
+<!-- ##### STRUCT PurpleMediaCandidate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG PurpleMediaCandidate:base-ip ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCandidate:base-port ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCandidate:component-id ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCandidate:foundation ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCandidate:ip ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCandidate:password ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCandidate:port ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCandidate:priority ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCandidate:protocol ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCandidate:ttl ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCandidate:type ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCandidate:username ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION purple_media_candidate_new ##### -->
+<para>
+
+</para>
+
+ at foundation: 
+ at component_id: 
+ at type: 
+ at proto: 
+ at ip: 
+ at port: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_copy ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_list_copy ##### -->
+<para>
+
+</para>
+
+ at candidates: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_list_free ##### -->
+<para>
+
+</para>
+
+ at candidates: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_foundation ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_component_id ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_ip ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_port ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_base_ip ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_base_port ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_protocol ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_priority ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_candidate_type ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_username ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_password ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidate_get_ttl ##### -->
+<para>
+
+</para>
+
+ at candidate: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/caps.sgml	ab809bb327c7c11407cdc7b328ab112ef99284ca
@@ -0,0 +1,147 @@
+<!-- ##### SECTION Title ##### -->
+caps
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JabberCapsClientInfo ##### -->
+<para>
+
+</para>
+
+ at identities: 
+ at features: 
+ at forms: 
+ at exts: 
+ at tuple: 
+
+<!-- ##### STRUCT JabberCapsNodeExts ##### -->
+<para>
+
+</para>
+
+ at ref: 
+ at exts: 
+
+<!-- ##### STRUCT JabberCapsTuple ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at ver: 
+ at hash: 
+
+<!-- ##### USER_FUNCTION jabber_caps_get_info_cb ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at exts: 
+ at user_data: 
+
+
+<!-- ##### FUNCTION jabber_caps_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_caps_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_caps_exts_known ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at exts: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_caps_get_info ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+ at node: 
+ at ver: 
+ at hash: 
+ at exts: 
+ at cb: 
+ at user_data: 
+
+
+<!-- ##### FUNCTION jabber_caps_calculate_hash ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at hasher: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_caps_calculate_own_hash ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_caps_get_own_hash ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_caps_broadcast_change ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_caps_parse_client_info ##### -->
+<para>
+
+</para>
+
+ at query: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/certificate.sgml	3c14be713b77f36aed6aff57f5e50da1d513a9a7
@@ -0,0 +1,519 @@
+<!-- ##### SECTION Title ##### -->
+certificate
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurpleCertificateVerificationStatus ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CERTIFICATE_INVALID: 
+ at PURPLE_CERTIFICATE_VALID: 
+
+<!-- ##### STRUCT PurpleCertificate ##### -->
+<para>
+
+</para>
+
+ at scheme: 
+ at data: 
+
+<!-- ##### STRUCT PurpleCertificatePool ##### -->
+<para>
+
+</para>
+
+ at scheme_name: 
+ at name: 
+ at fullname: 
+ at data: 
+ at init: 
+ at uninit: 
+ at cert_in_pool: 
+ at get_cert: 
+ at put_cert: 
+ at delete_cert: 
+ at get_idlist: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleCertificateScheme ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at fullname: 
+ at import_certificate: 
+ at export_certificate: 
+ at copy_certificate: 
+ at destroy_certificate: 
+ at signed_by: 
+ at get_fingerprint_sha1: 
+ at get_unique_id: 
+ at get_issuer_unique_id: 
+ at get_subject_name: 
+ at check_subject_name: 
+ at get_times: 
+ at import_certificates: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+
+<!-- ##### STRUCT PurpleCertificateVerifier ##### -->
+<para>
+
+</para>
+
+ at scheme_name: 
+ at name: 
+ at start_verification: 
+ at destroy_request: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleCertificateVerificationRequest ##### -->
+<para>
+
+</para>
+
+ at verifier: 
+ at scheme: 
+ at subject_name: 
+ at cert_chain: 
+ at data: 
+ at cb: 
+ at cb_data: 
+
+<!-- ##### FUNCTION purple_certificate_verify ##### -->
+<para>
+
+</para>
+
+ at verifier: 
+ at subject_name: 
+ at cert_chain: 
+ at cb: 
+ at cb_data: 
+
+
+<!-- ##### FUNCTION purple_certificate_verify_complete ##### -->
+<para>
+
+</para>
+
+ at vrq: 
+ at st: 
+
+
+<!-- ##### FUNCTION purple_certificate_copy ##### -->
+<para>
+
+</para>
+
+ at crt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_copy_list ##### -->
+<para>
+
+</para>
+
+ at crt_list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_destroy ##### -->
+<para>
+
+</para>
+
+ at crt: 
+
+
+<!-- ##### FUNCTION purple_certificate_destroy_list ##### -->
+<para>
+
+</para>
+
+ at crt_list: 
+
+
+<!-- ##### FUNCTION purple_certificate_signed_by ##### -->
+<para>
+
+</para>
+
+ at crt: 
+ at issuer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_check_signature_chain_with_failing ##### -->
+<para>
+
+</para>
+
+ at chain: 
+ at failing: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_check_signature_chain ##### -->
+<para>
+
+</para>
+
+ at chain: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_import ##### -->
+<para>
+
+</para>
+
+ at scheme: 
+ at filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificates_import ##### -->
+<para>
+
+</para>
+
+ at scheme: 
+ at filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_export ##### -->
+<para>
+
+</para>
+
+ at filename: 
+ at crt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_get_fingerprint_sha1 ##### -->
+<para>
+
+</para>
+
+ at crt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_get_unique_id ##### -->
+<para>
+
+</para>
+
+ at crt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_get_issuer_unique_id ##### -->
+<para>
+
+</para>
+
+ at crt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_get_subject_name ##### -->
+<para>
+
+</para>
+
+ at crt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_check_subject_name ##### -->
+<para>
+
+</para>
+
+ at crt: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_get_times ##### -->
+<para>
+
+</para>
+
+ at crt: 
+ at activation: 
+ at expiration: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_pool_mkpath ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_pool_usable ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_pool_get_scheme ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_pool_contains ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_pool_retrieve ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_pool_store ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at id: 
+ at crt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_pool_delete ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_pool_get_idlist ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_pool_destroy_idlist ##### -->
+<para>
+
+</para>
+
+ at idlist: 
+
+
+<!-- ##### FUNCTION purple_certificate_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_certificate_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_certificate_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_find_scheme ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_get_schemes ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_register_scheme ##### -->
+<para>
+
+</para>
+
+ at scheme: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_unregister_scheme ##### -->
+<para>
+
+</para>
+
+ at scheme: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_find_verifier ##### -->
+<para>
+
+</para>
+
+ at scheme_name: 
+ at ver_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_get_verifiers ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_register_verifier ##### -->
+<para>
+
+</para>
+
+ at vr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_unregister_verifier ##### -->
+<para>
+
+</para>
+
+ at vr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_find_pool ##### -->
+<para>
+
+</para>
+
+ at scheme_name: 
+ at pool_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_get_pools ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_register_pool ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_unregister_pool ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_certificate_display_x509 ##### -->
+<para>
+
+</para>
+
+ at crt: 
+
+
+<!-- ##### FUNCTION purple_certificate_add_ca_search_path ##### -->
+<para>
+
+</para>
+
+ at path: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/char_conv.sgml	cd88f46cf7fe117b856b2bd1d4ee0387abc31604
@@ -0,0 +1,73 @@
+<!-- ##### SECTION Title ##### -->
+char_conv
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO QQ_CHARSET_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION qq_get_vstr ##### -->
+<para>
+
+</para>
+
+ at ret: 
+ at from_charset: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_put_vstr ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at str_utf8: 
+ at to_charset: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION utf8_to_qq ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at to_charset: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_to_utf8 ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at from_charset: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/chat.sgml	1f022258be1bc9b694a0dbc250415124e471baf6
@@ -0,0 +1,380 @@
+<!-- ##### SECTION Title ##### -->
+chat
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JabberChatMember ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at jid: 
+
+<!-- ##### STRUCT JabberChat ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at room: 
+ at server: 
+ at handle: 
+ at components: 
+ at id: 
+ at conv: 
+ at muc: 
+ at xhtml: 
+ at config_dialog_type: 
+ at config_dialog_handle: 
+ at members: 
+ at left: 
+ at joined: 
+
+<!-- ##### FUNCTION jabber_chat_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_info_defaults ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at chat_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_get_chat_name ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_join_chat ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at room: 
+ at server: 
+ at handle: 
+ at password: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_join ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+
+
+<!-- ##### FUNCTION jabber_chat_find ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at room: 
+ at server: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_find_by_id ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_find_by_conv ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_destroy ##### -->
+<para>
+
+</para>
+
+ at chat: 
+
+
+<!-- ##### FUNCTION jabber_chat_free ##### -->
+<para>
+
+</para>
+
+ at chat: 
+
+
+<!-- ##### FUNCTION jabber_chat_find_buddy ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_invite ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at message: 
+ at name: 
+
+
+<!-- ##### FUNCTION jabber_chat_leave ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+
+
+<!-- ##### FUNCTION jabber_chat_buddy_real_name ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_request_room_configure ##### -->
+<para>
+
+</para>
+
+ at chat: 
+
+
+<!-- ##### FUNCTION jabber_chat_create_instant_room ##### -->
+<para>
+
+</para>
+
+ at chat: 
+
+
+<!-- ##### FUNCTION jabber_chat_register ##### -->
+<para>
+
+</para>
+
+ at chat: 
+
+
+<!-- ##### FUNCTION jabber_chat_change_topic ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at topic: 
+
+
+<!-- ##### FUNCTION jabber_chat_set_topic ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at topic: 
+
+
+<!-- ##### FUNCTION jabber_chat_change_nick ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at nick: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_part ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at msg: 
+
+
+<!-- ##### FUNCTION jabber_chat_track_handle ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at handle: 
+ at jid: 
+ at affiliation: 
+ at role: 
+
+
+<!-- ##### FUNCTION jabber_chat_remove_handle ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at handle: 
+
+
+<!-- ##### FUNCTION jabber_chat_ban_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at who: 
+ at why: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_affiliate_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at who: 
+ at affiliation: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_affiliation_list ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at affiliation: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_role_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at who: 
+ at role: 
+ at why: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_role_list ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at role: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_roomlist_get_list ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_roomlist_cancel ##### -->
+<para>
+
+</para>
+
+ at list: 
+
+
+<!-- ##### FUNCTION jabber_chat_disco_traffic ##### -->
+<para>
+
+</para>
+
+ at chat: 
+
+
+<!-- ##### FUNCTION jabber_roomlist_room_serialize ##### -->
+<para>
+
+</para>
+
+ at room: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_all_participants_have_capability ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at cap: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_chat_get_num_participants ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/chunk.sgml	a8d1d44336de037a823f5a488497d2097a5fe77c
@@ -0,0 +1,337 @@
+<!-- ##### SECTION Title ##### -->
+chunk
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO MXIT_CHUNK_FILEID_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CHUNK_HEADER_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_NONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_CUSTOM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_SPLASH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_CLICK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_OFFER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_REJECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_GET ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_RECEIVED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_DIRECT_SND ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_DIRECT_FWD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_SKIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_SET_AVATAR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_GET_AVATAR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_END ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CP_CHUNK_EXT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CR_OP_UPDATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CR_OP_REMOVE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO RECV_STATUS_SUCCESS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO RECV_STATUS_PARSE_FAIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO RECV_STATUS_CANNOT_OPEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO RECV_STATUS_BAD_CRC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO RECV_STATUS_BAD_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO REJECT_BY_USER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO REJECT_FILETYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO REJECT_NO_RESOURCES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO REJECT_BAD_RECIPIENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION htonl ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_chunk_create_senddirect ##### -->
+<para>
+
+</para>
+
+ at chunkdata: 
+ at username: 
+ at filename: 
+ at data: 
+ at datalen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_chunk_create_reject ##### -->
+<para>
+
+</para>
+
+ at chunkdata: 
+ at fileid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_chunk_create_get ##### -->
+<para>
+
+</para>
+
+ at chunkdata: 
+ at fileid: 
+ at filesize: 
+ at offset: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_chunk_create_received ##### -->
+<para>
+
+</para>
+
+ at chunkdata: 
+ at fileid: 
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_chunk_create_set_avatar ##### -->
+<para>
+
+</para>
+
+ at chunkdata: 
+ at data: 
+ at datalen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_chunk_create_get_avatar ##### -->
+<para>
+
+</para>
+
+ at chunkdata: 
+ at mxitId: 
+ at avatarId: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_chunk_parse_offer ##### -->
+<para>
+
+</para>
+
+ at chunkdata: 
+ at datalen: 
+ at offer: 
+
+
+<!-- ##### FUNCTION mxit_chunk_parse_get ##### -->
+<para>
+
+</para>
+
+ at chunkdata: 
+ at datalen: 
+ at getfile: 
+
+
+<!-- ##### FUNCTION mxit_chunk_parse_cr ##### -->
+<para>
+
+</para>
+
+ at chunkdata: 
+ at datalen: 
+ at cr: 
+
+
+<!-- ##### FUNCTION mxit_chunk_parse_get_avatar ##### -->
+<para>
+
+</para>
+
+ at chunkdata: 
+ at datalen: 
+ at avatar: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/cipher.sgml	ba2a2fb11e12a1b4a0b3584996e32ce7fd83ccbb
@@ -0,0 +1,39 @@
+<!-- ##### SECTION Title ##### -->
+cipher
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MXitSession ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION mxit_encrypt_password ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/circbuffer.sgml	53512cee0d939360a3bb084bf0507c947b6fe90d
@@ -0,0 +1,156 @@
+<!-- ##### SECTION Title ##### -->
+PurpleCircularBuffer
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleCircularBuffer ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG PurpleCircularBuffer:buffer-used ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleCircularBuffer:grow-size ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleCircularBuffer:input ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleCircularBuffer:output ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT PurpleCircularBufferClass ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at grow: 
+ at append: 
+ at max_read_size: 
+ at mark_read: 
+ at purple_reserved1: 
+ at purple_reserved2: 
+ at purple_reserved3: 
+ at purple_reserved4: 
+
+<!-- ##### FUNCTION purple_circular_buffer_new ##### -->
+<para>
+
+</para>
+
+ at growsize: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_circular_buffer_append ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at src: 
+ at len: 
+
+
+<!-- ##### FUNCTION purple_circular_buffer_get_max_read ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_circular_buffer_mark_read ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_circular_buffer_grow ##### -->
+<para>
+
+</para>
+
+ at buffer: 
+ at len: 
+
+
+<!-- ##### FUNCTION purple_circular_buffer_get_grow_size ##### -->
+<para>
+
+</para>
+
+ at buffer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_circular_buffer_get_used ##### -->
+<para>
+
+</para>
+
+ at buffer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_circular_buffer_get_input ##### -->
+<para>
+
+</para>
+
+ at buffer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_circular_buffer_get_output ##### -->
+<para>
+
+</para>
+
+ at buffer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_circular_buffer_reset ##### -->
+<para>
+
+</para>
+
+ at buffer: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/cmdproc.sgml	471f8ebcea66b70114eea9825880201a6f6bd81e
@@ -0,0 +1,118 @@
+<!-- ##### SECTION Title ##### -->
+cmdproc
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnCmdProc ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at servconn: 
+ at txqueue: 
+ at last_cmd: 
+ at cbs_table: 
+ at history: 
+ at multiparts: 
+ at data: 
+
+<!-- ##### FUNCTION msn_cmdproc_new ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_cmdproc_destroy ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+
+
+<!-- ##### FUNCTION msn_cmdproc_process_queue ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+
+
+<!-- ##### FUNCTION msn_cmdproc_send_trans ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at trans: 
+
+
+<!-- ##### FUNCTION msn_cmdproc_queue_trans ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at trans: 
+
+
+<!-- ##### FUNCTION msn_cmdproc_process_msg ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at msg: 
+
+
+<!-- ##### FUNCTION msn_cmdproc_process_cmd ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at cmd: 
+
+
+<!-- ##### FUNCTION msn_cmdproc_process_cmd_text ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at command: 
+
+
+<!-- ##### FUNCTION msn_cmdproc_process_payload ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at payload: 
+ at payload_len: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/cmds.sgml	535904dfb245e34a52390cdf2080667363b9408d
@@ -0,0 +1,176 @@
+<!-- ##### SECTION Title ##### -->
+cmds
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurpleCmdStatus ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CMD_STATUS_OK: 
+ at PURPLE_CMD_STATUS_FAILED: 
+ at PURPLE_CMD_STATUS_NOT_FOUND: 
+ at PURPLE_CMD_STATUS_WRONG_ARGS: 
+ at PURPLE_CMD_STATUS_WRONG_PRPL: 
+ at PURPLE_CMD_STATUS_WRONG_TYPE: 
+
+<!-- ##### ENUM PurpleCmdRet ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CMD_RET_OK: 
+ at PURPLE_CMD_RET_FAILED: 
+ at PURPLE_CMD_RET_CONTINUE: 
+
+<!-- ##### MACRO PURPLE_CMD_FUNC ##### -->
+<para>
+
+</para>
+
+ at func: 
+
+
+<!-- ##### USER_FUNCTION PurpleCmdFunc ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at cmd: 
+ at args: 
+ at error: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### TYPEDEF PurpleCmdId ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ENUM PurpleCmdPriority ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CMD_P_VERY_LOW: 
+ at PURPLE_CMD_P_LOW: 
+ at PURPLE_CMD_P_DEFAULT: 
+ at PURPLE_CMD_P_PRPL: 
+ at PURPLE_CMD_P_PLUGIN: 
+ at PURPLE_CMD_P_ALIAS: 
+ at PURPLE_CMD_P_HIGH: 
+ at PURPLE_CMD_P_VERY_HIGH: 
+
+<!-- ##### ENUM PurpleCmdFlag ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CMD_FLAG_IM: 
+ at PURPLE_CMD_FLAG_CHAT: 
+ at PURPLE_CMD_FLAG_PRPL_ONLY: 
+ at PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS: 
+
+<!-- ##### FUNCTION purple_cmd_register ##### -->
+<para>
+
+</para>
+
+ at cmd: 
+ at args: 
+ at p: 
+ at f: 
+ at prpl_id: 
+ at func: 
+ at helpstr: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_cmd_unregister ##### -->
+<para>
+
+</para>
+
+ at id: 
+
+
+<!-- ##### FUNCTION purple_cmd_do_command ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at cmdline: 
+ at markup: 
+ at errormsg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_cmd_list ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_cmd_help ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at cmd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_cmds_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_cmds_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_cmds_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/codec.sgml	27d9f34dbd0c4b53816ff626e3abc5c17a24cb81
@@ -0,0 +1,190 @@
+<!-- ##### SECTION Title ##### -->
+codec
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleMediaCodec ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG PurpleMediaCodec:channels ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCodec:clock-rate ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCodec:encoding-name ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCodec:id ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCodec:media-type ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleMediaCodec:optional-params ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO PURPLE_MEDIA_CODEC_CLASS ##### -->
+<para>
+
+</para>
+
+ at klass: 
+
+
+<!-- ##### FUNCTION purple_media_codec_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at encoding_name: 
+ at media_type: 
+ at clock_rate: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_codec_get_id ##### -->
+<para>
+
+</para>
+
+ at codec: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_codec_get_encoding_name ##### -->
+<para>
+
+</para>
+
+ at codec: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_codec_get_clock_rate ##### -->
+<para>
+
+</para>
+
+ at codec: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_codec_get_channels ##### -->
+<para>
+
+</para>
+
+ at codec: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_codec_get_optional_parameters ##### -->
+<para>
+
+</para>
+
+ at codec: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_codec_add_optional_parameter ##### -->
+<para>
+
+</para>
+
+ at codec: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_media_codec_remove_optional_parameter ##### -->
+<para>
+
+</para>
+
+ at codec: 
+ at param: 
+
+
+<!-- ##### FUNCTION purple_media_codec_get_optional_parameter ##### -->
+<para>
+
+</para>
+
+ at codec: 
+ at name: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_codec_copy ##### -->
+<para>
+
+</para>
+
+ at codec: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_codec_list_copy ##### -->
+<para>
+
+</para>
+
+ at codecs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_codec_list_free ##### -->
+<para>
+
+</para>
+
+ at codecs: 
+
+
+<!-- ##### FUNCTION purple_media_codec_to_string ##### -->
+<para>
+
+</para>
+
+ at codec: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/com_err.sgml	89fd9339ce21467d2c48543ff891482b266ef739
@@ -0,0 +1,52 @@
+<!-- ##### SECTION Title ##### -->
+com_err
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO COM_ERR_BUF_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ETP ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### MACRO ETCONST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### VARIABLE com_err_hook ##### -->
+<para>
+
+</para>
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/command.sgml	3cd6e95d8b7167e37c9d74306b48f714a2901221
@@ -0,0 +1,77 @@
+<!-- ##### SECTION Title ##### -->
+command
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnCommand ##### -->
+<para>
+
+</para>
+
+ at trId: 
+ at command: 
+ at params: 
+ at param_count: 
+ at ref_count: 
+ at trans: 
+ at payload: 
+ at payload_len: 
+ at payload_cb: 
+ at payload_cbdata: 
+
+<!-- ##### USER_FUNCTION MsnPayloadCb ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at cmd: 
+ at payload: 
+ at len: 
+
+
+<!-- ##### FUNCTION msn_command_from_string ##### -->
+<para>
+
+</para>
+
+ at string: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_command_ref ##### -->
+<para>
+
+</para>
+
+ at cmd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_command_unref ##### -->
+<para>
+
+</para>
+
+ at cmd: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/compat.sgml	64d125089b15573cc0448ea64dba90821ab30964
@@ -0,0 +1,31 @@
+<!-- ##### SECTION Title ##### -->
+compat
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO INADDR_NONE ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/confer.sgml	094975a745b52a9ce5835c9b1e3df971fe0f60a2
@@ -0,0 +1,76 @@
+<!-- ##### SECTION Title ##### -->
+confer
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION ggp_confer_find_by_name ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ggp_confer_participants_add_uin ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at chat_name: 
+ at uin: 
+
+
+<!-- ##### FUNCTION ggp_confer_participants_add ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at chat_name: 
+ at recipients: 
+ at count: 
+
+
+<!-- ##### FUNCTION ggp_confer_find_by_participants ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at recipients: 
+ at count: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ggp_confer_add_new ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/connection.sgml	e3010efacd9f0fef16abb45c6b3a4b6c15796d54
@@ -0,0 +1,476 @@
+<!-- ##### SECTION Title ##### -->
+PurpleConnection
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleConnection ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleConnectionClass ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+ at signing_on: 
+ at signed_on: 
+ at signing_off: 
+ at signed_off: 
+ at disconnected: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### ENUM PurpleConnectionFlags ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CONNECTION_FLAGS_HTML: 
+ at PURPLE_CONNECTION_FLAGS_NO_BGCOLOR: 
+ at PURPLE_CONNECTION_FLAGS_AUTO_RESP: 
+ at PURPLE_CONNECTION_FLAGS_FORMATTING_WBFO: 
+ at PURPLE_CONNECTION_FLAGS_NO_NEWLINES: 
+ at PURPLE_CONNECTION_FLAGS_NO_FONTSIZE: 
+ at PURPLE_CONNECTION_FLAGS_NO_URLDESC: 
+ at PURPLE_CONNECTION_FLAGS_NO_IMAGES: 
+ at PURPLE_CONNECTION_FLAGS_ALLOW_CUSTOM_SMILEY: 
+ at PURPLE_CONNECTION_FLAGS_SUPPORT_MOODS: 
+ at PURPLE_CONNECTION_FLAGS_SUPPORT_MOOD_MESSAGES: 
+
+<!-- ##### ENUM PurpleConnectionState ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CONNECTION_STATE_DISCONNECTED: 
+ at PURPLE_CONNECTION_STATE_CONNECTED: 
+ at PURPLE_CONNECTION_STATE_CONNECTING: 
+
+<!-- ##### ENUM PurpleConnectionError ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CONNECTION_ERROR_NETWORK_ERROR: 
+ at PURPLE_CONNECTION_ERROR_INVALID_USERNAME: 
+ at PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED: 
+ at PURPLE_CONNECTION_ERROR_AUTHENTICATION_IMPOSSIBLE: 
+ at PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT: 
+ at PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR: 
+ at PURPLE_CONNECTION_ERROR_NAME_IN_USE: 
+ at PURPLE_CONNECTION_ERROR_INVALID_SETTINGS: 
+ at PURPLE_CONNECTION_ERROR_CERT_NOT_PROVIDED: 
+ at PURPLE_CONNECTION_ERROR_CERT_UNTRUSTED: 
+ at PURPLE_CONNECTION_ERROR_CERT_EXPIRED: 
+ at PURPLE_CONNECTION_ERROR_CERT_NOT_ACTIVATED: 
+ at PURPLE_CONNECTION_ERROR_CERT_HOSTNAME_MISMATCH: 
+ at PURPLE_CONNECTION_ERROR_CERT_FINGERPRINT_MISMATCH: 
+ at PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED: 
+ at PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR: 
+ at PURPLE_CONNECTION_ERROR_OTHER_ERROR: 
+
+<!-- ##### USER_FUNCTION connect_progress ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at text: 
+ at step: 
+ at step_count: 
+
+
+<!-- ##### USER_FUNCTION connected ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### USER_FUNCTION disconnected ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### USER_FUNCTION notice ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at text: 
+
+
+<!-- ##### USER_FUNCTION report_disconnect ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at text: 
+
+
+<!-- ##### USER_FUNCTION network_connected ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION network_disconnected ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION report_disconnect_reason ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at reason: 
+ at text: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved1 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved2 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved3 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_connection_new ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at regist: 
+ at password: 
+
+
+<!-- ##### FUNCTION purple_connection_new_unregister ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at password: 
+ at cb: 
+ at user_data: 
+
+
+<!-- ##### FUNCTION purple_connection_destroy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION purple_connection_set_state ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at state: 
+
+
+<!-- ##### MACRO purple_connection_turn_on_flags ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at flags: 
+
+
+<!-- ##### FUNCTION purple_connection_set_flags ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at flags: 
+
+
+<!-- ##### FUNCTION purple_connection_set_display_name ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_connection_get_state ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_get_flags ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_CONNECTION_IS_CONNECTED ##### -->
+<para>
+
+</para>
+
+ at connection: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_get_account ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_get_prpl ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_get_password ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_get_display_name ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_update_progress ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at text: 
+ at step: 
+ at count: 
+
+
+<!-- ##### FUNCTION purple_connection_received_now ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION purple_connection_notice ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at text: 
+
+
+<!-- ##### FUNCTION purple_connection_error ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at reason: 
+
+
+<!-- ##### FUNCTION purple_connection_error_reason ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at reason: 
+ at description: 
+
+
+<!-- ##### FUNCTION purple_connection_ssl_error ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at ssl_error: 
+
+
+<!-- ##### FUNCTION purple_connection_error_is_fatal ##### -->
+<para>
+
+</para>
+
+ at reason: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connections_get_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connections_disconnect_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_connections_get_connecting ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_CONNECTION_IS_VALID ##### -->
+<para>
+
+</para>
+
+ at connection: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connections_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_connections_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_flags_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_state_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_error_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/contact.sgml	d3fe64239a8f88ba2fde9c8c8bacb831f42580a0
@@ -0,0 +1,631 @@
+<!-- ##### SECTION Title ##### -->
+contact
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnCallbackState ##### -->
+<para>
+
+</para>
+
+ at who: 
+ at uid: 
+ at old_group_name: 
+ at new_group_name: 
+ at guid: 
+ at list_id: 
+ at action: 
+ at session: 
+ at body: 
+ at token: 
+ at post_action: 
+ at post_url: 
+ at cb: 
+ at partner_scenario: 
+
+<!-- ##### ENUM MsnCallbackAction ##### -->
+<para>
+
+</para>
+
+ at MSN_ADD_BUDDY: 
+ at MSN_MOVE_BUDDY: 
+ at MSN_ACCEPTED_BUDDY: 
+ at MSN_DENIED_BUDDY: 
+ at MSN_ADD_GROUP: 
+ at MSN_DEL_GROUP: 
+ at MSN_RENAME_GROUP: 
+ at MSN_UPDATE_INFO: 
+ at MSN_ANNOTATE_USER: 
+
+<!-- ##### ENUM MsnContactUpdateType ##### -->
+<para>
+
+</para>
+
+ at MSN_UPDATE_DISPLAY: 
+ at MSN_UPDATE_ALIAS: 
+ at MSN_UPDATE_COMMENT: 
+
+<!-- ##### ENUM MsnSoapPartnerScenario ##### -->
+<para>
+
+</para>
+
+ at MSN_PS_INITIAL: 
+ at MSN_PS_SAVE_CONTACT: 
+ at MSN_PS_PENDING_LIST: 
+ at MSN_PS_CONTACT_API: 
+ at MSN_PS_BLOCK_UNBLOCK: 
+ at MSN_PS_TIMER: 
+
+<!-- ##### MACRO MSN_APPLICATION_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GET_CONTACT_POST_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GET_CONTACT_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GET_CONTACT_UPDATE_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GET_CONTACT_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_ADDRESS_BOOK_POST_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_ADD_ADDRESSBOOK_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_ADD_ADDRESSBOOK_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GET_ADDRESS_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GET_ADDRESS_FULL_TIME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GET_ADDRESS_UPDATE_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GET_GLEAM_UPDATE_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GET_ADDRESS_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GET_GLEAMS_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GLEAMS_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_ADD_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_LIVE_PENDING_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_DISPLAYNAME_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_ID_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_EMAIL_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_INVITE_MESSAGE_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_ADD_CONTACT_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_ADD_CONTACT_GROUP_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_ADD_CONTACT_GROUP_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_DEL_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_DEL_CONTACT_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_DEL_GROUP_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_DEL_GROUP_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_UPDATE_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_UPDATE_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_ANNOTATE_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_ANNOTATE_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_SHARE_POST_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_ADD_MEMBER_TO_LIST_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_DELETE_MEMBER_FROM_LIST_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_MEMBER_PASSPORT_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_MEMBER_MEMBERSHIPID_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_DELETE_FROM_LIST_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CONTACT_ADD_TO_LIST_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GROUP_ADD_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GROUP_ADD_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GROUP_DEL_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GROUP_DEL_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GROUP_RENAME_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_GROUP_RENAME_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msn_callback_state_new ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_callback_state_dup ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_callback_state_free ##### -->
+<para>
+
+</para>
+
+ at state: 
+
+
+<!-- ##### FUNCTION msn_callback_state_set_who ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at who: 
+
+
+<!-- ##### FUNCTION msn_callback_state_set_uid ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at uid: 
+
+
+<!-- ##### FUNCTION msn_callback_state_set_old_group_name ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at old_group_name: 
+
+
+<!-- ##### FUNCTION msn_callback_state_set_new_group_name ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at new_group_name: 
+
+
+<!-- ##### FUNCTION msn_callback_state_set_guid ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at guid: 
+
+
+<!-- ##### FUNCTION msn_callback_state_set_list_id ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at list_id: 
+
+
+<!-- ##### FUNCTION msn_callback_state_set_action ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at action: 
+
+
+<!-- ##### FUNCTION msn_get_contact_list ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at partner_scenario: 
+ at update: 
+
+
+<!-- ##### FUNCTION msn_get_address_book ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at partner_scenario: 
+ at update: 
+ at gupdate: 
+
+
+<!-- ##### FUNCTION msn_update_contact ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at passport: 
+ at type: 
+ at value: 
+
+
+<!-- ##### FUNCTION msn_annotate_contact ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at passport: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION msn_add_contact ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at state: 
+ at passport: 
+
+
+<!-- ##### FUNCTION msn_delete_contact ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at user: 
+
+
+<!-- ##### FUNCTION msn_add_contact_to_group ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at state: 
+ at passport: 
+ at groupId: 
+
+
+<!-- ##### FUNCTION msn_del_contact_from_group ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at passport: 
+ at group_name: 
+
+
+<!-- ##### FUNCTION msn_add_group ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at state: 
+ at group_name: 
+
+
+<!-- ##### FUNCTION msn_del_group ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at group_name: 
+
+
+<!-- ##### FUNCTION msn_contact_rename_group ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at old_group_name: 
+ at new_group_name: 
+
+
+<!-- ##### FUNCTION msn_add_contact_to_list ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at state: 
+ at passport: 
+ at list: 
+
+
+<!-- ##### FUNCTION msn_del_contact_from_list ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at state: 
+ at passport: 
+ at list: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/content.sgml	bd1f4d756b2607537d678d225ac79bbcdd79431c
@@ -0,0 +1,240 @@
+<!-- ##### SECTION Title ##### -->
+JingleContent
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JingleContent ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at priv: 
+
+<!-- ##### STRUCT JingleContentClass ##### -->
+<para>
+
+</para>
+
+ at parent_class: 
+ at to_xml: 
+ at parse: 
+ at handle_action: 
+ at description_type: 
+
+<!-- ##### STRUCT JingleContentPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION jingle_content_create ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at creator: 
+ at disposition: 
+ at name: 
+ at senders: 
+ at transport: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_content_get_session ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_content_get_description_type ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_content_get_creator ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_content_get_disposition ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_content_get_name ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_content_get_senders ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_content_get_transport ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_content_get_pending_transport ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_content_set_session ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at session: 
+
+
+<!-- ##### FUNCTION jingle_content_set_pending_transport ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at transport: 
+
+
+<!-- ##### FUNCTION jingle_content_accept_transport ##### -->
+<para>
+
+</para>
+
+ at content: 
+
+
+<!-- ##### FUNCTION jingle_content_remove_pending_transport ##### -->
+<para>
+
+</para>
+
+ at content: 
+
+
+<!-- ##### FUNCTION jingle_content_modify ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at senders: 
+
+
+<!-- ##### MACRO jingle_content_create_content_accept ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
+<!-- ##### MACRO jingle_content_create_content_add ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
+<!-- ##### MACRO jingle_content_create_content_modify ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
+<!-- ##### MACRO jingle_content_create_content_remove ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
+<!-- ##### FUNCTION jingle_content_parse ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_content_to_xml ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at jingle: 
+ at action: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_content_handle_action ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at xmlcontent: 
+ at action: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/conversation.sgml	5e3738ee1dc4187be67907a94fbd664f21104c4b
@@ -0,0 +1,1228 @@
+<!-- ##### SECTION Title ##### -->
+conversation
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleConversationUiOps ##### -->
+<para>
+
+</para>
+
+ at create_conversation: 
+ at destroy_conversation: 
+ at write_chat: 
+ at write_im: 
+ at write_conv: 
+ at chat_add_users: 
+ at chat_rename_user: 
+ at chat_remove_users: 
+ at chat_update_user: 
+ at present: 
+ at has_focus: 
+ at custom_smiley_add: 
+ at custom_smiley_write: 
+ at custom_smiley_close: 
+ at send_confirm: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleConversation ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleConvIm ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleConvChat ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleConvChatBuddy ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleConvMessage ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ENUM PurpleConversationType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CONV_TYPE_UNKNOWN: 
+ at PURPLE_CONV_TYPE_IM: 
+ at PURPLE_CONV_TYPE_CHAT: 
+ at PURPLE_CONV_TYPE_MISC: 
+ at PURPLE_CONV_TYPE_ANY: 
+
+<!-- ##### ENUM PurpleConvUpdateType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CONV_UPDATE_ADD: 
+ at PURPLE_CONV_UPDATE_REMOVE: 
+ at PURPLE_CONV_UPDATE_ACCOUNT: 
+ at PURPLE_CONV_UPDATE_TYPING: 
+ at PURPLE_CONV_UPDATE_UNSEEN: 
+ at PURPLE_CONV_UPDATE_LOGGING: 
+ at PURPLE_CONV_UPDATE_TOPIC: 
+ at PURPLE_CONV_ACCOUNT_ONLINE: 
+ at PURPLE_CONV_ACCOUNT_OFFLINE: 
+ at PURPLE_CONV_UPDATE_AWAY: 
+ at PURPLE_CONV_UPDATE_ICON: 
+ at PURPLE_CONV_UPDATE_TITLE: 
+ at PURPLE_CONV_UPDATE_CHATLEFT: 
+ at PURPLE_CONV_UPDATE_FEATURES: 
+
+<!-- ##### ENUM PurpleTypingState ##### -->
+<para>
+
+</para>
+
+ at PURPLE_NOT_TYPING: 
+ at PURPLE_TYPING: 
+ at PURPLE_TYPED: 
+
+<!-- ##### ENUM PurpleMessageFlags ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MESSAGE_SEND: 
+ at PURPLE_MESSAGE_RECV: 
+ at PURPLE_MESSAGE_SYSTEM: 
+ at PURPLE_MESSAGE_AUTO_RESP: 
+ at PURPLE_MESSAGE_ACTIVE_ONLY: 
+ at PURPLE_MESSAGE_NICK: 
+ at PURPLE_MESSAGE_NO_LOG: 
+ at PURPLE_MESSAGE_WHISPER: 
+ at PURPLE_MESSAGE_ERROR: 
+ at PURPLE_MESSAGE_DELAYED: 
+ at PURPLE_MESSAGE_RAW: 
+ at PURPLE_MESSAGE_IMAGES: 
+ at PURPLE_MESSAGE_NOTIFY: 
+ at PURPLE_MESSAGE_NO_LINKIFY: 
+ at PURPLE_MESSAGE_INVISIBLE: 
+
+<!-- ##### ENUM PurpleConvChatBuddyFlags ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CBFLAGS_NONE: 
+ at PURPLE_CBFLAGS_VOICE: 
+ at PURPLE_CBFLAGS_HALFOP: 
+ at PURPLE_CBFLAGS_OP: 
+ at PURPLE_CBFLAGS_FOUNDER: 
+ at PURPLE_CBFLAGS_TYPING: 
+ at PURPLE_CBFLAGS_AWAY: 
+
+<!-- ##### FUNCTION purple_conversation_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at account: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_destroy ##### -->
+<para>
+
+</para>
+
+ at conv: 
+
+
+<!-- ##### FUNCTION purple_conversation_present ##### -->
+<para>
+
+</para>
+
+ at conv: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_type ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_conversations_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_ui_data ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_ui_data ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_account ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at account: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_account ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_gc ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_title ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at title: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_title ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_autoset_title ##### -->
+<para>
+
+</para>
+
+ at conv: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_name ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_name ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_get_attribute ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at key: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_get_attribute_keys ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_set_attribute ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at cb: 
+ at key: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_set_attributes ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at cb: 
+ at keys: 
+ at values: 
+
+
+<!-- ##### FUNCTION purple_conversation_find_buddy ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_find_buddies ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_logging ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at log: 
+
+
+<!-- ##### FUNCTION purple_conversation_is_logging ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_close_logs ##### -->
+<para>
+
+</para>
+
+ at conv: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_im_data ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_CONV_IM ##### -->
+<para>
+
+</para>
+
+ at conversation: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_chat_data ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_CONV_CHAT ##### -->
+<para>
+
+</para>
+
+ at conversation: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_data ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at key: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_data ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at key: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_get_conversations ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_get_ims ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_get_chats ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_find_conversation_with_account ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_write ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at who: 
+ at message: 
+ at flags: 
+ at mtime: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_features ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at features: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_features ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_has_focus ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_update ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at type: 
+
+
+<!-- ##### FUNCTION purple_conversation_foreach ##### -->
+<para>
+
+</para>
+
+ at PurpleConversation *conv: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_message_history ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_clear_message_history ##### -->
+<para>
+
+</para>
+
+ at conv: 
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_sender ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_message ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_flags ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_timestamp ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_alias ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_conversation ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_conversation ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_set_icon ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at icon: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_icon ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_set_typing_state ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at state: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_typing_state ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_start_typing_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at timeout: 
+
+
+<!-- ##### FUNCTION purple_conv_im_stop_typing_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_typing_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_set_type_again ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at val: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_type_again ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_start_send_typed_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+
+
+<!-- ##### FUNCTION purple_conv_im_stop_send_typed_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_send_typed_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_update_typing ##### -->
+<para>
+
+</para>
+
+ at im: 
+
+
+<!-- ##### FUNCTION purple_conv_im_write ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at who: 
+ at message: 
+ at flags: 
+ at mtime: 
+
+
+<!-- ##### FUNCTION purple_conv_present_error ##### -->
+<para>
+
+</para>
+
+ at who: 
+ at account: 
+ at what: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_send ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_conv_send_confirm ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_conv_im_send_with_flags ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at message: 
+ at flags: 
+
+
+<!-- ##### FUNCTION purple_conv_custom_smiley_add ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at smile: 
+ at cksum_type: 
+ at chksum: 
+ at remote: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_custom_smiley_write ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at smile: 
+ at data: 
+ at size: 
+
+
+<!-- ##### FUNCTION purple_conv_custom_smiley_close ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at smile: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_conversation ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_set_users ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at users: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_users ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_ignore ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_unignore ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_set_ignored ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at ignored: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_ignored ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_ignored_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_is_user_ignored ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_set_topic ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at who: 
+ at topic: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_topic ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_set_id ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at id: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_id ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_write ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at who: 
+ at message: 
+ at flags: 
+ at mtime: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_send ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_send_with_flags ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at message: 
+ at flags: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_add_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at extra_msg: 
+ at flags: 
+ at new_arrival: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_add_users ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at users: 
+ at extra_msgs: 
+ at flags: 
+ at new_arrivals: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_rename_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at old_user: 
+ at new_user: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_remove_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at reason: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_remove_users ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at users: 
+ at reason: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_find_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_user_set_flags ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at flags: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_user_get_flags ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_clear_users ##### -->
+<para>
+
+</para>
+
+ at chat: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_set_nick ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at nick: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_nick ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_find_chat ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_left ##### -->
+<para>
+
+</para>
+
+ at chat: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_invite_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at message: 
+ at confirm: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_has_left ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_new ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at alias: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_find ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_get_name ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_get_alias ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_get_flags ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_is_buddy ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_destroy ##### -->
+<para>
+
+</para>
+
+ at cb: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_extended_menu ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_do_command ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at cmdline: 
+ at markup: 
+ at error: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversations_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversations_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_conversations_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/core.sgml	0a3d79e3ac8d0e673b0209fb53609514d3dd1152
@@ -0,0 +1,183 @@
+<!-- ##### SECTION Title ##### -->
+core
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### TYPEDEF PurpleCore ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION ui_prefs_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION debug_ui_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION ui_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION quit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION get_ui_info ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved1 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved2 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved3 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_core_init ##### -->
+<para>
+
+</para>
+
+ at ui: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_core_quit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_core_quit_cb ##### -->
+<para>
+
+</para>
+
+ at unused: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_core_get_version ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_core_get_ui ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_get_core ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_core_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_core_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_core_ensure_single_instance ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_core_get_ui_info ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/data.sgml	f1e7f99e8acf2d935d3fb68166ade43cc6c66b22
@@ -0,0 +1,217 @@
+<!-- ##### SECTION Title ##### -->
+data
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO JABBER_DATA_MAX_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT JabberData ##### -->
+<para>
+
+</para>
+
+ at cid: 
+ at type: 
+ at size: 
+ at data: 
+ at ephemeral: 
+
+<!-- ##### FUNCTION jabber_data_create_from_data ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at size: 
+ at type: 
+ at ephemeral: 
+ at js: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_data_create_from_xml ##### -->
+<para>
+
+</para>
+
+ at tag: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_data_destroy ##### -->
+<para>
+
+</para>
+
+ at data: 
+
+
+<!-- ##### FUNCTION jabber_data_get_cid ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_data_get_type ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_data_get_size ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_data_get_data ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_data_get_xml_definition ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_data_get_xhtml_im ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at alt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_data_request ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at cid: 
+ at who: 
+ at alt: 
+ at ephemeral: 
+ at cb: 
+ at userdata: 
+
+
+<!-- ##### FUNCTION jabber_data_find_local_by_alt ##### -->
+<para>
+
+</para>
+
+ at alt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_data_find_local_by_cid ##### -->
+<para>
+
+</para>
+
+ at cid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_data_find_remote_by_cid ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+ at cid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_data_associate_local ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at alt: 
+
+
+<!-- ##### FUNCTION jabber_data_associate_remote ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+ at data: 
+
+
+<!-- ##### FUNCTION jabber_data_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+ at type: 
+ at id: 
+ at data_node: 
+
+
+<!-- ##### FUNCTION jabber_data_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_data_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/dbus-bindings.sgml	bb6a6fdf03a66ac7aebc9965b5e9e71cffe71052
@@ -0,0 +1,249 @@
+<!-- ##### SECTION Title ##### -->
+dbus-bindings
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION purple_dbus_pointer_to_id ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbus_id_to_pointer ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbus_pointer_to_id_error ##### -->
+<para>
+
+</para>
+
+ at ptr: 
+ at error: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbus_id_to_pointer_error ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at type: 
+ at typename: 
+ at error: 
+ at Returns: 
+
+
+<!-- ##### MACRO NULLIFY ##### -->
+<para>
+
+</para>
+
+ at id: 
+
+
+<!-- ##### MACRO CHECK_ERROR ##### -->
+<para>
+
+</para>
+
+ at error: 
+
+
+<!-- ##### MACRO PURPLE_DBUS_ID_TO_POINTER ##### -->
+<para>
+
+</para>
+
+ at ptr: 
+ at id: 
+ at type: 
+ at error: 
+
+
+<!-- ##### MACRO PURPLE_DBUS_POINTER_TO_ID ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at ptr: 
+ at error: 
+
+
+<!-- ##### FUNCTION purple_dbus_message_get_args ##### -->
+<para>
+
+</para>
+
+ at message: 
+ at error: 
+ at first_arg_type: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbus_message_get_args_valist ##### -->
+<para>
+
+</para>
+
+ at message: 
+ at error: 
+ at first_arg_type: 
+ at var_args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbus_message_iter_get_args ##### -->
+<para>
+
+</para>
+
+ at iter: 
+ at error: 
+ at first_arg_type: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbus_message_iter_get_args_valist ##### -->
+<para>
+
+</para>
+
+ at iter: 
+ at error: 
+ at first_arg_type: 
+ at var_args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbusify_GList ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at free_memory: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbusify_GSList ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at free_memory: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_GList_to_array ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at free_memory: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_GSList_to_array ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at free_memory: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbus_iter_hash_table ##### -->
+<para>
+
+</para>
+
+ at iter: 
+ at error: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION empty_to_null ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION null_to_empty ##### -->
+<para>
+
+</para>
+
+ at s: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleDBusBinding ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at parameters: 
+ at handler: 
+
+<!-- ##### FUNCTION purple_dbus_register_bindings ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at bindings: 
+
+
+<!-- ##### FUNCTION purple_dbus_get_connection ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/dbus-define-api.sgml	9ae1e83bd90331e814e35e208ff95ca28217868e
@@ -0,0 +1,106 @@
+<!-- ##### SECTION Title ##### -->
+dbus-define-api
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION PURPLE_IS_BUDDY ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_IS_CONTACT ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_IS_GROUP ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_BUDDY_IS_ONLINE ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_BLIST_NODE_HAS_FLAG ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_BLIST_NODE_SHOULD_SAVE ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_CONNECTION_IS_CONNECTED ##### -->
+<para>
+
+</para>
+
+ at connection: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_CONNECTION_IS_VALID ##### -->
+<para>
+
+</para>
+
+ at connection: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_CONV_IM ##### -->
+<para>
+
+</para>
+
+ at conversation: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/dbus-maybe.sgml	8c8e8962f90bc9452dfd8d20ce9ae5bc32601bff
@@ -0,0 +1,55 @@
+<!-- ##### SECTION Title ##### -->
+dbus-maybe
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO DBUS_API_SUBJECT_TO_CHANGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DBUS_REGISTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at ptr: 
+ at type: 
+
+
+<!-- ##### MACRO PURPLE_DBUS_UNREGISTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at ptr: 
+
+
+<!-- ##### MACRO DBUS_EXPORT ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/dbus-purple.sgml	fb7f12b2e46d4df09c5c5dbd63ebec423a122069
@@ -0,0 +1,45 @@
+<!-- ##### SECTION Title ##### -->
+dbus-purple
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO DBUS_SERVICE_PURPLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DBUS_PATH_PURPLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DBUS_INTERFACE_PURPLE ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/dbus-server.sgml	736fd48031938da8d117a6f8dcf66f5d70398641
@@ -0,0 +1,158 @@
+<!-- ##### SECTION Title ##### -->
+dbus-server
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleDBusType ##### -->
+<para>
+
+</para>
+
+ at parent: 
+
+<!-- ##### MACRO PURPLE_DBUS_TYPE ##### -->
+<para>
+
+</para>
+
+ at type: 
+
+
+<!-- ##### MACRO PURPLE_DBUS_DECLARE_TYPE ##### -->
+<para>
+
+</para>
+
+ at type: 
+
+
+<!-- ##### MACRO PURPLE_DBUS_DEFINE_TYPE ##### -->
+<para>
+
+</para>
+
+ at type: 
+
+
+<!-- ##### MACRO PURPLE_DBUS_DEFINE_INHERITING_TYPE ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at parent: 
+
+
+<!-- ##### MACRO PURPLE_DBUS_RETURN_FALSE_IF_DISABLED ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### FUNCTION purple_dbus_init_ids ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_dbus_register_pointer ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at type: 
+
+
+<!-- ##### FUNCTION purple_dbus_unregister_pointer ##### -->
+<para>
+
+</para>
+
+ at node: 
+
+
+<!-- ##### FUNCTION purple_dbus_signal_emit_purple ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at num_values: 
+ at values: 
+ at vargs: 
+
+
+<!-- ##### FUNCTION purple_dbus_get_init_error ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbus_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbus_is_owner ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dbus_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_dbus_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### MACRO DBUS_EXPORT ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/dbus-useful.sgml	890824fef9d8d3797d3d7c4e7c201f67f0b2f833
@@ -0,0 +1,55 @@
+<!-- ##### SECTION Title ##### -->
+dbus-useful
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION purple_accounts_find_ext ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at protocol_id: 
+ at const PurpleAccount *account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_find_any ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at protocol: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_find_connected ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at protocol: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/debug.sgml	5dc7275de5b37a9bf2c5d0d8d924e4ce3f9cef5d
@@ -0,0 +1,225 @@
+<!-- ##### SECTION Title ##### -->
+debug
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurpleDebugLevel ##### -->
+<para>
+
+</para>
+
+ at PURPLE_DEBUG_ALL: 
+ at PURPLE_DEBUG_MISC: 
+ at PURPLE_DEBUG_INFO: 
+ at PURPLE_DEBUG_WARNING: 
+ at PURPLE_DEBUG_ERROR: 
+ at PURPLE_DEBUG_FATAL: 
+
+<!-- ##### USER_FUNCTION print ##### -->
+<para>
+
+</para>
+
+ at level: 
+ at category: 
+ at arg_s: 
+
+
+<!-- ##### USER_FUNCTION is_enabled ##### -->
+<para>
+
+</para>
+
+ at level: 
+ at category: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved1 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved2 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved3 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved4 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_debug ##### -->
+<para>
+
+</para>
+
+ at level: 
+ at category: 
+ at format: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_debug_misc ##### -->
+<para>
+
+</para>
+
+ at category: 
+ at format: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_debug_info ##### -->
+<para>
+
+</para>
+
+ at category: 
+ at format: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_debug_warning ##### -->
+<para>
+
+</para>
+
+ at category: 
+ at format: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_debug_error ##### -->
+<para>
+
+</para>
+
+ at category: 
+ at format: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_debug_fatal ##### -->
+<para>
+
+</para>
+
+ at category: 
+ at format: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_debug_set_enabled ##### -->
+<para>
+
+</para>
+
+ at enabled: 
+
+
+<!-- ##### FUNCTION purple_debug_is_enabled ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_debug_set_verbose ##### -->
+<para>
+
+</para>
+
+ at verbose: 
+
+
+<!-- ##### FUNCTION purple_debug_is_verbose ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_debug_set_unsafe ##### -->
+<para>
+
+</para>
+
+ at unsafe: 
+
+
+<!-- ##### FUNCTION purple_debug_is_unsafe ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_debug_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_debug_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_debug_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/defines.sgml	e676d0e07eeb2f0b7f0e02e581c15ecedb58bbef
@@ -0,0 +1,52 @@
+<!-- ##### SECTION Title ##### -->
+defines
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO CUSTOM_USER_DIRECTORY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CUSTOM_PLUGIN_PATH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PLUGIN_SAVE_PREF ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO UI_ID ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/des3cipher.sgml	03fee6e53db7170755f6e1793c7bf1aa571e9aba
@@ -0,0 +1,64 @@
+<!-- ##### SECTION Title ##### -->
+PurpleDES3Cipher
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleDES3Cipher ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleDES3CipherClass ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_des3_cipher_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_des3_cipher_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/descipher.sgml	10790aa79f8173f11978ab5fb8c165b55dc6e915
@@ -0,0 +1,76 @@
+<!-- ##### SECTION Title ##### -->
+PurpleDESCipher
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleDESCipher ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleDESCipherClass ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_des_cipher_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_des_cipher_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_des_cipher_ecb_crypt ##### -->
+<para>
+
+</para>
+
+ at des_cipher: 
+ at from: 
+ at to: 
+ at mode: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/desktopitem.sgml	7e0eb0a9ce221283d2563d09a5f27b20e3fa03a7
@@ -0,0 +1,316 @@
+<!-- ##### SECTION Title ##### -->
+desktopitem
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurpleDesktopItemType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_DESKTOP_ITEM_TYPE_NULL: 
+ at PURPLE_DESKTOP_ITEM_TYPE_OTHER: 
+ at PURPLE_DESKTOP_ITEM_TYPE_APPLICATION: 
+ at PURPLE_DESKTOP_ITEM_TYPE_LINK: 
+ at PURPLE_DESKTOP_ITEM_TYPE_FSDEVICE: 
+ at PURPLE_DESKTOP_ITEM_TYPE_MIME_TYPE: 
+ at PURPLE_DESKTOP_ITEM_TYPE_DIRECTORY: 
+ at PURPLE_DESKTOP_ITEM_TYPE_SERVICE: 
+ at PURPLE_DESKTOP_ITEM_TYPE_SERVICE_TYPE: 
+
+<!-- ##### STRUCT PurpleDesktopItem ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO PURPLE_TYPE_DESKTOP_ITEM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_desktop_item_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_ENCODING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_GENERIC_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_FILE_PATTERN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_TRY_EXEC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_NO_DISPLAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_COMMENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_EXEC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_ACTIONS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_ICON ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_MINI_ICON ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_HIDDEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_PATH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_TERMINAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_TERMINAL_OPTIONS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_SWALLOW_TITLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_SWALLOW_EXEC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_MIME_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_PATTERNS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_DEFAULT_APP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_DEV ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_FS_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_MOUNT_POINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_READ_ONLY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_UNMOUNT_ICON ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_SORT_ORDER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_DESKTOP_ITEM_DOC_PATH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_desktop_item_new_from_file ##### -->
+<para>
+
+</para>
+
+ at filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_desktop_item_get_entry_type ##### -->
+<para>
+
+</para>
+
+ at item: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_desktop_item_get_string ##### -->
+<para>
+
+</para>
+
+ at item: 
+ at attr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_desktop_item_copy ##### -->
+<para>
+
+</para>
+
+ at item: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_desktop_item_unref ##### -->
+<para>
+
+</para>
+
+ at item: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/directconn.sgml	139ae4be2cf444a13df8f45c61ea4cc55b4f94a7
@@ -0,0 +1,215 @@
+<!-- ##### SECTION Title ##### -->
+directconn
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnDirectConn ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at slplink: 
+ at slpcall: 
+ at msg_body: 
+ at prev_ack: 
+ at nonce_type: 
+ at nonce: 
+ at nonce_hash: 
+ at remote_nonce: 
+ at listen_data: 
+ at connect_data: 
+ at listenfd: 
+ at listenfd_handle: 
+ at connect_timeout_handle: 
+ at fd: 
+ at recv_handle: 
+ at send_handle: 
+ at in_buffer: 
+ at in_size: 
+ at in_pos: 
+ at out_queue: 
+ at msg_pos: 
+ at send_connection_info_msg_cb: 
+ at ext_ip: 
+ at ext_port: 
+ at timeout_handle: 
+ at progress: 
+
+<!-- ##### MACRO MSN_DCCONN_MAX_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM MsnDirectConnState ##### -->
+<para>
+
+</para>
+
+ at DC_STATE_CLOSED: 
+ at DC_STATE_FOO: 
+ at DC_STATE_HANDSHAKE: 
+ at DC_STATE_HANDSHAKE_REPLY: 
+ at DC_STATE_ESTABLISHED: 
+
+<!-- ##### ENUM MsnDirectConnProcessResult ##### -->
+<para>
+
+</para>
+
+ at DC_PROCESS_OK: 
+ at DC_PROCESS_ERROR: 
+ at DC_PROCESS_FALLBACK: 
+ at DC_PROCESS_CLOSE: 
+
+<!-- ##### ENUM MsnDirectConnNonceType ##### -->
+<para>
+
+</para>
+
+ at DC_NONCE_UNKNOWN: 
+ at DC_NONCE_PLAIN: 
+ at DC_NONCE_SHA1: 
+
+<!-- ##### STRUCT MsnDirectConnPacket ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO DC_OUTGOING_TIMEOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DC_INCOMING_TIMEOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DC_TIMEOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msn_dc_enqueue_part ##### -->
+<para>
+
+</para>
+
+ at dc: 
+ at part: 
+
+
+<!-- ##### FUNCTION msn_dc_new ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_dc_destroy ##### -->
+<para>
+
+</para>
+
+ at dc: 
+
+
+<!-- ##### FUNCTION msn_dc_fallback_to_sb ##### -->
+<para>
+
+</para>
+
+ at dc: 
+
+
+<!-- ##### FUNCTION msn_dc_ref ##### -->
+<para>
+
+</para>
+
+ at dc: 
+
+
+<!-- ##### FUNCTION msn_dc_unref ##### -->
+<para>
+
+</para>
+
+ at dc: 
+
+
+<!-- ##### FUNCTION msn_dc_send_invite ##### -->
+<para>
+
+</para>
+
+ at dc: 
+
+
+<!-- ##### FUNCTION msn_dc_send_ok ##### -->
+<para>
+
+</para>
+
+ at dc: 
+
+
+<!-- ##### FUNCTION msn_dc_connected_to_peer_cb ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at fd: 
+ at error_msg: 
+
+
+<!-- ##### FUNCTION msn_dc_outgoing_connection_timeout_cb ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_dc_listen_socket_created_cb ##### -->
+<para>
+
+</para>
+
+ at listenfd: 
+ at data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/disco.sgml	260e7b4877999bdaead3ea2fd3a33b0a448578de
@@ -0,0 +1,76 @@
+<!-- ##### SECTION Title ##### -->
+disco
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JabberDiscoItem ##### -->
+<para>
+
+</para>
+
+ at jid: 
+ at node: 
+ at name: 
+
+<!-- ##### FUNCTION jabber_disco_info_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at in_query: 
+
+
+<!-- ##### FUNCTION jabber_disco_items_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at query: 
+
+
+<!-- ##### FUNCTION jabber_disco_items_server ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_disco_info_do ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+ at callback: 
+ at data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/dns_sd_proxy.sgml	37839fcbe142382e3fa3e48ac56b8d002a0fe132
@@ -0,0 +1,238 @@
+<!-- ##### SECTION Title ##### -->
+dns_sd_proxy
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION dns_sd_available ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO DNSServiceAddRecord ##### -->
+<para>
+
+</para>
+
+ at sdRef: 
+ at RecordRef: 
+ at flags: 
+ at rrtype: 
+ at rdlen: 
+ at rdata: 
+ at ttl: 
+
+
+<!-- ##### MACRO DNSServiceBrowse ##### -->
+<para>
+
+</para>
+
+ at sdRef: 
+ at flags: 
+ at interfaceIndex: 
+ at regtype: 
+ at domain: 
+ at callBack: 
+ at context: 
+
+
+<!-- ##### MACRO DNSServiceConstructFullName ##### -->
+<para>
+
+</para>
+
+ at fullName: 
+ at service: 
+ at regtype: 
+ at domain: 
+
+
+<!-- ##### MACRO DNSServiceGetAddrInfo ##### -->
+<para>
+
+</para>
+
+ at sdRef: 
+ at flags: 
+ at interfaceIndex: 
+ at protocol: 
+ at hostname: 
+ at callBack: 
+ at context: 
+
+
+<!-- ##### MACRO DNSServiceProcessResult ##### -->
+<para>
+
+</para>
+
+ at sdRef: 
+
+
+<!-- ##### MACRO DNSServiceQueryRecord ##### -->
+<para>
+
+</para>
+
+ at sdRef: 
+ at flags: 
+ at interfaceIndex: 
+ at fullname: 
+ at rrtype: 
+ at rrclass: 
+ at callBack: 
+ at context: 
+
+
+<!-- ##### MACRO DNSServiceRefDeallocate ##### -->
+<para>
+
+</para>
+
+ at sdRef: 
+
+
+<!-- ##### MACRO DNSServiceRefSockFD ##### -->
+<para>
+
+</para>
+
+ at sdRef: 
+
+
+<!-- ##### MACRO DNSServiceRegister ##### -->
+<para>
+
+</para>
+
+ at sdRef: 
+ at flags: 
+ at interfaceIndex: 
+ at name: 
+ at regtype: 
+ at domain: 
+ at host: 
+ at port: 
+ at txtLen: 
+ at txtRecord: 
+ at callBack: 
+ at context: 
+
+
+<!-- ##### MACRO DNSServiceResolve ##### -->
+<para>
+
+</para>
+
+ at sdRef: 
+ at flags: 
+ at interfaceIndex: 
+ at name: 
+ at regtype: 
+ at domain: 
+ at callBack: 
+ at context: 
+
+
+<!-- ##### MACRO DNSServiceRemoveRecord ##### -->
+<para>
+
+</para>
+
+ at sdRef: 
+ at RecordRef: 
+ at flags: 
+
+
+<!-- ##### MACRO DNSServiceUpdateRecord ##### -->
+<para>
+
+</para>
+
+ at sdRef: 
+ at RecordRef: 
+ at flags: 
+ at rdlen: 
+ at rdata: 
+ at ttl: 
+
+
+<!-- ##### MACRO TXTRecordCreate ##### -->
+<para>
+
+</para>
+
+ at txtRecord: 
+ at bufferLen: 
+ at buffer: 
+
+
+<!-- ##### MACRO TXTRecordDeallocate ##### -->
+<para>
+
+</para>
+
+ at txtRecord: 
+
+
+<!-- ##### MACRO TXTRecordGetBytesPtr ##### -->
+<para>
+
+</para>
+
+ at txtRecord: 
+
+
+<!-- ##### MACRO TXTRecordGetLength ##### -->
+<para>
+
+</para>
+
+ at txtRecord: 
+
+
+<!-- ##### MACRO TXTRecordGetValuePtr ##### -->
+<para>
+
+</para>
+
+ at txtLen: 
+ at txtRecord: 
+ at key: 
+ at valueLen: 
+
+
+<!-- ##### MACRO TXTRecordSetValue ##### -->
+<para>
+
+</para>
+
+ at txtRecord: 
+ at key: 
+ at valueSize: 
+ at value: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/dnsquery.sgml	44319e622c4e3ee2d077a31be47bef405a900ef1
@@ -0,0 +1,180 @@
+<!-- ##### SECTION Title ##### -->
+dnsquery
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleDnsQueryData ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION PurpleDnsQueryConnectFunction ##### -->
+<para>
+
+</para>
+
+ at hosts: 
+ at data: 
+ at error_message: 
+
+
+<!-- ##### USER_FUNCTION PurpleDnsQueryResolvedCallback ##### -->
+<para>
+
+</para>
+
+ at query_data: 
+ at hosts: 
+
+
+<!-- ##### USER_FUNCTION PurpleDnsQueryFailedCallback ##### -->
+<para>
+
+</para>
+
+ at query_data: 
+ at error_message: 
+
+
+<!-- ##### USER_FUNCTION resolve_host ##### -->
+<para>
+
+</para>
+
+ at query_data: 
+ at resolved_cb: 
+ at failed_cb: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION destroy ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved1 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved2 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved3 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved4 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_dnsquery_a ##### -->
+<para>
+
+</para>
+
+ at hostname: 
+ at port: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dnsquery_destroy ##### -->
+<para>
+
+</para>
+
+ at query_data: 
+
+
+<!-- ##### FUNCTION purple_dnsquery_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_dnsquery_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dnsquery_get_host ##### -->
+<para>
+
+</para>
+
+ at query_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dnsquery_get_port ##### -->
+<para>
+
+</para>
+
+ at query_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_dnsquery_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_dnsquery_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/dnssrv.sgml	8833bca237f23e10ec941e80770761e1c9e085d8
@@ -0,0 +1,123 @@
+<!-- ##### SECTION Title ##### -->
+dnssrv
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleSrvQueryData ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleSrvResponse ##### -->
+<para>
+
+</para>
+
+ at hostname: 
+ at port: 
+ at weight: 
+ at pref: 
+
+<!-- ##### STRUCT PurpleTxtResponse ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION PurpleSrvCallback ##### -->
+<para>
+
+</para>
+
+ at resp: 
+ at results: 
+ at data: 
+
+
+<!-- ##### USER_FUNCTION PurpleTxtCallback ##### -->
+<para>
+
+</para>
+
+ at responses: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_srv_resolve ##### -->
+<para>
+
+</para>
+
+ at protocol: 
+ at transport: 
+ at domain: 
+ at cb: 
+ at extradata: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_srv_cancel ##### -->
+<para>
+
+</para>
+
+ at query_data: 
+
+
+<!-- ##### FUNCTION purple_txt_resolve ##### -->
+<para>
+
+</para>
+
+ at owner: 
+ at domain: 
+ at cb: 
+ at extradata: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_txt_cancel ##### -->
+<para>
+
+</para>
+
+ at query_data: 
+
+
+<!-- ##### FUNCTION purple_txt_response_get_content ##### -->
+<para>
+
+</para>
+
+ at response: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_txt_response_destroy ##### -->
+<para>
+
+</para>
+
+ at response: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/encoding.sgml	983fcc37741c408242b06509490dba2af28043ac
@@ -0,0 +1,71 @@
+<!-- ##### SECTION Title ##### -->
+encoding
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION oscar_encoding_to_utf8 ##### -->
+<para>
+
+</para>
+
+ at encoding: 
+ at text: 
+ at textlen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_utf8_try_convert ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at od: 
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_decode_im ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at sourcebn: 
+ at charset: 
+ at data: 
+ at datalen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_encode_im ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at result_len: 
+ at charset: 
+ at charsetstr: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/enum-types.sgml	e87021c6ba3e2725229a8307919cc003a366b479
@@ -0,0 +1,199 @@
+<!-- ##### SECTION Title ##### -->
+enum-types
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO PURPLE_TYPE_MEDIA_CANDIDATE_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_MEDIA_TYPE_CAPS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_MEDIA_TYPE_INFO_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_TYPE_MEDIA_NETWORK_PROTOCOL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_TYPE_MEDIA_SESSION_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_MEDIA_TYPE_STATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM PurpleMediaCandidateType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_CANDIDATE_TYPE_HOST: 
+ at PURPLE_MEDIA_CANDIDATE_TYPE_SRFLX: 
+ at PURPLE_MEDIA_CANDIDATE_TYPE_PRFLX: 
+ at PURPLE_MEDIA_CANDIDATE_TYPE_RELAY: 
+ at PURPLE_MEDIA_CANDIDATE_TYPE_MULTICAST: 
+
+<!-- ##### ENUM PurpleMediaCaps ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_CAPS_NONE: 
+ at PURPLE_MEDIA_CAPS_AUDIO: 
+ at PURPLE_MEDIA_CAPS_AUDIO_SINGLE_DIRECTION: 
+ at PURPLE_MEDIA_CAPS_VIDEO: 
+ at PURPLE_MEDIA_CAPS_VIDEO_SINGLE_DIRECTION: 
+ at PURPLE_MEDIA_CAPS_AUDIO_VIDEO: 
+ at PURPLE_MEDIA_CAPS_MODIFY_SESSION: 
+ at PURPLE_MEDIA_CAPS_CHANGE_DIRECTION: 
+
+<!-- ##### ENUM PurpleMediaComponentType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_COMPONENT_NONE: 
+ at PURPLE_MEDIA_COMPONENT_RTP: 
+ at PURPLE_MEDIA_COMPONENT_RTCP: 
+
+<!-- ##### ENUM PurpleMediaInfoType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_INFO_HANGUP: 
+ at PURPLE_MEDIA_INFO_ACCEPT: 
+ at PURPLE_MEDIA_INFO_REJECT: 
+ at PURPLE_MEDIA_INFO_MUTE: 
+ at PURPLE_MEDIA_INFO_UNMUTE: 
+ at PURPLE_MEDIA_INFO_PAUSE: 
+ at PURPLE_MEDIA_INFO_UNPAUSE: 
+ at PURPLE_MEDIA_INFO_HOLD: 
+ at PURPLE_MEDIA_INFO_UNHOLD: 
+
+<!-- ##### ENUM PurpleMediaNetworkProtocol ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_NETWORK_PROTOCOL_UDP: 
+ at PURPLE_MEDIA_NETWORK_PROTOCOL_TCP: 
+
+<!-- ##### ENUM PurpleMediaSessionType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_NONE: 
+ at PURPLE_MEDIA_RECV_AUDIO: 
+ at PURPLE_MEDIA_SEND_AUDIO: 
+ at PURPLE_MEDIA_RECV_VIDEO: 
+ at PURPLE_MEDIA_SEND_VIDEO: 
+ at PURPLE_MEDIA_AUDIO: 
+ at PURPLE_MEDIA_VIDEO: 
+
+<!-- ##### ENUM PurpleMediaState ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_STATE_NEW: 
+ at PURPLE_MEDIA_STATE_CONNECTED: 
+ at PURPLE_MEDIA_STATE_END: 
+
+<!-- ##### FUNCTION purple_media_candidate_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_caps_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_info_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_network_protocol_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_session_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_state_changed_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/enums.sgml	b2c7a71169a9b14bdaf7866d9eaaee4b38a85fdd
@@ -0,0 +1,792 @@
+<!-- ##### SECTION Title ##### -->
+enums
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION purple_account_request_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_ACCOUNT_REQUEST_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_account_request_response_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_ACCOUNT_REQUEST_RESPONSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_blist_node_flags_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_BLIST_NODE_FLAGS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_certificate_verification_status_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_CERTIFICATE_VERIFICATION_STATUS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_connection_flags_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_CONNECTION_FLAGS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_connection_state_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_CONNECTION_STATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_connection_error_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_CONNECTION_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_conversation_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_CONVERSATION_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_conv_update_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_CONV_UPDATE_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_typing_state_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_TYPING_STATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_message_flags_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_MESSAGE_FLAGS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_conv_chat_buddy_flags_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_CONV_CHAT_BUDDY_FLAGS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_debug_level_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_DEBUG_LEVEL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_desktop_item_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_DESKTOP_ITEM_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_input_condition_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_INPUT_CONDITION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_xfer_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_XFER_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_xfer_status_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_XFER_STATUS_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_log_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_LOG_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_log_read_flags_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_LOG_READ_FLAGS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_media_element_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_MEDIA_ELEMENT_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_pmp_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_PMP_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_notify_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_NOTIFY_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_notify_msg_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_NOTIFY_MSG_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_notify_search_button_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_NOTIFY_SEARCH_BUTTON_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_NOTIFY_USER_INFO_ENTRY_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_plugin_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_PLUGIN_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_string_format_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_STRING_FORMAT_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_plugin_pref_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_PLUGIN_PREF_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_pounce_event_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_POUNCE_EVENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_pounce_option_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_POUNCE_OPTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_pref_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_PREF_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_privacy_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_PRIVACY_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_proxy_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_PROXY_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_icon_scale_rules_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_ICON_SCALE_RULES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_protocol_options_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_PROTOCOL_OPTIONS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_request_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_REQUEST_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_request_field_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_REQUEST_FIELD_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_roomlist_room_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_ROOMLIST_ROOM_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_roomlist_field_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_ROOMLIST_FIELD_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_sound_event_id_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_SOUND_EVENT_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_ssl_error_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_SSL_ERROR_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_presence_context_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_PRESENCE_CONTEXT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_status_primitive_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_STATUS_PRIMITIVE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_stun_status_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_STUN_STATUS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_stun_nat_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_STUN_NAT_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_sub_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_TYPE_SUB_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION x_ml_node_type_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO X_TYPE_ML_NODE_TYPE ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/error.sgml	6675177d8b5607b8d3ae986a17dc9a09e7087310
@@ -0,0 +1,53 @@
+<!-- ##### SECTION Title ##### -->
+error
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION msn_error_get_text ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at debug: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_error_handle ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at type: 
+
+
+<!-- ##### FUNCTION msn_error_sync_issue ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at passport: 
+ at group_name: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/error_table.sgml	bdb2b4e48cc6a8d8c73825962c1effc91c69b983
@@ -0,0 +1,47 @@
+<!-- ##### SECTION Title ##### -->
+error_table
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO ERRCODE_RANGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO BITS_PER_CHAR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION error_table_name ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/eventloop.sgml	dae40ffe62dcac115e7fd3ff51f41eba7c1d5ba5
@@ -0,0 +1,136 @@
+<!-- ##### SECTION Title ##### -->
+eventloop
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurpleInputCondition ##### -->
+<para>
+
+</para>
+
+ at PURPLE_INPUT_READ: 
+ at PURPLE_INPUT_WRITE: 
+
+<!-- ##### USER_FUNCTION PurpleInputFunction ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at Param3: 
+
+
+<!-- ##### STRUCT PurpleEventLoopUiOps ##### -->
+<para>
+
+</para>
+
+ at timeout_add: 
+ at timeout_remove: 
+ at input_add: 
+ at input_remove: 
+ at input_get_error: 
+ at timeout_add_seconds: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_timeout_add ##### -->
+<para>
+
+</para>
+
+ at interval: 
+ at function: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_timeout_add_seconds ##### -->
+<para>
+
+</para>
+
+ at interval: 
+ at function: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_timeout_remove ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_input_add ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at cond: 
+ at func: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_input_remove ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_input_get_error ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at error: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_eventloop_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_eventloop_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/file_trans.sgml	f14f066ba414df65acb763588ec36a53553d74ac
@@ -0,0 +1,81 @@
+<!-- ##### SECTION Title ##### -->
+file_trans
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO QQ_FILE_FRAGMENT_MAXLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_FILE_CONTROL_PACKET_TAG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_FILE_DATA_PACKET_TAG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_FILE_AGENT_PACKET_TAG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION qq_send_file_ctl_packet ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at packet_type: 
+ at to_uid: 
+ at hellobyte: 
+
+
+<!-- ##### FUNCTION qq_process_recv_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION qq_xfer_close_file ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/filexfer.sgml	11154e95062049a7cddab12d8892229ce3ebe660
@@ -0,0 +1,88 @@
+<!-- ##### SECTION Title ##### -->
+filexfer
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION file_mime_type ##### -->
+<para>
+
+</para>
+
+ at filename: 
+ at buf: 
+ at buflen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_xfer_enabled ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_xfer_tx ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at filename: 
+
+
+<!-- ##### FUNCTION mxit_xfer_new ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_xfer_rx_offer ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at username: 
+ at filename: 
+ at filesize: 
+ at fileid: 
+
+
+<!-- ##### FUNCTION mxit_xfer_rx_file ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at fileid: 
+ at data: 
+ at datalen: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/formcmds.sgml	f240eaa4494c873c375116082420b269192d783c
@@ -0,0 +1,34 @@
+<!-- ##### SECTION Title ##### -->
+formcmds
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION mxit_parse_command ##### -->
+<para>
+
+</para>
+
+ at mx: 
+ at message: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/ft.sgml	6df899b08069154bd0c17f8f5475400dd568e6eb
@@ -0,0 +1,710 @@
+<!-- ##### SECTION Title ##### -->
+ft
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleXfer ##### -->
+<para>
+
+</para>
+
+ at ref: 
+ at type: 
+ at account: 
+ at who: 
+ at message: 
+ at filename: 
+ at local_filename: 
+ at size: 
+ at dest_fp: 
+ at remote_ip: 
+ at local_port: 
+ at remote_port: 
+ at fd: 
+ at watcher: 
+ at bytes_sent: 
+ at bytes_remaining: 
+ at start_time: 
+ at end_time: 
+ at current_buffer_size: 
+ at status: 
+
+<!-- ##### ENUM PurpleXferType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_XFER_UNKNOWN: 
+ at PURPLE_XFER_SEND: 
+ at PURPLE_XFER_RECEIVE: 
+
+<!-- ##### ENUM PurpleXferStatusType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_XFER_STATUS_UNKNOWN: 
+ at PURPLE_XFER_STATUS_NOT_STARTED: 
+ at PURPLE_XFER_STATUS_ACCEPTED: 
+ at PURPLE_XFER_STATUS_STARTED: 
+ at PURPLE_XFER_STATUS_DONE: 
+ at PURPLE_XFER_STATUS_CANCEL_LOCAL: 
+ at PURPLE_XFER_STATUS_CANCEL_REMOTE: 
+
+<!-- ##### USER_FUNCTION new_xfer ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### USER_FUNCTION destroy ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### USER_FUNCTION add_xfer ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### USER_FUNCTION update_progress ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at percent: 
+
+
+<!-- ##### USER_FUNCTION cancel_local ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### USER_FUNCTION cancel_remote ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### USER_FUNCTION ui_write ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at buffer: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION ui_read ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at buffer: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION data_not_sent ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at buffer: 
+ at size: 
+
+
+<!-- ##### USER_FUNCTION add_thumbnail ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at formats: 
+
+
+<!-- ##### FUNCTION purple_xfer_new ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at type: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfers_get_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_ref ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_unref ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_request ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_request_accepted ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at filename: 
+
+
+<!-- ##### FUNCTION purple_xfer_request_denied ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_type ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_account ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_remote_user ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_status ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_is_canceled ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_is_completed ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_filename ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_local_filename ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_bytes_sent ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_bytes_remaining ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_size ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_progress ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_local_port ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_remote_ip ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_remote_port ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_start_time ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_end_time ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_completed ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at completed: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_message ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_filename ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at filename: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_local_filename ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at filename: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_size ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at size: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_bytes_sent ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at bytes_sent: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_read_fnc ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at guchar **, PurpleXfer *: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_write_fnc ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at const guchar *, size_t, PurpleXfer *: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_ack_fnc ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at PurpleXfer *, const guchar *, size_t: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_request_denied_fnc ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at PurpleXfer *: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_init_fnc ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at PurpleXfer *: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_start_fnc ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at PurpleXfer *: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_end_fnc ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at PurpleXfer *: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_cancel_send_fnc ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at PurpleXfer *: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_cancel_recv_fnc ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at PurpleXfer *: 
+
+
+<!-- ##### FUNCTION purple_xfer_read ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at buffer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_write ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at buffer: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_start ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at fd: 
+ at ip: 
+ at port: 
+
+
+<!-- ##### FUNCTION purple_xfer_end ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_add ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_cancel_local ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_cancel_remote ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_error ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at account: 
+ at who: 
+ at msg: 
+
+
+<!-- ##### FUNCTION purple_xfer_update_progress ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_conversation_write ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at message: 
+ at is_error: 
+
+
+<!-- ##### FUNCTION purple_xfer_ui_ready ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_prpl_ready ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_thumbnail ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_thumbnail_mimetype ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_thumbnail ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at thumbnail: 
+ at size: 
+ at mimetype: 
+
+
+<!-- ##### FUNCTION purple_xfer_prepare_thumbnail ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at formats: 
+
+
+<!-- ##### FUNCTION purple_xfers_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfers_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_xfers_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_xfers_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_xfers_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/gg-utils.sgml	7a158c439d30fbd78636f52268bf94e11023891a
@@ -0,0 +1,80 @@
+<!-- ##### SECTION Title ##### -->
+gg-utils
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION ggp_str_to_uin ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ggp_array_size ##### -->
+<para>
+
+</para>
+
+ at array: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION charset_convert ##### -->
+<para>
+
+</para>
+
+ at locstr: 
+ at encsrc: 
+ at encdst: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ggp_get_uin ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ggp_buddy_get_name ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at uin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ggp_status_fake_to_self ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/gg.sgml	7e3e023304053e6d55e5990033e4946c9fe15ec0
@@ -0,0 +1,53 @@
+<!-- ##### SECTION Title ##### -->
+gg
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO PUBDIR_RESULTS_MAX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### USER_FUNCTION GGPTokenCallback ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### STRUCT GGPInfo ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at token: 
+ at chats: 
+ at searches: 
+ at chats_count: 
+ at pending_richtext_messages: 
+ at pending_images: 
+ at status_broadcasting: 
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/ghash.sgml	4b3e3e72d38c2eb5860a1b7df8539b7e885e6688
@@ -0,0 +1,55 @@
+<!-- ##### SECTION Title ##### -->
+PurpleGHash
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleGHash ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG PurpleGHash:checksum-type ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT PurpleGHashClass ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_g_hash_get_checksum_type ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/gmail.sgml	8b1aa8ff426c10b1888aa827838cc9a289f689ad
@@ -0,0 +1,44 @@
+<!-- ##### SECTION Title ##### -->
+gmail
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_gmail_init ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_gmail_poke ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at new_mail: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/google.sgml	e369bd32822ef22e8c3fbac59e05011aeea43d16
@@ -0,0 +1,49 @@
+<!-- ##### SECTION Title ##### -->
+google
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO GOOGLE_GROUPCHAT_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION jabber_google_format_to_html ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION google_buddy_node_chat ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/google_presence.sgml	eb56e989f3309f2245c02109bff67c83cfd4d002
@@ -0,0 +1,43 @@
+<!-- ##### SECTION Title ##### -->
+google_presence
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_google_presence_incoming ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+ at jbr: 
+
+
+<!-- ##### FUNCTION jabber_google_presence_outgoing ##### -->
+<para>
+
+</para>
+
+ at tune: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/google_roster.sgml	6205e57098d8becfc2238ac8a07698da3ef81734
@@ -0,0 +1,62 @@
+<!-- ##### SECTION Title ##### -->
+google_roster
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_google_roster_outgoing ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at query: 
+ at item: 
+
+
+<!-- ##### FUNCTION jabber_google_roster_incoming ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at item: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_google_roster_add_deny ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+
+
+<!-- ##### FUNCTION jabber_google_roster_rem_deny ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/google_session.sgml	0002ef511a399a386d8ab4622cf704e978084389
@@ -0,0 +1,79 @@
+<!-- ##### SECTION Title ##### -->
+google_session
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT GoogleSessionId ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at initiator: 
+
+<!-- ##### ENUM GoogleSessionState ##### -->
+<para>
+
+</para>
+
+ at UNINIT: 
+ at SENT_INITIATE: 
+ at RECEIVED_INITIATE: 
+ at IN_PRORESS: 
+ at TERMINATED: 
+
+<!-- ##### STRUCT GoogleSession ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at state: 
+ at js: 
+ at remote_jid: 
+ at iq_id: 
+ at description: 
+ at session_data: 
+
+<!-- ##### FUNCTION jabber_google_session_initiate ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_google_session_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at iq: 
+ at session: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/group.sgml	a560c26812e807c4297756d8309820754ccb2ae9
@@ -0,0 +1,95 @@
+<!-- ##### SECTION Title ##### -->
+group
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO PURPLE_GROUP_QQ_QUN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM qq_room_role ##### -->
+<para>
+
+</para>
+
+ at QQ_ROOM_ROLE_NO: 
+ at QQ_ROOM_ROLE_YES: 
+ at QQ_ROOM_ROLE_REQUESTING: 
+ at QQ_ROOM_ROLE_ADMIN: 
+
+<!-- ##### STRUCT qq_room_data ##### -->
+<para>
+
+</para>
+
+ at my_role: 
+ at id: 
+ at ext_id: 
+ at type8: 
+ at creator_uid: 
+ at category: 
+ at auth_type: 
+ at title_utf8: 
+ at desc_utf8: 
+ at notice_utf8: 
+ at is_got_buddies: 
+ at members: 
+
+<!-- ##### FUNCTION qq_chat_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_chat_info_defaults ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at chat_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_roomlist_get_list ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_roomlist_cancel ##### -->
+<para>
+
+</para>
+
+ at list: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/group_im.sgml	18b2b82fde978711555a6e009da47a0149d2ed5d
@@ -0,0 +1,99 @@
+<!-- ##### SECTION Title ##### -->
+group_im
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION qq_room_conv_open ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at rmd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_room_conv_set_onlines ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at rmd: 
+
+
+<!-- ##### FUNCTION qq_room_got_chat_in ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_id: 
+ at uid_from: 
+ at msg: 
+ at in_time: 
+
+
+<!-- ##### FUNCTION qq_chat_send ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at message: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_process_room_send_im ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION qq_process_room_send_im_ex ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION qq_process_room_im ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at id: 
+ at gc: 
+ at msg_type: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/group_info.sgml	1bbde348283484c513b5ec9580c287eb881180c9
@@ -0,0 +1,66 @@
+<!-- ##### SECTION Title ##### -->
+group_info
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION qq_request_room_get_buddies ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_id: 
+ at update_class: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_process_room_cmd_get_info ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at action: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_room_cmd_get_onlines ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_room_cmd_get_buddies ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at gc: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/group_internal.sgml	f0fd5eaba6724b3d7e5bea675410dc669f4a458a
@@ -0,0 +1,150 @@
+<!-- ##### SECTION Title ##### -->
+group_internal
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO QQ_ROOM_KEY_INTERNAL_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_ROOM_KEY_EXTERNAL_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_ROOM_KEY_TITLE_UTF8 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION qq_room_find_or_new ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at ext_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_room_remove ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+
+
+<!-- ##### FUNCTION qq_room_update_chat_info ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at rmd: 
+
+
+<!-- ##### FUNCTION qq_room_buddy_find ##### -->
+<para>
+
+</para>
+
+ at rmd: 
+ at uid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_room_buddy_remove ##### -->
+<para>
+
+</para>
+
+ at rmd: 
+ at uid: 
+
+
+<!-- ##### FUNCTION qq_room_buddy_find_or_new ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at rmd: 
+ at member_uid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_room_data_initial ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_room_data_free_all ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_room_data_find ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_room_get_next ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_room_get_next_conv ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_id: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/group_join.sgml	03f5b0f83636829aea184a52262cde0c102f39a8
@@ -0,0 +1,114 @@
+<!-- ##### SECTION Title ##### -->
+group_join
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION qq_request_room_search ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at ext_id: 
+ at action: 
+
+
+<!-- ##### FUNCTION qq_process_room_search ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at len: 
+ at ship32: 
+
+
+<!-- ##### FUNCTION qq_send_cmd_group_auth ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at rmd: 
+ at opt: 
+ at uid: 
+ at reason_utf8: 
+
+
+<!-- ##### FUNCTION qq_group_join ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+
+
+<!-- ##### FUNCTION qq_request_room_join ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at rmd: 
+
+
+<!-- ##### FUNCTION qq_room_quit ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_id: 
+
+
+<!-- ##### FUNCTION qq_process_group_cmd_exit_group ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_group_cmd_join_group_auth ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_group_cmd_join_group ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at gc: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/group_opt.sgml	2a587be8b44fb7a00774341a68862850a94b8368
@@ -0,0 +1,172 @@
+<!-- ##### SECTION Title ##### -->
+group_opt
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO QQ_QUN_MEMBER_MAX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT qq_room_req ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at member: 
+
+<!-- ##### FUNCTION qq_group_modify_members ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at rmd: 
+ at new_members: 
+
+
+<!-- ##### FUNCTION qq_room_change_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at rmd: 
+
+
+<!-- ##### FUNCTION qq_create_room ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+
+
+<!-- ##### FUNCTION qq_group_process_modify_info_reply ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_group_process_modify_members_reply ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_group_manage_group ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+
+
+<!-- ##### FUNCTION qq_group_process_activate_group_reply ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_group_process_create_group_reply ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_room_buddy_request_join ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at id: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_room_buddy_rejected ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at id: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_room_buddy_approved ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at id: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_room_buddy_removed ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at id: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_room_buddy_joined ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at id: 
+ at gc: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/gsignal.sgml	34ad98ae4ca3b911aff4ff114345ef0a5917fd64
@@ -0,0 +1,116 @@
+<!-- ##### SECTION Title ##### -->
+gsignal
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO PURPLE_TYPE_SIGNAL_HANDLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT PurpleGSignalHandle ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO purple_g_signal_connect ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at callback: 
+ at data: 
+
+
+<!-- ##### MACRO purple_g_signal_connect_after ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at callback: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_g_signal_connect_flags ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at flags: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_g_signal_disconnect ##### -->
+<para>
+
+</para>
+
+ at handle: 
+
+
+<!-- ##### FUNCTION purple_g_signal_handle_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_g_signal_handle_new ##### -->
+<para>
+
+</para>
+
+ at signal_id: 
+ at hook_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_g_signal_handle_copy ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_g_signal_handle_free ##### -->
+<para>
+
+</para>
+
+ at handle: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/hash.sgml	98dea729c0082c0ea626327e9fe8399bf84cff23
@@ -0,0 +1,157 @@
+<!-- ##### SECTION Title ##### -->
+PurpleHash
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleHash ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleHashClass ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at reset: 
+ at set_iv: 
+ at append: 
+ at digest: 
+ at set_salt: 
+ at get_salt_size: 
+ at set_key: 
+ at get_key_length: 
+ at set_key_with_length: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_hash_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_hash_reset ##### -->
+<para>
+
+</para>
+
+ at hash: 
+
+
+<!-- ##### FUNCTION purple_hash_set_iv ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at iv: 
+ at len: 
+
+
+<!-- ##### FUNCTION purple_hash_append ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION purple_hash_digest ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at in_len: 
+ at digest: 
+ at out_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_hash_digest_to_str ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at in_len: 
+ at digest_s: 
+ at out_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_hash_set_salt ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at salt: 
+
+
+<!-- ##### FUNCTION purple_hash_get_salt_size ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_hash_set_key ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at key: 
+
+
+<!-- ##### FUNCTION purple_hash_get_key_length ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_hash_set_key_with_length ##### -->
+<para>
+
+</para>
+
+ at hash: 
+ at key: 
+ at length: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/history.sgml	2912f9d44b35cacce36358315851c76b49064792
@@ -0,0 +1,82 @@
+<!-- ##### SECTION Title ##### -->
+history
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnHistory ##### -->
+<para>
+
+</para>
+
+ at queue: 
+ at trId: 
+
+<!-- ##### MACRO MSN_NS_HIST_ELEMS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_SB_HIST_ELEMS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msn_history_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_history_destroy ##### -->
+<para>
+
+</para>
+
+ at history: 
+
+
+<!-- ##### FUNCTION msn_history_find ##### -->
+<para>
+
+</para>
+
+ at history: 
+ at triId: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_history_add ##### -->
+<para>
+
+</para>
+
+ at history: 
+ at trans: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/hmaccipher.sgml	850f3b1f71816d1ec05856085b5b9979965395e1
@@ -0,0 +1,127 @@
+<!-- ##### SECTION Title ##### -->
+PurpleHMACCipher
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleHMACCipher ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleHMACCipherClass ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### MACRO PURPLE_TYPE_HMAC_FUNCTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_HMAC_FUNCTION ##### -->
+<para>
+
+</para>
+
+ at obj: 
+
+
+<!-- ##### MACRO PURPLE_IS_HMAC_FUNCTION ##### -->
+<para>
+
+</para>
+
+ at obj: 
+
+
+<!-- ##### MACRO PURPLE_HMAC_FUNCTION_GET_IFACE ##### -->
+<para>
+
+</para>
+
+ at obj: 
+
+
+<!-- ##### STRUCT PurpleHMACFunction ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleHMACFunctionIface ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at get_block_size: 
+
+<!-- ##### FUNCTION purple_hmac_cipher_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_hmac_cipher_new ##### -->
+<para>
+
+</para>
+
+ at hash_cipher: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_hmac_cipher_get_hash ##### -->
+<para>
+
+</para>
+
+ at cipher: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_hmac_function_get_block_size ##### -->
+<para>
+
+</para>
+
+ at function: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/http.sgml	37e2f68ca17bb033ce522dbf275ec8577c502cc7
@@ -0,0 +1,36 @@
+<!-- ##### SECTION Title ##### -->
+http
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION mxit_http_send_request ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at host: 
+ at port: 
+ at data: 
+ at datalen: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/httpconn.sgml	747c5d92034ed0c6adc6d26c1d3b152c035f36fb
@@ -0,0 +1,94 @@
+<!-- ##### SECTION Title ##### -->
+httpconn
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnHttpConn ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at servconn: 
+ at connect_data: 
+ at full_session_id: 
+ at session_id: 
+ at timer: 
+ at waiting_response: 
+ at connected: 
+ at virgin: 
+ at host: 
+ at queue: 
+ at fd: 
+ at inpa: 
+ at rx_buf: 
+ at rx_len: 
+ at tx_buf: 
+ at tx_handler: 
+
+<!-- ##### FUNCTION msn_httpconn_new ##### -->
+<para>
+
+</para>
+
+ at servconn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_httpconn_destroy ##### -->
+<para>
+
+</para>
+
+ at httpconn: 
+
+
+<!-- ##### FUNCTION msn_httpconn_write ##### -->
+<para>
+
+</para>
+
+ at httpconn: 
+ at data: 
+ at data_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_httpconn_connect ##### -->
+<para>
+
+</para>
+
+ at httpconn: 
+ at host: 
+ at port: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_httpconn_disconnect ##### -->
+<para>
+
+</para>
+
+ at httpconn: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/ibb.sgml	284f745169d763ef1650f0c6f79205547e5d19cc
@@ -0,0 +1,309 @@
+<!-- ##### SECTION Title ##### -->
+ibb
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JabberIBBSession ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+ at sid: 
+ at id: 
+ at send_seq: 
+ at recv_seq: 
+ at block_size: 
+ at state: 
+ at user_data: 
+ at opened_cb: 
+ at data_sent_cb: 
+ at closed_cb: 
+ at data_received_cb: 
+ at error_cb: 
+ at last_iq_id: 
+
+<!-- ##### FUNCTION void ##### -->
+<para>
+
+</para>
+
+ at Returns: 
+
+
+<!-- ##### ENUM JabberIBBSessionState ##### -->
+<para>
+
+</para>
+
+ at JABBER_IBB_SESSION_NOT_OPENED: 
+ at JABBER_IBB_SESSION_OPENED: 
+ at JABBER_IBB_SESSION_CLOSED: 
+ at JABBER_IBB_SESSION_ERROR: 
+
+<!-- ##### FUNCTION jabber_ibb_session_create ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at sid: 
+ at who: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_create_from_xmlnode ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at id: 
+ at open: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_destroy ##### -->
+<para>
+
+</para>
+
+ at sess: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_set_opened_callback ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at cb: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_set_data_sent_callback ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at cb: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_set_closed_callback ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at cb: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_set_data_received_callback ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at cb: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_set_error_callback ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at cb: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_open ##### -->
+<para>
+
+</para>
+
+ at sess: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_close ##### -->
+<para>
+
+</para>
+
+ at sess: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_accept ##### -->
+<para>
+
+</para>
+
+ at sess: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_send_data ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at data: 
+ at size: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_get_sid ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_get_js ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_get_who ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_get_send_seq ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_get_recv_seq ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_get_state ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_get_block_size ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_set_block_size ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at size: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_get_max_data_size ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_ibb_session_get_user_data ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_ibb_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+ at type: 
+ at id: 
+ at child: 
+
+
+<!-- ##### FUNCTION jabber_ibb_register_open_handler ##### -->
+<para>
+
+</para>
+
+ at cb: 
+
+
+<!-- ##### FUNCTION jabber_ibb_unregister_open_handler ##### -->
+<para>
+
+</para>
+
+ at cb: 
+
+
+<!-- ##### FUNCTION jabber_ibb_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_ibb_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/iceudp.sgml	3d87fe7860fd53d1673787e2e6f7b133b67d4d87
@@ -0,0 +1,122 @@
+<!-- ##### SECTION Title ##### -->
+JingleIceUdp
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO JINGLE_TYPE_ICEUDP_CANDIDATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT JingleIceUdp ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at priv: 
+
+<!-- ##### STRUCT JingleIceUdpClass ##### -->
+<para>
+
+</para>
+
+ at parent_class: 
+ at to_xml: 
+ at parse: 
+
+<!-- ##### STRUCT JingleIceUdpPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT JingleIceUdpCandidate ##### -->
+<para>
+
+</para>
+
+ at component: 
+ at foundation: 
+ at generation: 
+ at id: 
+ at ip: 
+ at network: 
+ at port: 
+ at priority: 
+ at protocol: 
+ at reladdr: 
+ at relport: 
+ at type: 
+ at username: 
+ at password: 
+ at rem_known: 
+
+<!-- ##### FUNCTION jingle_iceudp_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_iceudp_candidate_new ##### -->
+<para>
+
+</para>
+
+ at component: 
+ at foundation: 
+ at generation: 
+ at id: 
+ at ip: 
+ at network: 
+ at port: 
+ at priority: 
+ at protocol: 
+ at type: 
+ at username: 
+ at password: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_iceudp_add_local_candidate ##### -->
+<para>
+
+</para>
+
+ at iceudp: 
+ at candidate: 
+
+
+<!-- ##### FUNCTION jingle_iceudp_get_remote_candidates ##### -->
+<para>
+
+</para>
+
+ at iceudp: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/idle.sgml	3adfd097dd0366b81afed30986f84ed087cbb56a
@@ -0,0 +1,114 @@
+<!-- ##### SECTION Title ##### -->
+idle
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### USER_FUNCTION get_time_idle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved1 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved2 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved3 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved4 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_idle_touch ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_idle_set ##### -->
+<para>
+
+</para>
+
+ at time: 
+
+
+<!-- ##### FUNCTION purple_idle_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_idle_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_idle_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_idle_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/im.sgml	97774dec4d73d0e8e83aa744010bce6f2eb84bda
@@ -0,0 +1,169 @@
+<!-- ##### SECTION Title ##### -->
+im
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT qq_im_format ##### -->
+<para>
+
+</para>
+
+ at attr: 
+ at rgb: 
+ at charset: 
+ at font: 
+ at font_len: 
+
+<!-- ##### FUNCTION qq_put_im_tail ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at fmt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_get_im_tail ##### -->
+<para>
+
+</para>
+
+ at fmt: 
+ at data: 
+ at data_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_im_fmt_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_im_fmt_free ##### -->
+<para>
+
+</para>
+
+ at fmt: 
+
+
+<!-- ##### FUNCTION qq_im_fmt_reset_font ##### -->
+<para>
+
+</para>
+
+ at fmt: 
+
+
+<!-- ##### FUNCTION qq_im_fmt_new_by_purple ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_im_fmt_to_purple ##### -->
+<para>
+
+</para>
+
+ at fmt: 
+ at text: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_im_smiley_none ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_im_get_segments ##### -->
+<para>
+
+</para>
+
+ at msg_stripped: 
+ at is_smiley_none: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_got_message ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at msg: 
+
+
+<!-- ##### FUNCTION qq_send_im ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at message: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_process_im ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION qq_process_extend_im ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION qq_emoticon_to_purple ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/imgstore.sgml	bba2b0dc7eb95ce94a8c27a85a24621aab3df568
@@ -0,0 +1,165 @@
+<!-- ##### SECTION Title ##### -->
+imgstore
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleStoredImage ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_imgstore_add ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at size: 
+ at filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_imgstore_new_from_file ##### -->
+<para>
+
+</para>
+
+ at path: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_imgstore_add_with_id ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at size: 
+ at filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_imgstore_find_by_id ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_imgstore_get_data ##### -->
+<para>
+
+</para>
+
+ at img: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_imgstore_get_size ##### -->
+<para>
+
+</para>
+
+ at img: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_imgstore_get_filename ##### -->
+<para>
+
+</para>
+
+ at img: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_imgstore_get_extension ##### -->
+<para>
+
+</para>
+
+ at img: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_imgstore_ref ##### -->
+<para>
+
+</para>
+
+ at img: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_imgstore_unref ##### -->
+<para>
+
+</para>
+
+ at img: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_imgstore_ref_by_id ##### -->
+<para>
+
+</para>
+
+ at id: 
+
+
+<!-- ##### FUNCTION purple_imgstore_unref_by_id ##### -->
+<para>
+
+</para>
+
+ at id: 
+
+
+<!-- ##### FUNCTION purple_imgstore_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_imgstore_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_imgstore_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/internal.sgml	700d6b9be7c29c5578911e61fb8f6782c68fd2a9
@@ -0,0 +1,180 @@
+<!-- ##### SECTION Title ##### -->
+internal
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO MAXHOSTNAMELEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ETIMEDOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EADDRINUSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO REALM_SZ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO INST_SZ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ANAME_SZ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CLOCK_SKEW ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SERVER_SVC_FALLBACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_SVC_FALLBACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_SRV_SVC_FALLBACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZAUTH_CKSUM_FAILED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZAUTH_UNSET ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Z_MAXFRAGS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Z_MAXNOTICESIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Z_MAXQUEUESIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Z_FRAGFUDGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Z_NOTICETIMELIMIT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Z_INITFILTERSIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT Z_Hole ##### -->
+<para>
+
+</para>
+
+ at next: 
+ at first: 
+ at last: 
+
+<!-- ##### STRUCT Z_InputQ ##### -->
+<para>
+
+</para>
+
+ at next: 
+ at prev: 
+ at kind: 
+ at timep: 
+ at packet_len: 
+ at packet: 
+ at complete: 
+ at from: 
+ at holelist: 
+ at uid: 
+ at auth: 
+ at header_len: 
+ at header: 
+ at msg_len: 
+ at msg: 
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/iq.sgml	2d20eaa8df846f4d20a19ea6e2ca6b29ad3f8e7e
@@ -0,0 +1,165 @@
+<!-- ##### SECTION Title ##### -->
+iq
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM JabberIqType ##### -->
+<para>
+
+</para>
+
+ at JABBER_IQ_SET: 
+ at JABBER_IQ_GET: 
+ at JABBER_IQ_RESULT: 
+ at JABBER_IQ_ERROR: 
+ at JABBER_IQ_NONE: 
+
+<!-- ##### STRUCT JabberIq ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at id: 
+ at node: 
+ at callback: 
+ at callback_data: 
+ at js: 
+
+<!-- ##### FUNCTION jabber_iq_new ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_iq_new_query ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at type: 
+ at xmlns: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_iq_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+
+
+<!-- ##### FUNCTION jabber_iq_remove_callback_by_id ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at id: 
+
+
+<!-- ##### FUNCTION jabber_iq_set_callback ##### -->
+<para>
+
+</para>
+
+ at iq: 
+ at cb: 
+ at data: 
+
+
+<!-- ##### FUNCTION jabber_iq_set_id ##### -->
+<para>
+
+</para>
+
+ at iq: 
+ at id: 
+
+
+<!-- ##### FUNCTION jabber_iq_send ##### -->
+<para>
+
+</para>
+
+ at iq: 
+
+
+<!-- ##### FUNCTION jabber_iq_free ##### -->
+<para>
+
+</para>
+
+ at iq: 
+
+
+<!-- ##### FUNCTION jabber_iq_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_iq_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_iq_register_handler ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at xmlns: 
+ at func: 
+
+
+<!-- ##### FUNCTION jabber_iq_signal_register ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at xmlns: 
+
+
+<!-- ##### FUNCTION jabber_iq_signal_unregister ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at xmlns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/irc.sgml	5e43b273c8368eaa4e7bc058bcc07f5667467585
@@ -0,0 +1,1071 @@
+<!-- ##### SECTION Title ##### -->
+irc
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO IRC_DEFAULT_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO IRC_DEFAULT_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO IRC_DEFAULT_SSL_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO IRC_DEFAULT_CHARSET ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO IRC_DEFAULT_AUTODETECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO IRC_DEFAULT_ALIAS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO IRC_DEFAULT_QUIT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO IRC_INITIAL_BUFSIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO IRC_NAMES_FLAG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT whois ##### -->
+<para>
+
+</para>
+
+ at nick: 
+ at away: 
+ at userhost: 
+ at name: 
+ at server: 
+ at serverinfo: 
+ at channels: 
+ at ircop: 
+ at identified: 
+ at idle: 
+ at signon: 
+
+<!-- ##### USER_FUNCTION IRCCmdCallback ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_send ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_blist_timeout ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_who_channel_timeout ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_buddy_query ##### -->
+<para>
+
+</para>
+
+ at irc: 
+
+
+<!-- ##### FUNCTION irc_escape_privmsg ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at length: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_mirc2html ##### -->
+<para>
+
+</para>
+
+ at string: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_mirc2txt ##### -->
+<para>
+
+</para>
+
+ at string: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_nick_skip_mode ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at string: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_ischannel ##### -->
+<para>
+
+</para>
+
+ at string: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_register_commands ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION irc_msg_table_build ##### -->
+<para>
+
+</para>
+
+ at irc: 
+
+
+<!-- ##### FUNCTION irc_parse_msg ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at input: 
+
+
+<!-- ##### FUNCTION irc_parse_ctcp ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at from: 
+ at to: 
+ at msg: 
+ at notice: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_format ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at format: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_msg_default ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_away ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_badmode ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_badnick ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_ban ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_banfull ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_banned ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_chanmode ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_endwhois ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_features ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_invite ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_inviteonly ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_ison ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_join ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_kick ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_list ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_luser ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_mode ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_motd ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_names ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_nick ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_nickused ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_nochan ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_nonick ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_nochangenick ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_nosend ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_notice ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_notinchan ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_notop ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_part ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_ping ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_pong ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_privmsg ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_quit ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_regonly ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_time ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_topic ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_unavailable ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_unknown ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_wallops ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_whois ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_who ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_msg_ignore ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at name: 
+ at from: 
+ at args: 
+
+
+<!-- ##### FUNCTION irc_cmd_table_build ##### -->
+<para>
+
+</para>
+
+ at irc: 
+
+
+<!-- ##### FUNCTION irc_cmd_default ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_away ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_ctcp ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_ctcp_action ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_ctcp_version ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_invite ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_join ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_kick ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_list ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_mode ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_names ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_nick ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_op ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_privmsg ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_part ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_ping ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_quit ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_quote ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_query ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_remove ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_service ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_time ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_topic ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_wallops ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_whois ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_cmd_whowas ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at cmd: 
+ at target: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_dccsend_new_xfer ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION irc_dccsend_send_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at file: 
+
+
+<!-- ##### FUNCTION irc_dccsend_recv ##### -->
+<para>
+
+</para>
+
+ at irc: 
+ at from: 
+ at msg: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/jabber.sgml	85ee2cfe155dfae4db325a4773049ae0c467fea3
@@ -0,0 +1,551 @@
+<!-- ##### SECTION Title ##### -->
+jabber
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM JabberCapabilities ##### -->
+<para>
+
+</para>
+
+ at JABBER_CAP_NONE: 
+ at JABBER_CAP_SI: 
+ at JABBER_CAP_SI_FILE_XFER: 
+ at JABBER_CAP_BYTESTREAMS: 
+ at JABBER_CAP_IBB: 
+ at JABBER_CAP_CHAT_STATES: 
+ at JABBER_CAP_IQ_SEARCH: 
+ at JABBER_CAP_IQ_REGISTER: 
+ at JABBER_CAP_GMAIL_NOTIFY: 
+ at JABBER_CAP_GOOGLE_ROSTER: 
+ at JABBER_CAP_PING: 
+ at JABBER_CAP_ADHOC: 
+ at JABBER_CAP_BLOCKING: 
+ at JABBER_CAP_ITEMS: 
+ at JABBER_CAP_ROSTER_VERSIONING: 
+ at JABBER_CAP_RETRIEVED: 
+
+<!-- ##### STRUCT JabberStream ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at srv_query_data: 
+ at context: 
+ at current: 
+
+<!-- ##### MACRO CAPS0115_NODE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JABBER_DEFAULT_REQUIRE_TLS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JABBER_DEFAULT_FT_PROXIES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JABBER_BUZZ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM JabberStreamState ##### -->
+<para>
+
+</para>
+
+ at JABBER_STREAM_OFFLINE: 
+ at JABBER_STREAM_CONNECTING: 
+ at JABBER_STREAM_INITIALIZING: 
+ at JABBER_STREAM_INITIALIZING_ENCRYPTION: 
+ at JABBER_STREAM_AUTHENTICATING: 
+ at JABBER_STREAM_POST_AUTH: 
+ at JABBER_STREAM_CONNECTED: 
+
+<!-- ##### STRUCT JabberBytestreamsStreamhost ##### -->
+<para>
+
+</para>
+
+ at jid: 
+ at host: 
+ at port: 
+ at zeroconf: 
+
+<!-- ##### VARIABLE jabber_features ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE jabber_identities ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION jabber_stream_features_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+
+
+<!-- ##### FUNCTION jabber_process_packet ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+
+
+<!-- ##### FUNCTION jabber_send ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at data: 
+
+
+<!-- ##### FUNCTION jabber_send_raw ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION jabber_send_signal_cb ##### -->
+<para>
+
+</para>
+
+ at pc: 
+ at packet: 
+ at unused: 
+
+
+<!-- ##### FUNCTION jabber_stream_set_state ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at state: 
+
+
+<!-- ##### FUNCTION jabber_register_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at query: 
+
+
+<!-- ##### FUNCTION jabber_register_start ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_get_next_id ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_parse_error ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+ at reason: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_add_feature ##### -->
+<para>
+
+</para>
+
+ at namespace: 
+ at cb: 
+
+
+<!-- ##### FUNCTION jabber_remove_feature ##### -->
+<para>
+
+</para>
+
+ at namespace: 
+
+
+<!-- ##### FUNCTION jabber_add_identity ##### -->
+<para>
+
+</para>
+
+ at category: 
+ at type: 
+ at lang: 
+ at name: 
+
+
+<!-- ##### FUNCTION jabber_identity_compare ##### -->
+<para>
+
+</para>
+
+ at a: 
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_stream_is_ssl ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_stream_restart_inactivity_timer ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_list_icon ##### -->
+<para>
+
+</para>
+
+ at a: 
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_list_emblem ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_status_text ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_tooltip_text ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at user_info: 
+ at full: 
+
+
+<!-- ##### FUNCTION jabber_status_types ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_login ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION jabber_close ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION jabber_idle_set ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at idle: 
+
+
+<!-- ##### FUNCTION jabber_blocklist_parse_push ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at child: 
+
+
+<!-- ##### FUNCTION jabber_request_block_list ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_add_deny ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION jabber_rem_deny ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION jabber_keepalive ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION jabber_register_gateway ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at gateway: 
+
+
+<!-- ##### FUNCTION jabber_register_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION jabber_unregister_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at cb: 
+ at user_data: 
+
+
+<!-- ##### FUNCTION jabber_send_attention ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at username: 
+ at code: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_attention_types ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_convo_closed ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION jabber_find_blist_chat ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_offline_message ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_prpl_send_raw ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buf: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_actions ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at context: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_audio_enabled ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at unused: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_video_enabled ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at unused: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_initiate_media ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_get_media_caps ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_can_receive_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_plugin_init ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### FUNCTION jabber_plugin_uninit ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/jingle.sgml	cb3a3ae6fff6317101127c16eaa9b240f222be7f
@@ -0,0 +1,207 @@
+<!-- ##### SECTION Title ##### -->
+jingle
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO JINGLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_APP_FT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_APP_RTP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_APP_RTP_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_APP_RTP_INFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_APP_RTP_SUPPORT_AUDIO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_APP_RTP_SUPPORT_VIDEO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_APP_XML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_DTMF ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_TRANSPORT_S5B ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_TRANSPORT_IBB ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_TRANSPORT_ICEUDP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO JINGLE_TRANSPORT_RAWUDP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM JingleActionType ##### -->
+<para>
+
+</para>
+
+ at JINGLE_UNKNOWN_TYPE: 
+ at JINGLE_CONTENT_ACCEPT: 
+ at JINGLE_CONTENT_ADD: 
+ at JINGLE_CONTENT_MODIFY: 
+ at JINGLE_CONTENT_REJECT: 
+ at JINGLE_CONTENT_REMOVE: 
+ at JINGLE_DESCRIPTION_INFO: 
+ at JINGLE_SECURITY_INFO: 
+ at JINGLE_SESSION_ACCEPT: 
+ at JINGLE_SESSION_INFO: 
+ at JINGLE_SESSION_INITIATE: 
+ at JINGLE_SESSION_TERMINATE: 
+ at JINGLE_TRANSPORT_ACCEPT: 
+ at JINGLE_TRANSPORT_INFO: 
+ at JINGLE_TRANSPORT_REJECT: 
+ at JINGLE_TRANSPORT_REPLACE: 
+
+<!-- ##### FUNCTION jingle_get_action_name ##### -->
+<para>
+
+</para>
+
+ at action: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_get_action_type ##### -->
+<para>
+
+</para>
+
+ at action: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_get_type ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at child: 
+
+
+<!-- ##### FUNCTION jingle_terminate_sessions ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jingle_get_params ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at relay_ip: 
+ at relay_udp: 
+ at relay_tcp: 
+ at relay_ssltcp: 
+ at relay_username: 
+ at relay_password: 
+ at num_params: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/jingleinfo.sgml	6d57c715ea4df2aa4fd814861d5b71dd9ce75ccb
@@ -0,0 +1,44 @@
+<!-- ##### SECTION Title ##### -->
+jingleinfo
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_google_handle_jingle_info ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at child: 
+
+
+<!-- ##### FUNCTION jabber_google_send_jingle_info ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/jutil.sgml	ba9705a7790358d085756bac464d728e9e723fca
@@ -0,0 +1,231 @@
+<!-- ##### SECTION Title ##### -->
+jutil
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JabberID ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at domain: 
+ at resource: 
+
+<!-- ##### ENUM JabberBuddyState ##### -->
+<para>
+
+</para>
+
+ at JABBER_BUDDY_STATE_UNKNOWN: 
+ at JABBER_BUDDY_STATE_ERROR: 
+ at JABBER_BUDDY_STATE_UNAVAILABLE: 
+ at JABBER_BUDDY_STATE_ONLINE: 
+ at JABBER_BUDDY_STATE_CHAT: 
+ at JABBER_BUDDY_STATE_AWAY: 
+ at JABBER_BUDDY_STATE_XA: 
+ at JABBER_BUDDY_STATE_DND: 
+
+<!-- ##### FUNCTION jabber_id_new ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_id_free ##### -->
+<para>
+
+</para>
+
+ at jid: 
+
+
+<!-- ##### FUNCTION jabber_get_domain ##### -->
+<para>
+
+</para>
+
+ at jid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_get_resource ##### -->
+<para>
+
+</para>
+
+ at jid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_get_bare_jid ##### -->
+<para>
+
+</para>
+
+ at jid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_id_get_bare_jid ##### -->
+<para>
+
+</para>
+
+ at jid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_jid_is_domain ##### -->
+<para>
+
+</para>
+
+ at jid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_normalize ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at in: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_is_own_server ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at jid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_is_own_account ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at jid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_nodeprep_validate ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_domain_validate ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_resourceprep_validate ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_saslprep ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_buddy_state_get_name ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_buddy_state_get_status_id ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_buddy_state_get_show ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_buddy_status_id_get_state ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_buddy_show_get_state ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_calculate_data_hash ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at hash_algo: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/libc_interface.sgml	ef9cc1d69f24ddc82804825cf3d2e75625767386
@@ -0,0 +1,353 @@
+<!-- ##### SECTION Title ##### -->
+libc_interface
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO S_IRUSR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO S_IWUSR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO S_IXUSR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO S_ISDIR ##### -->
+<para>
+
+</para>
+
+ at m: 
+
+
+<!-- ##### MACRO F_OK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO socket ##### -->
+<para>
+
+</para>
+
+ at domain: 
+ at style: 
+ at protocol: 
+
+
+<!-- ##### MACRO connect ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at addr: 
+ at length: 
+
+
+<!-- ##### MACRO getsockopt ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at level: 
+ at optname: 
+ at optval: 
+ at optlenptr: 
+
+
+<!-- ##### MACRO setsockopt ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at level: 
+ at optname: 
+ at optval: 
+ at optlen: 
+
+
+<!-- ##### MACRO getsockname ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at addr: 
+ at lenptr: 
+
+
+<!-- ##### MACRO bind ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at addr: 
+ at length: 
+
+
+<!-- ##### MACRO listen ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at n: 
+
+
+<!-- ##### MACRO sendto ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at buf: 
+ at len: 
+ at flags: 
+ at to: 
+ at tolen: 
+
+
+<!-- ##### MACRO recv ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at buf: 
+ at len: 
+ at flags: 
+
+
+<!-- ##### MACRO send ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at buf: 
+ at buflen: 
+ at flags: 
+
+
+<!-- ##### MACRO ioctl ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at command: 
+ at val: 
+
+
+<!-- ##### MACRO fcntl ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at command: 
+ at ...: 
+
+
+<!-- ##### MACRO inet_aton ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at addr: 
+
+
+<!-- ##### MACRO inet_ntop ##### -->
+<para>
+
+</para>
+
+ at af: 
+ at src: 
+ at dst: 
+ at cnt: 
+
+
+<!-- ##### MACRO gethostbyname ##### -->
+<para>
+
+</para>
+
+ at name: 
+
+
+<!-- ##### MACRO ntohl ##### -->
+<para>
+
+</para>
+
+ at netlong: 
+
+
+<!-- ##### MACRO hstrerror ##### -->
+<para>
+
+</para>
+
+ at herror: 
+
+
+<!-- ##### MACRO strerror ##### -->
+<para>
+
+</para>
+
+ at errornum: 
+
+
+<!-- ##### MACRO g_strerror ##### -->
+<para>
+
+</para>
+
+ at errornum: 
+
+
+<!-- ##### USER_FUNCTION read ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+ at data: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION write ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+ at data: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION close ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+
+
+<!-- ##### MACRO sleep ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### MACRO gethostname ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at size: 
+
+
+<!-- ##### MACRO fsync ##### -->
+<para>
+
+</para>
+
+ at fd: 
+
+
+<!-- ##### MACRO gettimeofday ##### -->
+<para>
+
+</para>
+
+ at timeval: 
+ at timezone: 
+
+
+<!-- ##### MACRO snprintf ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO vsnprintf ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO rename ##### -->
+<para>
+
+</para>
+
+ at oldname: 
+ at newname: 
+
+
+<!-- ##### MACRO fchmod ##### -->
+<para>
+
+</para>
+
+ at a: 
+ at b: 
+
+
+<!-- ##### MACRO localtime_r ##### -->
+<para>
+
+</para>
+
+ at time: 
+ at resultp: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/libc_internal.sgml	5d84bee850ddfd210d1e715601e6ccc74d9e09bb
@@ -0,0 +1,417 @@
+<!-- ##### SECTION Title ##### -->
+libc_internal
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION wpurple_get_timezone_abbreviation ##### -->
+<para>
+
+</para>
+
+ at tm: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_socket ##### -->
+<para>
+
+</para>
+
+ at domain: 
+ at style: 
+ at protocol: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_connect ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at addr: 
+ at length: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_getsockopt ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at level: 
+ at optname: 
+ at optval: 
+ at optlenptr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_setsockopt ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at level: 
+ at optname: 
+ at optval: 
+ at optlen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_getsockname ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at addr: 
+ at lenptr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_bind ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at addr: 
+ at length: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_listen ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at n: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_sendto ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at buf: 
+ at len: 
+ at flags: 
+ at to: 
+ at tolen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_recv ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at buf: 
+ at len: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_send ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at buf: 
+ at size: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_inet_aton ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at addr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_inet_ntop ##### -->
+<para>
+
+</para>
+
+ at af: 
+ at src: 
+ at dst: 
+ at cnt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_gethostbyname ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_strerror ##### -->
+<para>
+
+</para>
+
+ at errornum: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_fcntl ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at command: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### MACRO F_GETFL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO F_SETFL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO O_NONBLOCK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SIOCGIFCONF ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION wpurple_ioctl ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at command: 
+ at opt: 
+ at Returns: 
+
+
+<!-- ##### MACRO ifr_name ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_addr ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_hwaddr ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_dstaddr ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_broadaddr ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_netmask ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_flags ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_metric ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_mtu ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_data ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_ifindex ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_bandwidth ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifr_qlen ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifc_buf ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ifc_req ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION wpurple_gettimeofday ##### -->
+<para>
+
+</para>
+
+ at p: 
+ at z: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_localtime_r ##### -->
+<para>
+
+</para>
+
+ at time: 
+ at resultp: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_read ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at buf: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_write ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at buf: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_close ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_gethostname ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_rename ##### -->
+<para>
+
+</para>
+
+ at oldname: 
+ at newname: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/libgadu-config.sgml	ada65494667a3c736ad4dd79b3d8b9e04de34aa1
@@ -0,0 +1,40 @@
+<!-- ##### SECTION Title ##### -->
+libgadu-config
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO vnsprintf ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION random ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/libgadu-internal.sgml	287fe1bd27f0e918f78a7c1f3282dbc2f00dcecd
@@ -0,0 +1,65 @@
+<!-- ##### SECTION Title ##### -->
+libgadu-internal
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION gg_cp_to_utf8 ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_utf8_to_cp ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_pubdir50_handle_reply_sess ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at e: 
+ at packet: 
+ at length: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_debug_common ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at level: 
+ at format: 
+ at ap: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/libgadu.sgml	afa45e02f5be4f8284026416fec0cdfe8b569645
@@ -0,0 +1,1423 @@
+<!-- ##### SECTION Title ##### -->
+libgadu
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### TYPEDEF uint8_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF uint16_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF uint32_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF int8_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF int16_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF int32_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF uin_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT gg_dcc7_id_t ##### -->
+<para>
+
+</para>
+
+ at id: 
+
+<!-- ##### MACRO gg_common_head ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### STRUCT gg_image_queue ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT gg_dcc7 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ENUM gg_resolver_t ##### -->
+<para>
+
+</para>
+
+ at GG_RESOLVER_DEFAULT: 
+ at GG_RESOLVER_FORK: 
+ at GG_RESOLVER_PTHREAD: 
+ at GG_RESOLVER_WIN32: 
+ at GG_RESOLVER_CUSTOM: 
+ at GG_RESOLVER_INVALID: 
+
+<!-- ##### ENUM gg_encoding_t ##### -->
+<para>
+
+</para>
+
+ at GG_ENCODING_CP1250: 
+ at GG_ENCODING_UTF8: 
+ at GG_ENCODING_INVALID: 
+
+<!-- ##### USER_FUNCTION resolver_start ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at private_data: 
+ at hostname: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION resolver_cleanup ##### -->
+<para>
+
+</para>
+
+ at private_data: 
+ at force: 
+
+
+<!-- ##### MACRO GG_PACKED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DEPRECATED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_MAX_PATH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DCC7_HASH_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DCC7_FILENAME_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DCC7_INFO_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gg_login ##### -->
+<para>
+
+</para>
+
+ at p: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_free_session ##### -->
+<para>
+
+</para>
+
+ at sess: 
+
+
+<!-- ##### FUNCTION gg_logoff ##### -->
+<para>
+
+</para>
+
+ at sess: 
+
+
+<!-- ##### FUNCTION gg_change_status ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_change_status_descr ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at status: 
+ at descr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_change_status_descr_time ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at status: 
+ at descr: 
+ at time: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_send_message ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at msgclass: 
+ at recipient: 
+ at message: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_send_message_richtext ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at msgclass: 
+ at recipient: 
+ at message: 
+ at format: 
+ at formatlen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_send_message_confer ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at msgclass: 
+ at recipients_count: 
+ at recipients: 
+ at message: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_send_message_confer_richtext ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at msgclass: 
+ at recipients_count: 
+ at recipients: 
+ at message: 
+ at format: 
+ at formatlen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_send_message_ctcp ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at msgclass: 
+ at recipient: 
+ at message: 
+ at message_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_ping ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_userlist_request ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at type: 
+ at request: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_image_request ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at recipient: 
+ at size: 
+ at crc32: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_image_reply ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at recipient: 
+ at filename: 
+ at image: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_crc32 ##### -->
+<para>
+
+</para>
+
+ at crc: 
+ at buf: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_session_set_resolver ##### -->
+<para>
+
+</para>
+
+ at gs: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_session_get_resolver ##### -->
+<para>
+
+</para>
+
+ at gs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_session_set_custom_resolver ##### -->
+<para>
+
+</para>
+
+ at gs: 
+ at int*, void**, const char*: 
+ at void**, int: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_http_set_resolver ##### -->
+<para>
+
+</para>
+
+ at gh: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_http_get_resolver ##### -->
+<para>
+
+</para>
+
+ at gh: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_http_set_custom_resolver ##### -->
+<para>
+
+</para>
+
+ at gh: 
+ at int*, void**, const char*: 
+ at void**, int: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_global_set_resolver ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_global_get_resolver ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_global_set_custom_resolver ##### -->
+<para>
+
+</para>
+
+ at int*, void**, const char*: 
+ at void**, int: 
+ at Returns: 
+
+
+<!-- ##### MACRO GG_EVENT_SEARCH50_REPLY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### TYPEDEF gg_pubdir50_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION gg_watch_fd ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_event_free ##### -->
+<para>
+
+</para>
+
+ at e: 
+
+
+<!-- ##### FUNCTION gg_notify_ex ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at userlist: 
+ at types: 
+ at count: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_notify ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at userlist: 
+ at count: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_add_notify_ex ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at uin: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_add_notify ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at uin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_remove_notify_ex ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at uin: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_remove_notify ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at uin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_http_connect ##### -->
+<para>
+
+</para>
+
+ at hostname: 
+ at port: 
+ at async: 
+ at method: 
+ at path: 
+ at header: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_http_watch_fd ##### -->
+<para>
+
+</para>
+
+ at h: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_http_stop ##### -->
+<para>
+
+</para>
+
+ at h: 
+
+
+<!-- ##### FUNCTION gg_http_free ##### -->
+<para>
+
+</para>
+
+ at h: 
+
+
+<!-- ##### FUNCTION gg_pubdir50 ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at req: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_pubdir50_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_pubdir50_add ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at field: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_pubdir50_seq_set ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at seq: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_pubdir50_get ##### -->
+<para>
+
+</para>
+
+ at res: 
+ at num: 
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_pubdir50_type ##### -->
+<para>
+
+</para>
+
+ at res: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_pubdir50_count ##### -->
+<para>
+
+</para>
+
+ at res: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_pubdir50_next ##### -->
+<para>
+
+</para>
+
+ at res: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_pubdir50_seq ##### -->
+<para>
+
+</para>
+
+ at res: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_pubdir50_free ##### -->
+<para>
+
+</para>
+
+ at res: 
+
+
+<!-- ##### MACRO GG_PUBDIR50_UIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_STATUS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_FIRSTNAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_LASTNAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_NICKNAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_BIRTHYEAR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_CITY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_GENDER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_GENDER_FEMALE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_GENDER_MALE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_GENDER_SET_FEMALE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_GENDER_SET_MALE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_ACTIVE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_ACTIVE_TRUE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_START ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_FAMILYNAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_FAMILYCITY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gg_pubdir_watch_fd ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_pubdir_free ##### -->
+<para>
+
+</para>
+
+ at f: 
+
+
+<!-- ##### FUNCTION gg_token ##### -->
+<para>
+
+</para>
+
+ at async: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_token_watch_fd ##### -->
+<para>
+
+</para>
+
+ at h: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_token_free ##### -->
+<para>
+
+</para>
+
+ at h: 
+
+
+<!-- ##### FUNCTION gg_register3 ##### -->
+<para>
+
+</para>
+
+ at email: 
+ at password: 
+ at tokenid: 
+ at tokenval: 
+ at async: 
+ at Returns: 
+
+
+<!-- ##### MACRO gg_register_watch_fd ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_register_free ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gg_unregister3 ##### -->
+<para>
+
+</para>
+
+ at uin: 
+ at password: 
+ at tokenid: 
+ at tokenval: 
+ at async: 
+ at Returns: 
+
+
+<!-- ##### MACRO gg_unregister_watch_fd ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_unregister_free ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gg_remind_passwd3 ##### -->
+<para>
+
+</para>
+
+ at uin: 
+ at email: 
+ at tokenid: 
+ at tokenval: 
+ at async: 
+ at Returns: 
+
+
+<!-- ##### MACRO gg_remind_passwd_watch_fd ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_remind_passwd_free ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gg_change_passwd4 ##### -->
+<para>
+
+</para>
+
+ at uin: 
+ at email: 
+ at passwd: 
+ at newpasswd: 
+ at tokenid: 
+ at tokenval: 
+ at async: 
+ at Returns: 
+
+
+<!-- ##### MACRO gg_change_passwd_watch_fd ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_change_passwd_free ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### VARIABLE gg_dcc_port ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE gg_dcc_ip ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION gg_dcc_request ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at uin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc_send_file ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at port: 
+ at my_uin: 
+ at peer_uin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc_get_file ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at port: 
+ at my_uin: 
+ at peer_uin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc_voice_chat ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at port: 
+ at my_uin: 
+ at peer_uin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc_set_type ##### -->
+<para>
+
+</para>
+
+ at d: 
+ at type: 
+
+
+<!-- ##### FUNCTION gg_dcc_fill_file_info ##### -->
+<para>
+
+</para>
+
+ at d: 
+ at filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc_fill_file_info2 ##### -->
+<para>
+
+</para>
+
+ at d: 
+ at filename: 
+ at local_filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc_voice_send ##### -->
+<para>
+
+</para>
+
+ at d: 
+ at buf: 
+ at length: 
+ at Returns: 
+
+
+<!-- ##### MACRO GG_DCC_VOICE_FRAME_LENGTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DCC_VOICE_FRAME_LENGTH_505 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gg_dcc_socket_create ##### -->
+<para>
+
+</para>
+
+ at uin: 
+ at port: 
+ at Returns: 
+
+
+<!-- ##### MACRO gg_dcc_socket_free ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_dcc_socket_watch_fd ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gg_dcc_watch_fd ##### -->
+<para>
+
+</para>
+
+ at d: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc_free ##### -->
+<para>
+
+</para>
+
+ at c: 
+
+
+<!-- ##### FUNCTION gg_dcc7_watch_fd ##### -->
+<para>
+
+</para>
+
+ at d: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc7_send_file ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at rcpt: 
+ at filename: 
+ at filename1250: 
+ at hash: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc7_send_file_fd ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at rcpt: 
+ at fd: 
+ at size: 
+ at filename1250: 
+ at hash: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc7_accept ##### -->
+<para>
+
+</para>
+
+ at dcc: 
+ at offset: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc7_reject ##### -->
+<para>
+
+</para>
+
+ at dcc: 
+ at reason: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gg_dcc7_free ##### -->
+<para>
+
+</para>
+
+ at d: 
+
+
+<!-- ##### VARIABLE gg_debug_level ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION gg_debug_handler ##### -->
+<para>
+
+</para>
+
+ at level: 
+ at format: 
+ at ap: 
+
+
+<!-- ##### USER_FUNCTION gg_debug_handler_session ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at level: 
+ at format: 
+ at ap: 
+
+
+<!-- ##### VARIABLE gg_debug_file ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GG_DEBUG_NET ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DEBUG_TRAFFIC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DEBUG_DUMP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DEBUG_FUNCTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DEBUG_MISC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gg_debug ##### -->
+<para>
+
+</para>
+
+ at level: 
+ at format: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION gg_debug_session ##### -->
+<para>
+
+</para>
+
+ at sess: 
+ at level: 
+ at format: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION gg_libgadu_version ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### VARIABLE gg_proxy_enabled ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE gg_proxy_host ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE gg_proxy_port ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE gg_proxy_username ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE gg_proxy_password ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE gg_proxy_http_only ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE gg_local_ip ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GG_LOGIN_HASH_GG32 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_LOGIN_HASH_SHA1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_WRITE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_READ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_SEARCH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_SEARCH_REQUEST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_PUBDIR50_SEARCH_REPLY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_free_event ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_free_http ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_free_pubdir ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_free_register ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_free_remind_passwd ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_free_dcc ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gg_free_change_passwd ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_GENDER_NONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_GENDER_FEMALE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_GENDER_MALE ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/libpurple-unused.sgml	da39a3ee5e6b4b0d3255bfef95601890afd80709
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/libymsg.sgml	3c07a7f0dd2934aeeba94396f65d57ab7e0d0b69
@@ -0,0 +1,940 @@
+<!-- ##### SECTION Title ##### -->
+libymsg
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO YAHOO_PAGER_HOST_REQ_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_PAGER_HOST_FALLBACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_PAGER_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_PAGER_PORT_P2P ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_LOGIN_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_TOKEN_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_P2P_KEEPALIVE_SECS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_P2P_SERVER_TIMEOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_PROFILE_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_MAIL_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_XFER_HOST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_XFER_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_XFER_RELAY_HOST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_XFER_RELAY_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_ROOMLIST_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_ROOMLIST_LOCALE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_PAGER_HOST_REQ_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_TOKEN_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_LOGIN_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_PROFILE_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_MAIL_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_XFER_HOST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_WEBCAM_HOST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_XFER_RELAY_HOST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_XFER_RELAY_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_ROOMLIST_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_ROOMLIST_LOCALE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_AUDIBLE_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO WEBMESSENGER_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_SMS_CARRIER_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_USERINFO_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_USERINFO_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_PICURL_SETTING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_PICCKSUM_SETTING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_PICEXPIRE_SETTING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_OFFLINE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_AVAILABLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_BRB ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_BUSY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_NOTATHOME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_NOTATDESK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_NOTINOFFICE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_ONPHONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_ONVACATION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_OUTTOLUNCH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_STEPPEDOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_AWAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_INVISIBLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_STATUS_TYPE_MOBILE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_CLIENT_VERSION_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_CLIENT_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_CLIENT_VERSION_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOOJP_CLIENT_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_CLIENT_USERAGENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_BUZZ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM yahoo_pkt_type ##### -->
+<para>
+
+</para>
+
+ at YAHOO_PKT_TYPE_SERVER: 
+ at YAHOO_PKT_TYPE_P2P: 
+
+<!-- ##### ENUM yahoo_p2p_connection_type ##### -->
+<para>
+
+</para>
+
+ at YAHOO_P2P_WE_ARE_CLIENT: 
+ at YAHOO_P2P_WE_ARE_SERVER: 
+
+<!-- ##### ENUM YahooFederation ##### -->
+<para>
+
+</para>
+
+ at YAHOO_FEDERATION_NONE: 
+ at YAHOO_FEDERATION_OCS: 
+ at YAHOO_FEDERATION_MSN: 
+ at YAHOO_FEDERATION_IBM: 
+ at YAHOO_FEDERATION_PBX: 
+
+<!-- ##### STRUCT names ##### -->
+<para>
+
+</para>
+
+ at id: 
+
+<!-- ##### STRUCT YahooData ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at fd: 
+ at rxqueue: 
+ at rxlen: 
+ at txbuf: 
+ at txhandler: 
+ at friends: 
+ at profiles: 
+ at ypd: 
+ at imvironments: 
+ at current_status: 
+ at logged_in: 
+ at tmp_serv_blist: 
+ at tmp_serv_ilist: 
+ at tmp_serv_plist: 
+ at confs: 
+ at conf_id: 
+ at chat_online: 
+ at in_chat: 
+ at chat_name: 
+ at pending_chat_room: 
+ at pending_chat_id: 
+ at pending_chat_topic: 
+ at pending_chat_goto: 
+ at auth: 
+ at auth_written: 
+ at cookie_y: 
+ at cookie_t: 
+ at cookie_b: 
+ at session_id: 
+ at jp: 
+ at wm: 
+ at picture_url: 
+ at picture_checksum: 
+ at picture_upload_todo: 
+ at buddy_icon_connect_data: 
+ at ycht: 
+ at url_datas: 
+ at xfer_peer_idstring_map: 
+ at cookies: 
+ at listen_data: 
+ at current_list15_grp: 
+ at last_ping: 
+ at last_keepalive: 
+ at peers: 
+ at yahoo_p2p_timer: 
+ at yahoo_local_p2p_server_fd: 
+ at yahoo_p2p_server_watcher: 
+ at sms_carrier: 
+ at yahoo_p2p_server_timeout_handle: 
+
+<!-- ##### MACRO YAHOO_MAX_STATUS_MESSAGE_LENGTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_MAX_MESSAGE_LENGTH_BYTES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_MAX_MESSAGE_LENGTH_CHARS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO yahoo_put16 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO yahoo_get16 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO yahoo_put32 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO yahoo_get32 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### FUNCTION yahoo_init_colorht ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION yahoo_dest_colorht ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION yahoo_codes_to_html ##### -->
+<para>
+
+</para>
+
+ at x: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_html_to_codes ##### -->
+<para>
+
+</para>
+
+ at src: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_account_use_http_proxy ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_string_encode ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at str: 
+ at utf8: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_string_decode ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at str: 
+ at utf8: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_convert_to_numeric ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_get_federation_from_name ##### -->
+<para>
+
+</para>
+
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_get_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+
+
+<!-- ##### FUNCTION yahoo_list_icon ##### -->
+<para>
+
+</para>
+
+ at a: 
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_list_emblem ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_status_text ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_tooltip_text ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at user_info: 
+ at full: 
+
+
+<!-- ##### FUNCTION yahoo_status_types ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_blist_node_menu ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_login ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION yahoo_close ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION yahoo_send_im ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at what: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_send_typing ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at state: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_set_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status: 
+
+
+<!-- ##### FUNCTION yahoo_set_idle ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at idle: 
+
+
+<!-- ##### FUNCTION yahoo_add_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buddy: 
+ at g: 
+
+
+<!-- ##### FUNCTION yahoo_remove_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buddy: 
+ at group: 
+
+
+<!-- ##### FUNCTION yahoo_add_deny ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION yahoo_rem_deny ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION yahoo_set_permit_deny ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION yahoo_keepalive ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION yahoo_change_buddys_group ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at old_group: 
+ at new_group: 
+
+
+<!-- ##### FUNCTION yahoo_rename_group ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at old_name: 
+ at group: 
+ at moved_buddies: 
+
+
+<!-- ##### FUNCTION yahoo_offline_message ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_send_attention ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at username: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_attention_types ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_actions ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at context: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoopurple_register_commands ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION yahoopurple_cmd_buzz ##### -->
+<para>
+
+</para>
+
+ at c: 
+ at cmd: 
+ at args: 
+ at error: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoopurple_cmd_chat_join ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at cmd: 
+ at args: 
+ at error: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoopurple_cmd_chat_list ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at cmd: 
+ at args: 
+ at error: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_get_cookies ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_send_p2p_pkt ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at val_13: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/log.sgml	2bc1ff74a7cc4ef5374ebc3c54fd70ae2322ce29
@@ -0,0 +1,415 @@
+<!-- ##### SECTION Title ##### -->
+log
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleLog ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at conv: 
+ at time: 
+ at logger: 
+ at logger_data: 
+ at tm: 
+
+<!-- ##### STRUCT PurpleLogLogger ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at id: 
+ at create: 
+ at write: 
+ at finalize: 
+ at list: 
+ at read: 
+ at size: 
+ at total_size: 
+ at list_syslog: 
+ at get_log_sets: 
+ at remove: 
+ at is_deletable: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleLogCommonLoggerData ##### -->
+<para>
+
+</para>
+
+ at path: 
+ at file: 
+ at extra_data: 
+
+<!-- ##### STRUCT PurpleLogSet ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at buddy: 
+ at normalized_name: 
+
+<!-- ##### ENUM PurpleLogType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_LOG_IM: 
+ at PURPLE_LOG_CHAT: 
+ at PURPLE_LOG_SYSTEM: 
+
+<!-- ##### ENUM PurpleLogReadFlags ##### -->
+<para>
+
+</para>
+
+ at PURPLE_LOG_READ_NO_NEWLINE: 
+
+<!-- ##### USER_FUNCTION PurpleLogSetCallback ##### -->
+<para>
+
+</para>
+
+ at sets: 
+ at set: 
+
+
+<!-- ##### FUNCTION purple_log_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at conv: 
+ at time: 
+ at tm: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_free ##### -->
+<para>
+
+</para>
+
+ at log: 
+
+
+<!-- ##### FUNCTION purple_log_write ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at type: 
+ at from: 
+ at time: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_log_read ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_logs ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_log_sets ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_system_logs ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_size ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_total_size ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_activity_score ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_is_deletable ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_delete ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_log_dir ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_compare ##### -->
+<para>
+
+</para>
+
+ at y: 
+ at z: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_set_compare ##### -->
+<para>
+
+</para>
+
+ at y: 
+ at z: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_set_free ##### -->
+<para>
+
+</para>
+
+ at set: 
+
+
+<!-- ##### FUNCTION purple_log_common_writer ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at ext: 
+
+
+<!-- ##### FUNCTION purple_log_common_lister ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at ext: 
+ at logger: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_common_total_sizer ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at ext: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_common_sizer ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_common_deleter ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_common_is_deletable ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_logger_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at name: 
+ at functions: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_logger_free ##### -->
+<para>
+
+</para>
+
+ at logger: 
+
+
+<!-- ##### FUNCTION purple_log_logger_add ##### -->
+<para>
+
+</para>
+
+ at logger: 
+
+
+<!-- ##### FUNCTION purple_log_logger_remove ##### -->
+<para>
+
+</para>
+
+ at logger: 
+
+
+<!-- ##### FUNCTION purple_log_logger_set ##### -->
+<para>
+
+</para>
+
+ at logger: 
+
+
+<!-- ##### FUNCTION purple_log_logger_get ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_logger_get_options ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_log_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/login.sgml	0907eceb554a7fbfeac249d248737b51ee46bf26
@@ -0,0 +1,48 @@
+<!-- ##### SECTION Title ##### -->
+login
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION mxit_login ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION mxit_register ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION mxit_reconnect ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/markup.sgml	12f6065ac097b1158b6d55a85ecc5757fb2cabf9
@@ -0,0 +1,44 @@
+<!-- ##### SECTION Title ##### -->
+markup
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION msim_markup_to_html ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at raw: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION html_to_msim_markup ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at raw: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/marshallers.sgml	600578431d32f639ea9ecc35a1b77abed479d994
@@ -0,0 +1,207 @@
+<!-- ##### SECTION Title ##### -->
+marshallers
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO purple_smarshal_VOID__OBJECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_smarshal_VOID__OBJECT_OBJECT ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### MACRO purple_smarshal_VOID__POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_smarshal_VOID__POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### FUNCTION purple_smarshal_VOID__POINTER_POINTER_OBJECT ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### FUNCTION purple_smarshal_VOID__POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### FUNCTION purple_smarshal_BOOLEAN__VOID ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### FUNCTION purple_smarshal_BOOLEAN__OBJECT_POINTER_STRING ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### FUNCTION purple_smarshal_VOID__STRING_STRING ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### FUNCTION purple_smarshal_VOID__STRING_STRING_DOUBLE ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### FUNCTION purple_smarshal_VOID__ENUM_STRING ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### FUNCTION purple_smarshal_VOID__ENUM_STRING_STRING ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### FUNCTION purple_smarshal_VOID__ENUM_STRING_STRING_BOOLEAN ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### FUNCTION purple_smarshal_VOID__FLAGS_FLAGS ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
+<!-- ##### FUNCTION purple_smarshal_VOID__STRING_STRING_OBJECT_OBJECT ##### -->
+<para>
+
+</para>
+
+ at closure: 
+ at return_value: 
+ at n_param_values: 
+ at param_values: 
+ at invocation_hint: 
+ at marshal_data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/md4hash.sgml	1c5c4f7c45b883f47c1641483b0d8aa3abcc9ce3
@@ -0,0 +1,64 @@
+<!-- ##### SECTION Title ##### -->
+PurpleMD4Hash
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleMD4Hash ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleMD4HashClass ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_md4_hash_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_md4_hash_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/md5hash.sgml	157b605461e5ced26c51e1e93f2178d48bb074b6
@@ -0,0 +1,66 @@
+<!-- ##### SECTION Title ##### -->
+PurpleMD5Hash
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleMD5Hash ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at parent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleMD5HashClass ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at parent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_md5_hash_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_md5_hash_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/mdns_common.sgml	d4d8b88f5f1da894ff28d0a88f9e216c8e278329
@@ -0,0 +1,93 @@
+<!-- ##### SECTION Title ##### -->
+mdns_common
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION bonjour_dns_sd_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION bonjour_dns_sd_free ##### -->
+<para>
+
+</para>
+
+ at data: 
+
+
+<!-- ##### FUNCTION bonjour_dns_sd_send_status ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at status: 
+ at status_message: 
+
+
+<!-- ##### FUNCTION bonjour_dns_sd_retrieve_buddy_icon ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+
+
+<!-- ##### FUNCTION bonjour_dns_sd_update_buddy_icon ##### -->
+<para>
+
+</para>
+
+ at data: 
+
+
+<!-- ##### FUNCTION bonjour_dns_sd_start ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION bonjour_dns_sd_stop ##### -->
+<para>
+
+</para>
+
+ at data: 
+
+
+<!-- ##### FUNCTION bonjour_dns_sd_set_jid ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at hostname: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/mdns_types.sgml	1638778366494b1174c53b1e1f4d7e19f5ec7468
@@ -0,0 +1,54 @@
+<!-- ##### SECTION Title ##### -->
+mdns_types
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO LINK_LOCAL_RECORD_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT BonjourDnsSd ##### -->
+<para>
+
+</para>
+
+ at mdns_impl_data: 
+ at account: 
+ at first: 
+ at last: 
+ at port_p2pj: 
+ at phsh: 
+ at status: 
+ at vc: 
+ at msg: 
+
+<!-- ##### ENUM PublishType ##### -->
+<para>
+
+</para>
+
+ at PUBLISH_START: 
+ at PUBLISH_UPDATE: 
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/media-gst.sgml	5af8301dd8a0b5cfd7e997ed31d7e5157d81844d
@@ -0,0 +1,227 @@
+<!-- ##### SECTION Title ##### -->
+media-gst
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleMediaElementInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleMediaElementInfoClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION PurpleMediaElementCreateCallback ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at session_id: 
+ at participant: 
+ at Returns: 
+
+
+<!-- ##### ENUM PurpleMediaElementType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_ELEMENT_NONE: 
+ at PURPLE_MEDIA_ELEMENT_AUDIO: 
+ at PURPLE_MEDIA_ELEMENT_VIDEO: 
+ at PURPLE_MEDIA_ELEMENT_AUDIO_VIDEO: 
+ at PURPLE_MEDIA_ELEMENT_NO_SRCS: 
+ at PURPLE_MEDIA_ELEMENT_ONE_SRC: 
+ at PURPLE_MEDIA_ELEMENT_MULTI_SRC: 
+ at PURPLE_MEDIA_ELEMENT_REQUEST_SRC: 
+ at PURPLE_MEDIA_ELEMENT_NO_SINKS: 
+ at PURPLE_MEDIA_ELEMENT_ONE_SINK: 
+ at PURPLE_MEDIA_ELEMENT_MULTI_SINK: 
+ at PURPLE_MEDIA_ELEMENT_REQUEST_SINK: 
+ at PURPLE_MEDIA_ELEMENT_UNIQUE: 
+ at PURPLE_MEDIA_ELEMENT_SRC: 
+ at PURPLE_MEDIA_ELEMENT_SINK: 
+
+<!-- ##### FUNCTION purple_media_element_info_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_get_src ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_get_tee ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at session_id: 
+ at participant: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_get_pipeline ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_get_element ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at type: 
+ at media: 
+ at session_id: 
+ at participant: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_get_element_info ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_register_element ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_unregister_element ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_set_active_element ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_get_active_element ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_set_video_caps ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at caps: 
+
+
+<!-- ##### FUNCTION purple_media_manager_get_video_caps ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_element_info_get_id ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_element_info_get_name ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_element_info_get_element_type ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_element_info_call_create ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at media: 
+ at session_id: 
+ at participant: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/media.sgml	f35ff73fd1a672b9e67f282b022f02477cdd8090
@@ -0,0 +1,294 @@
+<!-- ##### SECTION Title ##### -->
+media
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleMedia ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_media_get_session_ids ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_get_account ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_get_prpl_data ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_set_prpl_data ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at prpl_data: 
+
+
+<!-- ##### FUNCTION purple_media_error ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at error: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_media_end ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at session_id: 
+ at participant: 
+
+
+<!-- ##### FUNCTION purple_media_stream_info ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at type: 
+ at session_id: 
+ at participant: 
+ at local: 
+
+
+<!-- ##### FUNCTION purple_media_add_stream ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at who: 
+ at type: 
+ at initiator: 
+ at transmitter: 
+ at num_params: 
+ at params: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_get_session_type ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_get_manager ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_get_codecs ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_add_remote_candidates ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at participant: 
+ at remote_candidates: 
+
+
+<!-- ##### FUNCTION purple_media_get_local_candidates ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at participant: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_get_active_local_candidates ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at participant: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_get_active_remote_candidates ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at participant: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_set_remote_codecs ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at participant: 
+ at codecs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_candidates_prepared ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at session_id: 
+ at participant: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_set_send_codec ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at codec: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_codecs_ready ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_is_initiator ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at participant: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_accepted ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at sess_id: 
+ at participant: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_set_input_volume ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at session_id: 
+ at level: 
+
+
+<!-- ##### FUNCTION purple_media_set_output_volume ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at session_id: 
+ at participant: 
+ at level: 
+
+
+<!-- ##### FUNCTION purple_media_set_output_window ##### -->
+<para>
+
+</para>
+
+ at media: 
+ at session_id: 
+ at participant: 
+ at window_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_remove_output_windows ##### -->
+<para>
+
+</para>
+
+ at media: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/mediamanager.sgml	b3642174d7b3b9b66300d19fd39769d6be3a68d6
@@ -0,0 +1,168 @@
+<!-- ##### SECTION Title ##### -->
+mediamanager
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleMediaManager ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleMediaManagerClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_media_manager_get ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_create_media ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at account: 
+ at conference_type: 
+ at remote_user: 
+ at initiator: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_get_media ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_get_media_by_account ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_remove_media ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at media: 
+
+
+<!-- ##### FUNCTION purple_media_manager_create_output_window ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at media: 
+ at session_id: 
+ at participant: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_set_output_window ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at media: 
+ at session_id: 
+ at participant: 
+ at window_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_remove_output_window ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at output_window_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_remove_output_windows ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at media: 
+ at session_id: 
+ at participant: 
+
+
+<!-- ##### FUNCTION purple_media_manager_set_ui_caps ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at caps: 
+
+
+<!-- ##### FUNCTION purple_media_manager_get_ui_caps ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_media_manager_set_backend_type ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at backend_type: 
+
+
+<!-- ##### FUNCTION purple_media_manager_get_backend_type ##### -->
+<para>
+
+</para>
+
+ at manager: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/message.sgml	431dadb434a80a7ce877e49f28a3f54d94bb8479
@@ -0,0 +1,125 @@
+<!-- ##### SECTION Title ##### -->
+message
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JabberMessage ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at sent: 
+ at delayed: 
+ at hasBuzz: 
+ at id: 
+ at from: 
+ at to: 
+ at subject: 
+ at body: 
+ at xhtml: 
+ at password: 
+ at error: 
+ at thread_id: 
+ at etc: 
+ at eventitems: 
+
+<!-- ##### FUNCTION jabber_message_free ##### -->
+<para>
+
+</para>
+
+ at jm: 
+
+
+<!-- ##### FUNCTION jabber_message_send ##### -->
+<para>
+
+</para>
+
+ at jm: 
+
+
+<!-- ##### FUNCTION jabber_message_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+
+
+<!-- ##### FUNCTION jabber_message_send_im ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at msg: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_message_send_chat ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at message: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_send_typing ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at state: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_buzz_isenabled ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at namespace: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_custom_smileys_isenabled ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at namespace: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/mime.sgml	864bd9b1de955cbc3bb1b3bb2713c381ae65b950
@@ -0,0 +1,204 @@
+<!-- ##### SECTION Title ##### -->
+mime
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleMimeDocument ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleMimePart ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_mime_document_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_document_free ##### -->
+<para>
+
+</para>
+
+ at doc: 
+
+
+<!-- ##### FUNCTION purple_mime_document_parse ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_document_parsen ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_document_write ##### -->
+<para>
+
+</para>
+
+ at doc: 
+ at str: 
+
+
+<!-- ##### FUNCTION purple_mime_document_get_fields ##### -->
+<para>
+
+</para>
+
+ at doc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_document_get_field ##### -->
+<para>
+
+</para>
+
+ at doc: 
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_document_set_field ##### -->
+<para>
+
+</para>
+
+ at doc: 
+ at field: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_mime_document_get_parts ##### -->
+<para>
+
+</para>
+
+ at doc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_part_new ##### -->
+<para>
+
+</para>
+
+ at doc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_part_get_fields ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_part_get_field ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_part_get_field_decoded ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_part_set_field ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at field: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_mime_part_get_data ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_part_get_data_decoded ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION purple_mime_part_get_length ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_part_set_data ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/module.sgml	0e893881ad9f10a50f10c65bc65a175594d706c7
@@ -0,0 +1,807 @@
+<!-- ##### SECTION Title ##### -->
+module
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### TYPEDEF Purple__Group ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO group ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### TYPEDEF Purple__Account ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Account__Option ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Account__UserSplit ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__BuddyList__Node ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__BuddyList__NodeFlags ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__BuddyList__Buddy ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__BuddyList__Chat ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__BuddyList__Contact ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__BuddyList__Group ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Buddy__Icon ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Certificate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Certificate__Pool ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Certificate__Scheme ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Certificate__Verifier ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Certificate__VerificationRequest ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Certificate__VerificationStatus ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Cipher ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Cipher__BatchMode ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Hash ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Cmd__Flag ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Cmd__Id ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Cmd__Priority ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Cmd__Ret ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Connection ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__ConnectionFlags ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__ConnectionState ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__ConversationType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__ConvUpdateType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__TypingState ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__MessageFlags ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__ConvChatBuddyFlags ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Conversation ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Conversation__IM ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Conversation__Chat ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Conversation__ChatBuddy ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Core ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__DebugLevel ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__DesktopItem ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__DesktopItemType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__InputCondition ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Xfer ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__XferType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__XferStatusType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__GTK__BuddyList ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__StatusIconSize ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__ButtonOrientation ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__ButtonStyle ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__BrowserPlace ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__UnseenState ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__GTK__Conversation ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__GDK__Pixbuf ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__GTK__Widget ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__GTK__FileSelection ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__GTK__SelectionData ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__GTK__TextView ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__StoredImage ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Log ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__LogCommonLoggerData ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Log__Logger ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Log__ReadFlags ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__LogSet ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__LogType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__NetworkListenData ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__NetworkListenCallback ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__NotifyCloseCallback ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__NotifyMsgType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__NotifySearchButtonType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__NotifySearchResults ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__NotifySearchColumn ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__NotifySearchButton ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__NotifyType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__NotifyUserInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__NotifyUserInfoEntry ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Plugin ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Plugin__Action ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PluginInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PluginLoaderInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PluginType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PluginUiInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PluginPref ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PluginPref__Frame ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PluginPrefType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__String__Format__Type ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Pounce ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PounceEvent ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PrefType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PrivacyType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__ProxyInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__ProxyType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Buddy__Icon__Spec ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__IconScaleRules ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PluginProtocolInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__ProtocolOptions ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Request__Field ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Request__Fields ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Request__Field__Group ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__RequestFieldType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__RequestType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Roomlist ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Roomlist__Field ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__RoomlistFieldType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Roomlist__Room ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__RoomlistRoomType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__SavedStatus ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__SavedStatus__Sub ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Smiley ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__SoundEventID ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Input__Condition ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Ssl__Connection ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__SslErrorType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Ssl__Ops ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Presence ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__PresenceContext ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Status ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__StatusAttr ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__StatusPrimitive ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__StatusType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Stringref ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Util__InfoFieldFormatCallback ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Util__FetchUrlData ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Menu__Action ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Value ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Whiteboard ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__XMLNode ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF XMLNode__Type ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF Purple__Handle ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF gchar_own ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT constiv ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at iv: 
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/mono-glue.sgml	ee49b899ac7c85150587fe6e248df83134cb559e
@@ -0,0 +1,73 @@
+<!-- ##### SECTION Title ##### -->
+mono-glue
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION purple_debug_glue ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at cat: 
+ at str: 
+
+
+<!-- ##### FUNCTION purple_signal_connect_glue ##### -->
+<para>
+
+</para>
+
+ at h: 
+ at plugin: 
+ at signal: 
+ at func: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_get_handle_glue ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_build_buddy_object ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_build_status_object ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/mono-helper.sgml	e5b0300cb79576ab1ead2df90df723d2a2393d4f
@@ -0,0 +1,239 @@
+<!-- ##### SECTION Title ##### -->
+mono-helper
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleMonoPlugin ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at assm: 
+ at klass: 
+ at obj: 
+ at init: 
+ at load: 
+ at unload: 
+ at destroy: 
+ at signal_data: 
+
+<!-- ##### FUNCTION ml_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION ml_invoke ##### -->
+<para>
+
+</para>
+
+ at method: 
+ at obj: 
+ at params: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_delegate_invoke ##### -->
+<para>
+
+</para>
+
+ at method: 
+ at params: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_find_plugin_class ##### -->
+<para>
+
+</para>
+
+ at image: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_get_prop_string ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_set_prop_string ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at field: 
+ at data: 
+
+
+<!-- ##### FUNCTION ml_get_info_prop ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_is_api_dll ##### -->
+<para>
+
+</para>
+
+ at image: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_get_domain ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_set_domain ##### -->
+<para>
+
+</para>
+
+ at d: 
+
+
+<!-- ##### FUNCTION ml_init_internal_calls ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION ml_object_from_purple_type ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_object_from_purple_subtype ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_create_api_object ##### -->
+<para>
+
+</para>
+
+ at class_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_set_api_image ##### -->
+<para>
+
+</para>
+
+ at image: 
+
+
+<!-- ##### FUNCTION ml_get_api_image ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_add_plugin ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### FUNCTION ml_remove_plugin ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_find_plugin ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_find_plugin_by_class ##### -->
+<para>
+
+</para>
+
+ at klass: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ml_get_plugin_hash ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/msg.sgml	c85929d307881c44b0e7e1b44a1664aa802d2f9a
@@ -0,0 +1,389 @@
+<!-- ##### SECTION Title ##### -->
+msg
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnMessage ##### -->
+<para>
+
+</para>
+
+ at ref_count: 
+ at type: 
+ at msnslp_message: 
+ at part: 
+ at remote_user: 
+ at flag: 
+ at content_type: 
+ at charset: 
+ at body: 
+ at body_len: 
+ at total_chunks: 
+ at received_chunks: 
+ at header_table: 
+ at header_list: 
+ at ack_ref: 
+ at cmd: 
+ at ack_cb: 
+ at nak_cb: 
+ at ack_data: 
+ at retries: 
+
+<!-- ##### ENUM MsnMsgType ##### -->
+<para>
+
+</para>
+
+ at MSN_MSG_UNKNOWN: 
+ at MSN_MSG_TEXT: 
+ at MSN_MSG_TYPING: 
+ at MSN_MSG_CAPS: 
+ at MSN_MSG_SLP: 
+ at MSN_MSG_NUDGE: 
+
+<!-- ##### ENUM MsnMsgErrorType ##### -->
+<para>
+
+</para>
+
+ at MSN_MSG_ERROR_NONE: 
+ at MSN_MSG_ERROR_TIMEOUT: 
+ at MSN_MSG_ERROR_NAK: 
+ at MSN_MSG_ERROR_SB: 
+ at MSN_MSG_ERROR_UNKNOWN: 
+
+<!-- ##### USER_FUNCTION MsnMsgCb ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at data: 
+
+
+<!-- ##### MACRO MSG_BODY_DEM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSG_LINE_DEM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSG_OIM_BODY_DEM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSG_OIM_LINE_DEM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msn_message_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_new_msnslp ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_new_nudge ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_new_plain ##### -->
+<para>
+
+</para>
+
+ at message: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_new_msnslp_ack ##### -->
+<para>
+
+</para>
+
+ at acked_msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_new_from_cmd ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at cmd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_parse_payload ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at payload: 
+ at payload_len: 
+ at line_dem: 
+ at body_dem: 
+
+
+<!-- ##### FUNCTION msn_message_ref ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_unref ##### -->
+<para>
+
+</para>
+
+ at msg: 
+
+
+<!-- ##### FUNCTION msn_message_gen_payload ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at ret_size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_set_flag ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at flag: 
+
+
+<!-- ##### FUNCTION msn_message_get_flag ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_set_bin_data ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION msn_message_get_bin_data ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_set_content_type ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at type: 
+
+
+<!-- ##### FUNCTION msn_message_get_content_type ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_set_charset ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at charset: 
+
+
+<!-- ##### FUNCTION msn_message_get_charset ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_set_header ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION msn_message_get_header_value ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_get_hashtable_from_body ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_message_show_readable ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at info: 
+ at text_body: 
+
+
+<!-- ##### FUNCTION msn_message_to_string ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_plain_msg ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at msg: 
+
+
+<!-- ##### FUNCTION msn_control_msg ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at msg: 
+
+
+<!-- ##### FUNCTION msn_p2p_msg ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at msg: 
+
+
+<!-- ##### FUNCTION msn_emoticon_msg ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at msg: 
+
+
+<!-- ##### FUNCTION msn_datacast_msg ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at msg: 
+
+
+<!-- ##### FUNCTION msn_invite_msg ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at msg: 
+
+
+<!-- ##### FUNCTION msn_handwritten_msg ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at msg: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/msn.sgml	e08d9a6b1fbc2d6fb87d85775e6138bf559e142d
@@ -0,0 +1,291 @@
+<!-- ##### SECTION Title ##### -->
+msn
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM MsnClientCaps ##### -->
+<para>
+
+</para>
+
+ at MSN_CAP_VIA_MOBILE: 
+ at MSN_CAP_VIA_TEXAS: 
+ at MSN_CAP_INK_GIF: 
+ at MSN_CAP_INK_ISF: 
+ at MSN_CAP_VIDEO_CHAT: 
+ at MSN_CAP_PACKET: 
+ at MSN_CAP_MOBILE_ON: 
+ at MSN_CAP_WEB_WATCH: 
+ at MSN_CAP_ACTIVITIES: 
+ at MSN_CAP_VIA_WEBIM: 
+ at MSN_CAP_MOBILE_DEV: 
+ at MSN_CAP_VIA_FEDERATED: 
+ at MSN_CAP_SPACE: 
+ at MSN_CAP_MCE: 
+ at MSN_CAP_DIRECTIM: 
+ at MSN_CAP_WINKS: 
+ at MSN_CAP_SEARCH: 
+ at MSN_CAP_BOT: 
+ at MSN_CAP_VOICEIM: 
+ at MSN_CAP_SCHANNEL: 
+ at MSN_CAP_SIP_INVITE: 
+ at MSN_CAP_MULTI_VV: 
+ at MSN_CAP_SDRIVE: 
+ at MSN_CAP_PAGEMODE_MSG: 
+ at MSN_CAP_ONECARE: 
+ at MSN_CAP_P2P_TURN: 
+ at MSN_CAP_P2P_BOOTSTRAP_VIA_UUN: 
+ at MSN_CAP_ALIASED: 
+
+<!-- ##### ENUM MsnClientExtCaps ##### -->
+<para>
+
+</para>
+
+ at MSN_EXT_CAP_SMS_ONLY: 
+ at MSN_EXT_CAP_VOICE_OVER_MSNP: 
+ at MSN_EXT_CAP_UUCP_SIP: 
+ at MSN_EXT_CAP_APP_MSGS: 
+ at MSN_EXT_CAP_RTC_VIDEO: 
+ at MSN_EXT_CAP_P2PV2: 
+ at MSN_EXT_CAP_AUTH_WEBIM: 
+ at MSN_EXT_CAP_1ON1_VIA_GROUP: 
+ at MSN_EXT_CAP_OFFLINEIM: 
+ at MSN_EXT_CAP_SHARING_VIDEO: 
+ at MSN_EXT_CAP_NUDGE: 
+ at MSN_EXT_CAP_CIRCLE_VOICEIM: 
+ at MSN_EXT_CAP_SHARING: 
+ at MSN_EXT_CAP_P2P_MIXER_RELAY: 
+ at MSN_EXT_CAP_CONV_WINDOW_FT: 
+ at MSN_EXT_CAP_VIDEO_16x9: 
+ at MSN_EXT_CAP_P2P_ENVELOPE: 
+ at MSN_EXT_CAP_YAHOOIM_DISABLE: 
+ at MSN_EXT_CAP_SIP_TUNNELv2: 
+ at MSN_EXT_CAP_VOICE_CLIP_WMA: 
+ at MSN_EXT_CAP_VOICE_CLIP_CIRCLEIM: 
+ at MSN_EXT_CAP_SOCIAL_NEWS: 
+ at MSN_EXT_CAP_CUSTOM_SMILEY: 
+ at MSN_EXT_CAP_UTF8_MOODS: 
+ at MSN_EXT_CAP_FTURN: 
+ at MSN_EXT_CAP_P4_ACTIVITY: 
+ at MSN_EXT_CAP_MUC: 
+
+<!-- ##### ENUM MsnClientVerId ##### -->
+<para>
+
+</para>
+
+ at MSN_CLIENT_VER_5_0: 
+ at MSN_CLIENT_VER_6_0: 
+ at MSN_CLIENT_VER_6_1: 
+ at MSN_CLIENT_VER_6_2: 
+ at MSN_CLIENT_VER_7_0: 
+ at MSN_CLIENT_VER_7_5: 
+ at MSN_CLIENT_VER_8_0: 
+ at MSN_CLIENT_VER_8_1: 
+ at MSN_CLIENT_VER_8_5: 
+ at MSN_CLIENT_VER_9_0: 
+ at MSN_CLIENT_VER_14_0: 
+ at MSN_CLIENT_VER_15_0: 
+
+<!-- ##### MACRO MSN_BUF_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_HTTPCONN_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO WLM_PROT_VER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO WLM_MAX_PROTOCOL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO WLM_MIN_PROTOCOL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_TYPING_RECV_TIMEOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_TYPING_SEND_TIMEOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PROFILE_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PHOTO_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO BUDDY_ALIAS_MAXLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CAM_GUID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CAM_REQUEST_GUID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_FT_GUID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OBJ_GUID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CLIENTINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_NUDGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CLIENT_ID_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CLIENT_ID_CAPABILITIES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CLIENT_ID_EXT_CAPS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_CLIENT_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msn_set_public_alias ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at alias: 
+ at success_cb: 
+ at failure_cb: 
+
+
+<!-- ##### FUNCTION msn_send_privacy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION msn_send_im_message ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at msg: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/msnutils.sgml	f2cf835ba244520bfb3650b9a35816618745b404
@@ -0,0 +1,346 @@
+<!-- ##### SECTION Title ##### -->
+msnutils
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION msn_encode_mime ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION rand_guid ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_encode_spaces ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at buf: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_parse_format ##### -->
+<para>
+
+</para>
+
+ at mime: 
+ at pre_ret: 
+ at post_ret: 
+
+
+<!-- ##### FUNCTION msn_import_html ##### -->
+<para>
+
+</para>
+
+ at html: 
+ at attributes: 
+ at message: 
+
+
+<!-- ##### FUNCTION msn_parse_socket ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at ret_host: 
+ at ret_port: 
+
+
+<!-- ##### FUNCTION msn_email_is_valid ##### -->
+<para>
+
+</para>
+
+ at passport: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_handle_chl ##### -->
+<para>
+
+</para>
+
+ at input: 
+ at output: 
+
+
+<!-- ##### FUNCTION msn_read8 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_read16le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_read16be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_read32le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_read32be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_read64le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_read64be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_write8 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### FUNCTION msn_write16le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### FUNCTION msn_write16be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### FUNCTION msn_write32le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### FUNCTION msn_write32be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### FUNCTION msn_write64le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### FUNCTION msn_write64be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO msn_pop8 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO msn_pop16le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO msn_pop16be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO msn_pop32le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO msn_pop32be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO msn_pop64le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO msn_pop64be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO msn_push8 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO msn_push16le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO msn_push16be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO msn_push32le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO msn_push32be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO msn_push64le ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO msn_push64be ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/multimx.sgml	e67351de145fc74154eb60e7321609ee710a7333
@@ -0,0 +1,154 @@
+<!-- ##### SECTION Title ##### -->
+multimx
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO STATE_CREATOR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO STATE_INVITED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO STATE_JOINED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION multimx_invite ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at contact: 
+ at creator: 
+
+
+<!-- ##### FUNCTION multimx_created ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at contact: 
+
+
+<!-- ##### FUNCTION is_multimx_contact ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at username: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION multimx_message_received ##### -->
+<para>
+
+</para>
+
+ at mx: 
+ at message: 
+ at len: 
+ at Param4: 
+ at msgflags: 
+
+
+<!-- ##### FUNCTION mxit_chat_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_chat_join ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+
+
+<!-- ##### FUNCTION mxit_chat_reject ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at components: 
+
+
+<!-- ##### FUNCTION mxit_chat_name ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_chat_invite ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at msg: 
+ at name: 
+
+
+<!-- ##### FUNCTION mxit_chat_leave ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+
+
+<!-- ##### FUNCTION mxit_chat_send ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at message: 
+ at flags: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/mxit.sgml	5660440fc382f3cd2a032527fbd657e4ed41f0be
@@ -0,0 +1,302 @@
+<!-- ##### SECTION Title ##### -->
+mxit
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO HOST_NAME_MAX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_PLUGIN_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_PLUGIN_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_PLUGIN_EMAIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_PLUGIN_WWW ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_PLUGIN_SUMMARY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_PLUGIN_DESC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_HTTP_USERAGENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DEFAULT_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DEFAULT_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DEFAULT_WAPSITE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DEFAULT_HTTP_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_STATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_WAPSERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_DISTCODE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_CLIENTKEY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_DIALCODE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_SERVER_ADDR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_SERVER_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_HTTPSERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_SPLASHID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_SPLASHCLICK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_SPLASHPOPUP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_COUNTRYCODE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_LOCALE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_CONFIG_USE_HTTP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_STATE_LOGIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_STATE_REGISTER1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_STATE_REGISTER2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_FLAG_CONNECTED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_FLAG_LOGGEDIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_FLAG_FIRSTROSTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_LINK_CLICK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_LINK_PREFIX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MXIT_LINK_KEY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ARRAY_SIZE ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### FUNCTION mxit_status_text ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_enable_signals ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
+<!-- ##### FUNCTION mxit_register_uri_handler ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/myspace.sgml	0b72f34fba5a55c8d701f24c7097c5dbf05fac40
@@ -0,0 +1,426 @@
+<!-- ##### SECTION Title ##### -->
+myspace
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO MSIM_MAX_PASSWORD_LENGTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_MAX_USERNAME_LENGTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_CLIENT_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_LANGUAGE_ID_ENGLISH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_LANGUAGE_NAME_ENGLISH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_PRPL_VERSION_STRING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_KEEPALIVE_INTERVAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_KEEPALIVE_INTERVAL_CHECK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_MAIL_INTERVAL_CHECK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HASH_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NONCE_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_READ_BUF_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_FINAL_STRING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_BM_ACTION_OR_IM_DELAYABLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_BM_STATUS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_BM_ACTION_OR_IM_INSTANT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_BM_MEDIA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_BM_PROFILE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_BM_STATUS_MOOD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_BM_UNOFFICIAL_CLIENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_AUTH_ALGORITHM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_AUTH_CHALLENGE_LENGTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_LOGIN_IP_LIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_LOGIN_IP_LIST_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_ORDINAL_EMPTY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_ORDINAL_UNKNOWNs ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_ORDINAL_ONLINE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_ORDINAL_UNKNOWNss ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_ORDINAL_HEADLINE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_ORDINAL_UNKNOWNls ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_ORDINAL_UNKNOWN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_ORDINAL_UNKNOWN1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_ORDINAL_UNKNOWNp ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_ORDINAL_UNKNOWN2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_CODE_OFFLINE_OR_HIDDEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_CODE_ONLINE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_CODE_IDLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_STATUS_CODE_AWAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_INBOX_MAIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_INBOX_BLOG_COMMENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_INBOX_PROFILE_COMMENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_INBOX_FRIEND_REQUEST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_INBOX_PICTURE_COMMENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_CONTACT_LIST_INITIAL_FRIENDS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_CONTACT_LIST_IMPORT_ALL_FRIENDS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_CONTACT_LIST_IMPORT_TOP_FRIENDS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_ERROR_INCORRECT_PASSWORD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_ERROR_LOGGED_IN_ELSEWHERE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msim_send_raw ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msim_send_bm ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at who: 
+ at text: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msim_we_are_logged_on ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msim_unrecognized ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at msg: 
+ at note: 
+
+
+<!-- ##### FUNCTION msim_new_reply_callback ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at cb: 
+ at data: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/namespaces.sgml	66098d1070716ed33a5b010cd1736f1e1e8dfa11
@@ -0,0 +1,318 @@
+<!-- ##### SECTION Title ##### -->
+namespaces
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO NS_XMPP_BIND ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_XMPP_CLIENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_XMPP_SASL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_XMPP_SESSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_XMPP_STANZAS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_XMPP_STREAMS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_XMPP_TLS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_LAST_ACTIVITY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_DISCO_INFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_DISCO_ITEMS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_IBB ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_BYTESTREAMS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_OOB_IQ_DATA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_OOB_X_DATA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_XHTML_IM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_XHTML ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_AVATAR_0_12_DATA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_AVATAR_0_12_METADATA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_AVATAR_1_1_DATA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_AVATAR_1_1_METADATA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_SI_FILE_TRANSFER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_BOSH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_SIMPLE_BLOCKING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_PING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_ENTITY_TIME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_DELAYED_DELIVERY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_DELAYED_DELIVERY_LEGACY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_XMPP_BOSH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_ATTENTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_BOB ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_ROSTER_VERSIONING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_THUMBS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_GOOGLE_CAMERA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_GOOGLE_VIDEO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_GOOGLE_VOICE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_GOOGLE_JINGLE_INFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_GOOGLE_MAIL_NOTIFY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_GOOGLE_ROSTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_GOOGLE_PROTOCOL_SESSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_GOOGLE_SESSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_GOOGLE_SESSION_PHONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NS_GOOGLE_SESSION_VIDEO ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nat-pmp.sgml	2e8410c98a13872bb3ec538b2afb86d92e387526
@@ -0,0 +1,78 @@
+<!-- ##### SECTION Title ##### -->
+nat-pmp
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO PURPLE_PMP_LIFETIME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM PurplePmpType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PMP_TYPE_UDP: 
+ at PURPLE_PMP_TYPE_TCP: 
+
+<!-- ##### FUNCTION purple_pmp_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_pmp_get_public_ip ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pmp_create_map ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at privateport: 
+ at publicport: 
+ at lifetime: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pmp_destroy_map ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at privateport: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/network.sgml	956bd2c2a5fe91423c7c2772d059d0f3212dec76
@@ -0,0 +1,263 @@
+<!-- ##### SECTION Title ##### -->
+network
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleNetworkListenData ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION PurpleNetworkListenCallback ##### -->
+<para>
+
+</para>
+
+ at listenfd: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_network_ip_atoi ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_set_public_ip ##### -->
+<para>
+
+</para>
+
+ at ip: 
+
+
+<!-- ##### FUNCTION purple_network_get_public_ip ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_get_local_system_ip ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_get_all_local_system_ips ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_get_my_ip ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_listen_map_external ##### -->
+<para>
+
+</para>
+
+ at map_external: 
+
+
+<!-- ##### FUNCTION purple_network_listen ##### -->
+<para>
+
+</para>
+
+ at port: 
+ at socket_type: 
+ at cb: 
+ at cb_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_listen_family ##### -->
+<para>
+
+</para>
+
+ at port: 
+ at socket_family: 
+ at socket_type: 
+ at cb: 
+ at cb_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_listen_range ##### -->
+<para>
+
+</para>
+
+ at start: 
+ at end: 
+ at socket_type: 
+ at cb: 
+ at cb_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_listen_range_family ##### -->
+<para>
+
+</para>
+
+ at start: 
+ at end: 
+ at socket_family: 
+ at socket_type: 
+ at cb: 
+ at cb_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_listen_cancel ##### -->
+<para>
+
+</para>
+
+ at listen_data: 
+
+
+<!-- ##### FUNCTION purple_network_get_port_from_fd ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_is_available ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_force_online ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_network_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_set_stun_server ##### -->
+<para>
+
+</para>
+
+ at stun_server: 
+
+
+<!-- ##### FUNCTION purple_network_get_stun_ip ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_set_turn_server ##### -->
+<para>
+
+</para>
+
+ at turn_server: 
+
+
+<!-- ##### FUNCTION purple_network_get_turn_ip ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_remove_port_mapping ##### -->
+<para>
+
+</para>
+
+ at fd: 
+
+
+<!-- ##### FUNCTION purple_network_convert_idn_to_ascii ##### -->
+<para>
+
+</para>
+
+ at in: 
+ at out: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_network_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_network_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nexus.sgml	91e9bbef094fb9a8cf47537a58fd0e222af140db
@@ -0,0 +1,195 @@
+<!-- ##### SECTION Title ##### -->
+nexus
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnNexus ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at policy: 
+ at nonce: 
+ at cipher: 
+ at secret: 
+ at tokens: 
+ at token_len: 
+
+<!-- ##### STRUCT MsnTicketToken ##### -->
+<para>
+
+</para>
+
+ at token: 
+ at secret: 
+ at expiry: 
+ at updates: 
+
+<!-- ##### STRUCT MsnUsrKey ##### -->
+<para>
+
+</para>
+
+ at size: 
+ at crypt_mode: 
+ at cipher_type: 
+ at hash_type: 
+ at iv_len: 
+ at hash_len: 
+ at cipher_len: 
+ at iv: 
+ at hash: 
+ at cipher: 
+
+<!-- ##### ENUM MsnAuthDomains ##### -->
+<para>
+
+</para>
+
+ at MSN_AUTH_MESSENGER: 
+ at MSN_AUTH_MESSENGER_WEB: 
+ at MSN_AUTH_CONTACTS: 
+ at MSN_AUTH_LIVE_SECURE: 
+ at MSN_AUTH_SPACES: 
+ at MSN_AUTH_LIVE_CONTACTS: 
+ at MSN_AUTH_STORAGE: 
+
+<!-- ##### MACRO MSN_SSO_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SSO_POST_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_SSO_RST_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_SSO_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_SSO_AUTHINFO_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_SSO_AUTHINFO_SHA1_BASE64 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_SSO_TIMESTAMP_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_SSO_SIGNEDINFO_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_SSO_TOKEN_UPDATE_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msn_nexus_connect ##### -->
+<para>
+
+</para>
+
+ at nexus: 
+
+
+<!-- ##### FUNCTION msn_nexus_new ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_nexus_destroy ##### -->
+<para>
+
+</para>
+
+ at nexus: 
+
+
+<!-- ##### FUNCTION msn_nexus_get_token ##### -->
+<para>
+
+</para>
+
+ at nexus: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_nexus_get_token_str ##### -->
+<para>
+
+</para>
+
+ at nexus: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_nexus_update_token ##### -->
+<para>
+
+</para>
+
+ at nexus: 
+ at id: 
+ at cb: 
+ at data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nmconference.sgml	d852eca27d422826d435cf00b5067373fbe7dd18
@@ -0,0 +1,160 @@
+<!-- ##### SECTION Title ##### -->
+nmconference
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT NMConference ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO BLANK_GUID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CONF_GUID_END ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION nm_create_conference ##### -->
+<para>
+
+</para>
+
+ at guid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_conference_add_ref ##### -->
+<para>
+
+</para>
+
+ at conference: 
+
+
+<!-- ##### FUNCTION nm_release_conference ##### -->
+<para>
+
+</para>
+
+ at conf: 
+
+
+<!-- ##### FUNCTION nm_conference_set_guid ##### -->
+<para>
+
+</para>
+
+ at conference: 
+ at guid: 
+
+
+<!-- ##### FUNCTION nm_conference_get_guid ##### -->
+<para>
+
+</para>
+
+ at conference: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_conference_add_participant ##### -->
+<para>
+
+</para>
+
+ at conference: 
+ at user_record: 
+
+
+<!-- ##### FUNCTION nm_conference_remove_participant ##### -->
+<para>
+
+</para>
+
+ at conference: 
+ at dn: 
+
+
+<!-- ##### FUNCTION nm_conference_get_participant_count ##### -->
+<para>
+
+</para>
+
+ at conference: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_conference_get_participant ##### -->
+<para>
+
+</para>
+
+ at conference: 
+ at index: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_conference_is_instantiated ##### -->
+<para>
+
+</para>
+
+ at conf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_conference_set_flags ##### -->
+<para>
+
+</para>
+
+ at conference: 
+ at flags: 
+
+
+<!-- ##### FUNCTION nm_conference_set_data ##### -->
+<para>
+
+</para>
+
+ at conference: 
+ at data: 
+
+
+<!-- ##### FUNCTION nm_conference_get_data ##### -->
+<para>
+
+</para>
+
+ at conference: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nmconn.sgml	5b77c6583510ac24f374c694ee052b8282e919eb
@@ -0,0 +1,231 @@
+<!-- ##### SECTION Title ##### -->
+nmconn
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT NMConn ##### -->
+<para>
+
+</para>
+
+ at addr: 
+ at port: 
+ at fd: 
+ at trans_id: 
+ at requests: 
+ at connected: 
+ at use_ssl: 
+ at redirect: 
+ at ssl_conn: 
+
+<!-- ##### STRUCT NMSSLConn ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at read: 
+ at write: 
+
+<!-- ##### USER_FUNCTION nm_ssl_read_cb ##### -->
+<para>
+
+</para>
+
+ at ssl_data: 
+ at buff: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION nm_ssl_write_cb ##### -->
+<para>
+
+</para>
+
+ at ssl_data: 
+ at buff: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_create_conn ##### -->
+<para>
+
+</para>
+
+ at addr: 
+ at port: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_release_conn ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION nm_tcp_write ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at buff: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_tcp_read ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at buff: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_read_all ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at buf: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_read_uint32 ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at val: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_read_uint16 ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at val: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_request ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at cmd: 
+ at fields: 
+ at cb: 
+ at data: 
+ at request: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_write_fields ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at fields: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_read_header ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_read_fields ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at count: 
+ at fields: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_conn_add_request_item ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at request: 
+
+
+<!-- ##### FUNCTION nm_conn_remove_request_item ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at request: 
+
+
+<!-- ##### FUNCTION nm_conn_find_request ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at trans_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_conn_get_addr ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_conn_get_port ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nmcontact.sgml	64c52fa0f53ff750e13011387e1ce1d32f756072
@@ -0,0 +1,396 @@
+<!-- ##### SECTION Title ##### -->
+nmcontact
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT NMContact ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT NMContactProperty ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT NMFolder ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION nm_create_contact ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_create_contact_from_fields ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_contact_add_ref ##### -->
+<para>
+
+</para>
+
+ at contact: 
+
+
+<!-- ##### FUNCTION nm_contact_update_list_properties ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at fields: 
+
+
+<!-- ##### FUNCTION nm_release_contact ##### -->
+<para>
+
+</para>
+
+ at contact: 
+
+
+<!-- ##### FUNCTION nm_contact_get_display_name ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_contact_get_dn ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_contact_set_display_name ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at display_name: 
+
+
+<!-- ##### FUNCTION nm_contact_set_dn ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at dn: 
+
+
+<!-- ##### FUNCTION nm_contact_to_fields ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_contact_set_user_record ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at user_record: 
+
+
+<!-- ##### FUNCTION nm_contact_get_user_record ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_contact_get_data ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_contact_get_id ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_contact_get_parent_id ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_contact_get_userid ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_contact_get_display_id ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_contact_set_data ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at data: 
+
+
+<!-- ##### FUNCTION nm_create_folder ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_create_folder_from_fields ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_folder_add_ref ##### -->
+<para>
+
+</para>
+
+ at folder: 
+
+
+<!-- ##### FUNCTION nm_release_folder ##### -->
+<para>
+
+</para>
+
+ at folder: 
+
+
+<!-- ##### FUNCTION nm_folder_get_subfolder_count ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_folder_get_subfolder ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at index: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_folder_get_contact_count ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_folder_get_contact ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at index: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_folder_get_name ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_folder_set_name ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at name: 
+
+
+<!-- ##### FUNCTION nm_folder_get_id ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_folder_add_contacts_and_folders ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at root: 
+ at fields: 
+
+
+<!-- ##### FUNCTION nm_folder_add_contact_to_list ##### -->
+<para>
+
+</para>
+
+ at root_folder: 
+ at contact: 
+
+
+<!-- ##### FUNCTION nm_folder_update_list_properties ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at fields: 
+
+
+<!-- ##### FUNCTION nm_folder_add_folder_to_list ##### -->
+<para>
+
+</para>
+
+ at root_folder: 
+ at folder: 
+
+
+<!-- ##### FUNCTION nm_folder_find_item_by_object_id ##### -->
+<para>
+
+</para>
+
+ at root_folder: 
+ at object_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_folder_remove_contact ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at contact: 
+
+
+<!-- ##### FUNCTION nm_folder_find_contact ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at dn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_folder_find_contact_by_userid ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at userid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_folder_find_contact_by_display_id ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at display_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_folder_to_fields ##### -->
+<para>
+
+</para>
+
+ at folder: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nmevent.sgml	76d7f682196d04c0c6e60528226462898bcc86c2
@@ -0,0 +1,280 @@
+<!-- ##### SECTION Title ##### -->
+nmevent
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT NMEvent ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO NMEVT_INVALID_RECIPIENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_UNDELIVERABLE_STATUS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_STATUS_CHANGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_CONTACT_ADD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_CONFERENCE_CLOSED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_CONFERENCE_JOINED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_CONFERENCE_LEFT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_RECEIVE_MESSAGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_RECEIVE_FILE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_USER_TYPING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_USER_NOT_TYPING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_USER_DISCONNECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_SERVER_DISCONNECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_CONFERENCE_RENAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_CONFERENCE_INVITE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_CONFERENCE_INVITE_NOTIFY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_CONFERENCE_REJECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_RECEIVE_AUTOREPLY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_START ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMEVT_STOP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION nm_process_event ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_create_event ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at source: 
+ at gmt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_release_event ##### -->
+<para>
+
+</para>
+
+ at event: 
+
+
+<!-- ##### FUNCTION nm_event_set_conference ##### -->
+<para>
+
+</para>
+
+ at event: 
+ at conference: 
+
+
+<!-- ##### FUNCTION nm_event_get_conference ##### -->
+<para>
+
+</para>
+
+ at event: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_event_set_user_record ##### -->
+<para>
+
+</para>
+
+ at event: 
+ at user_record: 
+
+
+<!-- ##### FUNCTION nm_event_get_user_record ##### -->
+<para>
+
+</para>
+
+ at event: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_event_set_text ##### -->
+<para>
+
+</para>
+
+ at event: 
+ at text: 
+
+
+<!-- ##### FUNCTION nm_event_get_text ##### -->
+<para>
+
+</para>
+
+ at event: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_event_get_source ##### -->
+<para>
+
+</para>
+
+ at event: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_event_get_type ##### -->
+<para>
+
+</para>
+
+ at event: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_event_get_gmt ##### -->
+<para>
+
+</para>
+
+ at event: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nmfield.sgml	3d982fa3ca5da3c60250f054aebe75bdf7e31f7b
@@ -0,0 +1,680 @@
+<!-- ##### SECTION Title ##### -->
+nmfield
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO NMFIELD_TYPE_INVALID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_NUMBER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_BINARY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_BYTE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_UBYTE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_WORD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_UWORD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_DWORD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_UDWORD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_ARRAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_UTF8 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_BOOL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_MV ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_TYPE_DN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_VALID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_IGNORE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_DELETE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_DELETE_ALL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_EQUAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_ADD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_UPDATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_GTE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_LTE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_NE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_EXIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_NOTEXIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_SEARCH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_MATCHBEGIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_MATCHEND ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_NOT_ARRAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_OR_ARRAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_METHOD_AND_ARRAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_IP_ADDRESS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_FA_FOLDER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_FA_CONTACT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_FA_CONVERSATION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_FA_MESSAGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_FA_CONTACT_LIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_FA_RESULTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_FA_INFO_DISPLAY_ARRAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_FA_USER_DETAILS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_OBJECT_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_PARENT_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_SEQUENCE_NUMBER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_STATUS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_STATUS_TEXT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_DN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_DISPLAY_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_USERID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_CREDENTIALS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_MESSAGE_BODY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_MESSAGE_TEXT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_UD_MESSAGE_TYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_FA_PARTICIPANTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_FA_INVITES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_FA_EVENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_UD_COUNT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_UD_DATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_UD_EVENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_B_NO_CONTACTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_B_NO_CUSTOMS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_B_NO_PRIVACY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_UW_STATUS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_UD_OBJECT_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_TRANSACTION_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_RESULT_CODE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_UD_BUILD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_AUTH_ATTRIBUTE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_UD_KEEPALIVE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_USER_AGENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_BLOCKING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_BLOCKING_DENY_LIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_BLOCKING_ALLOW_LIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_BLOCKING_ALLOW_ITEM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_SZ_BLOCKING_DENY_ITEM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_A_LOCKED_ATTR_LIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_PROTOCOL_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_FIELD_TRUE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_FIELD_FALSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMFIELD_MAX_STR_LENGTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION nm_count_fields ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_field_add_pointer ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at tag: 
+ at size: 
+ at method: 
+ at flags: 
+ at value: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_field_add_number ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at tag: 
+ at size: 
+ at method: 
+ at flags: 
+ at value: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_free_fields ##### -->
+<para>
+
+</para>
+
+ at fields: 
+
+
+<!-- ##### FUNCTION nm_locate_field ##### -->
+<para>
+
+</para>
+
+ at tag: 
+ at fields: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_copy_field_array ##### -->
+<para>
+
+</para>
+
+ at src: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_remove_field ##### -->
+<para>
+
+</para>
+
+ at field: 
+
+
+<!-- ##### FUNCTION nm_print_fields ##### -->
+<para>
+
+</para>
+
+ at fields: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nmmessage.sgml	a3e3d24ece31cc6d70078a64139c5917fea387e4
@@ -0,0 +1,82 @@
+<!-- ##### SECTION Title ##### -->
+nmmessage
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT NMMessage ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION nm_create_message ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_message_add_ref ##### -->
+<para>
+
+</para>
+
+ at msg: 
+
+
+<!-- ##### FUNCTION nm_release_message ##### -->
+<para>
+
+</para>
+
+ at msg: 
+
+
+<!-- ##### FUNCTION nm_message_get_text ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_message_set_conference ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at conf: 
+
+
+<!-- ##### FUNCTION nm_message_get_conference ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nmrequest.sgml	d1d1bccb11bc45eb392610507cb05a9393bd2042
@@ -0,0 +1,150 @@
+<!-- ##### SECTION Title ##### -->
+nmrequest
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT NMRequest ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION nm_create_request ##### -->
+<para>
+
+</para>
+
+ at cmd: 
+ at trans_id: 
+ at gmt: 
+ at cb: 
+ at resp_data: 
+ at user_define: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_release_request ##### -->
+<para>
+
+</para>
+
+ at req: 
+
+
+<!-- ##### FUNCTION nm_request_add_ref ##### -->
+<para>
+
+</para>
+
+ at req: 
+
+
+<!-- ##### FUNCTION nm_request_set_callback ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at callback: 
+
+
+<!-- ##### FUNCTION nm_request_set_data ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at data: 
+
+
+<!-- ##### FUNCTION nm_request_set_user_define ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at user_define: 
+
+
+<!-- ##### FUNCTION nm_request_set_ret_code ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at rc: 
+
+
+<!-- ##### FUNCTION nm_request_get_trans_id ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_request_get_cmd ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_request_get_data ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_request_get_user_define ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_request_get_callback ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_request_get_ret_code ##### -->
+<para>
+
+</para>
+
+ at req: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nmrtf.sgml	a883c56119f1396e51dab8a4648f1f39f34a0326
@@ -0,0 +1,57 @@
+<!-- ##### SECTION Title ##### -->
+nmrtf
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT NMRtfContext ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION nm_rtf_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_rtf_strip_formatting ##### -->
+<para>
+
+</para>
+
+ at ctx: 
+ at input: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_rtf_deinit ##### -->
+<para>
+
+</para>
+
+ at ctx: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nmuser.sgml	0c050f3eb78600b4422e79358514976912b80ba8
@@ -0,0 +1,949 @@
+<!-- ##### SECTION Title ##### -->
+nmuser
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### TYPEDEF NMERR_T ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF NMSTATUS_T ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT NMUser ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at status: 
+ at fields: 
+ at user_record: 
+ at conn: 
+ at address: 
+ at root_folder: 
+ at contacts: 
+ at user_records: 
+ at display_id_to_dn: 
+ at conferences: 
+ at conference_count: 
+ at evt_callback: 
+ at privacy_locked: 
+ at default_deny: 
+ at allow_list: 
+ at deny_list: 
+ at pending_requests: 
+ at pending_events: 
+ at client_data: 
+ at privacy_synched: 
+ at clist_synched: 
+
+<!-- ##### ENUM NMRequestType ##### -->
+<para>
+
+</para>
+
+ at NMREQUEST_TYPE_LOGIN: 
+ at NMREQUEST_TYPE_LOGOUT: 
+ at NMREQUEST_TYPE_SETSTATUS: 
+ at NMREQUEST_TYPE_GETDETAILS: 
+ at NMREQUEST_TYPE_CREATECONF: 
+ at NMREQUEST_TYPE_SENDMESSAGE: 
+ at NMREQUEST_TYPE_JOINCONF: 
+ at NMREQUEST_TYPE_LEAVECONF: 
+ at NMREQUEST_TYPE_REJECTCONF: 
+ at NMREQUEST_TYPE_SENDTYPING: 
+ at NMREQUEST_TYPE_CREATECONTACT: 
+ at NMREQUEST_TYPE_DELETECONTACT: 
+
+<!-- ##### USER_FUNCTION nm_response_cb ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at ret_code: 
+ at resp_data: 
+ at user_data: 
+
+
+<!-- ##### USER_FUNCTION nm_event_cb ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at event: 
+
+
+<!-- ##### MACRO NM_STATUS_UNKNOWN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_STATUS_OFFLINE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_STATUS_AVAILABLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_STATUS_BUSY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_STATUS_AWAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_STATUS_AWAY_IDLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_STATUS_INVALID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_BASE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NM_OK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_BAD_PARM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_TCP_WRITE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_TCP_READ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_PROTOCOL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_SERVER_REDIRECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_CONFERENCE_NOT_FOUND ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_CONFERENCE_NOT_INSTANTIATED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_FOLDER_EXISTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_SERVER_BASE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_ACCESS_DENIED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_NOT_SUPPORTED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_PASSWORD_EXPIRED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_PASSWORD_INVALID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_USER_NOT_FOUND ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_USER_DISABLED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_DIRECTORY_FAILURE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_HOST_NOT_FOUND ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_ADMIN_LOCKED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_DUPLICATE_PARTICIPANT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_SERVER_BUSY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_OBJECT_NOT_FOUND ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_DIRECTORY_UPDATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_DUPLICATE_FOLDER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_DUPLICATE_CONTACT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_USER_NOT_ALLOWED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_TOO_MANY_CONTACTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_CONFERENCE_NOT_FOUND_2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_TOO_MANY_FOLDERS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_SERVER_PROTOCOL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_CONVERSATION_INVITE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_USER_BLOCKED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_MASTER_ARCHIVE_MISSING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_PASSWORD_EXPIRED_2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_CREDENTIALS_MISSING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_AUTHENTICATION_FAILED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NMERR_EVAL_CONNECTION_LIMIT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION nm_initialize_user ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at server: 
+ at port: 
+ at data: 
+ at event_callback: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_deinitialize_user ##### -->
+<para>
+
+</para>
+
+ at user: 
+
+
+<!-- ##### FUNCTION nm_send_login ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at pwd: 
+ at my_addr: 
+ at user_agent: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_set_status ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at status: 
+ at text: 
+ at auto_resp: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_create_conference ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at conference: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_leave_conference ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at conference: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_join_conference ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at conference: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_reject_conference ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at conference: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_conference_invite ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at conference: 
+ at user_record: 
+ at message: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_multiple_get_details ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at names: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_get_details ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at name: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_message ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at message: 
+ at callback: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_typing ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at conf: 
+ at typing: 
+ at callback: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_create_contact ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at folder: 
+ at contact: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_remove_contact ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at folder: 
+ at contact: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_create_folder ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at name: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_remove_folder ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at folder: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_rename_contact ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at contact: 
+ at new_name: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_rename_folder ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at folder: 
+ at new_name: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_move_contact ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at contact: 
+ at folder: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_get_status ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at user_record: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_create_privacy_item ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at who: 
+ at is_allowed: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_remove_privacy_item ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at dn: 
+ at allow_list: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_set_privacy_default ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at default_deny: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_send_keepalive ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_process_new_data ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_get_root_folder ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_create_contact_list ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_destroy_contact_list ##### -->
+<para>
+
+</para>
+
+ at user: 
+
+
+<!-- ##### FUNCTION nm_user_add_contact ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at contact: 
+
+
+<!-- ##### FUNCTION nm_user_add_user_record ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at user_record: 
+
+
+<!-- ##### FUNCTION nm_find_contact ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at dn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_find_contacts ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at dn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_find_user_record ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at dn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_find_folder ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_find_folder_by_id ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at object_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_find_conversation ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_conference_list_add ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at conf: 
+
+
+<!-- ##### FUNCTION nm_conference_list_remove ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at conf: 
+
+
+<!-- ##### FUNCTION nm_conference_list_free ##### -->
+<para>
+
+</para>
+
+ at user: 
+
+
+<!-- ##### FUNCTION nm_conference_list_find ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at guid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_lookup_dn ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at display_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_get_event_callback ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_get_conn ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_is_privacy_locked ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_are_guids_equal ##### -->
+<para>
+
+</para>
+
+ at guid1: 
+ at guid2: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_utf8_str_equal ##### -->
+<para>
+
+</para>
+
+ at str1: 
+ at str2: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_typed_to_dotted ##### -->
+<para>
+
+</para>
+
+ at typed: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_error_to_string ##### -->
+<para>
+
+</para>
+
+ at err: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/nmuserrecord.sgml	38ec84bf18c2a74ec1e8b090384083c1942637d5
@@ -0,0 +1,260 @@
+<!-- ##### SECTION Title ##### -->
+nmuserrecord
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT NMUserRecord ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT NMProperty ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION nm_create_user_record ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_create_user_record_from_fields ##### -->
+<para>
+
+</para>
+
+ at details: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_add_ref ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+
+
+<!-- ##### FUNCTION nm_release_user_record ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+
+
+<!-- ##### FUNCTION nm_user_record_set_status ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at status: 
+ at text: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_status ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_status_text ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_set_dn ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at dn: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_dn ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_set_userid ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at userid: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_userid ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_set_display_id ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at display_id: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_display_id ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_auth_attr ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_full_name ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_first_name ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_last_name ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_set_data ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at data: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_data ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_property_count ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_get_property ##### -->
+<para>
+
+</para>
+
+ at user_record: 
+ at index: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_release_property ##### -->
+<para>
+
+</para>
+
+ at property: 
+
+
+<!-- ##### FUNCTION nm_property_get_tag ##### -->
+<para>
+
+</para>
+
+ at property: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_property_get_value ##### -->
+<para>
+
+</para>
+
+ at property: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION nm_user_record_copy ##### -->
+<para>
+
+</para>
+
+ at dest: 
+ at src: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/notification.sgml	b0af9cbea8a746feaa8c88d30ef95193065377e3
@@ -0,0 +1,266 @@
+<!-- ##### SECTION Title ##### -->
+notification
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnNotification ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at cmdproc: 
+ at servconn: 
+ at in_use: 
+
+<!-- ##### MACRO MSNP18_WLM_PRODUCT_KEY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSNP18_WLM_PRODUCT_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSNP15_WLM_PRODUCT_KEY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSNP15_WLM_PRODUCT_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSNP13_WLM_PRODUCT_KEY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSNP13_WLM_PRODUCT_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSNP10_PRODUCT_KEY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSNP10_PRODUCT_ID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### USER_FUNCTION MsnFqyCb ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at passport: 
+ at network: 
+ at data: 
+
+
+<!-- ##### ENUM MsnUnifiedNotificationType ##### -->
+<para>
+
+</para>
+
+ at MSN_UNIFIED_NOTIFICATION_SHARED_FOLDERS: 
+ at MSN_UNIFIED_NOTIFICATION_UNKNOWN1: 
+ at MSN_UNIFIED_NOTIFICATION_P2P: 
+ at MSN_UNIFIED_NOTIFICATION_MPOP: 
+
+<!-- ##### FUNCTION uum_send_msg ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at msg: 
+
+
+<!-- ##### FUNCTION msn_notification_end ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION msn_notification_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION msn_notification_add_buddy_to_list ##### -->
+<para>
+
+</para>
+
+ at notification: 
+ at list_id: 
+ at user: 
+
+
+<!-- ##### FUNCTION msn_notification_rem_buddy_from_list ##### -->
+<para>
+
+</para>
+
+ at notification: 
+ at list_id: 
+ at user: 
+
+
+<!-- ##### FUNCTION msn_notification_send_fqy ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at payload: 
+ at payload_len: 
+ at cb: 
+ at cb_data: 
+
+
+<!-- ##### FUNCTION msn_notification_new ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_notification_destroy ##### -->
+<para>
+
+</para>
+
+ at notification: 
+
+
+<!-- ##### FUNCTION msn_notification_connect ##### -->
+<para>
+
+</para>
+
+ at notification: 
+ at host: 
+ at port: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_notification_disconnect ##### -->
+<para>
+
+</para>
+
+ at notification: 
+
+
+<!-- ##### FUNCTION msn_notification_dump_contact ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
+<!-- ##### FUNCTION msn_notification_send_uux ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at payload: 
+
+
+<!-- ##### FUNCTION msn_notification_send_uux_endpointdata ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
+<!-- ##### FUNCTION msn_notification_send_uux_private_endpointdata ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
+<!-- ##### FUNCTION msn_notification_send_uun ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at user: 
+ at type: 
+ at payload: 
+
+
+<!-- ##### FUNCTION msn_notification_close ##### -->
+<para>
+
+</para>
+
+ at notification: 
+
+
+<!-- ##### FUNCTION msn_got_login_params ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at ticket: 
+ at response: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/notify.sgml	b18c3db7f96c401cea6228a51b5845e8c7aabd13
@@ -0,0 +1,720 @@
+<!-- ##### SECTION Title ##### -->
+notify
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleNotifyUserInfoEntry ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleNotifyUserInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION PurpleNotifyCloseCallback ##### -->
+<para>
+
+</para>
+
+ at user_data: 
+
+
+<!-- ##### ENUM PurpleNotifyType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_NOTIFY_MESSAGE: 
+ at PURPLE_NOTIFY_EMAIL: 
+ at PURPLE_NOTIFY_EMAILS: 
+ at PURPLE_NOTIFY_FORMATTED: 
+ at PURPLE_NOTIFY_SEARCHRESULTS: 
+ at PURPLE_NOTIFY_USERINFO: 
+ at PURPLE_NOTIFY_URI: 
+
+<!-- ##### ENUM PurpleNotifyMsgType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_NOTIFY_MSG_ERROR: 
+ at PURPLE_NOTIFY_MSG_WARNING: 
+ at PURPLE_NOTIFY_MSG_INFO: 
+
+<!-- ##### ENUM PurpleNotifySearchButtonType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_NOTIFY_BUTTON_LABELED: 
+ at PURPLE_NOTIFY_BUTTON_CONTINUE: 
+ at PURPLE_NOTIFY_BUTTON_ADD: 
+ at PURPLE_NOTIFY_BUTTON_INFO: 
+ at PURPLE_NOTIFY_BUTTON_IM: 
+ at PURPLE_NOTIFY_BUTTON_JOIN: 
+ at PURPLE_NOTIFY_BUTTON_INVITE: 
+
+<!-- ##### ENUM PurpleNotifyUserInfoEntryType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_NOTIFY_USER_INFO_ENTRY_PAIR: 
+ at PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK: 
+ at PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER: 
+
+<!-- ##### USER_FUNCTION PurpleNotifySearchResultsCallback ##### -->
+<para>
+
+</para>
+
+ at c: 
+ at row: 
+ at user_data: 
+
+
+<!-- ##### USER_FUNCTION notify_message ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION notify_email ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at subject: 
+ at from: 
+ at to: 
+ at url: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION notify_emails ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at count: 
+ at detailed: 
+ at subjects: 
+ at froms: 
+ at tos: 
+ at urls: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION notify_formatted ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at primary: 
+ at secondary: 
+ at text: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION notify_searchresults ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at results: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION notify_searchresults_new_rows ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at results: 
+ at data: 
+
+
+<!-- ##### USER_FUNCTION notify_userinfo ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at user_info: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION notify_uri ##### -->
+<para>
+
+</para>
+
+ at uri: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION close_notify ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at ui_handle: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved1 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved2 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved3 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved4 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at results: 
+ at cb: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_free ##### -->
+<para>
+
+</para>
+
+ at results: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_new_rows ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at results: 
+ at data_NULL: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_button_add ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at type: 
+ at cb: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_button_add_labeled ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at label: 
+ at cb: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_column_new ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_column_add ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at column: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_row_add ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at row_NULL: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_get_rows_count ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_get_columns_count ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_row_get ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at row_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_column_get_title ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at column_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_message ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at type: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at cb: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_email ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at subject: 
+ at from: 
+ at to: 
+ at url: 
+ at cb: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_emails ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at count: 
+ at detailed: 
+ at subjects: 
+ at froms: 
+ at tos: 
+ at urls: 
+ at cb: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_formatted ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at text: 
+ at cb: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_userinfo ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at user_info: 
+ at cb: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_destroy ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_get_entries ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_get_text_with_newline ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at newline: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_add_pair ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at label: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_add_pair_plaintext ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at label: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_prepend_pair ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at label: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_remove_entry ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at user_info_entry: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_new ##### -->
+<para>
+
+</para>
+
+ at label: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_add_section_break ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_prepend_section_break ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_add_section_header ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at label: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_prepend_section_header ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at label: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_remove_last_item ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_get_label ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_set_label ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at label: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_get_value ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_set_value ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_get_type ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_set_type ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at type: 
+
+
+<!-- ##### FUNCTION purple_notify_uri ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at uri: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_close ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at ui_handle_NULL: 
+
+
+<!-- ##### FUNCTION purple_notify_close_with_handle ##### -->
+<para>
+
+</para>
+
+ at handle_NULL: 
+
+
+<!-- ##### MACRO purple_notify_info ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+
+
+<!-- ##### MACRO purple_notify_warning ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+
+
+<!-- ##### MACRO purple_notify_error ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+
+
+<!-- ##### FUNCTION purple_notify_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_notify_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_notify_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/ntlm.sgml	a15f38adb45df8c0b0935b20c1293d21093fffe4
@@ -0,0 +1,58 @@
+<!-- ##### SECTION Title ##### -->
+ntlm
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION purple_ntlm_gen_type1 ##### -->
+<para>
+
+</para>
+
+ at hostname: 
+ at domain: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ntlm_parse_type2 ##### -->
+<para>
+
+</para>
+
+ at type2: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ntlm_gen_type3 ##### -->
+<para>
+
+</para>
+
+ at username: 
+ at passw: 
+ at hostname: 
+ at domain: 
+ at nonce: 
+ at flags: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/object.sgml	d6212ec99d1f1780dc7c8acfea2395d6e7d28cce
@@ -0,0 +1,289 @@
+<!-- ##### SECTION Title ##### -->
+object
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM MsnObjectType ##### -->
+<para>
+
+</para>
+
+ at MSN_OBJECT_UNKNOWN: 
+ at MSN_OBJECT_RESERVED1: 
+ at MSN_OBJECT_EMOTICON: 
+ at MSN_OBJECT_USERTILE: 
+ at MSN_OBJECT_RESERVED2: 
+ at MSN_OBJECT_BACKGROUND: 
+
+<!-- ##### FUNCTION msn_object_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_new_from_string ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_new_from_image ##### -->
+<para>
+
+</para>
+
+ at img: 
+ at location: 
+ at creator: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_destroy ##### -->
+<para>
+
+</para>
+
+ at obj: 
+
+
+<!-- ##### FUNCTION msn_object_to_string ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_set_creator ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at creator: 
+
+
+<!-- ##### FUNCTION msn_object_set_size ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at size: 
+
+
+<!-- ##### FUNCTION msn_object_set_type ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at type: 
+
+
+<!-- ##### FUNCTION msn_object_set_location ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at location: 
+
+
+<!-- ##### FUNCTION msn_object_set_friendly ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at friendly: 
+
+
+<!-- ##### FUNCTION msn_object_set_sha1d ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at sha1d: 
+
+
+<!-- ##### FUNCTION msn_object_set_sha1c ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at sha1c: 
+
+
+<!-- ##### FUNCTION msn_object_set_image ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at img: 
+
+
+<!-- ##### FUNCTION msn_object_set_url ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at url: 
+
+
+<!-- ##### FUNCTION msn_object_set_url1 ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at url: 
+
+
+<!-- ##### FUNCTION msn_object_get_creator ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_get_size ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_get_type ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_get_location ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_get_friendly ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_get_sha1d ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_get_sha1c ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_get_sha1 ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_get_image ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_get_url ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_get_url1 ##### -->
+<para>
+
+</para>
+
+ at obj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_find_local ##### -->
+<para>
+
+</para>
+
+ at sha1: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_object_set_local ##### -->
+<para>
+
+</para>
+
+ at obj: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/oim.sgml	d65ffc818607fcc8e8fb6e33c2005ef3926500da
@@ -0,0 +1,173 @@
+<!-- ##### SECTION Title ##### -->
+oim
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnOim ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at oim_list: 
+ at challenge: 
+ at run_id: 
+ at send_seq: 
+ at send_queue: 
+
+<!-- ##### MACRO MSN_OIM_RETRIEVE_HOST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_RETRIEVE_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_GET_METADATA_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_GET_METADATA_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_GET_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_GET_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_DEL_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_DEL_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_MSG_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_SEND_HOST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_SEND_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_SEND_SOAP_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_OIM_SEND_TEMPLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msn_oim_new ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_oim_destroy ##### -->
+<para>
+
+</para>
+
+ at oim: 
+
+
+<!-- ##### FUNCTION msn_parse_oim_msg ##### -->
+<para>
+
+</para>
+
+ at oim: 
+ at xmlmsg: 
+
+
+<!-- ##### FUNCTION msn_oim_prep_send_msg_info ##### -->
+<para>
+
+</para>
+
+ at oim: 
+ at membername: 
+ at friendname: 
+ at tomember: 
+ at msg: 
+
+
+<!-- ##### FUNCTION msn_oim_send_msg ##### -->
+<para>
+
+</para>
+
+ at oim: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/oob.sgml	9c78693dabb7cd231a3cc7dfe838266db1b7acc4
@@ -0,0 +1,36 @@
+<!-- ##### SECTION Title ##### -->
+oob
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_oob_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at querynode: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/oscar.sgml	f369125135f3f2fb709d60d22eed631267ed7144
@@ -0,0 +1,3422 @@
+<!-- ##### SECTION Title ##### -->
+oscar
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT ByteStream ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at offset: 
+
+<!-- ##### STRUCT ClientInfo ##### -->
+<para>
+
+</para>
+
+ at clientstring: 
+ at clientid: 
+ at major: 
+ at minor: 
+ at point: 
+ at build: 
+ at distrib: 
+ at country: 
+ at lang: 
+
+<!-- ##### STRUCT FlapConnection ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at connected: 
+ at lastactivity: 
+ at destroy_timeout: 
+ at disconnect_reason: 
+ at error_message: 
+ at disconnect_code: 
+ at connect_data: 
+ at cookielen: 
+ at cookie: 
+ at new_conn_data: 
+ at fd: 
+ at gsc: 
+ at header: 
+ at header_received: 
+ at buffer_incoming: 
+ at buffer_outgoing: 
+ at watcher_incoming: 
+ at watcher_outgoing: 
+ at type: 
+ at subtype: 
+ at seqnum_out: 
+ at seqnum_in: 
+ at groups: 
+ at rateclasses: 
+ at default_rateclass: 
+ at rateclass_members: 
+ at queued_snacs: 
+ at queued_lowpriority_snacs: 
+ at queued_timeout: 
+ at internal: 
+
+<!-- ##### STRUCT FlapFrame ##### -->
+<para>
+
+</para>
+
+ at channel: 
+ at seqnum: 
+ at data: 
+
+<!-- ##### STRUCT IcbmArgsCh2 ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at cookie: 
+ at type: 
+ at proxyip: 
+ at clientip: 
+ at verifiedip: 
+ at port: 
+ at use_proxy: 
+ at errorcode: 
+ at msg: 
+ at msglen: 
+ at encoding: 
+ at language: 
+ at requestnumber: 
+
+<!-- ##### STRUCT IcbmCookie ##### -->
+<para>
+
+</para>
+
+ at cookie: 
+ at type: 
+ at data: 
+ at addtime: 
+ at next: 
+
+<!-- ##### STRUCT OscarData ##### -->
+<para>
+
+</para>
+
+ at url_data: 
+ at iconconnecting: 
+ at set_icon: 
+ at create_rooms: 
+ at conf: 
+ at reqemail: 
+ at setemail: 
+ at email: 
+ at setnick: 
+ at newformatting: 
+ at chpass: 
+ at oldp: 
+ at newp: 
+ at oscar_chats: 
+ at buddyinfo: 
+ at requesticon: 
+ at use_ssl: 
+ at icq: 
+ at getblisttimer: 
+
+<!-- ##### STRUCT QueuedSnac ##### -->
+<para>
+
+</para>
+
+ at family: 
+ at subtype: 
+ at frame: 
+
+<!-- ##### TYPEDEF aim_snacid_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO FAIM_SNAC_HASH_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MAXSNLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MAXMSGLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MAXICONLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICONIDENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MAXAVAILMSGLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MAXICQPASSLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_MD5_STRING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CLIENTINFO_PURPLE_AIM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CLIENTINFO_PURPLE_ICQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM OscarDisconnectReason ##### -->
+<para>
+
+</para>
+
+ at OSCAR_DISCONNECT_DONE: 
+ at OSCAR_DISCONNECT_LOCAL_CLOSED: 
+ at OSCAR_DISCONNECT_REMOTE_CLOSED: 
+ at OSCAR_DISCONNECT_REMOTE_REFUSED: 
+ at OSCAR_DISCONNECT_LOST_CONNECTION: 
+ at OSCAR_DISCONNECT_INVALID_DATA: 
+ at OSCAR_DISCONNECT_COULD_NOT_CONNECT: 
+ at OSCAR_DISCONNECT_RETRYING: 
+
+<!-- ##### MACRO OSCAR_CAPABILITY_BUDDYICON ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_TALK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_DIRECTIM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_CHAT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_GETFILE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_SENDFILE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_GAMES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_ADDINS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_SENDBUDDYLIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_GAMES2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_ICQ_DIRECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_APINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_ICQRTF ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_EMPTY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_ICQSERVERRELAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_UNICODEOLD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_TRILLIANCRYPT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_UNICODE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_INTEROPERATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_SHORTCAPS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_HIPTOP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_SECUREIM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_SMS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_VIDEO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_ICHATAV ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_LIVEVIDEO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_CAMERA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_ICHAT_SCREENSHARE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_TYPING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_NEWCAPS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_XTRAZ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_GENERICUNKNOWN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_HTML_MSGS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_CAPABILITY_LAST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_INVISIBLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_OFFLINE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_AVAILABLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_AWAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_DND ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_NA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_OCCUPIED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_FREE4CHAT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_CUSTOM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_MOBILE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_EVIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_DEPRESSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_ATHOME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_ATWORK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_STATUS_ID_LUNCH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_NORMAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_AWAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_DND ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_OUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_BUSY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_CHAT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_INVISIBLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_EVIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_DEPRESSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_ATHOME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_ATWORK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_LUNCH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_WEBAWARE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_HIDEIP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_BIRTHDAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_ICQHOMEPAGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ICQ_STATE_DIRECTREQUIREAUTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION oscar_connect_to_bos ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at od: 
+ at host: 
+ at port: 
+ at cookie: 
+ at cookielen: 
+ at tls_certname: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_request_login ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_send_login ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at bn: 
+ at password: 
+ at truncate_pass: 
+ at ci: 
+ at key: 
+ at allow_multiple_logins: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION send_client_login ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at username: 
+
+
+<!-- ##### FUNCTION flap_connection_new ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION flap_connection_close ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+
+
+<!-- ##### FUNCTION flap_connection_destroy ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at reason: 
+ at error_message: 
+
+
+<!-- ##### FUNCTION flap_connection_schedule_destroy ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at reason: 
+ at error_message: 
+
+
+<!-- ##### FUNCTION flap_connection_findbygroup ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at group: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION flap_connection_getbytype ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION flap_connection_getbytype_all ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION flap_connection_recv_cb ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at source: 
+ at cond: 
+
+
+<!-- ##### FUNCTION flap_connection_recv_cb_ssl ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at gsc: 
+ at cond: 
+
+
+<!-- ##### FUNCTION flap_connection_send ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at frame: 
+
+
+<!-- ##### FUNCTION flap_connection_send_version ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+
+
+<!-- ##### FUNCTION flap_connection_send_version_with_cookie ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at length: 
+ at chipsahoy: 
+
+
+<!-- ##### FUNCTION flap_connection_send_version_with_cookie_and_clientinfo ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at length: 
+ at chipsahoy: 
+ at ci: 
+ at allow_multiple_login: 
+
+
+<!-- ##### FUNCTION flap_connection_send_snac ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at family: 
+ at subtype: 
+ at snacid: 
+ at data: 
+
+
+<!-- ##### FUNCTION flap_connection_send_snac_with_priority ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at family: 
+ at subtype: 
+ at snacid: 
+ at data: 
+ at high_priority: 
+
+
+<!-- ##### FUNCTION flap_connection_send_keepalive ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+
+
+<!-- ##### FUNCTION flap_frame_new ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at channel: 
+ at datalen: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION aim_rxcallback_t ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at frame: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_data_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_data_destroy ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### FUNCTION oscar_data_addhandler ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at family: 
+ at subtype: 
+ at newhandler: 
+ at flags: 
+
+
+<!-- ##### FUNCTION aim_callhandler ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at family: 
+ at subtype: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_srv_set_dc_info ##### -->
+<para>
+
+</para>
+
+ at od: 
+
+
+<!-- ##### FUNCTION aim_bos_reqrights ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+
+
+<!-- ##### MACRO AIM_RATE_CODE_LIMIT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_OFT_SUBTYPE_SEND_DIR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_TRANSFER_DENY_DECLINE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMPARAM_FLAG_CHANNEL_MSGS_ALLOWED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMPARAM_FLAG_MISSED_CALLS_ENABLED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMPARAM_FLAG_EVENTS_ALLOWED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMPARAM_FLAG_SMS_SUPPORTED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMPARAM_FLAG_OFFLINE_MSGS_ALLOWED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMPARAM_FLAG_USE_HTML_FOR_ICQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION oscar_chat_destroy ##### -->
+<para>
+
+</para>
+
+ at cc: 
+
+
+<!-- ##### MACRO AIM_IMFLAGS_AWAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMFLAGS_ACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMFLAGS_BUDDYREQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMFLAGS_HASICON ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMFLAGS_SUBENC_MACINTOSH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMFLAGS_CUSTOMFEATURES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMFLAGS_OFFLINE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_IMFLAGS_TYPINGNOT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_CHARSET_ASCII ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_CHARSET_UNICODE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_CHARSET_LATIN_1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_RENDEZVOUS_PROPOSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_RENDEZVOUS_CANCEL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_RENDEZVOUS_CONNECTED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION aim_icbm_makecookie ##### -->
+<para>
+
+</para>
+
+ at cookie: 
+
+
+<!-- ##### FUNCTION aim_im_send_icq_confirmation ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at bn: 
+ at cookie: 
+
+
+<!-- ##### MACRO AIM_FLAG_ADMINISTRATOR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_FLAG_AOL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_FLAG_AWAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_FLAG_WIRELESS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_FLAG_ICQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_FLAG_ACTIVEBUDDY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_USERINFO_PRESENT_FLAGS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_USERINFO_PRESENT_MEMBERSINCE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_USERINFO_PRESENT_ONLINESINCE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_USERINFO_PRESENT_IDLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_USERINFO_PRESENT_ICQEXTSTATUS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_USERINFO_PRESENT_ICQIPADDR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_USERINFO_PRESENT_ICQDATA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_USERINFO_PRESENT_CAPABILITIES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_USERINFO_PRESENT_SESSIONLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_USERINFO_PRESENT_CREATETIME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SENDMEMBLOCK_FLAG_ISREQUEST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SENDMEMBLOCK_FLAG_ISHASH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION aim_sendmemblock ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at offset: 
+ at len: 
+ at buf: 
+ at flag: 
+ at Returns: 
+
+
+<!-- ##### MACRO AIM_COOKIETYPE_CHAT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_COOKIETYPE_INVITE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION aim_locate_finduserinfo ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_locate_dorequest ##### -->
+<para>
+
+</para>
+
+ at od: 
+
+
+<!-- ##### FUNCTION aim_locate_getcaps ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at bs: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_locate_getcaps_short ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at bs: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_info_free ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### FUNCTION aim_info_extract ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at bs: 
+ at Param3: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_putuserinfo ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION icq_get_purple_moods ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION icq_get_custom_icon_description ##### -->
+<para>
+
+</para>
+
+ at mood: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION icq_get_custom_icon_data ##### -->
+<para>
+
+</para>
+
+ at mood: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION icq_im_xstatus_request ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at sn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_search_address ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at Returns: 
+
+
+<!-- ##### MACRO AIM_CHATFLAGS_NOREFLECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_CHATFLAGS_AWAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION aim_chat_send_im ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at flags: 
+ at msg: 
+ at msglen: 
+ at encoding: 
+ at language: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_chat_join ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at exchange: 
+ at roomname: 
+ at instance: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_chatnav_reqrights ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+
+
+<!-- ##### FUNCTION aim_chatnav_createroom ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at name: 
+ at exchange: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_bart_upload ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at icon: 
+ at iconlen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_bart_request ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at bn: 
+ at iconcsumtype: 
+ at iconstr: 
+ at iconstrlen: 
+ at Returns: 
+
+
+<!-- ##### MACRO AIM_SSI_TYPE_BUDDY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SSI_TYPE_GROUP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SSI_TYPE_PERMIT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SSI_TYPE_DENY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SSI_TYPE_PDINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SSI_TYPE_PRESENCEPREFS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SSI_TYPE_ICQDENY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SSI_TYPE_ICONINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SSI_PRESENCE_FLAG_SHOWIDLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SSI_PRESENCE_FLAG_NORECENTBUDDIES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION aim_ssi_itemlist_find ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at gid: 
+ at bid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_itemlist_finditem ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at gn: 
+ at bn: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_itemlist_exists ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_itemlist_findparentname ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_getpermdeny ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_getpresence ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_getalias ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at gn: 
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_getalias_from_item ##### -->
+<para>
+
+</para>
+
+ at item: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_getcomment ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at gn: 
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_waitingforauth ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at gn: 
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_addbuddy ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at name: 
+ at group: 
+ at tlvlist: 
+ at alias: 
+ at comment: 
+ at smsnum: 
+ at needauth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_delbuddy ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at name: 
+ at group: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_delgroup ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at group: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_movebuddy ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at oldgn: 
+ at newgn: 
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_aliasbuddy ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at gn: 
+ at bn: 
+ at alias: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_editcomment ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at gn: 
+ at bn: 
+ at alias: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_rename_group ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at oldgn: 
+ at newgn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_cleanlist ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_deletelist ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_setpermdeny ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at permdeny: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_setpresence ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_seticon ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at iconsum: 
+ at iconsumlen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_delicon ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_add_to_private_list ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at name: 
+ at list_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_del_from_private_list ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at name: 
+ at list_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_ssi_getdenyentrytype ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_icq_setsecurity ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at auth_required: 
+ at webaware: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_icq_changepasswd ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at passwd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_icq_getalias ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at uin: 
+ at for_auth_request: 
+ at auth_request_reason: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_icq_getallinfo ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at uin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_icq_sendsms ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at name: 
+ at msg: 
+ at alias: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_sendcookie ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at length: 
+ at Param4: 
+
+
+<!-- ##### FUNCTION aim_admin_changepasswd ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at newpw: 
+ at curpw: 
+
+
+<!-- ##### FUNCTION aim_admin_reqconfirm ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+
+
+<!-- ##### FUNCTION aim_admin_getinfo ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at info: 
+
+
+<!-- ##### FUNCTION aim_admin_setemail ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at newemail: 
+
+
+<!-- ##### FUNCTION aim_admin_setnick ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at newnick: 
+
+
+<!-- ##### FUNCTION aim_email_sendcookies ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_email_activate ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlv_getvalue_as_string ##### -->
+<para>
+
+</para>
+
+ at tlv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlv_gettlv ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlv_getlength ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlv_getstr ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlv_get8 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlv_get16 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlv_get32 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_read ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_readnum ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at num: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_readlen ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_copy ##### -->
+<para>
+
+</para>
+
+ at orig: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_count ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_size ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_cmp ##### -->
+<para>
+
+</para>
+
+ at one: 
+ at two: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_write ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_free ##### -->
+<para>
+
+</para>
+
+ at list: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_add_raw ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at length: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_add_noval ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_add_8 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_add_16 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_add_32 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_add_str ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_add_caps ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at caps: 
+ at mood: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_add_userinfo ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at userinfo: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_add_chatroom ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at exchange: 
+ at roomname: 
+ at instance: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_add_frozentlvlist ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at tl: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_replace_raw ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at lenth: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_replace_str ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_replace_noval ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_replace_8 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_replace_16 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_replace_32 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_tlvlist_remove ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+
+
+<!-- ##### MACRO aimutil_put8 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO aimutil_get8 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO aimutil_put16 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO aimutil_get16 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO aimutil_put32 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO aimutil_get32 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO aimutil_putle8 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO aimutil_getle8 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO aimutil_putle16 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO aimutil_getle16 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### MACRO aimutil_putle32 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+
+
+<!-- ##### MACRO aimutil_getle32 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+
+
+<!-- ##### FUNCTION oscar_get_msgerr_reason ##### -->
+<para>
+
+</para>
+
+ at reason: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_get_ui_info_int ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_get_ui_info_string ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_get_clientstring ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aimutil_iconsum ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at buflen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_util_valid_name ##### -->
+<para>
+
+</para>
+
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_util_valid_name_icq ##### -->
+<para>
+
+</para>
+
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_util_valid_name_sms ##### -->
+<para>
+
+</para>
+
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_util_name_compare ##### -->
+<para>
+
+</para>
+
+ at bn1: 
+ at bn2: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_util_format_string ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_format_buddies ##### -->
+<para>
+
+</para>
+
+ at buddies: 
+ at no_buddies_message: 
+ at Returns: 
+
+
+<!-- ##### STRUCT aim_modsnac_t ##### -->
+<para>
+
+</para>
+
+ at family: 
+ at subtype: 
+ at flags: 
+ at id: 
+
+<!-- ##### MACRO AIM_MODULENAME_MAXLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_MODFLAG_MULTIFAMILY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### USER_FUNCTION snachandler ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at mod: 
+ at rx: 
+ at snac: 
+ at bs: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION shutdown ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+
+
+<!-- ##### FUNCTION aim__registermodule ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at OscarData *, aim_module_t *: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim__shutdownmodules ##### -->
+<para>
+
+</para>
+
+ at od: 
+
+
+<!-- ##### FUNCTION aim__findmodulebygroup ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at group: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim__findmodule ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION admin_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION buddylist_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION bos_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION search_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION stats_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION auth_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msg_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION misc_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION chatnav_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION chat_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION locate_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION service_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION popups_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION bart_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ssi_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION icq_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION email_modfirst ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at mod: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_genericreq_n ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at family: 
+ at subtype: 
+
+
+<!-- ##### FUNCTION aim_genericreq_n_snacid ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at family: 
+ at subtype: 
+
+
+<!-- ##### FUNCTION aim_genericreq_l ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+ at family: 
+ at subtype: 
+ at Param5: 
+
+
+<!-- ##### FUNCTION byte_stream_new ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_init ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at data: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_destroy ##### -->
+<para>
+
+</para>
+
+ at bs: 
+
+
+<!-- ##### FUNCTION byte_stream_bytes_left ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_curpos ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_setpos ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at off: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_rewind ##### -->
+<para>
+
+</para>
+
+ at bs: 
+
+
+<!-- ##### FUNCTION byte_stream_advance ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at n: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_get8 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_get16 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_get32 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_getle8 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_getle16 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_getle32 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_getrawbuf ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at buf: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_getraw ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_getstr ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_put8 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at v: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_put16 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at v: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_put32 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at v: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_putle8 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at v: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_putle16 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at v: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_putle32 ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at v: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_putraw ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at v: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_putstr ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_putbs ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at srcbs: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_putuid ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at od: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_putcaps ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at caps: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION byte_stream_put_bart_asset ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at type: 
+ at data: 
+
+
+<!-- ##### FUNCTION byte_stream_put_bart_asset_str ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at type: 
+ at datastr: 
+
+
+<!-- ##### STRUCT aim_snac_t ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at family: 
+ at type: 
+ at flags: 
+ at data: 
+ at issuetime: 
+ at next: 
+
+<!-- ##### FUNCTION aim_initsnachash ##### -->
+<para>
+
+</para>
+
+ at od: 
+
+
+<!-- ##### FUNCTION aim_newsnac ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at newsnac: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_cachesnac ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at family: 
+ at type: 
+ at flags: 
+ at data: 
+ at datalen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_remsnac ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_cleansnacs ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at maxage: 
+
+
+<!-- ##### FUNCTION aim_putsnac ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at family: 
+ at type: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_cachecookie ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at cookie: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_uncachecookie ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at cookie: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_mkcookie ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Varargs: 
+ at Param3: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_checkcookie ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at char: 
+ at Param3: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_freecookie ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at cookie: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_cookie_free ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at cookie: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION aim_chat_readroominfo ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at outinfo: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION flap_connection_destroy_chat ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at conn: 
+
+
+<!-- ##### FUNCTION oscar_user_info_append_status ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at user_info: 
+ at b: 
+ at userinfo: 
+ at use_html_status: 
+
+
+<!-- ##### FUNCTION oscar_user_info_append_extra_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at user_info: 
+ at b: 
+ at userinfo: 
+
+
+<!-- ##### FUNCTION oscar_user_info_display_error ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at error_reason: 
+ at buddy: 
+
+
+<!-- ##### FUNCTION oscar_user_info_display_icq ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at info: 
+
+
+<!-- ##### FUNCTION oscar_user_info_display_aim ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at userinfo: 
+
+
+<!-- ##### FUNCTION oscar_auth_sendrequest ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at msg: 
+
+
+<!-- ##### FUNCTION oscar_auth_sendrequest_menu ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at ignored: 
+
+
+<!-- ##### FUNCTION oscar_auth_recvrequest ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at nick: 
+ at reason: 
+
+
+<!-- ##### FUNCTION oscar_set_aim_permdeny ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION oscar_free_name_data ##### -->
+<para>
+
+</para>
+
+ at data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/oscarcommon.sgml	0e43bffc45972b7ce2e9e3bb32fa58d449a3ca83
@@ -0,0 +1,573 @@
+<!-- ##### SECTION Title ##### -->
+oscarcommon
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO AIM_DEFAULT_LOGIN_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_ALT_LOGIN_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_DEFAULT_SSL_LOGIN_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ICQ_DEFAULT_LOGIN_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ICQ_DEFAULT_SSL_LOGIN_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_DEFAULT_LOGIN_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_OPPORTUNISTIC_ENCRYPTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_REQUIRE_ENCRYPTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_NO_ENCRYPTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_DEFAULT_CUSTOM_ENCODING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_DEFAULT_AUTHORIZATION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_DEFAULT_HIDE_IP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_DEFAULT_WEB_AWARE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_DEFAULT_ALWAYS_USE_RV_PROXY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_DEFAULT_USE_CLIENTLOGIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OSCAR_DEFAULT_ENCRYPTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION oscar_get_locale_charset ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_get_purple_moods ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_list_icon_icq ##### -->
+<para>
+
+</para>
+
+ at a: 
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_list_icon_aim ##### -->
+<para>
+
+</para>
+
+ at a: 
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_list_emblem ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_status_text ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_tooltip_text ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at user_info: 
+ at full: 
+
+
+<!-- ##### FUNCTION oscar_status_types ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_blist_node_menu ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_chat_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_chat_info_defaults ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at chat_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_login ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION oscar_close ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION oscar_send_im ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at message: 
+ at imflags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_set_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at rawinfo: 
+
+
+<!-- ##### FUNCTION oscar_send_typing ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at state: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_get_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+
+
+<!-- ##### FUNCTION oscar_set_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status: 
+
+
+<!-- ##### FUNCTION oscar_set_idle ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at time: 
+
+
+<!-- ##### FUNCTION oscar_change_passwd ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at old: 
+ at new: 
+
+
+<!-- ##### FUNCTION oscar_add_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buddy: 
+ at group: 
+ at msg: 
+
+
+<!-- ##### FUNCTION oscar_remove_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buddy: 
+ at group: 
+
+
+<!-- ##### FUNCTION oscar_add_permit ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION oscar_add_deny ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION oscar_rem_permit ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION oscar_rem_deny ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION oscar_join_chat ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+
+
+<!-- ##### FUNCTION oscar_get_chat_name ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_chat_invite ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at message: 
+ at name: 
+
+
+<!-- ##### FUNCTION oscar_chat_leave ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+
+
+<!-- ##### FUNCTION oscar_send_chat ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at message: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_keepalive ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION oscar_alias_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at alias: 
+
+
+<!-- ##### FUNCTION oscar_move_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at old_group: 
+ at new_group: 
+
+
+<!-- ##### FUNCTION oscar_rename_group ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at old_name: 
+ at group: 
+ at moved_buddies: 
+
+
+<!-- ##### FUNCTION oscar_convo_closed ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION oscar_normalize ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_set_icon ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at img: 
+
+
+<!-- ##### FUNCTION oscar_remove_group ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at group: 
+
+
+<!-- ##### FUNCTION oscar_can_receive_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_send_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at file: 
+
+
+<!-- ##### FUNCTION oscar_new_xfer ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_offline_message ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_actions ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at context: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_init ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at is_icq: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/p2p.sgml	2cffb8b112e4c67a31305c227e19d465f68b1ebd
@@ -0,0 +1,406 @@
+<!-- ##### SECTION Title ##### -->
+p2p
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnP2PHeader ##### -->
+<para>
+
+</para>
+
+ at session_id: 
+ at id: 
+ at offset: 
+ at total_size: 
+ at length: 
+ at flags: 
+ at ack_id: 
+ at ack_sub_id: 
+ at ack_size: 
+
+<!-- ##### MACRO P2P_PACKET_HEADER_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT MsnP2Pv2Header ##### -->
+<para>
+
+</para>
+
+ at header_len: 
+ at opcode: 
+ at message_len: 
+ at base_id: 
+ at header_tlv: 
+ at data_header_len: 
+ at data_tf: 
+ at package_number: 
+ at session_id: 
+ at data_tlv: 
+
+<!-- ##### MACRO P2P_PACKET_FOOTER_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM MsnP2PVersion ##### -->
+<para>
+
+</para>
+
+ at MSN_P2P_VERSION_ONE: 
+ at MSN_P2P_VERSION_TWO: 
+
+<!-- ##### STRUCT MsnP2PInfo ##### -->
+<para>
+
+</para>
+
+ at version: 
+ at footer: 
+
+<!-- ##### ENUM MsnP2PHeaderFlag ##### -->
+<para>
+
+</para>
+
+ at P2P_NO_FLAG: 
+ at P2P_OUT_OF_ORDER: 
+ at P2P_ACK: 
+ at P2P_PENDING_INVITE: 
+ at P2P_BINARY_ERROR: 
+ at P2P_FILE: 
+ at P2P_MSN_OBJ_DATA: 
+ at P2P_CLOSE: 
+ at P2P_TLP_ERROR: 
+ at P2P_DC_HANDSHAKE: 
+ at P2P_WLM2009_COMP: 
+ at P2P_FILE_DATA: 
+
+<!-- ##### ENUM MsnP2PAppId ##### -->
+<para>
+
+</para>
+
+ at P2P_APPID_SESSION: 
+ at P2P_APPID_OBJ: 
+ at P2P_APPID_FILE: 
+ at P2P_APPID_EMOTE: 
+ at P2P_APPID_DISPLAY: 
+
+<!-- ##### ENUM MsnP2Pv2OpCode ##### -->
+<para>
+
+</para>
+
+ at P2P_OPCODE_NONE: 
+ at P2P_OPCODE_SYN: 
+ at P2P_OPCODE_RAK: 
+
+<!-- ##### FUNCTION msn_p2p_info_new ##### -->
+<para>
+
+</para>
+
+ at version: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_dup ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_free ##### -->
+<para>
+
+</para>
+
+ at info: 
+
+
+<!-- ##### FUNCTION msn_p2p_header_from_wire ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at wire: 
+ at max_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_header_to_wire ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_footer_from_wire ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at wire: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_footer_to_wire ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_to_string ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at str: 
+
+
+<!-- ##### FUNCTION msn_p2p_msg_is_data ##### -->
+<para>
+
+</para>
+
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_is_valid ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_is_final ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_get_session_id ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_get_id ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_get_offset ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_get_total_size ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_get_length ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_get_flags ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_get_ack_id ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_get_ack_sub_id ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_get_ack_size ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_get_app_id ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_set_session_id ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at session_id: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_set_id ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at id: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_set_offset ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at offset: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_set_total_size ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at total_size: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_set_length ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at length: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_set_flags ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at flags: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_set_ack_id ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at ack_id: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_set_ack_sub_id ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at ack_sub_id: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_set_ack_size ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at ack_size: 
+
+
+<!-- ##### FUNCTION msn_p2p_info_set_app_id ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at app_id: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/packet_parse.sgml	779471856263e5e95802fa3e0b668cf1eada886b
@@ -0,0 +1,153 @@
+<!-- ##### SECTION Title ##### -->
+packet_parse
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO MAX_PACKET_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION qq_get8 ##### -->
+<para>
+
+</para>
+
+ at b: 
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_get16 ##### -->
+<para>
+
+</para>
+
+ at w: 
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_get32 ##### -->
+<para>
+
+</para>
+
+ at dw: 
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_getIP ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_getime ##### -->
+<para>
+
+</para>
+
+ at t: 
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_getdata ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at datalen: 
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_put8 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_put16 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at w: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_put32 ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at dw: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_putIP ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at ip: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_putime ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at t: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_putdata ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at data: 
+ at datalen: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/page.sgml	a7d0942f5b2053da066d5e27208b6f49b5fc4d7a
@@ -0,0 +1,78 @@
+<!-- ##### SECTION Title ##### -->
+page
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnPage ##### -->
+<para>
+
+</para>
+
+ at from_location: 
+ at from_phone: 
+ at body: 
+
+<!-- ##### FUNCTION msn_page_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_page_destroy ##### -->
+<para>
+
+</para>
+
+ at page: 
+
+
+<!-- ##### FUNCTION msn_page_gen_payload ##### -->
+<para>
+
+</para>
+
+ at page: 
+ at ret_size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_page_set_body ##### -->
+<para>
+
+</para>
+
+ at page: 
+ at body: 
+
+
+<!-- ##### FUNCTION msn_page_get_body ##### -->
+<para>
+
+</para>
+
+ at page: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/parser.sgml	84f51abecb47a676c978ca7ad553eacb8f5c01c8
@@ -0,0 +1,50 @@
+<!-- ##### SECTION Title ##### -->
+parser
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_parser_setup ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_parser_free ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_parser_process ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at buf: 
+ at len: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/peer.sgml	2004e4a02b28a14f0faf766978d4ffa41ddf7c92
@@ -0,0 +1,558 @@
+<!-- ##### SECTION Title ##### -->
+peer
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT ChecksumData ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT OdcFrame ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at subtype: 
+ at cookie: 
+ at encoding: 
+ at flags: 
+ at bn: 
+ at payload: 
+
+<!-- ##### STRUCT OftFrame ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at cookie: 
+ at encrypt: 
+ at compress: 
+ at totfiles: 
+ at filesleft: 
+ at totparts: 
+ at partsleft: 
+ at totsize: 
+ at size: 
+ at modtime: 
+ at checksum: 
+ at rfrcsum: 
+ at rfsize: 
+ at cretime: 
+ at rfcsum: 
+ at nrecvd: 
+ at recvcsum: 
+ at idstring: 
+ at flags: 
+ at lnameoffset: 
+ at lsizeoffset: 
+ at dummy: 
+ at macfileinfo: 
+ at nencode: 
+ at nlanguage: 
+ at name: 
+ at name_length: 
+
+<!-- ##### STRUCT ProxyFrame ##### -->
+<para>
+
+</para>
+
+ at version: 
+ at type: 
+ at unknown: 
+ at flags: 
+ at payload: 
+
+<!-- ##### STRUCT PeerConnection ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at type: 
+ at bn: 
+ at magic: 
+ at cookie: 
+ at lastrequestnumber: 
+ at ready: 
+ at flags: 
+ at lastactivity: 
+ at destroy_timeout: 
+ at disconnect_reason: 
+ at error_message: 
+ at frame: 
+ at client_connect_data: 
+ at verified_connect_data: 
+ at listen_data: 
+ at connect_timeout_timer: 
+ at listenerfd: 
+ at fd: 
+ at header: 
+ at header_received: 
+ at proxy_header: 
+ at proxy_header_received: 
+ at buffer_incoming: 
+ at buffer_outgoing: 
+ at watcher_incoming: 
+ at watcher_outgoing: 
+ at proxyip: 
+ at clientip: 
+ at verifiedip: 
+ at port: 
+ at use_proxy: 
+ at checksum_data: 
+ at xfer: 
+ at xferdata: 
+ at sending_data_timer: 
+
+<!-- ##### MACRO PEER_CONNECTION_FLAG_INITIATED_BY_ME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_CONNECTION_FLAG_APPROVED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_CONNECTION_FLAG_TRIED_DIRECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_CONNECTION_FLAG_TRIED_PROXY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_TYPE_PROMPT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_TYPE_RESUMEACCEPT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_TYPE_ACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_TYPE_DONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_TYPE_RESUME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_TYPE_RESUMEACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_TYPE_GETFILE_REQUESTLISTING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_TYPE_GETFILE_RECEIVELISTING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_TYPE_GETFILE_RECEIVEDLISTING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_TYPE_GETFILE_ACKLISTING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_TYPE_GETFILE_REQUESTFILE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_PEER_PROXY_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ICQ_PEER_PROXY_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_PROXY_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_PROXY_PACKET_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_PROXY_TYPE_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_PROXY_TYPE_CREATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_PROXY_TYPE_CREATED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_PROXY_TYPE_JOIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PEER_PROXY_TYPE_READY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION peer_connection_new ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at type: 
+ at bn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION peer_connection_destroy ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at reason: 
+ at error_message: 
+
+
+<!-- ##### FUNCTION peer_connection_schedule_destroy ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at reason: 
+ at error_message: 
+
+
+<!-- ##### FUNCTION peer_connection_find_by_type ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at bn: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION peer_connection_find_by_cookie ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at bn: 
+ at cookie: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION peer_connection_listen_cb ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at source: 
+ at cond: 
+
+
+<!-- ##### FUNCTION peer_connection_recv_cb ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at source: 
+ at cond: 
+
+
+<!-- ##### FUNCTION peer_connection_send ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at bs: 
+
+
+<!-- ##### FUNCTION peer_connection_trynext ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION peer_connection_finalize_connection ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION peer_connection_propose ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at type: 
+ at bn: 
+
+
+<!-- ##### FUNCTION peer_connection_got_proposition ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at bn: 
+ at message: 
+ at args: 
+
+
+<!-- ##### FUNCTION peer_odc_close ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION peer_odc_recv_frame ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at bs: 
+
+
+<!-- ##### FUNCTION peer_odc_send_cookie ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION peer_odc_send_typing ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at typing: 
+
+
+<!-- ##### FUNCTION peer_odc_send_im ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at msg: 
+ at len: 
+ at encoding: 
+ at autoreply: 
+
+
+<!-- ##### FUNCTION peer_oft_close ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION peer_oft_recv_frame ##### -->
+<para>
+
+</para>
+
+ at conn: 
+ at bs: 
+
+
+<!-- ##### FUNCTION peer_oft_send_prompt ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION peer_oft_checksum_destroy ##### -->
+<para>
+
+</para>
+
+ at checksum_data: 
+
+
+<!-- ##### FUNCTION peer_oft_recvcb_init ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION peer_oft_recvcb_end ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION peer_oft_recvcb_ack_recv ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at buffer: 
+ at size: 
+
+
+<!-- ##### FUNCTION peer_oft_sendcb_init ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION peer_oft_sendcb_ack ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at buffer: 
+ at size: 
+
+
+<!-- ##### FUNCTION peer_oft_cb_generic_cancel ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION peer_proxy_connection_established_cb ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at source: 
+ at error_message: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/pep.sgml	d6f90f2cb0d41d60323b1f86c2ceb05fab881997
@@ -0,0 +1,105 @@
+<!-- ##### SECTION Title ##### -->
+pep
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_pep_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_pep_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_pep_init_actions ##### -->
+<para>
+
+</para>
+
+ at m: 
+
+
+<!-- ##### FUNCTION jabber_pep_register_handler ##### -->
+<para>
+
+</para>
+
+ at xmlns: 
+ at handlerfunc: 
+
+
+<!-- ##### FUNCTION jabber_pep_request_item ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at to: 
+ at node: 
+ at id: 
+ at cb: 
+
+
+<!-- ##### FUNCTION jabber_pep_namespace_only_when_pep_enabled_cb ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at namespace: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_handle_event ##### -->
+<para>
+
+</para>
+
+ at jm: 
+
+
+<!-- ##### FUNCTION jabber_pep_delete_node ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at node: 
+
+
+<!-- ##### FUNCTION jabber_pep_publish ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at publish: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/perl-common.sgml	028dd061490b919f91c920a46235221080963b23
@@ -0,0 +1,181 @@
+<!-- ##### SECTION Title ##### -->
+perl-common
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO is_hvref ##### -->
+<para>
+
+</para>
+
+ at o: 
+
+
+<!-- ##### MACRO hvref ##### -->
+<para>
+
+</para>
+
+ at o: 
+
+
+<!-- ##### MACRO PURPLE_PERL_BOOT_PROTO ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### MACRO PURPLE_PERL_BOOT ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### FUNCTION purple_perl_normalize_script_name ##### -->
+<para>
+
+</para>
+
+ at name: 
+
+
+<!-- ##### FUNCTION newSVGChar ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_callXS ##### -->
+<para>
+
+</para>
+
+ at pTHX_ CV *cv: 
+ at cv: 
+ at mark: 
+
+
+<!-- ##### FUNCTION purple_perl_bless_plain ##### -->
+<para>
+
+</para>
+
+ at stash: 
+ at object: 
+
+
+<!-- ##### FUNCTION purple_perl_bless_object ##### -->
+<para>
+
+</para>
+
+ at object: 
+ at stash: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_is_ref_object ##### -->
+<para>
+
+</para>
+
+ at o: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_ref_object ##### -->
+<para>
+
+</para>
+
+ at o: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION execute_perl ##### -->
+<para>
+
+</para>
+
+ at function: 
+ at argc: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_value_from_sv ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at sv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_sv_from_value ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_data_from_sv ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at sv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_sv_from_vargs ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at args: 
+ at copy_arg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_sv_from_fun ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at callback: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/perl-handlers.sgml	cd401f25e16383b5f39df7a1c953ed6099133a9f
@@ -0,0 +1,197 @@
+<!-- ##### SECTION Title ##### -->
+perl-handlers
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION purple_perl_plugin_action_cb ##### -->
+<para>
+
+</para>
+
+ at gpa: 
+
+
+<!-- ##### FUNCTION purple_perl_plugin_actions ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at context: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_get_plugin_frame ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_gtk_get_plugin_frame ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_timeout_add ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at seconds: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_timeout_remove ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_timeout_clear_for_plugin ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### FUNCTION purple_perl_timeout_clear ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_perl_signal_connect ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at instance: 
+ at signal: 
+ at callback: 
+ at data: 
+ at priority: 
+
+
+<!-- ##### FUNCTION purple_perl_signal_disconnect ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at instance: 
+ at signal: 
+
+
+<!-- ##### FUNCTION purple_perl_signal_clear_for_plugin ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### FUNCTION purple_perl_signal_clear ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_perl_cmd_register ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at cmd: 
+ at args: 
+ at priority: 
+ at flag: 
+ at prpl_id: 
+ at callback: 
+ at helpstr: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_cmd_unregister ##### -->
+<para>
+
+</para>
+
+ at id: 
+
+
+<!-- ##### FUNCTION purple_perl_cmd_clear_for_plugin ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### FUNCTION purple_perl_prefs_connect_callback ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at name: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_perl_prefs_disconnect_callback ##### -->
+<para>
+
+</para>
+
+ at callback_id: 
+
+
+<!-- ##### FUNCTION purple_perl_pref_cb_clear_for_plugin ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/persist.sgml	bc0dd20c6aab7d4c3c552689ece1de4cd5baf97f
@@ -0,0 +1,166 @@
+<!-- ##### SECTION Title ##### -->
+persist
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO MSIM_CMD_GET ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_CMD_PUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_CMD_DELETE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_CMD_BIT_CODE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_CMD_BIT_ACTION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_CMD_BIT_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSIM_CMD_GET_CODE ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### MACRO MSIM_CMD_IS_REQUEST ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### MACRO MSIM_CMD_IS_ACTION ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### MACRO MSIM_CMD_IS_INFO ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### MACRO MSIM_CMD_IS_ERROR ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### MACRO MSIM_CMD_IS_NORMAL ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### MACRO MSIM_PERSIST_DSN_LID ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at dsn: 
+ at lid: 
+
+
+<!-- ##### MACRO MERR_PARSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MERR_NOT_LOGGED_IN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MERR_ANOTHER_LOGIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MERR_BAD_EMAIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MERR_BAD_PASSWORD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MERR_BAD_UID_IN_PERSISTR ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/ping.sgml	885873228f56ed39e6f16d05ca37c13937d8d96b
@@ -0,0 +1,54 @@
+<!-- ##### SECTION Title ##### -->
+ping
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_ping_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at Param3: 
+ at id: 
+ at child: 
+
+
+<!-- ##### FUNCTION jabber_ping_jid ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at jid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_keepalive_ping ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/plugin.sgml	be21cecbf6d360fd98c48455f2e1d93db649a58b
@@ -0,0 +1,657 @@
+<!-- ##### SECTION Title ##### -->
+plugin
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurplePlugin ##### -->
+<para>
+
+</para>
+
+ at native_plugin: 
+ at loaded: 
+ at handle: 
+ at path: 
+ at info: 
+ at error: 
+ at ipc_data: 
+ at extra: 
+ at unloadable: 
+ at dependent_plugins: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurplePluginInfo ##### -->
+<para>
+
+</para>
+
+ at magic: 
+ at major_version: 
+ at minor_version: 
+ at type: 
+ at ui_requirement: 
+ at flags: 
+ at dependencies: 
+ at priority: 
+ at id: 
+ at name: 
+ at version: 
+ at summary: 
+ at description: 
+ at author: 
+ at homepage: 
+ at load: 
+ at unload: 
+ at destroy: 
+ at ui_info: 
+ at extra_info: 
+ at prefs_info: 
+ at actions: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurplePluginUiInfo ##### -->
+<para>
+
+</para>
+
+ at get_plugin_pref_frame: 
+ at page_num: 
+ at frame: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurplePluginLoaderInfo ##### -->
+<para>
+
+</para>
+
+ at exts: 
+ at probe: 
+ at load: 
+ at unload: 
+ at destroy: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurplePluginAction ##### -->
+<para>
+
+</para>
+
+ at label: 
+ at callback: 
+ at plugin: 
+ at context: 
+ at user_data: 
+
+<!-- ##### TYPEDEF PurplePluginPriority ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ENUM PurplePluginType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PLUGIN_UNKNOWN: 
+ at PURPLE_PLUGIN_STANDARD: 
+ at PURPLE_PLUGIN_LOADER: 
+ at PURPLE_PLUGIN_PROTOCOL: 
+
+<!-- ##### MACRO PURPLE_PRIORITY_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_PRIORITY_HIGHEST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_PRIORITY_LOWEST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_PLUGIN_FLAG_INVISIBLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_PLUGIN_MAGIC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_PLUGIN_LOADER_INFO ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### MACRO PURPLE_PLUGIN_HAS_PREF_FRAME ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### MACRO PURPLE_PLUGIN_UI_INFO ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### MACRO PURPLE_PLUGIN_HAS_ACTIONS ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### MACRO PURPLE_PLUGIN_ACTIONS ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at context: 
+
+
+<!-- ##### MACRO PURPLE_INIT_PLUGIN ##### -->
+<para>
+
+</para>
+
+ at pluginname: 
+ at initfunc: 
+ at plugininfo: 
+
+
+<!-- ##### FUNCTION purple_plugin_new ##### -->
+<para>
+
+</para>
+
+ at native: 
+ at path: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_probe ##### -->
+<para>
+
+</para>
+
+ at filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_register ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_load ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_unload ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_disable ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### FUNCTION purple_plugin_reload ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_destroy ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### FUNCTION purple_plugin_is_loaded ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_is_unloadable ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_get_id ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_get_name ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_get_version ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_get_summary ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_get_description ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_get_author ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_get_homepage ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_ipc_register ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at command: 
+ at func: 
+ at marshal: 
+ at ret_value: 
+ at num_params: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_ipc_unregister ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at command: 
+
+
+<!-- ##### FUNCTION purple_plugin_ipc_unregister_all ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### FUNCTION purple_plugin_ipc_get_params ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at command: 
+ at ret_value: 
+ at num_params: 
+ at params: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_ipc_call ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+ at command: 
+ at ok: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugins_add_search_path ##### -->
+<para>
+
+</para>
+
+ at path: 
+
+
+<!-- ##### FUNCTION purple_plugins_get_search_paths ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugins_unload_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_plugins_unload ##### -->
+<para>
+
+</para>
+
+ at type: 
+
+
+<!-- ##### FUNCTION purple_plugins_destroy_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_plugins_save_loaded ##### -->
+<para>
+
+</para>
+
+ at key: 
+
+
+<!-- ##### FUNCTION purple_plugins_load_saved ##### -->
+<para>
+
+</para>
+
+ at key: 
+
+
+<!-- ##### FUNCTION purple_plugins_probe ##### -->
+<para>
+
+</para>
+
+ at ext: 
+
+
+<!-- ##### FUNCTION purple_plugins_enabled ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugins_register_probe_notify_cb ##### -->
+<para>
+
+</para>
+
+ at void *: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_plugins_unregister_probe_notify_cb ##### -->
+<para>
+
+</para>
+
+ at void *: 
+
+
+<!-- ##### FUNCTION purple_plugins_register_load_notify_cb ##### -->
+<para>
+
+</para>
+
+ at PurplePlugin *, void *: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_plugins_unregister_load_notify_cb ##### -->
+<para>
+
+</para>
+
+ at PurplePlugin *, void *: 
+
+
+<!-- ##### FUNCTION purple_plugins_register_unload_notify_cb ##### -->
+<para>
+
+</para>
+
+ at PurplePlugin *, void *: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_plugins_unregister_unload_notify_cb ##### -->
+<para>
+
+</para>
+
+ at PurplePlugin *, void *: 
+
+
+<!-- ##### FUNCTION purple_plugins_find_with_name ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugins_find_with_filename ##### -->
+<para>
+
+</para>
+
+ at filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugins_find_with_basename ##### -->
+<para>
+
+</para>
+
+ at basename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugins_find_with_id ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugins_get_loaded ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugins_get_protocols ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugins_get_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugins_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugins_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_plugins_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_plugin_action_new ##### -->
+<para>
+
+</para>
+
+ at label: 
+ at PurplePluginAction *: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_action_free ##### -->
+<para>
+
+</para>
+
+ at action: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/pluginpref.sgml	c8dc38bdb5ecc7b78ac37b6bbda3ff4ad7bb1996
@@ -0,0 +1,282 @@
+<!-- ##### SECTION Title ##### -->
+pluginpref
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurplePluginPrefFrame ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurplePluginPref ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ENUM PurpleStringFormatType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_STRING_FORMAT_TYPE_NONE: 
+ at PURPLE_STRING_FORMAT_TYPE_MULTILINE: 
+ at PURPLE_STRING_FORMAT_TYPE_HTML: 
+
+<!-- ##### ENUM PurplePluginPrefType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PLUGIN_PREF_NONE: 
+ at PURPLE_PLUGIN_PREF_CHOICE: 
+ at PURPLE_PLUGIN_PREF_INFO: 
+ at PURPLE_PLUGIN_PREF_STRING_FORMAT: 
+
+<!-- ##### FUNCTION purple_plugin_pref_frame_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_frame_destroy ##### -->
+<para>
+
+</para>
+
+ at frame: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_frame_add ##### -->
+<para>
+
+</para>
+
+ at frame: 
+ at pref: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_frame_get_prefs ##### -->
+<para>
+
+</para>
+
+ at frame: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_new_with_name ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_new_with_label ##### -->
+<para>
+
+</para>
+
+ at label: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_new_with_name_and_label ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at label: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_destroy ##### -->
+<para>
+
+</para>
+
+ at pref: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_set_name ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_get_name ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_set_label ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at label: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_get_label ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_set_bounds ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at min: 
+ at max: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_get_bounds ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at min: 
+ at max: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_set_type ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at type: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_get_type ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_add_choice ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at label: 
+ at choice: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_get_choices ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_set_max_length ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at max_length: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_get_max_length ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_set_masked ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at mask: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_get_masked ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_set_format_type ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at format: 
+
+
+<!-- ##### FUNCTION purple_plugin_pref_get_format_type ##### -->
+<para>
+
+</para>
+
+ at pref: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/pobject.sgml	4a32dac5de86950aad9fbc6dfbac589f71040071
@@ -0,0 +1,104 @@
+<!-- ##### SECTION Title ##### -->
+PurpleObject
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleObject ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SIGNAL PurpleObject::destroyed ##### -->
+<para>
+
+</para>
+
+ at purpleobject: the object which received the signal.
+
+<!-- ##### SIGNAL PurpleObject::destroying ##### -->
+<para>
+
+</para>
+
+ at purpleobject: the object which received the signal.
+
+<!-- ##### SIGNAL PurpleObject::new ##### -->
+<para>
+
+</para>
+
+ at purpleobject: the object which received the signal.
+
+<!-- ##### STRUCT PurpleObjectClass ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+
+<!-- ##### FUNCTION purple_object_set_protocol_data ##### -->
+<para>
+
+</para>
+
+ at pobj: 
+ at proto_data: 
+
+
+<!-- ##### FUNCTION purple_object_get_protocol_data ##### -->
+<para>
+
+</para>
+
+ at pobj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_object_set_ui_data ##### -->
+<para>
+
+</para>
+
+ at pobj: 
+ at ui_data: 
+
+
+<!-- ##### FUNCTION purple_object_get_ui_data ##### -->
+<para>
+
+</para>
+
+ at pobj: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_object_get_int ##### -->
+<para>
+
+</para>
+
+ at pobj: 
+ at prop: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/pounce.sgml	5e90fc8f2112590713f06aaf510d775230bf674f
@@ -0,0 +1,353 @@
+<!-- ##### SECTION Title ##### -->
+pounce
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurplePounce ##### -->
+<para>
+
+</para>
+
+ at ui_type: 
+ at events: 
+ at options: 
+ at pouncer: 
+ at pouncee: 
+ at actions: 
+ at save: 
+ at data: 
+
+<!-- ##### ENUM PurplePounceEvent ##### -->
+<para>
+
+</para>
+
+ at PURPLE_POUNCE_NONE: 
+ at PURPLE_POUNCE_SIGNON: 
+ at PURPLE_POUNCE_SIGNOFF: 
+ at PURPLE_POUNCE_AWAY: 
+ at PURPLE_POUNCE_AWAY_RETURN: 
+ at PURPLE_POUNCE_IDLE: 
+ at PURPLE_POUNCE_IDLE_RETURN: 
+ at PURPLE_POUNCE_TYPING: 
+ at PURPLE_POUNCE_TYPED: 
+ at PURPLE_POUNCE_TYPING_STOPPED: 
+ at PURPLE_POUNCE_MESSAGE_RECEIVED: 
+
+<!-- ##### ENUM PurplePounceOption ##### -->
+<para>
+
+</para>
+
+ at PURPLE_POUNCE_OPTION_NONE: 
+ at PURPLE_POUNCE_OPTION_AWAY: 
+
+<!-- ##### USER_FUNCTION PurplePounceCb ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at Param3: 
+
+
+<!-- ##### FUNCTION purple_pounce_new ##### -->
+<para>
+
+</para>
+
+ at ui_type: 
+ at pouncer: 
+ at pouncee: 
+ at event: 
+ at option: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounce_destroy ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+
+
+<!-- ##### FUNCTION purple_pounce_destroy_all_by_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_pounce_set_events ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at events: 
+
+
+<!-- ##### FUNCTION purple_pounce_set_options ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at options: 
+
+
+<!-- ##### FUNCTION purple_pounce_set_pouncer ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at pouncer: 
+
+
+<!-- ##### FUNCTION purple_pounce_set_pouncee ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at pouncee: 
+
+
+<!-- ##### FUNCTION purple_pounce_set_save ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at save: 
+
+
+<!-- ##### FUNCTION purple_pounce_action_register ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_pounce_action_set_enabled ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at action: 
+ at enabled: 
+
+
+<!-- ##### FUNCTION purple_pounce_action_set_attribute ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at action: 
+ at attr: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_pounce_set_data ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_pounce_get_events ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounce_get_options ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounce_get_pouncer ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounce_get_pouncee ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounce_get_save ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounce_action_is_enabled ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at action: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounce_action_get_attribute ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at action: 
+ at attr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounce_get_data ##### -->
+<para>
+
+</para>
+
+ at pounce: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounce_execute ##### -->
+<para>
+
+</para>
+
+ at pouncer: 
+ at pouncee: 
+ at events: 
+
+
+<!-- ##### FUNCTION purple_find_pounce ##### -->
+<para>
+
+</para>
+
+ at pouncer: 
+ at pouncee: 
+ at events: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounces_load ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounces_register_handler ##### -->
+<para>
+
+</para>
+
+ at ui: 
+ at cb: 
+ at PurplePounce *pounce: 
+ at PurplePounce *pounce: 
+
+
+<!-- ##### FUNCTION purple_pounces_unregister_handler ##### -->
+<para>
+
+</para>
+
+ at ui: 
+
+
+<!-- ##### FUNCTION purple_pounces_get_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounces_get_all_for_ui ##### -->
+<para>
+
+</para>
+
+ at ui: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounces_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_pounces_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_pounces_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/prefs.sgml	29436ff7b9606d10a70a7d36e95652e21d874469
@@ -0,0 +1,366 @@
+<!-- ##### SECTION Title ##### -->
+prefs
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurplePrefType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PREF_NONE: 
+ at PURPLE_PREF_BOOLEAN: 
+ at PURPLE_PREF_INT: 
+ at PURPLE_PREF_STRING: 
+ at PURPLE_PREF_STRING_LIST: 
+ at PURPLE_PREF_PATH: 
+ at PURPLE_PREF_PATH_LIST: 
+
+<!-- ##### USER_FUNCTION PurplePrefCallback ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at type: 
+ at val: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_prefs_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_none ##### -->
+<para>
+
+</para>
+
+ at name: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_bool ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_int ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_string ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_string_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_path ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_path_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_remove ##### -->
+<para>
+
+</para>
+
+ at name: 
+
+
+<!-- ##### FUNCTION purple_prefs_rename ##### -->
+<para>
+
+</para>
+
+ at oldname: 
+ at newname: 
+
+
+<!-- ##### FUNCTION purple_prefs_rename_boolean_toggle ##### -->
+<para>
+
+</para>
+
+ at oldname: 
+ at newname: 
+
+
+<!-- ##### FUNCTION purple_prefs_destroy ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_generic ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_bool ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_int ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_string ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_string_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_path ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_path_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_exists ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_type ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_bool ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_int ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_string ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_string_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_path ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_path_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_children_names ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_connect_callback ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at name: 
+ at cb: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_disconnect_callback ##### -->
+<para>
+
+</para>
+
+ at callback_id: 
+
+
+<!-- ##### FUNCTION purple_prefs_disconnect_by_handle ##### -->
+<para>
+
+</para>
+
+ at handle: 
+
+
+<!-- ##### FUNCTION purple_prefs_trigger_callback ##### -->
+<para>
+
+</para>
+
+ at name: 
+
+
+<!-- ##### FUNCTION purple_prefs_load ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_update_old ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/presence.sgml	5eb29c5e98480f33997042b5536f4691355ae5d3
@@ -0,0 +1,175 @@
+<!-- ##### SECTION Title ##### -->
+presence
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM JabberPresenceType ##### -->
+<para>
+
+</para>
+
+ at JABBER_PRESENCE_ERROR: 
+ at JABBER_PRESENCE_PROBE: 
+ at JABBER_PRESENCE_AVAILABLE: 
+ at JABBER_PRESENCE_UNAVAILABLE: 
+ at JABBER_PRESENCE_SUBSCRIBE: 
+ at JABBER_PRESENCE_SUBSCRIBED: 
+ at JABBER_PRESENCE_UNSUBSCRIBE: 
+ at JABBER_PRESENCE_UNSUBSCRIBED: 
+
+<!-- ##### STRUCT JabberPresenceChatInfo ##### -->
+<para>
+
+</para>
+
+ at codes: 
+ at item: 
+
+<!-- ##### STRUCT JabberPresence ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at jid_from: 
+ at from: 
+ at to: 
+ at id: 
+ at jb: 
+ at chat: 
+ at chat_info: 
+ at caps: 
+ at state: 
+ at status: 
+ at priority: 
+ at vcard_avatar_hash: 
+ at nickname: 
+ at delayed: 
+ at sent: 
+ at idle: 
+
+<!-- ##### FUNCTION jabber_presence_register_handler ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at xmlns: 
+ at handler: 
+
+
+<!-- ##### FUNCTION jabber_presence_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_presence_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_set_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status: 
+
+
+<!-- ##### FUNCTION jabber_presence_send ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at force: 
+
+
+<!-- ##### FUNCTION jabber_presence_create ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at msg: 
+ at priority: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_presence_create_js ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at state: 
+ at msg: 
+ at priority: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_presence_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+
+
+<!-- ##### FUNCTION jabber_presence_subscription_set ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+ at type: 
+
+
+<!-- ##### FUNCTION jabber_presence_fake_to_self ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at status: 
+
+
+<!-- ##### FUNCTION purple_status_to_jabber ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at state: 
+ at msg: 
+ at priority: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/privacy.sgml	435ec80a342ce54b47f01aaf593e41b3c456d3c3
@@ -0,0 +1,204 @@
+<!-- ##### SECTION Title ##### -->
+privacy
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurplePrivacyType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PRIVACY_ALLOW_ALL: 
+ at PURPLE_PRIVACY_DENY_ALL: 
+ at PURPLE_PRIVACY_ALLOW_USERS: 
+ at PURPLE_PRIVACY_DENY_USERS: 
+ at PURPLE_PRIVACY_ALLOW_BUDDYLIST: 
+
+<!-- ##### USER_FUNCTION permit_added ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+
+
+<!-- ##### USER_FUNCTION permit_removed ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+
+
+<!-- ##### USER_FUNCTION deny_added ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+
+
+<!-- ##### USER_FUNCTION deny_removed ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved1 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved2 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved3 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved4 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_privacy_permit_add ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at local_only: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_privacy_permit_remove ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at local_only: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_privacy_deny_add ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at local_only: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_privacy_deny_remove ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at local_only: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_privacy_allow ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at local: 
+ at restore: 
+
+
+<!-- ##### FUNCTION purple_privacy_deny ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at local: 
+ at restore: 
+
+
+<!-- ##### FUNCTION purple_privacy_check ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_privacy_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_privacy_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_privacy_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/profile.sgml	17ff02ccfa6cff2f455fd0635502d735dd7b3adc
@@ -0,0 +1,49 @@
+<!-- ##### SECTION Title ##### -->
+profile
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MXitSession ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION mxit_show_profile ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at username: 
+ at profile: 
+
+
+<!-- ##### FUNCTION validateDate ##### -->
+<para>
+
+</para>
+
+ at bday: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/protocol.sgml	48f1c73772267faf3aae39e72a5c12c21201ea4c
@@ -0,0 +1,171 @@
+<!-- ##### SECTION Title ##### -->
+protocol
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO GG_LOGIN80BETA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_LOGIN80 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_FEATURE_STATUS80BETA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_FEATURE_MSG80 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_FEATURE_STATUS80 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG8_LANG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG8_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_LOGIN_HASH_TYPE_INVALID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_LOGIN80_OK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_NEW_STATUS80BETA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_NEW_STATUS80 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_STATUS80BETA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_NOTIFY_REPLY80BETA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_STATUS80 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_NOTIFY_REPLY80 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_SEND_MSG80 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_RECV_MSG80 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DISCONNECT_ACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DCC7_VOICE_RETRIES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DCC7_RESERVED1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GG_DCC7_RESERVED2 ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/proxy.sgml	3674aa11ead9bc18b2862bc33d88c153f0e4e6a3
@@ -0,0 +1,268 @@
+<!-- ##### SECTION Title ##### -->
+proxy
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurpleProxyType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PROXY_USE_GLOBAL: 
+ at PURPLE_PROXY_NONE: 
+ at PURPLE_PROXY_HTTP: 
+ at PURPLE_PROXY_SOCKS4: 
+ at PURPLE_PROXY_SOCKS5: 
+ at PURPLE_PROXY_USE_ENVVAR: 
+
+<!-- ##### STRUCT PurpleProxyConnectData ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION PurpleProxyConnectFunction ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at source: 
+ at error_message: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_destroy ##### -->
+<para>
+
+</para>
+
+ at info: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_set_type ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at type: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_set_host ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at host: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_set_port ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at port: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_set_username ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at username: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_set_password ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at password: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_get_type ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_get_host ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_get_port ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_get_username ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_proxy_info_get_password ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_global_proxy_get_info ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_global_proxy_set_info ##### -->
+<para>
+
+</para>
+
+ at info: 
+
+
+<!-- ##### FUNCTION purple_proxy_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_proxy_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_proxy_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_proxy_get_setup ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_proxy_connect ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at account: 
+ at host: 
+ at port: 
+ at connect_cb: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_proxy_connect_udp ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at account: 
+ at host: 
+ at port: 
+ at connect_cb: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_proxy_connect_socks5 ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at gpi: 
+ at host: 
+ at port: 
+ at connect_cb: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_proxy_connect_cancel ##### -->
+<para>
+
+</para>
+
+ at connect_data: 
+
+
+<!-- ##### FUNCTION purple_proxy_connect_cancel_with_handle ##### -->
+<para>
+
+</para>
+
+ at handle: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/prpl.sgml	6f597572f9589813795bfa2b269f49ba879e3ca9
@@ -0,0 +1,456 @@
+<!-- ##### SECTION Title ##### -->
+prpl
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurplePluginProtocolInfo ##### -->
+<para>
+
+</para>
+
+ at options: 
+ at user_splits: 
+ at protocol_options: 
+ at icon_spec: 
+ at list_icon: 
+ at list_emblem: 
+ at status_text: 
+ at tooltip_text: 
+ at status_types: 
+ at blist_node_menu: 
+ at chat_info: 
+ at chat_info_defaults: 
+ at login: 
+ at close: 
+ at send_im: 
+ at set_info: 
+ at send_typing: 
+ at get_info: 
+ at set_status: 
+ at set_idle: 
+ at change_passwd: 
+ at add_buddy: 
+ at add_buddies: 
+ at remove_buddy: 
+ at remove_buddies: 
+ at add_permit: 
+ at add_deny: 
+ at rem_permit: 
+ at rem_deny: 
+ at set_permit_deny: 
+ at join_chat: 
+ at reject_chat: 
+ at get_chat_name: 
+ at chat_invite: 
+ at chat_leave: 
+ at chat_whisper: 
+ at chat_send: 
+ at keepalive: 
+ at register_user: 
+ at get_cb_info: 
+ at get_cb_away: 
+ at alias_buddy: 
+ at group_buddy: 
+ at rename_group: 
+ at buddy_free: 
+ at convo_closed: 
+ at normalize: 
+ at set_buddy_icon: 
+ at remove_group: 
+ at get_cb_real_name: 
+ at set_chat_topic: 
+ at find_blist_chat: 
+ at roomlist_get_list: 
+ at roomlist_cancel: 
+ at roomlist_expand_category: 
+ at can_receive_file: 
+ at send_file: 
+ at new_xfer: 
+ at offline_message: 
+ at whiteboard_prpl_ops: 
+ at send_raw: 
+ at roomlist_room_serialize: 
+ at unregister_user: 
+ at send_attention: 
+ at get_attention_types: 
+ at struct_size: 
+ at get_account_text_table: 
+ at initiate_media: 
+ at get_media_caps: 
+ at get_moods: 
+ at set_public_alias: 
+ at get_public_alias: 
+ at add_buddy_with_invite: 
+ at add_buddies_with_invite: 
+
+<!-- ##### STRUCT PurpleAttentionType ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at incoming_description: 
+ at outgoing_description: 
+ at icon_name: 
+ at unlocalized_name: 
+ at _reserved2: 
+ at _reserved3: 
+ at _reserved4: 
+
+<!-- ##### ENUM PurpleIconScaleRules ##### -->
+<para>
+
+</para>
+
+ at PURPLE_ICON_SCALE_DISPLAY: 
+ at PURPLE_ICON_SCALE_SEND: 
+
+<!-- ##### STRUCT PurpleBuddyIconSpec ##### -->
+<para>
+
+</para>
+
+ at format: 
+ at min_width: 
+ at min_height: 
+ at max_width: 
+ at max_height: 
+ at max_filesize: 
+ at scale_rules: 
+
+<!-- ##### STRUCT PurpleThumbnailSpec ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO NO_BUDDY_ICONS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM PurpleProtocolOptions ##### -->
+<para>
+
+</para>
+
+ at OPT_PROTO_UNIQUE_CHATNAME: 
+ at OPT_PROTO_CHAT_TOPIC: 
+ at OPT_PROTO_NO_PASSWORD: 
+ at OPT_PROTO_MAIL_CHECK: 
+ at OPT_PROTO_IM_IMAGE: 
+ at OPT_PROTO_PASSWORD_OPTIONAL: 
+ at OPT_PROTO_USE_POINTSIZE: 
+ at OPT_PROTO_REGISTER_NOSCREENNAME: 
+ at OPT_PROTO_SLASH_COMMANDS_NATIVE: 
+ at OPT_PROTO_INVITE_MESSAGE: 
+
+<!-- ##### MACRO PURPLE_PROTOCOL_PLUGIN_HAS_FUNC ##### -->
+<para>
+
+</para>
+
+ at prpl: 
+ at member: 
+
+
+<!-- ##### MACRO PURPLE_PLUGIN_PROTOCOL_INFO ##### -->
+<para>
+
+</para>
+
+ at plugin: 
+
+
+<!-- ##### FUNCTION purple_attention_type_new ##### -->
+<para>
+
+</para>
+
+ at ulname: 
+ at name: 
+ at inc_desc: 
+ at out_desc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_attention_type_set_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_attention_type_set_incoming_desc ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at desc: 
+
+
+<!-- ##### FUNCTION purple_attention_type_set_outgoing_desc ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at desc: 
+
+
+<!-- ##### FUNCTION purple_attention_type_set_icon_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_attention_type_set_unlocalized_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at ulname: 
+
+
+<!-- ##### FUNCTION purple_attention_type_get_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_attention_type_get_incoming_desc ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_attention_type_get_outgoing_desc ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_attention_type_get_icon_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_attention_type_get_unlocalized_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_account_idle ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at idle: 
+ at idle_time: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_account_login_time ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at login_time: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_account_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status_id: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_account_actions ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_user_idle ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at idle: 
+ at idle_time: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_user_login_time ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at login_time: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_user_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at status_id: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_user_status_deactive ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at status_id: 
+
+
+<!-- ##### FUNCTION purple_prpl_change_account_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at old_status: 
+ at new_status: 
+
+
+<!-- ##### FUNCTION purple_prpl_get_statuses ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prpl_send_attention ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at type_code: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_attention ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at type_code: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_attention_in_chat ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at who: 
+ at type_code: 
+
+
+<!-- ##### FUNCTION purple_prpl_get_media_caps ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prpl_initiate_media ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_media_caps ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+
+
+<!-- ##### FUNCTION purple_find_prpl ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/purple-client-bindings.sgml	fca2a2c6847e6c682afb5bf3ee9150208695107b
@@ -0,0 +1,7841 @@
+<!-- ##### SECTION Title ##### -->
+purple-client-bindings
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurpleAccountRequestType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_ACCOUNT_REQUEST_AUTHORIZATION: 
+
+<!-- ##### ENUM PurpleAccountRequestResponse ##### -->
+<para>
+
+</para>
+
+ at PURPLE_ACCOUNT_RESPONSE_IGNORE: 
+ at PURPLE_ACCOUNT_RESPONSE_DENY: 
+ at PURPLE_ACCOUNT_RESPONSE_PASS: 
+ at PURPLE_ACCOUNT_RESPONSE_ACCEPT: 
+
+<!-- ##### ENUM PurpleBlistNodeFlags ##### -->
+<para>
+
+</para>
+
+ at PURPLE_BLIST_NODE_FLAG_NO_SAVE: 
+
+<!-- ##### ENUM PurpleCertificateVerificationStatus ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CERTIFICATE_INVALID: 
+ at PURPLE_CERTIFICATE_VALID: 
+
+<!-- ##### ENUM PurpleCipherBatchMode ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CIPHER_BATCH_MODE_ECB: 
+ at PURPLE_CIPHER_BATCH_MODE_CBC: 
+
+<!-- ##### ENUM PurpleCmdStatus ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CMD_STATUS_OK: 
+ at PURPLE_CMD_STATUS_FAILED: 
+ at PURPLE_CMD_STATUS_NOT_FOUND: 
+ at PURPLE_CMD_STATUS_WRONG_ARGS: 
+ at PURPLE_CMD_STATUS_WRONG_PRPL: 
+ at PURPLE_CMD_STATUS_WRONG_TYPE: 
+
+<!-- ##### ENUM PurpleCmdRet ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CMD_RET_OK: 
+ at PURPLE_CMD_RET_FAILED: 
+ at PURPLE_CMD_RET_CONTINUE: 
+
+<!-- ##### ENUM PurpleCmdPriority ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CMD_P_VERY_LOW: 
+ at PURPLE_CMD_P_LOW: 
+ at PURPLE_CMD_P_DEFAULT: 
+ at PURPLE_CMD_P_PRPL: 
+ at PURPLE_CMD_P_PLUGIN: 
+ at PURPLE_CMD_P_ALIAS: 
+ at PURPLE_CMD_P_HIGH: 
+ at PURPLE_CMD_P_VERY_HIGH: 
+
+<!-- ##### ENUM PurpleCmdFlag ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CMD_FLAG_IM: 
+ at PURPLE_CMD_FLAG_CHAT: 
+ at PURPLE_CMD_FLAG_PRPL_ONLY: 
+ at PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS: 
+
+<!-- ##### ENUM PurpleConnectionFlags ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CONNECTION_FLAGS_HTML: 
+ at PURPLE_CONNECTION_FLAGS_NO_BGCOLOR: 
+ at PURPLE_CONNECTION_FLAGS_AUTO_RESP: 
+ at PURPLE_CONNECTION_FLAGS_FORMATTING_WBFO: 
+ at PURPLE_CONNECTION_FLAGS_NO_NEWLINES: 
+ at PURPLE_CONNECTION_FLAGS_NO_FONTSIZE: 
+ at PURPLE_CONNECTION_FLAGS_NO_URLDESC: 
+ at PURPLE_CONNECTION_FLAGS_NO_IMAGES: 
+ at PURPLE_CONNECTION_FLAGS_ALLOW_CUSTOM_SMILEY: 
+ at PURPLE_CONNECTION_FLAGS_SUPPORT_MOODS: 
+ at PURPLE_CONNECTION_FLAGS_SUPPORT_MOOD_MESSAGES: 
+
+<!-- ##### ENUM PurpleConnectionState ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CONNECTION_STATE_DISCONNECTED: 
+ at PURPLE_CONNECTION_STATE_CONNECTED: 
+ at PURPLE_CONNECTION_STATE_CONNECTING: 
+
+<!-- ##### ENUM PurpleConnectionError ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CONNECTION_ERROR_NETWORK_ERROR: 
+ at PURPLE_CONNECTION_ERROR_INVALID_USERNAME: 
+ at PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED: 
+ at PURPLE_CONNECTION_ERROR_AUTHENTICATION_IMPOSSIBLE: 
+ at PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT: 
+ at PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR: 
+ at PURPLE_CONNECTION_ERROR_NAME_IN_USE: 
+ at PURPLE_CONNECTION_ERROR_INVALID_SETTINGS: 
+ at PURPLE_CONNECTION_ERROR_CERT_NOT_PROVIDED: 
+ at PURPLE_CONNECTION_ERROR_CERT_UNTRUSTED: 
+ at PURPLE_CONNECTION_ERROR_CERT_EXPIRED: 
+ at PURPLE_CONNECTION_ERROR_CERT_NOT_ACTIVATED: 
+ at PURPLE_CONNECTION_ERROR_CERT_HOSTNAME_MISMATCH: 
+ at PURPLE_CONNECTION_ERROR_CERT_FINGERPRINT_MISMATCH: 
+ at PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED: 
+ at PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR: 
+ at PURPLE_CONNECTION_ERROR_OTHER_ERROR: 
+
+<!-- ##### ENUM PurpleConversationType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CONV_TYPE_UNKNOWN: 
+ at PURPLE_CONV_TYPE_IM: 
+ at PURPLE_CONV_TYPE_CHAT: 
+ at PURPLE_CONV_TYPE_MISC: 
+ at PURPLE_CONV_TYPE_ANY: 
+
+<!-- ##### ENUM PurpleConvUpdateType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CONV_UPDATE_ADD: 
+ at PURPLE_CONV_UPDATE_REMOVE: 
+ at PURPLE_CONV_UPDATE_ACCOUNT: 
+ at PURPLE_CONV_UPDATE_TYPING: 
+ at PURPLE_CONV_UPDATE_UNSEEN: 
+ at PURPLE_CONV_UPDATE_LOGGING: 
+ at PURPLE_CONV_UPDATE_TOPIC: 
+ at PURPLE_CONV_ACCOUNT_ONLINE: 
+ at PURPLE_CONV_ACCOUNT_OFFLINE: 
+ at PURPLE_CONV_UPDATE_AWAY: 
+ at PURPLE_CONV_UPDATE_ICON: 
+ at PURPLE_CONV_UPDATE_TITLE: 
+ at PURPLE_CONV_UPDATE_CHATLEFT: 
+ at PURPLE_CONV_UPDATE_FEATURES: 
+
+<!-- ##### ENUM PurpleTypingState ##### -->
+<para>
+
+</para>
+
+ at PURPLE_NOT_TYPING: 
+ at PURPLE_TYPING: 
+ at PURPLE_TYPED: 
+
+<!-- ##### ENUM PurpleMessageFlags ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MESSAGE_SEND: 
+ at PURPLE_MESSAGE_RECV: 
+ at PURPLE_MESSAGE_SYSTEM: 
+ at PURPLE_MESSAGE_AUTO_RESP: 
+ at PURPLE_MESSAGE_ACTIVE_ONLY: 
+ at PURPLE_MESSAGE_NICK: 
+ at PURPLE_MESSAGE_NO_LOG: 
+ at PURPLE_MESSAGE_WHISPER: 
+ at PURPLE_MESSAGE_ERROR: 
+ at PURPLE_MESSAGE_DELAYED: 
+ at PURPLE_MESSAGE_RAW: 
+ at PURPLE_MESSAGE_IMAGES: 
+ at PURPLE_MESSAGE_NOTIFY: 
+ at PURPLE_MESSAGE_NO_LINKIFY: 
+ at PURPLE_MESSAGE_INVISIBLE: 
+
+<!-- ##### ENUM PurpleConvChatBuddyFlags ##### -->
+<para>
+
+</para>
+
+ at PURPLE_CBFLAGS_NONE: 
+ at PURPLE_CBFLAGS_VOICE: 
+ at PURPLE_CBFLAGS_HALFOP: 
+ at PURPLE_CBFLAGS_OP: 
+ at PURPLE_CBFLAGS_FOUNDER: 
+ at PURPLE_CBFLAGS_TYPING: 
+ at PURPLE_CBFLAGS_AWAY: 
+
+<!-- ##### ENUM PurpleDebugLevel ##### -->
+<para>
+
+</para>
+
+ at PURPLE_DEBUG_ALL: 
+ at PURPLE_DEBUG_MISC: 
+ at PURPLE_DEBUG_INFO: 
+ at PURPLE_DEBUG_WARNING: 
+ at PURPLE_DEBUG_ERROR: 
+ at PURPLE_DEBUG_FATAL: 
+
+<!-- ##### ENUM PurpleDesktopItemType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_DESKTOP_ITEM_TYPE_NULL: 
+ at PURPLE_DESKTOP_ITEM_TYPE_OTHER: 
+ at PURPLE_DESKTOP_ITEM_TYPE_APPLICATION: 
+ at PURPLE_DESKTOP_ITEM_TYPE_LINK: 
+ at PURPLE_DESKTOP_ITEM_TYPE_FSDEVICE: 
+ at PURPLE_DESKTOP_ITEM_TYPE_MIME_TYPE: 
+ at PURPLE_DESKTOP_ITEM_TYPE_DIRECTORY: 
+ at PURPLE_DESKTOP_ITEM_TYPE_SERVICE: 
+ at PURPLE_DESKTOP_ITEM_TYPE_SERVICE_TYPE: 
+
+<!-- ##### ENUM PurpleInputCondition ##### -->
+<para>
+
+</para>
+
+ at PURPLE_INPUT_READ: 
+ at PURPLE_INPUT_WRITE: 
+
+<!-- ##### ENUM PurpleXferType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_XFER_UNKNOWN: 
+ at PURPLE_XFER_SEND: 
+ at PURPLE_XFER_RECEIVE: 
+
+<!-- ##### ENUM PurpleXferStatusType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_XFER_STATUS_UNKNOWN: 
+ at PURPLE_XFER_STATUS_NOT_STARTED: 
+ at PURPLE_XFER_STATUS_ACCEPTED: 
+ at PURPLE_XFER_STATUS_STARTED: 
+ at PURPLE_XFER_STATUS_DONE: 
+ at PURPLE_XFER_STATUS_CANCEL_LOCAL: 
+ at PURPLE_XFER_STATUS_CANCEL_REMOTE: 
+
+<!-- ##### ENUM PurpleLogType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_LOG_IM: 
+ at PURPLE_LOG_CHAT: 
+ at PURPLE_LOG_SYSTEM: 
+
+<!-- ##### ENUM PurpleLogReadFlags ##### -->
+<para>
+
+</para>
+
+ at PURPLE_LOG_READ_NO_NEWLINE: 
+
+<!-- ##### ENUM PurpleMediaElementType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_ELEMENT_NONE: 
+ at PURPLE_MEDIA_ELEMENT_AUDIO: 
+ at PURPLE_MEDIA_ELEMENT_VIDEO: 
+ at PURPLE_MEDIA_ELEMENT_AUDIO_VIDEO: 
+ at PURPLE_MEDIA_ELEMENT_NO_SRCS: 
+ at PURPLE_MEDIA_ELEMENT_ONE_SRC: 
+ at PURPLE_MEDIA_ELEMENT_MULTI_SRC: 
+ at PURPLE_MEDIA_ELEMENT_REQUEST_SRC: 
+ at PURPLE_MEDIA_ELEMENT_NO_SINKS: 
+ at PURPLE_MEDIA_ELEMENT_ONE_SINK: 
+ at PURPLE_MEDIA_ELEMENT_MULTI_SINK: 
+ at PURPLE_MEDIA_ELEMENT_REQUEST_SINK: 
+ at PURPLE_MEDIA_ELEMENT_UNIQUE: 
+ at PURPLE_MEDIA_ELEMENT_SRC: 
+ at PURPLE_MEDIA_ELEMENT_SINK: 
+
+<!-- ##### ENUM PurplePmpType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PMP_TYPE_UDP: 
+ at PURPLE_PMP_TYPE_TCP: 
+
+<!-- ##### ENUM PurpleNotifyType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_NOTIFY_MESSAGE: 
+ at PURPLE_NOTIFY_EMAIL: 
+ at PURPLE_NOTIFY_EMAILS: 
+ at PURPLE_NOTIFY_FORMATTED: 
+ at PURPLE_NOTIFY_SEARCHRESULTS: 
+ at PURPLE_NOTIFY_USERINFO: 
+ at PURPLE_NOTIFY_URI: 
+
+<!-- ##### ENUM PurpleNotifyMsgType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_NOTIFY_MSG_ERROR: 
+ at PURPLE_NOTIFY_MSG_WARNING: 
+ at PURPLE_NOTIFY_MSG_INFO: 
+
+<!-- ##### ENUM PurpleNotifySearchButtonType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_NOTIFY_BUTTON_LABELED: 
+ at PURPLE_NOTIFY_BUTTON_CONTINUE: 
+ at PURPLE_NOTIFY_BUTTON_ADD: 
+ at PURPLE_NOTIFY_BUTTON_INFO: 
+ at PURPLE_NOTIFY_BUTTON_IM: 
+ at PURPLE_NOTIFY_BUTTON_JOIN: 
+ at PURPLE_NOTIFY_BUTTON_INVITE: 
+
+<!-- ##### ENUM PurpleNotifyUserInfoEntryType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_NOTIFY_USER_INFO_ENTRY_PAIR: 
+ at PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK: 
+ at PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER: 
+
+<!-- ##### ENUM PurplePluginType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PLUGIN_UNKNOWN: 
+ at PURPLE_PLUGIN_STANDARD: 
+ at PURPLE_PLUGIN_LOADER: 
+ at PURPLE_PLUGIN_PROTOCOL: 
+
+<!-- ##### ENUM PurpleStringFormatType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_STRING_FORMAT_TYPE_NONE: 
+ at PURPLE_STRING_FORMAT_TYPE_MULTILINE: 
+ at PURPLE_STRING_FORMAT_TYPE_HTML: 
+
+<!-- ##### ENUM PurplePluginPrefType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PLUGIN_PREF_NONE: 
+ at PURPLE_PLUGIN_PREF_CHOICE: 
+ at PURPLE_PLUGIN_PREF_INFO: 
+ at PURPLE_PLUGIN_PREF_STRING_FORMAT: 
+
+<!-- ##### ENUM PurplePounceEvent ##### -->
+<para>
+
+</para>
+
+ at PURPLE_POUNCE_NONE: 
+ at PURPLE_POUNCE_SIGNON: 
+ at PURPLE_POUNCE_SIGNOFF: 
+ at PURPLE_POUNCE_AWAY: 
+ at PURPLE_POUNCE_AWAY_RETURN: 
+ at PURPLE_POUNCE_IDLE: 
+ at PURPLE_POUNCE_IDLE_RETURN: 
+ at PURPLE_POUNCE_TYPING: 
+ at PURPLE_POUNCE_TYPED: 
+ at PURPLE_POUNCE_TYPING_STOPPED: 
+ at PURPLE_POUNCE_MESSAGE_RECEIVED: 
+
+<!-- ##### ENUM PurplePounceOption ##### -->
+<para>
+
+</para>
+
+ at PURPLE_POUNCE_OPTION_NONE: 
+ at PURPLE_POUNCE_OPTION_AWAY: 
+
+<!-- ##### ENUM PurplePrefType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PREF_NONE: 
+ at PURPLE_PREF_BOOLEAN: 
+ at PURPLE_PREF_INT: 
+ at PURPLE_PREF_STRING: 
+ at PURPLE_PREF_STRING_LIST: 
+ at PURPLE_PREF_PATH: 
+ at PURPLE_PREF_PATH_LIST: 
+
+<!-- ##### ENUM PurplePrivacyType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PRIVACY_ALLOW_ALL: 
+ at PURPLE_PRIVACY_DENY_ALL: 
+ at PURPLE_PRIVACY_ALLOW_USERS: 
+ at PURPLE_PRIVACY_DENY_USERS: 
+ at PURPLE_PRIVACY_ALLOW_BUDDYLIST: 
+
+<!-- ##### ENUM PurpleProxyType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PROXY_USE_GLOBAL: 
+ at PURPLE_PROXY_NONE: 
+ at PURPLE_PROXY_HTTP: 
+ at PURPLE_PROXY_SOCKS4: 
+ at PURPLE_PROXY_SOCKS5: 
+ at PURPLE_PROXY_USE_ENVVAR: 
+
+<!-- ##### ENUM PurpleIconScaleRules ##### -->
+<para>
+
+</para>
+
+ at PURPLE_ICON_SCALE_DISPLAY: 
+ at PURPLE_ICON_SCALE_SEND: 
+
+<!-- ##### ENUM PurpleProtocolOptions ##### -->
+<para>
+
+</para>
+
+ at OPT_PROTO_UNIQUE_CHATNAME: 
+ at OPT_PROTO_CHAT_TOPIC: 
+ at OPT_PROTO_NO_PASSWORD: 
+ at OPT_PROTO_MAIL_CHECK: 
+ at OPT_PROTO_IM_IMAGE: 
+ at OPT_PROTO_PASSWORD_OPTIONAL: 
+ at OPT_PROTO_USE_POINTSIZE: 
+ at OPT_PROTO_REGISTER_NOSCREENNAME: 
+ at OPT_PROTO_SLASH_COMMANDS_NATIVE: 
+ at OPT_PROTO_INVITE_MESSAGE: 
+
+<!-- ##### ENUM PurpleRequestType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_REQUEST_INPUT: 
+ at PURPLE_REQUEST_CHOICE: 
+ at PURPLE_REQUEST_ACTION: 
+ at PURPLE_REQUEST_FIELDS: 
+ at PURPLE_REQUEST_FILE: 
+ at PURPLE_REQUEST_FOLDER: 
+
+<!-- ##### ENUM PurpleRequestFieldType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_REQUEST_FIELD_NONE: 
+ at PURPLE_REQUEST_FIELD_STRING: 
+ at PURPLE_REQUEST_FIELD_INTEGER: 
+ at PURPLE_REQUEST_FIELD_BOOLEAN: 
+ at PURPLE_REQUEST_FIELD_CHOICE: 
+ at PURPLE_REQUEST_FIELD_LIST: 
+ at PURPLE_REQUEST_FIELD_LABEL: 
+ at PURPLE_REQUEST_FIELD_IMAGE: 
+ at PURPLE_REQUEST_FIELD_ACCOUNT: 
+
+<!-- ##### ENUM PurpleRoomlistRoomType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_ROOMLIST_ROOMTYPE_CATEGORY: 
+ at PURPLE_ROOMLIST_ROOMTYPE_ROOM: 
+
+<!-- ##### ENUM PurpleRoomlistFieldType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_ROOMLIST_FIELD_BOOL: 
+ at PURPLE_ROOMLIST_FIELD_INT: 
+ at PURPLE_ROOMLIST_FIELD_STRING: 
+
+<!-- ##### ENUM PurplePresenceContext ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PRESENCE_CONTEXT_UNSET: 
+ at PURPLE_PRESENCE_CONTEXT_ACCOUNT: 
+ at PURPLE_PRESENCE_CONTEXT_CONV: 
+ at PURPLE_PRESENCE_CONTEXT_BUDDY: 
+
+<!-- ##### ENUM PurpleStatusPrimitive ##### -->
+<para>
+
+</para>
+
+ at PURPLE_STATUS_UNSET: 
+ at PURPLE_STATUS_OFFLINE: 
+ at PURPLE_STATUS_AVAILABLE: 
+ at PURPLE_STATUS_UNAVAILABLE: 
+ at PURPLE_STATUS_INVISIBLE: 
+ at PURPLE_STATUS_AWAY: 
+ at PURPLE_STATUS_EXTENDED_AWAY: 
+ at PURPLE_STATUS_MOBILE: 
+ at PURPLE_STATUS_TUNE: 
+ at PURPLE_STATUS_MOOD: 
+ at PURPLE_STATUS_NUM_PRIMITIVES: 
+
+<!-- ##### ENUM PurpleStunStatus ##### -->
+<para>
+
+</para>
+
+ at PURPLE_STUN_STATUS_UNDISCOVERED: 
+ at PURPLE_STUN_STATUS_UNKNOWN: 
+ at PURPLE_STUN_STATUS_DISCOVERING: 
+ at PURPLE_STUN_STATUS_DISCOVERED: 
+
+<!-- ##### ENUM PurpleStunNatType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_STUN_NAT_TYPE_PUBLIC_IP: 
+ at PURPLE_STUN_NAT_TYPE_UNKNOWN_NAT: 
+ at PURPLE_STUN_NAT_TYPE_FULL_CONE: 
+ at PURPLE_STUN_NAT_TYPE_RESTRICTED_CONE: 
+ at PURPLE_STUN_NAT_TYPE_PORT_RESTRICTED_CONE: 
+ at PURPLE_STUN_NAT_TYPE_SYMMETRIC: 
+
+<!-- ##### ENUM PurpleSoundEventID ##### -->
+<para>
+
+</para>
+
+ at PURPLE_SOUND_BUDDY_ARRIVE: 
+ at PURPLE_SOUND_BUDDY_LEAVE: 
+ at PURPLE_SOUND_RECEIVE: 
+ at PURPLE_SOUND_FIRST_RECEIVE: 
+ at PURPLE_SOUND_SEND: 
+ at PURPLE_SOUND_CHAT_JOIN: 
+ at PURPLE_SOUND_CHAT_LEAVE: 
+ at PURPLE_SOUND_CHAT_YOU_SAY: 
+ at PURPLE_SOUND_CHAT_SAY: 
+ at PURPLE_SOUND_POUNCE_DEFAULT: 
+ at PURPLE_SOUND_CHAT_NICK: 
+ at PURPLE_SOUND_GOT_ATTENTION: 
+ at PURPLE_NUM_SOUNDS: 
+
+<!-- ##### ENUM PurpleSslErrorType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_SSL_HANDSHAKE_FAILED: 
+ at PURPLE_SSL_CONNECT_FAILED: 
+ at PURPLE_SSL_CERTIFICATE_INVALID: 
+
+<!-- ##### ENUM PurpleType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_TYPE_UNKNOWN: 
+ at PURPLE_TYPE_SUBTYPE: 
+ at PURPLE_TYPE_CHAR: 
+ at PURPLE_TYPE_UCHAR: 
+ at PURPLE_TYPE_BOOLEAN: 
+ at PURPLE_TYPE_SHORT: 
+ at PURPLE_TYPE_USHORT: 
+ at PURPLE_TYPE_INT: 
+ at PURPLE_TYPE_UINT: 
+ at PURPLE_TYPE_LONG: 
+ at PURPLE_TYPE_ULONG: 
+ at PURPLE_TYPE_INT64: 
+ at PURPLE_TYPE_UINT64: 
+ at PURPLE_TYPE_STRING: 
+ at PURPLE_TYPE_POINTER: 
+ at PURPLE_TYPE_ENUM: 
+ at PURPLE_TYPE_BOXED: 
+
+<!-- ##### ENUM PurpleSubType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_SUBTYPE_UNKNOWN: 
+ at PURPLE_SUBTYPE_ACCOUNT: 
+ at PURPLE_SUBTYPE_BLIST: 
+ at PURPLE_SUBTYPE_BLIST_BUDDY: 
+ at PURPLE_SUBTYPE_BLIST_GROUP: 
+ at PURPLE_SUBTYPE_BLIST_CHAT: 
+ at PURPLE_SUBTYPE_BUDDY_ICON: 
+ at PURPLE_SUBTYPE_CONNECTION: 
+ at PURPLE_SUBTYPE_CONVERSATION: 
+ at PURPLE_SUBTYPE_PLUGIN: 
+ at PURPLE_SUBTYPE_BLIST_NODE: 
+ at PURPLE_SUBTYPE_CIPHER: 
+ at PURPLE_SUBTYPE_STATUS: 
+ at PURPLE_SUBTYPE_LOG: 
+ at PURPLE_SUBTYPE_XFER: 
+ at PURPLE_SUBTYPE_SAVEDSTATUS: 
+ at PURPLE_SUBTYPE_XMLNODE: 
+ at PURPLE_SUBTYPE_USERINFO: 
+ at PURPLE_SUBTYPE_STORED_IMAGE: 
+ at PURPLE_SUBTYPE_CERTIFICATEPOOL: 
+
+<!-- ##### ENUM XMLNodeType ##### -->
+<para>
+
+</para>
+
+ at XMLNODE_TYPE_TAG: 
+ at XMLNODE_TYPE_ATTRIB: 
+ at XMLNODE_TYPE_DATA: 
+
+<!-- ##### ENUM PurpleMediaCandidateType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_CANDIDATE_TYPE_HOST: 
+ at PURPLE_MEDIA_CANDIDATE_TYPE_SRFLX: 
+ at PURPLE_MEDIA_CANDIDATE_TYPE_PRFLX: 
+ at PURPLE_MEDIA_CANDIDATE_TYPE_RELAY: 
+ at PURPLE_MEDIA_CANDIDATE_TYPE_MULTICAST: 
+
+<!-- ##### ENUM PurpleMediaCaps ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_CAPS_NONE: 
+ at PURPLE_MEDIA_CAPS_AUDIO: 
+ at PURPLE_MEDIA_CAPS_AUDIO_SINGLE_DIRECTION: 
+ at PURPLE_MEDIA_CAPS_VIDEO: 
+ at PURPLE_MEDIA_CAPS_VIDEO_SINGLE_DIRECTION: 
+ at PURPLE_MEDIA_CAPS_AUDIO_VIDEO: 
+ at PURPLE_MEDIA_CAPS_MODIFY_SESSION: 
+ at PURPLE_MEDIA_CAPS_CHANGE_DIRECTION: 
+
+<!-- ##### ENUM PurpleMediaComponentType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_COMPONENT_NONE: 
+ at PURPLE_MEDIA_COMPONENT_RTP: 
+ at PURPLE_MEDIA_COMPONENT_RTCP: 
+
+<!-- ##### ENUM PurpleMediaInfoType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_INFO_HANGUP: 
+ at PURPLE_MEDIA_INFO_ACCEPT: 
+ at PURPLE_MEDIA_INFO_REJECT: 
+ at PURPLE_MEDIA_INFO_MUTE: 
+ at PURPLE_MEDIA_INFO_UNMUTE: 
+ at PURPLE_MEDIA_INFO_PAUSE: 
+ at PURPLE_MEDIA_INFO_UNPAUSE: 
+ at PURPLE_MEDIA_INFO_HOLD: 
+ at PURPLE_MEDIA_INFO_UNHOLD: 
+
+<!-- ##### ENUM PurpleMediaNetworkProtocol ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_NETWORK_PROTOCOL_UDP: 
+ at PURPLE_MEDIA_NETWORK_PROTOCOL_TCP: 
+
+<!-- ##### ENUM PurpleMediaSessionType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_NONE: 
+ at PURPLE_MEDIA_RECV_AUDIO: 
+ at PURPLE_MEDIA_SEND_AUDIO: 
+ at PURPLE_MEDIA_RECV_VIDEO: 
+ at PURPLE_MEDIA_SEND_VIDEO: 
+ at PURPLE_MEDIA_AUDIO: 
+ at PURPLE_MEDIA_VIDEO: 
+
+<!-- ##### ENUM PurpleMediaState ##### -->
+<para>
+
+</para>
+
+ at PURPLE_MEDIA_STATE_NEW: 
+ at PURPLE_MEDIA_STATE_CONNECTED: 
+ at PURPLE_MEDIA_STATE_END: 
+
+<!-- ##### STRUCT PurpleAccount ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_accounts_find_any ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at protocol: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_find_connected ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at protocol: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleBlistNode ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION PURPLE_IS_BUDDY ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_IS_CONTACT ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_IS_GROUP ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleBuddy ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG PurpleBuddy:account ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleBuddy:alias ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleBuddy:name ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION PURPLE_BUDDY_IS_ONLINE ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_BLIST_NODE_HAS_FLAG ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_BLIST_NODE_SHOULD_SAVE ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleConnection ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION PURPLE_CONNECTION_IS_CONNECTED ##### -->
+<para>
+
+</para>
+
+ at connection: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION PURPLE_CONNECTION_IS_VALID ##### -->
+<para>
+
+</para>
+
+ at connection: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleConversation ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleConvIm ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION PURPLE_CONV_IM ##### -->
+<para>
+
+</para>
+
+ at conversation: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_new ##### -->
+<para>
+
+</para>
+
+ at username: 
+ at protocol_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_connect ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_register ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_disconnect ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_notify_added ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at remote_user: 
+ at id: 
+ at alias: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_account_request_add ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at remote_user: 
+ at id: 
+ at alias: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_account_request_close_with_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_request_close ##### -->
+<para>
+
+</para>
+
+ at ui_handle_NULL: 
+
+
+<!-- ##### FUNCTION purple_account_request_change_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_request_change_user_info ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_set_username ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at username: 
+
+
+<!-- ##### FUNCTION purple_account_set_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at password: 
+
+
+<!-- ##### FUNCTION purple_account_set_alias ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at alias: 
+
+
+<!-- ##### FUNCTION purple_account_set_user_info ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at user_info: 
+
+
+<!-- ##### FUNCTION purple_account_set_buddy_icon_path ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at path: 
+
+
+<!-- ##### FUNCTION purple_account_set_connection ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at gc: 
+
+
+<!-- ##### FUNCTION purple_account_set_remember_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_check_mail ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_enabled ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at value: 
+
+
+<!-- ##### STRUCT PurpleProxyInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_account_set_proxy_info ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at info: 
+
+
+<!-- ##### FUNCTION purple_account_set_privacy_type ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at privacy_type: 
+
+
+<!-- ##### FUNCTION purple_account_set_status_types ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status_types_NULL: 
+
+
+<!-- ##### FUNCTION purple_account_set_status_list ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status_id: 
+ at active: 
+ at attrs_NULL: 
+
+
+<!-- ##### FUNCTION purple_account_get_silence_suppression ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_set_silence_suppression ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_clear_settings ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_remove_setting ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at setting: 
+
+
+<!-- ##### FUNCTION purple_account_set_int ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_string ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_bool ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_ui_int ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_ui_string ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_set_ui_bool ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_account_is_connected ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_is_connecting ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_is_disconnected ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_is_disconnecting ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_username ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_alias ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_user_info ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_buddy_icon_path ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_protocol_id ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_protocol_name ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_connection ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_name_for_display ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_remember_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_check_mail ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_enabled ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_proxy_info ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_privacy_type ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleStatus ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_account_get_active_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status_id: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleStatusType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_account_get_status_type ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_status_type_with_primitive ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at primitive: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurplePresence ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_account_get_presence ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_is_status_active ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at status_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_status_types ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_int ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_string ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_bool ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_ui_int ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_ui_string ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_get_ui_bool ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at ui: 
+ at name: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleLog ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at conv: 
+ at time: 
+ at logger: 
+ at logger_data: 
+ at tm: 
+
+<!-- ##### FUNCTION purple_account_get_log ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at create: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_destroy_log ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_account_add_buddy ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddy: 
+
+
+<!-- ##### FUNCTION purple_account_add_buddy_with_invite ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddy: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_account_add_buddies ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddies_NULL: 
+
+
+<!-- ##### FUNCTION purple_account_add_buddies_with_invite ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddies_NULL: 
+ at message: 
+
+
+<!-- ##### STRUCT PurpleGroup ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG PurpleGroup:name ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION purple_account_remove_buddy ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddy: 
+ at group: 
+
+
+<!-- ##### FUNCTION purple_account_remove_buddies ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddies_NULL: 
+ at groups_NULL: 
+
+
+<!-- ##### FUNCTION purple_account_remove_group ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at group: 
+
+
+<!-- ##### FUNCTION purple_account_change_password ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at orig_pw: 
+ at new_pw: 
+
+
+<!-- ##### FUNCTION purple_account_supports_offline_message ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleConnectionErrorInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_account_get_current_error ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_account_clear_current_error ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_accounts_restore_current_statuses ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### STRUCT PurpleAccountUiOps ##### -->
+<para>
+
+</para>
+
+ at notify_added: 
+ at status_changed: 
+ at request_add: 
+ at request_authorize: 
+ at close_account_request: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_accounts_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_accounts_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_accounts_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_accounts_activate ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_accounts_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_actives ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_find ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at protocol: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_accounts_reorder ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at newindex: 
+
+
+<!-- ##### STRUCT xmlnode ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at xmlns: 
+ at type: 
+ at data: 
+ at data_sz: 
+ at parent: 
+ at child: 
+ at lastchild: 
+ at next: 
+ at prefix: 
+ at namespace_map: 
+
+<!-- ##### FUNCTION parse_setting ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at setting: 
+
+
+<!-- ##### FUNCTION purple_strings_are_different ##### -->
+<para>
+
+</para>
+
+ at one: 
+ at two: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_get_root ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_get_buddies ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_show ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_blist_destroy ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_blist_set_visible ##### -->
+<para>
+
+</para>
+
+ at show: 
+
+
+<!-- ##### FUNCTION purple_blist_update_buddy_status ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at old_status: 
+
+
+<!-- ##### FUNCTION purple_blist_update_node_icon ##### -->
+<para>
+
+</para>
+
+ at node: 
+
+
+<!-- ##### FUNCTION purple_blist_update_buddy_icon ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+
+
+<!-- ##### STRUCT PurpleContact ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_blist_alias_contact ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at alias: 
+
+
+<!-- ##### FUNCTION purple_blist_server_alias_buddy ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at alias: 
+
+
+<!-- ##### FUNCTION purple_blist_rename_group ##### -->
+<para>
+
+</para>
+
+ at group: 
+ at name: 
+
+
+<!-- ##### STRUCT PurpleChat ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG PurpleChat:account ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleChat:alias ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleChat:components ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION purple_blist_add_chat ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at group: 
+ at node: 
+
+
+<!-- ##### FUNCTION purple_blist_add_buddy ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at contact: 
+ at group: 
+ at node: 
+
+
+<!-- ##### FUNCTION purple_find_buddy ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_find_buddy_in_group ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at group: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_find_buddies ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_find_group ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_find_chat ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_blist_add_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_blist_remove_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_blist_load ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_blist_schedule_save ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_blist_request_add_buddy ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at username: 
+ at group: 
+ at alias: 
+
+
+<!-- ##### FUNCTION purple_blist_request_add_chat ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at group: 
+ at alias: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_blist_request_add_group ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### STRUCT PurpleBlistUiOps ##### -->
+<para>
+
+</para>
+
+ at new_list: 
+ at new_node: 
+ at show: 
+ at update: 
+ at remove: 
+ at destroy: 
+ at set_visible: 
+ at request_add_buddy: 
+ at request_add_chat: 
+ at request_add_group: 
+ at save_node: 
+ at remove_node: 
+ at save_account: 
+ at _purple_reserved1: 
+
+<!-- ##### FUNCTION purple_blist_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_blist_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleBuddyIcon ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_buddy_icon_new ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at username: 
+ at icon_data: 
+ at icon_len: 
+ at checksum: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_ref ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_unref ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_update ##### -->
+<para>
+
+</para>
+
+ at icon: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_set_data ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at data: 
+ at len: 
+ at checksum: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_account ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_username ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_checksum ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_extension ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icon_get_full_path ##### -->
+<para>
+
+</para>
+
+ at icon: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_set_for_user ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at username: 
+ at icon_data: 
+ at icon_len: 
+ at checksum: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_find ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at username: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleStoredImage ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_buddy_icons_find_account_icon ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_set_account_icon ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at icon_data: 
+ at icon_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_get_account_icon_timestamp ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_node_has_custom_icon ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_node_find_custom_icon ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_node_set_custom_icon ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at icon_data: 
+ at icon_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_node_set_custom_icon_from_file ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_has_custom_icon ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_find_custom_icon ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_set_custom_icon ##### -->
+<para>
+
+</para>
+
+ at contact: 
+ at icon_data: 
+ at icon_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_set_caching ##### -->
+<para>
+
+</para>
+
+ at caching: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_is_caching ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_set_cache_dir ##### -->
+<para>
+
+</para>
+
+ at cache_dir: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_get_cache_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_buddy_icons_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### STRUCT PurpleBuddyIconSpec ##### -->
+<para>
+
+</para>
+
+ at format: 
+ at min_width: 
+ at min_height: 
+ at max_width: 
+ at max_height: 
+ at max_filesize: 
+ at scale_rules: 
+
+<!-- ##### FUNCTION purple_buddy_icon_get_scale_size ##### -->
+<para>
+
+</para>
+
+ at spec: 
+ at width: 
+ at height: 
+
+
+<!-- ##### FUNCTION purple_connection_new ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at regist: 
+ at password: 
+
+
+<!-- ##### FUNCTION purple_connection_destroy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION purple_connection_set_state ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at state: 
+
+
+<!-- ##### FUNCTION purple_connection_set_flags ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at flags: 
+
+
+<!-- ##### FUNCTION purple_connection_set_display_name ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_connection_get_state ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_get_flags ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_get_account ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurplePlugin ##### -->
+<para>
+
+</para>
+
+ at native_plugin: 
+ at loaded: 
+ at handle: 
+ at path: 
+ at info: 
+ at error: 
+ at ipc_data: 
+ at extra: 
+ at unloadable: 
+ at dependent_plugins: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_connection_get_prpl ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_get_password ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_get_display_name ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connection_update_progress ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at text: 
+ at step: 
+ at count: 
+
+
+<!-- ##### FUNCTION purple_connection_received_now ##### -->
+<para>
+
+</para>
+
+ at conn: 
+
+
+<!-- ##### FUNCTION purple_connection_notice ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at text: 
+
+
+<!-- ##### FUNCTION purple_connection_error ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at reason: 
+
+
+<!-- ##### FUNCTION purple_connection_error_reason ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at reason: 
+ at description: 
+
+
+<!-- ##### FUNCTION purple_connection_ssl_error ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at ssl_error: 
+
+
+<!-- ##### FUNCTION purple_connection_error_is_fatal ##### -->
+<para>
+
+</para>
+
+ at reason: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_connections_get_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at account: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_destroy ##### -->
+<para>
+
+</para>
+
+ at conv: 
+
+
+<!-- ##### FUNCTION purple_conversation_present ##### -->
+<para>
+
+</para>
+
+ at conv: 
+
+
+<!-- ##### STRUCT PurpleConversationUiOps ##### -->
+<para>
+
+</para>
+
+ at create_conversation: 
+ at destroy_conversation: 
+ at write_chat: 
+ at write_im: 
+ at write_conv: 
+ at chat_add_users: 
+ at chat_rename_user: 
+ at chat_remove_users: 
+ at chat_update_user: 
+ at present: 
+ at has_focus: 
+ at custom_smiley_add: 
+ at custom_smiley_write: 
+ at custom_smiley_close: 
+ at send_confirm: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_conversation_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_conversations_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_ui_data ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_account ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at account: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_account ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_gc ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_title ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at title: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_title ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_autoset_title ##### -->
+<para>
+
+</para>
+
+ at conv: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_name ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_name ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleConvChatBuddy ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_get_attribute ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at key: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_get_attribute_keys ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleConvChat ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_set_attribute ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at cb: 
+ at key: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_set_attributes ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at cb: 
+ at keys: 
+ at values: 
+
+
+<!-- ##### FUNCTION purple_conversation_find_buddy ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_find_buddies ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_logging ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at log: 
+
+
+<!-- ##### FUNCTION purple_conversation_is_logging ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_im_data ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_chat_data ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_get_conversations ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_get_ims ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_get_chats ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_find_conversation_with_account ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_write ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at who: 
+ at message: 
+ at flags: 
+ at mtime: 
+
+
+<!-- ##### FUNCTION purple_conversation_set_features ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at features: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_features ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_has_focus ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_update ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at type: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_message_history ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_clear_message_history ##### -->
+<para>
+
+</para>
+
+ at conv: 
+
+
+<!-- ##### STRUCT PurpleConvMessage ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_sender ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_message ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_flags ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_timestamp ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_alias ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversation_message_get_conversation ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_conversation ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_set_icon ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at icon: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_icon ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_set_typing_state ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at state: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_typing_state ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_start_typing_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at timeout: 
+
+
+<!-- ##### FUNCTION purple_conv_im_stop_typing_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_typing_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_set_type_again ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at val: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_type_again ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_start_send_typed_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+
+
+<!-- ##### FUNCTION purple_conv_im_stop_send_typed_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+
+
+<!-- ##### FUNCTION purple_conv_im_get_send_typed_timeout ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_update_typing ##### -->
+<para>
+
+</para>
+
+ at im: 
+
+
+<!-- ##### FUNCTION purple_conv_im_write ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at who: 
+ at message: 
+ at flags: 
+ at mtime: 
+
+
+<!-- ##### FUNCTION purple_conv_present_error ##### -->
+<para>
+
+</para>
+
+ at who: 
+ at account: 
+ at what: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_im_send ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_conv_send_confirm ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_conv_im_send_with_flags ##### -->
+<para>
+
+</para>
+
+ at im: 
+ at message: 
+ at flags: 
+
+
+<!-- ##### FUNCTION purple_conv_custom_smiley_add ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at smile: 
+ at cksum_type: 
+ at chksum: 
+ at remote: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_custom_smiley_close ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at smile: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_conversation ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_set_users ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at users: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_users ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_ignore ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_unignore ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_set_ignored ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at ignored: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_ignored ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_ignored_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_is_user_ignored ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_set_topic ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at who: 
+ at topic: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_topic ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_set_id ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at id: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_id ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_write ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at who: 
+ at message: 
+ at flags: 
+ at mtime: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_send ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_send_with_flags ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at message: 
+ at flags: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_add_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at extra_msg: 
+ at flags: 
+ at new_arrival: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_add_users ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at users: 
+ at extra_msgs: 
+ at flags: 
+ at new_arrivals: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_rename_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at old_user: 
+ at new_user: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_remove_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at reason: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_remove_users ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at users: 
+ at reason: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_find_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_user_set_flags ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at flags: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_user_get_flags ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_clear_users ##### -->
+<para>
+
+</para>
+
+ at chat: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_set_nick ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at nick: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_get_nick ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_find_chat ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_left ##### -->
+<para>
+
+</para>
+
+ at chat: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_invite_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at message: 
+ at confirm: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_has_left ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_new ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at alias: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_find ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_get_name ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_get_alias ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_get_flags ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_is_buddy ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conv_chat_cb_destroy ##### -->
+<para>
+
+</para>
+
+ at cb: 
+
+
+<!-- ##### FUNCTION purple_conversation_get_extended_menu ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_conversations_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_conversations_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_core_init ##### -->
+<para>
+
+</para>
+
+ at ui: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_core_quit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_core_get_version ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_core_get_ui ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### TYPEDEF PurpleCore ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_get_core ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleCoreUiOps ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_core_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_core_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_core_ensure_single_instance ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleXfer ##### -->
+<para>
+
+</para>
+
+ at ref: 
+ at type: 
+ at account: 
+ at who: 
+ at message: 
+ at filename: 
+ at local_filename: 
+ at size: 
+ at dest_fp: 
+ at remote_ip: 
+ at local_port: 
+ at remote_port: 
+ at fd: 
+ at watcher: 
+ at bytes_sent: 
+ at bytes_remaining: 
+ at start_time: 
+ at end_time: 
+ at current_buffer_size: 
+ at status: 
+
+<!-- ##### FUNCTION purple_xfer_new ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at type: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfers_get_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_ref ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_unref ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_request ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_request_accepted ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at filename: 
+
+
+<!-- ##### FUNCTION purple_xfer_request_denied ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_type ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_account ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_remote_user ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_status ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_is_canceled ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_is_completed ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_filename ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_local_filename ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_bytes_sent ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_bytes_remaining ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_size ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_local_port ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_remote_ip ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_remote_port ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_start_time ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_end_time ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_completed ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at completed: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_message ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_filename ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at filename: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_local_filename ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at filename: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_size ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at size: 
+
+
+<!-- ##### FUNCTION purple_xfer_set_bytes_sent ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at bytes_sent: 
+
+
+<!-- ##### STRUCT PurpleXferUiOps ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_xfer_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_start ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at fd: 
+ at ip: 
+ at port: 
+
+
+<!-- ##### FUNCTION purple_xfer_end ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_add ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_cancel_local ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_cancel_remote ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_error ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at account: 
+ at who: 
+ at msg: 
+
+
+<!-- ##### FUNCTION purple_xfer_update_progress ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION purple_xfer_get_thumbnail_mimetype ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_xfer_prepare_thumbnail ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+ at formats: 
+
+
+<!-- ##### FUNCTION purple_xfers_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_xfers_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_xfers_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_xfers_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_free ##### -->
+<para>
+
+</para>
+
+ at log: 
+
+
+<!-- ##### FUNCTION purple_log_write ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at type: 
+ at from: 
+ at time: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_log_get_logs ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_system_logs ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_size ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_total_size ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_activity_score ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_is_deletable ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_delete ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_get_log_dir ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleLogSet ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at buddy: 
+ at normalized_name: 
+
+<!-- ##### FUNCTION purple_log_set_free ##### -->
+<para>
+
+</para>
+
+ at set: 
+
+
+<!-- ##### FUNCTION purple_log_common_writer ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at ext: 
+
+
+<!-- ##### STRUCT PurpleLogLogger ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at id: 
+ at create: 
+ at write: 
+ at finalize: 
+ at list: 
+ at read: 
+ at size: 
+ at total_size: 
+ at list_syslog: 
+ at get_log_sets: 
+ at remove: 
+ at is_deletable: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_log_common_lister ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at ext: 
+ at logger: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_common_total_sizer ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at account: 
+ at ext: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_common_sizer ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_common_deleter ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_common_is_deletable ##### -->
+<para>
+
+</para>
+
+ at log: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_logger_free ##### -->
+<para>
+
+</para>
+
+ at logger: 
+
+
+<!-- ##### FUNCTION purple_log_logger_add ##### -->
+<para>
+
+</para>
+
+ at logger: 
+
+
+<!-- ##### FUNCTION purple_log_logger_remove ##### -->
+<para>
+
+</para>
+
+ at logger: 
+
+
+<!-- ##### FUNCTION purple_log_logger_set ##### -->
+<para>
+
+</para>
+
+ at logger: 
+
+
+<!-- ##### FUNCTION purple_log_logger_get ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_logger_get_options ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_log_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_log_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### STRUCT PurpleNotifySearchResults ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_free ##### -->
+<para>
+
+</para>
+
+ at results: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_new_rows ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at results: 
+ at data_NULL: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleNotifySearchColumn ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_column_new ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_column_add ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at column: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_row_add ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at row_NULL: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_get_rows_count ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_get_columns_count ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_row_get ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at row_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_searchresults_column_get_title ##### -->
+<para>
+
+</para>
+
+ at results: 
+ at column_id: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleNotifyUserInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_notify_user_info_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_destroy ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_get_entries ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_get_text_with_newline ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at newline: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_add_pair ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at label: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_add_pair_plaintext ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at label: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_prepend_pair ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at label: 
+ at value: 
+
+
+<!-- ##### STRUCT PurpleNotifyUserInfoEntry ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_notify_user_info_remove_entry ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at user_info_entry: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_new ##### -->
+<para>
+
+</para>
+
+ at label: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_add_section_break ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_prepend_section_break ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_add_section_header ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at label: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_prepend_section_header ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+ at label: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_remove_last_item ##### -->
+<para>
+
+</para>
+
+ at user_info: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_get_label ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_set_label ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at label: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_get_value ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_set_value ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_get_type ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_user_info_entry_set_type ##### -->
+<para>
+
+</para>
+
+ at user_info_entry: 
+ at type: 
+
+
+<!-- ##### FUNCTION purple_notify_close ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at ui_handle_NULL: 
+
+
+<!-- ##### FUNCTION purple_notify_close_with_handle ##### -->
+<para>
+
+</para>
+
+ at handle_NULL: 
+
+
+<!-- ##### STRUCT PurpleNotifyUiOps ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_notify_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_notify_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_notify_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_notify_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_prefs_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_prefs_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_none ##### -->
+<para>
+
+</para>
+
+ at name: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_bool ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_int ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_string ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_string_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_path ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_add_path_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_remove ##### -->
+<para>
+
+</para>
+
+ at name: 
+
+
+<!-- ##### FUNCTION purple_prefs_rename ##### -->
+<para>
+
+</para>
+
+ at oldname: 
+ at newname: 
+
+
+<!-- ##### FUNCTION purple_prefs_rename_boolean_toggle ##### -->
+<para>
+
+</para>
+
+ at oldname: 
+ at newname: 
+
+
+<!-- ##### FUNCTION purple_prefs_destroy ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_bool ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_int ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_string ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_string_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_path ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_set_path_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_prefs_exists ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_type ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_bool ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_int ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_string ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_string_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_path ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_path_list ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_get_children_names ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_disconnect_callback ##### -->
+<para>
+
+</para>
+
+ at callback_id: 
+
+
+<!-- ##### FUNCTION purple_prefs_disconnect_by_handle ##### -->
+<para>
+
+</para>
+
+ at handle: 
+
+
+<!-- ##### FUNCTION purple_prefs_trigger_callback ##### -->
+<para>
+
+</para>
+
+ at name: 
+
+
+<!-- ##### FUNCTION purple_prefs_load ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prefs_update_old ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_roomlist_show_with_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### STRUCT PurpleRoomlist ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at fields: 
+ at rooms: 
+ at in_progress: 
+ at ui_data: 
+ at proto_data: 
+ at ref: 
+
+<!-- ##### FUNCTION purple_roomlist_new ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_ref ##### -->
+<para>
+
+</para>
+
+ at list: 
+
+
+<!-- ##### FUNCTION purple_roomlist_unref ##### -->
+<para>
+
+</para>
+
+ at list: 
+
+
+<!-- ##### FUNCTION purple_roomlist_set_fields ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at fields: 
+
+
+<!-- ##### FUNCTION purple_roomlist_set_in_progress ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at in_progress: 
+
+
+<!-- ##### FUNCTION purple_roomlist_get_in_progress ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleRoomlistRoom ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at fields: 
+ at parent: 
+ at expanded_once: 
+
+<!-- ##### FUNCTION purple_roomlist_room_add ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at room: 
+
+
+<!-- ##### FUNCTION purple_roomlist_get_list ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_cancel_get_list ##### -->
+<para>
+
+</para>
+
+ at list: 
+
+
+<!-- ##### FUNCTION purple_roomlist_expand_category ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at category: 
+
+
+<!-- ##### FUNCTION purple_roomlist_get_fields ##### -->
+<para>
+
+</para>
+
+ at roomlist: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at parent: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_join ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at room: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_get_type ##### -->
+<para>
+
+</para>
+
+ at room: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_get_name ##### -->
+<para>
+
+</para>
+
+ at room: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_get_parent ##### -->
+<para>
+
+</para>
+
+ at room: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_get_fields ##### -->
+<para>
+
+</para>
+
+ at room: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleRoomlistField ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at label: 
+ at name: 
+ at hidden: 
+
+<!-- ##### FUNCTION purple_roomlist_field_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at label: 
+ at name: 
+ at hidden: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_field_get_type ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_field_get_label ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_field_get_hidden ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleRoomlistUiOps ##### -->
+<para>
+
+</para>
+
+ at show_with_account: 
+ at create: 
+ at set_fields: 
+ at add_room: 
+ at in_progress: 
+ at destroy: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_roomlist_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_roomlist_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleSavedStatus ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_savedstatus_new ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_set_title ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at title: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_set_type ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at type: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_set_message ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_set_substatus ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at account: 
+ at type: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_unset_substatus ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at account: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_delete ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_delete_by_status ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+
+
+<!-- ##### FUNCTION purple_savedstatuses_get_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatuses_get_popular ##### -->
+<para>
+
+</para>
+
+ at how_many: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_current ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_default ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_idleaway ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_is_idleaway ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_set_idleaway ##### -->
+<para>
+
+</para>
+
+ at idleaway: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_startup ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_find ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_find_by_creation_time ##### -->
+<para>
+
+</para>
+
+ at creation_time: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_find_transient_by_type_and_message ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at message: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_is_transient ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_title ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_type ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_message ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_creation_time ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_has_substatuses ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleSavedStatusSub ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_substatus ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_substatus_get_type ##### -->
+<para>
+
+</para>
+
+ at substatus: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_substatus_get_message ##### -->
+<para>
+
+</para>
+
+ at substatus: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_activate ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_activate_for_account ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at account: 
+
+
+<!-- ##### FUNCTION purple_savedstatuses_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_savedstatuses_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### STRUCT PurpleSmiley ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SIGNAL PurpleSmiley::destroy ##### -->
+<para>
+
+</para>
+
+ at purplesmiley: the object which received the signal.
+
+<!-- ##### ARG PurpleSmiley:image ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleSmiley:shortcut ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION purple_smiley_new ##### -->
+<para>
+
+</para>
+
+ at img: 
+ at shortcut: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_new_from_file ##### -->
+<para>
+
+</para>
+
+ at shortcut: 
+ at filepath: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_delete ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+
+
+<!-- ##### FUNCTION purple_smiley_set_shortcut ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at shortcut: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_set_data ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at smiley_data: 
+ at smiley_data_len: 
+
+
+<!-- ##### FUNCTION purple_smiley_get_shortcut ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_get_checksum ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_get_stored_image ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_get_extension ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_get_full_path ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smileys_get_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smileys_find_by_shortcut ##### -->
+<para>
+
+</para>
+
+ at shortcut: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smileys_find_by_checksum ##### -->
+<para>
+
+</para>
+
+ at checksum: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smileys_get_storing_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smileys_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_smileys_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_primitive_get_id_from_type ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_primitive_get_name_from_type ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_primitive_get_type_from_id ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_new_full ##### -->
+<para>
+
+</para>
+
+ at primitive: 
+ at id: 
+ at name: 
+ at saveable: 
+ at user_settable: 
+ at independent: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_new ##### -->
+<para>
+
+</para>
+
+ at primitive: 
+ at id: 
+ at name: 
+ at user_settable: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_destroy ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+
+
+<!-- ##### FUNCTION purple_status_type_set_primary_attr ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at attr_id: 
+
+
+<!-- ##### FUNCTION purple_status_type_get_primitive ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_get_id ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_get_name ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_is_saveable ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_is_user_settable ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_is_independent ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_is_exclusive ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_is_available ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_get_primary_attr ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleStatusAttr ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_status_type_get_attr ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_get_attrs ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_find_with_id ##### -->
+<para>
+
+</para>
+
+ at status_types: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_attr_destroy ##### -->
+<para>
+
+</para>
+
+ at attr: 
+
+
+<!-- ##### FUNCTION purple_status_attr_get_id ##### -->
+<para>
+
+</para>
+
+ at attr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_attr_get_name ##### -->
+<para>
+
+</para>
+
+ at attr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_new ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_destroy ##### -->
+<para>
+
+</para>
+
+ at status: 
+
+
+<!-- ##### FUNCTION purple_status_set_active ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at active: 
+
+
+<!-- ##### FUNCTION purple_status_set_active_with_attrs_list ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at active: 
+ at attrs: 
+
+
+<!-- ##### FUNCTION purple_status_set_attr_boolean ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_status_set_attr_int ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_status_set_attr_string ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_status_get_type ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_presence ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_id ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_name ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_is_independent ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_is_exclusive ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_is_available ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_is_active ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_is_online ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_attr_boolean ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_attr_int ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_attr_string ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_compare ##### -->
+<para>
+
+</para>
+
+ at status1: 
+ at status2: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_new ##### -->
+<para>
+
+</para>
+
+ at context: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_new_for_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_new_for_conv ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_new_for_buddy ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_destroy ##### -->
+<para>
+
+</para>
+
+ at presence: 
+
+
+<!-- ##### FUNCTION purple_presence_add_status ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at status: 
+
+
+<!-- ##### FUNCTION purple_presence_set_status_active ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at status_id: 
+ at active: 
+
+
+<!-- ##### FUNCTION purple_presence_switch_status ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at status_id: 
+
+
+<!-- ##### FUNCTION purple_presence_set_idle ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at idle: 
+ at idle_time: 
+
+
+<!-- ##### FUNCTION purple_presence_set_login_time ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at login_time: 
+
+
+<!-- ##### FUNCTION purple_presence_get_context ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_account ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_conversation ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_chat_user ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_buddy ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_statuses ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_status ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at status_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_active_status ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_is_available ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_is_online ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_is_status_active ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at status_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_is_status_primitive_active ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at primitive: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_is_idle ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_idle_time ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_login_time ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_compare ##### -->
+<para>
+
+</para>
+
+ at presence1: 
+ at presence2: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_status_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION serv_send_typing ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at state: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION serv_move_buddy ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at Param3: 
+
+
+<!-- ##### FUNCTION serv_send_im ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at Param3: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### STRUCT PurpleAttentionType ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at incoming_description: 
+ at outgoing_description: 
+ at icon_name: 
+ at unlocalized_name: 
+ at _reserved2: 
+ at _reserved3: 
+ at _reserved4: 
+
+<!-- ##### FUNCTION purple_get_attention_type_from_code ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at type_code: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION serv_send_attention ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at type_code: 
+
+
+<!-- ##### FUNCTION serv_got_attention ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at type_code: 
+
+
+<!-- ##### FUNCTION serv_get_info ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_set_info ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_add_permit ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_add_deny ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_rem_permit ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_rem_deny ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_set_permit_deny ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### FUNCTION serv_chat_invite ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Varargs: 
+ at Param3: 
+ at Param4: 
+
+
+<!-- ##### FUNCTION serv_chat_leave ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION serv_chat_whisper ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Varargs: 
+ at Param3: 
+ at Param4: 
+
+
+<!-- ##### FUNCTION serv_chat_send ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Varargs: 
+ at Param3: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION serv_alias_buddy ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### FUNCTION serv_got_alias ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at alias: 
+
+
+<!-- ##### FUNCTION purple_serv_got_private_alias ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at alias: 
+
+
+<!-- ##### FUNCTION serv_got_typing ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at timeout: 
+ at state: 
+
+
+<!-- ##### FUNCTION serv_got_typing_stopped ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+
+
+<!-- ##### FUNCTION serv_got_im ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at msg: 
+ at flags: 
+ at mtime: 
+
+
+<!-- ##### FUNCTION serv_join_chat ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at data: 
+
+
+<!-- ##### FUNCTION serv_reject_chat ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at data: 
+
+
+<!-- ##### FUNCTION serv_got_chat_invite ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at who: 
+ at message: 
+ at data: 
+
+
+<!-- ##### FUNCTION serv_got_joined_chat ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_serv_got_join_chat_failed ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+
+
+<!-- ##### FUNCTION serv_got_chat_left ##### -->
+<para>
+
+</para>
+
+ at g: 
+ at id: 
+
+
+<!-- ##### FUNCTION serv_got_chat_in ##### -->
+<para>
+
+</para>
+
+ at g: 
+ at id: 
+ at who: 
+ at flags: 
+ at message: 
+ at mtime: 
+
+
+<!-- ##### FUNCTION serv_send_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at file: 
+
+
+<!-- ##### STRUCT PurpleMenuAction ##### -->
+<para>
+
+</para>
+
+ at label: 
+ at callback: 
+ at data: 
+ at children: 
+
+<!-- ##### FUNCTION purple_menu_action_free ##### -->
+<para>
+
+</para>
+
+ at act: 
+
+
+<!-- ##### FUNCTION purple_util_set_current_song ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at artist: 
+ at album: 
+
+
+<!-- ##### FUNCTION purple_util_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_util_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_mime_decode_field ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_time_build ##### -->
+<para>
+
+</para>
+
+ at year: 
+ at month: 
+ at day: 
+ at hour: 
+ at min: 
+ at sec: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_escape_text ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at length: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_strip_html ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_linkify ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_unescape_text ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_unescape_html ##### -->
+<para>
+
+</para>
+
+ at html: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_slice ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at x: 
+ at y: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_get_tag_name ##### -->
+<para>
+
+</para>
+
+ at tag: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_unescape_entity ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at length_NULL: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_get_css_property ##### -->
+<para>
+
+</para>
+
+ at style: 
+ at opt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_is_rtl ##### -->
+<para>
+
+</para>
+
+ at html: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_home_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_user_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_set_user_dir ##### -->
+<para>
+
+</para>
+
+ at dir: 
+
+
+<!-- ##### FUNCTION purple_build_dir ##### -->
+<para>
+
+</para>
+
+ at path: 
+ at mode: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_write_data_to_file ##### -->
+<para>
+
+</para>
+
+ at filename: 
+ at data: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_write_data_to_file_absolute ##### -->
+<para>
+
+</para>
+
+ at filename_full: 
+ at data: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_program_is_valid ##### -->
+<para>
+
+</para>
+
+ at program: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_running_gnome ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_running_kde ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_running_osx ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_fd_get_ip ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_socket_get_family ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_socket_speaks_ipv4 ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_strequal ##### -->
+<para>
+
+</para>
+
+ at left: 
+ at right: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_normalize ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_normalize_nocase ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_has_prefix ##### -->
+<para>
+
+</para>
+
+ at s: 
+ at p: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_has_suffix ##### -->
+<para>
+
+</para>
+
+ at s: 
+ at x: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_strdup_withhtml ##### -->
+<para>
+
+</para>
+
+ at src: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_add_cr ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_strreplace ##### -->
+<para>
+
+</para>
+
+ at string: 
+ at delimiter: 
+ at replacement: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_ncr_encode ##### -->
+<para>
+
+</para>
+
+ at in: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_ncr_decode ##### -->
+<para>
+
+</para>
+
+ at in: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_strcasereplace ##### -->
+<para>
+
+</para>
+
+ at string: 
+ at delimiter: 
+ at replacement: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_strcasestr ##### -->
+<para>
+
+</para>
+
+ at haystack: 
+ at needle: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_size_to_units ##### -->
+<para>
+
+</para>
+
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_seconds_to_string ##### -->
+<para>
+
+</para>
+
+ at sec: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_binary_to_ascii ##### -->
+<para>
+
+</para>
+
+ at binary: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_strings_equal ##### -->
+<para>
+
+</para>
+
+ at s1: 
+ at s2: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_got_protocol_handler_uri ##### -->
+<para>
+
+</para>
+
+ at uri: 
+
+
+<!-- ##### STRUCT PurpleUtilFetchUrlData ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_util_fetch_url_cancel ##### -->
+<para>
+
+</para>
+
+ at url_data: 
+
+
+<!-- ##### FUNCTION purple_url_decode ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_url_encode ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_email_is_valid ##### -->
+<para>
+
+</para>
+
+ at address: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ip_address_is_valid ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ipv4_address_is_valid ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ipv6_address_is_valid ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_uri_list_extract_uris ##### -->
+<para>
+
+</para>
+
+ at uri_list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_uri_list_extract_filenames ##### -->
+<para>
+
+</para>
+
+ at uri_list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_try_convert ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_salvage ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_strip_unprintables ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_strcasecmp ##### -->
+<para>
+
+</para>
+
+ at a: 
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_has_word ##### -->
+<para>
+
+</para>
+
+ at haystack: 
+ at needle: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_text_strip_mnemonic ##### -->
+<para>
+
+</para>
+
+ at in: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_unescape_filename ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_escape_filename ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_restore_default_signal_handlers ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_get_host_name ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_uuid_random ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_http_digest_calculate_session_key ##### -->
+<para>
+
+</para>
+
+ at algorithm: 
+ at username: 
+ at realm: 
+ at password: 
+ at nonce: 
+ at client_nonce: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_http_digest_calculate_response ##### -->
+<para>
+
+</para>
+
+ at algorithm: 
+ at method: 
+ at digest_uri: 
+ at qop: 
+ at entity: 
+ at nonce: 
+ at nonce_count: 
+ at client_nonce: 
+ at session_key: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_insert_child ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at child: 
+
+
+<!-- ##### FUNCTION xmlnode_insert_data ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at data: 
+ at size: 
+
+
+<!-- ##### FUNCTION xmlnode_get_data ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_get_data_unescaped ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_set_attrib ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at value: 
+
+
+<!-- ##### FUNCTION xmlnode_set_attrib_with_prefix ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at prefix: 
+ at value: 
+
+
+<!-- ##### FUNCTION xmlnode_set_attrib_with_namespace ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at xmlns: 
+ at value: 
+
+
+<!-- ##### FUNCTION xmlnode_set_attrib_full ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at xmlns: 
+ at prefix: 
+ at value: 
+
+
+<!-- ##### FUNCTION xmlnode_get_attrib ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_get_attrib_with_namespace ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at xmlns: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_remove_attrib ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+
+
+<!-- ##### FUNCTION xmlnode_remove_attrib_with_namespace ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at xmlns: 
+
+
+<!-- ##### FUNCTION xmlnode_set_namespace ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at xmlns: 
+
+
+<!-- ##### FUNCTION xmlnode_get_namespace ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_set_prefix ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at prefix: 
+
+
+<!-- ##### FUNCTION xmlnode_get_prefix ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_to_str ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_to_formatted_str ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_free ##### -->
+<para>
+
+</para>
+
+ at node: 
+
+
+<!-- ##### FUNCTION purple_attention_type_new ##### -->
+<para>
+
+</para>
+
+ at ulname: 
+ at name: 
+ at inc_desc: 
+ at out_desc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_attention_type_set_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_attention_type_set_incoming_desc ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at desc: 
+
+
+<!-- ##### FUNCTION purple_attention_type_set_outgoing_desc ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at desc: 
+
+
+<!-- ##### FUNCTION purple_attention_type_set_icon_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_attention_type_set_unlocalized_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at ulname: 
+
+
+<!-- ##### FUNCTION purple_attention_type_get_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_attention_type_get_incoming_desc ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_attention_type_get_outgoing_desc ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_attention_type_get_icon_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_attention_type_get_unlocalized_name ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_account_idle ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at idle: 
+ at idle_time: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_account_login_time ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at login_time: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_account_actions ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_user_idle ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at idle: 
+ at idle_time: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_user_login_time ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at login_time: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_user_status_deactive ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at name: 
+ at status_id: 
+
+
+<!-- ##### FUNCTION purple_prpl_change_account_status ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at old_status: 
+ at new_status: 
+
+
+<!-- ##### FUNCTION purple_prpl_get_statuses ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prpl_send_attention ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at type_code: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_attention ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at type_code: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_attention_in_chat ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at who: 
+ at type_code: 
+
+
+<!-- ##### FUNCTION purple_prpl_get_media_caps ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prpl_initiate_media ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_prpl_got_media_caps ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+
+
+<!-- ##### FUNCTION purple_find_prpl ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/purple-client.sgml	b3af7d8aef1ee0d13681bae4b66d59776aa94d36
@@ -0,0 +1,32 @@
+<!-- ##### SECTION Title ##### -->
+purple-client
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION purple_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/purple.sgml	bd75552f4f01201b450af952e8124b044fe052dd
@@ -0,0 +1,38 @@
+<!-- ##### SECTION Title ##### -->
+purple
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO G_GNUC_NULL_TERMINATED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_PLUGINS ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/qq.sgml	d22d55acfd7b37ce3b27011290ed8d6750b05e10
@@ -0,0 +1,200 @@
+<!-- ##### SECTION Title ##### -->
+qq
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO QQ_KEY_LENGTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO qq_strlen ##### -->
+<para>
+
+</para>
+
+ at s: 
+
+
+<!-- ##### MACRO qq_strcmp ##### -->
+<para>
+
+</para>
+
+ at s1: 
+ at s2: 
+
+
+<!-- ##### TYPEDEF UPDCLS ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF UID ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT qq_captcha_data ##### -->
+<para>
+
+</para>
+
+ at token: 
+ at token_len: 
+ at next_index: 
+ at data: 
+ at data_len: 
+
+<!-- ##### STRUCT qq_login_data ##### -->
+<para>
+
+</para>
+
+ at random_key: 
+ at token: 
+ at token_len: 
+ at token_ex: 
+ at token_ex_len: 
+ at pwd_md5: 
+ at pwd_twice_md5: 
+ at login_token: 
+ at login_token_len: 
+ at login_key: 
+
+<!-- ##### STRUCT qq_interval ##### -->
+<para>
+
+</para>
+
+ at resend: 
+ at keep_alive: 
+ at update: 
+
+<!-- ##### STRUCT qq_net_stat ##### -->
+<para>
+
+</para>
+
+ at sent: 
+ at resend: 
+ at lost: 
+ at rcved: 
+ at rcved_dup: 
+
+<!-- ##### STRUCT qq_buddy_data ##### -->
+<para>
+
+</para>
+
+ at uid: 
+ at face: 
+ at age: 
+ at gender: 
+ at nickname: 
+ at ip: 
+ at port: 
+ at status: 
+ at ext_flag: 
+ at comm_flag: 
+ at client_tag: 
+ at onlineTime: 
+ at level: 
+ at timeRemainder: 
+ at signon: 
+ at idle: 
+ at last_update: 
+ at memo: 
+ at role: 
+
+<!-- ##### STRUCT qq_connection ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at input_handler: 
+ at can_write_handler: 
+ at tcp_txbuf: 
+ at tcp_rxqueue: 
+ at tcp_rxlen: 
+
+<!-- ##### STRUCT qq_data ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at openconns: 
+ at use_tcp: 
+ at conn_data: 
+ at udp_query_data: 
+ at udp_can_write_handler: 
+ at fd: 
+ at net_stat: 
+ at servers: 
+ at curr_server: 
+ at client_tag: 
+ at client_version: 
+ at redirect_ip: 
+ at redirect_port: 
+ at redirect: 
+ at redirect_len: 
+ at check_watcher: 
+ at connect_watcher: 
+ at connect_retry: 
+ at itv_config: 
+ at itv_count: 
+ at network_watcher: 
+ at resend_times: 
+ at transactions: 
+ at uid: 
+ at ld: 
+ at captcha: 
+ at session_key: 
+ at session_md5: 
+ at send_seq: 
+ at login_mode: 
+ at is_login: 
+ at xfer: 
+ at my_local_ip: 
+ at my_local_port: 
+ at login_time: 
+ at last_login_time: 
+ at last_login_ip: 
+ at my_ip: 
+ at my_port: 
+ at my_icon: 
+ at online_total: 
+ at online_last_update: 
+ at roomlist: 
+ at groups: 
+ at is_show_notice: 
+ at is_show_news: 
+ at is_show_chat: 
+ at custom: 
+ at send_im_id: 
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/qq_base.sgml	c4146598c2187339299a833b9e79f1f76fac5b09
@@ -0,0 +1,302 @@
+<!-- ##### SECTION Title ##### -->
+qq_base
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO QQ_LOGIN_REPLY_OK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_LOGIN_REPLY_REDIRECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_LOGIN_REPLY_CAPTCHA_DLG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_LOGIN_REPLY_NEXT_TOKEN_EX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_LOGIN_REPLY_ERR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_LOGIN_MODE_NORMAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_LOGIN_MODE_AWAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_LOGIN_MODE_HIDDEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_UPDATE_ONLINE_INTERVAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION qq_request_token ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_token ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buf: 
+ at buf_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_request_login ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_login ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_request_logout ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_request_keep_alive ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_keep_alive ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_request_keep_alive_2007 ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_keep_alive_2007 ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_request_keep_alive_2008 ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_keep_alive_2008 ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_request_get_server ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_get_server ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at rcved: 
+ at rcved_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_request_token_ex ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_request_token_ex_next ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_token_ex ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buf: 
+ at buf_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_captcha_input_dialog ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at captcha: 
+
+
+<!-- ##### FUNCTION qq_request_check_pwd ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_check_pwd ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_request_login_2007 ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_login_2007 ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_request_login_2008 ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_login_2008 ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+ at data_len: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/qq_crypt.sgml	8bd408fe8745655179e5f36bb3f0f976e00956dc
@@ -0,0 +1,48 @@
+<!-- ##### SECTION Title ##### -->
+qq_crypt
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION qq_encrypt ##### -->
+<para>
+
+</para>
+
+ at crypted: 
+ at plain: 
+ at plain_len: 
+ at key: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_decrypt ##### -->
+<para>
+
+</para>
+
+ at plain: 
+ at crypted: 
+ at crypted_len: 
+ at key: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/qq_define.sgml	5da28604bf3f22aaabb4ea80c8b1e28f02f3672a
@@ -0,0 +1,123 @@
+<!-- ##### SECTION Title ##### -->
+qq_define
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO QQ_UDP_HEADER_LENGTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_TCP_HEADER_LENGTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_PACKET_TAG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_PACKET_TAIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_CLIENT_0D55 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_CLIENT_111D ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_CLIENT_115B ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_CLIENT_1663 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO QQ_CLIENT_1801 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION qq_get_ver_desc ##### -->
+<para>
+
+</para>
+
+ at source: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_get_cmd_desc ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_get_room_cmd_desc ##### -->
+<para>
+
+</para>
+
+ at room_cmd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION is_online ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/qq_network.sgml	7c4da44ec2506baea1edb36b74847a468d6f6c8a
@@ -0,0 +1,152 @@
+<!-- ##### SECTION Title ##### -->
+qq_network
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO QQ_CONNECT_STEPS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION qq_connect_later ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_disconnect ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_send_cmd_encrypted ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at seq: 
+ at encrypted_data: 
+ at encrypted_len: 
+ at is_save2trans: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_send_cmd ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at data: 
+ at datalen: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_send_cmd_mess ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at data: 
+ at data_len: 
+ at update_class: 
+ at ship32: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_send_server_reply ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at seq: 
+ at data: 
+ at data_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_send_room_cmd ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_cmd: 
+ at room_id: 
+ at data: 
+ at data_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_send_room_cmd_mess ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_cmd: 
+ at room_id: 
+ at data: 
+ at data_len: 
+ at update_class: 
+ at ship32: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_send_room_cmd_only ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_cmd: 
+ at room_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_send_room_cmd_noid ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_cmd: 
+ at data: 
+ at data_len: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/qq_process.sgml	d33cb74b09c0568bb8b6436b2317109e0a90b51c
@@ -0,0 +1,118 @@
+<!-- ##### SECTION Title ##### -->
+qq_process
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION qq_proc_login_cmds ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at seq: 
+ at rcved: 
+ at rcved_len: 
+ at update_class: 
+ at ship32: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_proc_client_cmds ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at seq: 
+ at rcved: 
+ at rcved_len: 
+ at update_class: 
+ at ship32: 
+
+
+<!-- ##### FUNCTION qq_proc_room_cmds ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at seq: 
+ at room_cmd: 
+ at room_id: 
+ at rcved: 
+ at rcved_len: 
+ at update_class: 
+ at ship32: 
+
+
+<!-- ##### FUNCTION qq_proc_server_cmd ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at seq: 
+ at rcved: 
+ at rcved_len: 
+
+
+<!-- ##### FUNCTION qq_update_all ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+
+
+<!-- ##### FUNCTION qq_update_online ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+
+
+<!-- ##### FUNCTION qq_update_room ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_cmd: 
+ at room_id: 
+
+
+<!-- ##### FUNCTION qq_update_all_rooms ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room_cmd: 
+ at room_id: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/qq_trans.sgml	516e617355b6a60776602f52d4a5bb873af68995
@@ -0,0 +1,198 @@
+<!-- ##### SECTION Title ##### -->
+qq_trans
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT qq_transaction ##### -->
+<para>
+
+</para>
+
+ at flag: 
+ at seq: 
+ at cmd: 
+ at room_cmd: 
+ at room_id: 
+ at data: 
+ at data_len: 
+ at fd: 
+ at send_retries: 
+ at rcved_times: 
+ at scan_times: 
+ at update_class: 
+ at ship32: 
+
+<!-- ##### FUNCTION qq_trans_find_rcved ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at seq: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_trans_is_server ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_trans_is_dup ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_trans_get_room_cmd ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_trans_get_room_id ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_trans_get_class ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_trans_get_ship ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_trans_add_client_cmd ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at seq: 
+ at data: 
+ at data_len: 
+ at update_class: 
+ at ship32: 
+
+
+<!-- ##### FUNCTION qq_trans_add_room_cmd ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at seq: 
+ at room_cmd: 
+ at room_id: 
+ at data: 
+ at data_len: 
+ at update_class: 
+ at ship32: 
+
+
+<!-- ##### FUNCTION qq_trans_add_server_cmd ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at seq: 
+ at rcved: 
+ at rcved_len: 
+
+
+<!-- ##### FUNCTION qq_trans_add_server_reply ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at seq: 
+ at reply: 
+ at reply_len: 
+
+
+<!-- ##### FUNCTION qq_trans_add_remain ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at cmd: 
+ at seq: 
+ at data: 
+ at data_len: 
+
+
+<!-- ##### FUNCTION qq_trans_process_remained ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_trans_scan ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_trans_remove_all ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/rawudp.sgml	b8735856fcb7dfce77807a61e9c309b6e41b2f88
@@ -0,0 +1,106 @@
+<!-- ##### SECTION Title ##### -->
+JingleRawUdp
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO JINGLE_TYPE_RAWUDP_CANDIDATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT JingleRawUdp ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at priv: 
+
+<!-- ##### STRUCT JingleRawUdpClass ##### -->
+<para>
+
+</para>
+
+ at parent_class: 
+ at to_xml: 
+ at parse: 
+
+<!-- ##### STRUCT JingleRawUdpPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT JingleRawUdpCandidate ##### -->
+<para>
+
+</para>
+
+ at generation: 
+ at component: 
+ at id: 
+ at ip: 
+ at port: 
+ at rem_known: 
+
+<!-- ##### FUNCTION jingle_rawudp_get_type ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_rawudp_candidate_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at generation: 
+ at component: 
+ at ip: 
+ at port: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_rawudp_add_local_candidate ##### -->
+<para>
+
+</para>
+
+ at rawudp: 
+ at candidate: 
+
+
+<!-- ##### FUNCTION jingle_rawudp_get_remote_candidates ##### -->
+<para>
+
+</para>
+
+ at rawudp: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/rc4cipher.sgml	c63c542296b0b53763aa9103a86058820371b263
@@ -0,0 +1,82 @@
+<!-- ##### SECTION Title ##### -->
+PurpleRC4Cipher
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleRC4Cipher ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleRC4CipherClass ##### -->
+<para>
+
+</para>
+
+ at gparent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_rc4_cipher_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_rc4_cipher_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_rc4_cipher_get_key_len ##### -->
+<para>
+
+</para>
+
+ at rc4_cipher: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_rc4_cipher_set_key_len ##### -->
+<para>
+
+</para>
+
+ at rc4_cipher: 
+ at key_len: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/relay.sgml	6aaa8aecdcd7386404edd0bb1c298d3a4d3ac19d
@@ -0,0 +1,34 @@
+<!-- ##### SECTION Title ##### -->
+relay
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_google_do_relay_request ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at session: 
+ at cb: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/request.sgml	a8e5bb54f7be0e7787be2e5fbdeb49ea16a22ad1
@@ -0,0 +1,1434 @@
+<!-- ##### SECTION Title ##### -->
+request
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleRequestField ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at group: 
+ at id: 
+ at label: 
+ at type_hint: 
+ at visible: 
+ at required: 
+
+<!-- ##### MACRO PURPLE_DEFAULT_ACTION_NONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM PurpleRequestType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_REQUEST_INPUT: 
+ at PURPLE_REQUEST_CHOICE: 
+ at PURPLE_REQUEST_ACTION: 
+ at PURPLE_REQUEST_FIELDS: 
+ at PURPLE_REQUEST_FILE: 
+ at PURPLE_REQUEST_FOLDER: 
+
+<!-- ##### ENUM PurpleRequestFieldType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_REQUEST_FIELD_NONE: 
+ at PURPLE_REQUEST_FIELD_STRING: 
+ at PURPLE_REQUEST_FIELD_INTEGER: 
+ at PURPLE_REQUEST_FIELD_BOOLEAN: 
+ at PURPLE_REQUEST_FIELD_CHOICE: 
+ at PURPLE_REQUEST_FIELD_LIST: 
+ at PURPLE_REQUEST_FIELD_LABEL: 
+ at PURPLE_REQUEST_FIELD_IMAGE: 
+ at PURPLE_REQUEST_FIELD_ACCOUNT: 
+
+<!-- ##### USER_FUNCTION request_input ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_value: 
+ at multiline: 
+ at masked: 
+ at hint: 
+ at ok_text: 
+ at ok_cb: 
+ at cancel_text: 
+ at cancel_cb: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION request_choice ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_value: 
+ at ok_text: 
+ at ok_cb: 
+ at cancel_text: 
+ at cancel_cb: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at choices: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION request_action ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_action: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at action_count: 
+ at actions: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION request_fields ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at primary: 
+ at secondary: 
+ at fields: 
+ at ok_text: 
+ at ok_cb: 
+ at cancel_text: 
+ at cancel_cb: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION request_file ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at filename: 
+ at savedialog: 
+ at ok_cb: 
+ at cancel_cb: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION close_request ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at ui_handle: 
+
+
+<!-- ##### USER_FUNCTION request_folder ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at dirname: 
+ at ok_cb: 
+ at cancel_cb: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION request_action_with_icon ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_action: 
+ at account: 
+ at who: 
+ at conv: 
+ at icon_data: 
+ at icon_size: 
+ at user_data: 
+ at action_count: 
+ at actions: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved1 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved2 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved3 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION PurpleRequestInputCb ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### USER_FUNCTION PurpleRequestActionCb ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Varargs: 
+
+
+<!-- ##### USER_FUNCTION PurpleRequestChoiceCb ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Varargs: 
+
+
+<!-- ##### USER_FUNCTION PurpleRequestFieldsCb ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at fields: 
+
+
+<!-- ##### USER_FUNCTION PurpleRequestFileCb ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at filename: 
+
+
+<!-- ##### FUNCTION purple_request_fields_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields_destroy ##### -->
+<para>
+
+</para>
+
+ at fields: 
+
+
+<!-- ##### FUNCTION purple_request_fields_add_group ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at group: 
+
+
+<!-- ##### FUNCTION purple_request_fields_get_groups ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields_exists ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields_get_required ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields_is_field_required ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields_all_required_filled ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields_get_field ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields_get_string ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields_get_integer ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields_get_bool ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields_get_choice ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields_get_account ##### -->
+<para>
+
+</para>
+
+ at fields: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_group_new ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_group_destroy ##### -->
+<para>
+
+</para>
+
+ at group: 
+
+
+<!-- ##### FUNCTION purple_request_field_group_add_field ##### -->
+<para>
+
+</para>
+
+ at group: 
+ at field: 
+
+
+<!-- ##### FUNCTION purple_request_field_group_get_title ##### -->
+<para>
+
+</para>
+
+ at group: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_group_get_fields ##### -->
+<para>
+
+</para>
+
+ at group: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at text: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_destroy ##### -->
+<para>
+
+</para>
+
+ at field: 
+
+
+<!-- ##### FUNCTION purple_request_field_set_label ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at label: 
+
+
+<!-- ##### FUNCTION purple_request_field_set_visible ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at visible: 
+
+
+<!-- ##### FUNCTION purple_request_field_set_type_hint ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at type_hint: 
+
+
+<!-- ##### FUNCTION purple_request_field_set_required ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at required: 
+
+
+<!-- ##### FUNCTION purple_request_field_get_type ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_get_group ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_get_id ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_get_label ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_is_visible ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_get_type_hint ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_is_required ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_get_ui_data ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_set_ui_data ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at ui_data: 
+
+
+<!-- ##### FUNCTION purple_request_field_string_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at text: 
+ at default_value: 
+ at multiline: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_string_set_default_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at default_value: 
+
+
+<!-- ##### FUNCTION purple_request_field_string_set_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_request_field_string_set_masked ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at masked: 
+
+
+<!-- ##### FUNCTION purple_request_field_string_set_editable ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at editable: 
+
+
+<!-- ##### FUNCTION purple_request_field_string_get_default_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_string_get_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_string_is_multiline ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_string_is_masked ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_string_is_editable ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_int_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at text: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_int_set_default_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at default_value: 
+
+
+<!-- ##### FUNCTION purple_request_field_int_set_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_request_field_int_get_default_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_int_get_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_bool_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at text: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_bool_set_default_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at default_value: 
+
+
+<!-- ##### FUNCTION purple_request_field_bool_set_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_request_field_bool_get_default_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_bool_get_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_choice_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at text: 
+ at default_value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_choice_add ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at label: 
+
+
+<!-- ##### FUNCTION purple_request_field_choice_set_default_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at default_value: 
+
+
+<!-- ##### FUNCTION purple_request_field_choice_set_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_request_field_choice_get_default_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_choice_get_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_choice_get_labels ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at text: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_set_multi_select ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at multi_select: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_get_multi_select ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_get_data ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at text: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_add ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at item: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_add_icon ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at item: 
+ at icon_path: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_add_selected ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at item: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_clear_selected ##### -->
+<para>
+
+</para>
+
+ at field: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_set_selected ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at items: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_is_selected ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at item: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_get_selected ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_get_items ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_list_get_icons ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_label_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at text: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_image_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at text: 
+ at buf: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_image_set_scale ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at x: 
+ at y: 
+
+
+<!-- ##### FUNCTION purple_request_field_image_get_buffer ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_image_get_size ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_image_get_scale_x ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_image_get_scale_y ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_account_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at text: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_account_set_default_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at default_value: 
+
+
+<!-- ##### FUNCTION purple_request_field_account_set_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_request_field_account_set_show_all ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at show_all: 
+
+
+<!-- ##### FUNCTION purple_request_field_account_set_filter ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at filter_func: 
+
+
+<!-- ##### FUNCTION purple_request_field_account_get_default_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_account_get_value ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_account_get_show_all ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_field_account_get_filter ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_input ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_value: 
+ at multiline: 
+ at masked: 
+ at hint: 
+ at ok_text: 
+ at ok_cb: 
+ at cancel_text: 
+ at cancel_cb: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_choice ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_value: 
+ at ok_text: 
+ at ok_cb: 
+ at cancel_text: 
+ at cancel_cb: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_choice_varg ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_value: 
+ at ok_text: 
+ at ok_cb: 
+ at cancel_text: 
+ at cancel_cb: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at choices: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_action ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_action: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at action_count: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_action_varg ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_action: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at action_count: 
+ at actions: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_action_with_icon ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_action: 
+ at account: 
+ at who: 
+ at conv: 
+ at icon_data: 
+ at icon_size: 
+ at user_data: 
+ at action_count: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_action_with_icon_varg ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_action: 
+ at account: 
+ at who: 
+ at conv: 
+ at icon_data: 
+ at icon_size: 
+ at user_data: 
+ at action_count: 
+ at actions: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_fields ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at fields: 
+ at ok_text: 
+ at ok_cb: 
+ at cancel_text: 
+ at cancel_cb: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_close ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at uihandle: 
+
+
+<!-- ##### FUNCTION purple_request_close_with_handle ##### -->
+<para>
+
+</para>
+
+ at handle: 
+
+
+<!-- ##### MACRO purple_request_yes_no ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_action: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at yes_cb: 
+ at no_cb: 
+
+
+<!-- ##### MACRO purple_request_ok_cancel ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_action: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at ok_cb: 
+ at cancel_cb: 
+
+
+<!-- ##### MACRO purple_request_accept_cancel ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_action: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at accept_cb: 
+ at cancel_cb: 
+
+
+<!-- ##### MACRO purple_request_accept_cancel_with_icon ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at primary: 
+ at secondary: 
+ at default_action: 
+ at account: 
+ at who: 
+ at conv: 
+ at icon_data: 
+ at icon_size: 
+ at user_data: 
+ at accept_cb: 
+ at cancel_cb: 
+
+
+<!-- ##### FUNCTION purple_request_file ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at filename: 
+ at savedialog: 
+ at ok_cb: 
+ at cancel_cb: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_folder ##### -->
+<para>
+
+</para>
+
+ at handle: 
+ at title: 
+ at dirname: 
+ at ok_cb: 
+ at cancel_cb: 
+ at account: 
+ at who: 
+ at conv: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_request_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_request_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/resolver.sgml	658187c2560d068c45035eb51c7cfdcb241f006d
@@ -0,0 +1,35 @@
+<!-- ##### SECTION Title ##### -->
+resolver
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION gg_gethostbyname_real ##### -->
+<para>
+
+</para>
+
+ at hostname: 
+ at result: 
+ at pthread: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/roomlist.sgml	76afefac199e678463fab76a435b6bc17557c110
@@ -0,0 +1,317 @@
+<!-- ##### SECTION Title ##### -->
+roomlist
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleRoomlist ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at fields: 
+ at rooms: 
+ at in_progress: 
+ at ui_data: 
+ at proto_data: 
+ at ref: 
+
+<!-- ##### STRUCT PurpleRoomlistRoom ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at fields: 
+ at parent: 
+ at expanded_once: 
+
+<!-- ##### STRUCT PurpleRoomlistField ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at label: 
+ at name: 
+ at hidden: 
+
+<!-- ##### STRUCT PurpleRoomlistUiOps ##### -->
+<para>
+
+</para>
+
+ at show_with_account: 
+ at create: 
+ at set_fields: 
+ at add_room: 
+ at in_progress: 
+ at destroy: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### ENUM PurpleRoomlistRoomType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_ROOMLIST_ROOMTYPE_CATEGORY: 
+ at PURPLE_ROOMLIST_ROOMTYPE_ROOM: 
+
+<!-- ##### ENUM PurpleRoomlistFieldType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_ROOMLIST_FIELD_BOOL: 
+ at PURPLE_ROOMLIST_FIELD_INT: 
+ at PURPLE_ROOMLIST_FIELD_STRING: 
+
+<!-- ##### FUNCTION purple_roomlist_show_with_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+
+
+<!-- ##### FUNCTION purple_roomlist_new ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_ref ##### -->
+<para>
+
+</para>
+
+ at list: 
+
+
+<!-- ##### FUNCTION purple_roomlist_unref ##### -->
+<para>
+
+</para>
+
+ at list: 
+
+
+<!-- ##### FUNCTION purple_roomlist_set_fields ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at fields: 
+
+
+<!-- ##### FUNCTION purple_roomlist_set_in_progress ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at in_progress: 
+
+
+<!-- ##### FUNCTION purple_roomlist_get_in_progress ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_add ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at room: 
+
+
+<!-- ##### FUNCTION purple_roomlist_get_list ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_cancel_get_list ##### -->
+<para>
+
+</para>
+
+ at list: 
+
+
+<!-- ##### FUNCTION purple_roomlist_expand_category ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at category: 
+
+
+<!-- ##### FUNCTION purple_roomlist_get_fields ##### -->
+<para>
+
+</para>
+
+ at roomlist: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at name: 
+ at parent: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_add_field ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at room: 
+ at field: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_join ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at room: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_get_type ##### -->
+<para>
+
+</para>
+
+ at room: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_get_name ##### -->
+<para>
+
+</para>
+
+ at room: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_get_parent ##### -->
+<para>
+
+</para>
+
+ at room: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_room_get_fields ##### -->
+<para>
+
+</para>
+
+ at room: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_field_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at label: 
+ at name: 
+ at hidden: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_field_get_type ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_field_get_label ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_field_get_hidden ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_roomlist_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_roomlist_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/roster.sgml	c96f023587168f7f12890156d37a9d0dc4bdfffb
@@ -0,0 +1,96 @@
+<!-- ##### SECTION Title ##### -->
+roster
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_roster_request ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
+<!-- ##### FUNCTION jabber_roster_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at query: 
+
+
+<!-- ##### FUNCTION jabber_roster_add_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buddy: 
+ at group: 
+
+
+<!-- ##### FUNCTION jabber_roster_alias_change ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at alias: 
+
+
+<!-- ##### FUNCTION jabber_roster_group_change ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at old_group: 
+ at new_group: 
+
+
+<!-- ##### FUNCTION jabber_roster_group_rename ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at old_name: 
+ at group: 
+ at moved_buddies: 
+
+
+<!-- ##### FUNCTION jabber_roster_remove_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buddy: 
+ at group: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/rtp.sgml	84a77571d7dc738ed287a14837c91f779c2ef491
@@ -0,0 +1,83 @@
+<!-- ##### SECTION Title ##### -->
+JingleRtp
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JingleRtp ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at priv: 
+
+<!-- ##### STRUCT JingleRtpClass ##### -->
+<para>
+
+</para>
+
+ at parent_class: 
+
+<!-- ##### STRUCT JingleRtpPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION jingle_rtp_get_media_type ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_rtp_get_ssrc ##### -->
+<para>
+
+</para>
+
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_rtp_initiate_media ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_rtp_terminate_session ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at who: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/sametime.sgml	4b090c0ed79c369fa859cd9e37c1e8e83224f3d5
@@ -0,0 +1,38 @@
+<!-- ##### SECTION Title ##### -->
+sametime
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO MW_PLUGIN_DEFAULT_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MW_PLUGIN_DEFAULT_ENCODING ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/savedstatuses.sgml	44619eca722ea6e0e51c0f738b1de3b9dff8e8b1
@@ -0,0 +1,333 @@
+<!-- ##### SECTION Title ##### -->
+savedstatuses
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleSavedStatus ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleSavedStatusSub ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_savedstatus_new ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_set_title ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at title: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_set_type ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at type: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_set_message ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_set_substatus ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at account: 
+ at type: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_unset_substatus ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at account: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_delete ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_delete_by_status ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+
+
+<!-- ##### FUNCTION purple_savedstatuses_get_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatuses_get_popular ##### -->
+<para>
+
+</para>
+
+ at how_many: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_current ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_default ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_idleaway ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_is_idleaway ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_set_idleaway ##### -->
+<para>
+
+</para>
+
+ at idleaway: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_startup ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_find ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_find_by_creation_time ##### -->
+<para>
+
+</para>
+
+ at creation_time: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_find_transient_by_type_and_message ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at message: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_is_transient ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_title ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_type ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_message ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_creation_time ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_has_substatuses ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_get_substatus ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_substatus_get_type ##### -->
+<para>
+
+</para>
+
+ at substatus: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_substatus_get_message ##### -->
+<para>
+
+</para>
+
+ at substatus: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_activate ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+
+
+<!-- ##### FUNCTION purple_savedstatus_activate_for_account ##### -->
+<para>
+
+</para>
+
+ at saved_status: 
+ at account: 
+
+
+<!-- ##### FUNCTION purple_savedstatuses_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_savedstatuses_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_savedstatuses_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/sbconn.sgml	0333fa5350b82179e54ce4b8d8fbc757cdcc40f0
@@ -0,0 +1,58 @@
+<!-- ##### SECTION Title ##### -->
+sbconn
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO MSN_SBCONN_MAX_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msn_sbconn_send_part ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at part: 
+
+
+<!-- ##### FUNCTION msn_switchboard_send_msg ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at msg: 
+ at queue: 
+
+
+<!-- ##### FUNCTION msn_sbconn_process_queue ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/search.sgml	46f897510e92621463e347a7379c145a09f58355
@@ -0,0 +1,142 @@
+<!-- ##### SECTION Title ##### -->
+search
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM GGPSearchType ##### -->
+<para>
+
+</para>
+
+ at GGP_SEARCH_TYPE_INFO: 
+ at GGP_SEARCH_TYPE_FULL: 
+
+<!-- ##### STRUCT GGPSearchForm ##### -->
+<para>
+
+</para>
+
+ at uin: 
+ at lastname: 
+ at firstname: 
+ at nickname: 
+ at city: 
+ at birthyear: 
+ at gender: 
+ at active: 
+ at offset: 
+ at last_uin: 
+ at search_type: 
+ at seq: 
+ at user_data: 
+ at window: 
+
+<!-- ##### TYPEDEF GGPSearches ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION ggp_search_form_new ##### -->
+<para>
+
+</para>
+
+ at st: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ggp_search_form_destroy ##### -->
+<para>
+
+</para>
+
+ at form: 
+
+
+<!-- ##### FUNCTION ggp_search_add ##### -->
+<para>
+
+</para>
+
+ at searches: 
+ at seq: 
+ at form: 
+
+
+<!-- ##### FUNCTION ggp_search_remove ##### -->
+<para>
+
+</para>
+
+ at searches: 
+ at seq: 
+
+
+<!-- ##### FUNCTION ggp_search_get ##### -->
+<para>
+
+</para>
+
+ at searches: 
+ at seq: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ggp_search_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ggp_search_destroy ##### -->
+<para>
+
+</para>
+
+ at searches: 
+
+
+<!-- ##### FUNCTION ggp_search_start ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at form: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ggp_search_get_result ##### -->
+<para>
+
+</para>
+
+ at res: 
+ at num: 
+ at field: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/send_file.sgml	b8ce0b71583a2b4b9bc583bb7c75f3a93a38aac2
@@ -0,0 +1,149 @@
+<!-- ##### SECTION Title ##### -->
+send_file
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT ft_info ##### -->
+<para>
+
+</para>
+
+ at to_uid: 
+ at send_seq: 
+ at file_session_key: 
+ at conn_method: 
+ at remote_internet_ip: 
+ at remote_internet_port: 
+ at remote_major_port: 
+ at remote_real_ip: 
+ at remote_minor_port: 
+ at local_internet_ip: 
+ at local_internet_port: 
+ at local_major_port: 
+ at local_real_ip: 
+ at local_minor_port: 
+ at fragment_num: 
+ at fragment_len: 
+ at max_fragment_index: 
+ at window: 
+ at major_fd: 
+ at minor_fd: 
+ at sender_fd: 
+ at recv_fd: 
+ at dest_fp: 
+ at use_major: 
+
+<!-- ##### FUNCTION qq_process_recv_file_accept ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at sender_uid: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_recv_file_reject ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at sender_uid: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_recv_file_cancel ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at sender_uid: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_recv_file_request ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at sender_uid: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_process_recv_file_notify ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at sender_uid: 
+ at gc: 
+
+
+<!-- ##### FUNCTION qq_can_receive_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_send_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at file: 
+
+
+<!-- ##### FUNCTION qq_get_conn_info ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_fill_conn_info ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at info: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/servconn.sgml	46d8df96f67f72eef2a22ffd43ed1732c3dc21cc
@@ -0,0 +1,174 @@
+<!-- ##### SECTION Title ##### -->
+servconn
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnServConn ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at session: 
+ at cmdproc: 
+ at connect_data: 
+ at connected: 
+ at processing: 
+ at wasted: 
+ at host: 
+ at num: 
+ at httpconn: 
+ at fd: 
+ at inpa: 
+ at rx_buf: 
+ at rx_len: 
+ at payload_len: 
+ at tx_buf: 
+ at tx_handler: 
+ at timeout_sec: 
+ at timeout_handle: 
+ at connect_cb: 
+ at disconnect_cb: 
+ at destroy_cb: 
+
+<!-- ##### ENUM MsnServConnError ##### -->
+<para>
+
+</para>
+
+ at MSN_SERVCONN_ERROR_NONE: 
+ at MSN_SERVCONN_ERROR_CONNECT: 
+ at MSN_SERVCONN_ERROR_WRITE: 
+ at MSN_SERVCONN_ERROR_READ: 
+
+<!-- ##### ENUM MsnServConnType ##### -->
+<para>
+
+</para>
+
+ at MSN_SERVCONN_NS: 
+ at MSN_SERVCONN_SB: 
+
+<!-- ##### FUNCTION msn_servconn_new ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_servconn_destroy ##### -->
+<para>
+
+</para>
+
+ at servconn: 
+
+
+<!-- ##### FUNCTION msn_servconn_connect ##### -->
+<para>
+
+</para>
+
+ at servconn: 
+ at host: 
+ at port: 
+ at force: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_servconn_disconnect ##### -->
+<para>
+
+</para>
+
+ at servconn: 
+
+
+<!-- ##### FUNCTION msn_servconn_set_connect_cb ##### -->
+<para>
+
+</para>
+
+ at servconn: 
+ at MsnServConn *: 
+
+
+<!-- ##### FUNCTION msn_servconn_set_disconnect_cb ##### -->
+<para>
+
+</para>
+
+ at servconn: 
+ at MsnServConn *: 
+
+
+<!-- ##### FUNCTION msn_servconn_set_destroy_cb ##### -->
+<para>
+
+</para>
+
+ at servconn: 
+ at MsnServConn *: 
+
+
+<!-- ##### FUNCTION msn_servconn_write ##### -->
+<para>
+
+</para>
+
+ at servconn: 
+ at buf: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_servconn_got_error ##### -->
+<para>
+
+</para>
+
+ at servconn: 
+ at error: 
+ at reason: 
+
+
+<!-- ##### FUNCTION msn_servconn_process_data ##### -->
+<para>
+
+</para>
+
+ at servconn: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_servconn_set_idle_timeout ##### -->
+<para>
+
+</para>
+
+ at servconn: 
+ at seconds: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/server.sgml	de442433a697dc883be7285be4172da06577ff59
@@ -0,0 +1,334 @@
+<!-- ##### SECTION Title ##### -->
+server
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION serv_send_typing ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at state: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION serv_move_buddy ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at Param3: 
+
+
+<!-- ##### FUNCTION serv_send_im ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at Param3: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_get_attention_type_from_code ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at type_code: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION serv_send_attention ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at type_code: 
+
+
+<!-- ##### FUNCTION serv_got_attention ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at type_code: 
+
+
+<!-- ##### FUNCTION serv_get_info ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_set_info ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_add_permit ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_add_deny ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_rem_permit ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_rem_deny ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION serv_set_permit_deny ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### FUNCTION serv_chat_invite ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Varargs: 
+ at Param3: 
+ at Param4: 
+
+
+<!-- ##### FUNCTION serv_chat_leave ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION serv_chat_whisper ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Varargs: 
+ at Param3: 
+ at Param4: 
+
+
+<!-- ##### FUNCTION serv_chat_send ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Varargs: 
+ at Param3: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION serv_alias_buddy ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### FUNCTION serv_got_alias ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at alias: 
+
+
+<!-- ##### FUNCTION purple_serv_got_private_alias ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at alias: 
+
+
+<!-- ##### FUNCTION serv_got_typing ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at timeout: 
+ at state: 
+
+
+<!-- ##### FUNCTION serv_got_typing_stopped ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+
+
+<!-- ##### FUNCTION serv_got_im ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at msg: 
+ at flags: 
+ at mtime: 
+
+
+<!-- ##### FUNCTION serv_join_chat ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at data: 
+
+
+<!-- ##### FUNCTION serv_reject_chat ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at data: 
+
+
+<!-- ##### FUNCTION serv_got_chat_invite ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at who: 
+ at message: 
+ at data: 
+
+
+<!-- ##### FUNCTION serv_got_joined_chat ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_serv_got_join_chat_failed ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+
+
+<!-- ##### FUNCTION serv_got_chat_left ##### -->
+<para>
+
+</para>
+
+ at g: 
+ at id: 
+
+
+<!-- ##### FUNCTION serv_got_chat_in ##### -->
+<para>
+
+</para>
+
+ at g: 
+ at id: 
+ at who: 
+ at flags: 
+ at message: 
+ at mtime: 
+
+
+<!-- ##### FUNCTION serv_send_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at file: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/session.sgml	ef04e9d591f44fda104728cf4d1ebfdc534b6412
@@ -0,0 +1,48 @@
+<!-- ##### SECTION Title ##### -->
+session
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO MSIM_SESSION_STRUCT_MAGIC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msim_session_new ##### -->
+<para>
+
+</para>
+
+ at acct: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msim_session_destroy ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/sha1hash.sgml	6ee36467f5dbe28eb5984c842f3635122a2a2398
@@ -0,0 +1,66 @@
+<!-- ##### SECTION Title ##### -->
+PurpleSHA1Hash
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleSHA1Hash ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at parent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleSHA1HashClass ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at parent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_sha1_hash_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_sha1_hash_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/sha256hash.sgml	61fc397d8c33b378eb7d9fc9fbebdce58e7ee464
@@ -0,0 +1,66 @@
+<!-- ##### SECTION Title ##### -->
+PurpleSHA256Hash
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleSHA256Hash ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at parent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### STRUCT PurpleSHA256HashClass ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at parent: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### FUNCTION purple_sha256_hash_get_gtype ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_sha256_hash_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/si.sgml	c92a878cd584e492d1f3313990df53d009168c50
@@ -0,0 +1,84 @@
+<!-- ##### SECTION Title ##### -->
+si
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_bytestreams_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at query: 
+
+
+<!-- ##### FUNCTION jabber_si_parse ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at from: 
+ at type: 
+ at id: 
+ at si: 
+
+
+<!-- ##### FUNCTION jabber_si_new_xfer ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_si_xfer_send ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at file: 
+
+
+<!-- ##### FUNCTION jabber_si_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_si_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/signals.sgml	c5405170c20c2ab52dd980552f9f48495d829ed4
@@ -0,0 +1,887 @@
+<!-- ##### SECTION Title ##### -->
+signals
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO PURPLE_CALLBACK ##### -->
+<para>
+
+</para>
+
+ at func: 
+
+
+<!-- ##### USER_FUNCTION PurpleCallback ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION PurpleSignalMarshalFunc ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### MACRO PURPLE_SIGNAL_PRIORITY_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_SIGNAL_PRIORITY_HIGHEST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_SIGNAL_PRIORITY_LOWEST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_signal_register ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at marshal: 
+ at ret_value: 
+ at num_values: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_signal_unregister ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+
+
+<!-- ##### FUNCTION purple_signals_unregister_by_instance ##### -->
+<para>
+
+</para>
+
+ at instance: 
+
+
+<!-- ##### FUNCTION purple_signal_get_values ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at ret_value: 
+ at num_values: 
+ at values: 
+
+
+<!-- ##### FUNCTION purple_signal_connect_priority ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at handle: 
+ at func: 
+ at data: 
+ at priority: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_signal_connect ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at handle: 
+ at func: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_signal_connect_priority_vargs ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at handle: 
+ at func: 
+ at data: 
+ at priority: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_signal_connect_vargs ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at handle: 
+ at func: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_signal_disconnect ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at handle: 
+ at func: 
+
+
+<!-- ##### FUNCTION purple_signals_disconnect_by_handle ##### -->
+<para>
+
+</para>
+
+ at handle: 
+
+
+<!-- ##### FUNCTION purple_signal_emit ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_signal_emit_vargs ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at args: 
+
+
+<!-- ##### FUNCTION purple_signal_emit_return_1 ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_signal_emit_vargs_return_1 ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at args: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_signals_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_signals_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__INT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__INT_INT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_UINT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_INT_INT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_INT_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_POINTER_UINT_UINT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_INT__INT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_INT__INT_INT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_INT__POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_BOOLEAN__POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_BOOLEAN__POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_BOOLEAN__POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_BOOLEAN__INT_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_marshal_POINTER__POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_POINTER__POINTER_INT ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_POINTER__POINTER_INT64 ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_POINTER__POINTER_INT_BOOLEAN ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_POINTER__POINTER_INT64_BOOLEAN ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### FUNCTION purple_old_marshal_POINTER__POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at args: 
+ at data: 
+ at return_val: 
+
+
+<!-- ##### MACRO purple_marshal_VOID ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__INT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__INT_INT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_INT_INT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_INT_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_POINTER_UINT_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_INT__INT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_INT__INT_INT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_INT__POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_BOOLEAN__POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_BOOLEAN__POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_BOOLEAN__POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_BOOLEAN__POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_BOOLEAN__INT_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_POINTER__POINTER_INT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_POINTER__POINTER_INT64 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_POINTER__POINTER_INT_BOOLEAN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_POINTER__POINTER_INT64_BOOLEAN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO purple_marshal_POINTER__POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/silcpurple.sgml	27fd9208e98154f88bcd85a0364c89137fe3bf24
@@ -0,0 +1,135 @@
+<!-- ##### SECTION Title ##### -->
+silcpurple
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO SILCPURPLE_PUBLIC_KEY_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SILCPURPLE_PRIVATE_KEY_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SILCPURPLE_DEF_PKCS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SILCPURPLE_DEF_PKCS_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SILCPURPLE_PRVGRP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SILCPURPLE_STATUS_ID_OFFLINE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SILCPURPLE_STATUS_ID_AVAILABLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SILCPURPLE_STATUS_ID_HYPER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SILCPURPLE_STATUS_ID_AWAY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SILCPURPLE_STATUS_ID_BUSY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SILCPURPLE_STATUS_ID_INDISPOSED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SILCPURPLE_STATUS_ID_PAGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION getpwuid ##### -->
+<para>
+
+</para>
+
+ at uid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION getuid ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION geteuid ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/simple.sgml	1389e93ecf47202f766122776d50e00c0a7763f2
@@ -0,0 +1,90 @@
+<!-- ##### SECTION Title ##### -->
+simple
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO SIMPLE_BUF_INC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SIMPLE_REGISTER_RETRY_MAX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SIMPLE_REGISTER_SENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SIMPLE_REGISTER_RETRY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SIMPLE_REGISTER_COMPLETE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PUBLISH_EXPIRATION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SUBSCRIBE_EXPIRATION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT transaction ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION TransCallback ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at Param3: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/sipmsg.sgml	7c899a3f146862e131075b1436fd81ff3c06e65e
@@ -0,0 +1,96 @@
+<!-- ##### SECTION Title ##### -->
+sipmsg
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION sipmsg_parse_msg ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION sipmsg_parse_header ##### -->
+<para>
+
+</para>
+
+ at header: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION sipmsg_add_header ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION sipmsg_free ##### -->
+<para>
+
+</para>
+
+ at msg: 
+
+
+<!-- ##### FUNCTION sipmsg_find_header ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION sipmsg_remove_header ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at name: 
+
+
+<!-- ##### FUNCTION sipmsg_print ##### -->
+<para>
+
+</para>
+
+ at msg: 
+
+
+<!-- ##### FUNCTION sipmsg_to_string ##### -->
+<para>
+
+</para>
+
+ at msg: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/slp.sgml	100d61c16f09fd52d2f003b8ec41af2ee7177fd1
@@ -0,0 +1,71 @@
+<!-- ##### SECTION Title ##### -->
+slp
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION msn_slp_send_ok ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at branch: 
+ at type: 
+ at content: 
+
+
+<!-- ##### FUNCTION msn_slp_send_decline ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at branch: 
+ at type: 
+ at content: 
+
+
+<!-- ##### FUNCTION send_bye ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at type: 
+
+
+<!-- ##### FUNCTION msn_request_user_display ##### -->
+<para>
+
+</para>
+
+ at user: 
+
+
+<!-- ##### FUNCTION msn_request_ft ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/slpcall.sgml	04b0a9d22f09a02424fe10a2424219840137bee4
@@ -0,0 +1,111 @@
+<!-- ##### SECTION Title ##### -->
+slpcall
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnSlpCall ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at type: 
+ at id: 
+ at branch: 
+ at pending: 
+ at progress: 
+ at wasted: 
+ at started: 
+ at wait_for_socket: 
+ at progress_cb: 
+ at session_init_cb: 
+ at data_info: 
+ at xfer: 
+
+<!-- ##### ENUM MsnSlpCallType ##### -->
+<para>
+
+</para>
+
+ at MSN_SLPCALL_ANY: 
+ at MSN_SLPCALL_DC: 
+
+<!-- ##### MACRO MSN_SLPCALL_TIMEOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msn_slpcall_new ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpcall_init ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at type: 
+
+
+<!-- ##### FUNCTION msn_slpcall_session_init ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+
+
+<!-- ##### FUNCTION msn_slpcall_destroy ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+
+
+<!-- ##### FUNCTION msn_slpcall_invite ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at euf_guid: 
+ at app_id: 
+ at context: 
+
+
+<!-- ##### FUNCTION msn_slpcall_close ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/slplink.sgml	c616fc68cb5937b54e3d31e6320bcf46d4167f30
@@ -0,0 +1,199 @@
+<!-- ##### SECTION Title ##### -->
+slplink
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnSlpLink ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at swboard: 
+ at dc: 
+ at refs: 
+ at remote_user: 
+ at slp_seq_id: 
+ at slp_calls: 
+ at slp_msgs: 
+ at slp_msg_queue: 
+
+<!-- ##### USER_FUNCTION MsnSlpCb ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at data: 
+ at size: 
+
+
+<!-- ##### USER_FUNCTION MsnSlpEndCb ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at session: 
+
+
+<!-- ##### FUNCTION msn_slplink_ref ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slplink_unref ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+
+
+<!-- ##### FUNCTION msn_session_find_slplink ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_session_get_slplink ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at username: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slplink_add_slpcall ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at slpcall: 
+
+
+<!-- ##### FUNCTION msn_slplink_remove_slpcall ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at slpcall: 
+
+
+<!-- ##### FUNCTION msn_slplink_find_slp_call ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slplink_find_slp_call_with_session_id ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at Param2: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slplink_queue_slpmsg ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at slpmsg: 
+
+
+<!-- ##### FUNCTION msn_slplink_send_slpmsg ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at slpmsg: 
+
+
+<!-- ##### FUNCTION msn_slplink_send_queued_slpmsgs ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+
+
+<!-- ##### FUNCTION msn_slplink_process_msg ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at part: 
+
+
+<!-- ##### FUNCTION msn_slplink_send_msgpart ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at slpmsg: 
+
+
+<!-- ##### FUNCTION msn_slplink_request_object ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at info: 
+ at cb: 
+ at end_cb: 
+ at obj: 
+
+
+<!-- ##### FUNCTION msn_slp_process_msg ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at slpmsg: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/slpmsg.sgml	31cb857bab14c83e8fd51df754f07b98b166beec
@@ -0,0 +1,156 @@
+<!-- ##### SECTION Title ##### -->
+slpmsg
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnSlpMessage ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at slplink: 
+ at session: 
+ at p2p_info: 
+ at ft: 
+ at img: 
+ at buffer: 
+ at size: 
+ at parts: 
+ at info: 
+ at text_body: 
+
+<!-- ##### FUNCTION msn_slpmsg_new ##### -->
+<para>
+
+</para>
+
+ at slplink: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpmsg_destroy ##### -->
+<para>
+
+</para>
+
+ at slpmsg: 
+
+
+<!-- ##### FUNCTION msn_slpmsg_set_slplink ##### -->
+<para>
+
+</para>
+
+ at slpmsg: 
+ at slplink: 
+
+
+<!-- ##### FUNCTION msn_slpmsg_set_body ##### -->
+<para>
+
+</para>
+
+ at slpmsg: 
+ at body: 
+ at Param3: 
+
+
+<!-- ##### FUNCTION msn_slpmsg_set_image ##### -->
+<para>
+
+</para>
+
+ at slpmsg: 
+ at img: 
+
+
+<!-- ##### FUNCTION msn_slpmsg_sip_new ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at cseq: 
+ at header: 
+ at branch: 
+ at content_type: 
+ at content: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpmsg_ack_new ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpmsg_obj_new ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at img: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpmsg_dataprep_new ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpmsg_file_new ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpmsg_serialize ##### -->
+<para>
+
+</para>
+
+ at slpmsg: 
+ at ret_size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpmsg_show_readable ##### -->
+<para>
+
+</para>
+
+ at slpmsg: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/slpmsg_part.sgml	6df4b536bc58f31268041f66b333cf3ebbbd9177
@@ -0,0 +1,129 @@
+<!-- ##### SECTION Title ##### -->
+slpmsg_part
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnSlpMessagePart ##### -->
+<para>
+
+</para>
+
+ at ref_count: 
+ at info: 
+ at ack_cb: 
+ at nak_cb: 
+ at ack_data: 
+ at buffer: 
+ at size: 
+
+<!-- ##### USER_FUNCTION MsnSlpPartCb ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at data: 
+
+
+<!-- ##### FUNCTION msn_slpmsgpart_new ##### -->
+<para>
+
+</para>
+
+ at info: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpmsgpart_new_from_data ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at data_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpmsgpart_ref ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpmsgpart_unref ##### -->
+<para>
+
+</para>
+
+ at part: 
+
+
+<!-- ##### FUNCTION msn_slpmsgpart_set_bin_data ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION msn_slpmsgpart_serialize ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at ret_size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_slpmsgpart_ack ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at data: 
+
+
+<!-- ##### FUNCTION msn_slpmsgpart_nak ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at data: 
+
+
+<!-- ##### FUNCTION msn_slpmsgpart_to_string ##### -->
+<para>
+
+</para>
+
+ at part: 
+ at str: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/smiley.sgml	d63771bcab5e9ac0b18a54675798c074aa88d771
@@ -0,0 +1,208 @@
+<!-- ##### SECTION Title ##### -->
+smiley
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleSmiley ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SIGNAL PurpleSmiley::destroy ##### -->
+<para>
+
+</para>
+
+ at purplesmiley: the object which received the signal.
+
+<!-- ##### ARG PurpleSmiley:image ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleSmiley:shortcut ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT PurpleSmileyClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_smiley_new ##### -->
+<para>
+
+</para>
+
+ at img: 
+ at shortcut: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_new_from_file ##### -->
+<para>
+
+</para>
+
+ at shortcut: 
+ at filepath: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_delete ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+
+
+<!-- ##### FUNCTION purple_smiley_set_shortcut ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at shortcut: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_set_data ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at smiley_data: 
+ at smiley_data_len: 
+
+
+<!-- ##### FUNCTION purple_smiley_get_shortcut ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_get_checksum ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_get_stored_image ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_get_data ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_get_extension ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smiley_get_full_path ##### -->
+<para>
+
+</para>
+
+ at smiley: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smileys_get_all ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smileys_find_by_shortcut ##### -->
+<para>
+
+</para>
+
+ at shortcut: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smileys_find_by_checksum ##### -->
+<para>
+
+</para>
+
+ at checksum: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smileys_get_storing_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_smileys_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_smileys_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/snactypes.sgml	981b7bf04853857473479cc8dde0d9683a4225df
@@ -0,0 +1,1067 @@
+<!-- ##### SECTION Title ##### -->
+snactypes
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO SNAC_FAMILY_OSERVICE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_LOCATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_BUDDY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_ICBM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_ADVERT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_INVITE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_ADMIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_POPUP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_BOS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_USERLOOKUP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_STATS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_TRANSLATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_CHATNAV ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_CHAT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_ODIR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_BART ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_FEEDBAG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_ICQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_AUTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_FAMILY_ALERT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_CB_FAM_SPECIAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_CB_ACK_ACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_CLIENTREADY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_SERVERREADY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_SERVICEREQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_REDIRECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_RATEINFOREQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_RATEINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_RATEINFOACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_RATECHANGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_SERVERPAUSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_SERVERRESUME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_REQSELFINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_SELFINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_EVIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_SETIDLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_MIGRATIONREQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_MOTD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_SETPRIVFLAGS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_WELLKNOWNURL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_NOP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_OSERVICE_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_LOCATE_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_LOCATE_REQRIGHTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_LOCATE_RIGHTSINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_LOCATE_SETUSERINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_LOCATE_REQUSERINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_LOCATE_USERINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_LOCATE_WATCHERSUBREQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_LOCATE_WATCHERNOT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_LOCATE_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BUDDY_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BUDDY_REQRIGHTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BUDDY_RIGHTSINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BUDDY_ADDBUDDY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BUDDY_REMBUDDY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BUDDY_REJECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BUDDY_ONCOMING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BUDDY_OFFGOING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BUDDY_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICBM_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICBM_PARAMINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICBM_INCOMING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICBM_EVIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICBM_MISSEDCALL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICBM_CLIENTAUTORESP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICBM_ACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICBM_MTN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICBM_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ADVERT_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ADVERT_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_INVITE_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_INVITE_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ADMIN_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ADMIN_INFOCHANGE_REPLY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ADMIN_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_POPUP_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_POPUP_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BOS_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BOS_RIGHTSQUERY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BOS_RIGHTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BOS_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_USERLOOKUP_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_USERLOOKUP_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_STATS_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_STATS_SETREPORTINTERVAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_STATS_REPORTACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_STATS_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_TRANSLATE_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_TRANSLATE_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_CHATNAV_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_CHATNAV_CREATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_CHATNAV_INFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_CHATNAV_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_CHAT_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_CHAT_ROOMINFOUPDATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_CHAT_USERJOIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_CHAT_USERLEAVE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_CHAT_OUTGOINGMSG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_CHAT_INCOMINGMSG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_CHAT_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ODIR_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ODIR_SEARCH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ODIR_RESULTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BART_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BART_REQUEST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_BART_RESPONSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_REQRIGHTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_RIGHTSINFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_REQDATA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_REQIFCHANGED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_LIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_ACTIVATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_ADD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_MOD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_DEL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_SRVACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_NOLIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_EDITSTART ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_EDITSTOP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_SENDAUTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_RECVAUTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_SENDAUTHREQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_RECVAUTHREQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_SENDAUTHREP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_RECVAUTHREP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_FEEDBAG_ADDED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICQ_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICQ_OFFLINEMSG ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICQ_OFFLINEMSGCOMPLETE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICQ_INFO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICQ_ALIAS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ICQ_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_AUTH_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_AUTH_LOGINREQEST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_AUTH_LOGINRESPONSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_AUTH_AUTHREQ ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_AUTH_AUTHRESPONSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_AUTH_SECURID_REQUEST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_AUTH_SECURID_RESPONSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ALERT_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ALERT_SENDCOOKIES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ALERT_MAILSTATUS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SNAC_SUBTYPE_ALERT_INIT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_CB_SPECIAL_CONNERR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_CB_SPECIAL_CONNINITDONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO AIM_SNACFLAGS_DESTRUCTOR ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/soap.sgml	e5d2ad5af0faa50db2ee644fc0ce48a8baef1c4e
@@ -0,0 +1,67 @@
+<!-- ##### SECTION Title ##### -->
+soap
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnSoapMessage ##### -->
+<para>
+
+</para>
+
+ at action: 
+ at xml: 
+ at headers: 
+
+<!-- ##### USER_FUNCTION MsnSoapCallback ##### -->
+<para>
+
+</para>
+
+ at request: 
+ at response: 
+ at cb_data: 
+
+
+<!-- ##### FUNCTION msn_soap_message_new ##### -->
+<para>
+
+</para>
+
+ at action: 
+ at xml: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_soap_message_send ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at message: 
+ at host: 
+ at path: 
+ at secure: 
+ at cb: 
+ at cb_data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/sound-theme-loader.sgml	a09cf1bf3ea383a859f6840beaba0e1f443f0e68
@@ -0,0 +1,36 @@
+<!-- ##### SECTION Title ##### -->
+PurpleSoundThemeLoader
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleSoundThemeLoader ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleSoundThemeLoaderClass ##### -->
+<para>
+
+</para>
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/sound-theme.sgml	ad9c1bcb562171cc7d889a35bde6858480905cfb
@@ -0,0 +1,66 @@
+<!-- ##### SECTION Title ##### -->
+PurpleSoundTheme
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleSoundTheme ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleSoundThemeClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_sound_theme_get_file ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at event: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_sound_theme_get_file_full ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at event: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_sound_theme_set_file ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at event: 
+ at filename: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/sound.sgml	8b252a6669dc815891c4e16e5daf30847a944ce2
@@ -0,0 +1,167 @@
+<!-- ##### SECTION Title ##### -->
+sound
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurpleSoundEventID ##### -->
+<para>
+
+</para>
+
+ at PURPLE_SOUND_BUDDY_ARRIVE: 
+ at PURPLE_SOUND_BUDDY_LEAVE: 
+ at PURPLE_SOUND_RECEIVE: 
+ at PURPLE_SOUND_FIRST_RECEIVE: 
+ at PURPLE_SOUND_SEND: 
+ at PURPLE_SOUND_CHAT_JOIN: 
+ at PURPLE_SOUND_CHAT_LEAVE: 
+ at PURPLE_SOUND_CHAT_YOU_SAY: 
+ at PURPLE_SOUND_CHAT_SAY: 
+ at PURPLE_SOUND_POUNCE_DEFAULT: 
+ at PURPLE_SOUND_CHAT_NICK: 
+ at PURPLE_SOUND_GOT_ATTENTION: 
+ at PURPLE_NUM_SOUNDS: 
+
+<!-- ##### USER_FUNCTION init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION play_file ##### -->
+<para>
+
+</para>
+
+ at filename: 
+
+
+<!-- ##### USER_FUNCTION play_event ##### -->
+<para>
+
+</para>
+
+ at event: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved1 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved2 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved3 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved4 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_sound_play_file ##### -->
+<para>
+
+</para>
+
+ at filename: 
+ at account: 
+
+
+<!-- ##### FUNCTION purple_sound_play_event ##### -->
+<para>
+
+</para>
+
+ at event: 
+ at account: 
+
+
+<!-- ##### FUNCTION purple_sound_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_sound_get_ui_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_sound_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_sound_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_sounds_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/splashscreen.sgml	84b98162f2c63d4e16e3c3e900a97715b4011bf2
@@ -0,0 +1,91 @@
+<!-- ##### SECTION Title ##### -->
+splashscreen
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO HANDLE_SPLASH1 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HANDLE_SPLASH2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DEFAULT_SPLASH_POPUP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION splash_current ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION splash_popup_enabled ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION splash_update ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at splashId: 
+ at data: 
+ at datalen: 
+ at clickable: 
+
+
+<!-- ##### FUNCTION splash_remove ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
+<!-- ##### FUNCTION splash_display ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/sslconn.sgml	00162b49269447c2b1b6e2590bba2fbdd395a20d
@@ -0,0 +1,321 @@
+<!-- ##### SECTION Title ##### -->
+sslconn
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurpleSslErrorType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_SSL_HANDSHAKE_FAILED: 
+ at PURPLE_SSL_CONNECT_FAILED: 
+ at PURPLE_SSL_CERTIFICATE_INVALID: 
+
+<!-- ##### MACRO PURPLE_SSL_DEFAULT_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT PurpleSslConnection ##### -->
+<para>
+
+</para>
+
+ at host: 
+ at port: 
+ at connect_cb_data: 
+ at connect_cb: 
+ at error_cb: 
+ at recv_cb_data: 
+ at recv_cb: 
+ at fd: 
+ at inpa: 
+ at connect_data: 
+ at private_data: 
+ at verifier: 
+
+<!-- ##### USER_FUNCTION PurpleSslInputFunction ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at Param3: 
+
+
+<!-- ##### USER_FUNCTION PurpleSslErrorFunction ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Param2: 
+ at Param3: 
+
+
+<!-- ##### USER_FUNCTION init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION connectfunc ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+
+
+<!-- ##### USER_FUNCTION close ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+
+
+<!-- ##### USER_FUNCTION read ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+ at data: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION write ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+ at data: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION get_peer_certificates ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved2 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved3 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved4 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_ssl_is_supported ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ssl_strerror ##### -->
+<para>
+
+</para>
+
+ at error: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ssl_connect ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at host: 
+ at port: 
+ at func: 
+ at error_func: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ssl_connect_with_ssl_cn ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at host: 
+ at port: 
+ at func: 
+ at error_func: 
+ at ssl_host: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ssl_connect_fd ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at fd: 
+ at func: 
+ at error_func: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ssl_connect_with_host_fd ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at fd: 
+ at func: 
+ at error_func: 
+ at host: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ssl_input_add ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+ at func: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_ssl_close ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+
+
+<!-- ##### FUNCTION purple_ssl_read ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+ at buffer: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ssl_write ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+ at buffer: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ssl_get_peer_certificates ##### -->
+<para>
+
+</para>
+
+ at gsc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ssl_set_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_ssl_get_ops ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ssl_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_ssl_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/state.sgml	9354e016d1cbc9a4b6b27a8a6bf5c8ad9ad616fb
@@ -0,0 +1,92 @@
+<!-- ##### SECTION Title ##### -->
+state
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM MsnAwayType ##### -->
+<para>
+
+</para>
+
+ at MSN_ONLINE: 
+ at MSN_BUSY: 
+ at MSN_IDLE: 
+ at MSN_BRB: 
+ at MSN_AWAY: 
+ at MSN_PHONE: 
+ at MSN_LUNCH: 
+ at MSN_OFFLINE: 
+ at MSN_HIDDEN: 
+
+<!-- ##### FUNCTION msn_change_status ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
+<!-- ##### FUNCTION msn_away_get_text ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_state_get_text ##### -->
+<para>
+
+</para>
+
+ at state: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_get_currentmedia ##### -->
+<para>
+
+</para>
+
+ at payloadNode: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_get_psm ##### -->
+<para>
+
+</para>
+
+ at payloadNode: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_state_from_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/status.sgml	7265c2207b1ac62e024255482536744d666376db
@@ -0,0 +1,925 @@
+<!-- ##### SECTION Title ##### -->
+status
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleStatusType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleStatusAttr ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurplePresence ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleStatus ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleMood ##### -->
+<para>
+
+</para>
+
+ at mood: 
+ at description: 
+ at padding: 
+
+<!-- ##### ENUM PurplePresenceContext ##### -->
+<para>
+
+</para>
+
+ at PURPLE_PRESENCE_CONTEXT_UNSET: 
+ at PURPLE_PRESENCE_CONTEXT_ACCOUNT: 
+ at PURPLE_PRESENCE_CONTEXT_CONV: 
+ at PURPLE_PRESENCE_CONTEXT_BUDDY: 
+
+<!-- ##### ENUM PurpleStatusPrimitive ##### -->
+<para>
+
+</para>
+
+ at PURPLE_STATUS_UNSET: 
+ at PURPLE_STATUS_OFFLINE: 
+ at PURPLE_STATUS_AVAILABLE: 
+ at PURPLE_STATUS_UNAVAILABLE: 
+ at PURPLE_STATUS_INVISIBLE: 
+ at PURPLE_STATUS_AWAY: 
+ at PURPLE_STATUS_EXTENDED_AWAY: 
+ at PURPLE_STATUS_MOBILE: 
+ at PURPLE_STATUS_TUNE: 
+ at PURPLE_STATUS_MOOD: 
+ at PURPLE_STATUS_NUM_PRIMITIVES: 
+
+<!-- ##### MACRO PURPLE_TUNE_ARTIST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_TUNE_TITLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_TUNE_ALBUM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_TUNE_GENRE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_TUNE_COMMENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_TUNE_TRACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_TUNE_TIME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_TUNE_YEAR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_TUNE_URL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_TUNE_FULL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_MOOD_NAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_MOOD_COMMENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_primitive_get_id_from_type ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_primitive_get_name_from_type ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_primitive_get_type_from_id ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_new_full ##### -->
+<para>
+
+</para>
+
+ at primitive: 
+ at id: 
+ at name: 
+ at saveable: 
+ at user_settable: 
+ at independent: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_new ##### -->
+<para>
+
+</para>
+
+ at primitive: 
+ at id: 
+ at name: 
+ at user_settable: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_new_with_attrs ##### -->
+<para>
+
+</para>
+
+ at primitive: 
+ at id: 
+ at name: 
+ at saveable: 
+ at user_settable: 
+ at independent: 
+ at attr_id: 
+ at attr_name: 
+ at attr_value: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_destroy ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+
+
+<!-- ##### FUNCTION purple_status_type_set_primary_attr ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at attr_id: 
+
+
+<!-- ##### FUNCTION purple_status_type_add_attr ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at id: 
+ at name: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_status_type_add_attrs ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at id: 
+ at name: 
+ at value: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION purple_status_type_add_attrs_vargs ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at args: 
+
+
+<!-- ##### FUNCTION purple_status_type_get_primitive ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_get_id ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_get_name ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_is_saveable ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_is_user_settable ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_is_independent ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_is_exclusive ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_is_available ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_get_primary_attr ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_get_attr ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_get_attrs ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_type_find_with_id ##### -->
+<para>
+
+</para>
+
+ at status_types: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_attr_new ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at name: 
+ at value_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_attr_destroy ##### -->
+<para>
+
+</para>
+
+ at attr: 
+
+
+<!-- ##### FUNCTION purple_status_attr_get_id ##### -->
+<para>
+
+</para>
+
+ at attr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_attr_get_name ##### -->
+<para>
+
+</para>
+
+ at attr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_attr_get_value ##### -->
+<para>
+
+</para>
+
+ at attr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_new ##### -->
+<para>
+
+</para>
+
+ at status_type: 
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_destroy ##### -->
+<para>
+
+</para>
+
+ at status: 
+
+
+<!-- ##### FUNCTION purple_status_set_active ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at active: 
+
+
+<!-- ##### FUNCTION purple_status_set_active_with_attrs ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at active: 
+ at args: 
+
+
+<!-- ##### FUNCTION purple_status_set_active_with_attrs_list ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at active: 
+ at attrs: 
+
+
+<!-- ##### FUNCTION purple_status_set_attr_boolean ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_status_set_attr_int ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_status_set_attr_string ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at value: 
+
+
+<!-- ##### FUNCTION purple_status_get_type ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_presence ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_id ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_name ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_is_independent ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_is_exclusive ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_is_available ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_is_active ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_is_online ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_attr_value ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_attr_boolean ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_attr_int ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_attr_string ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_compare ##### -->
+<para>
+
+</para>
+
+ at status1: 
+ at status2: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_new ##### -->
+<para>
+
+</para>
+
+ at context: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_new_for_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_new_for_conv ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_new_for_buddy ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_destroy ##### -->
+<para>
+
+</para>
+
+ at presence: 
+
+
+<!-- ##### FUNCTION purple_presence_add_status ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at status: 
+
+
+<!-- ##### FUNCTION purple_presence_add_list ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at source_list: 
+
+
+<!-- ##### FUNCTION purple_presence_set_status_active ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at status_id: 
+ at active: 
+
+
+<!-- ##### FUNCTION purple_presence_switch_status ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at status_id: 
+
+
+<!-- ##### FUNCTION purple_presence_set_idle ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at idle: 
+ at idle_time: 
+
+
+<!-- ##### FUNCTION purple_presence_set_login_time ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at login_time: 
+
+
+<!-- ##### FUNCTION purple_presence_get_context ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_account ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_conversation ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_chat_user ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_buddy ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_statuses ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_status ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at status_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_active_status ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_is_available ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_is_online ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_is_status_active ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at status_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_is_status_primitive_active ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at primitive: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_is_idle ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_idle_time ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_get_login_time ##### -->
+<para>
+
+</para>
+
+ at presence: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_presence_compare ##### -->
+<para>
+
+</para>
+
+ at presence1: 
+ at presence2: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_get_handle ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_status_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_status_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/stringref.sgml	a087273ec047a8d0ecc494b79a8fe9cd6cf099f1
@@ -0,0 +1,103 @@
+<!-- ##### SECTION Title ##### -->
+stringref
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleStringref ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_stringref_new ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_stringref_new_noref ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_stringref_printf ##### -->
+<para>
+
+</para>
+
+ at format: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_stringref_ref ##### -->
+<para>
+
+</para>
+
+ at stringref: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_stringref_unref ##### -->
+<para>
+
+</para>
+
+ at stringref: 
+
+
+<!-- ##### FUNCTION purple_stringref_value ##### -->
+<para>
+
+</para>
+
+ at stringref: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_stringref_cmp ##### -->
+<para>
+
+</para>
+
+ at s1: 
+ at s2: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_stringref_len ##### -->
+<para>
+
+</para>
+
+ at stringref: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/stun.sgml	a6b4dfe69b4911097164ddfdfdbc2d411eee70cb
@@ -0,0 +1,82 @@
+<!-- ##### SECTION Title ##### -->
+stun
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleStunNatDiscovery ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at type: 
+ at publicip: 
+ at servername: 
+ at lookup_time: 
+
+<!-- ##### ENUM PurpleStunStatus ##### -->
+<para>
+
+</para>
+
+ at PURPLE_STUN_STATUS_UNDISCOVERED: 
+ at PURPLE_STUN_STATUS_UNKNOWN: 
+ at PURPLE_STUN_STATUS_DISCOVERING: 
+ at PURPLE_STUN_STATUS_DISCOVERED: 
+
+<!-- ##### ENUM PurpleStunNatType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_STUN_NAT_TYPE_PUBLIC_IP: 
+ at PURPLE_STUN_NAT_TYPE_UNKNOWN_NAT: 
+ at PURPLE_STUN_NAT_TYPE_FULL_CONE: 
+ at PURPLE_STUN_NAT_TYPE_RESTRICTED_CONE: 
+ at PURPLE_STUN_NAT_TYPE_PORT_RESTRICTED_CONE: 
+ at PURPLE_STUN_NAT_TYPE_SYMMETRIC: 
+
+<!-- ##### USER_FUNCTION StunCallback ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### FUNCTION purple_stun_discover ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_stun_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/switchboard.sgml	c5cdfa6b328524711bc92bdadcf599edb017c48d
@@ -0,0 +1,281 @@
+<!-- ##### SECTION Title ##### -->
+switchboard
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnSwitchBoard ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at servconn: 
+ at cmdproc: 
+ at im_user: 
+ at flag: 
+ at auth_key: 
+ at session_id: 
+ at conv: 
+ at empty: 
+ at invited: 
+ at ready: 
+ at closed: 
+ at destroying: 
+ at current_users: 
+ at total_users: 
+ at users: 
+ at chat_id: 
+ at msg_queue: 
+ at ack_list: 
+ at error: 
+ at slplinks: 
+ at reconn_timeout_h: 
+
+<!-- ##### ENUM MsnSBErrorType ##### -->
+<para>
+
+</para>
+
+ at MSN_SB_ERROR_NONE: 
+ at MSN_SB_ERROR_CAL: 
+ at MSN_SB_ERROR_OFFLINE: 
+ at MSN_SB_ERROR_USER_OFFLINE: 
+ at MSN_SB_ERROR_CONNECTION: 
+ at MSN_SB_ERROR_TOO_FAST: 
+ at MSN_SB_ERROR_AUTHFAILED: 
+ at MSN_SB_ERROR_UNKNOWN: 
+
+<!-- ##### ENUM MsnSBFlag ##### -->
+<para>
+
+</para>
+
+ at MSN_SB_FLAG_IM: 
+ at MSN_SB_FLAG_FT: 
+
+<!-- ##### FUNCTION msn_switchboard_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION msn_switchboard_end ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION msn_switchboard_new ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_switchboard_destroy ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+
+
+<!-- ##### FUNCTION msn_switchboard_set_auth_key ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at key: 
+
+
+<!-- ##### FUNCTION msn_switchboard_get_auth_key ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_switchboard_set_session_id ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at id: 
+
+
+<!-- ##### FUNCTION msn_switchboard_get_session_id ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_switchboard_get_chat_id ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_switchboard_set_invited ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at invited: 
+
+
+<!-- ##### FUNCTION msn_switchboard_is_invited ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_switchboard_connect ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at host: 
+ at port: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_switchboard_disconnect ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+
+
+<!-- ##### FUNCTION msn_switchboard_close ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+
+
+<!-- ##### FUNCTION msn_switchboard_release ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at flag: 
+
+
+<!-- ##### FUNCTION msn_switchboard_can_send ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_switchboard_send_msg ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at msg: 
+ at queue: 
+
+
+<!-- ##### FUNCTION msg_error_helper ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at msg: 
+ at error: 
+
+
+<!-- ##### FUNCTION msn_switchboard_chat_leave ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_switchboard_chat_invite ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_switchboard_request ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+
+
+<!-- ##### FUNCTION msn_switchboard_request_add_user ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at user: 
+
+
+<!-- ##### FUNCTION msn_switchboard_show_ink ##### -->
+<para>
+
+</para>
+
+ at swboard: 
+ at passport: 
+ at data: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/sysdep.sgml	46d23ba25d78e2e7e57a1370ff8237a60bd207fe
@@ -0,0 +1,234 @@
+<!-- ##### SECTION Title ##### -->
+sysdep
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION malloc ##### -->
+<para>
+
+</para>
+
+ at Returns: 
+
+
+<!-- ##### FUNCTION getenv ##### -->
+<para>
+
+</para>
+
+ at Returns: 
+
+
+<!-- ##### FUNCTION time ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION random ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO srandom ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO strerror ##### -->
+<para>
+
+</para>
+
+ at errornum: 
+
+
+<!-- ##### FUNCTION strchr ##### -->
+<para>
+
+</para>
+
+ at Returns: 
+
+
+<!-- ##### MACRO strrchr ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO memcpy ##### -->
+<para>
+
+</para>
+
+ at d: 
+ at s: 
+ at n: 
+
+
+<!-- ##### MACRO memcmp ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO memmove ##### -->
+<para>
+
+</para>
+
+ at d: 
+ at s: 
+ at n: 
+
+
+<!-- ##### MACRO WEXITSTATUS ##### -->
+<para>
+
+</para>
+
+ at stat_val: 
+
+
+<!-- ##### MACRO WIFEXITED ##### -->
+<para>
+
+</para>
+
+ at stat_val: 
+
+
+<!-- ##### MACRO VA_START ##### -->
+<para>
+
+</para>
+
+ at ap: 
+ at last: 
+
+
+<!-- ##### MACRO const ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO OPENLOG ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at opts: 
+ at facility: 
+
+
+<!-- ##### MACRO TEMP_DIRECTORY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION getuid ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ttyname ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gethostid ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO STDIN_FILENO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO STDOUT_FILENO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO STDERR_FILENO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO krb_get_err_text ##### -->
+<para>
+
+</para>
+
+ at n: 
+
+
+<!-- ##### MACRO krb_log ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSG_BSIZE ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/table.sgml	6919167fb5a0463a4f5379160d8db524e3a8c7c3
@@ -0,0 +1,92 @@
+<!-- ##### SECTION Title ##### -->
+table
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnTable ##### -->
+<para>
+
+</para>
+
+ at cmds: 
+ at msgs: 
+ at errors: 
+ at async: 
+ at fallback: 
+
+<!-- ##### USER_FUNCTION MsnMsgTypeCb ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at msg: 
+
+
+<!-- ##### FUNCTION msn_table_new ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_table_destroy ##### -->
+<para>
+
+</para>
+
+ at table: 
+
+
+<!-- ##### FUNCTION msn_table_add_cmd ##### -->
+<para>
+
+</para>
+
+ at table: 
+ at command: 
+ at answer: 
+ at cb: 
+
+
+<!-- ##### FUNCTION msn_table_add_error ##### -->
+<para>
+
+</para>
+
+ at table: 
+ at answer: 
+ at cb: 
+
+
+<!-- ##### FUNCTION msn_table_add_msg_type ##### -->
+<para>
+
+</para>
+
+ at table: 
+ at type: 
+ at cb: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/tcl_glib.sgml	a12803c7098084550d7eb0e232ebd8196694c005
@@ -0,0 +1,32 @@
+<!-- ##### SECTION Title ##### -->
+tcl_glib
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION tcl_glib_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/tcl_purple.sgml	f537de964229ef4341b0d6c04212ddff1aa35001
@@ -0,0 +1,213 @@
+<!-- ##### SECTION Title ##### -->
+tcl_purple
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### VARIABLE PurpleTclRefAccount ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE PurpleTclRefConnection ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE PurpleTclRefConversation ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE PurpleTclRefPointer ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE PurpleTclRefPlugin ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE PurpleTclRefPresence ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE PurpleTclRefStatus ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE PurpleTclRefStatusAttr ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE PurpleTclRefStatusType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE PurpleTclRefXfer ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE PurpleTclRefHandle ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION tcl_interp_get_plugin ##### -->
+<para>
+
+</para>
+
+ at interp: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION tcl_signal_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION tcl_signal_handler_free ##### -->
+<para>
+
+</para>
+
+ at handler: 
+
+
+<!-- ##### FUNCTION tcl_signal_cleanup ##### -->
+<para>
+
+</para>
+
+ at interp: 
+
+
+<!-- ##### FUNCTION tcl_signal_connect ##### -->
+<para>
+
+</para>
+
+ at handler: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION tcl_signal_disconnect ##### -->
+<para>
+
+</para>
+
+ at instance: 
+ at signal: 
+ at interp: 
+
+
+<!-- ##### FUNCTION tcl_cmd_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION tcl_cmd_handler_free ##### -->
+<para>
+
+</para>
+
+ at handler: 
+
+
+<!-- ##### FUNCTION tcl_cmd_cleanup ##### -->
+<para>
+
+</para>
+
+ at interp: 
+
+
+<!-- ##### FUNCTION tcl_cmd_register ##### -->
+<para>
+
+</para>
+
+ at handler: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION tcl_cmd_unregister ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at interp: 
+
+
+<!-- ##### FUNCTION purple_tcl_ref_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_tcl_ref_get ##### -->
+<para>
+
+</para>
+
+ at interp: 
+ at obj: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_tcl_ref_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at value: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/tests.sgml	56fd8b8334663f09648b9a702c81f34b6154accb
@@ -0,0 +1,141 @@
+<!-- ##### SECTION Title ##### -->
+tests
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION master_suite ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION cipher_suite ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_caps_suite ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_digest_md5_suite ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_jutil_suite ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_scram_suite ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_util_suite ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_suite ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_util_suite ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION util_suite ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO assert_int_equal ##### -->
+<para>
+
+</para>
+
+ at expected: 
+ at actual: 
+
+
+<!-- ##### MACRO assert_string_equal ##### -->
+<para>
+
+</para>
+
+ at expected: 
+ at actual: 
+
+
+<!-- ##### MACRO assert_string_equal_free ##### -->
+<para>
+
+</para>
+
+ at expected: 
+ at actual: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/theme-loader.sgml	d69dc2d20ba452f1a3d2656787df31acd05ab111
@@ -0,0 +1,60 @@
+<!-- ##### SECTION Title ##### -->
+PurpleThemeLoader
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleThemeLoader ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG PurpleThemeLoader:type ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT PurpleThemeLoaderClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_theme_loader_get_type_string ##### -->
+<para>
+
+</para>
+
+ at self: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_theme_loader_build ##### -->
+<para>
+
+</para>
+
+ at loader: 
+ at dir: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/theme-manager.sgml	29b94a0a69cdf637970b82c7de96c95fd0927599
@@ -0,0 +1,136 @@
+<!-- ##### SECTION Title ##### -->
+PurpleThemeManager
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### USER_FUNCTION PTFunc ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+
+
+<!-- ##### STRUCT PurpleThemeManager ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleThemeManagerClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO PURPLE_GET_THEME_MANAGER_CLASS ##### -->
+<para>
+
+</para>
+
+ at obj: 
+
+
+<!-- ##### FUNCTION purple_theme_manager_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_theme_manager_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_theme_manager_refresh ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_theme_manager_find_theme ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_theme_manager_add_theme ##### -->
+<para>
+
+</para>
+
+ at theme: 
+
+
+<!-- ##### FUNCTION purple_theme_manager_remove_theme ##### -->
+<para>
+
+</para>
+
+ at theme: 
+
+
+<!-- ##### FUNCTION purple_theme_manager_register_type ##### -->
+<para>
+
+</para>
+
+ at loader: 
+
+
+<!-- ##### FUNCTION purple_theme_manager_unregister_type ##### -->
+<para>
+
+</para>
+
+ at loader: 
+
+
+<!-- ##### FUNCTION purple_theme_manager_for_each_theme ##### -->
+<para>
+
+</para>
+
+ at func: 
+
+
+<!-- ##### FUNCTION purple_theme_manager_load_theme ##### -->
+<para>
+
+</para>
+
+ at theme_dir: 
+ at type: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/theme.sgml	5896a5799491c35c08a6cdfda121b6a2a424a9cc
@@ -0,0 +1,174 @@
+<!-- ##### SECTION Title ##### -->
+PurpleTheme
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleTheme ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ARG PurpleTheme:author ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleTheme:description ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleTheme:directory ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleTheme:image ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleTheme:name ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG PurpleTheme:type ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT PurpleThemeClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION purple_theme_get_name ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_theme_set_name ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at name: 
+
+
+<!-- ##### FUNCTION purple_theme_get_description ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_theme_set_description ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at description: 
+
+
+<!-- ##### FUNCTION purple_theme_get_author ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_theme_set_author ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at author: 
+
+
+<!-- ##### FUNCTION purple_theme_get_type_string ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_theme_get_dir ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_theme_set_dir ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at dir: 
+
+
+<!-- ##### FUNCTION purple_theme_get_image ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_theme_get_image_full ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_theme_set_image ##### -->
+<para>
+
+</para>
+
+ at theme: 
+ at img: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/tlv.sgml	882aec3ca5dc3a341d5e94bf52d678d2d1172a2d
@@ -0,0 +1,306 @@
+<!-- ##### SECTION Title ##### -->
+tlv
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION msn_tlv_getvalue_as_string ##### -->
+<para>
+
+</para>
+
+ at tlv: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlv_gettlv ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlv_getlength ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlv_getstr ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlv_get8 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlv_get16 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlv_get32 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at nth: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_read ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at bs_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_copy ##### -->
+<para>
+
+</para>
+
+ at orig: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_count ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_size ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_equal ##### -->
+<para>
+
+</para>
+
+ at one: 
+ at two: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_write ##### -->
+<para>
+
+</para>
+
+ at bs: 
+ at bs_len: 
+ at list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_free ##### -->
+<para>
+
+</para>
+
+ at list: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_add_raw ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at length: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_add_empty ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_add_8 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_add_16 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_add_32 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_add_str ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_replace_raw ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at lenth: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_replace_str ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_replace_empty ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_replace_8 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_replace_16 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_replace_32 ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_tlvlist_remove ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at type: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/transaction.sgml	6b03a90baa9dde4c7f67f0cd2d8b4c5fba3bc958
@@ -0,0 +1,186 @@
+<!-- ##### SECTION Title ##### -->
+transaction
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnTransaction ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at saveable: 
+ at trId: 
+ at command: 
+ at params: 
+ at timer: 
+ at data: 
+ at data_free: 
+ at callbacks: 
+ at has_custom_callbacks: 
+ at error_cb: 
+ at timeout_cb: 
+ at payload: 
+ at payload_len: 
+ at queue: 
+ at pendent_cmd: 
+
+<!-- ##### USER_FUNCTION MsnTransCb ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at cmd: 
+
+
+<!-- ##### USER_FUNCTION MsnTimeoutCb ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at trans: 
+
+
+<!-- ##### USER_FUNCTION MsnErrorCb ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at trans: 
+ at error: 
+
+
+<!-- ##### FUNCTION msn_transaction_new ##### -->
+<para>
+
+</para>
+
+ at cmdproc: 
+ at command: 
+ at format: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_transaction_destroy ##### -->
+<para>
+
+</para>
+
+ at trans: 
+
+
+<!-- ##### FUNCTION msn_transaction_to_string ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_transaction_queue_cmd ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at cmd: 
+
+
+<!-- ##### FUNCTION msn_transaction_unqueue_cmd ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at cmdproc: 
+
+
+<!-- ##### FUNCTION msn_transaction_set_payload ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at payload: 
+ at payload_len: 
+
+
+<!-- ##### FUNCTION msn_transaction_set_data ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at data: 
+
+
+<!-- ##### FUNCTION msn_transaction_set_data_free ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at fn: 
+
+
+<!-- ##### FUNCTION msn_transaction_set_saveable ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at saveable: 
+
+
+<!-- ##### FUNCTION msn_transaction_add_cb ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at answer: 
+ at cb: 
+
+
+<!-- ##### FUNCTION msn_transaction_set_error_cb ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at cb: 
+
+
+<!-- ##### FUNCTION msn_transaction_set_timeout_cb ##### -->
+<para>
+
+</para>
+
+ at trans: 
+ at cb: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/transport.sgml	be9c9397787444d95e0115e873622f07ac4f0966
@@ -0,0 +1,93 @@
+<!-- ##### SECTION Title ##### -->
+JingleTransport
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JingleTransport ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at priv: 
+
+<!-- ##### STRUCT JingleTransportClass ##### -->
+<para>
+
+</para>
+
+ at parent_class: 
+ at transport_type: 
+ at to_xml: 
+ at parse: 
+
+<!-- ##### STRUCT JingleTransportPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION jingle_transport_create ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_transport_get_transport_type ##### -->
+<para>
+
+</para>
+
+ at transport: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_transport_add_candidate ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION jingle_transport_parse ##### -->
+<para>
+
+</para>
+
+ at transport: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jingle_transport_to_xml ##### -->
+<para>
+
+</para>
+
+ at transport: 
+ at content: 
+ at action: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/upnp.sgml	797031421ddd4f4d5f75e91a4040d9ad34b56b85
@@ -0,0 +1,106 @@
+<!-- ##### SECTION Title ##### -->
+upnp
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT UPnPMappingAddRemove ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION PurpleUPnPCallback ##### -->
+<para>
+
+</para>
+
+ at success: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_upnp_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_upnp_discover ##### -->
+<para>
+
+</para>
+
+ at cb: 
+ at cb_data: 
+
+
+<!-- ##### FUNCTION purple_upnp_get_control_info ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_upnp_get_public_ip ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_upnp_cancel_port_mapping ##### -->
+<para>
+
+</para>
+
+ at mapping_data: 
+
+
+<!-- ##### FUNCTION purple_upnp_set_port_mapping ##### -->
+<para>
+
+</para>
+
+ at portmap: 
+ at protocol: 
+ at cb: 
+ at cb_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_upnp_remove_port_mapping ##### -->
+<para>
+
+</para>
+
+ at portmap: 
+ at protocol: 
+ at cb: 
+ at cb_data: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/user.sgml	864d5702cda859025e704f38f8bc70810895de1f
@@ -0,0 +1,120 @@
+<!-- ##### SECTION Title ##### -->
+user
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### USER_FUNCTION MSIM_USER_LOOKUP_CB ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at userinfo: 
+ at data: 
+
+
+<!-- ##### FUNCTION msim_get_user_from_buddy ##### -->
+<para>
+
+</para>
+
+ at buddy: 
+ at create: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msim_user_free ##### -->
+<para>
+
+</para>
+
+ at user: 
+
+
+<!-- ##### FUNCTION msim_find_user ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at username: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msim_append_user_info ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at user_info: 
+ at user: 
+ at full: 
+
+
+<!-- ##### FUNCTION msim_store_user_info ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at msg: 
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msim_is_userid ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msim_lookup_user ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at user: 
+ at cb: 
+ at data: 
+
+
+<!-- ##### FUNCTION msim_set_username_cb ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION msim_do_not_set_username_cb ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/useravatar.sgml	84363895c634a96e2d5fbd845317d26c833e3cd5
@@ -0,0 +1,49 @@
+<!-- ##### SECTION Title ##### -->
+useravatar
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_avatar_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_avatar_set ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at img: 
+
+
+<!-- ##### FUNCTION jabber_avatar_fetch_mine ##### -->
+<para>
+
+</para>
+
+ at js: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/userlist.sgml	81e241251b0d5b637f3ce958fa7d61e60593dfc7
@@ -0,0 +1,317 @@
+<!-- ##### SECTION Title ##### -->
+userlist
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT MsnUserList ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at users: 
+ at groups: 
+ at buddy_icon_requests: 
+ at buddy_icon_window: 
+ at buddy_icon_request_timer: 
+
+<!-- ##### ENUM MsnListId ##### -->
+<para>
+
+</para>
+
+ at MSN_LIST_FL: 
+ at MSN_LIST_AL: 
+ at MSN_LIST_BL: 
+ at MSN_LIST_RL: 
+ at MSN_LIST_PL: 
+
+<!-- ##### ENUM MsnListOp ##### -->
+<para>
+
+</para>
+
+ at MSN_LIST_FL_OP: 
+ at MSN_LIST_AL_OP: 
+ at MSN_LIST_BL_OP: 
+ at MSN_LIST_RL_OP: 
+ at MSN_LIST_PL_OP: 
+
+<!-- ##### MACRO MSN_LIST_OP_MASK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msn_got_lst_user ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at user: 
+ at list_op: 
+ at group_ids: 
+
+
+<!-- ##### FUNCTION msn_userlist_new ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_userlist_destroy ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+
+
+<!-- ##### FUNCTION msn_userlist_add_user ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at user: 
+
+
+<!-- ##### FUNCTION msn_userlist_remove_user ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at user: 
+
+
+<!-- ##### FUNCTION msn_userlist_find_user ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at passport: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_userlist_find_add_user ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at passport: 
+ at friendly_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_userlist_find_user_with_id ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at uid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_userlist_find_user_with_mobile_phone ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at number: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_userlist_add_group ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at group: 
+
+
+<!-- ##### FUNCTION msn_userlist_remove_group ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at group: 
+
+
+<!-- ##### FUNCTION msn_userlist_find_group_with_id ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_userlist_find_group_with_name ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_userlist_find_group_id ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at group_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_userlist_find_group_name ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at group_id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_userlist_rename_group_id ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at group_id: 
+ at new_name: 
+
+
+<!-- ##### FUNCTION msn_userlist_remove_group_id ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at group_id: 
+
+
+<!-- ##### FUNCTION msn_userlist_rem_buddy ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at who: 
+
+
+<!-- ##### FUNCTION msn_userlist_add_buddy ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at who: 
+ at group_name: 
+
+
+<!-- ##### FUNCTION msn_userlist_move_buddy ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at who: 
+ at old_group_name: 
+ at new_group_name: 
+
+
+<!-- ##### FUNCTION msn_userlist_add_buddy_to_group ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at who: 
+ at group_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_userlist_rem_buddy_from_group ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at who: 
+ at group_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_userlist_add_buddy_to_list ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at who: 
+ at list_id: 
+
+
+<!-- ##### FUNCTION msn_userlist_rem_buddy_from_list ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+ at who: 
+ at list_id: 
+
+
+<!-- ##### FUNCTION msn_release_buddy_icon_request ##### -->
+<para>
+
+</para>
+
+ at userlist: 
+
+
+<!-- ##### FUNCTION msn_userlist_load ##### -->
+<para>
+
+</para>
+
+ at session: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/usermood.sgml	dd539d16bcdecfb3dd2427d56653adcdf0871a59
@@ -0,0 +1,51 @@
+<!-- ##### SECTION Title ##### -->
+usermood
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_mood_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_mood_set ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at mood: 
+ at text: 
+
+
+<!-- ##### FUNCTION jabber_get_moods ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/usernick.sgml	75a6d93a0ba4d4bcd5d6d798bb710258c578dc90
@@ -0,0 +1,40 @@
+<!-- ##### SECTION Title ##### -->
+usernick
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_nick_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_nick_init_action ##### -->
+<para>
+
+</para>
+
+ at m: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/usertune.sgml	c8ddfe5034f5158269c5968e0be6c27cb948a03a
@@ -0,0 +1,53 @@
+<!-- ##### SECTION Title ##### -->
+usertune
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleJabberTuneInfo ##### -->
+<para>
+
+</para>
+
+ at artist: 
+ at title: 
+ at album: 
+ at track: 
+ at time: 
+ at url: 
+
+<!-- ##### FUNCTION jabber_tune_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION jabber_tune_set ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at tuneinfo: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/util.sgml	ac3b293ad42c7d5ea43bc427a3bf9814b98249c5
@@ -0,0 +1,1144 @@
+<!-- ##### SECTION Title ##### -->
+util
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleUtilFetchUrlData ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT PurpleMenuAction ##### -->
+<para>
+
+</para>
+
+ at label: 
+ at callback: 
+ at data: 
+ at children: 
+
+<!-- ##### STRUCT PurpleKeyValuePair ##### -->
+<para>
+
+</para>
+
+ at key: 
+ at value: 
+
+<!-- ##### USER_FUNCTION PurpleInfoFieldFormatCallback ##### -->
+<para>
+
+</para>
+
+ at field: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_menu_action_new ##### -->
+<para>
+
+</para>
+
+ at label: 
+ at callback: 
+ at data: 
+ at children: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_menu_action_free ##### -->
+<para>
+
+</para>
+
+ at act: 
+
+
+<!-- ##### FUNCTION purple_util_set_current_song ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at artist: 
+ at album: 
+
+
+<!-- ##### FUNCTION purple_util_format_song_info ##### -->
+<para>
+
+</para>
+
+ at title: 
+ at artist: 
+ at album: 
+ at unused: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_util_uninit ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_base16_encode ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_base16_decode ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at ret_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_base16_encode_chunked ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_base64_encode ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_base64_decode ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at ret_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_quotedp_decode ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at ret_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mime_decode_field ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_strftime ##### -->
+<para>
+
+</para>
+
+ at format: 
+ at tm: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_get_tzoff_str ##### -->
+<para>
+
+</para>
+
+ at tm: 
+ at iso: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_date_format_short ##### -->
+<para>
+
+</para>
+
+ at tm: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_date_format_long ##### -->
+<para>
+
+</para>
+
+ at tm: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_date_format_full ##### -->
+<para>
+
+</para>
+
+ at tm: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_time_format ##### -->
+<para>
+
+</para>
+
+ at tm: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_time_build ##### -->
+<para>
+
+</para>
+
+ at year: 
+ at month: 
+ at day: 
+ at hour: 
+ at min: 
+ at sec: 
+ at Returns: 
+
+
+<!-- ##### MACRO PURPLE_NO_TZ_OFF ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION purple_str_to_time ##### -->
+<para>
+
+</para>
+
+ at timestamp: 
+ at utc: 
+ at tm: 
+ at tz_off: 
+ at rest: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_escape_text ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at length: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_find_tag ##### -->
+<para>
+
+</para>
+
+ at needle: 
+ at haystack: 
+ at start: 
+ at end: 
+ at attributes: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_extract_info_field ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at len: 
+ at user_info: 
+ at start_token: 
+ at skip: 
+ at end_token: 
+ at check_value: 
+ at no_value_token: 
+ at display_name: 
+ at is_link: 
+ at link_prefix: 
+ at format_cb: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_html_to_xhtml ##### -->
+<para>
+
+</para>
+
+ at html: 
+ at dest_xhtml: 
+ at dest_plain: 
+
+
+<!-- ##### FUNCTION purple_markup_strip_html ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_linkify ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_unescape_text ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_unescape_html ##### -->
+<para>
+
+</para>
+
+ at html: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_slice ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at x: 
+ at y: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_get_tag_name ##### -->
+<para>
+
+</para>
+
+ at tag: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_unescape_entity ##### -->
+<para>
+
+</para>
+
+ at text: 
+ at length_NULL: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_get_css_property ##### -->
+<para>
+
+</para>
+
+ at style: 
+ at opt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_markup_is_rtl ##### -->
+<para>
+
+</para>
+
+ at html: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_home_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_user_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_set_user_dir ##### -->
+<para>
+
+</para>
+
+ at dir: 
+
+
+<!-- ##### FUNCTION purple_build_dir ##### -->
+<para>
+
+</para>
+
+ at path: 
+ at mode: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_write_data_to_file ##### -->
+<para>
+
+</para>
+
+ at filename: 
+ at data: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_write_data_to_file_absolute ##### -->
+<para>
+
+</para>
+
+ at filename_full: 
+ at data: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_read_xml_from_file ##### -->
+<para>
+
+</para>
+
+ at filename: 
+ at description: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_mkstemp ##### -->
+<para>
+
+</para>
+
+ at path: 
+ at binary: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_get_image_extension ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_get_image_checksum ##### -->
+<para>
+
+</para>
+
+ at image_data: 
+ at image_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_get_image_filename ##### -->
+<para>
+
+</para>
+
+ at image_data: 
+ at image_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_program_is_valid ##### -->
+<para>
+
+</para>
+
+ at program: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_running_gnome ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_running_kde ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_running_osx ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_fd_get_ip ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_socket_get_family ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_socket_speaks_ipv4 ##### -->
+<para>
+
+</para>
+
+ at fd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_strequal ##### -->
+<para>
+
+</para>
+
+ at left: 
+ at right: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_normalize ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_normalize_nocase ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_has_prefix ##### -->
+<para>
+
+</para>
+
+ at s: 
+ at p: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_has_suffix ##### -->
+<para>
+
+</para>
+
+ at s: 
+ at x: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_strdup_withhtml ##### -->
+<para>
+
+</para>
+
+ at src: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_add_cr ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_strip_char ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at thechar: 
+
+
+<!-- ##### FUNCTION purple_util_chrreplace ##### -->
+<para>
+
+</para>
+
+ at string: 
+ at delimiter: 
+ at replacement: 
+
+
+<!-- ##### FUNCTION purple_strreplace ##### -->
+<para>
+
+</para>
+
+ at string: 
+ at delimiter: 
+ at replacement: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_ncr_encode ##### -->
+<para>
+
+</para>
+
+ at in: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_ncr_decode ##### -->
+<para>
+
+</para>
+
+ at in: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_strcasereplace ##### -->
+<para>
+
+</para>
+
+ at string: 
+ at delimiter: 
+ at replacement: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_strcasestr ##### -->
+<para>
+
+</para>
+
+ at haystack: 
+ at needle: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_size_to_units ##### -->
+<para>
+
+</para>
+
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_seconds_to_string ##### -->
+<para>
+
+</para>
+
+ at sec: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_str_binary_to_ascii ##### -->
+<para>
+
+</para>
+
+ at binary: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_strings_equal ##### -->
+<para>
+
+</para>
+
+ at s1: 
+ at s2: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_got_protocol_handler_uri ##### -->
+<para>
+
+</para>
+
+ at uri: 
+
+
+<!-- ##### FUNCTION purple_url_parse ##### -->
+<para>
+
+</para>
+
+ at url: 
+ at ret_host: 
+ at ret_port: 
+ at ret_path: 
+ at ret_user: 
+ at ret_passwd: 
+ at Returns: 
+
+
+<!-- ##### USER_FUNCTION PurpleUtilFetchUrlCallback ##### -->
+<para>
+
+</para>
+
+ at url_data: 
+ at user_data: 
+ at url_text: 
+ at len: 
+ at error_message: 
+
+
+<!-- ##### MACRO purple_util_fetch_url ##### -->
+<para>
+
+</para>
+
+ at url: 
+ at full: 
+ at user_agent: 
+ at http11: 
+ at cb: 
+ at data: 
+
+
+<!-- ##### MACRO purple_util_fetch_url_len ##### -->
+<para>
+
+</para>
+
+ at url: 
+ at full: 
+ at user_agent: 
+ at http11: 
+ at max_len: 
+ at cb: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_util_fetch_url_request ##### -->
+<para>
+
+</para>
+
+ at url: 
+ at full: 
+ at user_agent: 
+ at http11: 
+ at request: 
+ at include_headers: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_fetch_url_request_len ##### -->
+<para>
+
+</para>
+
+ at url: 
+ at full: 
+ at user_agent: 
+ at http11: 
+ at request: 
+ at include_headers: 
+ at max_len: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_fetch_url_request_len_with_account ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at url: 
+ at full: 
+ at user_agent: 
+ at http11: 
+ at request: 
+ at include_headers: 
+ at max_len: 
+ at callback: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_util_fetch_url_cancel ##### -->
+<para>
+
+</para>
+
+ at url_data: 
+
+
+<!-- ##### FUNCTION purple_url_decode ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_url_encode ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_email_is_valid ##### -->
+<para>
+
+</para>
+
+ at address: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ip_address_is_valid ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ipv4_address_is_valid ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_ipv6_address_is_valid ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_uri_list_extract_uris ##### -->
+<para>
+
+</para>
+
+ at uri_list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_uri_list_extract_filenames ##### -->
+<para>
+
+</para>
+
+ at uri_list: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_try_convert ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_salvage ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_strip_unprintables ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_gai_strerror ##### -->
+<para>
+
+</para>
+
+ at errnum: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_strcasecmp ##### -->
+<para>
+
+</para>
+
+ at a: 
+ at b: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_utf8_has_word ##### -->
+<para>
+
+</para>
+
+ at haystack: 
+ at needle: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_print_utf8_to_console ##### -->
+<para>
+
+</para>
+
+ at filestream: 
+ at message: 
+
+
+<!-- ##### FUNCTION purple_message_meify ##### -->
+<para>
+
+</para>
+
+ at message: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_text_strip_mnemonic ##### -->
+<para>
+
+</para>
+
+ at in: 
+ at Returns: 
+
+
+<!-- ##### MACRO purple_add_eight ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### FUNCTION purple_unescape_filename ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_escape_filename ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_restore_default_signal_handlers ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_get_host_name ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_uuid_random ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_http_digest_calculate_session_key ##### -->
+<para>
+
+</para>
+
+ at algorithm: 
+ at username: 
+ at realm: 
+ at password: 
+ at nonce: 
+ at client_nonce: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_http_digest_calculate_response ##### -->
+<para>
+
+</para>
+
+ at algorithm: 
+ at method: 
+ at digest_uri: 
+ at qop: 
+ at entity: 
+ at nonce: 
+ at nonce_count: 
+ at client_nonce: 
+ at session_key: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_g_value_slice_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_g_value_slice_free ##### -->
+<para>
+
+</para>
+
+ at value: 
+
+
+<!-- ##### FUNCTION purple_g_value_slice_dup ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/utils.sgml	69065a73f9d11eb10b7d65814cfcf8225807adfe
@@ -0,0 +1,156 @@
+<!-- ##### SECTION Title ##### -->
+utils
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION qq_get_md5 ##### -->
+<para>
+
+</para>
+
+ at md5: 
+ at md5_len: 
+ at src: 
+ at src_len: 
+
+
+<!-- ##### FUNCTION get_name_by_index_str ##### -->
+<para>
+
+</para>
+
+ at array: 
+ at index_str: 
+ at amount: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION get_index_str_by_name ##### -->
+<para>
+
+</para>
+
+ at array: 
+ at name: 
+ at amount: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION split_data ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at delimit: 
+ at expected_fields: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION gen_ip_str ##### -->
+<para>
+
+</para>
+
+ at ip: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION str_ip_gen ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_name_to_uid ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION uid_to_purple_name ##### -->
+<para>
+
+</para>
+
+ at uid: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION try_dump_as_gbk ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_show_packet ##### -->
+<para>
+
+</para>
+
+ at desc: 
+ at buf: 
+ at len: 
+
+
+<!-- ##### FUNCTION qq_hex_dump ##### -->
+<para>
+
+</para>
+
+ at level: 
+ at category: 
+ at pdata: 
+ at bytes: 
+ at format: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION hex_str_to_bytes ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at out_len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION qq_filter_str ##### -->
+<para>
+
+</para>
+
+ at str: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/utsname.sgml	82b112c23b5222ad3110e27111a3d5d9b0eb9b38
@@ -0,0 +1,41 @@
+<!-- ##### SECTION Title ##### -->
+utsname
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION jabber_win32_uname ##### -->
+<para>
+
+</para>
+
+ at Param1: 
+ at Returns: 
+
+
+<!-- ##### MACRO uname ##### -->
+<para>
+
+</para>
+
+ at utsname: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/valgrind.sgml	13473bbed73e3c294e8948e0e306a6218b3e9365
@@ -0,0 +1,600 @@
+<!-- ##### SECTION Title ##### -->
+valgrind
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO PLAT_x86_linux ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PLAT_amd64_linux ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PLAT_ppc32_linux ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PLAT_ppc64_linux ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PLAT_ppc64_aix5 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PLAT_ppc32_aix5 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO NVALGRIND ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO VALGRIND_DO_CLIENT_REQUEST ##### -->
+<para>
+
+</para>
+
+ at _zzq_rlval: 
+ at _zzq_default: 
+ at _zzq_request: 
+ at _zzq_arg1: 
+ at _zzq_arg2: 
+ at _zzq_arg3: 
+ at _zzq_arg4: 
+ at _zzq_arg5: 
+
+
+<!-- ##### MACRO VALGRIND_GET_NR_CONTEXT ##### -->
+<para>
+
+</para>
+
+ at _zzq_rlval: 
+
+
+<!-- ##### MACRO VALGRIND_CALL_NOREDIR_EAX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO VALGRIND_CALL_NOREDIR_RAX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO I_WRAP_SONAME_FNNAME_ZU ##### -->
+<para>
+
+</para>
+
+ at soname: 
+ at fnname: 
+
+
+<!-- ##### MACRO I_WRAP_SONAME_FNNAME_ZZ ##### -->
+<para>
+
+</para>
+
+ at soname: 
+ at fnname: 
+
+
+<!-- ##### MACRO VALGRIND_GET_ORIG_FN ##### -->
+<para>
+
+</para>
+
+ at _lval: 
+
+
+<!-- ##### MACRO CALL_FN_v_v ##### -->
+<para>
+
+</para>
+
+ at fnptr: 
+
+
+<!-- ##### MACRO CALL_FN_v_W ##### -->
+<para>
+
+</para>
+
+ at fnptr: 
+ at arg1: 
+
+
+<!-- ##### MACRO CALL_FN_v_WW ##### -->
+<para>
+
+</para>
+
+ at fnptr: 
+ at arg1: 
+ at arg2: 
+
+
+<!-- ##### MACRO CALL_FN_v_WWW ##### -->
+<para>
+
+</para>
+
+ at fnptr: 
+ at arg1: 
+ at arg2: 
+ at arg3: 
+
+
+<!-- ##### MACRO CALL_FN_W_v ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+
+
+<!-- ##### MACRO CALL_FN_W_W ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+
+
+<!-- ##### MACRO CALL_FN_W_WW ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+ at arg2: 
+
+
+<!-- ##### MACRO CALL_FN_W_WWW ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+ at arg2: 
+ at arg3: 
+
+
+<!-- ##### MACRO CALL_FN_W_WWWW ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+ at arg2: 
+ at arg3: 
+ at arg4: 
+
+
+<!-- ##### MACRO CALL_FN_W_5W ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+ at arg2: 
+ at arg3: 
+ at arg4: 
+ at arg5: 
+
+
+<!-- ##### MACRO CALL_FN_W_6W ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+ at arg2: 
+ at arg3: 
+ at arg4: 
+ at arg5: 
+ at arg6: 
+
+
+<!-- ##### MACRO CALL_FN_W_7W ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+ at arg2: 
+ at arg3: 
+ at arg4: 
+ at arg5: 
+ at arg6: 
+ at arg7: 
+
+
+<!-- ##### MACRO CALL_FN_W_8W ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+ at arg2: 
+ at arg3: 
+ at arg4: 
+ at arg5: 
+ at arg6: 
+ at arg7: 
+ at arg8: 
+
+
+<!-- ##### MACRO CALL_FN_W_9W ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+ at arg2: 
+ at arg3: 
+ at arg4: 
+ at arg5: 
+ at arg6: 
+ at arg7: 
+ at arg8: 
+ at arg9: 
+
+
+<!-- ##### MACRO CALL_FN_W_10W ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+ at arg2: 
+ at arg3: 
+ at arg4: 
+ at arg5: 
+ at arg6: 
+ at arg7: 
+ at arg8: 
+ at arg9: 
+ at arg10: 
+
+
+<!-- ##### MACRO CALL_FN_W_11W ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+ at arg2: 
+ at arg3: 
+ at arg4: 
+ at arg5: 
+ at arg6: 
+ at arg7: 
+ at arg8: 
+ at arg9: 
+ at arg10: 
+ at arg11: 
+
+
+<!-- ##### MACRO CALL_FN_W_12W ##### -->
+<para>
+
+</para>
+
+ at lval: 
+ at orig: 
+ at arg1: 
+ at arg2: 
+ at arg3: 
+ at arg4: 
+ at arg5: 
+ at arg6: 
+ at arg7: 
+ at arg8: 
+ at arg9: 
+ at arg10: 
+ at arg11: 
+ at arg12: 
+
+
+<!-- ##### MACRO VG_EXPAND_FRAME_BY_trashes_r3 ##### -->
+<para>
+
+</para>
+
+ at _n_fr: 
+
+
+<!-- ##### MACRO VG_CONTRACT_FRAME_BY ##### -->
+<para>
+
+</para>
+
+ at _n_fr: 
+
+
+<!-- ##### MACRO VG_USERREQ_TOOL_BASE ##### -->
+<para>
+
+</para>
+
+ at a: 
+ at b: 
+
+
+<!-- ##### MACRO RUNNING_ON_VALGRIND ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO VALGRIND_DISCARD_TRANSLATIONS ##### -->
+<para>
+
+</para>
+
+ at _qzz_addr: 
+ at _qzz_len: 
+
+
+<!-- ##### MACRO VALGRIND_PRINTF ##### -->
+<para>
+
+</para>
+
+ at ...: 
+
+
+<!-- ##### MACRO VALGRIND_PRINTF_BACKTRACE ##### -->
+<para>
+
+</para>
+
+ at ...: 
+
+
+<!-- ##### MACRO VALGRIND_NON_SIMD_CALL0 ##### -->
+<para>
+
+</para>
+
+ at _qyy_fn: 
+
+
+<!-- ##### MACRO VALGRIND_NON_SIMD_CALL1 ##### -->
+<para>
+
+</para>
+
+ at _qyy_fn: 
+ at _qyy_arg1: 
+
+
+<!-- ##### MACRO VALGRIND_NON_SIMD_CALL2 ##### -->
+<para>
+
+</para>
+
+ at _qyy_fn: 
+ at _qyy_arg1: 
+ at _qyy_arg2: 
+
+
+<!-- ##### MACRO VALGRIND_NON_SIMD_CALL3 ##### -->
+<para>
+
+</para>
+
+ at _qyy_fn: 
+ at _qyy_arg1: 
+ at _qyy_arg2: 
+ at _qyy_arg3: 
+
+
+<!-- ##### MACRO VALGRIND_COUNT_ERRORS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO VALGRIND_MALLOCLIKE_BLOCK ##### -->
+<para>
+
+</para>
+
+ at addr: 
+ at sizeB: 
+ at rzB: 
+ at is_zeroed: 
+
+
+<!-- ##### MACRO VALGRIND_FREELIKE_BLOCK ##### -->
+<para>
+
+</para>
+
+ at addr: 
+ at rzB: 
+
+
+<!-- ##### MACRO VALGRIND_CREATE_MEMPOOL ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at rzB: 
+ at is_zeroed: 
+
+
+<!-- ##### MACRO VALGRIND_DESTROY_MEMPOOL ##### -->
+<para>
+
+</para>
+
+ at pool: 
+
+
+<!-- ##### MACRO VALGRIND_MEMPOOL_ALLOC ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at addr: 
+ at size: 
+
+
+<!-- ##### MACRO VALGRIND_MEMPOOL_FREE ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at addr: 
+
+
+<!-- ##### MACRO VALGRIND_MEMPOOL_TRIM ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at addr: 
+ at size: 
+
+
+<!-- ##### MACRO VALGRIND_MOVE_MEMPOOL ##### -->
+<para>
+
+</para>
+
+ at poolA: 
+ at poolB: 
+
+
+<!-- ##### MACRO VALGRIND_MEMPOOL_CHANGE ##### -->
+<para>
+
+</para>
+
+ at pool: 
+ at addrA: 
+ at addrB: 
+ at size: 
+
+
+<!-- ##### MACRO VALGRIND_MEMPOOL_EXISTS ##### -->
+<para>
+
+</para>
+
+ at pool: 
+
+
+<!-- ##### MACRO VALGRIND_STACK_REGISTER ##### -->
+<para>
+
+</para>
+
+ at start: 
+ at end: 
+
+
+<!-- ##### MACRO VALGRIND_STACK_DEREGISTER ##### -->
+<para>
+
+</para>
+
+ at id: 
+
+
+<!-- ##### MACRO VALGRIND_STACK_CHANGE ##### -->
+<para>
+
+</para>
+
+ at id: 
+ at start: 
+ at end: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/value.sgml	1814b08176a2ac968a6da16f2782881885107b99
@@ -0,0 +1,434 @@
+<!-- ##### SECTION Title ##### -->
+value
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM PurpleType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_TYPE_UNKNOWN: 
+ at PURPLE_TYPE_SUBTYPE: 
+ at PURPLE_TYPE_CHAR: 
+ at PURPLE_TYPE_UCHAR: 
+ at PURPLE_TYPE_BOOLEAN: 
+ at PURPLE_TYPE_SHORT: 
+ at PURPLE_TYPE_USHORT: 
+ at PURPLE_TYPE_INT: 
+ at PURPLE_TYPE_UINT: 
+ at PURPLE_TYPE_LONG: 
+ at PURPLE_TYPE_ULONG: 
+ at PURPLE_TYPE_INT64: 
+ at PURPLE_TYPE_UINT64: 
+ at PURPLE_TYPE_STRING: 
+ at PURPLE_TYPE_POINTER: 
+ at PURPLE_TYPE_ENUM: 
+ at PURPLE_TYPE_BOXED: 
+
+<!-- ##### ENUM PurpleSubType ##### -->
+<para>
+
+</para>
+
+ at PURPLE_SUBTYPE_UNKNOWN: 
+ at PURPLE_SUBTYPE_ACCOUNT: 
+ at PURPLE_SUBTYPE_BLIST: 
+ at PURPLE_SUBTYPE_BLIST_BUDDY: 
+ at PURPLE_SUBTYPE_BLIST_GROUP: 
+ at PURPLE_SUBTYPE_BLIST_CHAT: 
+ at PURPLE_SUBTYPE_BUDDY_ICON: 
+ at PURPLE_SUBTYPE_CONNECTION: 
+ at PURPLE_SUBTYPE_CONVERSATION: 
+ at PURPLE_SUBTYPE_PLUGIN: 
+ at PURPLE_SUBTYPE_BLIST_NODE: 
+ at PURPLE_SUBTYPE_CIPHER: 
+ at PURPLE_SUBTYPE_STATUS: 
+ at PURPLE_SUBTYPE_LOG: 
+ at PURPLE_SUBTYPE_XFER: 
+ at PURPLE_SUBTYPE_SAVEDSTATUS: 
+ at PURPLE_SUBTYPE_XMLNODE: 
+ at PURPLE_SUBTYPE_USERINFO: 
+ at PURPLE_SUBTYPE_STORED_IMAGE: 
+ at PURPLE_SUBTYPE_CERTIFICATEPOOL: 
+
+<!-- ##### FUNCTION purple_value_new ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_new_outgoing ##### -->
+<para>
+
+</para>
+
+ at type: 
+ at Varargs: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_destroy ##### -->
+<para>
+
+</para>
+
+ at value: 
+
+
+<!-- ##### FUNCTION purple_value_dup ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_type ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_subtype ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_specific_type ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_is_outgoing ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_set_char ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_uchar ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_boolean ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_short ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION purple_value_set_ushort ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_int ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_uint ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_long ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Param2: 
+
+
+<!-- ##### FUNCTION purple_value_set_ulong ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_int64 ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_uint64 ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_string ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_object ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_pointer ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_enum ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_set_boxed ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at data: 
+
+
+<!-- ##### FUNCTION purple_value_get_char ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_uchar ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_boolean ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_short ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_ushort ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_int ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_uint ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_long ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_ulong ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_int64 ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_uint64 ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_string ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_object ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_pointer ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_enum ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_value_get_boxed ##### -->
+<para>
+
+</para>
+
+ at value: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/version.sgml	38b2b4dced99a8033c2dd2b32165b84fa8eb3da9
@@ -0,0 +1,84 @@
+<!-- ##### SECTION Title ##### -->
+version
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO PURPLE_MAJOR_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_MINOR_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_MICRO_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PURPLE_VERSION_CHECK ##### -->
+<para>
+
+</para>
+
+ at x: 
+ at y: 
+ at z: 
+
+
+<!-- ##### FUNCTION purple_version_check ##### -->
+<para>
+
+</para>
+
+ at required_major: 
+ at required_minor: 
+ at required_micro: 
+ at Returns: 
+
+
+<!-- ##### VARIABLE purple_major_version ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE purple_minor_version ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE purple_micro_version ##### -->
+<para>
+
+</para>
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/visibility.sgml	f3406a6dfcb5212af0921df5094a528f9dcb6f4e
@@ -0,0 +1,50 @@
+<!-- ##### SECTION Title ##### -->
+visibility
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION create_visibility_menu_item ##### -->
+<para>
+
+</para>
+
+ at od: 
+ at bname: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION oscar_show_visible_list ##### -->
+<para>
+
+</para>
+
+ at action: 
+
+
+<!-- ##### FUNCTION oscar_show_invisible_list ##### -->
+<para>
+
+</para>
+
+ at action: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/voicevideo.sgml	bb6870c3a6ad6fce1dfce2c5d7680cc302a41f1e
@@ -0,0 +1,63 @@
+<!-- ##### SECTION Title ##### -->
+voicevideo
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION mxit_audio_enabled ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_video_enabled ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_media_caps ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION mxit_media_initiate ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at type: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/wb.sgml	1e80ed829322170e84af5ff2899d2ec6eec26466
@@ -0,0 +1,146 @@
+<!-- ##### SECTION Title ##### -->
+wb
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION silcpurple_wb_init ##### -->
+<para>
+
+</para>
+
+ at sg: 
+ at client_entry: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION silcpurple_wb_init_ch ##### -->
+<para>
+
+</para>
+
+ at sg: 
+ at channel: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION silcpurple_wb_receive ##### -->
+<para>
+
+</para>
+
+ at client: 
+ at conn: 
+ at sender: 
+ at payload: 
+ at flags: 
+ at message: 
+ at message_len: 
+
+
+<!-- ##### FUNCTION silcpurple_wb_receive_ch ##### -->
+<para>
+
+</para>
+
+ at client: 
+ at conn: 
+ at sender: 
+ at channel: 
+ at payload: 
+ at flags: 
+ at message: 
+ at message_len: 
+
+
+<!-- ##### FUNCTION silcpurple_wb_start ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### FUNCTION silcpurple_wb_end ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### FUNCTION silcpurple_wb_get_dimensions ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at width: 
+ at height: 
+
+
+<!-- ##### FUNCTION silcpurple_wb_set_dimensions ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at width: 
+ at height: 
+
+
+<!-- ##### FUNCTION silcpurple_wb_get_brush ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at size: 
+ at color: 
+
+
+<!-- ##### FUNCTION silcpurple_wb_set_brush ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at size: 
+ at color: 
+
+
+<!-- ##### FUNCTION silcpurple_wb_send ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at draw_list: 
+
+
+<!-- ##### FUNCTION silcpurple_wb_clear ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/whiteboard.sgml	64f22f062ec8b3cbc77a5a2bf9eb9afb4fd6309f
@@ -0,0 +1,309 @@
+<!-- ##### SECTION Title ##### -->
+whiteboard
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT PurpleWhiteboardPrplOps ##### -->
+<para>
+
+</para>
+
+ at start: 
+ at end: 
+ at get_dimensions: 
+ at set_dimensions: 
+ at get_brush: 
+ at set_brush: 
+ at send_draw_list: 
+ at clear: 
+ at _purple_reserved1: 
+ at _purple_reserved2: 
+ at _purple_reserved3: 
+ at _purple_reserved4: 
+
+<!-- ##### USER_FUNCTION create ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### USER_FUNCTION destroy ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### USER_FUNCTION set_dimensions ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at width: 
+ at height: 
+
+
+<!-- ##### USER_FUNCTION set_brush ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at size: 
+ at color: 
+
+
+<!-- ##### USER_FUNCTION draw_point ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at x: 
+ at y: 
+ at color: 
+ at size: 
+
+
+<!-- ##### USER_FUNCTION draw_line ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at x1: 
+ at y1: 
+ at x2: 
+ at y2: 
+ at color: 
+ at size: 
+
+
+<!-- ##### USER_FUNCTION clear ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved1 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved2 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved3 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### USER_FUNCTION _purple_reserved4 ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_set_ui_ops ##### -->
+<para>
+
+</para>
+
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_set_prpl_ops ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at ops: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_create ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at state: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_destroy ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_start ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_get_session ##### -->
+<para>
+
+</para>
+
+ at account: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_draw_list_destroy ##### -->
+<para>
+
+</para>
+
+ at draw_list: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_get_dimensions ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at width: 
+ at height: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_set_dimensions ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at width: 
+ at height: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_draw_point ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at x: 
+ at y: 
+ at color: 
+ at size: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_send_draw_list ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at list: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_draw_line ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at x1: 
+ at y1: 
+ at x2: 
+ at y2: 
+ at color: 
+ at size: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_clear ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_send_clear ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_send_brush ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at size: 
+ at color: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_get_brush ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at size: 
+ at color: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION purple_whiteboard_set_brush ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at size: 
+ at color: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/win32dep.sgml	cac87949e6aae4e959c6341731fbc29fc4f642ac
@@ -0,0 +1,188 @@
+<!-- ##### SECTION Title ##### -->
+win32dep
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ##### -->
+<para>
+
+</para>
+
+ at fAutoDetect: 
+ at lpszAutoConfigUrl: 
+ at lpszProxy: 
+ at lpszProxyBypass: 
+
+<!-- ##### FUNCTION wpurple_find_and_loadproc ##### -->
+<para>
+
+</para>
+
+ at dllname: 
+ at procedure: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_read_reg_dword ##### -->
+<para>
+
+</para>
+
+ at rootkey: 
+ at subkey: 
+ at valname: 
+ at result: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_read_reg_string ##### -->
+<para>
+
+</para>
+
+ at rootkey: 
+ at subkey: 
+ at valname: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_write_reg_string ##### -->
+<para>
+
+</para>
+
+ at rootkey: 
+ at subkey: 
+ at valname: 
+ at value: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_escape_dirsep ##### -->
+<para>
+
+</para>
+
+ at filename: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_g_io_channel_win32_new_socket ##### -->
+<para>
+
+</para>
+
+ at socket: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_get_special_folder ##### -->
+<para>
+
+</para>
+
+ at folder_type: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_install_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_lib_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_locale_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_data_dir ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION wpurple_init ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION wpurple_cleanup ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### FUNCTION wpurple_get_tz_offset ##### -->
+<para>
+
+</para>
+
+ at void: 
+ at Returns: 
+
+
+<!-- ##### MACRO DATADIR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO LIBDIR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO LOCALEDIR ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/wpurpleerror.sgml	5cedcc82d3a27be7f38692a29a868655e76ec3b8
@@ -0,0 +1,192 @@
+<!-- ##### SECTION Title ##### -->
+wpurpleerror
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO ENETDOWN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EAFNOSUPPORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EINPROGRESS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ENOBUFS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EPROTONOSUPPORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EPROTOTYPE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ESOCKTNOSUPPORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EADDRINUSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EALREADY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EADDRNOTAVAIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ECONNREFUSED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EISCONN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ENETUNREACH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ENOTSOCK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ETIMEDOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EWOULDBLOCK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ENOTCONN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ENETRESET ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EOPNOTSUPP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ESHUTDOWN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EMSGSIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ECONNABORTED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ECONNRESET ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EHOSTUNREACH ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/xdata.sgml	be3bedb41e6c3bdf7feb07d1cc5d5121e3c5e221
@@ -0,0 +1,88 @@
+<!-- ##### SECTION Title ##### -->
+xdata
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### STRUCT JabberXDataAction ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at handle: 
+
+<!-- ##### USER_FUNCTION jabber_x_data_cb ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at result: 
+ at user_data: 
+
+
+<!-- ##### USER_FUNCTION jabber_x_data_action_cb ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at result: 
+ at actionhandle: 
+ at user_data: 
+
+
+<!-- ##### FUNCTION jabber_x_data_request ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+ at cb: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_x_data_request_with_actions ##### -->
+<para>
+
+</para>
+
+ at js: 
+ at packet: 
+ at actions: 
+ at defaultaction: 
+ at cb: 
+ at user_data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION jabber_x_data_get_formtype ##### -->
+<para>
+
+</para>
+
+ at form: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/xfer.sgml	fcb43e21c16ce8f434ba61e9c2ac4c23382fccb9
@@ -0,0 +1,113 @@
+<!-- ##### SECTION Title ##### -->
+xfer
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO MAX_FILE_NAME_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO MSN_FILE_CONTEXT_SIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION msn_xfer_init ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION msn_xfer_cancel ##### -->
+<para>
+
+</para>
+
+ at xfer: 
+
+
+<!-- ##### FUNCTION msn_xfer_write ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_xfer_read ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at xfer: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_xfer_completed_cb ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at body: 
+ at size: 
+
+
+<!-- ##### FUNCTION msn_xfer_end_cb ##### -->
+<para>
+
+</para>
+
+ at slpcall: 
+ at session: 
+
+
+<!-- ##### FUNCTION msn_file_context_to_wire ##### -->
+<para>
+
+</para>
+
+ at context: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msn_file_context_from_wire ##### -->
+<para>
+
+</para>
+
+ at buf: 
+ at len: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/xmlnode.sgml	2ffbafff34aa4af144134b2eadf4c692d4fbf89a
@@ -0,0 +1,324 @@
+<!-- ##### SECTION Title ##### -->
+xmlnode
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM XMLNodeType ##### -->
+<para>
+
+</para>
+
+ at XMLNODE_TYPE_TAG: 
+ at XMLNODE_TYPE_ATTRIB: 
+ at XMLNODE_TYPE_DATA: 
+
+<!-- ##### STRUCT xmlnode ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at xmlns: 
+ at type: 
+ at data: 
+ at data_sz: 
+ at parent: 
+ at child: 
+ at lastchild: 
+ at next: 
+ at prefix: 
+ at namespace_map: 
+
+<!-- ##### FUNCTION xmlnode_new ##### -->
+<para>
+
+</para>
+
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_new_child ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_insert_child ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at child: 
+
+
+<!-- ##### FUNCTION xmlnode_get_child ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_get_child_with_namespace ##### -->
+<para>
+
+</para>
+
+ at parent: 
+ at name: 
+ at xmlns: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_get_next_twin ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_insert_data ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at data: 
+ at size: 
+
+
+<!-- ##### FUNCTION xmlnode_get_data ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_get_data_unescaped ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_set_attrib ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at value: 
+
+
+<!-- ##### FUNCTION xmlnode_set_attrib_with_prefix ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at prefix: 
+ at value: 
+
+
+<!-- ##### FUNCTION xmlnode_set_attrib_with_namespace ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at xmlns: 
+ at value: 
+
+
+<!-- ##### FUNCTION xmlnode_set_attrib_full ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at xmlns: 
+ at prefix: 
+ at value: 
+
+
+<!-- ##### FUNCTION xmlnode_get_attrib ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_get_attrib_with_namespace ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at xmlns: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_remove_attrib ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+
+
+<!-- ##### FUNCTION xmlnode_remove_attrib_with_namespace ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at attr: 
+ at xmlns: 
+
+
+<!-- ##### FUNCTION xmlnode_set_namespace ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at xmlns: 
+
+
+<!-- ##### FUNCTION xmlnode_get_namespace ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_set_prefix ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at prefix: 
+
+
+<!-- ##### FUNCTION xmlnode_get_prefix ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_get_parent ##### -->
+<para>
+
+</para>
+
+ at child: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_to_str ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_to_formatted_str ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at len: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_from_str ##### -->
+<para>
+
+</para>
+
+ at str: 
+ at size: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_copy ##### -->
+<para>
+
+</para>
+
+ at src: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION xmlnode_free ##### -->
+<para>
+
+</para>
+
+ at node: 
+
+
+<!-- ##### FUNCTION xmlnode_from_file ##### -->
+<para>
+
+</para>
+
+ at dir: 
+ at filename: 
+ at description: 
+ at process: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/yahoo_aliases.sgml	d1c594913a27f8a5b1b1995ca9b4dd66683dd8c7
@@ -0,0 +1,77 @@
+<!-- ##### SECTION Title ##### -->
+yahoo_aliases
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION yahoo_update_alias ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at alias: 
+
+
+<!-- ##### FUNCTION yahoo_fetch_aliases ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION yahoo_set_userinfo ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION yahoo_set_userinfo_for_buddy ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at buddy: 
+
+
+<!-- ##### FUNCTION yahoo_personal_details_reset ##### -->
+<para>
+
+</para>
+
+ at ypd: 
+ at all: 
+
+
+<!-- ##### FUNCTION yahoo_process_contact_details ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/yahoo_doodle.sgml	549c1d4e786a811fc5ee5a7f0b67374f7affb9f7
@@ -0,0 +1,456 @@
+<!-- ##### SECTION Title ##### -->
+yahoo_doodle
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO DOODLE_IMV_KEY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_CMD_REQUEST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_CMD_CLEAR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_CMD_DRAW ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_CMD_EXTRA ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_CMD_READY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_CMD_CONFIRM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_CMD_SHUTDOWN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_EXTRA_NONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_EXTRA_TICTACTOE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_EXTRA_DOTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_STATE_REQUESTING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_STATE_REQUESTED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_STATE_ESTABLISHED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_STATE_CANCELLED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_CANVAS_WIDTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_CANVAS_HEIGHT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_RED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_ORANGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_YELLOW ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_GREEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_CYAN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_BLUE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_VIOLET ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_PURPLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_TAN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_BROWN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_BLACK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_GREY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_COLOR_WHITE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO PALETTE_NUM_OF_COLORS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_BRUSH_SMALL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_BRUSH_MEDIUM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_BRUSH_LARGE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DOODLE_MAX_BRUSH_MOTIONS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION yahoo_doodle_purple_cmd_start ##### -->
+<para>
+
+</para>
+
+ at conv: 
+ at cmd: 
+ at args: 
+ at error: 
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_process ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at me: 
+ at from: 
+ at command: 
+ at message: 
+ at imv_key: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_initiate ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at to: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_command_got_shutdown ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at from: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_command_send_request ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at to: 
+ at imv_key: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_command_send_ready ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at to: 
+ at imv_key: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_command_send_draw ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at to: 
+ at message: 
+ at imv_key: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_command_send_clear ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at to: 
+ at imv_key: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_command_send_extra ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at to: 
+ at message: 
+ at imv_key: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_command_send_confirm ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at to: 
+ at imv_key: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_command_send_shutdown ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at to: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_start ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_end ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_get_dimensions ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at width: 
+ at height: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_send_draw_list ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at draw_list: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_clear ##### -->
+<para>
+
+</para>
+
+ at wb: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_draw_stroke ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at draw_list: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_get_brush ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at size: 
+ at color: 
+
+
+<!-- ##### FUNCTION yahoo_doodle_set_brush ##### -->
+<para>
+
+</para>
+
+ at wb: 
+ at size: 
+ at color: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/yahoo_filexfer.sgml	acec4ee7f8a2b5bfe9964d23aac134604aa0277e
@@ -0,0 +1,99 @@
+<!-- ##### SECTION Title ##### -->
+yahoo_filexfer
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION yahoo_process_p2pfilexfer ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_filetransfer ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_new_xfer ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_can_receive_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_send_file ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at file: 
+
+
+<!-- ##### FUNCTION yahoo_process_filetrans_15 ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_filetrans_info_15 ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_filetrans_acc_15 ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/yahoo_friend.sgml	0aeae8434785f027f4c2e91e2f0b2364e887f04b
@@ -0,0 +1,219 @@
+<!-- ##### SECTION Title ##### -->
+yahoo_friend
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### ENUM YahooPresenceVisibility ##### -->
+<para>
+
+</para>
+
+ at YAHOO_PRESENCE_DEFAULT: 
+ at YAHOO_PRESENCE_ONLINE: 
+ at YAHOO_PRESENCE_PERM_OFFLINE: 
+
+<!-- ##### ENUM YahooP2PStatus ##### -->
+<para>
+
+</para>
+
+ at YAHOO_P2PSTATUS_NOT_CONNECTED: 
+ at YAHOO_P2PSTATUS_DO_NOT_CONNECT: 
+ at YAHOO_P2PSTATUS_WE_ARE_SERVER: 
+ at YAHOO_P2PSTATUS_WE_ARE_CLIENT: 
+
+<!-- ##### STRUCT YahooFriend ##### -->
+<para>
+
+</para>
+
+ at status: 
+ at msg: 
+ at game: 
+ at idle: 
+ at away: 
+ at sms: 
+ at ip: 
+ at bicon_sent_request: 
+ at presence: 
+ at fed: 
+ at version_id: 
+ at ypd: 
+ at p2p_status: 
+ at p2p_packet_sent: 
+ at session_id: 
+
+<!-- ##### FUNCTION yahoo_friend_find ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_friend_find_or_new ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_friend_set_ip ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at ip: 
+
+
+<!-- ##### FUNCTION yahoo_friend_get_ip ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_friend_set_game ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at game: 
+
+
+<!-- ##### FUNCTION yahoo_friend_get_game ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_friend_set_status_message ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at msg: 
+
+
+<!-- ##### FUNCTION yahoo_friend_get_status_message ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_friend_set_alias_id ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at alias_id: 
+
+
+<!-- ##### FUNCTION yahoo_friend_get_alias_id ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_friend_set_buddy_icon_need_request ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at needs: 
+
+
+<!-- ##### FUNCTION yahoo_friend_get_buddy_icon_need_request ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_friend_free ##### -->
+<para>
+
+</para>
+
+ at p: 
+
+
+<!-- ##### FUNCTION yahoo_process_presence ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_friend_update_presence ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+ at presence: 
+
+
+<!-- ##### FUNCTION yahoo_friend_set_p2p_status ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at p2p_status: 
+
+
+<!-- ##### FUNCTION yahoo_friend_get_p2p_status ##### -->
+<para>
+
+</para>
+
+ at f: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/yahoo_packet.sgml	329248bb43d9b5d6c7eec3e28bc40f9e7d65d742
@@ -0,0 +1,171 @@
+<!-- ##### SECTION Title ##### -->
+yahoo_packet
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO YAHOO_WEBMESSENGER_PROTO_VER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_PROTO_VER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_PROTO_VER_JAPAN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_PACKET_HDRLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION yahoo_packet_new ##### -->
+<para>
+
+</para>
+
+ at service: 
+ at status: 
+ at id: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_packet_hash ##### -->
+<para>
+
+</para>
+
+ at pkt: 
+ at fmt: 
+ at Varargs: 
+
+
+<!-- ##### FUNCTION yahoo_packet_hash_str ##### -->
+<para>
+
+</para>
+
+ at pkt: 
+ at key: 
+ at value: 
+
+
+<!-- ##### FUNCTION yahoo_packet_hash_int ##### -->
+<para>
+
+</para>
+
+ at pkt: 
+ at key: 
+ at value: 
+
+
+<!-- ##### FUNCTION yahoo_packet_send ##### -->
+<para>
+
+</para>
+
+ at pkt: 
+ at yd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_packet_send_and_free ##### -->
+<para>
+
+</para>
+
+ at pkt: 
+ at yd: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_packet_build ##### -->
+<para>
+
+</para>
+
+ at pkt: 
+ at pad: 
+ at wm: 
+ at jp: 
+ at buf: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_packet_read ##### -->
+<para>
+
+</para>
+
+ at pkt: 
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION yahoo_packet_write ##### -->
+<para>
+
+</para>
+
+ at pkt: 
+ at data: 
+
+
+<!-- ##### FUNCTION yahoo_packet_dump ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at len: 
+
+
+<!-- ##### FUNCTION yahoo_packet_length ##### -->
+<para>
+
+</para>
+
+ at pkt: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_packet_free ##### -->
+<para>
+
+</para>
+
+ at pkt: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/yahoo_picture.sgml	39068915012f517e0b9fd27644485e200141f5f5
@@ -0,0 +1,131 @@
+<!-- ##### SECTION Title ##### -->
+yahoo_picture
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION yahoo_send_picture_request ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION yahoo_send_picture_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+
+
+<!-- ##### FUNCTION yahoo_send_picture_checksum ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION yahoo_send_picture_update ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at type: 
+
+
+<!-- ##### FUNCTION yahoo_send_picture_update_to_user ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at who: 
+ at type: 
+
+
+<!-- ##### FUNCTION yahoo_process_picture ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_picture_checksum ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_picture_upload ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_avatar_update ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_set_buddy_icon ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at img: 
+
+
+<!-- ##### FUNCTION yahoo_buddy_icon_upload ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at d: 
+
+
+<!-- ##### FUNCTION yahoo_buddy_icon_upload_data_free ##### -->
+<para>
+
+</para>
+
+ at d: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/yahoochat.sgml	53d7e6a811607cb36f505c4cbfceda244fb188fe
@@ -0,0 +1,266 @@
+<!-- ##### SECTION Title ##### -->
+yahoochat
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION yahoo_process_conference_invite ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_conference_decline ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_conference_logon ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_conference_logoff ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_conference_message ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_chat_online ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_chat_logout ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_chat_join ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_chat_exit ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_chat_message ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_chat_addinvite ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_process_chat_goto ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at pkt: 
+
+
+<!-- ##### FUNCTION yahoo_c_leave ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+
+
+<!-- ##### FUNCTION yahoo_c_send ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at what: 
+ at flags: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_c_info ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_c_info_defaults ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at chat_name: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_c_join ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at data: 
+
+
+<!-- ##### FUNCTION yahoo_get_chat_name ##### -->
+<para>
+
+</para>
+
+ at data: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_c_invite ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at id: 
+ at msg: 
+ at name: 
+
+
+<!-- ##### FUNCTION yahoo_conf_leave ##### -->
+<para>
+
+</para>
+
+ at yd: 
+ at room: 
+ at dn: 
+ at who: 
+
+
+<!-- ##### FUNCTION yahoo_chat_goto ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at name: 
+
+
+<!-- ##### FUNCTION yahoo_roomlist_get_list ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION yahoo_roomlist_cancel ##### -->
+<para>
+
+</para>
+
+ at list: 
+
+
+<!-- ##### FUNCTION yahoo_roomlist_expand_category ##### -->
+<para>
+
+</para>
+
+ at list: 
+ at category: 
+
+
+<!-- ##### FUNCTION yahoo_chat_add_users ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at newusers: 
+
+
+<!-- ##### FUNCTION yahoo_chat_add_user ##### -->
+<para>
+
+</para>
+
+ at chat: 
+ at user: 
+ at reason: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/ycht.sgml	25d7070ada9b4ffb052b862896c37dcdbd31993f
@@ -0,0 +1,174 @@
+<!-- ##### SECTION Title ##### -->
+ycht
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO YAHOO_YCHT_HOST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YAHOO_YCHT_PORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YCHT_VERSION ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO YCHT_HEADER_LEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM ycht_service ##### -->
+<para>
+
+</para>
+
+ at YCHT_SERVICE_LOGIN: 
+ at YCHT_SERVICE_LOGOUT: 
+ at YCHT_SERVICE_CHATJOIN: 
+ at YCHT_SERVICE_CHATPART: 
+ at YCHT_SERVICE_CHATMSG: 
+ at YCHT_SERVICE_CHATMSG_EMOTE: 
+ at YCHT_SERVICE_PING: 
+ at YCHT_SERVICE_ONLINE_FRIENDS: 
+
+<!-- ##### MACRO YCHT_SEP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT YchtConn ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at room: 
+ at room_id: 
+ at fd: 
+ at inpa: 
+ at logged_in: 
+ at changing_rooms: 
+ at rxqueue: 
+ at rxlen: 
+ at txbuf: 
+ at tx_handler: 
+
+<!-- ##### STRUCT YchtPkt ##### -->
+<para>
+
+</para>
+
+ at version: 
+ at service: 
+ at status: 
+ at data: 
+
+<!-- ##### FUNCTION ycht_connection_open ##### -->
+<para>
+
+</para>
+
+ at gc: 
+
+
+<!-- ##### FUNCTION ycht_connection_close ##### -->
+<para>
+
+</para>
+
+ at ycht: 
+
+
+<!-- ##### FUNCTION ycht_chat_join ##### -->
+<para>
+
+</para>
+
+ at ycht: 
+ at room: 
+
+
+<!-- ##### FUNCTION ycht_chat_send ##### -->
+<para>
+
+</para>
+
+ at ycht: 
+ at room: 
+ at what: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION ycht_chat_leave ##### -->
+<para>
+
+</para>
+
+ at ycht: 
+ at room: 
+ at logout: 
+
+
+<!-- ##### FUNCTION ycht_chat_send_invite ##### -->
+<para>
+
+</para>
+
+ at ycht: 
+ at room: 
+ at buddy: 
+ at msg: 
+
+
+<!-- ##### FUNCTION ycht_chat_goto_user ##### -->
+<para>
+
+</para>
+
+ at ycht: 
+ at name: 
+
+
+<!-- ##### FUNCTION ycht_chat_send_keepalive ##### -->
+<para>
+
+</para>
+
+ at ycht: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/zap.sgml	46efe72aff6112542987f464324f59f8c286f518
@@ -0,0 +1,63 @@
+<!-- ##### SECTION Title ##### -->
+zap
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### FUNCTION msim_attention_types ##### -->
+<para>
+
+</para>
+
+ at acct: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msim_send_attention ##### -->
+<para>
+
+</para>
+
+ at gc: 
+ at username: 
+ at code: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msim_blist_node_menu ##### -->
+<para>
+
+</para>
+
+ at node: 
+ at Returns: 
+
+
+<!-- ##### FUNCTION msim_incoming_zap ##### -->
+<para>
+
+</para>
+
+ at session: 
+ at msg: 
+ at Returns: 
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/zephyr_err.sgml	dc8e3e360519d79f683a7cf0fac2cbcc494e0304
@@ -0,0 +1,214 @@
+<!-- ##### SECTION Title ##### -->
+zephyr_err
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO ZERR_PKTLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_HEADERLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_ILLVAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_HMPORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_PORTINUSE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_BADPKT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_VERS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_NOPORT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_NONOTICE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_QLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_HMDEAD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_INTERNAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_NOLOCATIONS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_NOMORELOCS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_FIELDLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_BADFIELD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_SERVNAK ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_AUTHFAIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_LOGINFAIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_NOSUBSCRIPTIONS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_NOMORESUBSCRIPTIONS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_TOOMANYSUBS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_EOF ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION initialize_zeph_error_table ##### -->
+<para>
+
+</para>
+
+ at void: 
+
+
+<!-- ##### MACRO ERROR_TABLE_BASE_zeph ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO init_zeph_err_tbl ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO zeph_err_base ##### -->
+<para>
+
+</para>
+
+
+
============================================================
--- /dev/null	
+++ doc/libpurple/tmpl/zephyr_internal.sgml	c9e093f14bf33bacbea8e53770e219b4a785c89e
@@ -0,0 +1,664 @@
+<!-- ##### SECTION Title ##### -->
+zephyr_internal
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
+<!-- ##### MACRO ZP ##### -->
+<para>
+
+</para>
+
+ at x: 
+
+
+<!-- ##### MACRO ZCONST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_SVCNAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_SRV_SVCNAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SERVER_SVCNAME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SERVER_SERVICE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SERVER_INSTANCE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZVERSIONHDR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZVERSIONMAJOR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZVERSIONMINOR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Z_MAXPKTLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Z_MAXHEADERLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Z_MAXOTHERFIELDS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO Z_NUMFIELDS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZAUTH_FAILED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZAUTH_YES ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZAUTH_NO ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### TYPEDEF ZPacket_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ENUM ZNotice_Kind_t ##### -->
+<para>
+
+</para>
+
+ at UNSAFE: 
+ at UNACKED: 
+ at ACKED: 
+ at HMACK: 
+ at HMCTL: 
+ at SERVACK: 
+ at SERVNAK: 
+ at CLIENTACK: 
+ at STAT: 
+
+<!-- ##### STRUCT ZUnique_Id_t ##### -->
+<para>
+
+</para>
+
+ at zuid_addr: 
+ at tv: 
+
+<!-- ##### TYPEDEF ZChecksum_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT ZNotice_t ##### -->
+<para>
+
+</para>
+
+ at z_packet: 
+ at z_version: 
+ at z_kind: 
+ at z_uid: 
+ at z_time: 
+ at z_port: 
+ at z_auth: 
+ at z_checked_auth: 
+ at z_authent_len: 
+ at z_ascii_authent: 
+ at z_class: 
+ at z_class_inst: 
+ at z_opcode: 
+ at z_sender: 
+ at z_recipient: 
+ at z_default_format: 
+ at z_multinotice: 
+ at z_multiuid: 
+ at z_checksum: 
+ at z_num_other_fields: 
+ at z_other_fields: 
+ at z_message: 
+ at z_message_len: 
+
+<!-- ##### STRUCT ZSubscription_t ##### -->
+<para>
+
+</para>
+
+ at zsub_recipient: 
+ at zsub_class: 
+ at zsub_classinst: 
+
+<!-- ##### TYPEDEF Code_t ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT ZLocations_t ##### -->
+<para>
+
+</para>
+
+ at host: 
+ at time: 
+ at tty: 
+
+<!-- ##### STRUCT ZAsyncLocateData_t ##### -->
+<para>
+
+</para>
+
+ at user: 
+ at uid: 
+ at version: 
+
+<!-- ##### FUNCTION int ##### -->
+<para>
+
+</para>
+
+ at Returns: 
+
+
+<!-- ##### MACRO ZNewLocateUser ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZGetFD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZQLength ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZGetDestAddr ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZGetRealm ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZSetDebug ##### -->
+<para>
+
+</para>
+
+ at proc: 
+ at closure: 
+
+
+<!-- ##### MACRO Z_MAXQLEN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZERR_NONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_TIMEOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SRV_TIMEOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZAUTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZNOAUTH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZSRVACK_SENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZSRVACK_NOTSENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZSRVACK_FAIL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZEPHYR_ADMIN_CLASS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZEPHYR_CTL_CLASS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZEPHYR_CTL_CLIENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CLIENT_SUBSCRIBE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CLIENT_SUBSCRIBE_NODEFS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CLIENT_UNSUBSCRIBE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CLIENT_CANCELSUB ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CLIENT_GIMMESUBS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CLIENT_GIMMEDEFS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO ZEPHYR_CTL_HM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_BOOT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_FLUSH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_DETACH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_ATTACH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_CTL_CLASS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_CTL_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SERVER_SHUTDOWN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO SERVER_PING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_CTL_CLIENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CLIENT_FLUSH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO CLIENT_NEW_SERVER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_STAT_CLASS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_STAT_CLIENT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO HM_GIMMESTATS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO LOGIN_CLASS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EXPOSE_NONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EXPOSE_OPSTAFF ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EXPOSE_REALMVIS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EXPOSE_REALMANN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EXPOSE_NETVIS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO EXPOSE_NETANN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO LOGIN_USER_LOGIN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO LOGIN_USER_LOGOUT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO LOGIN_USER_FLUSH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO LOCATE_CLASS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO LOCATE_HIDE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO LOCATE_UNHIDE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO LOCATE_LOCATE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO WG_CTL_CLASS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO WG_CTL_USER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO USER_REREAD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO USER_SHUTDOWN ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO USER_STARTUP ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO USER_EXIT ##### -->
+<para>
+
+</para>
+
+
+


More information about the Commits mailing list