5 Author: Pekka Riikonen <priikone@silcnet.org>
7 Copyright (C) 2001 Pekka Riikonen
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
21 /****h* silccore/SILC Modes
25 * This header includes all mode definitions for the SILC. It includes
26 * channel modes, channel user mode and user modes.
34 /****d* silccore/Modes/ChannelModes
42 #define SILC_CHANNEL_MODE_NONE 0x0000
43 #define SILC_CHANNEL_MODE_PRIVATE 0x0001 /* private channel */
44 #define SILC_CHANNEL_MODE_SECRET 0x0002 /* secret channel */
45 #define SILC_CHANNEL_MODE_PRIVKEY 0x0004 /* channel has private key */
46 #define SILC_CHANNEL_MODE_INVITE 0x0008 /* invite only channel */
47 #define SILC_CHANNEL_MODE_TOPIC 0x0010 /* topic setting by operator */
48 #define SILC_CHANNEL_MODE_ULIMIT 0x0020 /* user limit set */
49 #define SILC_CHANNEL_MODE_PASSPHRASE 0x0040 /* passphrase set */
50 #define SILC_CHANNEL_MODE_CIPHER 0x0080 /* sets cipher of the channel */
51 #define SILC_CHANNEL_MODE_HMAC 0x0100 /* sets hmac of the channel */
52 #define SILC_CHANNEL_MODE_FOUNDER_AUTH 0x0200 /* sets founder auth data */
53 #define SILC_CHANNEL_MODE_SILENCE_USERS 0x0400 /* sets founder auth data */
54 #define SILC_CHANNEL_MODE_SILENCE_OPERS 0x0800 /* sets founder auth data */
55 #define SILC_CHANNEL_MODE_CHANNEL_AUTH 0x1000 /* channel auth (signature) */
58 /****d* silccore/Modes/ChannelUserModes
62 * All user modes on channel. These indicate the user's status on the
63 * channel. Some of the modes can be set by channel founder and channel
64 * operator. Some modes may be set by users themself.
68 #define SILC_CHANNEL_UMODE_NONE 0x00000000 /* Normal user */
69 #define SILC_CHANNEL_UMODE_CHANFO 0x00000001 /* channel founder */
70 #define SILC_CHANNEL_UMODE_CHANOP 0x00000002 /* channel operator */
71 #define SILC_CHANNEL_UMODE_BLOCK_MESSAGES 0x00000004 /* messages blocked */
72 #define SILC_CHANNEL_UMODE_BLOCK_MESSAGES_USERS 0x00000008 /* Block messages
75 #define SILC_CHANNEL_UMODE_BLOCK_MESSAGES_ROBOTS 0x00000010 /* Block messages
77 #define SILC_CHANNEL_UMODE_QUIET 0x00000020 /* user is quiet */
80 /****d* silccore/Modes/SilcUserMode
84 * SILC User modes. These indicate the status and presence of the client
85 * in the SILC network.
89 #define SILC_UMODE_NONE 0x00000000 /* Normal SILC user */
90 #define SILC_UMODE_SERVER_OPERATOR 0x00000001 /* Server operator */
91 #define SILC_UMODE_ROUTER_OPERATOR 0x00000002 /* Router (SILC) operator */
92 #define SILC_UMODE_GONE 0x00000004 /* Client is gone */
93 #define SILC_UMODE_INDISPOSED 0x00000008 /* Client is indisposed */
94 #define SILC_UMODE_BUSY 0x00000010 /* Client is busy */
95 #define SILC_UMODE_PAGE 0x00000020 /* Client requests paging */
96 #define SILC_UMODE_HYPER 0x00000040 /* Client is hyper active */
97 #define SILC_UMODE_ROBOT 0x00000080 /* Client is a robot */
98 #define SILC_UMODE_ANONYMOUS 0x00000100 /* Client is anonymous */
99 #define SILC_UMODE_BLOCK_PRIVMSG 0x00000200 /* Client blocks privmsgs */
100 #define SILC_UMODE_DETACHED 0x00000400 /* Client is detached */
101 #define SILC_UMODE_REJECT_WATCHING 0x00000800 /* Client rejects watching */
102 #define SILC_UMODE_BLOCK_INVITE 0x00001000 /* Client blocks invites */