X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fcitadel.h;h=8c58ff58dad1cdfc9b55ea5ecec9c4055996bffe;hb=be3f771778c5570f9e197ab4701d014e00375bb4;hp=f646fae3c2e652e2f0358a5880f8fffe95db65b2;hpb=4ece18dbfa7b31a9dc319ec0480ed651a30b3213;p=citadel.git diff --git a/citadel/citadel.h b/citadel/citadel.h index f646fae3c..8c58ff58d 100644 --- a/citadel/citadel.h +++ b/citadel/citadel.h @@ -1,8 +1,15 @@ /* - * $Id$ - * * Main Citadel header file - * See copyright.txt for copyright information. + * + * Copyright (c) 1987-2012 by the citadel.org team + * + * This program is open source software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. */ /* system customizations are in sysconfig.h */ @@ -11,15 +18,6 @@ #define CITADEL_H /* #include uncomment if using dmalloc */ -/* Build Citadel with the calendar service only if the header *and* - * library for libical are both present. - */ -#ifdef HAVE_LIBICAL -#ifdef HAVE_ICAL_H -#define CITADEL_WITH_CALENDAR_SERVICE 1 -#endif -#endif - #include "sysdep.h" #include #include "sysconfig.h" @@ -47,14 +45,20 @@ extern "C" { * 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 810 /* This version */ #define REV_MIN 591 /* Oldest compatible database */ -#define EXPORT_REV_MIN 725 /* Oldest compatible export files */ -#define LIBCITADEL_MIN 103 /* Minimum required version of libcitadel */ +#define EXPORT_REV_MIN 760 /* Oldest compatible export files */ +#define LIBCITADEL_MIN 810 /* 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 */ @@ -71,12 +75,8 @@ extern "C" { /* * Message expiration policy stuff */ +typedef struct ExpirePolicy ExpirePolicy; struct ExpirePolicy { -/* -#include "datadefinitions.h" -#include "dtds/expirepolicy-defs.h" -#include "undef_data.h" -*/ int expire_mode; int expire_value; }; @@ -92,12 +92,8 @@ struct ExpirePolicy { * 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" -#include "dtds/march-defs.h" -#include "undef_data.h" -*/ struct march *next; char march_name[ROOMNAMELEN]; unsigned int march_flags; @@ -121,12 +117,8 @@ struct march { /* * User records. */ +typedef struct ctdluser ctdluser; struct ctdluser { /* User record */ -/* -#include "datadefinitions.h" -#include "dtds/user-defs.h" -#include "undef_data.h" -*/ int version; /* Cit vers. which created this rec */ uid_t uid; /* Associate with a unix account? */ char password[32]; /* password */ @@ -138,8 +130,6 @@ struct ctdluser { /* User record */ time_t lastcall; /* Date/time of most recent login */ int USuserpurge; /* Purge time (in days) for user */ char fullname[64]; /* Display name (primary identifier) */ - cit_uint8_t USscreenwidth; /* Screen width (for textmode users) */ - cit_uint8_t USscreenheight; /* Screen height(for textmode users) */ }; @@ -152,12 +142,8 @@ struct ctdluser { /* User record */ /* * Room records. */ +typedef struct ctdlroom ctdlroom; struct ctdlroom { -/* -#include "datadefinitions.h" -#include "dtds/room-defs.h" -#include "undef_data.h" -*/ char QRname[ROOMNAMELEN]; /* Name of room */ char QRpasswd[10]; /* Only valid if it's a private rm */ long QRroomaide; /* User number of room aide */ @@ -198,12 +184,8 @@ struct ctdlroom { /* * Floor record. The floor number is implicit in its location in the file. */ +typedef struct floor floor; struct floor { -/* -#include "datadefinitions.h" -#include "dtds/floor-defs.h" -#include "undef_data.h" -*/ unsigned short f_flags; /* flags */ char f_name[256]; /* name of floor */ int f_ref_count; /* reference count */ @@ -233,11 +215,6 @@ struct floor { #define NEXT_KEY 15 #define STOP_KEY 3 -/* server exit codes */ -#define EXIT_NORMAL 0 /* server terminated normally */ - /* 1 through 63 reserved for signals */ -#define EXIT_NULL 64 /* EOF on server command input */ - /* citadel.rc stuff */ #define RC_NO 0 /* always no */ #define RC_YES 1 /* always yes */ @@ -264,8 +241,9 @@ enum { #define IGNETMAP "application/x-citadel-ignet-map" #define FILTERLIST "application/x-citadel-filter-list" #define SIEVECONFIG "application/x-citadel-sieve-config" +#define XMPPMORTUARY "application/x-citadel-xmpp-mortuary" -#define TRACE lprintf(CTDL_DEBUG, "Checkpoint: %s, %d\n", __FILE__, __LINE__) +#define TRACE syslog(LOG_DEBUG, "Checkpoint: %s, %d\n", __FILE__, __LINE__) #ifndef LONG_MAX #define LONG_MAX 2147483647L @@ -274,8 +252,10 @@ enum { /* * Authentication modes */ -#define AUTHMODE_NATIVE 0 /* native Citadel authentication */ -#define AUTHMODE_HOST 1 /* host integrated */ +#define AUTHMODE_NATIVE 0 /* Native (self-contained or "black box") */ +#define AUTHMODE_HOST 1 /* Authenticate against the host OS user database */ +#define AUTHMODE_LDAP 2 /* Authenticate against an LDAP server with RFC 2307 schema */ +#define AUTHMODE_LDAP_AD 3 /* Authenticate against non-standard MS Active Directory LDAP */ #ifdef __cplusplus }