/*
* faimconfig.h
*
- * Contains various compile-time options that apply _only to libfaim.
+ * Contains various compile-time options that apply _only_ to libfaim.
* Note that setting any of these options in a frontend header does not imply
* that they'll get set here. Notably, the 'debug' of this file is _not_
* the same as the frontend 'debug'. They can be different values.
/*
* Maximum number of connections the library can simultaneously
* handle per session structure. Five is fairly arbitrary.
- * Only one client that I know of uses more than one concurrently
- * anyway (which means its only lightly tested too).
+ *
+ * Normally, only one connection gets used at a time. However, if
+ * chat is used, its easily possible for several connections to be
+ * open simultaneously.
*
- * Default: 5
+ * 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)
*
- */
-#define AIM_CONN_MAX 5
-
-/*
- * define TIS_TELNET_PROXY if you have a TIS firewall (Gauntlet) and
- * you want to use FAIM through the firewall
+ * Default: 7
*
- * XXX: The TIS firewall code hasn't existed, let alone worked,
- * in many, many months. I'd be happy to take fixes.
- *
- * Default: undefined
*/
-#undef TIS_TELNET_PROXY "proxy.mydomain.com"
+#define AIM_CONN_MAX 7
/*
* USE_SNAC_FOR_IMS is an old feature that allowed better
*/
#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.
*
* AIM process. The later server addresses come from
* the authorizer service.
*
+ * This is only here for convenience. Its still up to
+ * the client to connect to it.
+ *
*/
#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.
+ * The integer extraction/copying functions in aim_util.c have
+ * both a function version and a macro version. The macro
+ * version is suggested. Since the function version is more
+ * readable, I leave both around for reference.
+ *
+ * Default: defined.
+ */
+#define AIMUTIL_USEMACROS
+
+/*
+ * Select whether or not to use POSIX thread functionality.
+ *
+ * We don't actually use threads, but we do 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.
+ *
+ * Default: defined on Linux, otherwise use fake locks.
+ */
+#ifdef __linux__
+#define FAIM_USEPTHREADS
+#else
+#define FAIM_USEFAKELOCKS
+#endif
+
+/*
+ * Size of the SNAC caching hash.
*
- * Default: 100
+ * Default: 16
*
*/
-#define MAX_READ_ERROR 100
+#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__ */
+
+