Tue Aug 18 00:42:33 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
[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 TOO_BIG                 11
16 #define ILLEGAL_VALUE           12
17 #define NOT_LOGGED_IN           20
18 #define CMD_NOT_SUPPORTED       30
19 #define PASSWORD_REQUIRED       40
20 #define HIGHER_ACCESS_REQUIRED  50
21 #define MAX_SESSIONS_EXCEEDED   51
22 #define NOT_HERE                60
23 #define INVALID_FLOOR_OPERATION 61
24 #define NO_SUCH_USER            70
25 #define FILE_NOT_FOUND          71
26 #define ROOM_NOT_FOUND          72
27 #define NO_SUCH_SYSTEM          73
28 #define ALREADY_EXISTS          74
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         };
42
43 #define QR_PERMANENT    1               /* Room does not purge              */
44 #define QR_INUSE        2               /* Set if in use, clear if avail    */
45 #define QR_PRIVATE      4               /* Set for any type of private room */
46 #define QR_PASSWORDED   8               /* Set if there's a password too    */
47 #define QR_GUESSNAME    16              /* Set if it's a guessname room     */
48 #define QR_DIRECTORY    32              /* Directory room                   */
49 #define QR_UPLOAD       64              /* Allowed to upload                */
50 #define QR_DOWNLOAD     128             /* Allowed to download              */
51 #define QR_VISDIR       256             /* Visible directory                */
52 #define QR_ANONONLY     512             /* Anonymous-Only room              */
53 #define QR_ANON2        1024            /* Anonymous-Option room            */
54 #define QR_NETWORK      2048            /* Shared network room              */
55 #define QR_PREFONLY     4096            /* Preferred status needed to enter */
56 #define QR_READONLY     8192            /* Aide status required to post     */
57
58
59 #define US_NEEDVALID    1               /* User needs to be validated       */
60 #define US_PERM         4               /* Permanent user                   */
61 #define US_LASTOLD      16              /* Print last old message with new  */
62 #define US_EXPERT       32              /* Experienced user                 */
63 #define US_UNLISTED     64              /* Unlisted userlog entry           */
64 #define US_NOPROMPT     128             /* Don't prompt after each message  */
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            /* UUCP/Internet mail privileges    */
69 #define US_FLOORS       8192            /* User wants to see floors         */
70 #define US_USER_SET     (US_LASTOLD | US_EXPERT | US_UNLISTED | \
71                         US_NOPROMPT | US_DISAPPEAR | US_PAGINATOR | US_FLOORS)
72
73 void serv_puts(char *buf);
74 void serv_gets(char *buf);
75
76 struct CtdlServerHandle {
77         char ServerAddress[64];
78         int ServerPort;
79         char ipgmSecret[32];
80         char UserName[32];
81         char Password[32];
82         char InitialRoom[32];
83         int AssocClientSession;
84         };
85