/*
* 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
- *
- * XXX: The TIS firewall code hasn't existed, let alone worked,
- * in many, many months. I'd be happy to take fixes.
+ * Default: 7
*
- * 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
* 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
*/
#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
+ * 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
+
#endif /* __FAIMCONFIG_H__ */
+
+