*/
#define debug 0
-/*
- * Maximum number of connections the library can simultaneously
- * handle per session structure. Five is fairly arbitrary.
- *
- * Normally, only one connection gets used at a time. However, if
- * chat is used, its easily possible for several connections to be
- * open simultaneously.
- *
- * Normal connection list looks like this:
- * 1 -- used for authentication at login (closed after login)
- * 1 -- used for BOS (general messaging) (stays open for entire session)
- * 1 -- used for chatnav (room creation, etc) (opened at random)
- * 1n -- used for n connected chat rooms (AOL limits to three)
- *
- * Default: 7
- *
- */
-#define AIM_CONN_MAX 7
-
/*
* USE_SNAC_FOR_IMS is an old feature that allowed better
* tracking of error messages by caching SNAC IDs of outgoing
*/
#define USE_SNAC_FOR_IMS
-/*
- * As of AIM 3.5 or so, AOL as added a better way of
- * logging in. Define this to use it instead of the
- * old Version 1.0 way.
- *
- * The largest caveat here is that I have no idea
- * how to encode passwords using the new 3.5 way.
- * Until someone figures that out the...
- *
- * Default: Undefined.
- *
- */
-#undef SNACLOGIN
-
/*
* Default Authorizer server name and TCP port for the OSCAR farm.
*
#define FAIM_LOGIN_SERVER "login.oscar.aol.com"
#define FAIM_LOGIN_PORT 5190
-/*
- * MAX_READ_ERROR can be decreased if you find dead connections
- * lingering around, and not getting detected, for too long.
- *
- * Default: 100
- *
- */
-#define MAX_READ_ERROR 100
-
/*
* The integer extraction/copying functions in aim_util.c have
* both a function version and a macro version. The macro
#define AIMUTIL_USEMACROS
/*
- * Select whether or not to use POSIX thread functionality.
+ * What type of synchronisation to use.
*
- * We don't actually use threads, but we do use the POSIX mutex
+ * We don't actually use threads, but can use the POSIX mutex
* in order to maintain thread safety. You can use the fake locking
- * if you really don't like pthreads or you don't have it.
+ * if you really don't like pthreads (which I don't) or if you don't
+ * have it.
+ *
+ * USEPTHREADS - Use POSIX mutecies
+ * USEFAKELOCKS - Use little stub spinners to help find locking bugs
+ * USENOPLOCKS - No-op out all synchro calls at compile time
+ *
+ * Default: use noplocks by default.
+ *
+ * !!!NOTE: Even with USEPTHREADS turned on, libfaim is not fully thread
+ * safe. It will still take some effort to add locking calls to
+ * the places that need them. In fact, this feature in general
+ * is in danger of being officially deprecated and removed from
+ * the code.
*
- * Default: defined on Linux, otherwise use fake locks.
*/
-#ifdef __linux__
-#define FAIM_USEPTHREADS
-#else
-#define FAIM_USEFAKELOCKS
-#endif
+#undef FAIM_USEPTHREADS
+#undef FAIM_USEFAKELOCKS
+#define FAIM_USENOPLOCKS
/*
* Size of the SNAC caching hash.
*/
#define FAIM_SNAC_HASH_SIZE 16
+/*
+ * If building on Win32,define WIN32_STATIC if you don't want
+ * to compile libfaim as a DLL (and instead link it right into
+ * your app).
+ */
+#define WIN32_STATIC
+
#endif /* __FAIMCONFIG_H__ */