Got the CitadelAPI library to the point where the server can start
[citadel.git] / citadel / ipcdef.h
1 #ifdef OK
2 #undef OK
3 #endif
4
5 #define LISTING_FOLLOWS         100
6 #define OK                      200
7 #define MORE_DATA               300
8 #define SEND_LISTING            400
9 #define ERROR                   500
10 #define BINARY_FOLLOWS          600
11 #define SEND_BINARY             700
12 #define START_CHAT_MODE         800
13
14 #define INTERNAL_ERROR          10
15 #define NOT_LOGGED_IN           20
16 #define CMD_NOT_SUPPORTED       30
17 #define PASSWORD_REQUIRED       40
18 #define HIGHER_ACCESS_REQUIRED  50
19 #define MAX_SESSIONS_EXCEEDED   51
20 #define NOT_HERE                60
21 #define INVALID_FLOOR_OPERATION 61
22 #define NO_SUCH_USER            70
23 #define FILE_NOT_FOUND          71
24 #define ROOM_NOT_FOUND          72
25 #define NO_SUCH_SYSTEM          73
26 #define ALREADY_EXISTS          74
27
28 struct CtdlServInfo {
29         int serv_pid;
30         char serv_nodename[32];
31         char serv_humannode[64];
32         char serv_fqdn[64];
33         char serv_software[64];
34         int serv_rev_level;
35         char serv_bbs_city[64];
36         char serv_sysadm[64];
37         char serv_moreprompt[256];
38         int serv_ok_floors;
39         };
40
41 #define QR_PERMANENT    1               /* Room does not purge              */
42 #define QR_INUSE        2               /* Set if in use, clear if avail    */
43 #define QR_PRIVATE      4               /* Set for any type of private room */
44 #define QR_PASSWORDED   8               /* Set if there's a password too    */
45 #define QR_GUESSNAME    16              /* Set if it's a guessname room     */
46 #define QR_DIRECTORY    32              /* Directory room                   */
47 #define QR_UPLOAD       64              /* Allowed to upload                */
48 #define QR_DOWNLOAD     128             /* Allowed to download              */
49 #define QR_VISDIR       256             /* Visible directory                */
50 #define QR_ANONONLY     512             /* Anonymous-Only room              */
51 #define QR_ANON2        1024            /* Anonymous-Option room            */
52 #define QR_NETWORK      2048            /* Shared network room              */
53 #define QR_PREFONLY     4096            /* Preferred status needed to enter */
54 #define QR_READONLY     8192            /* Aide status required to post     */
55
56
57 #define US_NEEDVALID    1               /* User needs to be validated       */
58 #define US_PERM         4               /* Permanent user                   */
59 #define US_LASTOLD      16              /* Print last old message with new  */
60 #define US_EXPERT       32              /* Experienced user                 */
61 #define US_UNLISTED     64              /* Unlisted userlog entry           */
62 #define US_NOPROMPT     128             /* Don't prompt after each message  */
63 #define US_DISAPPEAR    512             /* Use "disappearing msg prompts"   */
64 #define US_REGIS        1024            /* Registered user                  */
65 #define US_PAGINATOR    2048            /* Pause after each screen of text  */
66 #define US_INTERNET     4096            /* UUCP/Internet mail privileges    */
67 #define US_FLOORS       8192            /* User wants to see floors         */
68 #define US_USER_SET     (US_LASTOLD | US_EXPERT | US_UNLISTED | \
69                         US_NOPROMPT | US_DISAPPEAR | US_PAGINATOR | US_FLOORS)
70
71 void serv_puts();
72 void serv_gets();
73
74 struct CtdlServerHandle {
75         char ServerAddress[64];
76         int ServerPort;
77         char ipgmSecret[32];
78         char UserName[32];
79         char Password[32];
80         char InitialRoom[32];
81         int AssocClientSession;
82         };
83