]> code.citadel.org Git - citadel.git/blobdiff - citadel/server.h
* Cache the Friendly Name (fn) from the user's vCard
[citadel.git] / citadel / server.h
index 3e59e13f5fa49e79089c1b3619df4c37b45fa557..db01ba68fcba90701419c2bb44d8b56486299ec0 100644 (file)
@@ -31,6 +31,21 @@ struct CtdlMessage {
 #define        CM_SKIP_HOOKS   0x01            /* Don't run server-side handlers */
 
 
+
+/*
+ * Exit codes 101 through 109 are used for conditions in which
+ * we deliberately do NOT want the service to automatically
+ * restart.
+ */
+#define CTDLEXIT_CONFIG                101     /* Could not read citadel.config */
+#define CTDLEXIT_CONTROL       102     /* Could not acquire lock */
+#define CTDLEXIT_HOME          103     /* Citadel home directory not found */
+#define CTDLEXIT_OOD           104     /* Out Of Date config - rerun setup */
+#define CTDLEXIT_DB            105     /* Unable to initialize database */
+
+
+
+
 /*
  * Here's the big one... the Citadel context structure.
  *
@@ -78,6 +93,7 @@ struct CitContext {
 
        /* The Internet type of thing */
        char cs_inet_email[128];/* Return address of outbound Internet mail */
+       char cs_inet_fn[128];   /* Friendly-name of outbound Internet mail */
 
        FILE *download_fp;      /* Fields relating to file transfer */
        char download_desired_section[128];
@@ -222,6 +238,7 @@ enum {
        S_ATBF,
        S_JOURNAL_QUEUE,
        S_RPLIST,
+       S_SIEVELIST,
        MAX_SEMAPHORES
 };
 
@@ -241,7 +258,8 @@ enum {
        MT_CITADEL,             /* Citadel proprietary */
        MT_RFC822,              /* RFC822 */
        MT_MIME,                /* MIME-formatted message */
-       MT_DOWNLOAD             /* Download a component */
+       MT_DOWNLOAD,            /* Download a component */
+       MT_SPEW_SECTION         /* Download a component in a single operation */
 };
 
 /*
@@ -455,6 +473,15 @@ struct MetaData {
        long meta_rfc822_length;        /* Cache of RFC822-translated msg length */
 };
 
+/* Calls to AdjRefCount() are queued and deferred, so the user doesn't
+ * have to wait for various disk-intensive operations to complete synchronously.
+ * This is the record format.
+ */
+struct arcq {
+       long arcq_msgnum;               /* Message number being adjusted */
+       int arcq_delta;                 /* Adjustment ( usually 1 or -1 ) */
+};
+
 
 /* 
  * Serialization routines use this struct to return a pointer and a length