CC->kill_me now contains an enum indicating the REASON session was killed
[citadel.git] / citadel / server.h
index b0a1d8655a9439c30c89483fdd146990c8c9f0dd..d3b89f21541895a498ec93753d83541cb99f4b79 100644 (file)
@@ -46,6 +46,33 @@ struct CtdlMessage {
 #define CTDLEXIT_LIBCITADEL    106     /* Incorrect version of libcitadel */
 #define CTDL_EXIT_UNSUP_AUTH   107     /* Unsupported auth mode configured */
 
+/*
+ * Reasons why a session would be terminated (set CC->kill_me to these values)
+ */
+enum {
+       KILLME_NOT,
+       KILLME_UNKNOWN,
+       KILLME_CLIENT_LOGGED_OUT,
+       KILLME_IDLE,
+       KILLME_CLIENT_DISCONNECTED,
+       KILLME_AUTHFAILED,
+       KILLME_SERVER_SHUTTING_DOWN,
+       KILLME_MAX_SESSIONS_EXCEEDED,
+       KILLME_ADMIN_TERMINATE,
+       KILLME_SELECT_INTERRUPTED,
+       KILLME_SELECT_FAILED,
+       KILLME_WRITE_FAILED,
+       KILLME_SIMULATION_WORKER,
+       KILLME_NOLOGIN,
+       KILLME_NO_CRYPTO,
+       KILLME_READSTRING_FAILED,
+       KILLME_MALLOC_FAILED,
+       KILLME_QUOTA,
+       KILLME_READ_FAILED,
+       KILLME_ILLEGAL_MANAGESIEVE_COMMAND,
+       KILLME_SPAMMER,
+       KILLME_XML_PARSER
+};
 
 
 #define CS_STEALTH     1       /* stealth mode */
@@ -268,14 +295,6 @@ struct UseTable {
 };
 
 
-/* "seenit" is a simple binary tree storing the message pointers we've seen */
-struct seenit {
-       struct seenit *l;
-       struct seenit *r;
-       long msgnum;
-};
-
-
 
 /* Preferred field order                                                       */
 /*               **********                    Important fields                */