MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | // ch.h - channel daemon defines |
| 2 | // -- |
| 3 | // $timestamp::$ |
| 4 | |
| 5 | #ifndef __DAEMON_CHANNEL_H__ |
| 6 | #define __DAEMON_CHANNEL_H__ |
| 7 | |
Arathorn | 19459eb | 2019-11-30 00:45:51 +0100 | [diff] [blame] | 8 | #define P_CHANNELS "channels" |
| 9 | #define P_STD_CHANNEL "std_channel" |
Arathorn | 78c0837 | 2019-12-11 20:14:23 +0100 | [diff] [blame] | 10 | #define P_SWAP_CHANNELS "swap_channels" |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 11 | |
Arathorn | 19459eb | 2019-11-30 00:45:51 +0100 | [diff] [blame] | 12 | #define CHMASTER "/p/daemon/channeld" |
Arathorn | 78c0837 | 2019-12-11 20:14:23 +0100 | [diff] [blame] | 13 | #define CMNAME "<MasteR>" |
Zesstra | 10341b8 | 2020-09-12 13:02:54 +0200 | [diff] [blame] | 14 | #define DEFAULTSV "/p/daemon/channel-sv" |
| 15 | #define DEFAULTSVNAME "Merlin" |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 16 | |
| 17 | // Message types |
Arathorn | 19459eb | 2019-11-30 00:45:51 +0100 | [diff] [blame] | 18 | #define MSG_SAY 0 |
| 19 | #define MSG_EMOTE 1 |
| 20 | #define MSG_GEMOTE 2 |
| 21 | #define MSG_EMPTY 3 |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 22 | |
| 23 | // Errors |
Zesstra | 66f801d | 2020-09-24 21:00:13 +0200 | [diff] [blame] | 24 | // Kommentar zu E_ACCESS_DENIED: das umfasst auch eine nicht-existierende |
| 25 | // Ebene. Das muss so sein, damit man nicht pruefen kann, ob eine Ebene |
| 26 | // existiert, obwohl man die nicht sehen darf. Also: kein E_NO_CHANNEL |
| 27 | // einfuehren und nachruesten. |
Arathorn | 19459eb | 2019-11-30 00:45:51 +0100 | [diff] [blame] | 28 | #define E_ACCESS_DENIED -1 |
| 29 | #define E_ALREADY_JOINED -2 |
| 30 | #define E_NOT_MEMBER -3 |
| 31 | #define E_EMPTY_MESSAGE -4 |
| 32 | #define E_UNKNOWN_TYPE -5 |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 33 | |
| 34 | // Commands |
Arathorn | 19459eb | 2019-11-30 00:45:51 +0100 | [diff] [blame] | 35 | #define C_NEW "new" |
| 36 | #define C_JOIN "join" |
| 37 | #define C_LEAVE "leave" |
| 38 | #define C_SEND "send" |
| 39 | #define C_LIST "list" |
| 40 | #define C_FIND "find" |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 41 | |
Zesstra | 10341b8 | 2020-09-12 13:02:54 +0200 | [diff] [blame] | 42 | // Ebenen-Flags, die Verhalten von Ebenen steuern (vom CHANNELD verwendet) |
Zesstra | d9ec04b | 2020-08-11 23:47:03 +0200 | [diff] [blame] | 43 | #define CHF_FIXED_SUPERVISOR 1 // Kein Wechsel des SV erlaubt |
| 44 | |
Zesstra | 10341b8 | 2020-09-12 13:02:54 +0200 | [diff] [blame] | 45 | // Flags fuer Zugriffsverwaltung, nur benutzt von den Ebenen-Supervisoren |
| 46 | // F_WIZARD kennzeichnet reine Magierebenen |
| 47 | #define CH_ACCESS_WIZARD 1 |
| 48 | // Ebenen, auf denen keine Gaeste erlaubt sind, sind mit F_NOGUEST markiert. |
| 49 | #define CH_ACCESS_NOGUEST 2 |
| 50 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 51 | #endif //__DAEMON_CHANNEL_H__ |
| 52 | |
| 53 | // prototypes |
| 54 | #ifdef NEED_PROTOTYPES |
| 55 | |
| 56 | #ifndef __CHANNEL_H_PROTO__ |
| 57 | #define __CHANNEL_H_PROTO__ |
Zesstra | d9ec04b | 2020-08-11 23:47:03 +0200 | [diff] [blame] | 58 | public varargs int new(string ch_name, object owner, string|closure desc, |
| 59 | int channel_flags); |
Zesstra | 165157f | 2020-08-16 22:47:36 +0200 | [diff] [blame] | 60 | public varargs int send(string chname, object sender, string msg, int type); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 61 | |
| 62 | #endif //__CHANNEL_H_PROTO__ |
| 63 | |
| 64 | #endif //NEED_PROTOTYPES |