citserver version to 907
[citadel.git] / citadel / citadel.h
index 8d4b45d7f382a5d2d04987af291cabe91827887f..d728af6ecbc5b6f34924ac7682efe40fd0955ff5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Main Citadel header file
  *
- * Copyright (c) 1987-2014 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      830             /* 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 829             /* 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,11 +61,9 @@ extern "C" {
 
 /* Various length constants */
 
-#define ROOMNAMELEN    128     /* The size of a roomname string */
-                                        
-#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,7 +101,7 @@ struct march {
  * 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                          */
@@ -115,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        */
 
@@ -136,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        */
@@ -144,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
@@ -188,9 +187,9 @@ struct floor {
 #define REREGISTER     1               /* existing user reregistering */
 
 /* number of items which may be handled by the CONF command */
-#define NUM_CONFIGS 70
+#define NUM_CONFIGS 71
 
-#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