4 * Contains various compile-time options that apply _only_ to libfaim.
8 #ifndef __FAIMCONFIG_H__
9 #define __FAIMCONFIG_H__
12 * USE_SNAC_FOR_IMS is an old feature that allowed better
13 * tracking of error messages by caching SNAC IDs of outgoing
14 * ICBMs and comparing them to incoming errors. However,
15 * its a helluvalot of overhead for something that should
18 * Default: defined. This is now defined by default
19 * because it should be stable and its not too bad.
23 #define USE_SNAC_FOR_IMS
26 * Default Authorizer server name and TCP port for the OSCAR farm.
28 * You shouldn't need to change this unless you're writing
31 * Note that only one server is needed to start the whole
32 * AIM process. The later server addresses come from
33 * the authorizer service.
35 * This is only here for convenience. Its still up to
36 * the client to connect to it.
39 #define FAIM_LOGIN_SERVER "login.oscar.aol.com"
40 #define FAIM_LOGIN_PORT 5190
43 * What type of synchronisation to use.
45 * We don't actually use threads, but can use the POSIX mutex
46 * in order to maintain thread safety. You can use the fake locking
47 * if you really don't like pthreads (which I don't) or if you don't
50 * USEPTHREADS - Use POSIX mutecies
51 * USEFAKELOCKS - Use little stub spinners to help find locking bugs
52 * USENOPLOCKS - No-op out all synchro calls at compile time
54 * Default: use noplocks by default.
56 * !!!NOTE: Even with USEPTHREADS turned on, libfaim is not fully thread
57 * safe. It will still take some effort to add locking calls to
58 * the places that need them. In fact, this feature in general
59 * is in danger of being officially deprecated and removed from
63 #undef FAIM_USEPTHREADS
64 #undef FAIM_USEFAKELOCKS
65 #define FAIM_USENOPLOCKS
68 * Size of the SNAC caching hash.
73 #define FAIM_SNAC_HASH_SIZE 16
76 * If building on Win32, define WIN32_STATIC if you don't want
77 * to compile libfaim as a DLL (and instead link it right into
82 #endif /* __FAIMCONFIG_H__ */