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