CtdlRoomAccess() can now return a new value UA_REPLYALLOWED, which
[citadel.git] / citadel / ipcdef.h
index a538cbe3f30660afad431c535879022aa30683e0..f155a6e97fd01929c73ab36ca52c1b8ef172075d 100644 (file)
@@ -1,5 +1,3 @@
-/* $Id$ */
-
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -18,9 +16,14 @@ extern "C" {
 #define ILLEGAL_VALUE          12
 #define NOT_LOGGED_IN          20
 #define CMD_NOT_SUPPORTED      30
+#define SERVER_SHUTTING_DOWN   31
 #define PASSWORD_REQUIRED      40
+#define ALREADY_LOGGED_IN      41
+#define USERNAME_REQUIRED      42
 #define HIGHER_ACCESS_REQUIRED 50
 #define MAX_SESSIONS_EXCEEDED  51
+#define RESOURCE_BUSY          52
+#define RESOURCE_NOT_OPEN      53
 #define NOT_HERE               60
 #define INVALID_FLOOR_OPERATION        61
 #define NO_SUCH_USER           70
@@ -28,24 +31,10 @@ extern "C" {
 #define ROOM_NOT_FOUND         72
 #define NO_SUCH_SYSTEM         73
 #define ALREADY_EXISTS         74
+#define MESSAGE_NOT_FOUND      75
 
 #define ASYNC_MSG              900
-#define ASYNC_GEXP             01
-
-struct CtdlServInfo {
-       int serv_pid;
-       char serv_nodename[32];
-       char serv_humannode[64];
-       char serv_fqdn[64];
-       char serv_software[64];
-       int serv_rev_level;
-       char serv_bbs_city[64];
-       char serv_sysadm[64];
-       char serv_moreprompt[256];
-       int serv_ok_floors;
-       int serv_paging_level;
-       int serv_supports_qnop;
-};
+#define ASYNC_GEXP             02
 
 #define QR_PERMANENT   1               /* Room does not purge              */
 #define QR_INUSE       2               /* Set if in use, clear if avail    */
@@ -65,8 +54,13 @@ struct CtdlServInfo {
 
 #define QR2_SYSTEM     1               /* System room; hide by default     */
 #define QR2_SELFLIST   2               /* Self-service mailing list mgmt   */
+#define QR2_COLLABDEL  4               /* Anyone who can post can delete   */
+#define QR2_SUBJECTREQ 8               /* Subject strongly recommended */
+#define QR2_SMTP_PUBLIC        16              /* Listservice Subscribers may post */
+#define QR2_MODERATED  32              /* Listservice aide has to permit posts  */
 
 #define US_NEEDVALID   1               /* User needs to be validated       */
+#define US_EXTEDIT     2               /* Always use external editor       */
 #define US_PERM                4               /* Permanent user                   */
 #define US_LASTOLD     16              /* Print last old message with new  */
 #define US_EXPERT      32              /* Experienced user                 */
@@ -81,7 +75,16 @@ struct CtdlServInfo {
 #define US_COLOR       16384           /* User wants ANSI color support    */
 #define US_USER_SET    (US_LASTOLD | US_EXPERT | US_UNLISTED | \
                        US_NOPROMPT | US_DISAPPEAR | US_PAGINATOR | \
-                       US_FLOORS | US_COLOR | US_PROMPTCTL )
+                       US_FLOORS | US_COLOR | US_PROMPTCTL | US_EXTEDIT)
+
+#define UA_KNOWN                2      /* Room appears in a 'known rooms' list */
+#define UA_GOTOALLOWED          4      /* User may goto this room if specified by exact name */
+#define UA_HASNEWMSGS           8      /* Unread messages exist in this room */
+#define UA_ZAPPED               16     /* User has forgotten (zapped) this room */
+#define UA_POSTALLOWED         32      /* User may post top-level messages here */
+#define UA_ADMINALLOWED                64      /* Aide or Room Aide rights exist here */
+#define UA_DELETEALLOWED       128     /* User is allowed to delete messages from this room */
+#define UA_REPLYALLOWED                256     /* User is allowed to reply to existing messages here */
 
 #ifdef __cplusplus
 }