changeset 15871:7e59202b16c1

merge of '22407f95a65ee080c4c0d31e326d1f94e91fa5b3' and '82f6e680f0383b382894ab48ee7c18f46305bb12'
author Daniel Atallah <daniel.atallah@gmail.com>
date Wed, 21 Mar 2007 18:33:13 +0000
parents 66dff3dfdea6 (diff) 13fb0ad0e285 (current diff)
children 045f2e2b2de2
files doc/gaim-text.1.in libpurple/gaim.h
diffstat 133 files changed, 3286 insertions(+), 2811 deletions(-) [+]
line wrap: on
line diff
--- a/configure.ac	Mon Mar 19 18:44:36 2007 +0000
+++ b/configure.ac	Wed Mar 21 18:33:13 2007 +0000
@@ -374,7 +374,7 @@
 GNT_LIBS=""
 GNT_CFLAGS=""
 AC_ARG_WITH(ncurses-headers, [AC_HELP_STRING([--with-ncurses-headers=DIR],
-		[compile gaim-text against the ncurses includes in DIR])],
+		[compile finch against the ncurses includes in DIR])],
 		[ac_ncurses_includes="$withval"], [ac_ncurses_includes=""])
 if test "x$enable_consoleui" = "xyes"; then
 	AC_CHECK_LIB(ncursesw, initscr, [GNT_LIBS="-lncursesw"], [enable_consoleui=no])
@@ -1899,7 +1899,7 @@
 		   gaim.service
 		   doc/Makefile
 		   doc/pidgin.1
-		   doc/gaim-text.1
+		   doc/finch.1
 		   m4macros/Makefile
 		   pidgin/Makefile
 		   pidgin/pidgin.pc
--- a/doc/Makefile.am	Mon Mar 19 18:44:36 2007 +0000
+++ b/doc/Makefile.am	Wed Mar 21 18:33:13 2007 +0000
@@ -1,4 +1,4 @@
-man_MANS = pidgin.1 gaim-text.1
+man_MANS = pidgin.1 finch.1
 
 EXTRA_DIST = \
 	C-HOWTO.dox \
@@ -13,7 +13,7 @@
 	core-signals.dox \
 	dbus-server-signals.dox \
 	gaims_funniest_home_convos.txt \
-	gaim-text.1.in \
+	finch.1.in \
 	gtkaccount-signals.dox \
 	gtkblist-signals.dox \
 	gtkconv-signals.dox \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/finch.1.in	Wed Mar 21 18:33:13 2007 +0000
@@ -0,0 +1,430 @@
+.\" Copyright (c) 2006, Sadrul Habib Chowdhury <sadrul@users.sf.net>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
+.\" USA.
+.TH finch 1
+.SH NAME
+Finch \- A Pimpin' Penguin console frontend to libpurple. Instant
+Messaging client.
+.SH SYNOPSIS
+.TP 5
+\fBfinch \fI[options]\fR
+
+.SH DESCRIPTION
+.PP
+\fBfinch\fR is a console-based modular messaging client capable of using
+AIM, MSN, Yahoo!, Jabber, ICQ, IRC, SILC, Novell GroupWise, Lotus Sametime,
+Zephyr, Gadu-Gadu, and QQ all at once. It has many common features found in
+other clients, as well as many unique features.  Finch is not endorsed by or
+affiliated with America Online, ICQ, Microsoft, or Yahoo.
+
+.SH OPTIONS
+The following options are provided by \fBfinch\fR using the standard GNU
+command line syntax:
+.TP
+.B \-d, \-\-debug
+Print debugging messages to stderr and start with the \fBDebug\fR window. The
+messages shown in the \fBDebug\fR window are the same as the ones printed in
+stderr.
+.TP
+.B \-c, \-\-config=\fIDIR\fB
+Use \fIDIR\fR as the directory for config files instead of \fI~/.gaim\fR.
+.TP
+.B \-h, \-\-help
+Print this help and exit.
+.TP
+.B \-n, \-\-nologin
+Don't automatically login when \fBfinch\fR starts.  Sets all accounts to
+Offline.
+.TP
+.B \-v, \-\-version
+Display the version information window.
+
+.SH GNT Shortcuts
+You can use the following shortcuts:
+.TP
+.B Alt \+ a
+Bring up a list of available actions. You can use this list to access the
+accounts window, plugins window, preference window etc.
+.TP
+.B Alt \+ n
+Go to the next window.
+.TP
+.B Alt \+ p
+Go to the previous window.
+.TP
+.B Alt \+ w
+Show the list of windows. You can select and jump to any window from the list.
+.TP
+.B Alt \+ c
+Close the current window.
+.TP
+.B Alt \+ q
+Quit.
+.TP
+.B Alt \+ m
+Start moving a window. Press the cursor keys to move the window. When you are
+done, press \fBEnter\fR or \fBEscape\fR.
+.TP
+.B Alt \+ r
+Start resizing a window. Press the cursor keys to resize the window. When you
+are done, press \fBEnter\fR or \fBEscape\fR.
+.TP
+.B Alt \+ d
+Dump the contents of the screen in HTML format in a file named "dump.html" in
+working directory.
+.TP
+.B Alt \+ .
+Move the position of the current window in the window list one place to the
+right.
+.TP
+.B Alt \+ ,
+Move the position of the current window in the window list one place to the
+left.
+.TP
+.B Alt \+ l
+Refresh the windows. This is useful after resizing the terminal window.
+.TP
+.B Alt \+ 1 2 ... 0
+Jump to the 1st, 2nd ... 10th window.
+.TP
+.B Ctrl \+ o
+Bring up the menu (if there is one) for a window. Note that currently only the
+buddylist has a menu.
+
+.SH FILES
+\fI~/.gntrc\fR: configuration file for gnt applications.
+.br
+.TP
+A sample file looks like:
+.br
+[general]
+.br
+shadow = 0
+.br
+# There is experimental mouse support
+.br
+mouse = 1
+.br
+# To use some custom window-manager
+.br
+wm = /usr/local/lib/gaim/s.so
+.br
+# Remember window-positions based on the titles (on by default)
+.br
+remember_position = 1
+.br
+
+.br
+[colors]
+.br
+# The RGB values range in [0, 1000]
+.br
+black = 0; 0; 0
+.br
+red = 1000; 0; 0
+.br
+green = 0; 1000; 0
+.br
+blue = 250; 250; 700
+.br
+white = 1000; 1000; 1000
+.br
+gray = 700; 700; 700
+.br
+darkgray = 256; 256; 256
+.br
+
+.br
+[colorpairs]
+.br
+normal = white; black
+.br
+highlight = white; blue
+.br
+highlightd = black; gray
+.br
+shadow = black; darkgray
+.br
+title = white; blue
+.br
+titled = white; gray
+.br
+text = white; blue
+.br
+disabled = gray; black
+.br
+urgent = green; black
+.br
+
+.br
+# Remap some keys for GntEntry
+.br
+[GntEntry::remap]
+.br
+# Remap the up-arrow to the left-arrow
+.br
+^[[A = ^[[D
+.br
+# Remap the down-arrow to the right-arrow
+.br
+^[[B = ^[[C
+.br
+# Remap 'a' to 'bcd'
+.br
+a = bcd
+.br
+# Completely ignore the key 'q'
+.br
+q = 
+.br
+# But the following will NOT work
+.br
+#abc = bcd
+.br
+
+# Hitting 'space' will activate a button
+.br
+[GntButton::remap]
+.br
+\\  = \\r
+.br
+
+.SH Widget Actions
+You can specifiy key-bindings for specific widgets. The following entries in
+\fI~/.gntrc\fR correspond to the default keybindings for the actions:
+
+.br
+[GntEntry::binding]
+.br
+c-a = cursor-home
+.br
+home = cursor-home
+.br
+c-e = cursor-end
+.br
+end = cursor-end
+.br
+backspace = delete-prev
+.br
+del = delete-next
+.br
+c-d = delete-next
+.br
+c-u = delete-start
+.br
+c-k = delete-end
+.br
+c-b = cursor-prev
+.br
+left = cursor-prev
+.br
+c-f = cursor-next
+.br
+right = cursor-next
+.br
+tab = suggest-show
+.br
+down = suggest-next
+.br
+up = suggest-prev
+.br
+c-w = delete-prev-word
+.br
+a-b = cursor-prev-word
+.br
+a-f = cursor-next-word
+.br
+a-d = delete-next-word
+.br
+c-v = clipboard-paste
+
+.br
+[GntTree::binding]
+.br
+up = move-up
+.br
+down = move-down
+.br
+c-n = move-down
+.br
+c-p = move-up
+.br
+pageup = page-up
+.br
+pagedown = page-down
+.br
+# Following is the default binding for the context-menu
+.br
+menu = context-menu
+.br
+# The following will let you open the context-menu in the buddylist with c-b
+.br
+# c-b = context-menu
+
+.br
+[GntWidget::binding]
+.br
+f11 = context-menu
+
+[GntWindow::binding]
+.br
+c-o = show-menu
+.br
+f10 = show-menu
+
+The \fBc-\fR corresponds to the \fBControl\fR key. You can also use \fBctrl-\fR
+or \fBctr-\fR or \fBctl-\fR to indicate a combination. For alt-keys, you can use
+one of \fBa-\fR, \fBalt-\fR, \fBm-\fR or \fBmeta-\fR. You can also use
+\fBhome\fR, \fBend\fR, \fBleft\fR, \fBright\fR etc. keys.
+
+.SH Mouse Support
+There is experimental mouse support. You can focus windows, activate buttons,
+select rows in a list, scroll using the wheel-scroll etc. Selecting text in a
+text-view copies it to the gnt clipboard. Mouse support is disabled by default,
+so you need to enable it in \fI~/.gntrc\fR (see the sample above).
+
+.SH Window Management
+The default window management is very limited. But it is possible to write
+custom window managers to suit your needs. There is a sample window-manager
+included (named \fIs.so\fR) which adds a little 'close-button' for the windows,
+removes the borders from the buddylist and pops up new windows in the middle of
+the screen, instead of at the upper-left corder. It is provided as a sample
+simple manager, but it should be possible to write more complex managers, and
+it's very possible that the window-manager API will need to be enhanced. Look at
+the sample \fI~/.gntrc\fR file above to see how to select a window-manager.
+
+It is also possible to rebind the window-manager actions in \fI~/.gntrc\fR, eg:
+
+.br
+[GntWM::binding]
+.br
+a-n = window-next
+.br
+a-p = window-prev
+.br
+a-c = window-close
+.br
+a-w = window-list
+.br
+a-d = dump-screen
+.br
+a-, = shift-left
+.br
+a-. = shift-right
+.br
+a-a = action-list
+.br
+a-m = start-move
+.br
+a-r = start-resize
+.br
+a-q = wm-quit
+.br
+a-l = refresh-screen
+.br
+# The following action is still incomplete, and doesn't have a default binding
+.br
+# switch-window-n
+.br
+
+# For the sample custom window manager
+.br
+[GntS::binding]
+.br
+a-b = toggle-buddylist
+.br
+a-C = toggle-clipboard
+
+.SH Conversation Commands
+There are a few helpful commands in addition to the regular commands. You can
+use these from any conversation to access other windows.
+
+.TP
+.B accounts
+for the accounts window.
+
+.TP
+.B buddylist
+for the buddylist.
+
+.TP
+.B debugwin
+for the debug window.
+
+.TP
+.B plugins
+for the plugins window.
+
+.TP
+.B prefs
+for the preferences window.
+
+.TP
+.B status
+for the status window.
+
+.SH BUGS
+Known bugs are listed at
+.br
+\fIhttp://sourceforge.net/tracker/?group_id=235&atid=100235\fR
+
+Before sending a bug report, please verify that you have the latest
+version of \fBfinch\fR and \fBlibpurple\fR.  Many bugs (major and minor) are
+fixed at each release, and if yours is out of date, the problem may already have
+been solved.
+
+
+.SH PATCHES
+If you fix a bug in \fBfinch\fR (or otherwise enhance it), please submit a
+patch (using \fImtn diff > my.diff\fR against the latest version from the
+Monotone repository) at
+.br
+\fIhttp://developer.pidgin.im/newticket\fR
+
+You are also encouraged to drop by at \fB#pidgin\fR on \fIirc.freenode.net\fR to
+discuss development.
+
+.SH SEE ALSO
+\fIhttp://pidgin.im/\fR
+
+.SH LICENSE
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+\fBWITHOUT ANY WARRANTY\fR; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+.SH AUTHORS
+Sadrul Habib Chowdhury <\fIsadrul@users.sourceforge.net\fR>
+.br
+
+This manpage was written by Sadrul Habib Chowdhury
+<\fIsadrul@users.sourceforge.net\fR> and Dennis Ristuccia
+<\fIdennis@dennisr.net\fR>.
+
--- a/doc/gaim-text.1.in	Mon Mar 19 18:44:36 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,426 +0,0 @@
-.\" Copyright (c) 2006, Sadrul Habib Chowdhury <sadrul@users.sf.net>
-.\"
-.\" This is free documentation; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of
-.\" the License, or (at your option) any later version.
-.\"
-.\" The GNU General Public License's references to "object code"
-.\" and "executables" are to be interpreted as the output of any
-.\" document formatting or typesetting system, including
-.\" intermediate and printed output.
-.\"
-.\" This manual is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\" GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
-.\" USA.
-.TH gaim-text 1
-.SH NAME
-Gaim-Text \- A Pimpin' Penguin console frontend for Instant Messaging client Gaim.
-.SH SYNOPSIS
-.TP 5
-\fBgaim-text \fI[options]\fR
-
-.SH DESCRIPTION
-.PP
-\fBgaim-text\fR is a console-based modular messaging client capable of using
-AIM, MSN, Yahoo!, Jabber, ICQ, IRC, SILC, Novell GroupWise, Lotus Sametime,
-Zephyr, Gadu-Gadu, and QQ all at once. It has many common features found in
-other clients, as well as many unique features.  Gaim is not endorsed by or
-affiliated with America Online, ICQ, Microsoft, or Yahoo.
-
-.SH OPTIONS
-The following options are provided by \fBgaim-text\fR using the standard GNU
-command line syntax:
-.TP
-.B \-d, \-\-debug
-Print debugging messages to stderr and start with the \fBDebug\fR window. The
-messages shown in the \fBDebug\fR window are the same as the ones printed in
-stderr.
-.TP
-.B \-c, \-\-config=\fIDIR\fB
-Use \fIDIR\fR as the directory for config files instead of \fI~/.gaim\fR.
-.TP
-.B \-h, \-\-help
-Print this help and exit.
-.TP
-.B \-n, \-\-nologin
-Don't automatically login when \fBgaim-text\fR starts.  Sets all accounts to
-Offline.
-.TP
-.B \-v, \-\-version
-Display the version information window.
-
-.SH GNT Shortcuts
-You can use the following shortcuts:
-.TP
-.B Alt \+ a
-Bring up a list of available actions. You can use this list to access the
-accounts window, plugins window, preference window etc.
-.TP
-.B Alt \+ n
-Go to the next window.
-.TP
-.B Alt \+ p
-Go to the previous window.
-.TP
-.B Alt \+ w
-Show the list of windows. You can select and jump to any window from the list.
-.TP
-.B Alt \+ c
-Close the current window.
-.TP
-.B Alt \+ q
-Quit.
-.TP
-.B Alt \+ m
-Start moving a window. Press the cursor keys to move the window. When you are
-done, press \fBEnter\fR or \fBEscape\fR.
-.TP
-.B Alt \+ r
-Start resizing a window. Press the cursor keys to resize the window. When you
-are done, press \fBEnter\fR or \fBEscape\fR.
-.TP
-.B Alt \+ d
-Dump the contents of the screen in HTML format in a file named "dump.html" in
-working directory.
-.TP
-.B Alt \+ .
-Move the position of the current window in the window list one place to the
-right.
-.TP
-.B Alt \+ ,
-Move the position of the current window in the window list one place to the
-left.
-.TP
-.B Alt \+ l
-Refresh the windows. This is useful after resizing the terminal window.
-.TP
-.B Alt \+ 1 2 ... 0
-Jump to the 1st, 2nd ... 10th window.
-.TP
-.B Ctrl \+ o
-Bring up the menu (if there is one) for a window. Note that currently only the
-buddylist has a menu.
-
-.SH FILES
-\fI~/.gntrc\fR: configuration file for gnt applications.
-.br
-.TP
-A sample file looks like:
-.br
-[general]
-.br
-shadow = 0
-.br
-# There is experimental mouse support
-.br
-mouse = 1
-.br
-# To use some custom window-manager
-.br
-wm = /usr/local/lib/gaim/s.so
-.br
-# Remember window-positions based on the titles (on by default)
-.br
-remember_position = 1
-.br
-
-.br
-[colors]
-.br
-# The RGB values range in [0, 1000]
-.br
-black = 0; 0; 0
-.br
-red = 1000; 0; 0
-.br
-green = 0; 1000; 0
-.br
-blue = 250; 250; 700
-.br
-white = 1000; 1000; 1000
-.br
-gray = 700; 700; 700
-.br
-darkgray = 256; 256; 256
-.br
-
-.br
-[colorpairs]
-.br
-normal = white; black
-.br
-highlight = white; blue
-.br
-highlightd = black; gray
-.br
-shadow = black; darkgray
-.br
-title = white; blue
-.br
-titled = white; gray
-.br
-text = white; blue
-.br
-disabled = gray; black
-.br
-urgent = green; black
-.br
-
-.br
-# Remap some keys for GntEntry
-.br
-[GntEntry::remap]
-.br
-# Remap the up-arrow to the left-arrow
-.br
-^[[A = ^[[D
-.br
-# Remap the down-arrow to the right-arrow
-.br
-^[[B = ^[[C
-.br
-# Remap 'a' to 'bcd'
-.br
-a = bcd
-.br
-# Completely ignore the key 'q'
-.br
-q = 
-.br
-# But the following will NOT work
-.br
-#abc = bcd
-.br
-
-# Hitting 'space' will activate a button
-.br
-[GntButton::remap]
-.br
-\\  = \\r
-.br
-
-.SH Widget Actions
-You can specifiy key-bindings for specific widgets. The following entries in
-\fI~/.gntrc\fR correspond to the default keybindings for the actions:
-
-.br
-[GntEntry::binding]
-.br
-c-a = cursor-home
-.br
-home = cursor-home
-.br
-c-e = cursor-end
-.br
-end = cursor-end
-.br
-backspace = delete-prev
-.br
-del = delete-next
-.br
-c-d = delete-next
-.br
-c-u = delete-start
-.br
-c-k = delete-end
-.br
-c-b = cursor-prev
-.br
-left = cursor-prev
-.br
-c-f = cursor-next
-.br
-right = cursor-next
-.br
-tab = suggest-show
-.br
-down = suggest-next
-.br
-up = suggest-prev
-.br
-c-w = delete-prev-word
-.br
-a-b = cursor-prev-word
-.br
-a-f = cursor-next-word
-.br
-a-d = delete-next-word
-
-.br
-[GntTree::binding]
-.br
-up = move-up
-.br
-down = move-down
-.br
-c-n = move-down
-.br
-c-p = move-up
-.br
-pageup = page-up
-.br
-pagedown = page-down
-.br
-# Following is the default binding for the context-menu
-.br
-menu = context-menu
-.br
-# The following will let you open the context-menu in the buddylist with c-b
-.br
-# c-b = context-menu
-
-.br
-[GntWidget::binding]
-.br
-f11 = context-menu
-
-[GntWindow::binding]
-.br
-c-o = show-menu
-.br
-f10 = show-menu
-
-The \fBc-\fR corresponds to the \fBControl\fR key. You can also use \fBctrl-\fR
-or \fBctr-\fR or \fBctl-\fR to indicate a combination. For alt-keys, you can use
-one of \fBa-\fR, \fBalt-\fR, \fBm-\fR or \fBmeta-\fR. You can also use
-\fBhome\fR, \fBend\fR, \fBleft\fR, \fBright\fR etc. keys.
-
-.SH Mouse Support
-There is experimental mouse support. You can focus windows, activate buttons,
-select rows in a list, scroll using the wheel-scroll etc. Mouse support is
-disabled by default, so you need to enable it in \fI~/.gntrc\fR (see the sample
-above).
-
-.SH Window Management
-The default window management is very limited. But it is possible to write
-custom window managers to suit your needs. There is a sample window-manager
-included (named \fIs.so\fR) which adds a little 'close-button' for the windows,
-removes the borders from the buddylist and pops up new windows in the middle of
-the screen, instead of at the upper-left corder. It is provided as a sample
-simple manager, but it should be possible to write more complex managers, and
-it's very possible that the window-manager API will need to be enhanced. Look at
-the sample \fI~/.gntrc\fR file above to see how to select a window-manager.
-
-It is also possible to rebind the window-manager actions in \fI~/.gntrc\fR, eg:
-
-.br
-[GntWM::binding]
-.br
-a-n = window-next
-.br
-a-p = window-prev
-.br
-a-c = window-close
-.br
-a-w = window-list
-.br
-a-d = dump-screen
-.br
-a-, = shift-left
-.br
-a-. = shift-right
-.br
-a-a = action-list
-.br
-a-m = start-move
-.br
-a-r = start-resize
-.br
-a-q = wm-quit
-.br
-a-l = refresh-screen
-.br
-# The following action is still incomplete, and doesn't have a default binding
-.br
-# switch-window-n
-.br
-
-# For the sample custom window manager
-.br
-[GntS::binding]
-.br
-a-b = toggle-buddylist
-
-.SH Conversation Commands
-There are a few helpful commands in addition to the regular commands. You can
-use these from any conversation to access other windows.
-
-.TP
-.B accounts
-for the accounts window.
-
-.TP
-.B buddylist
-for the buddylist.
-
-.TP
-.B debugwin
-for the debug window.
-
-.TP
-.B plugins
-for the plugins window.
-
-.TP
-.B prefs
-for the preferences window.
-
-.TP
-.B status
-for the status window.
-
-.SH BUGS
-Known bugs are listed at
-.br
-\fIhttp://sourceforge.net/tracker/?group_id=235&atid=100235\fR
-
-.SH PATCHES
-If you fix a bug in \fBgaim-text\fR (or otherwise enhance it), please submit a
-patch (using \fIsvn diff > my.diff\fR against the latest SVN version)
-at
-.br
-\fIhttp://sourceforge.net/tracker/?func=add&group_id=235&atid=300235\fR
-
-Before sending a bug report, please verify that you have the latest
-version of \fBgaim-text\fR and \fBlibgaim\fR.  Many bugs (major and minor) are
-fixed at each release, and if yours is out of date, the problem may already have
-been solved.
-
-You are also encouraged to drop by at \fB#gaim\fR on \fIirc.freenode.net\fR to
-discuss about development.
-
-.SH SEE ALSO
-\fIhttp://gaim.sourceforge.net/\fR
-.br
-\fIhttp://www.sourceforge.net/projects/gaim/\fR
-
-.SH LICENSE
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful, but
-\fBWITHOUT ANY WARRANTY\fR; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-.SH AUTHORS
-Sadrul Habib Chowdhury <\fIsadrul@users.sourceforge.net\fR>
-.br
-
-This manpage was written by Sadrul Habib Chowdhury
-<\fIsadrul@users.sourceforge.net\fR> and Dennis Ristuccia
-<\fIdennis@dennisr.net\fR>.
-
--- a/finch/finch.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/finch.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /**
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/finch.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/finch.h	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /**
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/getopt.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/getopt.c	Wed Mar 21 18:33:13 2007 +0000
@@ -3,7 +3,7 @@
    "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
    before changing it!
 
-   Purple is the legal property of its developers, whose names are too numerous
+   Finch is the legal property of its developers, whose names are too numerous
    to list here.  Please refer to the COPYRIGHT file distributed with this
    source distribution.
 
--- a/finch/getopt.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/getopt.h	Wed Mar 21 18:33:13 2007 +0000
@@ -4,7 +4,7 @@
    "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
    before changing it!
 
-   Purple is the legal property of its developers, whose names are too numerous
+   Finch is the legal property of its developers, whose names are too numerous
    to list here.  Please refer to the COPYRIGHT file distributed with this
    source distribution.
 
--- a/finch/getopt1.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/getopt1.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,5 +1,5 @@
 /* getopt_long and getopt_long_only entry points for GNU getopt.
-   Purple is the legal property of its developers, whose names are too numerous
+   Finch is the legal property of its developers, whose names are too numerous
    to list here.  Please refer to the COPYRIGHT file distributed with this
    source distribution.
 
--- a/finch/gntaccount.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntaccount.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntaccount.c GNT Account API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntaccount.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntaccount.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntaccount.h GNT Account API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntblist.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntblist.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntblist.c GNT BuddyList API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
@@ -304,6 +304,7 @@
 
 	field = purple_request_field_string_new("group", _("Group"), grp, FALSE);
 	purple_request_field_group_add_field(group, field);
+	purple_request_field_set_type_hint(field, "group");
 
 	field = purple_request_field_account_new("account", _("Account"), NULL);
 	purple_request_field_account_set_show_all(field, FALSE);
--- a/finch/gntblist.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntblist.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntblist.h GNT BuddyList API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntconn.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntconn.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntconn.c GNT Connection API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntconn.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntconn.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntconn.h GNT Connection API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntconv.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntconv.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntconv.c GNT Conversation API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntconv.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntconv.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntconv.h GNT Conversation API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntdebug.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntdebug.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntdebug.c GNT Debug API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntdebug.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntdebug.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntdebug.h GNT Debug API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntft.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntft.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntft.c GNT File Transfer UI
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntft.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntft.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntft.h GNT File Transfer UI
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntidle.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntidle.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /*
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntidle.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntidle.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gntidle.h GNT Idle API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/finch/gntnotify.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntnotify.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntnotify.c GNT Notify API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntnotify.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntnotify.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntnotify.h GNT Notify API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntplugin.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntplugin.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntplugin.c GNT Plugins API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntplugin.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntplugin.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntplugin.h GNT Plugins API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntpounce.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntpounce.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntpounce.c GNT Buddy Pounce API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntpounce.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntpounce.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntpounce.h GNT Buddy Pounce API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntprefs.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntprefs.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntprefs.c GNT Preferences API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntprefs.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntprefs.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntprefs.h GNT Preferences API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntrequest.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntrequest.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntrequest.c GNT Request API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
@@ -398,6 +398,12 @@
 						gnt_entry_add_suggest(GNT_ENTRY(entry), purple_buddy_get_name((PurpleBuddy*)node));
 					}
 					gnt_entry_set_always_suggest(GNT_ENTRY(entry), TRUE);
+				} else if (hint && !strcmp(hint, "group")) {
+					PurpleBlistNode *node;
+					for (node = purple_blist_get_root(); node; node = node->next) {
+						if (PURPLE_BLIST_NODE_IS_GROUP(node))
+							gnt_entry_add_suggest(GNT_ENTRY(entry), ((PurpleGroup *)node)->name);
+					}
 				}
 				gnt_box_add_widget(GNT_BOX(hbox), entry);
 				field->ui_data = entry;
--- a/finch/gntrequest.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntrequest.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntrequest.h GNT Request API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntstatus.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntstatus.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntstatus.c GNT Status API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntstatus.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntstatus.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gntstatus.h GNT Status API
  * @ingroup gntui
  *
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntui.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntui.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /**
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/gntui.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/gntui.h	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /**
- * purple
+ * finch
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Finch is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/finch/libgnt/Makefile.am	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/libgnt/Makefile.am	Wed Mar 21 18:33:13 2007 +0000
@@ -17,6 +17,7 @@
 	gntcolors.c \
 	gntcombobox.c \
 	gntentry.c \
+	gntfilesel.c \
 	gntkeys.c \
 	gntlabel.c \
 	gntline.c \
@@ -41,6 +42,7 @@
 	gntcolors.h \
 	gntcombobox.h \
 	gntentry.h \
+	gntfilesel.h \
 	gntkeys.h \
 	gntlabel.h \
 	gntline.h \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/finch/libgnt/gntfilesel.c	Wed Mar 21 18:33:13 2007 +0000
@@ -0,0 +1,377 @@
+#include "gntbutton.h"
+#include "gntentry.h"
+#include "gntfilesel.h"
+#include "gntlabel.h"
+#include "gntmarshal.h"
+#include "gntstyle.h"
+#include "gnttree.h"
+
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include <glob.h>
+
+enum
+{
+	SIG_FILE_SELECTED,
+	SIGS
+};
+
+static GntWindowClass *parent_class = NULL;
+static guint signals[SIGS] = { 0 };
+static void (*orig_map)(GntWidget *widget);
+
+static void
+gnt_file_sel_destroy(GntWidget *widget)
+{
+	GntFileSel *sel = GNT_FILE_SEL(widget);
+	g_free(sel->current);
+}
+
+static char *
+process_path(const char *path)
+{
+	char **splits = NULL;
+	int i, j;
+	char *str, *ret;
+
+	splits = g_strsplit(path, G_DIR_SEPARATOR_S, -1);
+	for (i = 0, j = 0; splits[i]; i++) {
+		if (strcmp(splits[i], ".") == 0) {
+		} else if (strcmp(splits[i], "..") == 0) {
+			if (j)
+				j--;
+		} else {
+			if (i != j) {
+				g_free(splits[j]);
+				splits[j] = splits[i];
+				splits[i] = NULL;
+			}
+			j++;
+		}
+	}
+	g_free(splits[j]);
+	splits[j] = NULL;
+	str = g_build_pathv(G_DIR_SEPARATOR_S, splits);
+	ret = g_strdup_printf(G_DIR_SEPARATOR_S "%s", str);
+	g_free(str);
+	g_strfreev(splits);
+	return ret;
+}
+
+static void
+update_location(GntFileSel *sel)
+{
+	char *old;
+	const char *tmp;
+	tmp = (const char*)gnt_tree_get_selection_data(sel->dirsonly ? GNT_TREE(sel->dirs) : GNT_TREE(sel->files));
+	old = g_strdup_printf("%s%s%s", sel->current, sel->current[1] ? G_DIR_SEPARATOR_S : "", tmp ? tmp : "");
+	gnt_entry_set_text(GNT_ENTRY(sel->location), old);
+	g_free(old);
+}
+
+static gboolean
+location_changed(GntFileSel *sel, GError **err)
+{
+	GDir *dir;
+	const char *str;
+
+	if (!sel->dirs)
+		return TRUE;
+
+	gnt_tree_remove_all(GNT_TREE(sel->dirs));
+	if (sel->files)
+		gnt_tree_remove_all(GNT_TREE(sel->files));
+	gnt_entry_set_text(GNT_ENTRY(sel->location), NULL);
+	if (sel->current == NULL) {
+		if (GNT_WIDGET_IS_FLAG_SET(GNT_WIDGET(sel), GNT_WIDGET_MAPPED))
+			gnt_widget_draw(GNT_WIDGET(sel));
+		return TRUE;
+	}
+	
+	dir = g_dir_open(sel->current, 0, err);
+	if (dir == NULL || *err) {
+		g_printerr("GntFileSel: error opening location %s (%s)\n",
+			sel->current, *err ? (*err)->message : "reason unknown");
+		return FALSE;
+	}
+
+	if (*sel->current != '\0' && strcmp(sel->current, G_DIR_SEPARATOR_S))
+		gnt_tree_add_row_after(GNT_TREE(sel->dirs), g_strdup(".."),
+				gnt_tree_create_row(GNT_TREE(sel->dirs), ".."), NULL, NULL);
+
+	while ((str = g_dir_read_name(dir)) != NULL) {
+		char *fp = g_build_filename(sel->current, str, NULL);
+		struct stat st;
+
+		if (stat(fp, &st)) {
+			g_printerr("Error stating location %s\n", fp);
+		} else {
+			if (S_ISDIR(st.st_mode))
+				gnt_tree_add_row_after(GNT_TREE(sel->dirs), g_strdup(str),
+						gnt_tree_create_row(GNT_TREE(sel->dirs), str), NULL, NULL);
+			else if (!sel->dirsonly) {
+				char size[128];
+				snprintf(size, sizeof(size), "%ld", (long)st.st_size);
+
+				gnt_tree_add_row_after(GNT_TREE(sel->files), g_strdup(str),
+						gnt_tree_create_row(GNT_TREE(sel->files), str, size, ""), NULL, NULL);
+			}
+		}
+		g_free(fp);
+	}
+	if (GNT_WIDGET_IS_FLAG_SET(GNT_WIDGET(sel), GNT_WIDGET_MAPPED))
+		gnt_widget_draw(GNT_WIDGET(sel));
+	return TRUE;
+}
+
+static gboolean
+dir_key_pressed(GntTree *tree, const char *key, GntFileSel *sel)
+{
+	if (strcmp(key, "\r") == 0) {
+		/* XXX: if we are moving up the tree, make sure the current node is selected after the redraw */
+		char *str = g_strdup(gnt_tree_get_selection_data(tree));
+		char *path = g_build_filename(sel->current, str, NULL);
+		char *dir = g_path_get_basename(sel->current);
+		if (!gnt_file_sel_set_current_location(sel, path)) {
+			gnt_tree_set_selected(tree, str);
+		} else if (strcmp(str, "..") == 0) {
+			gnt_tree_set_selected(tree, dir);
+		}
+		g_free(dir);
+		g_free(str);
+		g_free(path);
+		return TRUE;
+	}
+	return FALSE;
+}
+
+static gboolean
+location_key_pressed(GntTree *tree, const char *key, GntFileSel *sel)
+{
+	if (strcmp(key, "\r") == 0) {
+		int count;
+		glob_t gl;
+		char *path;
+		char *str;
+		struct stat st;
+		int glob_ret;
+
+		str = (char*)gnt_entry_get_text(GNT_ENTRY(sel->location));
+		if (*str == G_DIR_SEPARATOR)
+			path = g_strdup(str);
+		else
+			path = g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", sel->current, str);
+		str = process_path(path);
+		g_free(path);
+		path = str;
+
+		if (!stat(path, &st)) {
+			if (S_ISDIR(st.st_mode)) {
+				gnt_file_sel_set_current_location(sel, path);
+				goto success;
+			}
+		}
+
+		glob_ret = glob(path, GLOB_MARK, NULL, &gl);
+		if (!glob_ret) {  /* XXX: do something with the return value */
+			char *loc = g_path_get_dirname(gl.gl_pathv[0]);
+
+			stat(gl.gl_pathv[0], &st);
+			gnt_file_sel_set_current_location(sel, loc);  /* XXX: check the return value */
+			g_free(loc);
+			if (!S_ISDIR(st.st_mode) && !sel->dirsonly) {
+				gnt_tree_remove_all(GNT_TREE(sel->files));
+				for (count = 0; count < gl.gl_pathc; count++) {
+					char *tmp = process_path(gl.gl_pathv[count]);
+					loc = g_path_get_dirname(tmp);
+					if (g_utf8_collate(sel->current, loc) == 0) {
+						char *base = g_path_get_basename(tmp);
+						char size[128];
+						snprintf(size, sizeof(size), "%ld", (long)st.st_size);
+						gnt_tree_add_row_after(GNT_TREE(sel->files), base,
+								gnt_tree_create_row(GNT_TREE(sel->files), base, size, ""), NULL, NULL);
+					}
+					g_free(loc);
+					g_free(tmp);
+				}
+				gnt_widget_draw(sel->files);
+			}
+		} else if (sel->files) {
+			gnt_tree_remove_all(GNT_TREE(sel->files));
+			gnt_widget_draw(sel->files);
+		}
+		globfree(&gl);
+success:
+		g_free(path);
+		return TRUE;
+	}
+	return FALSE;
+}
+
+static void
+file_sel_changed(GntWidget *widget, gpointer old, gpointer current, GntFileSel *sel)
+{
+	update_location(sel);
+}
+
+static void
+gnt_file_sel_map(GntWidget *widget)
+{
+	GntFileSel *sel = GNT_FILE_SEL(widget);
+	GntWidget *hbox, *vbox;
+
+	vbox = gnt_vbox_new(FALSE);
+	gnt_box_set_pad(GNT_BOX(vbox), 0);
+	gnt_box_set_alignment(GNT_BOX(vbox), GNT_ALIGN_LEFT);
+
+	/* The dir. and files list */
+	hbox = gnt_hbox_new(FALSE);
+	gnt_box_set_pad(GNT_BOX(hbox), 0);
+
+	gnt_box_add_widget(GNT_BOX(hbox), sel->dirs);
+
+	if (!sel->dirsonly) {
+		gnt_box_add_widget(GNT_BOX(hbox), sel->files);
+	} else {
+		g_signal_connect(G_OBJECT(sel->dirs), "selection_changed", G_CALLBACK(file_sel_changed), sel);
+	}
+
+	gnt_box_add_widget(GNT_BOX(vbox), hbox);
+	gnt_box_add_widget(GNT_BOX(vbox), sel->location);
+
+	/* The buttons */
+	hbox = gnt_hbox_new(FALSE);
+	gnt_box_add_widget(GNT_BOX(hbox), sel->cancel);
+	gnt_box_add_widget(GNT_BOX(hbox), sel->select);
+	gnt_box_add_widget(GNT_BOX(vbox), hbox);
+
+	gnt_box_add_widget(GNT_BOX(sel), vbox);
+	orig_map(widget);
+	update_location(sel);
+}
+
+static void
+gnt_file_sel_class_init(GntFileSelClass *klass)
+{
+	GntWidgetClass *kl = GNT_WIDGET_CLASS(klass);
+	parent_class = GNT_WINDOW_CLASS(klass);
+	kl->destroy = gnt_file_sel_destroy;
+	orig_map = kl->map;
+	kl->map = gnt_file_sel_map;
+
+	signals[SIG_FILE_SELECTED] = 
+		g_signal_new("file_selected",
+					 G_TYPE_FROM_CLASS(klass),
+					 G_SIGNAL_RUN_LAST,
+					 G_STRUCT_OFFSET(GntFileSelClass, file_selected),
+					 NULL, NULL,
+					 gnt_closure_marshal_VOID__STRING_STRING,
+					 G_TYPE_NONE, 0);
+	gnt_style_read_actions(G_OBJECT_CLASS_TYPE(klass), GNT_BINDABLE_CLASS(klass));
+
+	GNTDEBUG;
+}
+
+static void
+gnt_file_sel_init(GTypeInstance *instance, gpointer class)
+{
+	GNTDEBUG;
+}
+
+/******************************************************************************
+ * GntFileSel API
+ *****************************************************************************/
+GType
+gnt_file_sel_get_gtype(void)
+{
+	static GType type = 0;
+
+	if(type == 0)
+	{
+		static const GTypeInfo info = {
+			sizeof(GntFileSelClass),
+			NULL,					/* base_init		*/
+			NULL,					/* base_finalize	*/
+			(GClassInitFunc)gnt_file_sel_class_init,
+			NULL,					/* class_finalize	*/
+			NULL,					/* class_data		*/
+			sizeof(GntFileSel),
+			0,						/* n_preallocs		*/
+			gnt_file_sel_init,			/* instance_init	*/
+			NULL
+		};
+
+		type = g_type_register_static(GNT_TYPE_WINDOW,
+									  "GntFileSel",
+									  &info, 0);
+	}
+
+	return type;
+}
+
+GntWidget *gnt_file_sel_new()
+{
+	GntWidget *widget = g_object_new(GNT_TYPE_FILE_SEL, NULL);
+	GntFileSel *sel = GNT_FILE_SEL(widget);
+
+	sel->dirs = gnt_tree_new();
+	gnt_tree_set_compare_func(GNT_TREE(sel->dirs), (GCompareFunc)g_utf8_collate);
+	gnt_tree_set_hash_fns(GNT_TREE(sel->dirs), g_str_hash, g_str_equal, g_free);
+	gnt_tree_set_column_titles(GNT_TREE(sel->dirs), "Directories");
+	gnt_tree_set_show_title(GNT_TREE(sel->dirs), TRUE);
+	gnt_tree_set_col_width(GNT_TREE(sel->dirs), 0, 20);
+	g_signal_connect(G_OBJECT(sel->dirs), "key_pressed", G_CALLBACK(dir_key_pressed), sel);
+
+	sel->files = gnt_tree_new_with_columns(2);  /* Name, Size */
+	gnt_tree_set_compare_func(GNT_TREE(sel->files), (GCompareFunc)g_utf8_collate);
+	gnt_tree_set_column_titles(GNT_TREE(sel->files), "Filename", "Size");
+	gnt_tree_set_show_title(GNT_TREE(sel->files), TRUE);
+	gnt_tree_set_col_width(GNT_TREE(sel->files), 0, 25);
+	gnt_tree_set_col_width(GNT_TREE(sel->files), 1, 10);
+	g_signal_connect(G_OBJECT(sel->files), "selection_changed", G_CALLBACK(file_sel_changed), sel);
+
+	/* The location entry */
+	sel->location = gnt_entry_new(NULL);
+	g_signal_connect(G_OBJECT(sel->location), "key_pressed", G_CALLBACK(location_key_pressed), sel);
+
+	sel->cancel = gnt_button_new("Cancel");
+	sel->select = gnt_button_new("Select");
+
+	return widget;
+}
+
+gboolean gnt_file_sel_set_current_location(GntFileSel *sel, const char *path)
+{
+	char *old;
+	GError *error = NULL;
+	gboolean ret = TRUE;
+
+	old = sel->current;
+	sel->current = process_path(path);
+	if (!location_changed(sel, &error)) {
+		g_error_free(error);
+		error = NULL;
+		g_free(sel->current);
+		sel->current = old;
+		location_changed(sel, &error);
+		ret = FALSE;
+	} else
+		g_free(old);
+
+	update_location(sel);
+	return ret;
+}
+
+void gnt_file_sel_set_dirs_only(GntFileSel *sel, gboolean dirs)
+{
+	sel->dirsonly = dirs;
+}
+
+gboolean gnt_file_sel_get_dirs_only(GntFileSel *sel)
+{
+	return sel->dirsonly;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/finch/libgnt/gntfilesel.h	Wed Mar 21 18:33:13 2007 +0000
@@ -0,0 +1,68 @@
+#ifndef GNT_FILE_SEL_H
+#define GNT_FILE_SEL_H
+
+#include "gntwindow.h"
+#include "gnt.h"
+#include "gntcolors.h"
+#include "gntkeys.h"
+
+#define GNT_TYPE_FILE_SEL				(gnt_file_sel_get_gtype())
+#define GNT_FILE_SEL(obj)				(G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_FILE_SEL, GntFileSel))
+#define GNT_FILE_SEL_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_FILE_SEL, GntFileSelClass))
+#define GNT_IS_FILE_SEL(obj)			(G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_FILE_SEL))
+#define GNT_IS_FILE_SEL_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_FILE_SEL))
+#define GNT_FILE_SEL_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_FILE_SEL, GntFileSelClass))
+
+#define GNT_FILE_SEL_FLAGS(obj)				(GNT_FILE_SEL(obj)->priv.flags)
+#define GNT_FILE_SEL_SET_FLAGS(obj, flags)		(GNT_FILE_SEL_FLAGS(obj) |= flags)
+#define GNT_FILE_SEL_UNSET_FLAGS(obj, flags)	(GNT_FILE_SEL_FLAGS(obj) &= ~(flags))
+
+typedef struct _GnFileSel			GntFileSel;
+typedef struct _GnFileSelPriv		GntFileSelPriv;
+typedef struct _GnFileSelClass		GntFileSelClass;
+
+struct _GnFileSel
+{
+	GntWindow parent;
+
+	GntWidget *dirs;     /* list of files */
+	GntWidget *files;    /* list of directories */
+	GntWidget *location; /* location entry */
+
+	GntWidget *select;   /* select button */
+	GntWidget *cancel;   /* cancel button */
+
+	char *current; /* Full path of the current location */
+	/* XXX: someone should make these useful */
+	gboolean must_exist; /* Make sure the selected file (the name entered in 'location') exists */
+	gboolean dirsonly;   /* Show only directories */
+};
+
+struct _GnFileSelClass
+{
+	GntWindowClass parent;
+
+	void (*file_selected)(GntFileSel *sel, const char *path, const char *filename);
+	void (*gnt_reserved1)(void);
+	void (*gnt_reserved2)(void);
+	void (*gnt_reserved3)(void);
+	void (*gnt_reserved4)(void);
+};
+
+G_BEGIN_DECLS
+
+GType gnt_file_sel_get_gtype(void);
+
+GntWidget *gnt_file_sel_new();
+
+gboolean gnt_file_sel_set_current_location(GntFileSel *sel, const char *path);
+
+const char *gnt_file_sel_get_current_location(GntFileSel *sel);
+
+void gnt_file_sel_set_dirs_only(GntFileSel *sel, gboolean dirs);
+
+gboolean gnt_file_sel_get_dirs_only(GntFileSel *sel);
+
+G_END_DECLS
+
+#endif /* GNT_FILE_SEL_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/finch/libgnt/test/file.c	Wed Mar 21 18:33:13 2007 +0000
@@ -0,0 +1,19 @@
+#include "gnt.h"
+#include "gntfilesel.h"
+
+int main()
+{
+	freopen(".error", "w", stderr);
+	gnt_init();
+
+	GntWidget *w = gnt_file_sel_new();
+	gnt_file_sel_set_current_location(GNT_FILE_SEL(w), "/home/");
+	gnt_file_sel_set_dirs_only(GNT_FILE_SEL(w), TRUE);
+	gnt_widget_show(w);
+
+	gnt_main();
+
+	gnt_quit();
+	return 0;
+}
+
--- a/finch/plugins/gntclipboard.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/plugins/gntclipboard.c	Wed Mar 21 18:33:13 2007 +0000
@@ -150,7 +150,7 @@
 	N_("When the gnt clipboard contents change, "
 		"the contents are made available to X, if possible."),
 	"Richard Nelson <wabz@whatsbeef.net>",
-	"http://purple.sourceforge.net",
+	PURPLE_WEBSITE,
 	plugin_load,
 	plugin_unload,
 	NULL,
--- a/finch/plugins/gntgf.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/plugins/gntgf.c	Wed Mar 21 18:33:13 2007 +0000
@@ -357,7 +357,7 @@
 	N_("Toaster plugin"),
 	N_("Toaster plugin"),
 	"Sadrul H Chowdhury <sadrul@users.sourceforge.net>",
-	"http://purple.sourceforge.net",
+	PURPLE_WEBSITE,
 	plugin_load,
 	plugin_unload,
 	NULL,
--- a/finch/plugins/lastlog.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/finch/plugins/lastlog.c	Wed Mar 21 18:33:13 2007 +0000
@@ -123,7 +123,7 @@
 	N_("Lastlog plugin."),
 	N_("Lastlog plugin."),
 	"Sadrul H Chowdhury <sadrul@users.sourceforge.net>",
-	"http://purple.sourceforge.net",
+	PURPLE_WEBSITE,
 	plugin_load,
 	plugin_unload,
 	NULL,
--- a/libpurple/Makefile.am	Mon Mar 19 18:44:36 2007 +0000
+++ b/libpurple/Makefile.am	Wed Mar 21 18:33:13 2007 +0000
@@ -93,7 +93,7 @@
 	desktopitem.h \
 	eventloop.h \
 	ft.h \
-	gaim.h \
+	gaim-compat.h \
 	idle.h \
 	imgstore.h \
 	log.h \
--- a/libpurple/gaim-compat.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/libpurple/gaim-compat.h	Wed Mar 21 18:33:13 2007 +0000
@@ -1,5 +1,5 @@
 /**
- * @file purple-compat.h Purple Compat macros
+ * @file gaim-compat.h Gaim Compat macros
  * @ingroup core
  *
  * pidgin
@@ -24,2254 +24,2284 @@
  *
  * @see @ref account-signals
  */
-#ifndef _PURPLE_COMPAT_H_
-#define _PURPLE_COMPAT_H_
+#ifndef _GAIM_COMPAT_H_
+#define _GAIM_COMPAT_H_
 
 /* from account.h */
-#define PurpleAccountUiOps PurpleAccountUiOps
-#define PurpleAccount PurpleAccount
-
-#define PurpleFilterAccountFunc PurpleFilterAccountFunc
-#define PurpleAccountRequestAuthorizationCb PurpleAccountRequestAuthorizationCb
-
-#define purple_account_new           purple_account_new
-#define purple_account_destroy       purple_account_destroy
-#define purple_account_connect       purple_account_connect
-#define purple_account_register      purple_account_register
-#define purple_account_disconnect    purple_account_disconnect
-#define purple_account_notify_added  purple_account_notify_added
-#define purple_account_request_add   purple_account_request_add
-
-#define purple_account_request_authorization     purple_account_request_authorization
-#define purple_account_request_change_password   purple_account_request_change_password
-#define purple_account_request_change_user_info  purple_account_request_change_user_info
-
-#define purple_account_set_username            purple_account_set_username
-#define purple_account_set_password            purple_account_set_password
-#define purple_account_set_alias               purple_account_set_alias
-#define purple_account_set_user_info           purple_account_set_user_info
-#define purple_account_set_buddy_icon          purple_account_set_buddy_icon
-#define purple_account_set_buddy_icon_path     purple_account_set_buddy_icon_path
-#define purple_account_set_protocol_id         purple_account_set_protocol_id
-#define purple_account_set_connection          purple_account_set_connection
-#define purple_account_set_remember_password   purple_account_set_remember_password
-#define purple_account_set_check_mail          purple_account_set_check_mail
-#define purple_account_set_enabled             purple_account_set_enabled
-#define purple_account_set_proxy_info          purple_account_set_proxy_info
-#define purple_account_set_status_types        purple_account_set_status_types
-#define purple_account_set_status              purple_account_set_status
-#define purple_account_set_status_list         purple_account_set_status_list
-
-#define purple_account_clear_settings   purple_account_clear_settings
-
-#define purple_account_set_int    purple_account_set_int
-#define purple_account_set_string purple_account_set_string
-#define purple_account_set_bool   purple_account_set_bool
-
-#define purple_account_set_ui_int     purple_account_set_ui_int
-#define purple_account_set_ui_string  purple_account_set_ui_string
-#define purple_account_set_ui_bool    purple_account_set_ui_bool
-
-#define purple_account_is_connected     purple_account_is_connected
-#define purple_account_is_connecting    purple_account_is_connecting
-#define purple_account_is_disconnected  purple_account_is_disconnected
-
-#define purple_account_get_username           purple_account_get_username
-#define purple_account_get_password           purple_account_get_password
-#define purple_account_get_alias              purple_account_get_alias
-#define purple_account_get_user_info          purple_account_get_user_info
-#define purple_account_get_buddy_icon         purple_account_get_buddy_icon
-#define purple_account_get_buddy_icon_path    purple_account_get_buddy_icon_path
-#define purple_account_get_protocol_id        purple_account_get_protocol_id
-#define purple_account_get_protocol_name      purple_account_get_protocol_name
-#define purple_account_get_connection         purple_account_get_connection
-#define purple_account_get_remember_password  purple_account_get_remember_password
-#define purple_account_get_check_mail         purple_account_get_check_mail
-#define purple_account_get_enabled            purple_account_get_enabled
-#define purple_account_get_proxy_info         purple_account_get_proxy_info
-#define purple_account_get_active_status      purple_account_get_active_status
-#define purple_account_get_status             purple_account_get_status
-#define purple_account_get_status_type        purple_account_get_status_type
-#define purple_account_get_status_type_with_primitive \
+#define GaimAccountUiOps PurpleAccountUiOps
+#define GaimAccount PurpleAccount
+
+#define GaimFilterAccountFunc PurpleFilterAccountFunc
+#define GaimAccountRequestAuthorizationCb PurpleAccountRequestAuthorizationCb
+
+#define gaim_account_new           purple_account_new
+#define gaim_account_destroy       purple_account_destroy
+#define gaim_account_connect       purple_account_connect
+#define gaim_account_register      purple_account_register
+#define gaim_account_disconnect    purple_account_disconnect
+#define gaim_account_notify_added  purple_account_notify_added
+#define gaim_account_request_add   purple_account_request_add
+#define gaim_account_request_close   purple_account_request_close
+
+#define gaim_account_request_authorization     purple_account_request_authorization
+#define gaim_account_request_change_password   purple_account_request_change_password
+#define gaim_account_request_change_user_info  purple_account_request_change_user_info
+
+#define gaim_account_set_username            purple_account_set_username
+#define gaim_account_set_password            purple_account_set_password
+#define gaim_account_set_alias               purple_account_set_alias
+#define gaim_account_set_user_info           purple_account_set_user_info
+#define gaim_account_set_buddy_icon          purple_account_set_buddy_icon
+#define gaim_account_set_buddy_icon_path     purple_account_set_buddy_icon_path
+#define gaim_account_set_protocol_id         purple_account_set_protocol_id
+#define gaim_account_set_connection          purple_account_set_connection
+#define gaim_account_set_remember_password   purple_account_set_remember_password
+#define gaim_account_set_check_mail          purple_account_set_check_mail
+#define gaim_account_set_enabled             purple_account_set_enabled
+#define gaim_account_set_proxy_info          purple_account_set_proxy_info
+#define gaim_account_set_status_types        purple_account_set_status_types
+#define gaim_account_set_status              purple_account_set_status
+#define gaim_account_set_status_list         purple_account_set_status_list
+
+#define gaim_account_clear_settings   purple_account_clear_settings
+
+#define gaim_account_set_int    purple_account_set_int
+#define gaim_account_set_string purple_account_set_string
+#define gaim_account_set_bool   purple_account_set_bool
+
+#define gaim_account_set_ui_int     purple_account_set_ui_int
+#define gaim_account_set_ui_string  purple_account_set_ui_string
+#define gaim_account_set_ui_bool    purple_account_set_ui_bool
+
+#define gaim_account_is_connected     purple_account_is_connected
+#define gaim_account_is_connecting    purple_account_is_connecting
+#define gaim_account_is_disconnected  purple_account_is_disconnected
+
+#define gaim_account_get_username           purple_account_get_username
+#define gaim_account_get_password           purple_account_get_password
+#define gaim_account_get_alias              purple_account_get_alias
+#define gaim_account_get_user_info          purple_account_get_user_info
+#define gaim_account_get_buddy_icon         purple_account_get_buddy_icon
+#define gaim_account_get_buddy_icon_path    purple_account_get_buddy_icon_path
+#define gaim_account_get_protocol_id        purple_account_get_protocol_id
+#define gaim_account_get_protocol_name      purple_account_get_protocol_name
+#define gaim_account_get_connection         purple_account_get_connection
+#define gaim_account_get_remember_password  purple_account_get_remember_password
+#define gaim_account_get_check_mail         purple_account_get_check_mail
+#define gaim_account_get_enabled            purple_account_get_enabled
+#define gaim_account_get_proxy_info         purple_account_get_proxy_info
+#define gaim_account_get_active_status      purple_account_get_active_status
+#define gaim_account_get_status             purple_account_get_status
+#define gaim_account_get_status_type        purple_account_get_status_type
+#define gaim_account_get_status_type_with_primitive \
 	purple_account_get_status_type_with_primitive
 
-#define purple_account_get_presence       purple_account_get_presence
-#define purple_account_is_status_active   purple_account_is_status_active
-#define purple_account_get_status_types   purple_account_get_status_types
-
-#define purple_account_get_int            purple_account_get_int
-#define purple_account_get_string         purple_account_get_string
-#define purple_account_get_bool           purple_account_get_bool
-
-#define purple_account_get_ui_int     purple_account_get_ui_int
-#define purple_account_get_ui_string  purple_account_get_ui_string
-#define purple_account_get_ui_bool    purple_account_get_ui_bool
-
-
-#define purple_account_get_log      purple_account_get_log
-#define purple_account_destroy_log  purple_account_destroy_log
-
-#define purple_account_add_buddy       purple_account_add_buddy
-#define purple_account_add_buddies     purple_account_add_buddies
-#define purple_account_remove_buddy    purple_account_remove_buddy
-#define purple_account_remove_buddies  purple_account_remove_buddies
-
-#define purple_account_remove_group  purple_account_remove_group
-
-#define purple_account_change_password  purple_account_change_password
-
-#define purple_account_supports_offline_message  purple_account_supports_offline_message
-
-#define purple_accounts_add      purple_accounts_add
-#define purple_accounts_remove   purple_accounts_remove
-#define purple_accounts_delete   purple_accounts_delete
-#define purple_accounts_reorder  purple_accounts_reorder
-
-#define purple_accounts_get_all         purple_accounts_get_all
-#define purple_accounts_get_all_active  purple_accounts_get_all_active
-
-#define purple_accounts_find   purple_accounts_find
-
-#define purple_accounts_restore_current_statuses  purple_accounts_restore_current_statuses
-
-#define purple_accounts_set_ui_ops  purple_accounts_set_ui_ops
-#define purple_accounts_get_ui_ops  purple_accounts_get_ui_ops
-
-#define purple_accounts_get_handle  purple_accounts_get_handle
-
-#define purple_accounts_init    purple_accounts_init
-#define purple_accounts_uninit  purple_accounts_uninit
+#define gaim_account_get_presence       purple_account_get_presence
+#define gaim_account_is_status_active   purple_account_is_status_active
+#define gaim_account_get_status_types   purple_account_get_status_types
+
+#define gaim_account_get_int            purple_account_get_int
+#define gaim_account_get_string         purple_account_get_string
+#define gaim_account_get_bool           purple_account_get_bool
+
+#define gaim_account_get_ui_int     purple_account_get_ui_int
+#define gaim_account_get_ui_string  purple_account_get_ui_string
+#define gaim_account_get_ui_bool    purple_account_get_ui_bool
+
+
+#define gaim_account_get_log      purple_account_get_log
+#define gaim_account_destroy_log  purple_account_destroy_log
+
+#define gaim_account_add_buddy       purple_account_add_buddy
+#define gaim_account_add_buddies     purple_account_add_buddies
+#define gaim_account_remove_buddy    purple_account_remove_buddy
+#define gaim_account_remove_buddies  purple_account_remove_buddies
+
+#define gaim_account_remove_group  purple_account_remove_group
+
+#define gaim_account_change_password  purple_account_change_password
+
+#define gaim_account_supports_offline_message  purple_account_supports_offline_message
+
+#define gaim_accounts_add      purple_accounts_add
+#define gaim_accounts_remove   purple_accounts_remove
+#define gaim_accounts_delete   purple_accounts_delete
+#define gaim_accounts_reorder  purple_accounts_reorder
+
+#define gaim_accounts_get_all         purple_accounts_get_all
+#define gaim_accounts_get_all_active  purple_accounts_get_all_active
+
+#define gaim_accounts_find   purple_accounts_find
+
+#define gaim_accounts_restore_current_statuses  purple_accounts_restore_current_statuses
+
+#define gaim_accounts_set_ui_ops  purple_accounts_set_ui_ops
+#define gaim_accounts_get_ui_ops  purple_accounts_get_ui_ops
+
+#define gaim_accounts_get_handle  purple_accounts_get_handle
+
+#define gaim_accounts_init    purple_accounts_init
+#define gaim_accounts_uninit  purple_accounts_uninit
 
 /* from accountopt.h */
 
-#define PurpleAccountOption     PurpleAccountOption
-#define PurpleAccountUserSplit  PurpleAccountUserSplit
-
-#define purple_account_option_new         purple_account_option_new
-#define purple_account_option_bool_new    purple_account_option_bool_new
-#define purple_account_option_int_new     purple_account_option_int_new
-#define purple_account_option_string_new  purple_account_option_string_new
-#define purple_account_option_list_new    purple_account_option_list_new
-
-#define purple_account_option_destroy  purple_account_option_destroy
-
-#define purple_account_option_set_default_bool    purple_account_option_set_default_bool
-#define purple_account_option_set_default_int     purple_account_option_set_default_int
-#define purple_account_option_set_default_string  purple_account_option_set_default_string
-
-#define purple_account_option_set_masked  purple_account_option_set_masked
-
-#define purple_account_option_set_list  purple_account_option_set_list
-
-#define purple_account_option_add_list_item  purple_account_option_add_list_item
-
-#define purple_account_option_get_type     purple_account_option_get_type
-#define purple_account_option_get_text     purple_account_option_get_text
-#define purple_account_option_get_setting  purple_account_option_get_setting
-
-#define purple_account_option_get_default_bool        purple_account_option_get_default_bool
-#define purple_account_option_get_default_int         purple_account_option_get_default_int
-#define purple_account_option_get_default_string      purple_account_option_get_default_string
-#define purple_account_option_get_default_list_value  purple_account_option_get_default_list_value
-
-#define purple_account_option_get_masked  purple_account_option_get_masked
-#define purple_account_option_get_list    purple_account_option_get_list
-
-#define purple_account_user_split_new      purple_account_user_split_new
-#define purple_account_user_split_destroy  purple_account_user_split_destroy
-
-#define purple_account_user_split_get_text           purple_account_user_split_get_text
-#define purple_account_user_split_get_default_value  purple_account_user_split_get_default_value
-#define purple_account_user_split_get_separator      purple_account_user_split_get_separator
+#define GaimAccountOption     PurpleAccountOption
+#define GaimAccountUserSplit  PurpleAccountUserSplit
+
+#define gaim_account_option_new         purple_account_option_new
+#define gaim_account_option_bool_new    purple_account_option_bool_new
+#define gaim_account_option_int_new     purple_account_option_int_new
+#define gaim_account_option_string_new  purple_account_option_string_new
+#define gaim_account_option_list_new    purple_account_option_list_new
+
+#define gaim_account_option_destroy  purple_account_option_destroy
+
+#define gaim_account_option_set_default_bool    purple_account_option_set_default_bool
+#define gaim_account_option_set_default_int     purple_account_option_set_default_int
+#define gaim_account_option_set_default_string  purple_account_option_set_default_string
+
+#define gaim_account_option_set_masked  purple_account_option_set_masked
+
+#define gaim_account_option_set_list  purple_account_option_set_list
+
+#define gaim_account_option_add_list_item  purple_account_option_add_list_item
+
+#define gaim_account_option_get_type     purple_account_option_get_type
+#define gaim_account_option_get_text     purple_account_option_get_text
+#define gaim_account_option_get_setting  purple_account_option_get_setting
+
+#define gaim_account_option_get_default_bool        purple_account_option_get_default_bool
+#define gaim_account_option_get_default_int         purple_account_option_get_default_int
+#define gaim_account_option_get_default_string      purple_account_option_get_default_string
+#define gaim_account_option_get_default_list_value  purple_account_option_get_default_list_value
+
+#define gaim_account_option_get_masked  purple_account_option_get_masked
+#define gaim_account_option_get_list    purple_account_option_get_list
+
+#define gaim_account_user_split_new      purple_account_user_split_new
+#define gaim_account_user_split_destroy  purple_account_user_split_destroy
+
+#define gaim_account_user_split_get_text           purple_account_user_split_get_text
+#define gaim_account_user_split_get_default_value  purple_account_user_split_get_default_value
+#define gaim_account_user_split_get_separator      purple_account_user_split_get_separator
 
 /* from blist.h */
 
-#define PurpleBuddyList    PurpleBuddyList
-#define PurpleBlistUiOps   PurpleBlistUiOps
-#define PurpleBlistNode    PurpleBlistNode
-
-#define PurpleChat     PurpleChat
-#define PurpleGroup    PurpleGroup
-#define PurpleContact  PurpleContact
-#define PurpleBuddy    PurpleBuddy
-
-#define PURPLE_BLIST_GROUP_NODE     PURPLE_BLIST_GROUP_NODE
-#define PURPLE_BLIST_CONTACT_NODE   PURPLE_BLIST_CONTACT_NODE
-#define PURPLE_BLIST_BUDDY_NODE     PURPLE_BLIST_BUDDY_NODE
-#define PURPLE_BLIST_CHAT_NODE      PURPLE_BLIST_CHAT_NODE
-#define PURPLE_BLIST_OTHER_NODE     PURPLE_BLIST_OTHER_NODE
-#define PurpleBlistNodeType         PurpleBlistNodeType
-
-#define PURPLE_BLIST_NODE_IS_CHAT       PURPLE_BLIST_NODE_IS_CHAT
-#define PURPLE_BLIST_NODE_IS_BUDDY      PURPLE_BLIST_NODE_IS_BUDDY
-#define PURPLE_BLIST_NODE_IS_CONTACT    PURPLE_BLIST_NODE_IS_CONTACT
-#define PURPLE_BLIST_NODE_IS_GROUP      PURPLE_BLIST_NODE_IS_GROUP
-
-#define PURPLE_BUDDY_IS_ONLINE PURPLE_BUDDY_IS_ONLINE
-
-#define PURPLE_BLIST_NODE_FLAG_NO_SAVE  PURPLE_BLIST_NODE_FLAG_NO_SAVE
-#define PurpleBlistNodeFlags            PurpleBlistNodeFlags
-
-#define PURPLE_BLIST_NODE_HAS_FLAG     PURPLE_BLIST_NODE_HAS_FLAG
-#define PURPLE_BLIST_NODE_SHOULD_SAVE  PURPLE_BLIST_NODE_SHOULD_SAVE
-
-#define PURPLE_BLIST_NODE_NAME   PURPLE_BLIST_NODE_NAME
-
-
-#define purple_blist_new  purple_blist_new
-#define purple_set_blist  purple_set_blist
-#define purple_get_blist  purple_get_blist
-
-#define purple_blist_get_root   purple_blist_get_root
-#define purple_blist_node_next  purple_blist_node_next
-
-#define purple_blist_show  purple_blist_show
-
-#define purple_blist_destroy  purple_blist_destroy
-
-#define purple_blist_set_visible  purple_blist_set_visible
-
-#define purple_blist_update_buddy_status  purple_blist_update_buddy_status
-#define purple_blist_update_buddy_icon    purple_blist_update_buddy_icon
-
-
-#define purple_blist_alias_contact       purple_blist_alias_contact
-#define purple_blist_alias_buddy         purple_blist_alias_buddy
-#define purple_blist_server_alias_buddy  purple_blist_server_alias_buddy
-#define purple_blist_alias_chat          purple_blist_alias_chat
-
-#define purple_blist_rename_buddy  purple_blist_rename_buddy
-#define purple_blist_rename_group  purple_blist_rename_group
-
-#define purple_chat_new        purple_chat_new
-#define purple_blist_add_chat  purple_blist_add_chat
-
-#define purple_buddy_new           purple_buddy_new
-#define purple_buddy_set_icon      purple_buddy_set_icon
-#define purple_buddy_get_account   purple_buddy_get_account
-#define purple_buddy_get_name      purple_buddy_get_name
-#define purple_buddy_get_icon      purple_buddy_get_icon
-#define purple_buddy_get_contact   purple_buddy_get_contact
-#define purple_buddy_get_presence  purple_buddy_get_presence
-
-#define purple_blist_add_buddy  purple_blist_add_buddy
-
-#define purple_group_new  purple_group_new
-
-#define purple_blist_add_group  purple_blist_add_group
-
-#define purple_contact_new  purple_contact_new
-
-#define purple_blist_add_contact    purple_blist_add_contact
-#define purple_blist_merge_contact  purple_blist_merge_contact
-
-#define purple_contact_get_priority_buddy  purple_contact_get_priority_buddy
-#define purple_contact_set_alias           purple_contact_set_alias
-#define purple_contact_get_alias           purple_contact_get_alias
-#define purple_contact_on_account          purple_contact_on_account
-
-#define purple_contact_invalidate_priority_buddy  purple_contact_invalidate_priority_buddy
-
-#define purple_blist_remove_buddy    purple_blist_remove_buddy
-#define purple_blist_remove_contact  purple_blist_remove_contact
-#define purple_blist_remove_chat     purple_blist_remove_chat
-#define purple_blist_remove_group    purple_blist_remove_group
-
-#define purple_buddy_get_alias_only     purple_buddy_get_alias_only
-#define purple_buddy_get_server_alias   purple_buddy_get_server_alias
-#define purple_buddy_get_contact_alias  purple_buddy_get_contact_alias
-#define purple_buddy_get_local_alias    purple_buddy_get_local_alias
-#define purple_buddy_get_alias          purple_buddy_get_alias
-
-#define purple_chat_get_name  purple_chat_get_name
-
-#define purple_find_buddy           purple_find_buddy
-#define purple_find_buddy_in_group  purple_find_buddy_in_group
-#define purple_find_buddies         purple_find_buddies
-
-#define purple_find_group  purple_find_group
-
-#define purple_blist_find_chat  purple_blist_find_chat
-
-#define purple_chat_get_group   purple_chat_get_group
-#define purple_buddy_get_group  purple_buddy_get_group
-
-#define purple_group_get_accounts  purple_group_get_accounts
-#define purple_group_on_account    purple_group_on_account
-
-#define purple_blist_add_account     purple_blist_add_account
-#define purple_blist_remove_account  purple_blist_remove_account
-
-#define purple_blist_get_group_size          purple_blist_get_group_size
-#define purple_blist_get_group_online_count  purple_blist_get_group_online_count
-
-#define purple_blist_load           purple_blist_load
-#define purple_blist_schedule_save  purple_blist_schedule_save
-
-#define purple_blist_request_add_buddy  purple_blist_request_add_buddy
-#define purple_blist_request_add_chat   purple_blist_request_add_chat
-#define purple_blist_request_add_group  purple_blist_request_add_group
-
-#define purple_blist_node_set_bool    purple_blist_node_set_bool
-#define purple_blist_node_get_bool    purple_blist_node_get_bool
-#define purple_blist_node_set_int     purple_blist_node_set_int
-#define purple_blist_node_get_int     purple_blist_node_get_int
-#define purple_blist_node_set_string  purple_blist_node_set_string
-#define purple_blist_node_get_string  purple_blist_node_get_string
-
-#define purple_blist_node_remove_setting  purple_blist_node_remove_setting
-
-#define purple_blist_node_set_flags  purple_blist_node_set_flags
-#define purple_blist_node_get_flags  purple_blist_node_get_flags
-
-#define purple_blist_node_get_extended_menu  purple_blist_node_get_extended_menu
-
-#define purple_blist_set_ui_ops  purple_blist_set_ui_ops
-#define purple_blist_get_ui_ops  purple_blist_get_ui_ops
-
-#define purple_blist_get_handle  purple_blist_get_handle
-
-#define purple_blist_init    purple_blist_init
-#define purple_blist_uninit  purple_blist_uninit
-
-
-#define PurpleBuddyIcon  PurpleBuddyIcon
-
-#define purple_buddy_icon_new      purple_buddy_icon_new
-#define purple_buddy_icon_destroy  purple_buddy_icon_destroy
-#define purple_buddy_icon_ref      purple_buddy_icon_ref
-#define purple_buddy_icon_unref    purple_buddy_icon_unref
-#define purple_buddy_icon_update   purple_buddy_icon_update
-#define purple_buddy_icon_cache    purple_buddy_icon_cache
-#define purple_buddy_icon_uncache  purple_buddy_icon_uncache
-
-#define purple_buddy_icon_set_account   purple_buddy_icon_set_account
-#define purple_buddy_icon_set_username  purple_buddy_icon_set_username
-#define purple_buddy_icon_set_data      purple_buddy_icon_set_data
-#define purple_buddy_icon_set_path      purple_buddy_icon_set_path
-
-#define purple_buddy_icon_get_account   purple_buddy_icon_get_account
-#define purple_buddy_icon_get_username  purple_buddy_icon_get_username
-#define purple_buddy_icon_get_data      purple_buddy_icon_get_data
-#define purple_buddy_icon_get_path      purple_buddy_icon_get_path
-#define purple_buddy_icon_get_type      purple_buddy_icon_get_type
-
-#define purple_buddy_icons_set_for_user   purple_buddy_icons_set_for_user
-#define purple_buddy_icons_find           purple_buddy_icons_find
-#define purple_buddy_icons_set_caching    purple_buddy_icons_set_caching
-#define purple_buddy_icons_is_caching     purple_buddy_icons_is_caching
-#define purple_buddy_icons_set_cache_dir  purple_buddy_icons_set_cache_dir
-#define purple_buddy_icons_get_cache_dir  purple_buddy_icons_get_cache_dir
-#define purple_buddy_icons_get_full_path  purple_buddy_icons_get_full_path
-#define purple_buddy_icons_get_handle     purple_buddy_icons_get_handle
-
-#define purple_buddy_icons_init    purple_buddy_icons_init
-#define purple_buddy_icons_uninit  purple_buddy_icons_uninit
-
-#define purple_buddy_icon_get_scale_size  purple_buddy_icon_get_scale_size
+#define GaimBuddyList    PurpleBuddyList
+#define GaimBlistUiOps   PurpleBlistUiOps
+#define GaimBlistNode    PurpleBlistNode
+
+#define GaimChat     PurpleChat
+#define GaimGroup    PurpleGroup
+#define GaimContact  PurpleContact
+#define GaimBuddy    PurpleBuddy
+
+#define GAIM_BLIST_GROUP_NODE     PURPLE_BLIST_GROUP_NODE
+#define GAIM_BLIST_CONTACT_NODE   PURPLE_BLIST_CONTACT_NODE
+#define GAIM_BLIST_BUDDY_NODE     PURPLE_BLIST_BUDDY_NODE
+#define GAIM_BLIST_CHAT_NODE      PURPLE_BLIST_CHAT_NODE
+#define GAIM_BLIST_OTHER_NODE     PURPLE_BLIST_OTHER_NODE
+#define GaimBlistNodeType         PurpleBlistNodeType
+
+#define GAIM_BLIST_NODE_IS_CHAT       PURPLE_BLIST_NODE_IS_CHAT
+#define GAIM_BLIST_NODE_IS_BUDDY      PURPLE_BLIST_NODE_IS_BUDDY
+#define GAIM_BLIST_NODE_IS_CONTACT    PURPLE_BLIST_NODE_IS_CONTACT
+#define GAIM_BLIST_NODE_IS_GROUP      PURPLE_BLIST_NODE_IS_GROUP
+
+#define GAIM_BUDDY_IS_ONLINE PURPLE_BUDDY_IS_ONLINE
+
+#define GAIM_BLIST_NODE_FLAG_NO_SAVE  PURPLE_BLIST_NODE_FLAG_NO_SAVE
+#define GaimBlistNodeFlags            PurpleBlistNodeFlags
+
+#define GAIM_BLIST_NODE_HAS_FLAG     PURPLE_BLIST_NODE_HAS_FLAG
+#define GAIM_BLIST_NODE_SHOULD_SAVE  PURPLE_BLIST_NODE_SHOULD_SAVE
+
+#define GAIM_BLIST_NODE_NAME   PURPLE_BLIST_NODE_NAME
+
+
+#define gaim_blist_new  purple_blist_new
+#define gaim_set_blist  purple_set_blist
+#define gaim_get_blist  purple_get_blist
+
+#define gaim_blist_get_root   purple_blist_get_root
+#define gaim_blist_node_next  purple_blist_node_next
+
+#define gaim_blist_show  purple_blist_show
+
+#define gaim_blist_destroy  purple_blist_destroy
+
+#define gaim_blist_set_visible  purple_blist_set_visible
+
+#define gaim_blist_update_buddy_status  purple_blist_update_buddy_status
+#define gaim_blist_update_buddy_icon    purple_blist_update_buddy_icon
+
+
+#define gaim_blist_alias_contact       purple_blist_alias_contact
+#define gaim_blist_alias_buddy         purple_blist_alias_buddy
+#define gaim_blist_server_alias_buddy  purple_blist_server_alias_buddy
+#define gaim_blist_alias_chat          purple_blist_alias_chat
+
+#define gaim_blist_rename_buddy  purple_blist_rename_buddy
+#define gaim_blist_rename_group  purple_blist_rename_group
+
+#define gaim_chat_new        purple_chat_new
+#define gaim_blist_add_chat  purple_blist_add_chat
+
+#define gaim_buddy_new           purple_buddy_new
+#define gaim_buddy_set_icon      purple_buddy_set_icon
+#define gaim_buddy_get_account   purple_buddy_get_account
+#define gaim_buddy_get_name      purple_buddy_get_name
+#define gaim_buddy_get_icon      purple_buddy_get_icon
+#define gaim_buddy_get_contact   purple_buddy_get_contact
+#define gaim_buddy_get_presence  purple_buddy_get_presence
+
+#define gaim_blist_add_buddy  purple_blist_add_buddy
+
+#define gaim_group_new  purple_group_new
+
+#define gaim_blist_add_group  purple_blist_add_group
+
+#define gaim_contact_new  purple_contact_new
+
+#define gaim_blist_add_contact    purple_blist_add_contact
+#define gaim_blist_merge_contact  purple_blist_merge_contact
+
+#define gaim_contact_get_priority_buddy  purple_contact_get_priority_buddy
+#define gaim_contact_set_alias           purple_contact_set_alias
+#define gaim_contact_get_alias           purple_contact_get_alias
+#define gaim_contact_on_account          purple_contact_on_account
+
+#define gaim_contact_invalidate_priority_buddy  purple_contact_invalidate_priority_buddy
+
+#define gaim_blist_remove_buddy    purple_blist_remove_buddy
+#define gaim_blist_remove_contact  purple_blist_remove_contact
+#define gaim_blist_remove_chat     purple_blist_remove_chat
+#define gaim_blist_remove_group    purple_blist_remove_group
+
+#define gaim_buddy_get_alias_only     purple_buddy_get_alias_only
+#define gaim_buddy_get_server_alias   purple_buddy_get_server_alias
+#define gaim_buddy_get_contact_alias  purple_buddy_get_contact_alias
+#define gaim_buddy_get_local_alias    purple_buddy_get_local_alias
+#define gaim_buddy_get_alias          purple_buddy_get_alias
+
+#define gaim_chat_get_name  purple_chat_get_name
+
+#define gaim_find_buddy           purple_find_buddy
+#define gaim_find_buddy_in_group  purple_find_buddy_in_group
+#define gaim_find_buddies         purple_find_buddies
+
+#define gaim_find_group  purple_find_group
+
+#define gaim_blist_find_chat  purple_blist_find_chat
+
+#define gaim_chat_get_group   purple_chat_get_group
+#define gaim_buddy_get_group  purple_buddy_get_group
+
+#define gaim_group_get_accounts  purple_group_get_accounts
+#define gaim_group_on_account    purple_group_on_account
+
+#define gaim_blist_add_account     purple_blist_add_account
+#define gaim_blist_remove_account  purple_blist_remove_account
+
+#define gaim_blist_get_group_size          purple_blist_get_group_size
+#define gaim_blist_get_group_online_count  purple_blist_get_group_online_count
+
+#define gaim_blist_load           purple_blist_load
+#define gaim_blist_schedule_save  purple_blist_schedule_save
+
+#define gaim_blist_request_add_buddy  purple_blist_request_add_buddy
+#define gaim_blist_request_add_chat   purple_blist_request_add_chat
+#define gaim_blist_request_add_group  purple_blist_request_add_group
+
+#define gaim_blist_node_set_bool    purple_blist_node_set_bool
+#define gaim_blist_node_get_bool    purple_blist_node_get_bool
+#define gaim_blist_node_set_int     purple_blist_node_set_int
+#define gaim_blist_node_get_int     purple_blist_node_get_int
+#define gaim_blist_node_set_string  purple_blist_node_set_string
+#define gaim_blist_node_get_string  purple_blist_node_get_string
+
+#define gaim_blist_node_remove_setting  purple_blist_node_remove_setting
+
+#define gaim_blist_node_set_flags  purple_blist_node_set_flags
+#define gaim_blist_node_get_flags  purple_blist_node_get_flags
+
+#define gaim_blist_node_get_extended_menu  purple_blist_node_get_extended_menu
+
+#define gaim_blist_set_ui_ops  purple_blist_set_ui_ops
+#define gaim_blist_get_ui_ops  purple_blist_get_ui_ops
+
+#define gaim_blist_get_handle  purple_blist_get_handle
+
+#define gaim_blist_init    purple_blist_init
+#define gaim_blist_uninit  purple_blist_uninit
+
+
+#define GaimBuddyIcon  PurpleBuddyIcon
+
+#define gaim_buddy_icon_new      purple_buddy_icon_new
+#define gaim_buddy_icon_destroy  purple_buddy_icon_destroy
+#define gaim_buddy_icon_ref      purple_buddy_icon_ref
+#define gaim_buddy_icon_unref    purple_buddy_icon_unref
+#define gaim_buddy_icon_update   purple_buddy_icon_update
+#define gaim_buddy_icon_cache    purple_buddy_icon_cache
+#define gaim_buddy_icon_uncache  purple_buddy_icon_uncache
+
+#define gaim_buddy_icon_set_account   purple_buddy_icon_set_account
+#define gaim_buddy_icon_set_username  purple_buddy_icon_set_username
+#define gaim_buddy_icon_set_data      purple_buddy_icon_set_data
+#define gaim_buddy_icon_set_path      purple_buddy_icon_set_path
+
+#define gaim_buddy_icon_get_account   purple_buddy_icon_get_account
+#define gaim_buddy_icon_get_username  purple_buddy_icon_get_username
+#define gaim_buddy_icon_get_data      purple_buddy_icon_get_data
+#define gaim_buddy_icon_get_path      purple_buddy_icon_get_path
+#define gaim_buddy_icon_get_type      purple_buddy_icon_get_type
+
+#define gaim_buddy_icons_set_for_user   purple_buddy_icons_set_for_user
+#define gaim_buddy_icons_find           purple_buddy_icons_find
+#define gaim_buddy_icons_set_caching    purple_buddy_icons_set_caching
+#define gaim_buddy_icons_is_caching     purple_buddy_icons_is_caching
+#define gaim_buddy_icons_set_cache_dir  purple_buddy_icons_set_cache_dir
+#define gaim_buddy_icons_get_cache_dir  purple_buddy_icons_get_cache_dir
+#define gaim_buddy_icons_get_full_path  purple_buddy_icons_get_full_path
+#define gaim_buddy_icons_get_handle     purple_buddy_icons_get_handle
+
+#define gaim_buddy_icons_init    purple_buddy_icons_init
+#define gaim_buddy_icons_uninit  purple_buddy_icons_uninit
+
+#define gaim_buddy_icon_get_scale_size  purple_buddy_icon_get_scale_size
 
 /* from cipher.h */
 
-#define PURPLE_CIPHER          PURPLE_CIPHER
-#define PURPLE_CIPHER_OPS      PURPLE_CIPHER_OPS
-#define PURPLE_CIPHER_CONTEXT  PURPLE_CIPHER_CONTEXT
-
-#define PurpleCipher         PurpleCipher
-#define PurpleCipherOps      PurpleCipherOps
-#define PurpleCipherContext  PurpleCipherContext
-
-#define PURPLE_CIPHER_CAPS_SET_OPT  PURPLE_CIPHER_CAPS_SET_OPT
-#define PURPLE_CIPHER_CAPS_GET_OPT  PURPLE_CIPHER_CAPS_GET_OPT
-#define PURPLE_CIPHER_CAPS_INIT     PURPLE_CIPHER_CAPS_INIT
-#define PURPLE_CIPHER_CAPS_RESET    PURPLE_CIPHER_CAPS_RESET
-#define PURPLE_CIPHER_CAPS_UNINIT   PURPLE_CIPHER_CAPS_UNINIT
-#define PURPLE_CIPHER_CAPS_SET_IV   PURPLE_CIPHER_CAPS_SET_IV
-#define PURPLE_CIPHER_CAPS_APPEND   PURPLE_CIPHER_CAPS_APPEND
-#define PURPLE_CIPHER_CAPS_DIGEST   PURPLE_CIPHER_CAPS_DIGEST
-#define PURPLE_CIPHER_CAPS_ENCRYPT  PURPLE_CIPHER_CAPS_ENCRYPT
-#define PURPLE_CIPHER_CAPS_DECRYPT  PURPLE_CIPHER_CAPS_DECRYPT
-#define PURPLE_CIPHER_CAPS_SET_SALT  PURPLE_CIPHER_CAPS_SET_SALT
-#define PURPLE_CIPHER_CAPS_GET_SALT_SIZE  PURPLE_CIPHER_CAPS_GET_SALT_SIZE
-#define PURPLE_CIPHER_CAPS_SET_KEY        PURPLE_CIPHER_CAPS_SET_KEY
-#define PURPLE_CIPHER_CAPS_GET_KEY_SIZE   PURPLE_CIPHER_CAPS_GET_KEY_SIZE
-#define PURPLE_CIPHER_CAPS_UNKNOWN        PURPLE_CIPHER_CAPS_UNKNOWN
-
-#define purple_cipher_get_name          purple_cipher_get_name
-#define purple_cipher_get_capabilities  purple_cipher_get_capabilities
-#define purple_cipher_digest_region     purple_cipher_digest_region
-
-#define purple_ciphers_find_cipher        purple_ciphers_find_cipher
-#define purple_ciphers_register_cipher    purple_ciphers_register_cipher
-#define purple_ciphers_unregister_cipher  purple_ciphers_unregister_cipher
-#define purple_ciphers_get_ciphers        purple_ciphers_get_ciphers
-
-#define purple_ciphers_get_handle  purple_ciphers_get_handle
-#define purple_ciphers_init        purple_ciphers_init
-#define purple_ciphers_uninit      purple_ciphers_uninit
-
-#define purple_cipher_context_set_option  purple_cipher_context_set_option
-#define purple_cipher_context_get_option  purple_cipher_context_get_option
-
-#define purple_cipher_context_new            purple_cipher_context_new
-#define purple_cipher_context_new_by_name    purple_cipher_context_new_by_name
-#define purple_cipher_context_reset          purple_cipher_context_reset
-#define purple_cipher_context_destroy        purple_cipher_context_destroy
-#define purple_cipher_context_set_iv         purple_cipher_context_set_iv
-#define purple_cipher_context_append         purple_cipher_context_append
-#define purple_cipher_context_digest         purple_cipher_context_digest
-#define purple_cipher_context_digest_to_str  purple_cipher_context_digest_to_str
-#define purple_cipher_context_encrypt        purple_cipher_context_encrypt
-#define purple_cipher_context_decrypt        purple_cipher_context_decrypt
-#define purple_cipher_context_set_salt       purple_cipher_context_set_salt
-#define purple_cipher_context_get_salt_size  purple_cipher_context_get_salt_size
-#define purple_cipher_context_set_key        purple_cipher_context_set_key
-#define purple_cipher_context_get_key_size   purple_cipher_context_get_key_size
-#define purple_cipher_context_set_data       purple_cipher_context_set_data
-#define purple_cipher_context_get_data       purple_cipher_context_get_data
-
-#define purple_cipher_http_digest_calculate_session_key \
+#define GAIM_CIPHER          PURPLE_CIPHER
+#define GAIM_CIPHER_OPS      PURPLE_CIPHER_OPS
+#define GAIM_CIPHER_CONTEXT  PURPLE_CIPHER_CONTEXT
+
+#define GaimCipher         PurpleCipher
+#define GaimCipherOps      PurpleCipherOps
+#define GaimCipherContext  PurpleCipherContext
+
+#define GAIM_CIPHER_CAPS_SET_OPT  PURPLE_CIPHER_CAPS_SET_OPT
+#define GAIM_CIPHER_CAPS_GET_OPT  PURPLE_CIPHER_CAPS_GET_OPT
+#define GAIM_CIPHER_CAPS_INIT     PURPLE_CIPHER_CAPS_INIT
+#define GAIM_CIPHER_CAPS_RESET    PURPLE_CIPHER_CAPS_RESET
+#define GAIM_CIPHER_CAPS_UNINIT   PURPLE_CIPHER_CAPS_UNINIT
+#define GAIM_CIPHER_CAPS_SET_IV   PURPLE_CIPHER_CAPS_SET_IV
+#define GAIM_CIPHER_CAPS_APPEND   PURPLE_CIPHER_CAPS_APPEND
+#define GAIM_CIPHER_CAPS_DIGEST   PURPLE_CIPHER_CAPS_DIGEST
+#define GAIM_CIPHER_CAPS_ENCRYPT  PURPLE_CIPHER_CAPS_ENCRYPT
+#define GAIM_CIPHER_CAPS_DECRYPT  PURPLE_CIPHER_CAPS_DECRYPT
+#define GAIM_CIPHER_CAPS_SET_SALT  PURPLE_CIPHER_CAPS_SET_SALT
+#define GAIM_CIPHER_CAPS_GET_SALT_SIZE  PURPLE_CIPHER_CAPS_GET_SALT_SIZE
+#define GAIM_CIPHER_CAPS_SET_KEY        PURPLE_CIPHER_CAPS_SET_KEY
+#define GAIM_CIPHER_CAPS_GET_KEY_SIZE   PURPLE_CIPHER_CAPS_GET_KEY_SIZE
+#define GAIM_CIPHER_CAPS_UNKNOWN        PURPLE_CIPHER_CAPS_UNKNOWN
+
+#define gaim_cipher_get_name          purple_cipher_get_name
+#define gaim_cipher_get_capabilities  purple_cipher_get_capabilities
+#define gaim_cipher_digest_region     purple_cipher_digest_region
+
+#define gaim_ciphers_find_cipher        purple_ciphers_find_cipher
+#define gaim_ciphers_register_cipher    purple_ciphers_register_cipher
+#define gaim_ciphers_unregister_cipher  purple_ciphers_unregister_cipher
+#define gaim_ciphers_get_ciphers        purple_ciphers_get_ciphers
+
+#define gaim_ciphers_get_handle  purple_ciphers_get_handle
+#define gaim_ciphers_init        purple_ciphers_init
+#define gaim_ciphers_uninit      purple_ciphers_uninit
+
+#define gaim_cipher_context_set_option  purple_cipher_context_set_option
+#define gaim_cipher_context_get_option  purple_cipher_context_get_option
+
+#define gaim_cipher_context_new            purple_cipher_context_new
+#define gaim_cipher_context_new_by_name    purple_cipher_context_new_by_name
+#define gaim_cipher_context_reset          purple_cipher_context_reset
+#define gaim_cipher_context_destroy        purple_cipher_context_destroy
+#define gaim_cipher_context_set_iv         purple_cipher_context_set_iv
+#define gaim_cipher_context_append         purple_cipher_context_append
+#define gaim_cipher_context_digest         purple_cipher_context_digest
+#define gaim_cipher_context_digest_to_str  purple_cipher_context_digest_to_str
+#define gaim_cipher_context_encrypt        purple_cipher_context_encrypt
+#define gaim_cipher_context_decrypt        purple_cipher_context_decrypt
+#define gaim_cipher_context_set_salt       purple_cipher_context_set_salt
+#define gaim_cipher_context_get_salt_size  purple_cipher_context_get_salt_size
+#define gaim_cipher_context_set_key        purple_cipher_context_set_key
+#define gaim_cipher_context_get_key_size   purple_cipher_context_get_key_size
+#define gaim_cipher_context_set_data       purple_cipher_context_set_data
+#define gaim_cipher_context_get_data       purple_cipher_context_get_data
+
+#define gaim_cipher_http_digest_calculate_session_key \
 	purple_cipher_http_digest_calculate_session_key
 
-#define purple_cipher_http_digest_calculate_response \
+#define gaim_cipher_http_digest_calculate_response \
 	purple_cipher_http_digest_calculate_response
 
 /* from circbuffer.h */
 
-#define PurpleCircBuffer  PurpleCircBuffer
-
-#define purple_circ_buffer_new           purple_circ_buffer_new
-#define purple_circ_buffer_destroy       purple_circ_buffer_destroy
-#define purple_circ_buffer_append        purple_circ_buffer_append
-#define purple_circ_buffer_get_max_read  purple_circ_buffer_get_max_read
-#define purple_circ_buffer_mark_read     purple_circ_buffer_mark_read
+#define GaimCircBuffer  PurpleCircBuffer
+
+#define gaim_circ_buffer_new           purple_circ_buffer_new
+#define gaim_circ_buffer_destroy       purple_circ_buffer_destroy
+#define gaim_circ_buffer_append        purple_circ_buffer_append
+#define gaim_circ_buffer_get_max_read  purple_circ_buffer_get_max_read
+#define gaim_circ_buffer_mark_read     purple_circ_buffer_mark_read
 
 /* from cmds.h */
 
-#define PurpleCmdPriority  PurpleCmdPriority
-#define PurpleCmdFlag      PurpleCmdFlag
-#define PurpleCmdStatus    PurpleCmdStatus
-#define PurpleCmdRet       PurpleCmdRet
-
-#define PURPLE_CMD_FUNC  PURPLE_CMD_FUNC
-
-#define PurpleCmdFunc  PurpleCmdFunc
-
-#define PurpleCmdId  PurpleCmdId
-
-#define purple_cmd_register    purple_cmd_register
-#define purple_cmd_unregister  purple_cmd_unregister
-#define purple_cmd_do_command  purple_cmd_do_command
-#define purple_cmd_list        purple_cmd_list
-#define purple_cmd_help        purple_cmd_help
+#define GaimCmdPriority  PurpleCmdPriority
+#define GaimCmdFlag      PurpleCmdFlag
+#define GaimCmdStatus    PurpleCmdStatus
+#define GaimCmdRet       PurpleCmdRet
+
+#define GAIM_CMD_STATUS_OK            PURPLE_CMD_STATUS_OK
+#define GAIM_CMD_STATUS_FAILED        PURPLE_CMD_STATUS_FAILED
+#define GAIM_CMD_STATUS_NOT_FOUND     PURPLE_CMD_STATUS_NOT_FOUND
+#define GAIM_CMD_STATUS_WRONG_ARGS    PURPLE_CMD_STATUS_WRONG_ARGS
+#define GAIM_CMD_STATUS_WRONG_PRPL    PURPLE_CMD_STATUS_WRONG_PRPL
+#define GAIM_CMD_STATUS_WRONG_TYPE    PURPLE_CMD_STATUS_WRONG_TYPE
+
+#define GAIM_CMD_FUNC  PURPLE_CMD_FUNC
+
+#define GaimCmdFunc  PurpleCmdFunc
+
+#define GaimCmdId  PurpleCmdId
+
+#define gaim_cmd_register    purple_cmd_register
+#define gaim_cmd_unregister  purple_cmd_unregister
+#define gaim_cmd_do_command  purple_cmd_do_command
+#define gaim_cmd_list        purple_cmd_list
+#define gaim_cmd_help        purple_cmd_help
 
 /* from connection.h */
 
-#define PurpleConnection  PurpleConnection
-
-#define PURPLE_CONNECTION_HTML              PURPLE_CONNECTION_HTML
-#define PURPLE_CONNECTION_NO_BGCOLOR        PURPLE_CONNECTION_NO_BGCOLOR
-#define PURPLE_CONNECTION_AUTO_RESP         PURPLE_CONNECTION_AUTO_RESP
-#define PURPLE_CONNECTION_FORMATTING_WBFO   PURPLE_CONNECTION_FORMATTING_WBFO
-#define PURPLE_CONNECTION_NO_NEWLINES       PURPLE_CONNECTION_NO_NEWLINES
-#define PURPLE_CONNECTION_NO_FONTSIZE       PURPLE_CONNECTION_NO_FONTSIZE
-#define PURPLE_CONNECTION_NO_URLDESC        PURPLE_CONNECTION_NO_URLDESC
-#define PURPLE_CONNECTION_NO_IMAGES         PURPLE_CONNECTION_NO_IMAGES
-
-#define PurpleConnectionFlags  PurpleConnectionFlags
-
-#define PURPLE_DISCONNECTED  PURPLE_DISCONNECTED
-#define PURPLE_CONNECTED     PURPLE_CONNECTED
-#define PURPLE_CONNECTING    PURPLE_CONNECTING
-
-#define PurpleConnectionState  PurpleConnectionState
-
-#define PurpleConnectionUiOps  PurpleConnectionUiOps
-
-#define purple_connection_new      purple_connection_new
-#define purple_connection_destroy  purple_connection_destroy
-
-#define purple_connection_set_state         purple_connection_set_state
-#define purple_connection_set_account       purple_connection_set_account
-#define purple_connection_set_display_name  purple_connection_set_display_name
-#define purple_connection_get_state         purple_connection_get_state
-
-#define PURPLE_CONNECTION_IS_CONNECTED  PURPLE_CONNECTION_IS_CONNECTED
-
-#define purple_connection_get_account       purple_connection_get_account
-#define purple_connection_get_password      purple_connection_get_password
-#define purple_connection_get_display_name  purple_connection_get_display_name
-
-#define purple_connection_update_progress  purple_connection_update_progress
-
-#define purple_connection_notice  purple_connection_notice
-#define purple_connection_error   purple_connection_error
-
-#define purple_connections_disconnect_all  purple_connections_disconnect_all
-
-#define purple_connections_get_all         purple_connections_get_all
-#define purple_connections_get_connecting  purple_connections_get_connecting
-
-#define PURPLE_CONNECTION_IS_VALID  PURPLE_CONNECTION_IS_VALID
-
-#define purple_connections_set_ui_ops  purple_connections_set_ui_ops
-#define purple_connections_get_ui_ops  purple_connections_get_ui_ops
-
-#define purple_connections_init    purple_connections_init
-#define purple_connections_uninit  purple_connections_uninit
-#define purple_connections_get_handle  purple_connections_get_handle
+#define GaimConnection  PurpleConnection
+
+#define GAIM_CONNECTION_HTML              PURPLE_CONNECTION_HTML
+#define GAIM_CONNECTION_NO_BGCOLOR        PURPLE_CONNECTION_NO_BGCOLOR
+#define GAIM_CONNECTION_AUTO_RESP         PURPLE_CONNECTION_AUTO_RESP
+#define GAIM_CONNECTION_FORMATTING_WBFO   PURPLE_CONNECTION_FORMATTING_WBFO
+#define GAIM_CONNECTION_NO_NEWLINES       PURPLE_CONNECTION_NO_NEWLINES
+#define GAIM_CONNECTION_NO_FONTSIZE       PURPLE_CONNECTION_NO_FONTSIZE
+#define GAIM_CONNECTION_NO_URLDESC        PURPLE_CONNECTION_NO_URLDESC
+#define GAIM_CONNECTION_NO_IMAGES         PURPLE_CONNECTION_NO_IMAGES
+
+#define GaimConnectionFlags  PurpleConnectionFlags
+
+#define GAIM_DISCONNECTED  PURPLE_DISCONNECTED
+#define GAIM_CONNECTED     PURPLE_CONNECTED
+#define GAIM_CONNECTING    PURPLE_CONNECTING
+
+#define GaimConnectionState  PurpleConnectionState
+
+#define GaimConnectionUiOps  PurpleConnectionUiOps
+
+#define gaim_connection_new      purple_connection_new
+#define gaim_connection_destroy  purple_connection_destroy
+
+#define gaim_connection_set_state         purple_connection_set_state
+#define gaim_connection_set_account       purple_connection_set_account
+#define gaim_connection_set_display_name  purple_connection_set_display_name
+#define gaim_connection_get_state         purple_connection_get_state
+
+#define GAIM_CONNECTION_IS_CONNECTED  PURPLE_CONNECTION_IS_CONNECTED
+
+#define gaim_connection_get_account       purple_connection_get_account
+#define gaim_connection_get_password      purple_connection_get_password
+#define gaim_connection_get_display_name  purple_connection_get_display_name
+
+#define gaim_connection_update_progress  purple_connection_update_progress
+
+#define gaim_connection_notice  purple_connection_notice
+#define gaim_connection_error   purple_connection_error
+
+#define gaim_connections_disconnect_all  purple_connections_disconnect_all
+
+#define gaim_connections_get_all         purple_connections_get_all
+#define gaim_connections_get_connecting  purple_connections_get_connecting
+
+#define GAIM_CONNECTION_IS_VALID  PURPLE_CONNECTION_IS_VALID
+
+#define gaim_connections_set_ui_ops  purple_connections_set_ui_ops
+#define gaim_connections_get_ui_ops  purple_connections_get_ui_ops
+
+#define gaim_connections_init    purple_connections_init
+#define gaim_connections_uninit  purple_connections_uninit
+#define gaim_connections_get_handle  purple_connections_get_handle
 
 
 /* from conversation.h */
 
-#define PurpleConversationUiOps  PurpleConversationUiOps
-#define PurpleConversation       PurpleConversation
-#define PurpleConvIm             PurpleConvIm
-#define PurpleConvChat           PurpleConvChat
-#define PurpleConvChatBuddy      PurpleConvChatBuddy
-
-#define PURPLE_CONV_TYPE_UNKNOWN  PURPLE_CONV_TYPE_UNKNOWN
-#define PURPLE_CONV_TYPE_IM       PURPLE_CONV_TYPE_IM
-#define PURPLE_CONV_TYPE_CHAT     PURPLE_CONV_TYPE_CHAT
-#define PURPLE_CONV_TYPE_MISC     PURPLE_CONV_TYPE_MISC
-#define PURPLE_CONV_TYPE_ANY      PURPLE_CONV_TYPE_ANY
-
-#define PurpleConversationType  PurpleConversationType
-
-#define PURPLE_CONV_UPDATE_ADD       PURPLE_CONV_UPDATE_ADD
-#define PURPLE_CONV_UPDATE_REMOVE    PURPLE_CONV_UPDATE_REMOVE
-#define PURPLE_CONV_UPDATE_ACCOUNT   PURPLE_CONV_UPDATE_ACCOUNT
-#define PURPLE_CONV_UPDATE_TYPING    PURPLE_CONV_UPDATE_TYPING
-#define PURPLE_CONV_UPDATE_UNSEEN    PURPLE_CONV_UPDATE_UNSEEN
-#define PURPLE_CONV_UPDATE_LOGGING   PURPLE_CONV_UPDATE_LOGGING
-#define PURPLE_CONV_UPDATE_TOPIC     PURPLE_CONV_UPDATE_TOPIC
-#define PURPLE_CONV_ACCOUNT_ONLINE   PURPLE_CONV_ACCOUNT_ONLINE
-#define PURPLE_CONV_ACCOUNT_OFFLINE  PURPLE_CONV_ACCOUNT_OFFLINE
-#define PURPLE_CONV_UPDATE_AWAY      PURPLE_CONV_UPDATE_AWAY
-#define PURPLE_CONV_UPDATE_ICON      PURPLE_CONV_UPDATE_ICON
-#define PURPLE_CONV_UPDATE_TITLE     PURPLE_CONV_UPDATE_TITLE
-#define PURPLE_CONV_UPDATE_CHATLEFT  PURPLE_CONV_UPDATE_CHATLEFT
-#define PURPLE_CONV_UPDATE_FEATURES  PURPLE_CONV_UPDATE_FEATURES
-
-#define PurpleConvUpdateType  PurpleConvUpdateType
-
-#define PURPLE_NOT_TYPING  PURPLE_NOT_TYPING
-#define PURPLE_TYPING      PURPLE_TYPING
-#define PURPLE_TYPED       PURPLE_TYPED
-
-#define PurpleTypingState  PurpleTypingState
-
-#define PURPLE_MESSAGE_SEND         PURPLE_MESSAGE_SEND
-#define PURPLE_MESSAGE_RECV         PURPLE_MESSAGE_RECV
-#define PURPLE_MESSAGE_SYSTEM       PURPLE_MESSAGE_SYSTEM
-#define PURPLE_MESSAGE_AUTO_RESP    PURPLE_MESSAGE_AUTO_RESP
-#define PURPLE_MESSAGE_ACTIVE_ONLY  PURPLE_MESSAGE_ACTIVE_ONLY
-#define PURPLE_MESSAGE_NICK         PURPLE_MESSAGE_NICK
-#define PURPLE_MESSAGE_NO_LOG       PURPLE_MESSAGE_NO_LOG
-#define PURPLE_MESSAGE_WHISPER      PURPLE_MESSAGE_WHISPER
-#define PURPLE_MESSAGE_ERROR        PURPLE_MESSAGE_ERROR
-#define PURPLE_MESSAGE_DELAYED      PURPLE_MESSAGE_DELAYED
-#define PURPLE_MESSAGE_RAW          PURPLE_MESSAGE_RAW
-#define PURPLE_MESSAGE_IMAGES       PURPLE_MESSAGE_IMAGES
-
-#define PurpleMessageFlags  PurpleMessageFlags
-
-#define PURPLE_CBFLAGS_NONE     PURPLE_CBFLAGS_NONE
-#define PURPLE_CBFLAGS_VOICE    PURPLE_CBFLAGS_VOICE
-#define PURPLE_CBFLAGS_HALFOP   PURPLE_CBFLAGS_HALFOP
-#define PURPLE_CBFLAGS_OP       PURPLE_CBFLAGS_OP
-#define PURPLE_CBFLAGS_FOUNDER  PURPLE_CBFLAGS_FOUNDER
-#define PURPLE_CBFLAGS_TYPING   PURPLE_CBFLAGS_TYPING
-
-#define PurpleConvChatBuddyFlags  PurpleConvChatBuddyFlags
-
-#define purple_conversations_set_ui_ops  purple_conversations_set_ui_ops
-
-#define purple_conversation_new          purple_conversation_new
-#define purple_conversation_destroy      purple_conversation_destroy
-#define purple_conversation_present      purple_conversation_present
-#define purple_conversation_get_type     purple_conversation_get_type
-#define purple_conversation_set_ui_ops   purple_conversation_set_ui_ops
-#define purple_conversation_get_ui_ops   purple_conversation_get_ui_ops
-#define purple_conversation_set_account  purple_conversation_set_account
-#define purple_conversation_get_account  purple_conversation_get_account
-#define purple_conversation_get_gc       purple_conversation_get_gc
-#define purple_conversation_set_title    purple_conversation_set_title
-#define purple_conversation_get_title    purple_conversation_get_title
-#define purple_conversation_autoset_title  purple_conversation_autoset_title
-#define purple_conversation_set_name       purple_conversation_set_name
-#define purple_conversation_get_name       purple_conversation_get_name
-#define purple_conversation_set_logging    purple_conversation_set_logging
-#define purple_conversation_is_logging     purple_conversation_is_logging
-#define purple_conversation_close_logs     purple_conversation_close_logs
-#define purple_conversation_get_im_data    purple_conversation_get_im_data
-
-#define PURPLE_CONV_IM    PURPLE_CONV_IM
-
-#define purple_conversation_get_chat_data  purple_conversation_get_chat_data
-
-#define PURPLE_CONV_CHAT  PURPLE_CONV_CHAT
-
-#define purple_conversation_set_data       purple_conversation_set_data
-#define purple_conversation_get_data       purple_conversation_get_data
-
-#define purple_get_conversations  purple_get_conversations
-#define purple_get_ims            purple_get_ims
-#define purple_get_chats          purple_get_chats
-
-#define purple_find_conversation_with_account \
+#define GaimConversationUiOps  PurpleConversationUiOps
+#define GaimConversation       PurpleConversation
+#define GaimConvIm             PurpleConvIm
+#define GaimConvChat           PurpleConvChat
+#define GaimConvChatBuddy      PurpleConvChatBuddy
+
+#define GAIM_CONV_TYPE_UNKNOWN  PURPLE_CONV_TYPE_UNKNOWN
+#define GAIM_CONV_TYPE_IM       PURPLE_CONV_TYPE_IM
+#define GAIM_CONV_TYPE_CHAT     PURPLE_CONV_TYPE_CHAT
+#define GAIM_CONV_TYPE_MISC     PURPLE_CONV_TYPE_MISC
+#define GAIM_CONV_TYPE_ANY      PURPLE_CONV_TYPE_ANY
+
+#define GaimConversationType  PurpleConversationType
+
+#define GAIM_CONV_UPDATE_ADD       PURPLE_CONV_UPDATE_ADD
+#define GAIM_CONV_UPDATE_REMOVE    PURPLE_CONV_UPDATE_REMOVE
+#define GAIM_CONV_UPDATE_ACCOUNT   PURPLE_CONV_UPDATE_ACCOUNT
+#define GAIM_CONV_UPDATE_TYPING    PURPLE_CONV_UPDATE_TYPING
+#define GAIM_CONV_UPDATE_UNSEEN    PURPLE_CONV_UPDATE_UNSEEN
+#define GAIM_CONV_UPDATE_LOGGING   PURPLE_CONV_UPDATE_LOGGING
+#define GAIM_CONV_UPDATE_TOPIC     PURPLE_CONV_UPDATE_TOPIC
+#define GAIM_CONV_ACCOUNT_ONLINE   PURPLE_CONV_ACCOUNT_ONLINE
+#define GAIM_CONV_ACCOUNT_OFFLINE  PURPLE_CONV_ACCOUNT_OFFLINE
+#define GAIM_CONV_UPDATE_AWAY      PURPLE_CONV_UPDATE_AWAY
+#define GAIM_CONV_UPDATE_ICON      PURPLE_CONV_UPDATE_ICON
+#define GAIM_CONV_UPDATE_TITLE     PURPLE_CONV_UPDATE_TITLE
+#define GAIM_CONV_UPDATE_CHATLEFT  PURPLE_CONV_UPDATE_CHATLEFT
+#define GAIM_CONV_UPDATE_FEATURES  PURPLE_CONV_UPDATE_FEATURES
+
+#define GaimConvUpdateType  PurpleConvUpdateType
+
+#define GAIM_NOT_TYPING  PURPLE_NOT_TYPING
+#define GAIM_TYPING      PURPLE_TYPING
+#define GAIM_TYPED       PURPLE_TYPED
+
+#define GaimTypingState  PurpleTypingState
+
+#define GAIM_MESSAGE_SEND         PURPLE_MESSAGE_SEND
+#define GAIM_MESSAGE_RECV         PURPLE_MESSAGE_RECV
+#define GAIM_MESSAGE_SYSTEM       PURPLE_MESSAGE_SYSTEM
+#define GAIM_MESSAGE_AUTO_RESP    PURPLE_MESSAGE_AUTO_RESP
+#define GAIM_MESSAGE_ACTIVE_ONLY  PURPLE_MESSAGE_ACTIVE_ONLY
+#define GAIM_MESSAGE_NICK         PURPLE_MESSAGE_NICK
+#define GAIM_MESSAGE_NO_LOG       PURPLE_MESSAGE_NO_LOG
+#define GAIM_MESSAGE_WHISPER      PURPLE_MESSAGE_WHISPER
+#define GAIM_MESSAGE_ERROR        PURPLE_MESSAGE_ERROR
+#define GAIM_MESSAGE_DELAYED      PURPLE_MESSAGE_DELAYED
+#define GAIM_MESSAGE_RAW          PURPLE_MESSAGE_RAW
+#define GAIM_MESSAGE_IMAGES       PURPLE_MESSAGE_IMAGES
+
+#define GaimMessageFlags  PurpleMessageFlags
+
+#define GAIM_CBFLAGS_NONE     PURPLE_CBFLAGS_NONE
+#define GAIM_CBFLAGS_VOICE    PURPLE_CBFLAGS_VOICE
+#define GAIM_CBFLAGS_HALFOP   PURPLE_CBFLAGS_HALFOP
+#define GAIM_CBFLAGS_OP       PURPLE_CBFLAGS_OP
+#define GAIM_CBFLAGS_FOUNDER  PURPLE_CBFLAGS_FOUNDER
+#define GAIM_CBFLAGS_TYPING   PURPLE_CBFLAGS_TYPING
+
+#define GaimConvChatBuddyFlags  PurpleConvChatBuddyFlags
+
+#define gaim_conversations_set_ui_ops  purple_conversations_set_ui_ops
+
+#define gaim_conversation_new          purple_conversation_new
+#define gaim_conversation_destroy      purple_conversation_destroy
+#define gaim_conversation_present      purple_conversation_present
+#define gaim_conversation_get_type     purple_conversation_get_type
+#define gaim_conversation_set_ui_ops   purple_conversation_set_ui_ops
+#define gaim_conversation_get_ui_ops   purple_conversation_get_ui_ops
+#define gaim_conversation_set_account  purple_conversation_set_account
+#define gaim_conversation_get_account  purple_conversation_get_account
+#define gaim_conversation_get_gc       purple_conversation_get_gc
+#define gaim_conversation_set_title    purple_conversation_set_title
+#define gaim_conversation_get_title    purple_conversation_get_title
+#define gaim_conversation_autoset_title  purple_conversation_autoset_title
+#define gaim_conversation_set_name       purple_conversation_set_name
+#define gaim_conversation_get_name       purple_conversation_get_name
+#define gaim_conversation_set_logging    purple_conversation_set_logging
+#define gaim_conversation_is_logging     purple_conversation_is_logging
+#define gaim_conversation_close_logs     purple_conversation_close_logs
+#define gaim_conversation_get_im_data    purple_conversation_get_im_data
+
+#define GAIM_CONV_IM    PURPLE_CONV_IM
+
+#define gaim_conversation_get_chat_data  purple_conversation_get_chat_data
+
+#define GAIM_CONV_CHAT  PURPLE_CONV_CHAT
+
+#define gaim_conversation_set_data       purple_conversation_set_data
+#define gaim_conversation_get_data       purple_conversation_get_data
+
+#define gaim_get_conversations  purple_get_conversations
+#define gaim_get_ims            purple_get_ims
+#define gaim_get_chats          purple_get_chats
+
+#define gaim_find_conversation_with_account \
 	purple_find_conversation_with_account
 
-#define purple_conversation_write         purple_conversation_write
-#define purple_conversation_set_features  purple_conversation_set_features
-#define purple_conversation_get_features  purple_conversation_get_features
-#define purple_conversation_has_focus     purple_conversation_has_focus
-#define purple_conversation_update        purple_conversation_update
-#define purple_conversation_foreach       purple_conversation_foreach
-
-#define purple_conv_im_get_conversation  purple_conv_im_get_conversation
-#define purple_conv_im_set_icon          purple_conv_im_set_icon
-#define purple_conv_im_get_icon          purple_conv_im_get_icon
-#define purple_conv_im_set_typing_state  purple_conv_im_set_typing_state
-#define purple_conv_im_get_typing_state  purple_conv_im_get_typing_state
-
-#define purple_conv_im_start_typing_timeout  purple_conv_im_start_typing_timeout
-#define purple_conv_im_stop_typing_timeout   purple_conv_im_stop_typing_timeout
-#define purple_conv_im_get_typing_timeout    purple_conv_im_get_typing_timeout
-#define purple_conv_im_set_type_again        purple_conv_im_set_type_again
-#define purple_conv_im_get_type_again        purple_conv_im_get_type_again
-
-#define purple_conv_im_start_send_typed_timeout \
+#define gaim_conversation_write         purple_conversation_write
+#define gaim_conversation_set_features  purple_conversation_set_features
+#define gaim_conversation_get_features  purple_conversation_get_features
+#define gaim_conversation_has_focus     purple_conversation_has_focus
+#define gaim_conversation_update        purple_conversation_update
+#define gaim_conversation_foreach       purple_conversation_foreach
+
+#define gaim_conv_im_get_conversation  purple_conv_im_get_conversation
+#define gaim_conv_im_set_icon          purple_conv_im_set_icon
+#define gaim_conv_im_get_icon          purple_conv_im_get_icon
+#define gaim_conv_im_set_typing_state  purple_conv_im_set_typing_state
+#define gaim_conv_im_get_typing_state  purple_conv_im_get_typing_state
+
+#define gaim_conv_im_start_typing_timeout  purple_conv_im_start_typing_timeout
+#define gaim_conv_im_stop_typing_timeout   purple_conv_im_stop_typing_timeout
+#define gaim_conv_im_get_typing_timeout    purple_conv_im_get_typing_timeout
+#define gaim_conv_im_set_type_again        purple_conv_im_set_type_again
+#define gaim_conv_im_get_type_again        purple_conv_im_get_type_again
+
+#define gaim_conv_im_start_send_typed_timeout \
 	purple_conv_im_start_send_typed_timeout
 
-#define purple_conv_im_stop_send_typed_timeout \
+#define gaim_conv_im_stop_send_typed_timeout \
 	purple_conv_im_stop_send_typed_timeout
 
-#define purple_conv_im_get_send_typed_timeout \
+#define gaim_conv_im_get_send_typed_timeout \
 	purple_conv_im_get_send_typed_timeout
 
-#define purple_conv_present_error     purple_conv_present_error
-#define purple_conv_send_confirm      purple_conv_send_confirm
-
-#define purple_conv_im_update_typing    purple_conv_im_update_typing
-#define purple_conv_im_write            purple_conv_im_write
-#define purple_conv_im_send             purple_conv_im_send
-#define purple_conv_im_send_with_flags  purple_conv_im_send_with_flags
-
-#define purple_conv_custom_smiley_add    purple_conv_custom_smiley_add
-#define purple_conv_custom_smiley_write  purple_conv_custom_smiley_write
-#define purple_conv_custom_smiley_close  purple_conv_custom_smiley_close
-
-#define purple_conv_chat_get_conversation  purple_conv_chat_get_conversation
-#define purple_conv_chat_set_users         purple_conv_chat_set_users
-#define purple_conv_chat_get_users         purple_conv_chat_get_users
-#define purple_conv_chat_ignore            purple_conv_chat_ignore
-#define purple_conv_chat_unignore          purple_conv_chat_unignore
-#define purple_conv_chat_set_ignored       purple_conv_chat_set_ignored
-#define purple_conv_chat_get_ignored       purple_conv_chat_get_ignored
-#define purple_conv_chat_get_ignored_user  purple_conv_chat_get_ignored_user
-#define purple_conv_chat_is_user_ignored   purple_conv_chat_is_user_ignored
-#define purple_conv_chat_set_topic         purple_conv_chat_set_topic
-#define purple_conv_chat_get_topic         purple_conv_chat_get_topic
-#define purple_conv_chat_set_id            purple_conv_chat_set_id
-#define purple_conv_chat_get_id            purple_conv_chat_get_id
-#define purple_conv_chat_write             purple_conv_chat_write
-#define purple_conv_chat_send              purple_conv_chat_send
-#define purple_conv_chat_send_with_flags   purple_conv_chat_send_with_flags
-#define purple_conv_chat_add_user          purple_conv_chat_add_user
-#define purple_conv_chat_add_users         purple_conv_chat_add_users
-#define purple_conv_chat_rename_user       purple_conv_chat_rename_user
-#define purple_conv_chat_remove_user       purple_conv_chat_remove_user
-#define purple_conv_chat_remove_users      purple_conv_chat_remove_users
-#define purple_conv_chat_find_user         purple_conv_chat_find_user
-#define purple_conv_chat_user_set_flags    purple_conv_chat_user_set_flags
-#define purple_conv_chat_user_get_flags    purple_conv_chat_user_get_flags
-#define purple_conv_chat_clear_users       purple_conv_chat_clear_users
-#define purple_conv_chat_set_nick          purple_conv_chat_set_nick
-#define purple_conv_chat_get_nick          purple_conv_chat_get_nick
-#define purple_conv_chat_left              purple_conv_chat_left
-#define purple_conv_chat_has_left          purple_conv_chat_has_left
-
-#define purple_find_chat                   purple_find_chat
-
-#define purple_conv_chat_cb_new            purple_conv_chat_cb_new
-#define purple_conv_chat_cb_find           purple_conv_chat_cb_find
-#define purple_conv_chat_cb_get_name       purple_conv_chat_cb_get_name
-#define purple_conv_chat_cb_destroy        purple_conv_chat_cb_destroy
-
-#define purple_conversations_get_handle    purple_conversations_get_handle
-#define purple_conversations_init          purple_conversations_init
-#define purple_conversations_uninit        purple_conversations_uninit
+#define gaim_conv_present_error     purple_conv_present_error
+#define gaim_conv_send_confirm      purple_conv_send_confirm
+
+#define gaim_conv_im_update_typing    purple_conv_im_update_typing
+#define gaim_conv_im_write            purple_conv_im_write
+#define gaim_conv_im_send             purple_conv_im_send
+#define gaim_conv_im_send_with_flags  purple_conv_im_send_with_flags
+
+#define gaim_conv_custom_smiley_add    purple_conv_custom_smiley_add
+#define gaim_conv_custom_smiley_write  purple_conv_custom_smiley_write
+#define gaim_conv_custom_smiley_close  purple_conv_custom_smiley_close
+
+#define gaim_conv_chat_get_conversation  purple_conv_chat_get_conversation
+#define gaim_conv_chat_set_users         purple_conv_chat_set_users
+#define gaim_conv_chat_get_users         purple_conv_chat_get_users
+#define gaim_conv_chat_ignore            purple_conv_chat_ignore
+#define gaim_conv_chat_unignore          purple_conv_chat_unignore
+#define gaim_conv_chat_set_ignored       purple_conv_chat_set_ignored
+#define gaim_conv_chat_get_ignored       purple_conv_chat_get_ignored
+#define gaim_conv_chat_get_ignored_user  purple_conv_chat_get_ignored_user
+#define gaim_conv_chat_is_user_ignored   purple_conv_chat_is_user_ignored
+#define gaim_conv_chat_set_topic         purple_conv_chat_set_topic
+#define gaim_conv_chat_get_topic         purple_conv_chat_get_topic
+#define gaim_conv_chat_set_id            purple_conv_chat_set_id
+#define gaim_conv_chat_get_id            purple_conv_chat_get_id
+#define gaim_conv_chat_write             purple_conv_chat_write
+#define gaim_conv_chat_send              purple_conv_chat_send
+#define gaim_conv_chat_send_with_flags   purple_conv_chat_send_with_flags
+#define gaim_conv_chat_add_user          purple_conv_chat_add_user
+#define gaim_conv_chat_add_users         purple_conv_chat_add_users
+#define gaim_conv_chat_rename_user       purple_conv_chat_rename_user
+#define gaim_conv_chat_remove_user       purple_conv_chat_remove_user
+#define gaim_conv_chat_remove_users      purple_conv_chat_remove_users
+#define gaim_conv_chat_find_user         purple_conv_chat_find_user
+#define gaim_conv_chat_user_set_flags    purple_conv_chat_user_set_flags
+#define gaim_conv_chat_user_get_flags    purple_conv_chat_user_get_flags
+#define gaim_conv_chat_clear_users       purple_conv_chat_clear_users
+#define gaim_conv_chat_set_nick          purple_conv_chat_set_nick
+#define gaim_conv_chat_get_nick          purple_conv_chat_get_nick
+#define gaim_conv_chat_left              purple_conv_chat_left
+#define gaim_conv_chat_has_left          purple_conv_chat_has_left
+
+#define gaim_find_chat                   purple_find_chat
+
+#define gaim_conv_chat_cb_new            purple_conv_chat_cb_new
+#define gaim_conv_chat_cb_find           purple_conv_chat_cb_find
+#define gaim_conv_chat_cb_get_name       purple_conv_chat_cb_get_name
+#define gaim_conv_chat_cb_destroy        purple_conv_chat_cb_destroy
+
+#define gaim_conversations_get_handle    purple_conversations_get_handle
+#define gaim_conversations_init          purple_conversations_init
+#define gaim_conversations_uninit        purple_conversations_uninit
 
 /* from core.h */
 
-#define PurpleCore  PurpleCore
-
-#define PurpleCoreUiOps  PurpleCoreUiOps
-
-#define purple_core_init  purple_core_init
-#define purple_core_quit  purple_core_quit
-
-#define purple_core_quit_cb      purple_core_quit_cb
-#define purple_core_get_version  purple_core_get_version
-#define purple_core_get_ui       purple_core_get_ui
-#define purple_get_core          purple_get_core
-#define purple_core_set_ui_ops   purple_core_set_ui_ops
-#define purple_core_get_ui_ops   purple_core_get_ui_ops
+#define GaimCore  PurpleCore
+
+#define GaimCoreUiOps  PurpleCoreUiOps
+
+#define gaim_core_init  purple_core_init
+#define gaim_core_quit  purple_core_quit
+
+#define gaim_core_quit_cb      purple_core_quit_cb
+#define gaim_core_get_version  purple_core_get_version
+#define gaim_core_get_ui       purple_core_get_ui
+#define gaim_get_core          purple_get_core
+#define gaim_core_set_ui_ops   purple_core_set_ui_ops
+#define gaim_core_get_ui_ops   purple_core_get_ui_ops
 
 /* from debug.h */
 
-#define PURPLE_DEBUG_ALL      PURPLE_DEBUG_ALL
-#define PURPLE_DEBUG_MISC     PURPLE_DEBUG_MISC
-#define PURPLE_DEBUG_INFO     PURPLE_DEBUG_INFO
-#define PURPLE_DEBUG_WARNING  PURPLE_DEBUG_WARNING
-#define PURPLE_DEBUG_ERROR    PURPLE_DEBUG_ERROR
-#define PURPLE_DEBUG_FATAL    PURPLE_DEBUG_FATAL
-
-#define PurpleDebugLevel  PurpleDebugLevel
-
-#define PurpleDebugUiOps  PurpleDebugUiOps
-
-
-#define purple_debug          purple_debug
-#define purple_debug_misc     purple_debug_misc
-#define purple_debug_info     purple_debug_info
-#define purple_debug_warning  purple_debug_warning
-#define purple_debug_error    purple_debug_error
-#define purple_debug_fatal    purple_debug_fatal
-
-#define purple_debug_set_enabled  purple_debug_set_enabled
-#define purple_debug_is_enabled   purple_debug_is_enabled
-
-#define purple_debug_set_ui_ops  purple_debug_set_ui_ops
-#define purple_debug_get_ui_ops  purple_debug_get_ui_ops
-
-#define purple_debug_init  purple_debug_init
+#define GAIM_DEBUG_ALL      PURPLE_DEBUG_ALL
+#define GAIM_DEBUG_MISC     PURPLE_DEBUG_MISC
+#define GAIM_DEBUG_INFO     PURPLE_DEBUG_INFO
+#define GAIM_DEBUG_WARNING  PURPLE_DEBUG_WARNING
+#define GAIM_DEBUG_ERROR    PURPLE_DEBUG_ERROR
+#define GAIM_DEBUG_FATAL    PURPLE_DEBUG_FATAL
+
+#define GaimDebugLevel  PurpleDebugLevel
+
+#define GaimDebugUiOps  PurpleDebugUiOps
+
+
+#define gaim_debug          purple_debug
+#define gaim_debug_misc     purple_debug_misc
+#define gaim_debug_info     purple_debug_info
+#define gaim_debug_warning  purple_debug_warning
+#define gaim_debug_error    purple_debug_error
+#define gaim_debug_fatal    purple_debug_fatal
+
+#define gaim_debug_set_enabled  purple_debug_set_enabled
+#define gaim_debug_is_enabled   purple_debug_is_enabled
+
+#define gaim_debug_set_ui_ops  purple_debug_set_ui_ops
+#define gaim_debug_get_ui_ops  purple_debug_get_ui_ops
+
+#define gaim_debug_init  purple_debug_init
 
 /* from desktopitem.h */
 
-#define PURPLE_DESKTOP_ITEM_TYPE_NULL          PURPLE_DESKTOP_ITEM_TYPE_NULL
-#define PURPLE_DESKTOP_ITEM_TYPE_OTHER         PURPLE_DESKTOP_ITEM_TYPE_OTHER
-#define PURPLE_DESKTOP_ITEM_TYPE_APPLICATION   PURPLE_DESKTOP_ITEM_TYPE_APPLICATION
-#define PURPLE_DESKTOP_ITEM_TYPE_LINK          PURPLE_DESKTOP_ITEM_TYPE_LINK
-#define PURPLE_DESKTOP_ITEM_TYPE_FSDEVICE      PURPLE_DESKTOP_ITEM_TYPE_FSDEVICE
-#define PURPLE_DESKTOP_ITEM_TYPE_MIME_TYPE     PURPLE_DESKTOP_ITEM_TYPE_MIME_TYPE
-#define PURPLE_DESKTOP_ITEM_TYPE_DIRECTORY     PURPLE_DESKTOP_ITEM_TYPE_DIRECTORY
-#define PURPLE_DESKTOP_ITEM_TYPE_SERVICE       PURPLE_DESKTOP_ITEM_TYPE_SERVICE
-#define PURPLE_DESKTOP_ITEM_TYPE_SERVICE_TYPE  PURPLE_DESKTOP_ITEM_TYPE_SERVICE_TYPE
-
-#define PurpleDesktopItemType  PurpleDesktopItemType
-
-#define PurpleDesktopItem  PurpleDesktopItem
-
-#define PURPLE_TYPE_DESKTOP_ITEM         PURPLE_TYPE_DESKTOP_ITEM
-#define purple_desktop_item_get_type     purple_desktop_item_get_type
+#define GAIM_DESKTOP_ITEM_TYPE_NULL          PURPLE_DESKTOP_ITEM_TYPE_NULL
+#define GAIM_DESKTOP_ITEM_TYPE_OTHER         PURPLE_DESKTOP_ITEM_TYPE_OTHER
+#define GAIM_DESKTOP_ITEM_TYPE_APPLICATION   PURPLE_DESKTOP_ITEM_TYPE_APPLICATION
+#define GAIM_DESKTOP_ITEM_TYPE_LINK          PURPLE_DESKTOP_ITEM_TYPE_LINK
+#define GAIM_DESKTOP_ITEM_TYPE_FSDEVICE      PURPLE_DESKTOP_ITEM_TYPE_FSDEVICE
+#define GAIM_DESKTOP_ITEM_TYPE_MIME_TYPE     PURPLE_DESKTOP_ITEM_TYPE_MIME_TYPE
+#define GAIM_DESKTOP_ITEM_TYPE_DIRECTORY     PURPLE_DESKTOP_ITEM_TYPE_DIRECTORY
+#define GAIM_DESKTOP_ITEM_TYPE_SERVICE       PURPLE_DESKTOP_ITEM_TYPE_SERVICE
+#define GAIM_DESKTOP_ITEM_TYPE_SERVICE_TYPE  PURPLE_DESKTOP_ITEM_TYPE_SERVICE_TYPE
+
+#define GaimDesktopItemType  PurpleDesktopItemType
+
+#define GaimDesktopItem  PurpleDesktopItem
+
+#define GAIM_TYPE_DESKTOP_ITEM         PURPLE_TYPE_DESKTOP_ITEM
+#define gaim_desktop_item_get_type     purple_desktop_item_get_type
 
 /* standard */
 /* ugh, i'm just copying these as strings, rather than pidginifying them */
-#define PURPLE_DESKTOP_ITEM_ENCODING	"Encoding" /* string */
-#define PURPLE_DESKTOP_ITEM_VERSION	"Version"  /* numeric */
-#define PURPLE_DESKTOP_ITEM_NAME		"Name" /* localestring */
-#define PURPLE_DESKTOP_ITEM_GENERIC_NAME	"GenericName" /* localestring */
-#define PURPLE_DESKTOP_ITEM_TYPE		"Type" /* string */
-#define PURPLE_DESKTOP_ITEM_FILE_PATTERN "FilePattern" /* regexp(s) */
-#define PURPLE_DESKTOP_ITEM_TRY_EXEC	"TryExec" /* string */
-#define PURPLE_DESKTOP_ITEM_NO_DISPLAY	"NoDisplay" /* boolean */
-#define PURPLE_DESKTOP_ITEM_COMMENT	"Comment" /* localestring */
-#define PURPLE_DESKTOP_ITEM_EXEC		"Exec" /* string */
-#define PURPLE_DESKTOP_ITEM_ACTIONS	"Actions" /* strings */
-#define PURPLE_DESKTOP_ITEM_ICON		"Icon" /* string */
-#define PURPLE_DESKTOP_ITEM_MINI_ICON	"MiniIcon" /* string */
-#define PURPLE_DESKTOP_ITEM_HIDDEN	"Hidden" /* boolean */
-#define PURPLE_DESKTOP_ITEM_PATH		"Path" /* string */
-#define PURPLE_DESKTOP_ITEM_TERMINAL	"Terminal" /* boolean */
-#define PURPLE_DESKTOP_ITEM_TERMINAL_OPTIONS "TerminalOptions" /* string */
-#define PURPLE_DESKTOP_ITEM_SWALLOW_TITLE "SwallowTitle" /* string */
-#define PURPLE_DESKTOP_ITEM_SWALLOW_EXEC	"SwallowExec" /* string */
-#define PURPLE_DESKTOP_ITEM_MIME_TYPE	"MimeType" /* regexp(s) */
-#define PURPLE_DESKTOP_ITEM_PATTERNS	"Patterns" /* regexp(s) */
-#define PURPLE_DESKTOP_ITEM_DEFAULT_APP	"DefaultApp" /* string */
-#define PURPLE_DESKTOP_ITEM_DEV		"Dev" /* string */
-#define PURPLE_DESKTOP_ITEM_FS_TYPE	"FSType" /* string */
-#define PURPLE_DESKTOP_ITEM_MOUNT_POINT	"MountPoint" /* string */
-#define PURPLE_DESKTOP_ITEM_READ_ONLY	"ReadOnly" /* boolean */
-#define PURPLE_DESKTOP_ITEM_UNMOUNT_ICON "UnmountIcon" /* string */
-#define PURPLE_DESKTOP_ITEM_SORT_ORDER	"SortOrder" /* strings */
-#define PURPLE_DESKTOP_ITEM_URL		"URL" /* string */
-#define PURPLE_DESKTOP_ITEM_DOC_PATH	"X-GNOME-DocPath" /* string */
-
-#define purple_desktop_item_new_from_file   purple_desktop_item_new_from_file
-#define purple_desktop_item_get_entry_type  purple_desktop_item_get_entry_type
-#define purple_desktop_item_get_string      purple_desktop_item_get_string
-#define purple_desktop_item_copy            purple_desktop_item_copy
-#define purple_desktop_item_unref           purple_desktop_item_unref
+#define GAIM_DESKTOP_ITEM_ENCODING	"Encoding" /* string */
+#define GAIM_DESKTOP_ITEM_VERSION	"Version"  /* numeric */
+#define GAIM_DESKTOP_ITEM_NAME		"Name" /* localestring */
+#define GAIM_DESKTOP_ITEM_GENERIC_NAME	"GenericName" /* localestring */
+#define GAIM_DESKTOP_ITEM_TYPE		"Type" /* string */
+#define GAIM_DESKTOP_ITEM_FILE_PATTERN "FilePattern" /* regexp(s) */
+#define GAIM_DESKTOP_ITEM_TRY_EXEC	"TryExec" /* string */
+#define GAIM_DESKTOP_ITEM_NO_DISPLAY	"NoDisplay" /* boolean */
+#define GAIM_DESKTOP_ITEM_COMMENT	"Comment" /* localestring */
+#define GAIM_DESKTOP_ITEM_EXEC		"Exec" /* string */
+#define GAIM_DESKTOP_ITEM_ACTIONS	"Actions" /* strings */
+#define GAIM_DESKTOP_ITEM_ICON		"Icon" /* string */
+#define GAIM_DESKTOP_ITEM_MINI_ICON	"MiniIcon" /* string */
+#define GAIM_DESKTOP_ITEM_HIDDEN	"Hidden" /* boolean */
+#define GAIM_DESKTOP_ITEM_PATH		"Path" /* string */
+#define GAIM_DESKTOP_ITEM_TERMINAL	"Terminal" /* boolean */
+#define GAIM_DESKTOP_ITEM_TERMINAL_OPTIONS "TerminalOptions" /* string */
+#define GAIM_DESKTOP_ITEM_SWALLOW_TITLE "SwallowTitle" /* string */
+#define GAIM_DESKTOP_ITEM_SWALLOW_EXEC	"SwallowExec" /* string */
+#define GAIM_DESKTOP_ITEM_MIME_TYPE	"MimeType" /* regexp(s) */
+#define GAIM_DESKTOP_ITEM_PATTERNS	"Patterns" /* regexp(s) */
+#define GAIM_DESKTOP_ITEM_DEFAULT_APP	"DefaultApp" /* string */
+#define GAIM_DESKTOP_ITEM_DEV		"Dev" /* string */
+#define GAIM_DESKTOP_ITEM_FS_TYPE	"FSType" /* string */
+#define GAIM_DESKTOP_ITEM_MOUNT_POINT	"MountPoint" /* string */
+#define GAIM_DESKTOP_ITEM_READ_ONLY	"ReadOnly" /* boolean */
+#define GAIM_DESKTOP_ITEM_UNMOUNT_ICON "UnmountIcon" /* string */
+#define GAIM_DESKTOP_ITEM_SORT_ORDER	"SortOrder" /* strings */
+#define GAIM_DESKTOP_ITEM_URL		"URL" /* string */
+#define GAIM_DESKTOP_ITEM_DOC_PATH	"X-GNOME-DocPath" /* string */
+
+#define gaim_desktop_item_new_from_file   purple_desktop_item_new_from_file
+#define gaim_desktop_item_get_entry_type  purple_desktop_item_get_entry_type
+#define gaim_desktop_item_get_string      purple_desktop_item_get_string
+#define gaim_desktop_item_copy            purple_desktop_item_copy
+#define gaim_desktop_item_unref           purple_desktop_item_unref
 
 /* from dnsquery.h */
 
-#define PurpleDnsQueryData  PurpleDnsQueryData
-#define PurpleDnsQueryConnectFunction  PurpleDnsQueryConnectFunction
-
-#define purple_dnsquery_a        purple_dnsquery_a
-#define purple_dnsquery_destroy  purple_dnsquery_destroy
-#define purple_dnsquery_init     purple_dnsquery_init
-#define purple_dnsquery_uninit   purple_dnsquery_uninit
+#define GaimDnsQueryData  PurpleDnsQueryData
+#define GaimDnsQueryConnectFunction  PurpleDnsQueryConnectFunction
+
+#define gaim_dnsquery_a        		purple_dnsquery_a
+#define gaim_dnsquery_destroy  		purple_dnsquery_destroy
+#define gaim_dnsquery_init     		purple_dnsquery_init
+#define gaim_dnsquery_uninit   		purple_dnsquery_uninit
+#define gaim_dnsquery_set_ui_ops	purple_dnsquery_set_ui_ops
+#define gaim_dnsquery_get_host 		purple_dnsquery_get_host
+#define gaim_dnsquery_get_port 		purple_dnsquery_get_port
 
 /* from dnssrv.h */
 
-#define PurpleSrvResponse   PurpleSrvResponse
-#define PurpleSrvQueryData  PurpleSrvQueryData
-#define PurpleSrvCallback   PurpleSrvCallback
-
-#define purple_srv_resolve  purple_srv_resolve
-#define purple_srv_cancel   purple_srv_cancel
+#define GaimSrvResponse   PurpleSrvResponse
+#define GaimSrvQueryData  PurpleSrvQueryData
+#define GaimSrvCallback   PurpleSrvCallback
+
+#define gaim_srv_resolve  purple_srv_resolve
+#define gaim_srv_cancel   purple_srv_cancel
 
 /* from eventloop.h */
 
-#define PURPLE_INPUT_READ   PURPLE_INPUT_READ
-#define PURPLE_INPUT_WRITE  PURPLE_INPUT_WRITE
-
-#define PurpleInputCondition  PurpleInputCondition
-#define PurpleInputFunction   PurpleInputFunction
-#define PurpleEventLoopUiOps  PurpleEventLoopUiOps
-
-#define purple_timeout_add     purple_timeout_add
-#define purple_timeout_remove  purple_timeout_remove
-#define purple_input_add       purple_input_add
-#define purple_input_remove    purple_input_remove
-
-#define purple_eventloop_set_ui_ops  purple_eventloop_set_ui_ops
-#define purple_eventloop_get_ui_ops  purple_eventloop_get_ui_ops
+#define GAIM_INPUT_READ   PURPLE_INPUT_READ
+#define GAIM_INPUT_WRITE  PURPLE_INPUT_WRITE
+
+#define GaimInputCondition  PurpleInputCondition
+#define GaimInputFunction   PurpleInputFunction
+#define GaimEventLoopUiOps  PurpleEventLoopUiOps
+
+#define gaim_timeout_add     purple_timeout_add
+#define gaim_timeout_remove  purple_timeout_remove
+#define gaim_input_add       purple_input_add
+#define gaim_input_remove    purple_input_remove
+
+#define gaim_eventloop_set_ui_ops  purple_eventloop_set_ui_ops
+#define gaim_eventloop_get_ui_ops  purple_eventloop_get_ui_ops
 
 /* from ft.h */
 
-#define PurpleXfer  PurpleXfer
-
-#define PURPLE_XFER_UNKNOWN  PURPLE_XFER_UNKNOWN
-#define PURPLE_XFER_SEND     PURPLE_XFER_SEND
-#define PURPLE_XFER_RECEIVE  PURPLE_XFER_RECEIVE
-
-#define PurpleXferType  PurpleXferType
-
-#define PURPLE_XFER_STATUS_UNKNOWN        PURPLE_XFER_STATUS_UNKNOWN
-#define PURPLE_XFER_STATUS_NOT_STARTED    PURPLE_XFER_STATUS_NOT_STARTED
-#define PURPLE_XFER_STATUS_ACCEPTED       PURPLE_XFER_STATUS_ACCEPTED
-#define PURPLE_XFER_STATUS_STARTED        PURPLE_XFER_STATUS_STARTED
-#define PURPLE_XFER_STATUS_DONE           PURPLE_XFER_STATUS_DONE
-#define PURPLE_XFER_STATUS_CANCEL_LOCAL   PURPLE_XFER_STATUS_CANCEL_LOCAL
-#define PURPLE_XFER_STATUS_CANCEL_REMOTE  PURPLE_XFER_STATUS_CANCEL_REMOTE
-
-#define PurpleXferStatusType  PurpleXferStatusType
-
-#define PurpleXferUiOps  PurpleXferUiOps
-
-#define purple_xfer_new                  purple_xfer_new
-#define purple_xfer_ref                  purple_xfer_ref
-#define purple_xfer_unref                purple_xfer_unref
-#define purple_xfer_request              purple_xfer_request
-#define purple_xfer_request_accepted     purple_xfer_request_accepted
-#define purple_xfer_request_denied       purple_xfer_request_denied
-#define purple_xfer_get_type             purple_xfer_get_type
-#define purple_xfer_get_account          purple_xfer_get_account
-#define purple_xfer_get_status           purple_xfer_get_status
-#define purple_xfer_is_canceled          purple_xfer_is_canceled
-#define purple_xfer_is_completed         purple_xfer_is_completed
-#define purple_xfer_get_filename         purple_xfer_get_filename
-#define purple_xfer_get_local_filename   purple_xfer_get_local_filename
-#define purple_xfer_get_bytes_sent       purple_xfer_get_bytes_sent
-#define purple_xfer_get_bytes_remaining  purple_xfer_get_bytes_remaining
-#define purple_xfer_get_size             purple_xfer_get_size
-#define purple_xfer_get_progress         purple_xfer_get_progress
-#define purple_xfer_get_local_port       purple_xfer_get_local_port
-#define purple_xfer_get_remote_ip        purple_xfer_get_remote_ip
-#define purple_xfer_get_remote_port      purple_xfer_get_remote_port
-#define purple_xfer_set_completed        purple_xfer_set_completed
-#define purple_xfer_set_message          purple_xfer_set_message
-#define purple_xfer_set_filename         purple_xfer_set_filename
-#define purple_xfer_set_local_filename   purple_xfer_set_local_filename
-#define purple_xfer_set_size             purple_xfer_set_size
-#define purple_xfer_set_bytes_sent       purple_xfer_set_bytes_sent
-#define purple_xfer_get_ui_ops           purple_xfer_get_ui_ops
-#define purple_xfer_set_read_fnc         purple_xfer_set_read_fnc
-#define purple_xfer_set_write_fnc        purple_xfer_set_write_fnc
-#define purple_xfer_set_ack_fnc          purple_xfer_set_ack_fnc
-#define purple_xfer_set_request_denied_fnc  purple_xfer_set_request_denied_fnc
-#define purple_xfer_set_init_fnc         purple_xfer_set_init_fnc
-#define purple_xfer_set_start_fnc        purple_xfer_set_start_fnc
-#define purple_xfer_set_end_fnc          purple_xfer_set_end_fnc
-#define purple_xfer_set_cancel_send_fnc  purple_xfer_set_cancel_send_fnc
-#define purple_xfer_set_cancel_recv_fnc  purple_xfer_set_cancel_recv_fnc
-
-#define purple_xfer_read                purple_xfer_read
-#define purple_xfer_write               purple_xfer_write
-#define purple_xfer_start               purple_xfer_start
-#define purple_xfer_end                 purple_xfer_end
-#define purple_xfer_add                 purple_xfer_add
-#define purple_xfer_cancel_local        purple_xfer_cancel_local
-#define purple_xfer_cancel_remote       purple_xfer_cancel_remote
-#define purple_xfer_error               purple_xfer_error
-#define purple_xfer_update_progress     purple_xfer_update_progress
-#define purple_xfer_conversation_write  purple_xfer_conversation_write
-
-#define purple_xfers_get_handle  purple_xfers_get_handle
-#define purple_xfers_init        purple_xfers_init
-#define purple_xfers_uninit      purple_xfers_uninit
-#define purple_xfers_set_ui_ops  purple_xfers_set_ui_ops
-#define purple_xfers_get_ui_ops  purple_xfers_get_ui_ops
-
-/* from purple-client.h */
+#define GaimXfer  PurpleXfer
+
+#define GAIM_XFER_UNKNOWN  PURPLE_XFER_UNKNOWN
+#define GAIM_XFER_SEND     PURPLE_XFER_SEND
+#define GAIM_XFER_RECEIVE  PURPLE_XFER_RECEIVE
+
+#define GaimXferType  PurpleXferType
+
+#define GAIM_XFER_STATUS_UNKNOWN        PURPLE_XFER_STATUS_UNKNOWN
+#define GAIM_XFER_STATUS_NOT_STARTED    PURPLE_XFER_STATUS_NOT_STARTED
+#define GAIM_XFER_STATUS_ACCEPTED       PURPLE_XFER_STATUS_ACCEPTED
+#define GAIM_XFER_STATUS_STARTED        PURPLE_XFER_STATUS_STARTED
+#define GAIM_XFER_STATUS_DONE           PURPLE_XFER_STATUS_DONE
+#define GAIM_XFER_STATUS_CANCEL_LOCAL   PURPLE_XFER_STATUS_CANCEL_LOCAL
+#define GAIM_XFER_STATUS_CANCEL_REMOTE  PURPLE_XFER_STATUS_CANCEL_REMOTE
+
+#define GaimXferStatusType  PurpleXferStatusType
+
+#define GaimXferUiOps  PurpleXferUiOps
+
+#define gaim_xfer_new                  purple_xfer_new
+#define gaim_xfer_ref                  purple_xfer_ref
+#define gaim_xfer_unref                purple_xfer_unref
+#define gaim_xfer_request              purple_xfer_request
+#define gaim_xfer_request_accepted     purple_xfer_request_accepted
+#define gaim_xfer_request_denied       purple_xfer_request_denied
+#define gaim_xfer_get_type             purple_xfer_get_type
+#define gaim_xfer_get_account          purple_xfer_get_account
+#define gaim_xfer_get_status           purple_xfer_get_status
+#define gaim_xfer_is_canceled          purple_xfer_is_canceled
+#define gaim_xfer_is_completed         purple_xfer_is_completed
+#define gaim_xfer_get_filename         purple_xfer_get_filename
+#define gaim_xfer_get_local_filename   purple_xfer_get_local_filename
+#define gaim_xfer_get_bytes_sent       purple_xfer_get_bytes_sent
+#define gaim_xfer_get_bytes_remaining  purple_xfer_get_bytes_remaining
+#define gaim_xfer_get_size             purple_xfer_get_size
+#define gaim_xfer_get_progress         purple_xfer_get_progress
+#define gaim_xfer_get_local_port       purple_xfer_get_local_port
+#define gaim_xfer_get_remote_ip        purple_xfer_get_remote_ip
+#define gaim_xfer_get_remote_port      purple_xfer_get_remote_port
+#define gaim_xfer_set_completed        purple_xfer_set_completed
+#define gaim_xfer_set_message          purple_xfer_set_message
+#define gaim_xfer_set_filename         purple_xfer_set_filename
+#define gaim_xfer_set_local_filename   purple_xfer_set_local_filename
+#define gaim_xfer_set_size             purple_xfer_set_size
+#define gaim_xfer_set_bytes_sent       purple_xfer_set_bytes_sent
+#define gaim_xfer_get_ui_ops           purple_xfer_get_ui_ops
+#define gaim_xfer_set_read_fnc         purple_xfer_set_read_fnc
+#define gaim_xfer_set_write_fnc        purple_xfer_set_write_fnc
+#define gaim_xfer_set_ack_fnc          purple_xfer_set_ack_fnc
+#define gaim_xfer_set_request_denied_fnc  purple_xfer_set_request_denied_fnc
+#define gaim_xfer_set_init_fnc         purple_xfer_set_init_fnc
+#define gaim_xfer_set_start_fnc        purple_xfer_set_start_fnc
+#define gaim_xfer_set_end_fnc          purple_xfer_set_end_fnc
+#define gaim_xfer_set_cancel_send_fnc  purple_xfer_set_cancel_send_fnc
+#define gaim_xfer_set_cancel_recv_fnc  purple_xfer_set_cancel_recv_fnc
+
+#define gaim_xfer_read                purple_xfer_read
+#define gaim_xfer_write               purple_xfer_write
+#define gaim_xfer_start               purple_xfer_start
+#define gaim_xfer_end                 purple_xfer_end
+#define gaim_xfer_add                 purple_xfer_add
+#define gaim_xfer_cancel_local        purple_xfer_cancel_local
+#define gaim_xfer_cancel_remote       purple_xfer_cancel_remote
+#define gaim_xfer_error               purple_xfer_error
+#define gaim_xfer_update_progress     purple_xfer_update_progress
+#define gaim_xfer_conversation_write  purple_xfer_conversation_write
+
+#define gaim_xfers_get_handle  purple_xfers_get_handle
+#define gaim_xfers_init        purple_xfers_init
+#define gaim_xfers_uninit      purple_xfers_uninit
+#define gaim_xfers_set_ui_ops  purple_xfers_set_ui_ops
+#define gaim_xfers_get_ui_ops  purple_xfers_get_ui_ops
+
+/* from gaim-client.h */
 
 /* XXX: should this be purple_init, or pidgin_init */
-#define purple_init  purple_init
+#define gaim_init  purple_init
 
 /* from idle.h */
 
-#define PurpleIdleUiOps  PurpleIdleUiOps
-
-#define purple_idle_touch       purple_idle_touch
-#define purple_idle_set         purple_idle_set
-#define purple_idle_set_ui_ops  purple_idle_set_ui_ops
-#define purple_idle_get_ui_ops  purple_idle_get_ui_ops
-#define purple_idle_init        purple_idle_init
-#define purple_idle_uninit      purple_idle_uninit
+#define GaimIdleUiOps  PurpleIdleUiOps
+
+#define gaim_idle_touch       purple_idle_touch
+#define gaim_idle_set         purple_idle_set
+#define gaim_idle_set_ui_ops  purple_idle_set_ui_ops
+#define gaim_idle_get_ui_ops  purple_idle_get_ui_ops
+#define gaim_idle_init        purple_idle_init
+#define gaim_idle_uninit      purple_idle_uninit
 
 /* from imgstore.h */
 
-#define PurpleStoredImage  PurpleStoredImage
-
-#define purple_imgstore_add           purple_imgstore_add
-#define purple_imgstore_get           purple_imgstore_get
-#define purple_imgstore_get_data      purple_imgstore_get_data
-#define purple_imgstore_get_size      purple_imgstore_get_size
-#define purple_imgstore_get_filename  purple_imgstore_get_filename
-#define purple_imgstore_ref           purple_imgstore_ref
-#define purple_imgstore_unref         purple_imgstore_unref
+#define GaimStoredImage  PurpleStoredImage
+
+#define gaim_imgstore_add           purple_imgstore_add
+#define gaim_imgstore_get           purple_imgstore_get
+#define gaim_imgstore_get_data      purple_imgstore_get_data
+#define gaim_imgstore_get_size      purple_imgstore_get_size
+#define gaim_imgstore_get_filename  purple_imgstore_get_filename
+#define gaim_imgstore_ref           purple_imgstore_ref
+#define gaim_imgstore_unref         purple_imgstore_unref
 
 
 /* from log.h */
 
-#define PurpleLog                  PurpleLog
-#define PurpleLogLogger            PurpleLogLogger
-#define PurpleLogCommonLoggerData  PurpleLogCommonLoggerData
-#define PurpleLogSet               PurpleLogSet
-
-#define PURPLE_LOG_IM      PURPLE_LOG_IM
-#define PURPLE_LOG_CHAT    PURPLE_LOG_CHAT
-#define PURPLE_LOG_SYSTEM  PURPLE_LOG_SYSTEM
-
-#define PurpleLogType  PurpleLogType
-
-#define PURPLE_LOG_READ_NO_NEWLINE  PURPLE_LOG_READ_NO_NEWLINE
-
-#define PurpleLogReadFlags  PurpleLogReadFlags
-
-#define PurpleLogSetCallback  PurpleLogSetCallback
-
-#define purple_log_new    purple_log_new
-#define purple_log_free   purple_log_free
-#define purple_log_write  purple_log_write
-#define purple_log_read   purple_log_read
-
-#define purple_log_get_logs         purple_log_get_logs
-#define purple_log_get_log_sets     purple_log_get_log_sets
-#define purple_log_get_system_logs  purple_log_get_system_logs
-#define purple_log_get_size         purple_log_get_size
-#define purple_log_get_total_size   purple_log_get_total_size
-#define purple_log_get_log_dir      purple_log_get_log_dir
-#define purple_log_compare          purple_log_compare
-#define purple_log_set_compare      purple_log_set_compare
-#define purple_log_set_free         purple_log_set_free
-
-#define purple_log_common_writer       purple_log_common_writer
-#define purple_log_common_lister       purple_log_common_lister
-#define purple_log_common_total_sizer  purple_log_common_total_sizer
-#define purple_log_common_sizer        purple_log_common_sizer
-
-#define purple_log_logger_new     purple_log_logger_new
-#define purple_log_logger_free    purple_log_logger_free
-#define purple_log_logger_add     purple_log_logger_add
-#define purple_log_logger_remove  purple_log_logger_remove
-#define purple_log_logger_set     purple_log_logger_set
-#define purple_log_logger_get     purple_log_logger_get
-
-#define purple_log_logger_get_options  purple_log_logger_get_options
-
-#define purple_log_init        purple_log_init
-#define purple_log_get_handle  purple_log_get_handle
-#define purple_log_uninit      purple_log_uninit
+#define GaimLog                  PurpleLog
+#define GaimLogLogger            PurpleLogLogger
+#define GaimLogCommonLoggerData  PurpleLogCommonLoggerData
+#define GaimLogSet               PurpleLogSet
+
+#define GAIM_LOG_IM      PURPLE_LOG_IM
+#define GAIM_LOG_CHAT    PURPLE_LOG_CHAT
+#define GAIM_LOG_SYSTEM  PURPLE_LOG_SYSTEM
+
+#define GaimLogType  PurpleLogType
+
+#define GAIM_LOG_READ_NO_NEWLINE  PURPLE_LOG_READ_NO_NEWLINE
+
+#define GaimLogReadFlags  PurpleLogReadFlags
+
+#define GaimLogSetCallback  PurpleLogSetCallback
+
+#define gaim_log_new    purple_log_new
+#define gaim_log_free   purple_log_free
+#define gaim_log_write  purple_log_write
+#define gaim_log_read   purple_log_read
+
+#define gaim_log_get_logs         purple_log_get_logs
+#define gaim_log_get_log_sets     purple_log_get_log_sets
+#define gaim_log_get_system_logs  purple_log_get_system_logs
+#define gaim_log_get_size         purple_log_get_size
+#define gaim_log_get_total_size   purple_log_get_total_size
+#define gaim_log_get_log_dir      purple_log_get_log_dir
+#define gaim_log_compare          purple_log_compare
+#define gaim_log_set_compare      purple_log_set_compare
+#define gaim_log_set_free         purple_log_set_free
+
+#define gaim_log_common_writer       purple_log_common_writer
+#define gaim_log_common_lister       purple_log_common_lister
+#define gaim_log_common_total_sizer  purple_log_common_total_sizer
+#define gaim_log_common_sizer        purple_log_common_sizer
+
+#define gaim_log_logger_new     purple_log_logger_new
+#define gaim_log_logger_free    purple_log_logger_free
+#define gaim_log_logger_add     purple_log_logger_add
+#define gaim_log_logger_remove  purple_log_logger_remove
+#define gaim_log_logger_set     purple_log_logger_set
+#define gaim_log_logger_get     purple_log_logger_get
+
+#define gaim_log_logger_get_options  purple_log_logger_get_options
+
+#define gaim_log_init        purple_log_init
+#define gaim_log_get_handle  purple_log_get_handle
+#define gaim_log_uninit      purple_log_uninit
 
 /* from mime.h */
 
-#define PurpleMimeDocument  PurpleMimeDocument
-#define PurpleMimePart      PurpleMimePart
-
-#define purple_mime_document_new         purple_mime_document_new
-#define purple_mime_document_free        purple_mime_document_free
-#define purple_mime_document_parse       purple_mime_document_parse
-#define purple_mime_document_parsen      purple_mime_document_parsen
-#define purple_mime_document_write       purple_mime_document_write
-#define purple_mime_document_get_fields  purple_mime_document_get_fields
-#define purple_mime_document_get_field   purple_mime_document_get_field
-#define purple_mime_document_set_field   purple_mime_document_set_field
-#define purple_mime_document_get_parts   purple_mime_document_get_parts
-
-#define purple_mime_part_new                purple_mime_part_new
-#define purple_mime_part_get_fields         purple_mime_part_get_fields
-#define purple_mime_part_get_field          purple_mime_part_get_field
-#define purple_mime_part_get_field_decoded  purple_mime_part_get_field_decoded
-#define purple_mime_part_set_field          purple_mime_part_set_field
-#define purple_mime_part_get_data           purple_mime_part_get_data
-#define purple_mime_part_get_data_decoded   purple_mime_part_get_data_decoded
-#define purple_mime_part_get_length         purple_mime_part_get_length
-#define purple_mime_part_set_data           purple_mime_part_set_data
+#define GaimMimeDocument  PurpleMimeDocument
+#define GaimMimePart      PurpleMimePart
+
+#define gaim_mime_document_new         purple_mime_document_new
+#define gaim_mime_document_free        purple_mime_document_free
+#define gaim_mime_document_parse       purple_mime_document_parse
+#define gaim_mime_document_parsen      purple_mime_document_parsen
+#define gaim_mime_document_write       purple_mime_document_write
+#define gaim_mime_document_get_fields  purple_mime_document_get_fields
+#define gaim_mime_document_get_field   purple_mime_document_get_field
+#define gaim_mime_document_set_field   purple_mime_document_set_field
+#define gaim_mime_document_get_parts   purple_mime_document_get_parts
+
+#define gaim_mime_part_new                purple_mime_part_new
+#define gaim_mime_part_get_fields         purple_mime_part_get_fields
+#define gaim_mime_part_get_field          purple_mime_part_get_field
+#define gaim_mime_part_get_field_decoded  purple_mime_part_get_field_decoded
+#define gaim_mime_part_set_field          purple_mime_part_set_field
+#define gaim_mime_part_get_data           purple_mime_part_get_data
+#define gaim_mime_part_get_data_decoded   purple_mime_part_get_data_decoded
+#define gaim_mime_part_get_length         purple_mime_part_get_length
+#define gaim_mime_part_set_data           purple_mime_part_set_data
 
 
 /* from network.h */
 
-#define PurpleNetworkListenData  PurpleNetworkListenData
-
-#define PurpleNetworkListenCallback  PurpleNetworkListenCallback
-
-#define purple_network_ip_atoi              purple_network_ip_atoi
-#define purple_network_set_public_ip        purple_network_set_public_ip
-#define purple_network_get_public_ip        purple_network_get_public_ip
-#define purple_network_get_local_system_ip  purple_network_get_local_system_ip
-#define purple_network_get_my_ip            purple_network_get_my_ip
-
-#define purple_network_listen            purple_network_listen
-#define purple_network_listen_range      purple_network_listen_range
-#define purple_network_listen_cancel     purple_network_listen_cancel
-#define purple_network_get_port_from_fd  purple_network_get_port_from_fd
-
-#define purple_network_is_available  purple_network_is_available
-
-#define purple_network_init    purple_network_init
-#define purple_network_uninit  purple_network_uninit
+#define GaimNetworkListenData  PurpleNetworkListenData
+
+#define GaimNetworkListenCallback  PurpleNetworkListenCallback
+
+#define gaim_network_ip_atoi              purple_network_ip_atoi
+#define gaim_network_set_public_ip        purple_network_set_public_ip
+#define gaim_network_get_public_ip        purple_network_get_public_ip
+#define gaim_network_get_local_system_ip  purple_network_get_local_system_ip
+#define gaim_network_get_my_ip            purple_network_get_my_ip
+
+#define gaim_network_listen            purple_network_listen
+#define gaim_network_listen_range      purple_network_listen_range
+#define gaim_network_listen_cancel     purple_network_listen_cancel
+#define gaim_network_get_port_from_fd  purple_network_get_port_from_fd
+
+#define gaim_network_is_available  purple_network_is_available
+
+#define gaim_network_init    purple_network_init
+#define gaim_network_uninit  purple_network_uninit
 
 /* from notify.h */
 
 
-#define PurpleNotifyUserInfoEntry  PurpleNotifyUserInfoEntry
-#define PurpleNotifyUserInfo       PurpleNotifyUserInfo
-
-#define PurpleNotifyCloseCallback  PurpleNotifyCloseCallback
-
-#define PURPLE_NOTIFY_MESSAGE        PURPLE_NOTIFY_MESSAGE
-#define PURPLE_NOTIFY_EMAIL          PURPLE_NOTIFY_EMAIL
-#define PURPLE_NOTIFY_EMAILS         PURPLE_NOTIFY_EMAILS
-#define PURPLE_NOTIFY_FORMATTED      PURPLE_NOTIFY_FORMATTED
-#define PURPLE_NOTIFY_SEARCHRESULTS  PURPLE_NOTIFY_SEARCHRESULTS
-#define PURPLE_NOTIFY_USERINFO       PURPLE_NOTIFY_USERINFO
-#define PURPLE_NOTIFY_URI            PURPLE_NOTIFY_URI
-
-#define PurpleNotifyType  PurpleNotifyType
-
-#define PURPLE_NOTIFY_MSG_ERROR    PURPLE_NOTIFY_MSG_ERROR
-#define PURPLE_NOTIFY_MSG_WARNING  PURPLE_NOTIFY_MSG_WARNING
-#define PURPLE_NOTIFY_MSG_INFO     PURPLE_NOTIFY_MSG_INFO
-
-#define PurpleNotifyMsgType  PurpleNotifyMsgType
-
-#define PURPLE_NOTIFY_BUTTON_LABELED   PURPLE_NOTIFY_BUTTON_LABELED
-#define PURPLE_NOTIFY_BUTTON_CONTINUE  PURPLE_NOTIFY_BUTTON_CONTINUE
-#define PURPLE_NOTIFY_BUTTON_ADD       PURPLE_NOTIFY_BUTTON_ADD
-#define PURPLE_NOTIFY_BUTTON_INFO      PURPLE_NOTIFY_BUTTON_INFO
-#define PURPLE_NOTIFY_BUTTON_IM        PURPLE_NOTIFY_BUTTON_IM
-#define PURPLE_NOTIFY_BUTTON_JOIN      PURPLE_NOTIFY_BUTTON_JOIN
-#define PURPLE_NOTIFY_BUTTON_INVITE    PURPLE_NOTIFY_BUTTON_INVITE
-
-#define PurpleNotifySearchButtonType  PurpleNotifySearchButtonType
-
-#define PurpleNotifySearchResults  PurpleNotifySearchResult
-
-#define PURPLE_NOTIFY_USER_INFO_ENTRY_PAIR            PURPLE_NOTIFY_USER_INFO_ENTRY_PAIR
-#define PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK   PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK
-#define PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER  PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER
-
-#define PurpleNotifyUserInfoEntryType  PurpleNotifyUserInfoEntryType
-
-#define PurpleNotifySearchColumn           PurpleNotifySearchColumn
-#define PurpleNotifySearchResultsCallback  PurpleNotifySearchResultsCallback
-#define PurpleNotifySearchButton           PurpleNotifySearchButton
-
-#define PurpleNotifyUiOps  PurpleNotifyUiOps
-
-#define purple_notify_searchresults                     purple_notify_searchresults
-#define purple_notify_searchresults_free                purple_notify_searchresults_free
-#define purple_notify_searchresults_new_rows            purple_notify_searchresults_new_rows
-#define purple_notify_searchresults_button_add          purple_notify_searchresults_button_add
-#define purple_notify_searchresults_button_add_labeled  purple_notify_searchresults_button_add_labeled
-#define purple_notify_searchresults_new                 purple_notify_searchresults_new
-#define purple_notify_searchresults_column_new          purple_notify_searchresults_column_new
-#define purple_notify_searchresults_column_add          purple_notify_searchresults_column_add
-#define purple_notify_searchresults_row_add             purple_notify_searchresults_row_add
-#define purple_notify_searchresults_get_rows_count      purple_notify_searchresults_get_rows_count
-#define purple_notify_searchresults_get_columns_count   purple_notify_searchresults_get_columns_count
-#define purple_notify_searchresults_row_get             purple_notify_searchresults_row_get
-#define purple_notify_searchresults_column_get_title    purple_notify_searchresults_column_get_title
-
-#define purple_notify_message    purple_notify_message
-#define purple_notify_email      purple_notify_email
-#define purple_notify_emails     purple_notify_emails
-#define purple_notify_formatted  purple_notify_formatted
-#define purple_notify_userinfo   purple_notify_userinfo
-
-#define purple_notify_user_info_new                    purple_notify_user_info_new
-#define purple_notify_user_info_destroy                purple_notify_user_info_destroy
-#define purple_notify_user_info_get_entries            purple_notify_user_info_get_entries
-#define purple_notify_user_info_get_text_with_newline  purple_notify_user_info_get_text_with_newline
-#define purple_notify_user_info_add_pair               purple_notify_user_info_add_pair
-#define purple_notify_user_info_prepend_pair           purple_notify_user_info_prepend_pair
-#define purple_notify_user_info_remove_entry           purple_notify_user_info_remove_entry
-#define purple_notify_user_info_entry_new              purple_notify_user_info_entry_new
-#define purple_notify_user_info_add_section_break      purple_notify_user_info_add_section_break
-#define purple_notify_user_info_add_section_header     purple_notify_user_info_add_section_header
-#define purple_notify_user_info_remove_last_item       purple_notify_user_info_remove_last_item
-#define purple_notify_user_info_entry_get_label        purple_notify_user_info_entry_get_label
-#define purple_notify_user_info_entry_set_label        purple_notify_user_info_entry_set_label
-#define purple_notify_user_info_entry_get_value        purple_notify_user_info_entry_get_value
-#define purple_notify_user_info_entry_set_value        purple_notify_user_info_entry_set_value
-#define purple_notify_user_info_entry_get_type         purple_notify_user_info_entry_get_type
-#define purple_notify_user_info_entry_set_type         purple_notify_user_info_entry_set_type
-
-#define purple_notify_uri                purple_notify_uri
-#define purple_notify_close              purple_notify_close
-#define purple_notify_close_with_handle  purple_notify_close_with_handle
-
-#define purple_notify_info     purple_notify_info
-#define purple_notify_warning  purple_notify_warning
-#define purple_notify_error    purple_notify_error
-
-#define purple_notify_set_ui_ops  purple_notify_set_ui_ops
-#define purple_notify_get_ui_ops  purple_notify_get_ui_ops
-
-#define purple_notify_get_handle  purple_notify_get_handle
-
-#define purple_notify_init    purple_notify_init
-#define purple_notify_uninit  purple_notify_uninit
+#define GaimNotifyUserInfoEntry  PurpleNotifyUserInfoEntry
+#define GaimNotifyUserInfo       PurpleNotifyUserInfo
+
+#define GaimNotifyCloseCallback  PurpleNotifyCloseCallback
+
+#define GAIM_NOTIFY_MESSAGE        PURPLE_NOTIFY_MESSAGE
+#define GAIM_NOTIFY_EMAIL          PURPLE_NOTIFY_EMAIL
+#define GAIM_NOTIFY_EMAILS         PURPLE_NOTIFY_EMAILS
+#define GAIM_NOTIFY_FORMATTED      PURPLE_NOTIFY_FORMATTED
+#define GAIM_NOTIFY_SEARCHRESULTS  PURPLE_NOTIFY_SEARCHRESULTS
+#define GAIM_NOTIFY_USERINFO       PURPLE_NOTIFY_USERINFO
+#define GAIM_NOTIFY_URI            PURPLE_NOTIFY_URI
+
+#define GaimNotifyType  PurpleNotifyType
+
+#define GAIM_NOTIFY_MSG_ERROR    PURPLE_NOTIFY_MSG_ERROR
+#define GAIM_NOTIFY_MSG_WARNING  PURPLE_NOTIFY_MSG_WARNING
+#define GAIM_NOTIFY_MSG_INFO     PURPLE_NOTIFY_MSG_INFO
+
+#define GaimNotifyMsgType  PurpleNotifyMsgType
+
+#define GAIM_NOTIFY_BUTTON_LABELED   PURPLE_NOTIFY_BUTTON_LABELED
+#define GAIM_NOTIFY_BUTTON_CONTINUE  PURPLE_NOTIFY_BUTTON_CONTINUE
+#define GAIM_NOTIFY_BUTTON_ADD       PURPLE_NOTIFY_BUTTON_ADD
+#define GAIM_NOTIFY_BUTTON_INFO      PURPLE_NOTIFY_BUTTON_INFO
+#define GAIM_NOTIFY_BUTTON_IM        PURPLE_NOTIFY_BUTTON_IM
+#define GAIM_NOTIFY_BUTTON_JOIN      PURPLE_NOTIFY_BUTTON_JOIN
+#define GAIM_NOTIFY_BUTTON_INVITE    PURPLE_NOTIFY_BUTTON_INVITE
+
+#define GaimNotifySearchButtonType  PurpleNotifySearchButtonType
+
+#define GaimNotifySearchResults  PurpleNotifySearchResults
+
+#define GAIM_NOTIFY_USER_INFO_ENTRY_PAIR            PURPLE_NOTIFY_USER_INFO_ENTRY_PAIR
+#define GAIM_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK   PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK
+#define GAIM_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER  PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER
+
+#define GaimNotifyUserInfoEntryType  PurpleNotifyUserInfoEntryType
+
+#define GaimNotifySearchColumn           PurpleNotifySearchColumn
+#define GaimNotifySearchResultsCallback  PurpleNotifySearchResultsCallback
+#define GaimNotifySearchButton           PurpleNotifySearchButton
+
+#define GaimNotifyUiOps  PurpleNotifyUiOps
+
+#define gaim_notify_searchresults                     purple_notify_searchresults
+#define gaim_notify_searchresults_free                purple_notify_searchresults_free
+#define gaim_notify_searchresults_new_rows            purple_notify_searchresults_new_rows
+#define gaim_notify_searchresults_button_add          purple_notify_searchresults_button_add
+#define gaim_notify_searchresults_button_add_labeled  purple_notify_searchresults_button_add_labeled
+#define gaim_notify_searchresults_new                 purple_notify_searchresults_new
+#define gaim_notify_searchresults_column_new          purple_notify_searchresults_column_new
+#define gaim_notify_searchresults_column_add          purple_notify_searchresults_column_add
+#define gaim_notify_searchresults_row_add             purple_notify_searchresults_row_add
+#define gaim_notify_searchresults_get_rows_count      purple_notify_searchresults_get_rows_count
+#define gaim_notify_searchresults_get_columns_count   purple_notify_searchresults_get_columns_count
+#define gaim_notify_searchresults_row_get             purple_notify_searchresults_row_get
+#define gaim_notify_searchresults_column_get_title    purple_notify_searchresults_column_get_title
+
+#define gaim_notify_message    purple_notify_message
+#define gaim_notify_email      purple_notify_email
+#define gaim_notify_emails     purple_notify_emails
+#define gaim_notify_formatted  purple_notify_formatted
+#define gaim_notify_userinfo   purple_notify_userinfo
+
+#define gaim_notify_user_info_new                    purple_notify_user_info_new
+#define gaim_notify_user_info_destroy                purple_notify_user_info_destroy
+#define gaim_notify_user_info_get_entries            purple_notify_user_info_get_entries
+#define gaim_notify_user_info_get_text_with_newline  purple_notify_user_info_get_text_with_newline
+#define gaim_notify_user_info_add_pair               purple_notify_user_info_add_pair
+#define gaim_notify_user_info_prepend_pair           purple_notify_user_info_prepend_pair
+#define gaim_notify_user_info_remove_entry           purple_notify_user_info_remove_entry
+#define gaim_notify_user_info_entry_new              purple_notify_user_info_entry_new
+#define gaim_notify_user_info_add_section_break      purple_notify_user_info_add_section_break
+#define gaim_notify_user_info_add_section_header     purple_notify_user_info_add_section_header
+#define gaim_notify_user_info_remove_last_item       purple_notify_user_info_remove_last_item
+#define gaim_notify_user_info_entry_get_label        purple_notify_user_info_entry_get_label
+#define gaim_notify_user_info_entry_set_label        purple_notify_user_info_entry_set_label
+#define gaim_notify_user_info_entry_get_value        purple_notify_user_info_entry_get_value
+#define gaim_notify_user_info_entry_set_value        purple_notify_user_info_entry_set_value
+#define gaim_notify_user_info_entry_get_type         purple_notify_user_info_entry_get_type
+#define gaim_notify_user_info_entry_set_type         purple_notify_user_info_entry_set_type
+
+#define gaim_notify_uri                purple_notify_uri
+#define gaim_notify_close              purple_notify_close
+#define gaim_notify_close_with_handle  purple_notify_close_with_handle
+
+#define gaim_notify_info     purple_notify_info
+#define gaim_notify_warning  purple_notify_warning
+#define gaim_notify_error    purple_notify_error
+
+#define gaim_notify_set_ui_ops  purple_notify_set_ui_ops
+#define gaim_notify_get_ui_ops  purple_notify_get_ui_ops
+
+#define gaim_notify_get_handle  purple_notify_get_handle
+
+#define gaim_notify_init    purple_notify_init
+#define gaim_notify_uninit  purple_notify_uninit
 
 /* from ntlm.h */
 
-#define purple_ntlm_gen_type1    purple_ntlm_gen_type1
-#define purple_ntlm_parse_type2  purple_ntlm_parse_type2
-#define purple_ntlm_gen_type3    purple_ntlm_gen_type3
+#define gaim_ntlm_gen_type1    purple_ntlm_gen_type1
+#define gaim_ntlm_parse_type2  purple_ntlm_parse_type2
+#define gaim_ntlm_gen_type3    purple_ntlm_gen_type3
 
 /* from plugin.h */
 
-#define PurplePlugin            PurplePlugin
-#define PurplePluginInfo        PurplePluginInfo
-#define PurplePluginUiInfo      PurplePluginUiInfo
-#define PurplePluginLoaderInfo  PurplePluginLoaderInfo
-#define PurplePluginAction      PurplePluginAction
-#define PurplePluginPriority    PurplePluginPriority
-
-#define PURPLE_PLUGIN_UNKNOWN   PURPLE_PLUGIN_UNKNOWN
-#define PURPLE_PLUGIN_STANDARD  PURPLE_PLUGIN_STANDARD
-#define PURPLE_PLUGIN_LOADER    PURPLE_PLUGIN_LOADER
-#define PURPLE_PLUGIN_PROTOCOL  PURPLE_PLUGIN_PROTOCOL
-
-#define PurplePluginType        PurplePluginType
-
-#define PURPLE_PRIORITY_DEFAULT  PURPLE_PRIORITY_DEFAULT
-#define PURPLE_PRIORITY_HIGHEST  PURPLE_PRIORITY_HIGHEST
-#define PURPLE_PRIORITY_LOWEST   PURPLE_PRIORITY_LOWEST
-
-#define PURPLE_PLUGIN_FLAG_INVISIBLE  PURPLE_PLUGIN_FLAG_INVISIBLE
-
-#define PURPLE_PLUGIN_MAGIC  PURPLE_PLUGIN_MAGIC
-
-#define PURPLE_PLUGIN_LOADER_INFO     PURPLE_PLUGIN_LOADER_INFO
-#define PURPLE_PLUGIN_HAS_PREF_FRAME  PURPLE_PLUGIN_HAS_PREF_FRAME
-#define PURPLE_PLUGIN_UI_INFO         PURPLE_PLUGIN_UI_INFO
-
-#define PURPLE_PLUGIN_HAS_ACTIONS  PURPLE_PLUGIN_HAS_ACTIONS
-#define PURPLE_PLUGIN_ACTIONS      PURPLE_PLUGIN_ACTIONS
-
-#define PURPLE_INIT_PLUGIN  PURPLE_INIT_PLUGIN
-
-#define purple_plugin_new              purple_plugin_new
-#define purple_plugin_probe            purple_plugin_probe
-#define purple_plugin_register         purple_plugin_register
-#define purple_plugin_load             purple_plugin_load
-#define purple_plugin_unload           purple_plugin_unload
-#define purple_plugin_reload           purple_plugin_reload
-#define purple_plugin_destroy          purple_plugin_destroy
-#define purple_plugin_is_loaded        purple_plugin_is_loaded
-#define purple_plugin_is_unloadable    purple_plugin_is_unloadable
-#define purple_plugin_get_id           purple_plugin_get_id
-#define purple_plugin_get_name         purple_plugin_get_name
-#define purple_plugin_get_version      purple_plugin_get_version
-#define purple_plugin_get_summary      purple_plugin_get_summary
-#define purple_plugin_get_description  purple_plugin_get_description
-#define purple_plugin_get_author       purple_plugin_get_author
-#define purple_plugin_get_homepage     purple_plugin_get_homepage
-
-#define purple_plugin_ipc_register        purple_plugin_ipc_register
-#define purple_plugin_ipc_unregister      purple_plugin_ipc_unregister
-#define purple_plugin_ipc_unregister_all  purple_plugin_ipc_unregister_all
-#define purple_plugin_ipc_get_params      purple_plugin_ipc_get_params
-#define purple_plugin_ipc_call            purple_plugin_ipc_call
-
-#define purple_plugins_add_search_path  purple_plugins_add_search_path
-#define purple_plugins_unload_all       purple_plugins_unload_all
-#define purple_plugins_destroy_all      purple_plugins_destroy_all
-#define purple_plugins_save_loaded      purple_plugins_save_loaded
-#define purple_plugins_load_saved       purple_plugins_load_saved
-#define purple_plugins_probe            purple_plugins_probe
-#define purple_plugins_enabled          purple_plugins_enabled
-
-#define purple_plugins_register_probe_notify_cb     purple_plugins_register_probe_notify_cb
-#define purple_plugins_unregister_probe_notify_cb   purple_plugins_unregister_probe_notify_cb
-#define purple_plugins_register_load_notify_cb      purple_plugins_register_load_notify_cb
-#define purple_plugins_unregister_load_notify_cb    purple_plugins_unregister_load_notify_cb
-#define purple_plugins_register_unload_notify_cb    purple_plugins_register_unload_notify_cb
-#define purple_plugins_unregister_unload_notify_cb  purple_plugins_unregister_unload_notify_cb
-
-#define purple_plugins_find_with_name      purple_plugins_find_with_name
-#define purple_plugins_find_with_filename  purple_plugins_find_with_filename
-#define purple_plugins_find_with_basename  purple_plugins_find_with_basename
-#define purple_plugins_find_with_id        purple_plugins_find_with_id
-
-#define purple_plugins_get_loaded     purple_plugins_get_loaded
-#define purple_plugins_get_protocols  purple_plugins_get_protocols
-#define purple_plugins_get_all        purple_plugins_get_all
-
-#define purple_plugins_get_handle  purple_plugins_get_handle
-#define purple_plugins_init        purple_plugins_init
-#define purple_plugins_uninit      purple_plugins_uninit
-
-#define purple_plugin_action_new   purple_plugin_action_new
-#define purple_plugin_action_free  purple_plugin_action_free
+#ifdef GAIM_PLUGINS
+#ifndef PURPLE_PLUGINS
+#define PURPLE_PLUGINS
+#endif
+#endif
+
+#define GaimPlugin            PurplePlugin
+#define GaimPluginInfo        PurplePluginInfo
+#define GaimPluginUiInfo      PurplePluginUiInfo
+#define GaimPluginLoaderInfo  PurplePluginLoaderInfo
+#define GaimPluginAction      PurplePluginAction
+#define GaimPluginPriority    PurplePluginPriority
+
+#define GAIM_PLUGIN_UNKNOWN   PURPLE_PLUGIN_UNKNOWN
+#define GAIM_PLUGIN_STANDARD  PURPLE_PLUGIN_STANDARD
+#define GAIM_PLUGIN_LOADER    PURPLE_PLUGIN_LOADER
+#define GAIM_PLUGIN_PROTOCOL  PURPLE_PLUGIN_PROTOCOL
+
+#define GaimPluginType        PurplePluginType
+
+#define GAIM_PRIORITY_DEFAULT  PURPLE_PRIORITY_DEFAULT
+#define GAIM_PRIORITY_HIGHEST  PURPLE_PRIORITY_HIGHEST
+#define GAIM_PRIORITY_LOWEST   PURPLE_PRIORITY_LOWEST
+
+#define GAIM_PLUGIN_FLAG_INVISIBLE  PURPLE_PLUGIN_FLAG_INVISIBLE
+
+#define GAIM_PLUGIN_MAGIC  PURPLE_PLUGIN_MAGIC
+
+#define GAIM_PLUGIN_LOADER_INFO     PURPLE_PLUGIN_LOADER_INFO
+#define GAIM_PLUGIN_HAS_PREF_FRAME  PURPLE_PLUGIN_HAS_PREF_FRAME
+#define GAIM_PLUGIN_UI_INFO         PURPLE_PLUGIN_UI_INFO
+
+#define GAIM_PLUGIN_HAS_ACTIONS  PURPLE_PLUGIN_HAS_ACTIONS
+#define GAIM_PLUGIN_ACTIONS      PURPLE_PLUGIN_ACTIONS
+
+#define GAIM_INIT_PLUGIN(pluginname, initfunc, plugininfo)  PURPLE_INIT_PLUGIN(pluginname, initfunc, plugininfo)
+
+#define gaim_plugin_new              purple_plugin_new
+#define gaim_plugin_probe            purple_plugin_probe
+#define gaim_plugin_register         purple_plugin_register
+#define gaim_plugin_load             purple_plugin_load
+#define gaim_plugin_unload           purple_plugin_unload
+#define gaim_plugin_reload           purple_plugin_reload
+#define gaim_plugin_destroy          purple_plugin_destroy
+#define gaim_plugin_is_loaded        purple_plugin_is_loaded
+#define gaim_plugin_is_unloadable    purple_plugin_is_unloadable
+#define gaim_plugin_get_id           purple_plugin_get_id
+#define gaim_plugin_get_name         purple_plugin_get_name
+#define gaim_plugin_get_version      purple_plugin_get_version
+#define gaim_plugin_get_summary      purple_plugin_get_summary
+#define gaim_plugin_get_description  purple_plugin_get_description
+#define gaim_plugin_get_author       purple_plugin_get_author
+#define gaim_plugin_get_homepage     purple_plugin_get_homepage
+
+#define gaim_plugin_ipc_register        purple_plugin_ipc_register
+#define gaim_plugin_ipc_unregister      purple_plugin_ipc_unregister
+#define gaim_plugin_ipc_unregister_all  purple_plugin_ipc_unregister_all
+#define gaim_plugin_ipc_get_params      purple_plugin_ipc_get_params
+#define gaim_plugin_ipc_call            purple_plugin_ipc_call
+
+#define gaim_plugins_add_search_path  purple_plugins_add_search_path
+#define gaim_plugins_unload_all       purple_plugins_unload_all
+#define gaim_plugins_destroy_all      purple_plugins_destroy_all
+#define gaim_plugins_save_loaded      purple_plugins_save_loaded
+#define gaim_plugins_load_saved       purple_plugins_load_saved
+#define gaim_plugins_probe            purple_plugins_probe
+#define gaim_plugins_enabled          purple_plugins_enabled
+
+#define gaim_plugins_register_probe_notify_cb     purple_plugins_register_probe_notify_cb
+#define gaim_plugins_unregister_probe_notify_cb   purple_plugins_unregister_probe_notify_cb
+#define gaim_plugins_register_load_notify_cb      purple_plugins_register_load_notify_cb
+#define gaim_plugins_unregister_load_notify_cb    purple_plugins_unregister_load_notify_cb
+#define gaim_plugins_register_unload_notify_cb    purple_plugins_register_unload_notify_cb
+#define gaim_plugins_unregister_unload_notify_cb  purple_plugins_unregister_unload_notify_cb
+
+#define gaim_plugins_find_with_name      purple_plugins_find_with_name
+#define gaim_plugins_find_with_filename  purple_plugins_find_with_filename
+#define gaim_plugins_find_with_basename  purple_plugins_find_with_basename
+#define gaim_plugins_find_with_id        purple_plugins_find_with_id
+
+#define gaim_plugins_get_loaded     purple_plugins_get_loaded
+#define gaim_plugins_get_protocols  purple_plugins_get_protocols
+#define gaim_plugins_get_all        purple_plugins_get_all
+
+#define gaim_plugins_get_handle  purple_plugins_get_handle
+#define gaim_plugins_init        purple_plugins_init
+#define gaim_plugins_uninit      purple_plugins_uninit
+
+#define gaim_plugin_action_new   purple_plugin_action_new
+#define gaim_plugin_action_free  purple_plugin_action_free
 
 /* pluginpref.h */
 
-#define PurplePluginPrefFrame  PurplePluginPrefFrame
-#define PurplePluginPref       PurplePluginPref
-
-#define PURPLE_STRING_FORMAT_TYPE_NONE       PURPLE_STRING_FORMAT_TYPE_NONE
-#define PURPLE_STRING_FORMAT_TYPE_MULTILINE  PURPLE_STRING_FORMAT_TYPE_MULTILINE
-#define PURPLE_STRING_FORMAT_TYPE_HTML       PURPLE_STRING_FORMAT_TYPE_HTML
-
-#define PurpleStringFormatType  PurpleStringFormatType
-
-#define PURPLE_PLUGIN_PREF_NONE           PURPLE_PLUGIN_PREF_NONE
-#define PURPLE_PLUGIN_PREF_CHOICE         PURPLE_PLUGIN_PREF_CHOICE
-#define PURPLE_PLUGIN_PREF_INFO           PURPLE_PLUGIN_PREF_INFO
-#define PURPLE_PLUGIN_PREF_STRING_FORMAT  PURPLE_PLUGIN_PREF_STRING_FORMAT
-
-#define PurplePluginPrefType  PurplePluginPrefType
-
-#define purple_plugin_pref_frame_new        purple_plugin_pref_frame_new
-#define purple_plugin_pref_frame_destroy    purple_plugin_pref_frame_destroy
-#define purple_plugin_pref_frame_add        purple_plugin_pref_frame_add
-#define purple_plugin_pref_frame_get_prefs  purple_plugin_pref_frame_get_prefs
-
-#define purple_plugin_pref_new                      purple_plugin_pref_new
-#define purple_plugin_pref_new_with_name            purple_plugin_pref_new_with_name
-#define purple_plugin_pref_new_with_label           purple_plugin_pref_new_with_label
-#define purple_plugin_pref_new_with_name_and_label  purple_plugin_pref_new_with_name_and_label
-#define purple_plugin_pref_destroy                  purple_plugin_pref_destroy
-#define purple_plugin_pref_set_name                 purple_plugin_pref_set_name
-#define purple_plugin_pref_get_name                 purple_plugin_pref_get_name
-#define purple_plugin_pref_set_label                purple_plugin_pref_set_label
-#define purple_plugin_pref_get_label                purple_plugin_pref_get_label
-#define purple_plugin_pref_set_bounds               purple_plugin_pref_set_bounds
-#define purple_plugin_pref_get_bounds               purple_plugin_pref_get_bounds
-#define purple_plugin_pref_set_type                 purple_plugin_pref_set_type
-#define purple_plugin_pref_get_type                 purple_plugin_pref_get_type
-#define purple_plugin_pref_add_choice               purple_plugin_pref_add_choice
-#define purple_plugin_pref_get_choices              purple_plugin_pref_get_choices
-#define purple_plugin_pref_set_max_length           purple_plugin_pref_set_max_length
-#define purple_plugin_pref_get_max_length           purple_plugin_pref_get_max_length
-#define purple_plugin_pref_set_masked               purple_plugin_pref_set_masked
-#define purple_plugin_pref_get_masked               purple_plugin_pref_get_masked
-#define purple_plugin_pref_set_format_type          purple_plugin_pref_set_format_type
-#define purple_plugin_pref_get_format_type          purple_plugin_pref_get_format_type
+#define GaimPluginPrefFrame  PurplePluginPrefFrame
+#define GaimPluginPref       PurplePluginPref
+
+#define GAIM_STRING_FORMAT_TYPE_NONE       PURPLE_STRING_FORMAT_TYPE_NONE
+#define GAIM_STRING_FORMAT_TYPE_MULTILINE  PURPLE_STRING_FORMAT_TYPE_MULTILINE
+#define GAIM_STRING_FORMAT_TYPE_HTML       PURPLE_STRING_FORMAT_TYPE_HTML
+
+#define GaimStringFormatType  PurpleStringFormatType
+
+#define GAIM_PLUGIN_PREF_NONE           PURPLE_PLUGIN_PREF_NONE
+#define GAIM_PLUGIN_PREF_CHOICE         PURPLE_PLUGIN_PREF_CHOICE
+#define GAIM_PLUGIN_PREF_INFO           PURPLE_PLUGIN_PREF_INFO
+#define GAIM_PLUGIN_PREF_STRING_FORMAT  PURPLE_PLUGIN_PREF_STRING_FORMAT
+
+#define GaimPluginPrefType  PurplePluginPrefType
+
+#define gaim_plugin_pref_frame_new        purple_plugin_pref_frame_new
+#define gaim_plugin_pref_frame_destroy    purple_plugin_pref_frame_destroy
+#define gaim_plugin_pref_frame_add        purple_plugin_pref_frame_add
+#define gaim_plugin_pref_frame_get_prefs  purple_plugin_pref_frame_get_prefs
+
+#define gaim_plugin_pref_new                      purple_plugin_pref_new
+#define gaim_plugin_pref_new_with_name            purple_plugin_pref_new_with_name
+#define gaim_plugin_pref_new_with_label           purple_plugin_pref_new_with_label
+#define gaim_plugin_pref_new_with_name_and_label  purple_plugin_pref_new_with_name_and_label
+#define gaim_plugin_pref_destroy                  purple_plugin_pref_destroy
+#define gaim_plugin_pref_set_name                 purple_plugin_pref_set_name
+#define gaim_plugin_pref_get_name                 purple_plugin_pref_get_name
+#define gaim_plugin_pref_set_label                purple_plugin_pref_set_label
+#define gaim_plugin_pref_get_label                purple_plugin_pref_get_label
+#define gaim_plugin_pref_set_bounds               purple_plugin_pref_set_bounds
+#define gaim_plugin_pref_get_bounds               purple_plugin_pref_get_bounds
+#define gaim_plugin_pref_set_type                 purple_plugin_pref_set_type
+#define gaim_plugin_pref_get_type                 purple_plugin_pref_get_type
+#define gaim_plugin_pref_add_choice               purple_plugin_pref_add_choice
+#define gaim_plugin_pref_get_choices              purple_plugin_pref_get_choices
+#define gaim_plugin_pref_set_max_length           purple_plugin_pref_set_max_length
+#define gaim_plugin_pref_get_max_length           purple_plugin_pref_get_max_length
+#define gaim_plugin_pref_set_masked               purple_plugin_pref_set_masked
+#define gaim_plugin_pref_get_masked               purple_plugin_pref_get_masked
+#define gaim_plugin_pref_set_format_type          purple_plugin_pref_set_format_type
+#define gaim_plugin_pref_get_format_type          purple_plugin_pref_get_format_type
 
 /* from pounce.h */
 
-#define PurplePounce  PurplePounce
-
-#define PURPLE_POUNCE_NONE              PURPLE_POUNCE_NONE
-#define PURPLE_POUNCE_SIGNON            PURPLE_POUNCE_SIGNON
-#define PURPLE_POUNCE_SIGNOFF           PURPLE_POUNCE_SIGNOFF
-#define PURPLE_POUNCE_AWAY              PURPLE_POUNCE_AWAY
-#define PURPLE_POUNCE_AWAY_RETURN       PURPLE_POUNCE_AWAY_RETURN
-#define PURPLE_POUNCE_IDLE              PURPLE_POUNCE_IDLE
-#define PURPLE_POUNCE_IDLE_RETURN       PURPLE_POUNCE_IDLE_RETURN
-#define PURPLE_POUNCE_TYPING            PURPLE_POUNCE_TYPING
-#define PURPLE_POUNCE_TYPED             PURPLE_POUNCE_TYPED
-#define PURPLE_POUNCE_TYPING_STOPPED    PURPLE_POUNCE_TYPING_STOPPED
-#define PURPLE_POUNCE_MESSAGE_RECEIVED  PURPLE_POUNCE_MESSAGE_RECEIVED
-#define PurplePounceEvent  PurplePounceEvent
-
-#define PURPLE_POUNCE_OPTION_NONE  PURPLE_POUNCE_OPTION_NONE
-#define PURPLE_POUNCE_OPTION_AWAY  PURPLE_POUNCE_OPTION_AWAY
-#define PurplePounceOption  PurplePounceOption
-
-#define PurplePounceCb  PurplePounceCb
-
-#define purple_pounce_new                     purple_pounce_new
-#define purple_pounce_destroy                 purple_pounce_destroy
-#define purple_pounce_destroy_all_by_account  purple_pounce_destroy_all_by_account
-#define purple_pounce_set_events              purple_pounce_set_events
-#define purple_pounce_set_options             purple_pounce_set_options
-#define purple_pounce_set_pouncer             purple_pounce_set_pouncer
-#define purple_pounce_set_pouncee             purple_pounce_set_pouncee
-#define purple_pounce_set_save                purple_pounce_set_save
-#define purple_pounce_action_register         purple_pounce_action_register
-#define purple_pounce_action_set_enabled      purple_pounce_action_set_enabled
-#define purple_pounce_action_set_attribute    purple_pounce_action_set_attribute
-#define purple_pounce_set_data                purple_pounce_set_data
-#define purple_pounce_get_events              purple_pounce_get_events
-#define purple_pounce_get_options             purple_pounce_get_options
-#define purple_pounce_get_pouncer             purple_pounce_get_pouncer
-#define purple_pounce_get_pouncee             purple_pounce_get_pouncee
-#define purple_pounce_get_save                purple_pounce_get_save
-#define purple_pounce_action_is_enabled       purple_pounce_action_is_enabled
-#define purple_pounce_action_get_attribute    purple_pounce_action_get_attribute
-#define purple_pounce_get_data                purple_pounce_get_data
-#define purple_pounce_execute                 purple_pounce_execute
-
-#define purple_find_pounce                 purple_find_pounce
-#define purple_pounces_load                purple_pounces_load
-#define purple_pounces_register_handler    purple_pounces_register_handler
-#define purple_pounces_unregister_handler  purple_pounces_unregister_handler
-#define purple_pounces_get_all             purple_pounces_get_all
-#define purple_pounces_get_handle          purple_pounces_get_handle
-#define purple_pounces_init                purple_pounces_init
-#define purple_pounces_uninit              purple_pounces_uninit
+#define GaimPounce  PurplePounce
+
+#define GAIM_POUNCE_NONE              PURPLE_POUNCE_NONE
+#define GAIM_POUNCE_SIGNON            PURPLE_POUNCE_SIGNON
+#define GAIM_POUNCE_SIGNOFF           PURPLE_POUNCE_SIGNOFF
+#define GAIM_POUNCE_AWAY              PURPLE_POUNCE_AWAY
+#define GAIM_POUNCE_AWAY_RETURN       PURPLE_POUNCE_AWAY_RETURN
+#define GAIM_POUNCE_IDLE              PURPLE_POUNCE_IDLE
+#define GAIM_POUNCE_IDLE_RETURN       PURPLE_POUNCE_IDLE_RETURN
+#define GAIM_POUNCE_TYPING            PURPLE_POUNCE_TYPING
+#define GAIM_POUNCE_TYPED             PURPLE_POUNCE_TYPED
+#define GAIM_POUNCE_TYPING_STOPPED    PURPLE_POUNCE_TYPING_STOPPED
+#define GAIM_POUNCE_MESSAGE_RECEIVED  PURPLE_POUNCE_MESSAGE_RECEIVED
+#define GaimPounceEvent  PurplePounceEvent
+
+#define GAIM_POUNCE_OPTION_NONE  PURPLE_POUNCE_OPTION_NONE
+#define GAIM_POUNCE_OPTION_AWAY  PURPLE_POUNCE_OPTION_AWAY
+#define GaimPounceOption  PurplePounceOption
+
+#define GaimPounceCb  PurplePounceCb
+
+#define gaim_pounce_new                     purple_pounce_new
+#define gaim_pounce_destroy                 purple_pounce_destroy
+#define gaim_pounce_destroy_all_by_account  purple_pounce_destroy_all_by_account
+#define gaim_pounce_set_events              purple_pounce_set_events
+#define gaim_pounce_set_options             purple_pounce_set_options
+#define gaim_pounce_set_pouncer             purple_pounce_set_pouncer
+#define gaim_pounce_set_pouncee             purple_pounce_set_pouncee
+#define gaim_pounce_set_save                purple_pounce_set_save
+#define gaim_pounce_action_register         purple_pounce_action_register
+#define gaim_pounce_action_set_enabled      purple_pounce_action_set_enabled
+#define gaim_pounce_action_set_attribute    purple_pounce_action_set_attribute
+#define gaim_pounce_set_data                purple_pounce_set_data
+#define gaim_pounce_get_events              purple_pounce_get_events
+#define gaim_pounce_get_options             purple_pounce_get_options
+#define gaim_pounce_get_pouncer             purple_pounce_get_pouncer
+#define gaim_pounce_get_pouncee             purple_pounce_get_pouncee
+#define gaim_pounce_get_save                purple_pounce_get_save
+#define gaim_pounce_action_is_enabled       purple_pounce_action_is_enabled
+#define gaim_pounce_action_get_attribute    purple_pounce_action_get_attribute
+#define gaim_pounce_get_data                purple_pounce_get_data
+#define gaim_pounce_execute                 purple_pounce_execute
+
+#define gaim_find_pounce                 purple_find_pounce
+#define gaim_pounces_load                purple_pounces_load
+#define gaim_pounces_register_handler    purple_pounces_register_handler
+#define gaim_pounces_unregister_handler  purple_pounces_unregister_handler
+#define gaim_pounces_get_all             purple_pounces_get_all
+#define gaim_pounces_get_handle          purple_pounces_get_handle
+#define gaim_pounces_init                purple_pounces_init
+#define gaim_pounces_uninit              purple_pounces_uninit
 
 /* from prefs.h */
 
 
-#define PURPLE_PREF_NONE         PURPLE_PREF_NONE
-#define PURPLE_PREF_BOOLEAN      PURPLE_PREF_BOOLEAN
-#define PURPLE_PREF_INT          PURPLE_PREF_INT
-#define PURPLE_PREF_STRING       PURPLE_PREF_STRING
-#define PURPLE_PREF_STRING_LIST  PURPLE_PREF_STRING_LIST
-#define PURPLE_PREF_PATH         PURPLE_PREF_PATH
-#define PURPLE_PREF_PATH_LIST    PURPLE_PREF_PATH_LIST
-#define PurplePrefType  PurplePrefType
-
-#define PurplePrefCallback  PurplePrefCallback
-
-#define purple_prefs_get_handle             purple_prefs_get_handle
-#define purple_prefs_init                   purple_prefs_init
-#define purple_prefs_uninit                 purple_prefs_uninit
-#define purple_prefs_add_none               purple_prefs_add_none
-#define purple_prefs_add_bool               purple_prefs_add_bool
-#define purple_prefs_add_int                purple_prefs_add_int
-#define purple_prefs_add_string             purple_prefs_add_string
-#define purple_prefs_add_string_list        purple_prefs_add_string_list
-#define purple_prefs_add_path               purple_prefs_add_path
-#define purple_prefs_add_path_list          purple_prefs_add_path_list
-#define purple_prefs_remove                 purple_prefs_remove
-#define purple_prefs_rename                 purple_prefs_rename
-#define purple_prefs_rename_boolean_toggle  purple_prefs_rename_boolean_toggle
-#define purple_prefs_destroy                purple_prefs_destroy
-#define purple_prefs_set_generic            purple_prefs_set_generic
-#define purple_prefs_set_bool               purple_prefs_set_bool
-#define purple_prefs_set_int                purple_prefs_set_int
-#define purple_prefs_set_string             purple_prefs_set_string
-#define purple_prefs_set_string_list        purple_prefs_set_string_list
-#define purple_prefs_set_path               purple_prefs_set_path
-#define purple_prefs_set_path_list          purple_prefs_set_path_list
-#define purple_prefs_exists                 purple_prefs_exists
-#define purple_prefs_get_type               purple_prefs_get_type
-#define purple_prefs_get_bool               purple_prefs_get_bool
-#define purple_prefs_get_int                purple_prefs_get_int
-#define purple_prefs_get_string             purple_prefs_get_string
-#define purple_prefs_get_string_list        purple_prefs_get_string_list
-#define purple_prefs_get_path               purple_prefs_get_path
-#define purple_prefs_get_path_list          purple_prefs_get_path_list
-#define purple_prefs_connect_callback       purple_prefs_connect_callback
-#define purple_prefs_disconnect_callback    purple_prefs_disconnect_callback
-#define purple_prefs_disconnect_by_handle   purple_prefs_disconnect_by_handle
-#define purple_prefs_trigger_callback       purple_prefs_trigger_callback
-#define purple_prefs_load                   purple_prefs_load
-#define purple_prefs_update_old             purple_prefs_update_old
+#define GAIM_PREF_NONE         PURPLE_PREF_NONE
+#define GAIM_PREF_BOOLEAN      PURPLE_PREF_BOOLEAN
+#define GAIM_PREF_INT          PURPLE_PREF_INT
+#define GAIM_PREF_STRING       PURPLE_PREF_STRING
+#define GAIM_PREF_STRING_LIST  PURPLE_PREF_STRING_LIST
+#define GAIM_PREF_PATH         PURPLE_PREF_PATH
+#define GAIM_PREF_PATH_LIST    PURPLE_PREF_PATH_LIST
+#define GaimPrefType  PurplePrefType
+
+#define GaimPrefCallback  PurplePrefCallback
+
+#define gaim_prefs_get_handle             purple_prefs_get_handle
+#define gaim_prefs_init                   purple_prefs_init
+#define gaim_prefs_uninit                 purple_prefs_uninit
+#define gaim_prefs_add_none               purple_prefs_add_none
+#define gaim_prefs_add_bool               purple_prefs_add_bool
+#define gaim_prefs_add_int                purple_prefs_add_int
+#define gaim_prefs_add_string             purple_prefs_add_string
+#define gaim_prefs_add_string_list        purple_prefs_add_string_list
+#define gaim_prefs_add_path               purple_prefs_add_path
+#define gaim_prefs_add_path_list          purple_prefs_add_path_list
+#define gaim_prefs_remove                 purple_prefs_remove
+#define gaim_prefs_rename                 purple_prefs_rename
+#define gaim_prefs_rename_boolean_toggle  purple_prefs_rename_boolean_toggle
+#define gaim_prefs_destroy                purple_prefs_destroy
+#define gaim_prefs_set_generic            purple_prefs_set_generic
+#define gaim_prefs_set_bool               purple_prefs_set_bool
+#define gaim_prefs_set_int                purple_prefs_set_int
+#define gaim_prefs_set_string             purple_prefs_set_string
+#define gaim_prefs_set_string_list        purple_prefs_set_string_list
+#define gaim_prefs_set_path               purple_prefs_set_path
+#define gaim_prefs_set_path_list          purple_prefs_set_path_list
+#define gaim_prefs_exists                 purple_prefs_exists
+#define gaim_prefs_get_type               purple_prefs_get_type
+#define gaim_prefs_get_bool               purple_prefs_get_bool
+#define gaim_prefs_get_int                purple_prefs_get_int
+#define gaim_prefs_get_string             purple_prefs_get_string
+#define gaim_prefs_get_string_list        purple_prefs_get_string_list
+#define gaim_prefs_get_path               purple_prefs_get_path
+#define gaim_prefs_get_path_list          purple_prefs_get_path_list
+#define gaim_prefs_connect_callback       purple_prefs_connect_callback
+#define gaim_prefs_disconnect_callback    purple_prefs_disconnect_callback
+#define gaim_prefs_disconnect_by_handle   purple_prefs_disconnect_by_handle
+#define gaim_prefs_trigger_callback       purple_prefs_trigger_callback
+#define gaim_prefs_load                   purple_prefs_load
+#define gaim_prefs_update_old             purple_prefs_update_old
 
 /* from privacy.h */
 
-#define PURPLE_PRIVACY_ALLOW_ALL        PURPLE_PRIVACY_ALLOW_ALL
-#define PURPLE_PRIVACY_DENY_ALL         PURPLE_PRIVACY_DENY_ALL
-#define PURPLE_PRIVACY_ALLOW_USERS      PURPLE_PRIVACY_ALLOW_USERS
-#define PURPLE_PRIVACY_DENY_USERS       PURPLE_PRIVACY_DENY_USERS
-#define PURPLE_PRIVACY_ALLOW_BUDDYLIST  PURPLE_PRIVACY_ALLOW_BUDDYLIST
-#define PurplePrivacyType  PurplePrivacyType
-
-#define PurplePrivacyUiOps  PurplePrivacyUiOps
-
-#define purple_privacy_permit_add     purple_privacy_permit_add
-#define purple_privacy_permit_remove  purple_privacy_permit_remove
-#define purple_privacy_deny_add       purple_privacy_deny_add
-#define purple_privacy_deny_remove    purple_privacy_deny_remove
-#define purple_privacy_allow          purple_privacy_allow
-#define purple_privacy_deny           purple_privacy_deny
-#define purple_privacy_check          purple_privacy_check
-#define purple_privacy_set_ui_ops     purple_privacy_set_ui_ops
-#define purple_privacy_get_ui_ops     purple_privacy_get_ui_ops
-#define purple_privacy_init           purple_privacy_init
+#define GAIM_PRIVACY_ALLOW_ALL        PURPLE_PRIVACY_ALLOW_ALL
+#define GAIM_PRIVACY_DENY_ALL         PURPLE_PRIVACY_DENY_ALL
+#define GAIM_PRIVACY_ALLOW_USERS      PURPLE_PRIVACY_ALLOW_USERS
+#define GAIM_PRIVACY_DENY_USERS       PURPLE_PRIVACY_DENY_USERS
+#define GAIM_PRIVACY_ALLOW_BUDDYLIST  PURPLE_PRIVACY_ALLOW_BUDDYLIST
+#define GaimPrivacyType  PurplePrivacyType
+
+#define GaimPrivacyUiOps  PurplePrivacyUiOps
+
+#define gaim_privacy_permit_add     purple_privacy_permit_add
+#define gaim_privacy_permit_remove  purple_privacy_permit_remove
+#define gaim_privacy_deny_add       purple_privacy_deny_add
+#define gaim_privacy_deny_remove    purple_privacy_deny_remove
+#define gaim_privacy_allow          purple_privacy_allow
+#define gaim_privacy_deny           purple_privacy_deny
+#define gaim_privacy_check          purple_privacy_check
+#define gaim_privacy_set_ui_ops     purple_privacy_set_ui_ops
+#define gaim_privacy_get_ui_ops     purple_privacy_get_ui_ops
+#define gaim_privacy_init           purple_privacy_init
 
 /* from proxy.h */
 
-#define PURPLE_PROXY_USE_GLOBAL  PURPLE_PROXY_USE_GLOBAL
-#define PURPLE_PROXY_NONE        PURPLE_PROXY_NONE
-#define PURPLE_PROXY_HTTP        PURPLE_PROXY_HTTP
-#define PURPLE_PROXY_SOCKS4      PURPLE_PROXY_SOCKS4
-#define PURPLE_PROXY_SOCKS5      PURPLE_PROXY_SOCKS5
-#define PURPLE_PROXY_USE_ENVVAR  PURPLE_PROXY_USE_ENVVAR
-#define PurpleProxyType  PurpleProxyType
-
-#define PurpleProxyInfo  PurpleProxyInfo
-
-#define PurpleProxyConnectData      PurpleProxyConnectData
-#define PurpleProxyConnectFunction  PurpleProxyConnectFunction
-
-#define purple_proxy_info_new           purple_proxy_info_new
-#define purple_proxy_info_destroy       purple_proxy_info_destroy
-#define purple_proxy_info_set_type      purple_proxy_info_set_type
-#define purple_proxy_info_set_host      purple_proxy_info_set_host
-#define purple_proxy_info_set_port      purple_proxy_info_set_port
-#define purple_proxy_info_set_username  purple_proxy_info_set_username
-#define purple_proxy_info_set_password  purple_proxy_info_set_password
-#define purple_proxy_info_get_type      purple_proxy_info_get_type
-#define purple_proxy_info_get_host      purple_proxy_info_get_host
-#define purple_proxy_info_get_port      purple_proxy_info_get_port
-#define purple_proxy_info_get_username  purple_proxy_info_get_username
-#define purple_proxy_info_get_password  purple_proxy_info_get_password
-
-#define purple_global_proxy_get_info    purple_global_proxy_get_info
-#define purple_proxy_get_handle         purple_proxy_get_handle
-#define purple_proxy_init               purple_proxy_init
-#define purple_proxy_uninit             purple_proxy_uninit
-#define purple_proxy_get_setup          purple_proxy_get_setup
-
-#define purple_proxy_connect                     purple_proxy_connect
-#define purple_proxy_connect_socks5              purple_proxy_connect_socks5
-#define purple_proxy_connect_cancel              purple_proxy_connect_cancel
-#define purple_proxy_connect_cancel_with_handle  purple_proxy_connect_cancel_with_handle
+#define GAIM_PROXY_USE_GLOBAL  PURPLE_PROXY_USE_GLOBAL
+#define GAIM_PROXY_NONE        PURPLE_PROXY_NONE
+#define GAIM_PROXY_HTTP        PURPLE_PROXY_HTTP
+#define GAIM_PROXY_SOCKS4      PURPLE_PROXY_SOCKS4
+#define GAIM_PROXY_SOCKS5      PURPLE_PROXY_SOCKS5
+#define GAIM_PROXY_USE_ENVVAR  PURPLE_PROXY_USE_ENVVAR
+#define GaimProxyType  PurpleProxyType
+
+#define GaimProxyInfo  PurpleProxyInfo
+
+#define GaimProxyConnectData      PurpleProxyConnectData
+#define GaimProxyConnectFunction  PurpleProxyConnectFunction
+
+#define gaim_proxy_info_new           purple_proxy_info_new
+#define gaim_proxy_info_destroy       purple_proxy_info_destroy
+#define gaim_proxy_info_set_type      purple_proxy_info_set_type
+#define gaim_proxy_info_set_host      purple_proxy_info_set_host
+#define gaim_proxy_info_set_port      purple_proxy_info_set_port
+#define gaim_proxy_info_set_username  purple_proxy_info_set_username
+#define gaim_proxy_info_set_password  purple_proxy_info_set_password
+#define gaim_proxy_info_get_type      purple_proxy_info_get_type
+#define gaim_proxy_info_get_host      purple_proxy_info_get_host
+#define gaim_proxy_info_get_port      purple_proxy_info_get_port
+#define gaim_proxy_info_get_username  purple_proxy_info_get_username
+#define gaim_proxy_info_get_password  purple_proxy_info_get_password
+
+#define gaim_global_proxy_get_info    purple_global_proxy_get_info
+#define gaim_proxy_get_handle         purple_proxy_get_handle
+#define gaim_proxy_init               purple_proxy_init
+#define gaim_proxy_uninit             purple_proxy_uninit
+#define gaim_proxy_get_setup          purple_proxy_get_setup
+
+#define gaim_proxy_connect                     purple_proxy_connect
+#define gaim_proxy_connect_socks5              purple_proxy_connect_socks5
+#define gaim_proxy_connect_cancel              purple_proxy_connect_cancel
+#define gaim_proxy_connect_cancel_with_handle  purple_proxy_connect_cancel_with_handle
 
 /* from prpl.h */
 
-#define PurplePluginProtocolInfo  PurplePluginProtocolInfo
-
-#define PURPLE_ICON_SCALE_DISPLAY  PURPLE_ICON_SCALE_DISPLAY
-#define PURPLE_ICON_SCALE_SEND     PURPLE_ICON_SCALE_SEND
-#define PurpleIconScaleRules  PurpleIconScaleRules
-
-#define PurpleBuddyIconSpec  PurpleBuddyIconSpec
-
-#define PurpleProtocolOptions  PurpleProtocolOptions
-
-#define PURPLE_IS_PROTOCOL_PLUGIN  PURPLE_IS_PROTOCOL_PLUGIN
-
-#define PURPLE_PLUGIN_PROTOCOL_INFO  PURPLE_PLUGIN_PROTOCOL_INFO
-
-#define purple_prpl_got_account_idle        purple_prpl_got_account_idle
-#define purple_prpl_got_account_login_time  purple_prpl_got_account_login_time
-#define purple_prpl_got_account_status      purple_prpl_got_account_status
-#define purple_prpl_got_user_idle           purple_prpl_got_user_idle
-#define purple_prpl_got_user_login_time     purple_prpl_got_user_login_time
-#define purple_prpl_got_user_status         purple_prpl_got_user_status
-#define purple_prpl_change_account_status   purple_prpl_change_account_status
-#define purple_prpl_get_statuses            purple_prpl_get_statuses
-
-#define purple_find_prpl  purple_find_prpl
+#define GaimPluginProtocolInfo  PurplePluginProtocolInfo
+
+#define GAIM_ICON_SCALE_DISPLAY  PURPLE_ICON_SCALE_DISPLAY
+#define GAIM_ICON_SCALE_SEND     PURPLE_ICON_SCALE_SEND
+#define GaimIconScaleRules  PurpleIconScaleRules
+
+#define GaimBuddyIconSpec  PurpleBuddyIconSpec
+
+#define GaimProtocolOptions  PurpleProtocolOptions
+
+#define GAIM_IS_PROTOCOL_PLUGIN  PURPLE_IS_PROTOCOL_PLUGIN
+
+#define GAIM_PLUGIN_PROTOCOL_INFO  PURPLE_PLUGIN_PROTOCOL_INFO
+
+#define gaim_prpl_got_account_idle        purple_prpl_got_account_idle
+#define gaim_prpl_got_account_login_time  purple_prpl_got_account_login_time
+#define gaim_prpl_got_account_status      purple_prpl_got_account_status
+#define gaim_prpl_got_user_idle           purple_prpl_got_user_idle
+#define gaim_prpl_got_user_login_time     purple_prpl_got_user_login_time
+#define gaim_prpl_got_user_status         purple_prpl_got_user_status
+#define gaim_prpl_change_account_status   purple_prpl_change_account_status
+#define gaim_prpl_get_statuses            purple_prpl_get_statuses
+
+#define gaim_find_prpl  purple_find_prpl
 
 /* from request.h */
 
-#define PURPLE_DEFAULT_ACTION_NONE  PURPLE_DEFAULT_ACTION_NONE
-
-#define PURPLE_REQUEST_INPUT   PURPLE_REQUEST_INPUT
-#define PURPLE_REQUEST_CHOICE  PURPLE_REQUEST_CHOICE
-#define PURPLE_REQUEST_ACTION  PURPLE_REQUEST_ACTION
-#define PURPLE_REQUEST_FIELDS  PURPLE_REQUEST_FIELDS
-#define PURPLE_REQUEST_FILE    PURPLE_REQUEST_FILE
-#define PURPLE_REQUEST_FOLDER  PURPLE_REQUEST_FOLDER
-#define PurpleRequestType  PurpleRequestType
-
-#define PURPLE_REQUEST_FIELD_NONE     PURPLE_REQUEST_FIELD_NONE
-#define PURPLE_REQUEST_FIELD_STRING   PURPLE_REQUEST_FIELD_STRING
-#define PURPLE_REQUEST_FIELD_INTEGER  PURPLE_REQUEST_FIELD_INTEGER
-#define PURPLE_REQUEST_FIELD_BOOLEAN  PURPLE_REQUEST_FIELD_BOOLEAN
-#define PURPLE_REQUEST_FIELD_CHOICE   PURPLE_REQUEST_FIELD_CHOICE
-#define PURPLE_REQUEST_FIELD_LIST     PURPLE_REQUEST_FIELD_LIST
-#define PURPLE_REQUEST_FIELD_LABEL    PURPLE_REQUEST_FIELD_LABEL
-#define PURPLE_REQUEST_FIELD_IMAGE    PURPLE_REQUEST_FIELD_IMAGE
-#define PURPLE_REQUEST_FIELD_ACCOUNT  PURPLE_REQUEST_FIELD_ACCOUNT
-#define PurpleRequestFieldType  PurpleRequestFieldType
-
-#define PurpleRequestFields  PurpleRequestFields
-
-#define PurpleRequestFieldGroup  PurpleRequestFieldGroup
-
-#define PurpleRequestField  PurpleRequestField
-
-#define PurpleRequestUiOps  PurpleRequestUiOps
-
-#define PurpleRequestInputCb   PurpleRequestInputCb
-#define PurpleRequestActionCb  PurpleRequestActionCb
-#define PurpleRequestChoiceCb  PurpleRequestChoiceCb
-#define PurpleRequestFieldsCb  PurpleRequestFieldsCb
-#define PurpleRequestFileCb    PurpleRequestFileCb
-
-#define purple_request_fields_new                  purple_request_fields_new
-#define purple_request_fields_destroy              purple_request_fields_destroy
-#define purple_request_fields_add_group            purple_request_fields_add_group
-#define purple_request_fields_get_groups           purple_request_fields_get_groups
-#define purple_request_fields_exists               purple_request_fields_exists
-#define purple_request_fields_get_required         purple_request_fields_get_required
-#define purple_request_fields_is_field_required    purple_request_fields_is_field_required
-#define purple_request_fields_all_required_filled  purple_request_fields_all_required_filled
-#define purple_request_fields_get_field            purple_request_fields_get_field
-#define purple_request_fields_get_string           purple_request_fields_get_string
-#define purple_request_fields_get_integer          purple_request_fields_get_integer
-#define purple_request_fields_get_bool             purple_request_fields_get_bool
-#define purple_request_fields_get_choice           purple_request_fields_get_choice
-#define purple_request_fields_get_account          purple_request_fields_get_account
-
-#define purple_request_field_group_new         purple_request_field_group_new
-#define purple_request_field_group_destroy     purple_request_field_group_destroy
-#define purple_request_field_group_add_field   purple_request_field_group_add_field
-#define purple_request_field_group_get_title   purple_request_field_group_get_title
-#define purple_request_field_group_get_fields  purple_request_field_group_get_fields
-
-#define purple_request_field_new            purple_request_field_new
-#define purple_request_field_destroy        purple_request_field_destroy
-#define purple_request_field_set_label      purple_request_field_set_label
-#define purple_request_field_set_visible    purple_request_field_set_visible
-#define purple_request_field_set_type_hint  purple_request_field_set_type_hint
-#define purple_request_field_set_required   purple_request_field_set_required
-#define purple_request_field_get_type       purple_request_field_get_type
-#define purple_request_field_get_id         purple_request_field_get_id
-#define purple_request_field_get_label      purple_request_field_get_label
-#define purple_request_field_is_visible     purple_request_field_is_visible
-#define purple_request_field_get_type_hint  purple_request_field_get_type_hint
-#define purple_request_field_is_required    purple_request_field_is_required
-
-#define purple_request_field_string_new           purple_request_field_string_new
-#define purple_request_field_string_set_default_value \
+#define GAIM_DEFAULT_ACTION_NONE  PURPLE_DEFAULT_ACTION_NONE
+
+#define GAIM_REQUEST_INPUT   PURPLE_REQUEST_INPUT
+#define GAIM_REQUEST_CHOICE  PURPLE_REQUEST_CHOICE
+#define GAIM_REQUEST_ACTION  PURPLE_REQUEST_ACTION
+#define GAIM_REQUEST_FIELDS  PURPLE_REQUEST_FIELDS
+#define GAIM_REQUEST_FILE    PURPLE_REQUEST_FILE
+#define GAIM_REQUEST_FOLDER  PURPLE_REQUEST_FOLDER
+#define GaimRequestType  PurpleRequestType
+
+#define GAIM_REQUEST_FIELD_NONE     PURPLE_REQUEST_FIELD_NONE
+#define GAIM_REQUEST_FIELD_STRING   PURPLE_REQUEST_FIELD_STRING
+#define GAIM_REQUEST_FIELD_INTEGER  PURPLE_REQUEST_FIELD_INTEGER
+#define GAIM_REQUEST_FIELD_BOOLEAN  PURPLE_REQUEST_FIELD_BOOLEAN
+#define GAIM_REQUEST_FIELD_CHOICE   PURPLE_REQUEST_FIELD_CHOICE
+#define GAIM_REQUEST_FIELD_LIST     PURPLE_REQUEST_FIELD_LIST
+#define GAIM_REQUEST_FIELD_LABEL    PURPLE_REQUEST_FIELD_LABEL
+#define GAIM_REQUEST_FIELD_IMAGE    PURPLE_REQUEST_FIELD_IMAGE
+#define GAIM_REQUEST_FIELD_ACCOUNT  PURPLE_REQUEST_FIELD_ACCOUNT
+#define GaimRequestFieldType  PurpleRequestFieldType
+
+#define GaimRequestFields  PurpleRequestFields
+
+#define GaimRequestFieldGroup  PurpleRequestFieldGroup
+
+#define GaimRequestField  PurpleRequestField
+
+#define GaimRequestUiOps  PurpleRequestUiOps
+
+#define GaimRequestInputCb   PurpleRequestInputCb
+#define GaimRequestActionCb  PurpleRequestActionCb
+#define GaimRequestChoiceCb  PurpleRequestChoiceCb
+#define GaimRequestFieldsCb  PurpleRequestFieldsCb
+#define GaimRequestFileCb    PurpleRequestFileCb
+
+#define gaim_request_fields_new                  purple_request_fields_new
+#define gaim_request_fields_destroy              purple_request_fields_destroy
+#define gaim_request_fields_add_group            purple_request_fields_add_group
+#define gaim_request_fields_get_groups           purple_request_fields_get_groups
+#define gaim_request_fields_exists               purple_request_fields_exists
+#define gaim_request_fields_get_required         purple_request_fields_get_required
+#define gaim_request_fields_is_field_required    purple_request_fields_is_field_required
+#define gaim_request_fields_all_required_filled  purple_request_fields_all_required_filled
+#define gaim_request_fields_get_field            purple_request_fields_get_field
+#define gaim_request_fields_get_string           purple_request_fields_get_string
+#define gaim_request_fields_get_integer          purple_request_fields_get_integer
+#define gaim_request_fields_get_bool             purple_request_fields_get_bool
+#define gaim_request_fields_get_choice           purple_request_fields_get_choice
+#define gaim_request_fields_get_account          purple_request_fields_get_account
+
+#define gaim_request_field_group_new         purple_request_field_group_new
+#define gaim_request_field_group_destroy     purple_request_field_group_destroy
+#define gaim_request_field_group_add_field   purple_request_field_group_add_field
+#define gaim_request_field_group_get_title   purple_request_field_group_get_title
+#define gaim_request_field_group_get_fields  purple_request_field_group_get_fields
+
+#define gaim_request_field_new            purple_request_field_new
+#define gaim_request_field_destroy        purple_request_field_destroy
+#define gaim_request_field_set_label      purple_request_field_set_label
+#define gaim_request_field_set_visible    purple_request_field_set_visible
+#define gaim_request_field_set_type_hint  purple_request_field_set_type_hint
+#define gaim_request_field_set_required   purple_request_field_set_required
+#define gaim_request_field_get_type       purple_request_field_get_type
+#define gaim_request_field_get_id         purple_request_field_get_id
+#define gaim_request_field_get_label      purple_request_field_get_label
+#define gaim_request_field_is_visible     purple_request_field_is_visible
+#define gaim_request_field_get_type_hint  purple_request_field_get_type_hint
+#define gaim_request_field_is_required    purple_request_field_is_required
+
+#define gaim_request_field_string_new           purple_request_field_string_new
+#define gaim_request_field_string_set_default_value \
 	purple_request_field_string_set_default_value
-#define purple_request_field_string_set_value     purple_request_field_string_set_value
-#define purple_request_field_string_set_masked    purple_request_field_string_set_masked
-#define purple_request_field_string_set_editable  purple_request_field_string_set_editable
-#define purple_request_field_string_get_default_value \
+#define gaim_request_field_string_set_value     purple_request_field_string_set_value
+#define gaim_request_field_string_set_masked    purple_request_field_string_set_masked
+#define gaim_request_field_string_set_editable  purple_request_field_string_set_editable
+#define gaim_request_field_string_get_default_value \
 	purple_request_field_string_get_default_value
-#define purple_request_field_string_get_value     purple_request_field_string_get_value
-#define purple_request_field_string_is_multiline  purple_request_field_string_is_multiline
-#define purple_request_field_string_is_masked     purple_request_field_string_is_masked
-#define purple_request_field_string_is_editable   purple_request_field_string_is_editable
-
-#define purple_request_field_int_new        purple_request_field_int_new
-#define purple_request_field_int_set_default_value \
+#define gaim_request_field_string_get_value     purple_request_field_string_get_value
+#define gaim_request_field_string_is_multiline  purple_request_field_string_is_multiline
+#define gaim_request_field_string_is_masked     purple_request_field_string_is_masked
+#define gaim_request_field_string_is_editable   purple_request_field_string_is_editable
+
+#define gaim_request_field_int_new        purple_request_field_int_new
+#define gaim_request_field_int_set_default_value \
 	purple_request_field_int_set_default_value
-#define purple_request_field_int_set_value  purple_request_field_int_set_value
-#define purple_request_field_int_get_default_value \
+#define gaim_request_field_int_set_value  purple_request_field_int_set_value
+#define gaim_request_field_int_get_default_value \
 	purple_request_field_int_get_default_value
-#define purple_request_field_int_get_value  purple_request_field_int_get_value
-
-#define purple_request_field_bool_new        purple_request_field_bool_new
-#define purple_request_field_bool_set_default_value \
+#define gaim_request_field_int_get_value  purple_request_field_int_get_value
+
+#define gaim_request_field_bool_new        purple_request_field_bool_new
+#define gaim_request_field_bool_set_default_value \
 	purple_request_field_book_set_default_value
-#define purple_request_field_bool_set_value  purple_request_field_bool_set_value
-#define purple_request_field_bool_get_default_value \
+#define gaim_request_field_bool_set_value  purple_request_field_bool_set_value
+#define gaim_request_field_bool_get_default_value \
 	purple_request_field_bool_get_default_value
-#define purple_request_field_bool_get_value  purple_request_field_bool_get_value
-
-#define purple_request_field_choice_new         purple_request_field_choice_new
-#define purple_request_field_choice_add         purple_request_field_choice_add
-#define purple_request_field_choice_set_default_value \
+#define gaim_request_field_bool_get_value  purple_request_field_bool_get_value
+
+#define gaim_request_field_choice_new         purple_request_field_choice_new
+#define gaim_request_field_choice_add         purple_request_field_choice_add
+#define gaim_request_field_choice_set_default_value \
 	purple_request_field_choice_set_default_value
-#define purple_request_field_choice_set_value   purple_request_field_choice_set_value
-#define purple_request_field_choice_get_default_value \
+#define gaim_request_field_choice_set_value   purple_request_field_choice_set_value
+#define gaim_request_field_choice_get_default_value \
 	purple_request_field_choice_get_default_value
-#define purple_request_field_choice_get_value   purple_request_field_choice_get_value
-#define purple_request_field_choice_get_labels  purple_request_field_choice_get_labels
-
-#define purple_request_field_list_new               purple_request_field_list_new
-#define purple_request_field_list_set_multi_select  purple_request_field_list_set_multi_select
-#define purple_request_field_list_get_multi_select  purple_request_field_list_get_multi_select
-#define purple_request_field_list_get_data          purple_request_field_list_get_data
-#define purple_request_field_list_add               purple_request_field_list_add
-#define purple_request_field_list_add_selected      purple_request_field_list_add_selected
-#define purple_request_field_list_clear_selected    purple_request_field_list_clear_selected
-#define purple_request_field_list_set_selected      purple_request_field_list_set_selected
-#define purple_request_field_list_is_selected       purple_request_field_list_is_selected
-#define purple_request_field_list_get_selected      purple_request_field_list_get_selected
-#define purple_request_field_list_get_items         purple_request_field_list_get_items
-
-#define purple_request_field_label_new  purple_request_field_label_new
-
-#define purple_request_field_image_new          purple_request_field_image_new
-#define purple_request_field_image_set_scale    purple_request_field_image_set_scale
-#define purple_request_field_image_get_buffer   purple_request_field_image_get_buffer
-#define purple_request_field_image_get_size     purple_request_field_image_get_size
-#define purple_request_field_image_get_scale_x  purple_request_field_image_get_scale_x
-#define purple_request_field_image_get_scale_y  purple_request_field_image_get_scale_y
-
-#define purple_request_field_account_new                purple_request_field_account_new
-#define purple_request_field_account_set_default_value  purple_request_field_account_set_default_value
-#define purple_request_field_account_set_value          purple_request_field_account_set_value
-#define purple_request_field_account_set_show_all       purple_request_field_account_set_show_all
-#define purple_request_field_account_set_filter         purple_request_field_account_set_filter
-#define purple_request_field_account_get_default_value  purple_request_field_account_get_default_value
-#define purple_request_field_account_get_value          purple_request_field_account_get_value
-#define purple_request_field_account_get_show_all       purple_request_field_account_get_show_all
-#define purple_request_field_account_get_filter         purple_request_field_account_get_filter
-
-#define purple_request_input              purple_request_input
-#define purple_request_choice             purple_request_choice
-#define purple_request_choice_varg        purple_request_choice_varg
-#define purple_request_action             purple_request_action
-#define purple_request_action_varg        purple_request_action_varg
-#define purple_request_fields             purple_request_fields
-#define purple_request_close              purple_request_close
-#define purple_request_close_with_handle  purple_request_close_with_handle
-
-#define purple_request_yes_no         purple_request_yes_no
-#define purple_request_ok_cancel      purple_request_ok_cancel
-#define purple_request_accept_cancel  purple_request_accept_cancel
-
-#define purple_request_file    purple_request_file
-#define purple_request_folder  purple_request_folder
-
-#define purple_request_set_ui_ops  purple_request_set_ui_ops
-#define purple_request_get_ui_ops  purple_request_get_ui_ops
+#define gaim_request_field_choice_get_value   purple_request_field_choice_get_value
+#define gaim_request_field_choice_get_labels  purple_request_field_choice_get_labels
+
+#define gaim_request_field_list_new               purple_request_field_list_new
+#define gaim_request_field_list_set_multi_select  purple_request_field_list_set_multi_select
+#define gaim_request_field_list_get_multi_select  purple_request_field_list_get_multi_select
+#define gaim_request_field_list_get_data          purple_request_field_list_get_data
+#define gaim_request_field_list_add               purple_request_field_list_add
+#define gaim_request_field_list_add_selected      purple_request_field_list_add_selected
+#define gaim_request_field_list_clear_selected    purple_request_field_list_clear_selected
+#define gaim_request_field_list_set_selected      purple_request_field_list_set_selected
+#define gaim_request_field_list_is_selected       purple_request_field_list_is_selected
+#define gaim_request_field_list_get_selected      purple_request_field_list_get_selected
+#define gaim_request_field_list_get_items         purple_request_field_list_get_items
+
+#define gaim_request_field_label_new  purple_request_field_label_new
+
+#define gaim_request_field_image_new          purple_request_field_image_new
+#define gaim_request_field_image_set_scale    purple_request_field_image_set_scale
+#define gaim_request_field_image_get_buffer   purple_request_field_image_get_buffer
+#define gaim_request_field_image_get_size     purple_request_field_image_get_size
+#define gaim_request_field_image_get_scale_x  purple_request_field_image_get_scale_x
+#define gaim_request_field_image_get_scale_y  purple_request_field_image_get_scale_y
+
+#define gaim_request_field_account_new                purple_request_field_account_new
+#define gaim_request_field_account_set_default_value  purple_request_field_account_set_default_value
+#define gaim_request_field_account_set_value          purple_request_field_account_set_value
+#define gaim_request_field_account_set_show_all       purple_request_field_account_set_show_all
+#define gaim_request_field_account_set_filter         purple_request_field_account_set_filter
+#define gaim_request_field_account_get_default_value  purple_request_field_account_get_default_value
+#define gaim_request_field_account_get_value          purple_request_field_account_get_value
+#define gaim_request_field_account_get_show_all       purple_request_field_account_get_show_all
+#define gaim_request_field_account_get_filter         purple_request_field_account_get_filter
+
+#define gaim_request_input              purple_request_input
+#define gaim_request_choice             purple_request_choice
+#define gaim_request_choice_varg        purple_request_choice_varg
+#define gaim_request_action             purple_request_action
+#define gaim_request_action_varg        purple_request_action_varg
+#define gaim_request_fields             purple_request_fields
+#define gaim_request_close              purple_request_close
+#define gaim_request_close_with_handle  purple_request_close_with_handle
+
+#define gaim_request_yes_no         purple_request_yes_no
+#define gaim_request_ok_cancel      purple_request_ok_cancel
+#define gaim_request_accept_cancel  purple_request_accept_cancel
+
+#define gaim_request_file    purple_request_file
+#define gaim_request_folder  purple_request_folder
+
+#define gaim_request_set_ui_ops  purple_request_set_ui_ops
+#define gaim_request_get_ui_ops  purple_request_get_ui_ops
 
 /* from roomlist.h */
 
-#define PurpleRoomlist       PurpleRoomlist
-#define PurpleRoomlistRoom   PurpleRoomlistRoom
-#define PurpleRoomlistField  PurpleRoomlistField
-#define PurpleRoomlistUiOps  PurpleRoomlistUiOps
-
-#define PURPLE_ROOMLIST_ROOMTYPE_CATEGORY  PURPLE_ROOMLIST_ROOMTYPE_CATEGORY
-#define PURPLE_ROOMLIST_ROOMTYPE_ROOM      PURPLE_ROOMLIST_ROOMTYPE_ROOM
-#define PurpleRoomlistRoomType  PurpleRoomlistRoomType
-
-#define PURPLE_ROOMLIST_FIELD_BOOL    PURPLE_ROOMLIST_BOOL
-#define PURPLE_ROOMLIST_FIELD_INT     PURPLE_ROOMLIST_INT
-#define PURPLE_ROOMLIST_FIELD_STRING  PURPLE_ROOMLIST_STRING
-#define PurpleRoomlistFieldType  PurpleRoomlistFieldType
-
-#define purple_roomlist_show_with_account  purple_roomlist_show_with_account
-#define purple_roomlist_new                purple_roomlist_new
-#define purple_roomlist_ref                purple_roomlist_ref
-#define purple_roomlist_unref              purple_roomlist_unref
-#define purple_roomlist_set_fields         purple_roomlist_set_fields
-#define purple_roomlist_set_in_progress    purple_roomlist_set_in_progress
-#define purple_roomlist_get_in_progress    purple_roomlist_get_in_progress
-#define purple_roomlist_room_add           purple_roomlist_room_add
-
-#define purple_roomlist_get_list         purple_roomlist_get_list
-#define purple_roomlist_cancel_get_list  purple_roomlist_cancel_get_list
-#define purple_roomlist_expand_category  purple_roomlist_expand_category
-
-#define purple_roomlist_room_new        purple_roomlist_room_new
-#define purple_roomlist_room_add_field  purple_roomlist_room_add_field
-#define purple_roomlist_room_join       purple_roomlist_room_join
-#define purple_roomlist_field_new       purple_roomlist_field_new
-
-#define purple_roomlist_set_ui_ops  purple_roomlist_set_ui_ops
-#define purple_roomlist_get_ui_ops  purple_roomlist_get_ui_ops
+#define GaimRoomlist       PurpleRoomlist
+#define GaimRoomlistRoom   PurpleRoomlistRoom
+#define GaimRoomlistField  PurpleRoomlistField
+#define GaimRoomlistUiOps  PurpleRoomlistUiOps
+
+#define GAIM_ROOMLIST_ROOMTYPE_CATEGORY  PURPLE_ROOMLIST_ROOMTYPE_CATEGORY
+#define GAIM_ROOMLIST_ROOMTYPE_ROOM      PURPLE_ROOMLIST_ROOMTYPE_ROOM
+#define GaimRoomlistRoomType  PurpleRoomlistRoomType
+
+#define GAIM_ROOMLIST_FIELD_BOOL    PURPLE_ROOMLIST_BOOL
+#define GAIM_ROOMLIST_FIELD_INT     PURPLE_ROOMLIST_INT
+#define GAIM_ROOMLIST_FIELD_STRING  PURPLE_ROOMLIST_STRING
+#define GaimRoomlistFieldType  PurpleRoomlistFieldType
+
+#define gaim_roomlist_show_with_account  purple_roomlist_show_with_account
+#define gaim_roomlist_new                purple_roomlist_new
+#define gaim_roomlist_ref                purple_roomlist_ref
+#define gaim_roomlist_unref              purple_roomlist_unref
+#define gaim_roomlist_set_fields         purple_roomlist_set_fields
+#define gaim_roomlist_set_in_progress    purple_roomlist_set_in_progress
+#define gaim_roomlist_get_in_progress    purple_roomlist_get_in_progress
+#define gaim_roomlist_room_add           purple_roomlist_room_add
+
+#define gaim_roomlist_get_list         purple_roomlist_get_list
+#define gaim_roomlist_cancel_get_list  purple_roomlist_cancel_get_list
+#define gaim_roomlist_expand_category  purple_roomlist_expand_category
+
+#define gaim_roomlist_room_new        purple_roomlist_room_new
+#define gaim_roomlist_room_add_field  purple_roomlist_room_add_field
+#define gaim_roomlist_room_join       purple_roomlist_room_join
+#define gaim_roomlist_field_new       purple_roomlist_field_new
+
+#define gaim_roomlist_set_ui_ops  purple_roomlist_set_ui_ops
+#define gaim_roomlist_get_ui_ops  purple_roomlist_get_ui_ops
 
 /* from savedstatuses.h */
 
-#define PurpleSavedStatus     PurpleSavedStatus
-#define PurpleSavedStatusSub  PurpleSavedStatusSub
-
-#define purple_savedstatus_new              purple_savedstatus_new
-#define purple_savedstatus_set_title        purple_savedstatus_set_title
-#define purple_savedstatus_set_type         purple_savedstatus_set_type
-#define purple_savedstatus_set_message      purple_savedstatus_set_message
-#define purple_savedstatus_set_substatus    purple_savedstatus_set_substatus
-#define purple_savedstatus_unset_substatus  purple_savedstatus_unset_substatus
-#define purple_savedstatus_delete           purple_savedstatus_delete
-
-#define purple_savedstatuses_get_all              purple_savedstatuses_get_all
-#define purple_savedstatuses_get_popular          purple_savedstatuses_get_popular
-#define purple_savedstatus_get_current            purple_savedstatus_get_current
-#define purple_savedstatus_get_default            purple_savedstatus_get_default
-#define purple_savedstatus_get_idleaway           purple_savedstatus_get_idleaway
-#define purple_savedstatus_is_idleaway            purple_savedstatus_is_idleaway
-#define purple_savedstatus_set_idleaway           purple_savedstatus_set_idleaway
-#define purple_savedstatus_get_startup            purple_savedstatus_get_startup
-#define purple_savedstatus_find                   purple_savedstatus_find
-#define purple_savedstatus_find_by_creation_time  purple_savedstatus_find_by_creation_time
-#define purple_savedstatus_find_transient_by_type_and_message \
+#define GaimSavedStatus     PurpleSavedStatus
+#define GaimSavedStatusSub  PurpleSavedStatusSub
+
+#define gaim_savedstatus_new              purple_savedstatus_new
+#define gaim_savedstatus_set_title        purple_savedstatus_set_title
+#define gaim_savedstatus_set_type         purple_savedstatus_set_type
+#define gaim_savedstatus_set_message      purple_savedstatus_set_message
+#define gaim_savedstatus_set_substatus    purple_savedstatus_set_substatus
+#define gaim_savedstatus_unset_substatus  purple_savedstatus_unset_substatus
+#define gaim_savedstatus_delete           purple_savedstatus_delete
+
+#define gaim_savedstatuses_get_all              purple_savedstatuses_get_all
+#define gaim_savedstatuses_get_popular          purple_savedstatuses_get_popular
+#define gaim_savedstatus_get_current            purple_savedstatus_get_current
+#define gaim_savedstatus_get_default            purple_savedstatus_get_default
+#define gaim_savedstatus_get_idleaway           purple_savedstatus_get_idleaway
+#define gaim_savedstatus_is_idleaway            purple_savedstatus_is_idleaway
+#define gaim_savedstatus_set_idleaway           purple_savedstatus_set_idleaway
+#define gaim_savedstatus_get_startup            purple_savedstatus_get_startup
+#define gaim_savedstatus_find                   purple_savedstatus_find
+#define gaim_savedstatus_find_by_creation_time  purple_savedstatus_find_by_creation_time
+#define gaim_savedstatus_find_transient_by_type_and_message \
 	purple_savedstatus_find_transient_by_type_and_message
 
-#define purple_savedstatus_is_transient           purple_savedstatus_is_transient
-#define purple_savedstatus_get_title              purple_savedstatus_get_title
-#define purple_savedstatus_get_type               purple_savedstatus_get_type
-#define purple_savedstatus_get_message            purple_savedstatus_get_message
-#define purple_savedstatus_get_creation_time      purple_savedstatus_get_creation_time
-#define purple_savedstatus_has_substatuses        purple_savedstatus_has_substatuses
-#define purple_savedstatus_get_substatus          purple_savedstatus_get_substatus
-#define purple_savedstatus_substatus_get_type     purple_savedstatus_substatus_get_type
-#define purple_savedstatus_substatus_get_message  purple_savedstatus_substatus_get_message
-#define purple_savedstatus_activate               purple_savedstatus_activate
-#define purple_savedstatus_activate_for_account   purple_savedstatus_activate_for_account
-
-#define purple_savedstatuses_get_handle  purple_savedstatuses_get_handle
-#define purple_savedstatuses_init        purple_savedstatuses_init
-#define purple_savedstatuses_uninit      purple_savedstatuses_uninit
+#define gaim_savedstatus_is_transient           purple_savedstatus_is_transient
+#define gaim_savedstatus_get_title              purple_savedstatus_get_title
+#define gaim_savedstatus_get_type               purple_savedstatus_get_type
+#define gaim_savedstatus_get_message            purple_savedstatus_get_message
+#define gaim_savedstatus_get_creation_time      purple_savedstatus_get_creation_time
+#define gaim_savedstatus_has_substatuses        purple_savedstatus_has_substatuses
+#define gaim_savedstatus_get_substatus          purple_savedstatus_get_substatus
+#define gaim_savedstatus_substatus_get_type     purple_savedstatus_substatus_get_type
+#define gaim_savedstatus_substatus_get_message  purple_savedstatus_substatus_get_message
+#define gaim_savedstatus_activate               purple_savedstatus_activate
+#define gaim_savedstatus_activate_for_account   purple_savedstatus_activate_for_account
+
+#define gaim_savedstatuses_get_handle  purple_savedstatuses_get_handle
+#define gaim_savedstatuses_init        purple_savedstatuses_init
+#define gaim_savedstatuses_uninit      purple_savedstatuses_uninit
 
 /* from signals.h */
 
-#define PURPLE_CALLBACK  PURPLE_CALLBACK
-
-#define PurpleCallback           PurpleCallback
-#define PurpleSignalMarshalFunc  PurpleSignalMarshalFunc
-
-#define PURPLE_SIGNAL_PRIORITY_DEFAULT  PURPLE_SIGNAL_PRIORITY_DEFAULT
-#define PURPLE_SIGNAL_PRIORITY_HIGHEST  PURPLE_SIGNAL_PRIORITY_HIGHEST
-#define PURPLE_SIGNAL_PRIORITY_LOWEST   PURPLE_SIGNAL_PRIORITY_LOWEST
-
-#define purple_signal_register    purple_signal_register
-#define purple_signal_unregister  purple_signal_unregister
-
-#define purple_signals_unregister_by_instance  purple_signals_unregister_by_instance
-
-#define purple_signal_get_values              purple_signal_get_values
-#define purple_signal_connect_priority        purple_signal_connect_priority
-#define purple_signal_connect                 purple_signal_connect
-#define purple_signal_connect_priority_vargs  purple_signal_connect_priority_vargs
-#define purple_signal_connect_vargs           purple_signal_connect_vargs
-#define purple_signal_disconnect              purple_signal_disconnect
-
-#define purple_signals_disconnect_by_handle  purple_signals_disconnect_by_handle
-
-#define purple_signal_emit                 purple_signal_emit
-#define purple_signal_emit_vargs           purple_signal_emit_vargs
-#define purple_signal_emit_return_1        purple_signal_emit_vargs
-#define purple_signal_emit_vargs_return_1  purple_signal_emit_vargs_return_1
-
-#define purple_signals_init    purple_signals_init
-#define purple_signals_uninit  purple_signals_uninit
-
-#define purple_marshal_VOID \
+#define GAIM_CALLBACK  PURPLE_CALLBACK
+
+#define GaimCallback           PurpleCallback
+#define GaimSignalMarshalFunc  PurpleSignalMarshalFunc
+
+#define GAIM_SIGNAL_PRIORITY_DEFAULT  PURPLE_SIGNAL_PRIORITY_DEFAULT
+#define GAIM_SIGNAL_PRIORITY_HIGHEST  PURPLE_SIGNAL_PRIORITY_HIGHEST
+#define GAIM_SIGNAL_PRIORITY_LOWEST   PURPLE_SIGNAL_PRIORITY_LOWEST
+
+#define gaim_signal_register    purple_signal_register
+#define gaim_signal_unregister  purple_signal_unregister
+
+#define gaim_signals_unregister_by_instance  purple_signals_unregister_by_instance
+
+#define gaim_signal_get_values              purple_signal_get_values
+#define gaim_signal_connect_priority        purple_signal_connect_priority
+#define gaim_signal_connect                 purple_signal_connect
+#define gaim_signal_connect_priority_vargs  purple_signal_connect_priority_vargs
+#define gaim_signal_connect_vargs           purple_signal_connect_vargs
+#define gaim_signal_disconnect              purple_signal_disconnect
+
+#define gaim_signals_disconnect_by_handle  purple_signals_disconnect_by_handle
+
+#define gaim_signal_emit                 purple_signal_emit
+#define gaim_signal_emit_vargs           purple_signal_emit_vargs
+#define gaim_signal_emit_return_1        purple_signal_emit_vargs
+#define gaim_signal_emit_vargs_return_1  purple_signal_emit_vargs_return_1
+
+#define gaim_signals_init    purple_signals_init
+#define gaim_signals_uninit  purple_signals_uninit
+
+#define gaim_marshal_VOID \
 	purple_marshal_VOID
-#define purple_marshal_VOID__INT \
+#define gaim_marshal_VOID__INT \
 	purple_marshal_VOID__INT
-#define purple_marshal_VOID__INT_INT \
+#define gaim_marshal_VOID__INT_INT \
 	purple_marshal_VOID_INT_INT
-#define purple_marshal_VOID__POINTER \
+#define gaim_marshal_VOID__POINTER \
 	purple_marshal_VOID__POINTER
-#define purple_marshal_VOID__POINTER_UINT \
+#define gaim_marshal_VOID__POINTER_UINT \
 	purple_marshal_VOID__POINTER_UINT
-#define purple_marshal_VOID__POINTER_INT_INT \
+#define gaim_marshal_VOID__POINTER_INT_INT \
 	purple_marshal_VOID__POINTER_INT_INT
-#define purple_marshal_VOID__POINTER_POINTER \
+#define gaim_marshal_VOID__POINTER_POINTER \
 	purple_marshal_VOID__POINTER_POINTER
-#define purple_marshal_VOID__POINTER_POINTER_UINT \
+#define gaim_marshal_VOID__POINTER_POINTER_UINT \
 	purple_marshal_VOID__POINTER_POINTER_UINT
-#define purple_marshal_VOID__POINTER_POINTER_UINT_UINT \
+#define gaim_marshal_VOID__POINTER_POINTER_UINT_UINT \
 	purple_marshal_VOID__POINTER_POINTER_UINT_UINT
-#define purple_marshal_VOID__POINTER_POINTER_POINTER \
+#define gaim_marshal_VOID__POINTER_POINTER_POINTER \
 	purple_marshal_VOID__POINTER_POINTER_POINTER
-#define purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER \
+#define gaim_marshal_VOID__POINTER_POINTER_POINTER_POINTER \
 	purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER
-#define purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER \
+#define gaim_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER \
 	purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER
-#define purple_marshal_VOID__POINTER_POINTER_POINTER_UINT \
+#define gaim_marshal_VOID__POINTER_POINTER_POINTER_UINT \
 	purple_marshal_VOID__POINTER_POINTER_POINTER_UINT
-#define purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT \
+#define gaim_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT \
 	purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT
-#define purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT \
+#define gaim_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT \
 	purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT
 
-#define purple_marshal_INT__INT \
+#define gaim_marshal_INT__INT \
 	purple_marshal_INT__INT
-#define purple_marshal_INT__INT_INT \
+#define gaim_marshal_INT__INT_INT \
 	purple_marshal_INT__INT_INT
-#define purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER \
+#define gaim_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER \
 	purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER
 
-#define purple_marshal_BOOLEAN__POINTER \
+#define gaim_marshal_BOOLEAN__POINTER \
 	purple_marshal_BOOLEAN__POINTER
-#define purple_marshal_BOOLEAN__POINTER_POINTER \
+#define gaim_marshal_BOOLEAN__POINTER_POINTER \
 	purple_marshal_BOOLEAN__POINTER_POINTER
-#define purple_marshal_BOOLEAN__POINTER_POINTER_POINTER \
+#define gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER \
 	purple_marshal_BOOLEAN__POINTER_POINTER_POINTER
-#define purple_marshal_BOOLEAN__POINTER_POINTER_UINT \
+#define gaim_marshal_BOOLEAN__POINTER_POINTER_UINT \
 	purple_marshal_BOOLEAN__POINTER_POINTER_UINT
-#define purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT \
+#define gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT \
 	purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT
-#define purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER \
+#define gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER \
 	purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER
-#define purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER \
+#define gaim_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER \
 	purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER
 
-#define purple_marshal_BOOLEAN__INT_POINTER \
+#define gaim_marshal_BOOLEAN__INT_POINTER \
 	purple_marshal_BOOLEAN__INT_POINTER
 
-#define purple_marshal_POINTER__POINTER_INT \
+#define gaim_marshal_POINTER__POINTER_INT \
 	purple_marshal_POINTER__POINTER_INT
-#define purple_marshal_POINTER__POINTER_INT64 \
+#define gaim_marshal_POINTER__POINTER_INT64 \
 	purple_marshal_POINTER__POINTER_INT64
-#define purple_marshal_POINTER__POINTER_INT_BOOLEAN \
+#define gaim_marshal_POINTER__POINTER_INT_BOOLEAN \
 	purple_marshal_POINTER__POINTER_INT_BOOLEAN
-#define purple_marshal_POINTER__POINTER_INT64_BOOLEAN \
+#define gaim_marshal_POINTER__POINTER_INT64_BOOLEAN \
 	purple_marshal_POINTER__POINTER_INT64_BOOLEAN
-#define purple_marshal_POINTER__POINTER_POINTER \
+#define gaim_marshal_POINTER__POINTER_POINTER \
 	purple_marshal_POINTER__POINTER_POINTER
 
 /* from sound.h */
 
-#define PURPLE_SOUND_BUDDY_ARRIVE    PURPLE_SOUND_BUDDY_ARRIVE
-#define PURPLE_SOUND_BUDDY_LEAVE     PURPLE_SOUND_BUDDY_LEAVE
-#define PURPLE_SOUND_RECEIVE         PURPLE_SOUND_RECEIVE
-#define PURPLE_SOUND_FIRST_RECEIVE   PURPLE_SOUND_FIRST_RECEIVE
-#define PURPLE_SOUND_SEND            PURPLE_SOUND_SEND
-#define PURPLE_SOUND_CHAT_JOIN       PURPLE_SOUND_CHAT_JOIN
-#define PURPLE_SOUND_CHAT_LEAVE      PURPLE_SOUND_CHAT_LEAVE
-#define PURPLE_SOUND_CHAT_YOU_SAY    PURPLE_SOUND_CHAT_YOU_SAY
-#define PURPLE_SOUND_CHAT_SAY        PURPLE_SOUND_CHAT_SAY
-#define PURPLE_SOUND_POUNCE_DEFAULT  PURPLE_SOUND_POUNCE_DEFAULT
-#define PURPLE_SOUND_CHAT_NICK       PURPLE_SOUND_CHAT_NICK
-#define PURPLE_NUM_SOUNDS            PURPLE_NUM_SOUNDS
-#define PurpleSoundEventID  PurpleSoundEventID
-
-#define PurpleSoundUiOps  PurpleSoundUiOps
-
-#define purple_sound_play_file   purple_sound_play_file
-#define purple_sound_play_event  purple_sound_play_event
-#define purple_sound_set_ui_ops  purple_sound_set_ui_ops
-#define purple_sound_get_ui_ops  purple_sound_get_ui_ops
-#define purple_sound_init        purple_sound_init
-#define purple_sound_uninit      purple_sound_uninit
-
-#define purple_sounds_get_handle  purple_sounds_get_handle
+#define GAIM_SOUND_BUDDY_ARRIVE    PURPLE_SOUND_BUDDY_ARRIVE
+#define GAIM_SOUND_BUDDY_LEAVE     PURPLE_SOUND_BUDDY_LEAVE
+#define GAIM_SOUND_RECEIVE         PURPLE_SOUND_RECEIVE
+#define GAIM_SOUND_FIRST_RECEIVE   PURPLE_SOUND_FIRST_RECEIVE
+#define GAIM_SOUND_SEND            PURPLE_SOUND_SEND
+#define GAIM_SOUND_CHAT_JOIN       PURPLE_SOUND_CHAT_JOIN
+#define GAIM_SOUND_CHAT_LEAVE      PURPLE_SOUND_CHAT_LEAVE
+#define GAIM_SOUND_CHAT_YOU_SAY    PURPLE_SOUND_CHAT_YOU_SAY
+#define GAIM_SOUND_CHAT_SAY        PURPLE_SOUND_CHAT_SAY
+#define GAIM_SOUND_POUNCE_DEFAULT  PURPLE_SOUND_POUNCE_DEFAULT
+#define GAIM_SOUND_CHAT_NICK       PURPLE_SOUND_CHAT_NICK
+#define GAIM_NUM_SOUNDS            PURPLE_NUM_SOUNDS
+#define GaimSoundEventID  PurpleSoundEventID
+
+#define GaimSoundUiOps  PurpleSoundUiOps
+
+#define gaim_sound_play_file   purple_sound_play_file
+#define gaim_sound_play_event  purple_sound_play_event
+#define gaim_sound_set_ui_ops  purple_sound_set_ui_ops
+#define gaim_sound_get_ui_ops  purple_sound_get_ui_ops
+#define gaim_sound_init        purple_sound_init
+#define gaim_sound_uninit      purple_sound_uninit
+
+#define gaim_sounds_get_handle  purple_sounds_get_handle
 
 /* from sslconn.h */
 
-#define PURPLE_SSL_DEFAULT_PORT  PURPLE_SSL_DEFAULT_PORT
-
-#define PURPLE_SSL_HANDSHAKE_FAILED  PURPLE_SSL_HANDSHAKE_FAILED
-#define PURPLE_SSL_CONNECT_FAILED    PURPLE_SSL_CONNECT_FAILED
-#define PurpleSslErrorType  PurpleSslErrorType
-
-#define PurpleSslConnection  PurpleSslConnection
-
-#define PurpleSslInputFunction  PurpleSslInputFunction
-#define PurpleSslErrorFunction  PurpleSslErrorFunction
-
-#define PurpleSslOps  PurpleSslOps
-
-#define purple_ssl_is_supported  purple_ssl_is_supported
-#define purple_ssl_connect       purple_ssl_connect
-#define purple_ssl_connect_fd    purple_ssl_connect_fd
-#define purple_ssl_input_add     purple_ssl_input_add
-#define purple_ssl_close         purple_ssl_close
-#define purple_ssl_read          purple_ssl_read
-#define purple_ssl_write         purple_ssl_write
-
-#define purple_ssl_set_ops  purple_ssl_set_ops
-#define purple_ssl_get_ops  purple_ssl_get_ops
-#define purple_ssl_init     purple_ssl_init
-#define purple_ssl_uninit   purple_ssl_uninit
+#define GAIM_SSL_DEFAULT_PORT  PURPLE_SSL_DEFAULT_PORT
+
+#define GAIM_SSL_HANDSHAKE_FAILED  PURPLE_SSL_HANDSHAKE_FAILED
+#define GAIM_SSL_CONNECT_FAILED    PURPLE_SSL_CONNECT_FAILED
+#define GaimSslErrorType  PurpleSslErrorType
+
+#define GaimSslConnection  PurpleSslConnection
+
+#define GaimSslInputFunction  PurpleSslInputFunction
+#define GaimSslErrorFunction  PurpleSslErrorFunction
+
+#define GaimSslOps  PurpleSslOps
+
+#define gaim_ssl_is_supported  purple_ssl_is_supported
+#define gaim_ssl_connect       purple_ssl_connect
+#define gaim_ssl_connect_fd    purple_ssl_connect_fd
+#define gaim_ssl_input_add     purple_ssl_input_add
+#define gaim_ssl_close         purple_ssl_close
+#define gaim_ssl_read          purple_ssl_read
+#define gaim_ssl_write         purple_ssl_write
+
+#define gaim_ssl_set_ops  purple_ssl_set_ops
+#define gaim_ssl_get_ops  purple_ssl_get_ops
+#define gaim_ssl_init     purple_ssl_init
+#define gaim_ssl_uninit   purple_ssl_uninit
 
 /* from status.h */
 
-#define PurpleStatusType  PurpleStatusType
-#define PurpleStatusAttr  PurpleStatusAttr
-#define PurplePresence    PurplePresence
-#define PurpleStatus      PurpleStatus
-
-#define PURPLE_PRESENCE_CONTEXT_UNSET    PURPLE_PRESENCE_CONTEXT_UNSET
-#define PURPLE_PRESENCE_CONTEXT_ACCOUNT  PURPLE_PRESENCE_CONTEXT_ACCOUNT
-#define PURPLE_PRESENCE_CONTEXT_CONV     PURPLE_PRESENCE_CONTEXT_CONV
-#define PURPLE_PRESENCE_CONTEXT_BUDDY    PURPLE_PRESENCE_CONTEXT_BUDDY
-#define PurplePresenceContext  PurplePresenceContext
-
-#define PURPLE_STATUS_UNSET           PURPLE_STATUS_UNSET
-#define PURPLE_STATUS_OFFLINE         PURPLE_STATUS_OFFLINE
-#define PURPLE_STATUS_AVAILABLE       PURPLE_STATUS_AVAILABLE
-#define PURPLE_STATUS_UNAVAILABLE     PURPLE_STATUS_UNAVAILABLE
-#define PURPLE_STATUS_INVISIBLE       PURPLE_STATUS_INVISIBLE
-#define PURPLE_STATUS_AWAY            PURPLE_STATUS_AWAY
-#define PURPLE_STATUS_EXTENDED_AWAY   PURPLE_STATUS_EXTENDED_AWAY
-#define PURPLE_STATUS_MOBILE          PURPLE_STATUS_MOBILE
-#define PURPLE_STATUS_NUM_PRIMITIVES  PURPLE_STATUS_NUM_PRIMITIVES
-#define PurpleStatusPrimitive  PurpleStatusPrimitive
-
-#define purple_primitive_get_id_from_type    purple_primitive_get_id_from_type
-#define purple_primitive_get_name_from_type  purple_primitive_get_name_from_type
-#define purple_primitive_get_type_from_id    purple_primitive_get_type_from_id
-
-#define purple_status_type_new_full          purple_status_type_new_full
-#define purple_status_type_new               purple_status_type_new
-#define purple_status_type_new_with_attrs    purple_status_type_new_with_attrs
-#define purple_status_type_destroy           purple_status_type_destroy
-#define purple_status_type_set_primary_attr  purple_status_type_set_primary_attr
-#define purple_status_type_add_attr          purple_status_type_add_attr
-#define purple_status_type_add_attrs         purple_status_type_add_attrs
-#define purple_status_type_add_attrs_vargs   purple_status_type_add_attrs_vargs
-#define purple_status_type_get_primitive     purple_status_type_get_primitive
-#define purple_status_type_get_id            purple_status_type_get_id
-#define purple_status_type_get_name          purple_status_type_get_name
-#define purple_status_type_is_saveable       purple_status_type_is_saveable
-#define purple_status_type_is_user_settable  purple_status_type_is_user_settable
-#define purple_status_type_is_independent    purple_status_type_is_independent
-#define purple_status_type_is_exclusive      purple_status_type_is_exclusive
-#define purple_status_type_is_available      purple_status_type_is_available
-#define purple_status_type_get_primary_attr  purple_status_type_get_primary_attr
-#define purple_status_type_get_attr          purple_status_type_get_attr
-#define purple_status_type_get_attrs         purple_status_type_get_attrs
-#define purple_status_type_find_with_id      purple_status_type_find_with_id
-
-#define purple_status_attr_new        purple_status_attr_new
-#define purple_status_attr_destroy    purple_status_attr_destroy
-#define purple_status_attr_get_id     purple_status_attr_get_id
-#define purple_status_attr_get_name   purple_status_attr_get_name
-#define purple_status_attr_get_value  purple_status_attr_get_value
-
-#define purple_status_new                         purple_status_new
-#define purple_status_destroy                     purple_status_destroy
-#define purple_status_set_active                  purple_status_set_active
-#define purple_status_set_active_with_attrs       purple_status_set_active_with_attrs
-#define purple_status_set_active_with_attrs_list  purple_status_set_active_with_attrs_list
-#define purple_status_set_attr_boolean            purple_status_set_attr_boolean
-#define purple_status_set_attr_int                purple_status_set_attr_int
-#define purple_status_set_attr_string             purple_status_set_attr_string
-#define purple_status_get_type                    purple_status_get_type
-#define purple_status_get_presence                purple_status_get_presence
-#define purple_status_get_id                      purple_status_get_id
-#define purple_status_get_name                    purple_status_get_name
-#define purple_status_is_independent              purple_status_is_independent
-#define purple_status_is_exclusive                purple_status_is_exclusive
-#define purple_status_is_available                purple_status_is_available
-#define purple_status_is_active                   purple_status_is_active
-#define purple_status_is_online                   purple_status_is_online
-#define purple_status_get_attr_value              purple_status_get_attr_value
-#define purple_status_get_attr_boolean            purple_status_get_attr_boolean
-#define purple_status_get_attr_int                purple_status_get_attr_int
-#define purple_status_get_attr_string             purple_status_get_attr_string
-#define purple_status_compare                     purple_status_compare
-
-#define purple_presence_new                purple_presence_new
-#define purple_presence_new_for_account    purple_presence_new_for_account
-#define purple_presence_new_for_conv       purple_presence_new_for_conv
-#define purple_presence_new_for_buddy      purple_presence_new_for_buddy
-#define purple_presence_destroy            purple_presence_destroy
-#define purple_presence_remove_buddy       purple_presence_remove_buddy
-#define purple_presence_add_status         purple_presence_add_status
-#define purple_presence_add_list           purple_presence_add_list
-#define purple_presence_set_status_active  purple_presence_set_status_active
-#define purple_presence_switch_status      purple_presence_switch_status
-#define purple_presence_set_idle           purple_presence_set_idle
-#define purple_presence_set_login_time     purple_presence_set_login_time
-#define purple_presence_get_context        purple_presence_get_context
-#define purple_presence_get_account        purple_presence_get_account
-#define purple_presence_get_conversation   purple_presence_get_conversation
-#define purple_presence_get_chat_user      purple_presence_get_chat_user
-#define purple_presence_get_buddies        purple_presence_get_buddies
-#define purple_presence_get_statuses       purple_presence_get_statuses
-#define purple_presence_get_status         purple_presence_get_status
-#define purple_presence_get_active_status  purple_presence_get_active_status
-#define purple_presence_is_available       purple_presence_is_available
-#define purple_presence_is_online          purple_presence_is_online
-#define purple_presence_is_status_active   purple_presence_is_status_active
-#define purple_presence_is_status_primitive_active \
+#define GaimStatusType  PurpleStatusType
+#define GaimStatusAttr  PurpleStatusAttr
+#define GaimPresence    PurplePresence
+#define GaimStatus      PurpleStatus
+
+#define GAIM_PRESENCE_CONTEXT_UNSET    PURPLE_PRESENCE_CONTEXT_UNSET
+#define GAIM_PRESENCE_CONTEXT_ACCOUNT  PURPLE_PRESENCE_CONTEXT_ACCOUNT
+#define GAIM_PRESENCE_CONTEXT_CONV     PURPLE_PRESENCE_CONTEXT_CONV
+#define GAIM_PRESENCE_CONTEXT_BUDDY    PURPLE_PRESENCE_CONTEXT_BUDDY
+#define GaimPresenceContext  PurplePresenceContext
+
+#define GAIM_STATUS_UNSET           PURPLE_STATUS_UNSET
+#define GAIM_STATUS_OFFLINE         PURPLE_STATUS_OFFLINE
+#define GAIM_STATUS_AVAILABLE       PURPLE_STATUS_AVAILABLE
+#define GAIM_STATUS_UNAVAILABLE     PURPLE_STATUS_UNAVAILABLE
+#define GAIM_STATUS_INVISIBLE       PURPLE_STATUS_INVISIBLE
+#define GAIM_STATUS_AWAY            PURPLE_STATUS_AWAY
+#define GAIM_STATUS_EXTENDED_AWAY   PURPLE_STATUS_EXTENDED_AWAY
+#define GAIM_STATUS_MOBILE          PURPLE_STATUS_MOBILE
+#define GAIM_STATUS_NUM_PRIMITIVES  PURPLE_STATUS_NUM_PRIMITIVES
+#define GaimStatusPrimitive  PurpleStatusPrimitive
+
+#define gaim_primitive_get_id_from_type    purple_primitive_get_id_from_type
+#define gaim_primitive_get_name_from_type  purple_primitive_get_name_from_type
+#define gaim_primitive_get_type_from_id    purple_primitive_get_type_from_id
+
+#define gaim_status_type_new_full          purple_status_type_new_full
+#define gaim_status_type_new               purple_status_type_new
+#define gaim_status_type_new_with_attrs    purple_status_type_new_with_attrs
+#define gaim_status_type_destroy           purple_status_type_destroy
+#define gaim_status_type_set_primary_attr  purple_status_type_set_primary_attr
+#define gaim_status_type_add_attr          purple_status_type_add_attr
+#define gaim_status_type_add_attrs         purple_status_type_add_attrs
+#define gaim_status_type_add_attrs_vargs   purple_status_type_add_attrs_vargs
+#define gaim_status_type_get_primitive     purple_status_type_get_primitive
+#define gaim_status_type_get_id            purple_status_type_get_id
+#define gaim_status_type_get_name          purple_status_type_get_name
+#define gaim_status_type_is_saveable       purple_status_type_is_saveable
+#define gaim_status_type_is_user_settable  purple_status_type_is_user_settable
+#define gaim_status_type_is_independent    purple_status_type_is_independent
+#define gaim_status_type_is_exclusive      purple_status_type_is_exclusive
+#define gaim_status_type_is_available      purple_status_type_is_available
+#define gaim_status_type_get_primary_attr  purple_status_type_get_primary_attr
+#define gaim_status_type_get_attr          purple_status_type_get_attr
+#define gaim_status_type_get_attrs         purple_status_type_get_attrs
+#define gaim_status_type_find_with_id      purple_status_type_find_with_id
+
+#define gaim_status_attr_new        purple_status_attr_new
+#define gaim_status_attr_destroy    purple_status_attr_destroy
+#define gaim_status_attr_get_id     purple_status_attr_get_id
+#define gaim_status_attr_get_name   purple_status_attr_get_name
+#define gaim_status_attr_get_value  purple_status_attr_get_value
+
+#define gaim_status_new                         purple_status_new
+#define gaim_status_destroy                     purple_status_destroy
+#define gaim_status_set_active                  purple_status_set_active
+#define gaim_status_set_active_with_attrs       purple_status_set_active_with_attrs
+#define gaim_status_set_active_with_attrs_list  purple_status_set_active_with_attrs_list
+#define gaim_status_set_attr_boolean            purple_status_set_attr_boolean
+#define gaim_status_set_attr_int                purple_status_set_attr_int
+#define gaim_status_set_attr_string             purple_status_set_attr_string
+#define gaim_status_get_type                    purple_status_get_type
+#define gaim_status_get_presence                purple_status_get_presence
+#define gaim_status_get_id                      purple_status_get_id
+#define gaim_status_get_name                    purple_status_get_name
+#define gaim_status_is_independent              purple_status_is_independent
+#define gaim_status_is_exclusive                purple_status_is_exclusive
+#define gaim_status_is_available                purple_status_is_available
+#define gaim_status_is_active                   purple_status_is_active
+#define gaim_status_is_online                   purple_status_is_online
+#define gaim_status_get_attr_value              purple_status_get_attr_value
+#define gaim_status_get_attr_boolean            purple_status_get_attr_boolean
+#define gaim_status_get_attr_int                purple_status_get_attr_int
+#define gaim_status_get_attr_string             purple_status_get_attr_string
+#define gaim_status_compare                     purple_status_compare
+
+#define gaim_presence_new                purple_presence_new
+#define gaim_presence_new_for_account    purple_presence_new_for_account
+#define gaim_presence_new_for_conv       purple_presence_new_for_conv
+#define gaim_presence_new_for_buddy      purple_presence_new_for_buddy
+#define gaim_presence_destroy            purple_presence_destroy
+#define gaim_presence_remove_buddy       purple_presence_remove_buddy
+#define gaim_presence_add_status         purple_presence_add_status
+#define gaim_presence_add_list           purple_presence_add_list
+#define gaim_presence_set_status_active  purple_presence_set_status_active
+#define gaim_presence_switch_status      purple_presence_switch_status
+#define gaim_presence_set_idle           purple_presence_set_idle
+#define gaim_presence_set_login_time     purple_presence_set_login_time
+#define gaim_presence_get_context        purple_presence_get_context
+#define gaim_presence_get_account        purple_presence_get_account
+#define gaim_presence_get_conversation   purple_presence_get_conversation
+#define gaim_presence_get_chat_user      purple_presence_get_chat_user
+#define gaim_presence_get_buddies        purple_presence_get_buddies
+#define gaim_presence_get_statuses       purple_presence_get_statuses
+#define gaim_presence_get_status         purple_presence_get_status
+#define gaim_presence_get_active_status  purple_presence_get_active_status
+#define gaim_presence_is_available       purple_presence_is_available
+#define gaim_presence_is_online          purple_presence_is_online
+#define gaim_presence_is_status_active   purple_presence_is_status_active
+#define gaim_presence_is_status_primitive_active \
 	purple_presence_is_status_primitive_active
-#define purple_presence_is_idle            purple_presence_is_idle
-#define purple_presence_get_idle_time      purple_presence_get_idle_time
-#define purple_presence_get_login_time     purple_presence_get_login_time
-#define purple_presence_compare            purple_presence_compare
-
-#define purple_status_get_handle  purple_status_get_handle
-#define purple_status_init        purple_status_init
-#define purple_status_uninit      purple_status_uninit
+#define gaim_presence_is_idle            purple_presence_is_idle
+#define gaim_presence_get_idle_time      purple_presence_get_idle_time
+#define gaim_presence_get_login_time     purple_presence_get_login_time
+#define gaim_presence_compare            purple_presence_compare
+
+#define gaim_status_get_handle  purple_status_get_handle
+#define gaim_status_init        purple_status_init
+#define gaim_status_uninit      purple_status_uninit
 
 /* from stringref.h */
 
-#define PurpleStringref  PurpleStringref
-
-#define purple_stringref_new        purple_stringref_new
-#define purple_stringref_new_noref  purple_stringref_new_noref
-#define purple_stringref_printf     purple_stringref_printf
-#define purple_stringref_ref        purple_stringref_ref
-#define purple_stringref_unref      purple_stringref_unref
-#define purple_stringref_value      purple_stringref_value
-#define purple_stringref_cmp        purple_stringref_cmp
-#define purple_stringref_len        purple_stringref_len
+#define GaimStringref  PurpleStringref
+
+#define gaim_stringref_new        purple_stringref_new
+#define gaim_stringref_new_noref  purple_stringref_new_noref
+#define gaim_stringref_printf     purple_stringref_printf
+#define gaim_stringref_ref        purple_stringref_ref
+#define gaim_stringref_unref      purple_stringref_unref
+#define gaim_stringref_value      purple_stringref_value
+#define gaim_stringref_cmp        purple_stringref_cmp
+#define gaim_stringref_len        purple_stringref_len
 
 /* from stun.h */
 
-#define PurpleStunNatDiscovery  PurpleStunNatDiscovery
-
-#define PURPLE_STUN_STATUS_UNDISCOVERED  PURPLE_STUN_STATUS_UNDISCOVERED
-#define PURPLE_STUN_STATUS_UNKNOWN       PURPLE_STUN_STATUS_UNKNOWN
-#define PURPLE_STUN_STATUS_DISCOVERING   PURPLE_STUN_STATUS_DISCOVERING
-#define PURPLE_STUN_STATUS_DISCOVERED    PURPLE_STUN_STATUS_DISCOVERED
-#define PurpleStunStatus  PurpleStunStatus
-
-#define PURPLE_STUN_NAT_TYPE_PUBLIC_IP             PURPLE_STUN_NAT_TYPE_PUBLIC_IP
-#define PURPLE_STUN_NAT_TYPE_UNKNOWN_NAT           PURPLE_STUN_NAT_TYPE_UNKNOWN_NAT
-#define PURPLE_STUN_NAT_TYPE_FULL_CONE             PURPLE_STUN_NAT_TYPE_FULL_CONE
-#define PURPLE_STUN_NAT_TYPE_RESTRICTED_CONE       PURPLE_STUN_NAT_TYPE_RESTRICTED_CONE
-#define PURPLE_STUN_NAT_TYPE_PORT_RESTRICTED_CONE  PURPLE_STUN_NAT_TYPE_PORT_RESTRICTED_CONE
-#define PURPLE_STUN_NAT_TYPE_SYMMETRIC             PURPLE_STUN_NAT_TYPE_SYMMETRIC
-#define PurpleStunNatType  PurpleStunNatType
-
-/* why didn't this have a Purple prefix before? */
+#define GaimStunNatDiscovery  PurpleStunNatDiscovery
+
+#define GAIM_STUN_STATUS_UNDISCOVERED  PURPLE_STUN_STATUS_UNDISCOVERED
+#define GAIM_STUN_STATUS_UNKNOWN       PURPLE_STUN_STATUS_UNKNOWN
+#define GAIM_STUN_STATUS_DISCOVERING   PURPLE_STUN_STATUS_DISCOVERING
+#define GAIM_STUN_STATUS_DISCOVERED    PURPLE_STUN_STATUS_DISCOVERED
+#define GaimStunStatus  PurpleStunStatus
+
+#define GAIM_STUN_NAT_TYPE_PUBLIC_IP             PURPLE_STUN_NAT_TYPE_PUBLIC_IP
+#define GAIM_STUN_NAT_TYPE_UNKNOWN_NAT           PURPLE_STUN_NAT_TYPE_UNKNOWN_NAT
+#define GAIM_STUN_NAT_TYPE_FULL_CONE             PURPLE_STUN_NAT_TYPE_FULL_CONE
+#define GAIM_STUN_NAT_TYPE_RESTRICTED_CONE       PURPLE_STUN_NAT_TYPE_RESTRICTED_CONE
+#define GAIM_STUN_NAT_TYPE_PORT_RESTRICTED_CONE  PURPLE_STUN_NAT_TYPE_PORT_RESTRICTED_CONE
+#define GAIM_STUN_NAT_TYPE_SYMMETRIC             PURPLE_STUN_NAT_TYPE_SYMMETRIC
+#define GaimStunNatType  PurpleStunNatType
+
+/* why didn't this have a Gaim prefix before? */
 #define StunCallback  PurpleStunCallback
 
-#define purple_stun_discover  purple_stun_discover
-#define purple_stun_init      purple_stun_init
+#define gaim_stun_discover  purple_stun_discover
+#define gaim_stun_init      purple_stun_init
 
 /* from upnp.h */
 
 /* suggested rename: PurpleUPnpMappingHandle */
 #define UPnPMappingAddRemove  PurpleUPnPMappingAddRemove
 
-#define PurpleUPnPCallback  PurpleUPnPCallback
-
-#define purple_upnp_discover             purple_upnp_discover
-#define purple_upnp_get_public_ip        purple_upnp_get_public_ip
-#define purple_upnp_cancel_port_mapping  purple_upnp_cancel_port_mapping
-#define purple_upnp_set_port_mapping     purple_upnp_set_port_mapping
-
-#define purple_upnp_remove_port_mapping  purple_upnp_remove_port_mapping
+#define GaimUPnPCallback  PurpleUPnPCallback
+
+#define gaim_upnp_discover             purple_upnp_discover
+#define gaim_upnp_get_public_ip        purple_upnp_get_public_ip
+#define gaim_upnp_cancel_port_mapping  purple_upnp_cancel_port_mapping
+#define gaim_upnp_set_port_mapping     purple_upnp_set_port_mapping
+
+#define gaim_upnp_remove_port_mapping  purple_upnp_remove_port_mapping
 
 /* from util.h */
 
-#define PurpleUtilFetchUrlData  PurpleUtilFetchUrlData
-#define PurpleMenuAction        PurpleMenuAction
-
-#define PurpleInfoFieldFormatCallback  PurpleIntoFieldFormatCallback
-
-#define PurpleKeyValuePair  PurpleKeyValuePair
-
-#define purple_menu_action_new   purple_menu_action_new
-#define purple_menu_action_free  purple_menu_action_free
-
-#define purple_base16_encode   purple_base16_encode
-#define purple_base16_decode   purple_base16_decode
-#define purple_base64_encode   purple_base64_encode
-#define purple_base64_decode   purple_base64_decode
-#define purple_quotedp_decode  purple_quotedp_decode
-
-#define purple_mime_decode_field  purple_mime_deco_field
-
-#define purple_utf8_strftime      purple_utf8_strftime
-#define purple_date_format_short  purple_date_format_short
-#define purple_date_format_long   purple_date_format_long
-#define purple_date_format_full   purple_date_format_full
-#define purple_time_format        purple_time_format
-#define purple_time_build         purple_time_build
-
-#define PURPLE_NO_TZ_OFF  PURPLE_NO_TZ_OFF
-
-#define purple_str_to_time  purple_str_to_time
-
-#define purple_markup_find_tag            purple_markup_find_tag
-#define purple_markup_extract_info_field  purple_markup_extract_info_field
-#define purple_markup_html_to_xhtml       purple_markup_html_to_xhtml
-#define purple_markup_strip_html          purple_markup_strip_html
-#define purple_markup_linkify             purple_markup_linkify
-#define purple_markup_slice               purple_markup_slice
-#define purple_markup_get_tag_name        purple_markup_get_tag_name
-#define purple_unescape_html              purple_unescape_html
-
-#define purple_home_dir  purple_home_dir
-#define purple_user_dir  purple_user_dir
-
-#define purple_util_set_user_dir  purple_util_set_user_dir
-
-#define purple_build_dir  purple_build_dir
-
-#define purple_util_write_data_to_file  purple_util_write_data_to_file
-
-#define purple_util_read_xml_from_file  purple_util_read_xml_from_file
-
-#define purple_mkstemp  purple_mkstemp
-
-#define purple_program_is_valid  purple_program_is_valid
-
-#define purple_running_gnome  purple_running_gnome
-#define purple_running_kde    purple_running_kde
-#define purple_running_osx    purple_running_osx
-
-#define purple_fd_get_ip  purple_fd_get_ip
-
-#define purple_normalize         purple_normalize
-#define purple_normalize_nocase  purple_normalize_nocase
-
-#define purple_strdup_withhtml  purple_strdup_withhtml
-
-#define purple_str_has_prefix  purple_str_has_prefix
-#define purple_str_has_suffix  purple_str_has_suffix
-#define purple_str_add_cr      purple_str_add_cr
-#define purple_str_strip_char  purple_str_strip_char
-
-#define purple_util_chrreplace  purple_util_chrreplace
-
-#define purple_strreplace  purple_strreplace
-
-#define purple_utf8_ncr_encode  purple_utf8_ncr_encode
-#define purple_utf8_ncr_decode  purple_utf8_ncr_decode
-
-#define purple_strcasereplace  purple_strcasereplace
-#define purple_strcasestr      purple_strcasestr
-
-#define purple_str_size_to_units      purple_str_size_to_units
-#define purple_str_seconds_to_string  purple_str_seconds_to_string
-#define purple_str_binary_to_ascii    purple_str_binary_to_ascii
-
-
-#define purple_got_protocol_handler_uri  purple_got_protocol_handler_uri
-
-#define purple_url_parse  purple_url_parse
-
-#define PurpleUtilFetchUrlCallback  PurpleUtilFetchUrlCallback
-#define purple_util_fetch_url          purple_util_fetch_url
-#define purple_util_fetch_url_request  purple_util_fetch_url_request
-#define purple_util_fetch_url_cancel   purple_util_fetch_url_cancel
-
-#define purple_url_decode  purple_url_decode
-#define purple_url_encode  purple_url_encode
-
-#define purple_email_is_valid  purple_email_is_valid
-
-#define purple_uri_list_extract_uris       purple_uri_list_extract_uris
-#define purple_uri_list_extract_filenames  purple_uri_list_extract_filenames
-
-#define purple_utf8_try_convert  purple_utf8_try_convert
-#define purple_utf8_salvage      purple_utf8_salvage
-#define purple_utf8_strcasecmp   purple_utf8_strcasecmp
-#define purple_utf8_has_word     purple_utf8_has_word
-
-#define purple_print_utf8_to_console  purple_print_utf8_to_console
-
-#define purple_message_meify  purple_message_meify
-
-#define purple_text_strip_mnemonic  purple_text_strip_mnemonic
-
-#define purple_unescape_filename  purple_unescape_filename
-#define purple_escape_filename    purple_escape_filename
+#define GaimUtilFetchUrlData  PurpleUtilFetchUrlData
+#define GaimMenuAction        PurpleMenuAction
+
+#define GaimInfoFieldFormatCallback  PurpleIntoFieldFormatCallback
+
+#define GaimKeyValuePair  PurpleKeyValuePair
+
+#define gaim_menu_action_new   purple_menu_action_new
+#define gaim_menu_action_free  purple_menu_action_free
+
+#define gaim_base16_encode   purple_base16_encode
+#define gaim_base16_decode   purple_base16_decode
+#define gaim_base64_encode   purple_base64_encode
+#define gaim_base64_decode   purple_base64_decode
+#define gaim_quotedp_decode  purple_quotedp_decode
+
+#define gaim_mime_decode_field  purple_mime_deco_field
+
+#define gaim_utf8_strftime      purple_utf8_strftime
+#define gaim_date_format_short  purple_date_format_short
+#define gaim_date_format_long   purple_date_format_long
+#define gaim_date_format_full   purple_date_format_full
+#define gaim_time_format        purple_time_format
+#define gaim_time_build         purple_time_build
+
+#define GAIM_NO_TZ_OFF  PURPLE_NO_TZ_OFF
+
+#define gaim_str_to_time  purple_str_to_time
+
+#define gaim_markup_find_tag            purple_markup_find_tag
+#define gaim_markup_extract_info_field  purple_markup_extract_info_field
+#define gaim_markup_html_to_xhtml       purple_markup_html_to_xhtml
+#define gaim_markup_strip_html          purple_markup_strip_html
+#define gaim_markup_linkify             purple_markup_linkify
+#define gaim_markup_slice               purple_markup_slice
+#define gaim_markup_get_tag_name        purple_markup_get_tag_name
+#define gaim_unescape_html              purple_unescape_html
+
+#define gaim_home_dir  purple_home_dir
+#define gaim_user_dir  purple_user_dir
+
+#define gaim_util_set_user_dir  purple_util_set_user_dir
+
+#define gaim_build_dir  purple_build_dir
+
+#define gaim_util_write_data_to_file  purple_util_write_data_to_file
+
+#define gaim_util_read_xml_from_file  purple_util_read_xml_from_file
+
+#define gaim_mkstemp  purple_mkstemp
+
+#define gaim_program_is_valid  purple_program_is_valid
+
+#define gaim_running_gnome  purple_running_gnome
+#define gaim_running_kde    purple_running_kde
+#define gaim_running_osx    purple_running_osx
+
+#define gaim_fd_get_ip  purple_fd_get_ip
+
+#define gaim_normalize         purple_normalize
+#define gaim_normalize_nocase  purple_normalize_nocase
+
+#define gaim_strdup_withhtml  purple_strdup_withhtml
+
+#define gaim_str_has_prefix  purple_str_has_prefix
+#define gaim_str_has_suffix  purple_str_has_suffix
+#define gaim_str_add_cr      purple_str_add_cr
+#define gaim_str_strip_char  purple_str_strip_char
+
+#define gaim_util_chrreplace  purple_util_chrreplace
+
+#define gaim_strreplace  purple_strreplace
+
+#define gaim_utf8_ncr_encode  purple_utf8_ncr_encode
+#define gaim_utf8_ncr_decode  purple_utf8_ncr_decode
+
+#define gaim_strcasereplace  purple_strcasereplace
+#define gaim_strcasestr      purple_strcasestr
+
+#define gaim_str_size_to_units      purple_str_size_to_units
+#define gaim_str_seconds_to_string  purple_str_seconds_to_string
+#define gaim_str_binary_to_ascii    purple_str_binary_to_ascii
+
+
+#define gaim_got_protocol_handler_uri  purple_got_protocol_handler_uri
+
+#define gaim_url_parse  purple_url_parse
+
+#define GaimUtilFetchUrlCallback  PurpleUtilFetchUrlCallback
+#define gaim_util_fetch_url          purple_util_fetch_url
+#define gaim_util_fetch_url_request  purple_util_fetch_url_request
+#define gaim_util_fetch_url_cancel   purple_util_fetch_url_cancel
+
+#define gaim_url_decode  purple_url_decode
+#define gaim_url_encode  purple_url_encode
+
+#define gaim_email_is_valid  purple_email_is_valid
+
+#define gaim_uri_list_extract_uris       purple_uri_list_extract_uris
+#define gaim_uri_list_extract_filenames  purple_uri_list_extract_filenames
+
+#define gaim_utf8_try_convert  purple_utf8_try_convert
+#define gaim_utf8_salvage      purple_utf8_salvage
+#define gaim_utf8_strcasecmp   purple_utf8_strcasecmp
+#define gaim_utf8_has_word     purple_utf8_has_word
+
+#define gaim_print_utf8_to_console  purple_print_utf8_to_console
+
+#define gaim_message_meify  purple_message_meify
+
+#define gaim_text_strip_mnemonic  purple_text_strip_mnemonic
+
+#define gaim_unescape_filename  purple_unescape_filename
+#define gaim_escape_filename    purple_escape_filename
 
 /* from value.h */
 
-#define PURPLE_TYPE_UNKNOWN  PURPLE_TYPE_UNKNOWN
-#define PURPLE_TYPE_SUBTYPE  PURPLE_TYPE_SUBTYPE
-#define PURPLE_TYPE_CHAR     PURPLE_TYPE_CHAR
-#define PURPLE_TYPE_UCHAR    PURPLE_TYPE_UCHAR
-#define PURPLE_TYPE_BOOLEAN  PURPLE_TYPE_BOOLEAN
-#define PURPLE_TYPE_SHORT    PURPLE_TYPE_SHORT
-#define PURPLE_TYPE_USHORT   PURPLE_TYPE_USHORT
-#define PURPLE_TYPE_INT      PURPLE_TYPE_INT
-#define PURPLE_TYPE_UINT     PURPLE_TYPE_UINT
-#define PURPLE_TYPE_LONG     PURPLE_TYPE_LONG
-#define PURPLE_TYPE_ULONG    PURPLE_TYPE_ULONG
-#define PURPLE_TYPE_INT64    PURPLE_TYPE_INT64
-#define PURPLE_TYPE_UINT64   PURPLE_TYPE_UINT64
-#define PURPLE_TYPE_STRING   PURPLE_TYPE_STRING
-#define PURPLE_TYPE_OBJECT   PURPLE_TYPE_OBJECT
-#define PURPLE_TYPE_POINTER  PURPLE_TYPE_POINTER
-#define PURPLE_TYPE_ENUM     PURPLE_TYPE_ENUM
-#define PURPLE_TYPE_BOXED    PURPLE_TYPE_BOXED
-#define PurpleType  PurpleType
-
-
-#define PURPLE_SUBTYPE_UNKNOWN       PURPLE_SUBTYPE_UNKNOWN
-#define PURPLE_SUBTYPE_ACCOUNT       PURPLE_SUBTYPE_ACCOUNT
-#define PURPLE_SUBTYPE_BLIST         PURPLE_SUBTYPE_BLIST
-#define PURPLE_SUBTYPE_BLIST_BUDDY   PURPLE_SUBTYPE_BLIST_BUDDY
-#define PURPLE_SUBTYPE_BLIST_GROUP   PURPLE_SUBTYPE_BLIST_GROUP
-#define PURPLE_SUBTYPE_BLIST_CHAT    PURPLE_SUBTYPE_BLIST_CHAT
-#define PURPLE_SUBTYPE_BUDDY_ICON    PURPLE_SUBTYPE_BUDDY_ICON
-#define PURPLE_SUBTYPE_CONNECTION    PURPLE_SUBTYPE_CONNECTION
-#define PURPLE_SUBTYPE_CONVERSATION  PURPLE_SUBTYPE_CONVERSATION
-#define PURPLE_SUBTYPE_PLUGIN        PURPLE_SUBTYPE_PLUGIN
-#define PURPLE_SUBTYPE_BLIST_NODE    PURPLE_SUBTYPE_BLIST_NODE
-#define PURPLE_SUBTYPE_CIPHER        PURPLE_SUBTYPE_CIPHER
-#define PURPLE_SUBTYPE_STATUS        PURPLE_SUBTYPE_STATUS
-#define PURPLE_SUBTYPE_LOG           PURPLE_SUBTYPE_LOG
-#define PURPLE_SUBTYPE_XFER          PURPLE_SUBTYPE_XFER
-#define PURPLE_SUBTYPE_SAVEDSTATUS   PURPLE_SUBTYPE_SAVEDSTATUS
-#define PURPLE_SUBTYPE_XMLNODE       PURPLE_SUBTYPE_XMLNODE
-#define PURPLE_SUBTYPE_USERINFO      PURPLE_SUBTYPE_USERINFO
-#define PurpleSubType  PurpleSubType
-
-#define PurpleValue  PurpleValue
-
-#define purple_value_new                purple_value_new
-#define purple_value_new_outgoing       purple_value_new_outgoing
-#define purple_value_destroy            purple_value_destroy
-#define purple_value_dup                purple_value_dup
-#define purple_value_get_type           purple_value_get_type
-#define purple_value_get_subtype        purple_value_get_subtype
-#define purple_value_get_specific_type  purple_value_get_specific_type
-#define purple_value_is_outgoing        purple_value_is_outgoing
-#define purple_value_set_char           purple_value_set_char
-#define purple_value_set_uchar          purple_value_set_uchar
-#define purple_value_set_boolean        purple_value_set_boolean
-#define purple_value_set_short          purple_value_set_short
-#define purple_value_set_ushort         purple_value_set_ushort
-#define purple_value_set_int            purple_value_set_int
-#define purple_value_set_uint           purple_value_set_uint
-#define purple_value_set_long           purple_value_set_long
-#define purple_value_set_ulong          purple_value_set_ulong
-#define purple_value_set_int64          purple_value_set_int64
-#define purple_value_set_uint64         purple_value_set_uint64
-#define purple_value_set_string         purple_value_set_string
-#define purple_value_set_object         purple_value_set_object
-#define purple_value_set_pointer        purple_value_set_pointer
-#define purple_value_set_enum           purple_value_set_enum
-#define purple_value_set_boxed          purple_value_set_boxed
-#define purple_value_get_char           purple_value_get_char
-#define purple_value_get_uchar          purple_value_get_uchar
-#define purple_value_get_boolean        purple_value_get_boolean
-#define purple_value_get_short          purple_value_get_short
-#define purple_value_get_ushort         purple_value_get_ushort
-#define purple_value_get_int            purple_value_get_int
-#define purple_value_get_uint           purple_value_get_uint
-#define purple_value_get_long           purple_value_get_long
-#define purple_value_get_ulong          purple_value_get_ulong
-#define purple_value_get_int64          purple_value_get_int64
-#define purple_value_get_uint64         purple_value_get_uint64
-#define purple_value_get_string         purple_value_get_string
-#define purple_value_get_object         purple_value_get_object
-#define purple_value_get_pointer        purple_value_get_pointer
-#define purple_value_get_enum           purple_value_get_enum
-#define purple_value_get_boxed          purple_value_get_boxed
+#define GAIM_TYPE_UNKNOWN  PURPLE_TYPE_UNKNOWN
+#define GAIM_TYPE_SUBTYPE  PURPLE_TYPE_SUBTYPE
+#define GAIM_TYPE_CHAR     PURPLE_TYPE_CHAR
+#define GAIM_TYPE_UCHAR    PURPLE_TYPE_UCHAR
+#define GAIM_TYPE_BOOLEAN  PURPLE_TYPE_BOOLEAN
+#define GAIM_TYPE_SHORT    PURPLE_TYPE_SHORT
+#define GAIM_TYPE_USHORT   PURPLE_TYPE_USHORT
+#define GAIM_TYPE_INT      PURPLE_TYPE_INT
+#define GAIM_TYPE_UINT     PURPLE_TYPE_UINT
+#define GAIM_TYPE_LONG     PURPLE_TYPE_LONG
+#define GAIM_TYPE_ULONG    PURPLE_TYPE_ULONG
+#define GAIM_TYPE_INT64    PURPLE_TYPE_INT64
+#define GAIM_TYPE_UINT64   PURPLE_TYPE_UINT64
+#define GAIM_TYPE_STRING   PURPLE_TYPE_STRING
+#define GAIM_TYPE_OBJECT   PURPLE_TYPE_OBJECT
+#define GAIM_TYPE_POINTER  PURPLE_TYPE_POINTER
+#define GAIM_TYPE_ENUM     PURPLE_TYPE_ENUM
+#define GAIM_TYPE_BOXED    PURPLE_TYPE_BOXED
+#define GaimType  PurpleType
+
+
+#define GAIM_SUBTYPE_UNKNOWN       PURPLE_SUBTYPE_UNKNOWN
+#define GAIM_SUBTYPE_ACCOUNT       PURPLE_SUBTYPE_ACCOUNT
+#define GAIM_SUBTYPE_BLIST         PURPLE_SUBTYPE_BLIST
+#define GAIM_SUBTYPE_BLIST_BUDDY   PURPLE_SUBTYPE_BLIST_BUDDY
+#define GAIM_SUBTYPE_BLIST_GROUP   PURPLE_SUBTYPE_BLIST_GROUP
+#define GAIM_SUBTYPE_BLIST_CHAT    PURPLE_SUBTYPE_BLIST_CHAT
+#define GAIM_SUBTYPE_BUDDY_ICON    PURPLE_SUBTYPE_BUDDY_ICON
+#define GAIM_SUBTYPE_CONNECTION    PURPLE_SUBTYPE_CONNECTION
+#define GAIM_SUBTYPE_CONVERSATION  PURPLE_SUBTYPE_CONVERSATION
+#define GAIM_SUBTYPE_PLUGIN        PURPLE_SUBTYPE_PLUGIN
+#define GAIM_SUBTYPE_BLIST_NODE    PURPLE_SUBTYPE_BLIST_NODE
+#define GAIM_SUBTYPE_CIPHER        PURPLE_SUBTYPE_CIPHER
+#define GAIM_SUBTYPE_STATUS        PURPLE_SUBTYPE_STATUS
+#define GAIM_SUBTYPE_LOG           PURPLE_SUBTYPE_LOG
+#define GAIM_SUBTYPE_XFER          PURPLE_SUBTYPE_XFER
+#define GAIM_SUBTYPE_SAVEDSTATUS   PURPLE_SUBTYPE_SAVEDSTATUS
+#define GAIM_SUBTYPE_XMLNODE       PURPLE_SUBTYPE_XMLNODE
+#define GAIM_SUBTYPE_USERINFO      PURPLE_SUBTYPE_USERINFO
+#define GaimSubType  PurpleSubType
+
+#define GaimValue  PurpleValue
+
+#define gaim_value_new                purple_value_new
+#define gaim_value_new_outgoing       purple_value_new_outgoing
+#define gaim_value_destroy            purple_value_destroy
+#define gaim_value_dup                purple_value_dup
+#define gaim_value_get_type           purple_value_get_type
+#define gaim_value_get_subtype        purple_value_get_subtype
+#define gaim_value_get_specific_type  purple_value_get_specific_type
+#define gaim_value_is_outgoing        purple_value_is_outgoing
+#define gaim_value_set_char           purple_value_set_char
+#define gaim_value_set_uchar          purple_value_set_uchar
+#define gaim_value_set_boolean        purple_value_set_boolean
+#define gaim_value_set_short          purple_value_set_short
+#define gaim_value_set_ushort         purple_value_set_ushort
+#define gaim_value_set_int            purple_value_set_int
+#define gaim_value_set_uint           purple_value_set_uint
+#define gaim_value_set_long           purple_value_set_long
+#define gaim_value_set_ulong          purple_value_set_ulong
+#define gaim_value_set_int64          purple_value_set_int64
+#define gaim_value_set_uint64         purple_value_set_uint64
+#define gaim_value_set_string         purple_value_set_string
+#define gaim_value_set_object         purple_value_set_object
+#define gaim_value_set_pointer        purple_value_set_pointer
+#define gaim_value_set_enum           purple_value_set_enum
+#define gaim_value_set_boxed          purple_value_set_boxed
+#define gaim_value_get_char           purple_value_get_char
+#define gaim_value_get_uchar          purple_value_get_uchar
+#define gaim_value_get_boolean        purple_value_get_boolean
+#define gaim_value_get_short          purple_value_get_short
+#define gaim_value_get_ushort         purple_value_get_ushort
+#define gaim_value_get_int            purple_value_get_int
+#define gaim_value_get_uint           purple_value_get_uint
+#define gaim_value_get_long           purple_value_get_long
+#define gaim_value_get_ulong          purple_value_get_ulong
+#define gaim_value_get_int64          purple_value_get_int64
+#define gaim_value_get_uint64         purple_value_get_uint64
+#define gaim_value_get_string         purple_value_get_string
+#define gaim_value_get_object         purple_value_get_object
+#define gaim_value_get_pointer        purple_value_get_pointer
+#define gaim_value_get_enum           purple_value_get_enum
+#define gaim_value_get_boxed          purple_value_get_boxed
 
 /* from version.h */
 
-#define PURPLE_MAJOR_VERSION  PURPLE_MAJOR_VERSION
-#define PURPLE_MINOR_VERSION  PURPLE_MINOR_VERSION
-#define PURPLE_MICRO_VERSION  PURPLE_MICRO_VERSION
-
-#define PURPLE_VERSION_CHECK  PURPLE_VERSION_CHECK
+#define GAIM_MAJOR_VERSION  PURPLE_MAJOR_VERSION
+#define GAIM_MINOR_VERSION  PURPLE_MINOR_VERSION
+#define GAIM_MICRO_VERSION  PURPLE_MICRO_VERSION
+
+#define GAIM_VERSION_CHECK  PURPLE_VERSION_CHECK
 
 /* from whiteboard.h */
 
-#ifndef _PURPLE_WHITEBOARD_H_
-#define _PURPLE_WHITEBOARD_H_
-
-#define PurpleWhiteboardPrplOps  PurpleWhiteboardPrplOps
-#define PurpleWhiteboard         PurpleWhiteboard
-#define PurpleWhiteboardUiOps    PurpleWhiteboardUiOps
-
-#define purple_whiteboard_set_ui_ops    purple_whiteboard_set_ui_ops
-#define purple_whiteboard_set_prpl_ops  purple_whiteboard_set_prpl_ops
-
-#define purple_whiteboard_create             purple_whiteboard_create
-#define purple_whiteboard_destroy            purple_whiteboard_destroy
-#define purple_whiteboard_start              purple_whiteboard_start
-#define purple_whiteboard_get_session        purple_whiteboard_get_session
-#define purple_whiteboard_draw_list_destroy  purple_whiteboard_draw_list_destroy
-#define purple_whiteboard_get_dimensions     purple_whiteboard_get_dimensions
-#define purple_whiteboard_set_dimensions     purple_whiteboard_set_dimensions
-#define purple_whiteboard_draw_point         purple_whiteboard_draw_point
-#define purple_whiteboard_send_draw_list     purple_whiteboard_send_draw_list
-#define purple_whiteboard_draw_line          purple_whiteboard_draw_line
-#define purple_whiteboard_clear              purple_whiteboard_clear
-#define purple_whiteboard_send_clear         purple_whiteboard_send_clear
-#define purple_whiteboard_send_brush         purple_whiteboard_send_brush
-#define purple_whiteboard_get_brush          purple_whiteboard_get_brush
-#define purple_whiteboard_set_brush          purple_whiteboard_set_brush
-
-#endif /* _PURPLE_COMPAT_H_ */
+#define GaimWhiteboardPrplOps  PurpleWhiteboardPrplOps
+#define GaimWhiteboard         PurpleWhiteboard
+#define GaimWhiteboardUiOps    PurpleWhiteboardUiOps
+
+#define gaim_whiteboard_set_ui_ops    purple_whiteboard_set_ui_ops
+#define gaim_whiteboard_set_prpl_ops  purple_whiteboard_set_prpl_ops
+
+#define gaim_whiteboard_create             purple_whiteboard_create
+#define gaim_whiteboard_destroy            purple_whiteboard_destroy
+#define gaim_whiteboard_start              purple_whiteboard_start
+#define gaim_whiteboard_get_session        purple_whiteboard_get_session
+#define gaim_whiteboard_draw_list_destroy  purple_whiteboard_draw_list_destroy
+#define gaim_whiteboard_get_dimensions     purple_whiteboard_get_dimensions
+#define gaim_whiteboard_set_dimensions     purple_whiteboard_set_dimensions
+#define gaim_whiteboard_draw_point         purple_whiteboard_draw_point
+#define gaim_whiteboard_send_draw_list     purple_whiteboard_send_draw_list
+#define gaim_whiteboard_draw_line          purple_whiteboard_draw_line
+#define gaim_whiteboard_clear              purple_whiteboard_clear
+#define gaim_whiteboard_send_clear         purple_whiteboard_send_clear
+#define gaim_whiteboard_send_brush         purple_whiteboard_send_brush
+#define gaim_whiteboard_get_brush          purple_whiteboard_get_brush
+#define gaim_whiteboard_set_brush          purple_whiteboard_set_brush
+
+/* for static plugins */
+#define gaim_init_ssl_plugin			purple_init_ssl_plugin
+#define gaim_init_ssl_openssl_plugin	purple_init_ssl_openssl_plugin
+#define gaim_init_ssl_gnutls_plugin		purple_init_ssl_gnutls_plugin
+#define gaim_init_gg_plugin				purple_init_gg_plugin
+#define gaim_init_jabber_plugin			purple_init_jabber_plugin
+#define gaim_init_sametime_plugin		purple_init_sametime_plugin
+#define gaim_init_msn_plugin			purple_init_msn_plugin
+#define gaim_init_novell_plugin			purple_init_novell_plugin
+#define gaim_init_qq_plugin				purple_init_qq_plugin
+#define gaim_init_simple_plugin			purple_init_simple_plugin
+#define gaim_init_yahoo_plugin			purple_init_yahoo_plugin
+#define gaim_init_zephyr_plugin			purple_init_zephyr_plugin
+#define gaim_init_aim_plugin			purple_init_aim_plugin
+#define gaim_init_icq_plugin			purple_init_icq_plugin
+
+#endif /* _GAIM_COMPAT_H_ */
--- a/libpurple/gaim.h	Mon Mar 19 18:44:36 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * purple
- *
- * Purple is the legal property of its developers, whose names are too numerous
- * to list here.  Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- */
-#ifndef _PURPLE_H_
-#define _PURPLE_H_
-
-#define XPATCH BAD /* Because Kalla Said So */
-
-#endif /* _PURPLE_H_ */
--- a/libpurple/internal.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/libpurple/internal.h	Wed Mar 21 18:33:13 2007 +0000
@@ -181,7 +181,7 @@
 #define purple_strlcpy(dest, src) g_strlcpy(dest, src, sizeof(dest))
 #define purple_strlcat(dest, src) g_strlcat(dest, src, sizeof(dest))
 
-#define PURPLE_WEBSITE "http://purple.sourceforge.net/"
+#define PURPLE_WEBSITE "http://pidgin.im/"
 
 #ifndef _WIN32
 /* Everything needs to include this, because
--- a/libpurple/plugins/codeinline.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/libpurple/plugins/codeinline.c	Wed Mar 21 18:33:13 2007 +0000
@@ -75,7 +75,7 @@
      "Changes the formatting of any outgoing text such that "
      "anything underlined will be received green and monospace.",
      "Sean Egan <seanegan@gmail.com>",
-     "http://purple.sourceforge.net",
+     PURPLE_WEBSITE,
      plugin_load,
      NULL,
      NULL,
--- a/libpurple/protocols/oscar/oscar.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/libpurple/protocols/oscar/oscar.c	Wed Mar 21 18:33:13 2007 +0000
@@ -60,7 +60,7 @@
 #define OSCAR_STATUS_ID_CUSTOM      "custom"
 #define OSCAR_STATUS_ID_MOBILE	    "mobile"
 
-#define AIMHASHDATA "http://purple.sourceforge.net/aim_data.php3"
+#define AIMHASHDATA "http://pidgin.im/aim_data.php3"
 
 #define OSCAR_CONNECT_STEPS 6
 
@@ -1593,7 +1593,7 @@
 	pos->modname = g_strdup(modname);
 
 	/* TODO: Keep track of this return value. */
-	if (purple_proxy_connect(NULL, pos->gc->account, "purple.sourceforge.net", 80,
+	if (purple_proxy_connect(NULL, pos->gc->account, "pidgin.im", 80,
 			straight_to_hell, pos) == NULL)
 	{
 		char buf[256];
--- a/pidgin/getopt.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/getopt.c	Wed Mar 21 18:33:13 2007 +0000
@@ -3,7 +3,7 @@
    "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
    before changing it!
 
-   Purple is the legal property of its developers, whose names are too numerous
+   Pidgin is the legal property of its developers, whose names are too numerous
    to list here.  Please refer to the COPYRIGHT file distributed with this
    source distribution.
 
--- a/pidgin/getopt1.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/getopt1.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,5 +1,5 @@
 /* getopt_long and getopt_long_only entry points for GNU getopt.
-   Purple is the legal property of its developers, whose names are too numerous
+   Pidgin is the legal property of its developers, whose names are too numerous
    to list here.  Please refer to the COPYRIGHT file distributed with this
    source distribution.
 
--- a/pidgin/gtkaccount.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkaccount.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkaccount.c GTK+ Account Editor UI
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkaccount.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkaccount.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkaccount.h GTK+ Account Editor UI
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkblist.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkblist.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkblist.c GTK+ BuddyList API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkblist.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkblist.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkblist.h GTK+ Buddy List API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkcellrendererexpander.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkcellrendererexpander.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkcellrendererexpander.c GTK+ Cell Renderer Expander
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkcellrendererprogress.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkcellrendererprogress.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkcellrendererprogress.c GTK+ Cell Renderer Progress
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkconn.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkconn.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkconn.c GTK+ Connection API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkconn.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkconn.h	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /**
  * @file gtkconn.h GTK+ Connection API
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkconv.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkconv.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkconv.c GTK+ Conversation API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
@@ -7043,9 +7043,9 @@
  * @file gtkconvwin.c GTK+ Conversation Window API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkconv.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkconv.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkconv.h GTK+ Conversation API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkconvwin.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkconvwin.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkconvwin.h GTK+ Conversation Window API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkdebug.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkdebug.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkdebug.c GTK+ Debug API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkdebug.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkdebug.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkdebug.h GTK+ Debug API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkdialogs.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkdialogs.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkdialogs.c GTK+ Dialogs
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
@@ -162,6 +162,7 @@
 	{N_("Italian"),             "it", "Claudio Satriano", "satriano@na.infn.it"},
 	{N_("Japanese"),            "ja", "Takashi Aihana", "aihana@gnome.gr.jp"},
 	{N_("Georgian"),            "ka", "Ubuntu Georgian Translators", "alexander.didebulidze@stusta.mhn.de"},
+	{N_("Kannada"),             "kn", "Kannada Translation team" "translation@sampada.info"},
 	{N_("Korean"),              "ko", "Kyung-uk Son", "vvs740@chol.com"},
 	{N_("Kurdish"),             "ku", "Erdal Ronahi", "erdal.ronahi@gmail.com"},
 	{N_("Kurdish"),             "ku", "Amed Ç. Jiyan", "amedcj@hotmail.com"},
--- a/pidgin/gtkdialogs.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkdialogs.h	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /**
  * @defgroup gtkui GTK+ User Interface
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkdnd-hints.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkdnd-hints.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkdnd-hints.c GTK+ Drag-and-Drop arrow hints
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkeventloop.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkeventloop.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtk_eventloop.c Purple Event Loop API (gtk implementation)
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkeventloop.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkeventloop.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkeventloop.h Pidgin GTK+ Event Loop Implementation
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkft.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkft.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkft.c GTK+ File Transfer UI
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkft.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkft.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkft.h GTK+ File Transfer UI
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkidle.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkidle.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /*
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkidle.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkidle.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkidle.h GTK+ Idle API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkimhtml.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkimhtml.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkimhtml.c GTK+ IMHtml
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkimhtmltoolbar.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkimhtmltoolbar.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkimhtmltoolbar.c GTK+ IMHtml Toolbar
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtklog.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtklog.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtklog.c GTK+ Log viewer
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtklog.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtklog.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtklog.h GTK+ Log viewer
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkmain.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkmain.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /*
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkmenutray.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkmenutray.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,5 +1,5 @@
 /*
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtknickcolors.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtknickcolors.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtknickcolors.h GTK+ Conversation API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
--- a/pidgin/gtknotify.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtknotify.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtknotify.c GTK+ Notification API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtknotify.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtknotify.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtknotify.h GTK+ Notification API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkplugin.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkplugin.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkplugin.c GTK+ Plugins support
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkplugin.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkplugin.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkplugin.h GTK+ Plugin API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkpluginpref.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkpluginpref.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkpluginpref.c GTK+ Plugin preferences
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkpluginpref.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkpluginpref.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkpluginpref.h GTK+ Plugin Preferences
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkpounce.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkpounce.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkpounce.c GTK+ Buddy Pounce API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkpounce.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkpounce.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkpounce.h GTK+ Buddy Pounce API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkprefs.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkprefs.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkprefs.c GTK+ Preferences
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkprefs.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkprefs.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkprefs.h GTK+ Preferences
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkprivacy.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkprivacy.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkprivacy.c GTK+ Privacy UI
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkprivacy.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkprivacy.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkprivacy.h GTK+ Privacy UI
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkrequest.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkrequest.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkrequest.c GTK+ Request API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkrequest.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkrequest.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkrequest.h GTK+ Request API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkroomlist.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkroomlist.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkroomlist.c GTK+ Room List UI
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkroomlist.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkroomlist.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkroomlist.h GTK+ Room List UI
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtksavedstatuses.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtksavedstatuses.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtksavedstatus.c GTK+ Saved Status Editor UI
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtksavedstatuses.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtksavedstatuses.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtksavedstatuses.h GTK+ Saved Status Editor UI
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkscrollbook.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkscrollbook.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkscrollbook.c GTK+ Scrolling notebook widget 
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkscrollbook.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkscrollbook.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkscrollbook  GTK+ Scrolling notebook Widget
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtksession.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtksession.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtksession.c X Windows session management API
  * @ingroup gtkui
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtksession.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtksession.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtksession.h X Windows session management API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtksound.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtksound.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtksound.c GTK+ Sound
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
@@ -529,7 +529,7 @@
 		char *filename = g_strdup(purple_prefs_get_path(file_pref));
 		if(!filename || !strlen(filename)) {
 			g_free(filename);
-			filename = g_build_filename(DATADIR, "sounds", "purple", sounds[event].def, NULL);
+			filename = g_build_filename(DATADIR, "sounds", "pidgin", sounds[event].def, NULL);
 		}
 
 		purple_sound_play_file(filename, NULL);
--- a/pidgin/gtksound.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtksound.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtksound.h GTK+ Sound API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtksourceiter.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtksourceiter.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- 
  *  gtksourceiter.c
  *
- *  Purple is the legal property of its developers, whose names are too numerous
+ *  Pidgin is the legal property of its developers, whose names are too numerous
  *  to list here.  Please refer to the COPYRIGHT file distributed with this
  *  source distribution.
  *
--- a/pidgin/gtkstatusbox.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkstatusbox.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkstatusbox.c GTK+ Status Selection Widget
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkstatusbox.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkstatusbox.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkstatusbox.c GTK+ Status Selection Widget
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkthemes.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkthemes.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /*
- * Themes for Purple
+ * Themes for Pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
@@ -264,7 +264,7 @@
 	int l;
 
 	char* probedirs[3];
-	probedirs[0] = g_build_filename(DATADIR, "pixmaps", "purple", "smileys", NULL);
+	probedirs[0] = g_build_filename(DATADIR, "pixmaps", "pidgin", "emotes", NULL);
 	probedirs[1] = g_build_filename(purple_user_dir(), "smileys", NULL);
 	probedirs[2] = 0;
 	for (l=0; probedirs[l]; l++) {
--- a/pidgin/gtkthemes.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkthemes.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkthemes.h GTK+ Smiley Theme API
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkutils.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkutils.c	Wed Mar 21 18:33:13 2007 +0000
@@ -2,9 +2,9 @@
  * @file gtkutils.c GTK+ utility functions
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkutils.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkutils.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkutils.h GTK+ utility functions
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/gtkwhiteboard.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkwhiteboard.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /*
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/gtkwhiteboard.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/gtkwhiteboard.h	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /**
  * @file gtkwhiteboard.h The PidginWhiteboard frontend object
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/pidgin.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/pidgin.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file pidgin.h UI definitions and includes
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/pidginstock.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/pidginstock.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,10 +1,10 @@
 /**
- * @file purplestock.c GTK+ Stock resources
+ * @file pidginstock.c GTK+ Stock resources
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
@@ -81,7 +81,7 @@
 	{ PIDGIN_STOCK_OPEN_MAIL,       NULL,      GTK_STOCK_JUMP_TO          },
 	{ PIDGIN_STOCK_SIGN_ON,         NULL,      GTK_STOCK_EXECUTE          },
 	{ PIDGIN_STOCK_SIGN_OFF,        NULL,      GTK_STOCK_CLOSE            },
-	{ PIDGIN_STOCK_TYPED,           "purple",    "typed.png"                },
+	{ PIDGIN_STOCK_TYPED,           "pidgin",  "typed.png"                },
 	{ PIDGIN_STOCK_UPLOAD,          NULL,      GTK_STOCK_GO_UP            },
 };
 
@@ -183,11 +183,11 @@
 	if (base == NULL)
 		return NULL;
 
-	if (!strcmp(dir, "purple"))
-		filename = g_build_filename(DATADIR, "pixmaps", "purple", base, NULL);
+	if (!strcmp(dir, "pidgin"))
+		filename = g_build_filename(DATADIR, "pixmaps", "pidgin", base, NULL);
 	else
 	{
-		filename = g_build_filename(DATADIR, "pixmaps", "purple", dir,
+		filename = g_build_filename(DATADIR, "pixmaps", "pidgin", dir,
 									base, NULL);
 	}
 
--- a/pidgin/pidginstock.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/pidginstock.h	Wed Mar 21 18:33:13 2007 +0000
@@ -2,7 +2,7 @@
  * @file gtkstock.h GTK+ Stock resources
  * @ingroup gtkui
  *
- * purple
+ * pidgin
  *
  * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
--- a/pidgin/pixmaps/Makefile.am	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/pixmaps/Makefile.am	Wed Mar 21 18:33:13 2007 +0000
@@ -50,14 +50,14 @@
 		gaim.ico			
 
 
-gaimbuttonpixdir = $(datadir)/pixmaps/gaim/buttons
-gaimbuttonpix_DATA = about_menu.png accounts.png change-bgcolor-small.png change-fgcolor-small.png edit.png info.png insert-image-small.png insert-link-small.png insert-smiley-small.png pause.png text_bigger.png text_normal.png text_smaller.png send-im.png
+pidginbuttonpixdir = $(datadir)/pixmaps/pidgin/buttons
+pidginbuttonpix_DATA = about_menu.png accounts.png change-bgcolor-small.png change-fgcolor-small.png edit.png info.png insert-image-small.png insert-link-small.png insert-smiley-small.png pause.png text_bigger.png text_normal.png text_smaller.png send-im.png
 
-gaimiconpixdir = $(datadir)/pixmaps/pidgin/icons
-gaimiconpix_DATA = window-icon.png
+pidginiconpixdir = $(datadir)/pixmaps/pidgin/icons
+pidginiconpix_DATA = window-icon.png
 
-gaimdistpixdir = $(datadir)/pixmaps/gaim
-gaimdistpix_DATA = logo.png tb_drag_arrow_down.xpm tb_drag_arrow_left.xpm tb_drag_arrow_right.xpm tb_drag_arrow_up.xpm typed.png typing.png status-online.png status-offline.png status-away.png status-invisible.png status-typing0.png status-typing1.png status-typing2.png status-typing3.png status-connect0.png status-connect1.png status-connect2.png status-connect3.png phone.png insert-image.png
+pidgindistpixdir = $(datadir)/pixmaps/pidgin
+pidgindistpix_DATA = logo.png tb_drag_arrow_down.xpm tb_drag_arrow_left.xpm tb_drag_arrow_right.xpm tb_drag_arrow_up.xpm typed.png typing.png status-online.png status-offline.png status-away.png status-invisible.png status-typing0.png status-typing1.png status-typing2.png status-typing3.png status-connect0.png status-connect1.png status-connect2.png status-connect3.png phone.png insert-image.png
 
 
 distpixmapdir = $(datadir)/pixmaps
--- a/pidgin/pixmaps/emotes/default/22/Makefile.am	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/pixmaps/emotes/default/22/Makefile.am	Wed Mar 21 18:33:13 2007 +0000
@@ -163,7 +163,7 @@
 		yawn.png \
 		yin-yang.png
 
-pidginsmileypixdir = $(datadir)/pixmaps/gaim/smileys/default
+pidginsmileypixdir = $(datadir)/pixmaps/pidgin/emotes/default
 pidginsmileypix_DATA = \
         $(SMILEYS) \
         theme
--- a/pidgin/pixmaps/emotes/none/Makefile.am	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/pixmaps/emotes/none/Makefile.am	Wed Mar 21 18:33:13 2007 +0000
@@ -1,4 +1,4 @@
-gaimsmileypixdir = $(datadir)/pixmaps/gaim/smileys/none
+gaimsmileypixdir = $(datadir)/pixmaps/pidgin/emotes/none
 gaimsmileypix_DATA = theme 
 
 EXTRA_DIST = $(gaimsmileypix_DATA) \
Binary file pidgin/pixmaps/status/16/extended-away.png has changed
--- a/pidgin/pixmaps/status/16/scalable/extended-away.svg	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/pixmaps/status/16/scalable/extended-away.svg	Wed Mar 21 18:33:13 2007 +0000
@@ -7,64 +7,43 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="16"
-   height="16"
-   id="svg1307"
+   width="16px"
+   height="16px"
+   id="svg4245"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/status/16/scalable"
-   sodipodi:docname="extended-away16.svg"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/status/16/extended-away16.png"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/hbons/GUI/Tango/Gaim Refresh/status/16/scalable"
+   sodipodi:docname="extended-away.svg"
+   inkscape:export-filename="/home/hbons/GUI/Tango/Gaim Refresh/status/16/extended-away.png"
    inkscape:export-xdpi="90"
-   inkscape:export-ydpi="90"
-   version="1.0">
+   inkscape:export-ydpi="90">
   <defs
-     id="defs1309">
+     id="defs4247">
     <linearGradient
        inkscape:collect="always"
-       id="linearGradient2442">
+       id="linearGradient2260">
       <stop
-         style="stop-color:#ffffff;stop-opacity:1;"
+         style="stop-color:#555753;stop-opacity:1;"
          offset="0"
-         id="stop2444" />
+         id="stop2262" />
       <stop
-         style="stop-color:#ffffff;stop-opacity:0;"
+         style="stop-color:#555753;stop-opacity:0;"
          offset="1"
-         id="stop2446" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2442"
-       id="linearGradient2448"
-       x1="10.900227"
-       y1="1.087356"
-       x2="10.900227"
-       y2="13.256169"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       id="linearGradient3816">
-      <stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop3818" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop3820" />
+         id="stop2264" />
     </linearGradient>
     <radialGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient3816"
-       id="radialGradient3822"
-       cx="31.112698"
-       cy="19.008621"
-       fx="31.112698"
-       fy="19.008621"
-       r="8.6620579"
-       gradientUnits="userSpaceOnUse" />
+       xlink:href="#linearGradient2260"
+       id="radialGradient5300"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.626667,0,6.566431)"
+       cx="11.756953"
+       cy="17.588654"
+       fx="11.756953"
+       fy="17.588654"
+       r="6.3436799" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -73,22 +52,19 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="16.972694"
-     inkscape:cx="15.724166"
-     inkscape:cy="-0.97602541"
+     inkscape:zoom="22.197802"
+     inkscape:cx="8"
+     inkscape:cy="9.6246122"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
-     fill="#2e3436"
-     showguides="true"
-     inkscape:guide-bbox="true"
-     inkscape:window-width="1268"
-     inkscape:window-height="971"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:window-width="872"
+     inkscape:window-height="626"
+     inkscape:window-x="129"
+     inkscape:window-y="124" />
   <metadata
-     id="metadata1312">
+     id="metadata4250">
     <rdf:RDF>
       <cc:Work
          rdf:about="">
@@ -103,51 +79,74 @@
      inkscape:label="Layer 1"
      inkscape:groupmode="layer">
     <path
-       style="fill:#edd400;fill-opacity:1;fill-rule:evenodd;stroke:#c17d11;stroke-width:1.00000072;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 1.5079961,1.5000003 C 5.0370281,1.5000003 10.399967,1.5212401 14.500178,1.5212401 C 14.500178,3.8385333 14.225973,13.758289 15.175749,14.479828 C 11.677997,14.563183 1.5234897,14.507938 1.5234897,14.507938 C 1.5234897,10.371395 1.5079961,6.6344739 1.5079961,1.5000003 z "
-       id="path1416"
-       sodipodi:nodetypes="ccccc" />
+       sodipodi:type="arc"
+       style="fill:url(#radialGradient5300);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.81530744;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path5131"
+       sodipodi:cx="11.756953"
+       sodipodi:cy="17.588654"
+       sodipodi:rx="6.3436799"
+       sodipodi:ry="3.9753728"
+       d="M 18.100633 17.588654 A 6.3436799 3.9753728 0 1 1  5.4132733,17.588654 A 6.3436799 3.9753728 0 1 1  18.100633 17.588654 z"
+       transform="matrix(-1.024642,0,0,0.754646,19.54667,-0.273206)" />
     <path
-       transform="matrix(1.005455,0,0,1.005455,-4.232987e-2,-4.232986e-2)"
-       style="opacity:0.7;fill:url(#linearGradient2448);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99457532;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 13.46875,2.53125 C 9.5070111,2.5350904 7.0635138,2.5586596 2.53125,2.5625 C 2.5389468,3.7783222 2.5860533,9.9621186 2.59375,13.46875 C 4.1909687,13.464896 7.7856328,13.441354 13.791041,13.4375 C 13.146458,9.8976478 13.46875,5.4097022 13.46875,2.53125 z "
-       id="path1418"
-       sodipodi:nodetypes="ccccc" />
+       transform="matrix(-1.708738,0,0,1.647118,-1.878642,-0.867731)"
+       style="fill:#fce94f;fill-opacity:1;stroke:#ce5c00;stroke-width:0.59607363;stroke-miterlimit:4;stroke-opacity:1"
+       d="M -9,3.2233667 L -7.134588,1.4374993 L -2.89508,1.4374993 C -2.3096744,1.4374993 -1.9824877,1.8329068 -1.9824877,2.3263196 L -1.9824877,9.3300741 L -9,9.3300741 L -9,3.2233667 z "
+       id="rect5097"
+       sodipodi:nodetypes="ccccccc" />
+    <path
+       transform="matrix(-1.398059,0,0,1.342047,-8.253506e-2,0.574281)"
+       style="opacity:0.5625;fill:none;fill-opacity:1;stroke:#eeeeec;stroke-width:0.7300511;stroke-miterlimit:4;stroke-opacity:1"
+       d="M -8.9656284,3.1521999 L -7.1361003,1.4267646 L -1.8535964,1.4374993 L -1.8535964,9.6313422 L -9,9.6313422 L -8.9656284,3.1521999 z "
+       id="rect5099"
+       sodipodi:nodetypes="cccccc" />
     <rect
-       style="opacity:1;fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="rect2304"
-       width="8"
-       height="1"
-       x="4"
-       y="7"
-       rx="0.5"
-       ry="0.5" />
+       style="opacity:0.4;fill:#ce5c00;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect5988"
+       width="2.9375007"
+       height="3.6875"
+       x="23"
+       y="2.5624993"
+       transform="matrix(-0.340425,0,0,0.813559,17.82977,0.918776)" />
     <rect
-       style="opacity:1;fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="rect2306"
-       width="6"
-       height="1"
-       x="4"
-       y="9"
-       rx="0.5"
-       ry="0.5" />
+       style="opacity:0.4;fill:#ce5c00;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect5990"
+       width="2.9375007"
+       height="3.6875"
+       x="23"
+       y="2.5624993"
+       transform="matrix(-6.824498e-8,0.340421,0.542373,-4.516053e-7,8.610169,-2.826144)" />
+    <rect
+       style="fill:#888a85;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect7300"
+       width="6.4375"
+       height="1.9999993"
+       x="1"
+       y="0"
+       transform="matrix(0.932039,0,0,0.5,3.067962,8.999992)" />
     <rect
-       style="opacity:1;fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="rect2308"
-       width="4"
-       height="1"
-       x="4"
-       y="5"
-       rx="0.5"
-       ry="0.5" />
+       style="fill:#888a85;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect7302"
+       width="6.4375"
+       height="1.9999993"
+       x="1"
+       y="0"
+       transform="matrix(0.776699,0,0,0.5,3.223302,6.999992)" />
     <rect
-       style="opacity:1;fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="rect2311"
-       width="4"
-       height="1"
-       x="4"
-       y="11"
-       rx="0.5"
-       ry="0.5" />
+       style="fill:#888a85;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect7304"
+       width="6.4375"
+       height="1.9999993"
+       x="1"
+       y="0"
+       transform="matrix(0.621359,0,0,0.5,3.378642,4.999992)" />
+    <rect
+       style="fill:#888a85;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect4265"
+       width="6.4375"
+       height="1.9999993"
+       x="1"
+       y="0"
+       transform="matrix(0.776699,0,0,0.5,3.223302,10.99999)" />
   </g>
 </svg>
--- a/pidgin/plugins/extplacement.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/plugins/extplacement.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /*
  * Extra conversation placement options for Purple
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/plugins/iconaway.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/plugins/iconaway.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,6 +1,6 @@
 /* purple
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/plugins/raw.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/plugins/raw.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,7 +1,7 @@
 /*
  * Purple - Send raw data across the connections of some protocols.
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/plugins/relnot.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/plugins/relnot.c	Wed Mar 21 18:33:13 2007 +0000
@@ -96,7 +96,7 @@
 {
 	int last_check = purple_prefs_get_int("/plugins/gtk/relnot/last_check");
 	if(!last_check || time(NULL) - last_check > MIN_CHECK_INTERVAL) {
-		char *url = g_strdup_printf("http://purple.sourceforge.net/version.php?version=%s&build=%s", purple_core_get_version(),
+		char *url = g_strdup_printf("http://pidgin.im/version.php?version=%s&build=%s", purple_core_get_version(),
 #ifdef _WIN32
 				"purple-win32"
 #else
--- a/pidgin/plugins/spellchk.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/plugins/spellchk.c	Wed Mar 21 18:33:13 2007 +0000
@@ -5,7 +5,7 @@
  * Richard Laager ("rlaager") in April 2005--you may want to contact
  * them if you have questions.
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/sounds/Makefile.am	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/sounds/Makefile.am	Wed Mar 21 18:33:13 2007 +0000
@@ -1,4 +1,4 @@
-soundsdir =	$(datadir)/sounds/gaim
+soundsdir =	$(datadir)/sounds/pidgin
 sounds_DATA =	\
 		alert.wav \
 		login.wav \
--- a/pidgin/win32/winpidgin.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/win32/winpidgin.c	Wed Mar 21 18:33:13 2007 +0000
@@ -5,7 +5,7 @@
  *  Description: Entry point for win32 pidgin, and various win32 dependant
  *  routines.
  *
- * Purple is the legal property of its developers, whose names are too numerous
+ * Pidgin is the legal property of its developers, whose names are too numerous
  * to list here.  Please refer to the COPYRIGHT file distributed with this
  * source distribution.
  *
--- a/pidgin/win32/wspell.c	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/win32/wspell.c	Wed Mar 21 18:33:13 2007 +0000
@@ -1,5 +1,5 @@
 /*
- * purple
+ * pidgin
  *
  * File: wspell.c
  * Date: March, 2003
--- a/pidgin/win32/wspell.h	Mon Mar 19 18:44:36 2007 +0000
+++ b/pidgin/win32/wspell.h	Wed Mar 21 18:33:13 2007 +0000
@@ -1,5 +1,5 @@
 /*
- * purple
+ * pidgin
  *
  * File: wspell.h
  *
--- a/po/ChangeLog	Mon Mar 19 18:44:36 2007 +0000
+++ b/po/ChangeLog	Wed Mar 21 18:33:13 2007 +0000
@@ -48,6 +48,7 @@
 	* Italian translation updated (Claudio Satriano)
 	* Indonesian translation updated (Rai S. Regawa)
 	* Japanese translation updated (Takeshi Aihana)
+	* Kannada translation added (H P Nadig, Kannada Translation team)
 	* Kurdish translation added (Erdal Ronahi and Amed Ç. Jiyan)
 	* Kurdish win32 installer translation added (Erdal Ronahi)
 	* Lithuanian translation updated (Andrius Štikonas, Laurynas Biveinis)
--- a/po/ta.po	Mon Mar 19 18:44:36 2007 +0000
+++ b/po/ta.po	Wed Mar 21 18:33:13 2007 +0000
@@ -8,7 +8,7 @@
 # drtvasudevan <agnihot3@gmail.com>, 2006.
 msgid ""
 msgstr ""
-"Project-Id-Version: gaimta\n"
+"Project-Id-Version: ta\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2006-10-04 19:30+0000\n"
 "PO-Revision-Date: 2006-11-28 22:37+0530\n"
@@ -7670,7 +7670,7 @@
 #: ../src/protocols/msn/msn.c:1555
 #, c-format
 msgid "%s<b>General</b><br>%s"
-msgstr "s<b> பொது</b><br> s"
+msgstr "%s<b> பொது</b><br> s %s"
 
 #: ../src/protocols/msn/msn.c:1564
 #: ../src/protocols/yahoo/yahoo_profile.c:1061
@@ -7759,11 +7759,6 @@
 msgid "Notes"
 msgstr "குறிப்புகள்"
 
-#: ../src/protocols/msn/msn.c:1599
-#, c-format
-msgid "<br><b>Personal</b><br>%s"
-msgstr "<br><b> தனிப்பட்ட</b><br> s"
-
 #: ../src/protocols/msn/msn.c:1606
 #: ../src/protocols/silc/ops.c:1044
 msgid "Job Title"
@@ -7823,12 +7818,12 @@
 #: ../src/protocols/msn/msn.c:1623
 #, c-format
 msgid "<br><b>Business</b><br>%s"
-msgstr "<br><b> தொழில்</b><br> s"
+msgstr "<br><b> தொழில்</b><br> s>%s"
 
 #: ../src/protocols/msn/msn.c:1634
 #, c-format
 msgid "<hr><b>Contact Info</b>%s%s"
-msgstr "<hr><b> தொடர்பு தகவல்</b> s s"
+msgstr "<hr><b> தொடர்பு தகவல்</b> s s%s%s"
 
 #: ../src/protocols/msn/msn.c:1693
 #: ../src/protocols/msn/msn.c:1699
@@ -9607,7 +9602,7 @@
 #: ../src/protocols/sametime/sametime.c:1268
 #, c-format
 msgid "<b>Notes Group ID:</b> %s<br>"
-msgstr "<b> குறிப்புகள் குழு அடையாளம்</b> s<br>"
+msgstr "<b> குறிப்புகள் குழு அடையாளம்</b> s<br></b>%s<br>"
 
 #: ../src/protocols/sametime/sametime.c:1270
 #, c-format
@@ -9809,7 +9804,7 @@
 #: ../src/protocols/sametime/sametime.c:4088
 #, c-format
 msgid "<b>User ID:</b> %s<br>"
-msgstr "<b> பயனர் அடையாளம்</b> s<br>"
+msgstr "<b> பயனர் அடையாளம்</b> s<br%s<br>"
 
 #: ../src/protocols/sametime/sametime.c:4094
 #, c-format