* applied Patrick Colemans patch
[citadel.git] / citadel / ipcdef.h
index ba54081d0153b720cd5edce5ab680c8b3015bd95..2073589ee72e9f4ab1d485cb58cb8aca1c14e142 100644 (file)
@@ -1,4 +1,9 @@
 /* $Id$ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define LISTING_FOLLOWS                100
 #define CIT_OK                 200
 #define MORE_DATA              300
 #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
 #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    */
@@ -59,8 +55,14 @@ struct CtdlServInfo {
 #define QR_MAILBOX     16384           /* Set if this is a private mailbox */
 
 #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_SUBSONLY   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                 */
@@ -75,8 +77,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
+#define UA_GOTOALLOWED          4
+#define UA_HASNEWMSGS           8
+#define UA_ZAPPED               16
+#define UA_POSTALLOWED         32
+#define UA_ADMINALLOWED                64
+#define UA_DELETEALLOWED       128
 
-void serv_puts(char *buf);
-void serv_gets(char *buf);
-void connection_died(void);
+#ifdef __cplusplus
+}
+#endif