#include "sysdep.h"
#include "sysconfig.h"
#include "ipcdef.h"
-#define CITADEL "Citadel/UX DR19981026"
-#define REV_LEVEL 511
+#define CITADEL "Citadel/UX 5.53"
+#define REV_LEVEL 553
#define SERVER_TYPE 0 /* zero for stock Citadel/UX; other developers please
obtain SERVER_TYPE codes for your implementations */
* System configuration
*/
struct config {
- char c_nodename[16]; /* UUCP and Citadel nodename */
+ char c_nodename[16]; /* Unqualified "short" nodename */
char c_fqdn[64]; /* Fully Qualified Domain Name */
char c_humannode[21]; /* Long name of system */
char c_phonenum[16]; /* Dialup number of system */
int c_ipgm_secret; /* Internal program authentication */
struct ExpirePolicy c_ep; /* System default msg expire policy */
int c_userpurge; /* System default user purge (days) */
+ int c_roompurge; /* System default room purge (days) */
+ char c_logpages[ROOMNAMELEN]; /* Room to log pages to (or not) */
+ char c_createax; /* Axlevel required to create rooms */
};
#define NODENAME config.c_nodename
};
-/* this is a mask for all of the bits the user is allowed to change */
-#define US_USER_SET (US_LASTOLD | US_EXPERT | US_UNLISTED | \
- US_NOPROMPT | US_DISAPPEAR | US_PAGINATOR | US_FLOORS)
-
/****************************************************************************
* This is the control record for the message base...
*/
long MMhighest; /* highest message number in file */
unsigned MMflags; /* Global system flags */
long MMnextuser; /* highest user number on system */
+ long MMnextroom; /* highest room number on system */
};
/* Bits which may appear in CitControl.MMflags. Note that these don't
char QRfloor; /* Which floor this room is on */
time_t QRmtime; /* Date/time of last post */
struct ExpirePolicy QRep; /* Message expiration policy */
+ long QRnumber; /* Globally unique room number */
+ char QRorder; /* Sort key for room listing order */
};
#define MES_ANON 66 /* "****" header */
#define MES_AN2 67 /* "Anonymous" header */
-#define M_ERROR (-1) /* Can't send message due to bad address */
-#define M_LOCAL 0 /* Local message, do no network processing */
-#define M_INTERNET 1 /* Convert msg and send as Internet mail */
-#define M_BINARY 2 /* Process recipient and send via C/UX net */
+#define MES_ERROR (-1) /* Can't send message due to bad address */
+#define MES_LOCAL 0 /* Local message, do no network processing */
+#define MES_INTERNET 1 /* Convert msg and send as Internet mail */
+#define MES_BINARY 2 /* Process recipient and send via C/UX net */
/****************************************************************************/
#define GF_SKIP 1 /* <;S>kip floor mode */
#define GF_ZAP 2 /* <;Z>ap floor mode */
-/* message transfer formats */
-#define MT_CITADEL 0 /* Citadel proprietary */
-#define MT_RFC822 2 /* RFC822 */
-#define MT_RAW 3 /* IGnet raw format */
-#define MT_DATE 4 /* We're only looking for the date */
-
-
#define BASEROOM "Lobby"
#define MAILROOM "Mail"
#define AIDEROOM "Aide"
+/*
+ * This structure is used to hold all of the fields of a message
+ * during conversion, processing, or whatever.
+ */
+struct minfo {
+ char A[512];
+ char B[512];
+ char C[512];
+ char D[512];
+ char E[512];
+ char G[512];
+ char H[512];
+ long I;
+ char N[512];
+ char O[512];
+ char P[512];
+ char R[512];
+ char S[512];
+ long T;
+ char U[512];
+ char nexthop[512];
+ };