-/* $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 */
#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 */
#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 */
-void serv_puts(char *buf);
-void serv_gets(char *buf);
-void connection_died(void);
+#ifdef __cplusplus
+}
+#endif