* usually more strict because you're not really supposed to dump/load and
* upgrade at the same time.
*/
-#define REV_LEVEL 725 /* This version */
+#define REV_LEVEL 730 /* This version */
#define REV_MIN 591 /* Oldest compatible database */
#define EXPORT_REV_MIN 725 /* Oldest compatible export files */
+#define LIBCITADEL_MIN 104 /* Minimum required version of libcitadel */
#define SERVER_TYPE 0 /* zero for stock Citadel; other developers please
obtain SERVER_TYPE codes for your implementations */
+#ifdef LIBCITADEL_VERSION_NUMBER
+#if LIBCITADEL_VERSION_NUMBER < LIBCITADEL_MIN
+#error libcitadel is too old. Please upgrade it before continuing.
+#endif
+#endif
+
/* Various length constants */
#define UGLISTLEN 100 /* you get a ungoto list of this size */
/*
* Message expiration policy stuff
*/
+typedef struct ExpirePolicy ExpirePolicy;
struct ExpirePolicy {
/*
#include "datadefinitions.h"
* fetches from the server. This allows the client to "march" through
* relevant rooms without having to ask the server each time where to go next.
*/
+typedef struct march march;
struct march {
/*
#include "datadefinitions.h"
/*
* User records.
*/
+typedef struct ctdluser ctdluser;
struct ctdluser { /* User record */
/*
#include "datadefinitions.h"
/*
* Room records.
*/
+typedef struct ctdlroom ctdlroom;
struct ctdlroom {
/*
#include "datadefinitions.h"
/*
* Floor record. The floor number is implicit in its location in the file.
*/
+typedef struct floor floor;
struct floor {
/*
#include "datadefinitions.h"
*/
#define AUTHMODE_NATIVE 0 /* native Citadel authentication */
#define AUTHMODE_HOST 1 /* host integrated */
+#define AUTHMODE_LDAP 2 /* external LDAP authentication */
#ifdef __cplusplus
}