blob: 6a43aa23d5e575776f14560fd4f637684e4b68c7 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// ch.h - channel daemon defines
2// --
3// $timestamp::$
4
5#ifndef __DAEMON_CHANNEL_H__
6#define __DAEMON_CHANNEL_H__
7
Arathorn19459eb2019-11-30 00:45:51 +01008#define P_CHANNELS "channels"
9#define P_STD_CHANNEL "std_channel"
Arathorn78c08372019-12-11 20:14:23 +010010#define P_SWAP_CHANNELS "swap_channels"
MG Mud User88f12472016-06-24 23:31:02 +020011
Arathorn19459eb2019-11-30 00:45:51 +010012#define CHMASTER "/p/daemon/channeld"
Arathorn78c08372019-12-11 20:14:23 +010013#define CMNAME "<MasteR>"
Zesstra10341b82020-09-12 13:02:54 +020014#define DEFAULTSV "/p/daemon/channel-sv"
15#define DEFAULTSVNAME "Merlin"
MG Mud User88f12472016-06-24 23:31:02 +020016
17// Message types
Arathorn19459eb2019-11-30 00:45:51 +010018#define MSG_SAY 0
19#define MSG_EMOTE 1
20#define MSG_GEMOTE 2
21#define MSG_EMPTY 3
MG Mud User88f12472016-06-24 23:31:02 +020022
23// Errors
Zesstra66f801d2020-09-24 21:00:13 +020024// 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.
Arathorn19459eb2019-11-30 00:45:51 +010028#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 User88f12472016-06-24 23:31:02 +020033
34// Commands
Arathorn19459eb2019-11-30 00:45:51 +010035#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 User88f12472016-06-24 23:31:02 +020041
Zesstra10341b82020-09-12 13:02:54 +020042// Ebenen-Flags, die Verhalten von Ebenen steuern (vom CHANNELD verwendet)
Zesstrad9ec04b2020-08-11 23:47:03 +020043#define CHF_FIXED_SUPERVISOR 1 // Kein Wechsel des SV erlaubt
44
Zesstra10341b82020-09-12 13:02:54 +020045// 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 User88f12472016-06-24 23:31:02 +020051#endif //__DAEMON_CHANNEL_H__
52
53// prototypes
54#ifdef NEED_PROTOTYPES
55
56#ifndef __CHANNEL_H_PROTO__
57#define __CHANNEL_H_PROTO__
Zesstrad9ec04b2020-08-11 23:47:03 +020058public varargs int new(string ch_name, object owner, string|closure desc,
59 int channel_flags);
Zesstra165157f2020-08-16 22:47:36 +020060public varargs int send(string chname, object sender, string msg, int type);
MG Mud User88f12472016-06-24 23:31:02 +020061
62#endif //__CHANNEL_H_PROTO__
63
64#endif //NEED_PROTOTYPES