annotate src/prefix.h @ 11667:3c116b4e73b7

[gaim-migrate @ 13952] I thought this would be a really good idea, some people in #gaim also liked it. Then deryni mentioned something about an assert() in main, and I felt like I could've come up with something more interesting. Maybe I'll spend the next few months coming up with more exciting ways to prevent people from using Gaim while everyone else gets some real work done? committer: Tailor Script <tailor@pidgin.im>
author Stu Tomlinson <stu@nosnilmot.com>
date Sat, 15 Oct 2005 01:17:59 +0000
parents 7f487c725a90
children ca559e2b1d0a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10245
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
1 /*
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
2 * I made the following modifications, be sure to readd these when
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
3 * upgrading these files.
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
4 *
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
5 * Added this comment.
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
6 * Added "gaim_ ## " to the namespace
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
7 * Changed the lib macro to use /lib/gaim instead of just /lib
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
8 * (why does gaim do that in the -DLIBDIR autoconf thing anyway?)
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
9 *
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
10 */
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
11
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
12 /*
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
13 * BinReloc - a library for creating relocatable executables
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
14 * Written by: Mike Hearn <mike@theoretic.com>
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
15 * Hongli Lai <h.lai@chello.nl>
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
16 * http://autopackage.org/
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
17 *
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
18 * This source code is public domain. You can relicense this code
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
19 * under whatever license you want.
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
20 *
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
21 * See http://autopackage.org/docs/binreloc/ for
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
22 * more information and how to use this.
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
23 *
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
24 * NOTE: if you're using C++ and are getting "undefined reference
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
25 * to br_*", try renaming prefix.c to prefix.cpp
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
26 */
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
27
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
28 #ifndef _PREFIX_H_
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
29 #define _PREFIX_H_
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
30
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
31 #ifdef __cplusplus
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
32 extern "C" {
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
33 #endif /* __cplusplus */
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
34
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
35 /* WARNING, BEFORE YOU MODIFY PREFIX.C:
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
36 *
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
37 * If you make changes to any of the functions in prefix.c, you MUST
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
38 * change the BR_NAMESPACE macro.
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
39 * This way you can avoid symbol table conflicts with other libraries
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
40 * that also happen to use BinReloc.
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
41 *
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
42 * Example:
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
43 * #define BR_NAMESPACE(funcName) foobar_ ## funcName
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
44 * --> expands br_locate to foobar_br_locate
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
45 */
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
46 #undef BR_NAMESPACE
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
47 #define BR_NAMESPACE(funcName) gaim_ ## funcName
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
48
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
49
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
50 #ifdef ENABLE_BINRELOC
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
51
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
52 #define br_thread_local_store BR_NAMESPACE(br_thread_local_store)
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
53 #define br_locate BR_NAMESPACE(br_locate)
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
54 #define br_locate_prefix BR_NAMESPACE(br_locate_prefix)
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
55 #define br_prepend_prefix BR_NAMESPACE(br_prepend_prefix)
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
56
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
57 #ifndef BR_NO_MACROS
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
58 /* These are convience macros that replace the ones usually used
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
59 in Autoconf/Automake projects */
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
60 #undef SELFPATH
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
61 #undef PREFIX
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
62 #undef PREFIXDIR
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
63 #undef BINDIR
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
64 #undef SBINDIR
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
65 #undef DATADIR
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
66 #undef LIBDIR
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
67 #undef LIBEXECDIR
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
68 #undef ETCDIR
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
69 #undef SYSCONFDIR
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
70 #undef CONFDIR
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
71 #undef LOCALEDIR
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
72
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
73 #define SELFPATH (br_thread_local_store (br_locate ((void *) "")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
74 #define PREFIX (br_thread_local_store (br_locate_prefix ((void *) "")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
75 #define PREFIXDIR (br_thread_local_store (br_locate_prefix ((void *) "")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
76 #define BINDIR (br_thread_local_store (br_prepend_prefix ((void *) "", "/bin")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
77 #define SBINDIR (br_thread_local_store (br_prepend_prefix ((void *) "", "/sbin")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
78 #define DATADIR (br_thread_local_store (br_prepend_prefix ((void *) "", "/share")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
79 #define LIBDIR (br_thread_local_store (br_prepend_prefix ((void *) "", "/lib/gaim")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
80 #define LIBEXECDIR (br_thread_local_store (br_prepend_prefix ((void *) "", "/libexec")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
81 #define ETCDIR (br_thread_local_store (br_prepend_prefix ((void *) "", "/etc")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
82 #define SYSCONFDIR (br_thread_local_store (br_prepend_prefix ((void *) "", "/etc")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
83 #define CONFDIR (br_thread_local_store (br_prepend_prefix ((void *) "", "/etc")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
84 #define LOCALEDIR (br_thread_local_store (br_prepend_prefix ((void *) "", "/share/locale")))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
85 #endif /* BR_NO_MACROS */
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
86
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
87
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
88 /* The following functions are used internally by BinReloc
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
89 and shouldn't be used directly in applications. */
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
90
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
91 char *br_locate (void *symbol);
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
92 char *br_locate_prefix (void *symbol);
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
93 char *br_prepend_prefix (void *symbol, char *path);
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
94
10262
7f487c725a90 [gaim-migrate @ 11406]
Tim Ringenbach <marv@pidgin.im>
parents: 10251
diff changeset
95 #endif /* ENABLE_BINRELOC */
10245
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
96
10262
7f487c725a90 [gaim-migrate @ 11406]
Tim Ringenbach <marv@pidgin.im>
parents: 10251
diff changeset
97 const char *br_thread_local_store (char *str);
10245
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
98
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
99
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
100 /* These macros and functions are not guarded by the ENABLE_BINRELOC
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
101 * macro because they are portable. You can use these functions.
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
102 */
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
103
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
104 #define br_strcat BR_NAMESPACE(br_strcat)
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
105 #define br_extract_dir BR_NAMESPACE(br_extract_dir)
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
106 #define br_extract_prefix BR_NAMESPACE(br_extract_prefix)
10251
645eb9804040 [gaim-migrate @ 11391]
Tim Ringenbach <marv@pidgin.im>
parents: 10245
diff changeset
107 #define br_set_locate_fallback_func BR_NAMESPACE(br_set_locate_fallback_func)
10245
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
108
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
109 #ifndef BR_NO_MACROS
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
110 /* Convenience functions for concatenating paths */
10262
7f487c725a90 [gaim-migrate @ 11406]
Tim Ringenbach <marv@pidgin.im>
parents: 10251
diff changeset
111
7f487c725a90 [gaim-migrate @ 11406]
Tim Ringenbach <marv@pidgin.im>
parents: 10251
diff changeset
112 /* Each time you call one, the previous result will be freed. So don't do this:
7f487c725a90 [gaim-migrate @ 11406]
Tim Ringenbach <marv@pidgin.im>
parents: 10251
diff changeset
113 *
7f487c725a90 [gaim-migrate @ 11406]
Tim Ringenbach <marv@pidgin.im>
parents: 10251
diff changeset
114 * some_function( BR_DATADIR("/one"), BR_DATADIR("/two") )
7f487c725a90 [gaim-migrate @ 11406]
Tim Ringenbach <marv@pidgin.im>
parents: 10251
diff changeset
115 *
7f487c725a90 [gaim-migrate @ 11406]
Tim Ringenbach <marv@pidgin.im>
parents: 10251
diff changeset
116 * as the first parameter will now be bogus!
7f487c725a90 [gaim-migrate @ 11406]
Tim Ringenbach <marv@pidgin.im>
parents: 10251
diff changeset
117 */
7f487c725a90 [gaim-migrate @ 11406]
Tim Ringenbach <marv@pidgin.im>
parents: 10251
diff changeset
118
10245
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
119 #define BR_SELFPATH(suffix) (br_thread_local_store (br_strcat (SELFPATH, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
120 #define BR_PREFIX(suffix) (br_thread_local_store (br_strcat (PREFIX, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
121 #define BR_PREFIXDIR(suffix) (br_thread_local_store (br_strcat (BR_PREFIX, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
122 #define BR_BINDIR(suffix) (br_thread_local_store (br_strcat (BINDIR, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
123 #define BR_SBINDIR(suffix) (br_thread_local_store (br_strcat (SBINDIR, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
124 #define BR_DATADIR(suffix) (br_thread_local_store (br_strcat (DATADIR, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
125 #define BR_LIBDIR(suffix) (br_thread_local_store (br_strcat (LIBDIR, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
126 #define BR_LIBEXECDIR(suffix) (br_thread_local_store (br_strcat (LIBEXECDIR, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
127 #define BR_ETCDIR(suffix) (br_thread_local_store (br_strcat (ETCDIR, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
128 #define BR_SYSCONFDIR(suffix) (br_thread_local_store (br_strcat (SYSCONFDIR, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
129 #define BR_CONFDIR(suffix) (br_thread_local_store (br_strcat (CONFDIR, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
130 #define BR_LOCALEDIR(suffix) (br_thread_local_store (br_strcat (LOCALEDIR, suffix)))
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
131 #endif
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
132
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
133 char *br_strcat (const char *str1, const char *str2);
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
134 char *br_extract_dir (const char *path);
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
135 char *br_extract_prefix(const char *path);
10251
645eb9804040 [gaim-migrate @ 11391]
Tim Ringenbach <marv@pidgin.im>
parents: 10245
diff changeset
136 typedef char *(*br_locate_fallback_func) (void *symbol, void *data);
645eb9804040 [gaim-migrate @ 11391]
Tim Ringenbach <marv@pidgin.im>
parents: 10245
diff changeset
137 void br_set_locate_fallback_func (br_locate_fallback_func func, void *data);
10245
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
138
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
139
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
140 #ifdef __cplusplus
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
141 }
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
142 #endif /* __cplusplus */
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
143
c143a3fac58d [gaim-migrate @ 11385]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
144 #endif /* _PREFIX_H_ */