* Extend GETR/SETR to allow twiddling of bits in the QRflags2 bucket
[citadel.git] / citadel / ipcdef.h
1 /* $Id$ */
2 #define LISTING_FOLLOWS         100
3 #define CIT_OK                  200
4 #define MORE_DATA               300
5 #define SEND_LISTING            400
6 #define ERROR                   500
7 #define BINARY_FOLLOWS          600
8 #define SEND_BINARY             700
9 #define START_CHAT_MODE         800
10
11 #define INTERNAL_ERROR          10
12 #define TOO_BIG                 11
13 #define ILLEGAL_VALUE           12
14 #define NOT_LOGGED_IN           20
15 #define CMD_NOT_SUPPORTED       30
16 #define PASSWORD_REQUIRED       40
17 #define HIGHER_ACCESS_REQUIRED  50
18 #define MAX_SESSIONS_EXCEEDED   51
19 #define NOT_HERE                60
20 #define INVALID_FLOOR_OPERATION 61
21 #define NO_SUCH_USER            70
22 #define FILE_NOT_FOUND          71
23 #define ROOM_NOT_FOUND          72
24 #define NO_SUCH_SYSTEM          73
25 #define ALREADY_EXISTS          74
26
27 #define ASYNC_MSG               900
28 #define ASYNC_GEXP              01
29
30 struct CtdlServInfo {
31         int serv_pid;
32         char serv_nodename[32];
33         char serv_humannode[64];
34         char serv_fqdn[64];
35         char serv_software[64];
36         int serv_rev_level;
37         char serv_bbs_city[64];
38         char serv_sysadm[64];
39         char serv_moreprompt[256];
40         int serv_ok_floors;
41         int serv_paging_level;
42         int serv_supports_qnop;
43 };
44
45 #define QR_PERMANENT    1               /* Room does not purge              */
46 #define QR_INUSE        2               /* Set if in use, clear if avail    */
47 #define QR_PRIVATE      4               /* Set for any type of private room */
48 #define QR_PASSWORDED   8               /* Set if there's a password too    */
49 #define QR_GUESSNAME    16              /* Set if it's a guessname room     */
50 #define QR_DIRECTORY    32              /* Directory room                   */
51 #define QR_UPLOAD       64              /* Allowed to upload                */
52 #define QR_DOWNLOAD     128             /* Allowed to download              */
53 #define QR_VISDIR       256             /* Visible directory                */
54 #define QR_ANONONLY     512             /* Anonymous-Only room              */
55 #define QR_ANONOPT      1024            /* Anonymous-Option room            */
56 #define QR_NETWORK      2048            /* Shared network room              */
57 #define QR_PREFONLY     4096            /* Preferred status needed to enter */
58 #define QR_READONLY     8192            /* Aide status required to post     */
59 #define QR_MAILBOX      16384           /* Set if this is a private mailbox */
60
61 #define QR2_SYSTEM      1               /* System room; hide by default     */
62 #define QR2_SELFLIST    2               /* Self-service mailing list mgmt   */
63
64 #define US_NEEDVALID    1               /* User needs to be validated       */
65 #define US_PERM         4               /* Permanent user                   */
66 #define US_LASTOLD      16              /* Print last old message with new  */
67 #define US_EXPERT       32              /* Experienced user                 */
68 #define US_UNLISTED     64              /* Unlisted userlog entry           */
69 #define US_NOPROMPT     128             /* Don't prompt after each message  */
70 #define US_PROMPTCTL    256             /* <N>ext & <S>top work at prompt   */
71 #define US_DISAPPEAR    512             /* Use "disappearing msg prompts"   */
72 #define US_REGIS        1024            /* Registered user                  */
73 #define US_PAGINATOR    2048            /* Pause after each screen of text  */
74 #define US_INTERNET     4096            /* Internet mail privileges         */
75 #define US_FLOORS       8192            /* User wants to see floors         */
76 #define US_COLOR        16384           /* User wants ANSI color support    */
77 #define US_USER_SET     (US_LASTOLD | US_EXPERT | US_UNLISTED | \
78                         US_NOPROMPT | US_DISAPPEAR | US_PAGINATOR | \
79                         US_FLOORS | US_COLOR | US_PROMPTCTL )
80
81 void serv_puts(char *buf);
82 void serv_gets(char *buf);
83 void connection_died(void);