6f6e9e1fa7b263914ba430be21a3b65f9b48b1bc
[citadel.git] / citadel / server / ipcdef.h
1 #define LISTING_FOLLOWS         100
2 #define CIT_OK                  200
3 #define MORE_DATA               300
4 #define SEND_LISTING            400
5 #define ERROR                   500
6 #define BINARY_FOLLOWS          600
7 #define SEND_BINARY             700
8 #define START_CHAT_MODE         800
9
10 #define INTERNAL_ERROR          10
11 #define TOO_BIG                 11
12 #define ILLEGAL_VALUE           12
13 #define NOT_LOGGED_IN           20
14 #define CMD_NOT_SUPPORTED       30
15 #define SERVER_SHUTTING_DOWN    31
16 #define PASSWORD_REQUIRED       40
17 #define ALREADY_LOGGED_IN       41
18 #define USERNAME_REQUIRED       42
19 #define HIGHER_ACCESS_REQUIRED  50
20 #define MAX_SESSIONS_EXCEEDED   51
21 #define RESOURCE_BUSY           52
22 #define RESOURCE_NOT_OPEN       53
23 #define NOT_HERE                60
24 #define INVALID_FLOOR_OPERATION 61
25 #define NO_SUCH_USER            70
26 #define FILE_NOT_FOUND          71
27 #define ROOM_NOT_FOUND          72
28 #define NO_SUCH_SYSTEM          73
29 #define ALREADY_EXISTS          74
30 #define MESSAGE_NOT_FOUND       75
31
32 #define ASYNC_MSG               900
33 #define ASYNC_GEXP              02
34
35 #define QR_PERMANENT    1               // Room does not purge
36 #define QR_INUSE        2               // Set if in use, clear if avail
37 #define QR_PRIVATE      4               // Set for any type of private room
38 #define QR_PASSWORDED   8               // Set if there's a password too
39 #define QR_GUESSNAME    16              // Set if it's a guessname room
40 #define QR_DIRECTORY    32              // Directory room
41 #define QR_UPLOAD       64              // Allowed to upload
42 #define QR_DOWNLOAD     128             // Allowed to download
43 #define QR_VISDIR       256             // Visible directory
44 #define QR_ANONONLY     512             // Anonymous-Only room
45 #define QR_ANONOPT      1024            // Anonymous-Option room
46 #define QR_NETWORK      2048            // (no longer used)
47 #define QR_PREFONLY     4096            // Preferred status needed to enter
48 #define QR_READONLY     8192            // Aide status required to post
49 #define QR_MAILBOX      16384           // Set if this is a private mailbox
50
51 #define QR2_SYSTEM      1               // System room; hide by default
52 #define QR2_SELFLIST    2               // Self-service mailing list mgmt
53 #define QR2_COLLABDEL   4               // Anyone who can post can delete
54 #define QR2_SUBJECTREQ  8               // Subject strongly recommended
55 #define QR2_SMTP_PUBLIC 16              // Listservice Subscribers may post
56
57 #define US_NEEDVALID    1               // User needs to be validated
58 #define US_EXTEDIT      2               // Always use external editor
59 #define US_PERM         4               // Permanent user
60 #define US_LASTOLD      16              // Print last old message with new
61 #define US_EXPERT       32              // Experienced user
62 #define US_UNLISTED     64              // Unlisted userlog entry
63 #define US_NOPROMPT     128             // Don't prompt after each message
64 #define US_PROMPTCTL    256             // <N>ext & <S>top work at prompt
65 #define US_DISAPPEAR    512             // Use "disappearing msg prompts"
66 #define US_REGIS        1024            // Registered user
67 #define US_PAGINATOR    2048            // Pause after each screen of text
68 #define US_INTERNET     4096            // Internet mail privileges
69 #define US_FLOORS       8192            // User wants to see floors
70 #define US_COLOR        16384           // User wants ANSI color support
71 #define US_USER_SET     (US_LASTOLD | US_EXPERT | US_UNLISTED | \
72                         US_NOPROMPT | US_DISAPPEAR | US_PAGINATOR | \
73                         US_FLOORS | US_COLOR | US_PROMPTCTL | US_EXTEDIT)
74
75 #define UA_KNOWN                2       // Room appears in a 'known rooms' list
76 #define UA_GOTOALLOWED          4       // User may goto this room if specified by exact name
77 #define UA_HASNEWMSGS           8       // Unread messages exist in this room
78 #define UA_ZAPPED               16      // User has forgotten (zapped) this room
79 #define UA_POSTALLOWED          32      // User may post top-level messages here
80 #define UA_ADMINALLOWED         64      // Aide or Room Aide rights exist here
81 #define UA_DELETEALLOWED        128     // User is allowed to delete messages from this room
82 #define UA_REPLYALLOWED         256     // User is allowed to reply to existing messages here