X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fcitadel.h;h=d728af6ecbc5b6f34924ac7682efe40fd0955ff5;hb=a21ccc76e93fe4f0cf95257c1e5fffe76fdb09d5;hp=8c58ff58dad1cdfc9b55ea5ecec9c4055996bffe;hpb=475c21c8532b6ba682535c2b2e19a1427040a669;p=citadel.git diff --git a/citadel/citadel.h b/citadel/citadel.h index 8c58ff58d..d728af6ec 100644 --- a/citadel/citadel.h +++ b/citadel/citadel.h @@ -1,7 +1,7 @@ /* * Main Citadel header file * - * Copyright (c) 1987-2012 by the citadel.org team + * Copyright (c) 1987-2017 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. @@ -45,10 +45,10 @@ extern "C" { * usually more strict because you're not really supposed to dump/load and * upgrade at the same time. */ -#define REV_LEVEL 810 /* This version */ +#define REV_LEVEL 907 /* This version */ #define REV_MIN 591 /* Oldest compatible database */ #define EXPORT_REV_MIN 760 /* Oldest compatible export files */ -#define LIBCITADEL_MIN 810 /* Minimum required version of libcitadel */ +#define LIBCITADEL_MIN 903 /* Minimum required version of libcitadel */ #define SERVER_TYPE 0 /* zero for stock Citadel; other developers please obtain SERVER_TYPE codes for your implementations */ @@ -61,16 +61,9 @@ extern "C" { /* Various length constants */ -#define UGLISTLEN 100 /* you get a ungoto list of this size */ -#define ROOMNAMELEN 128 /* The size of a roomname string */ -#define NONCE_SIZE 128 /* Added by to allow for APOP auth - * it is BIG becuase there is a hostname - * in the nonce, as per the APOP RFC. - */ - -#define USERNAME_SIZE 64 /* The size of a username string */ -#define MAX_EDITORS 5 /* # of external editors supported */ - /* MUST be at least 1 */ +#define ROOMNAMELEN 128 /* The size of a roomname string */ +#define USERNAME_SIZE 64 /* The size of a username string */ +#define MAX_EDITORS 5 /* number of external editors supported ; must be at least 1 */ /* * Message expiration policy stuff @@ -103,22 +96,12 @@ struct march { int march_access; }; -#define NODENAME config.c_nodename -#define FQDN config.c_fqdn -#define HUMANNODE config.c_humannode -#define PHONENUM config.c_phonenum -#define CTDLUID config.c_ctdluid -#define CREATAIDE config.c_creataide -#define REGISCALL config.c_regiscall -#define TWITDETECT config.c_twitdetect -#define TWITROOM config.c_twitroom -#define RESTRICT_INTERNET config.c_restrict /* * User records. */ typedef struct ctdluser ctdluser; -struct ctdluser { /* User record */ +struct ctdluser { /* User record */ int version; /* Cit vers. which created this rec */ uid_t uid; /* Associate with a unix account? */ char password[32]; /* password */ @@ -130,12 +113,12 @@ 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) */ + long msgnum_bio; /* msgnum of user's profile (bio) */ + long msgnum_pic; /* msgnum of user's avatar (photo) */ }; -/* Bits which may appear in CitControl.MMflags. Note that these don't - * necessarily pertain to the message base -- it's just a good place to - * store any global flags. +/* Bits which may appear in MMflags. */ #define MM_VALID 4 /* New users need validating */ @@ -151,7 +134,7 @@ struct ctdlroom { time_t QRgen; /* Generation number of room */ unsigned QRflags; /* See flag values below */ char QRdirname[15]; /* Directory name, if applicable */ - long QRinfo; /* Info file update relative to msgs*/ + long msgnum_info; /* msgnum of room banner (info file)*/ char QRfloor; /* Which floor this room is on */ time_t QRmtime; /* Date/time of last post */ struct ExpirePolicy QRep; /* Message expiration policy */ @@ -159,6 +142,7 @@ struct ctdlroom { char QRorder; /* Sort key for room listing order */ unsigned QRflags2; /* Additional flags */ int QRdefaultview; /* How to display the contents */ + long msgnum_pic; /* msgnum of room picture or icon */ }; /* Private rooms are always flagged with QR_PRIVATE. If neither QR_PASSWORDED @@ -202,48 +186,10 @@ struct floor { #define NEWREGISTER 0 /* new user to register */ #define REREGISTER 1 /* existing user reregistering */ -#define READ_HEADER 2 -#define READ_MSGBODY 3 - -/* commands we can send to the stty_ctdl() routine */ -#define SB_NO_INTR 0 /* set to Citadel client mode, i/q disabled */ -#define SB_YES_INTR 1 /* set to Citadel client mode, i/q enabled */ -#define SB_SAVE 2 /* save settings */ -#define SB_RESTORE 3 /* restore settings */ -#define SB_LAST 4 /* redo the last command sent */ - -#define NEXT_KEY 15 -#define STOP_KEY 3 - -/* citadel.rc stuff */ -#define RC_NO 0 /* always no */ -#define RC_YES 1 /* always yes */ -#define RC_DEFAULT 2 /* setting depends on user config */ - -/* keepalives */ -enum { - KA_NO, /* no keepalives */ - KA_YES, /* full keepalives */ - KA_HALF /* half keepalives */ -}; - -/* for <;G>oto and <;S>kip commands */ -#define GF_GOTO 0 /* <;G>oto floor mode */ -#define GF_SKIP 1 /* <;S>kip floor mode */ -#define GF_ZAP 2 /* <;Z>ap floor mode */ +/* number of items which may be handled by the CONF command */ +#define NUM_CONFIGS 71 -/* - * MIME types used in Citadel for configuration stuff - */ -#define SPOOLMIME "application/x-citadel-delivery-list" -#define INTERNETCFG "application/x-citadel-internet-config" -#define IGNETCFG "application/x-citadel-ignet-config" -#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 syslog(LOG_DEBUG, "Checkpoint: %s, %d\n", __FILE__, __LINE__) +#define TRACE syslog(LOG_DEBUG, "\033[31mCheckpoint: %s : %d\033[0m", __FILE__, __LINE__) #ifndef LONG_MAX #define LONG_MAX 2147483647L