1 /*
2 
3   silcmode.h
4 
5   Author: Pekka Riikonen <priikone@silcnet.org>
6 
7   Copyright (C) 2001 - 2005 Pekka Riikonen
8 
9   The contents of this file are subject to one of the Licenses specified
10   in the COPYING file;  You may not use this file except in compliance
11   with the License.
12 
13   The software distributed under the License is distributed on an "AS IS"
14   basis, in the hope that it will be useful, but WITHOUT WARRANTY OF ANY
15   KIND, either expressed or implied.  See the COPYING file for more
16   information.
17 
18 */
19 
20 /****h* silccore/SILC Modes
21  *
22  * DESCRIPTION
23  *
24  * This header includes all mode definitions for the SILC. It includes
25  * channel modes, channel user mode and user modes.
26  *
27  ***/
28 
29 #ifndef SILCMODE_H
30 #define SILCMODE_H
31 
32 
33 /****d* silccore/Modes/ChannelModes
34  *
35  * DESCRIPTION
36  *
37  *    All channel modes.
38  *
39  * SOURCE
40  */
41 #define SILC_CHANNEL_MODE_NONE          0x0000
42 #define SILC_CHANNEL_MODE_PRIVATE       0x0001 /* private channel */
43 #define SILC_CHANNEL_MODE_SECRET        0x0002 /* secret channel */
44 #define SILC_CHANNEL_MODE_PRIVKEY       0x0004 /* channel has private key */
45 #define SILC_CHANNEL_MODE_INVITE        0x0008 /* invite only channel */
46 #define SILC_CHANNEL_MODE_TOPIC         0x0010 /* topic setting by operator */
47 #define SILC_CHANNEL_MODE_ULIMIT        0x0020 /* user limit set */
48 #define SILC_CHANNEL_MODE_PASSPHRASE    0x0040 /* passphrase set */
49 #define SILC_CHANNEL_MODE_CIPHER        0x0080 /* sets cipher of the channel */
50 #define SILC_CHANNEL_MODE_HMAC          0x0100 /* sets hmac of the channel */
51 #define SILC_CHANNEL_MODE_FOUNDER_AUTH  0x0200 /* sets founder auth data */
52 #define SILC_CHANNEL_MODE_SILENCE_USERS 0x0400 /* sets founder auth data */
53 #define SILC_CHANNEL_MODE_SILENCE_OPERS 0x0800 /* sets founder auth data */
54 #define SILC_CHANNEL_MODE_CHANNEL_AUTH  0x1000 /* channel auth (signature) */
55 /***/
56 
57 /****d* silccore/Modes/ChannelUserModes
58  *
59  * DESCRIPTION
60  *
61  *    All user modes on channel.  These indicate the user's status on the
62  *    channel.  Some of the modes can be set by channel founder and channel
63  *    operator.  Some modes may be set by users themself.
64  *
65  * SOURCE
66  */
67 #define SILC_CHANNEL_UMODE_NONE            0x00000000 /* Normal user */
68 #define SILC_CHANNEL_UMODE_CHANFO          0x00000001 /* channel founder */
69 #define SILC_CHANNEL_UMODE_CHANOP          0x00000002 /* channel operator */
70 #define SILC_CHANNEL_UMODE_BLOCK_MESSAGES  0x00000004 /* messages blocked */
71 #define SILC_CHANNEL_UMODE_BLOCK_MESSAGES_USERS  0x00000008 /* Block messages
72 							       from normal
73 							       users */
74 #define SILC_CHANNEL_UMODE_BLOCK_MESSAGES_ROBOTS 0x00000010 /* Block messages
75 							       from robots */
76 #define SILC_CHANNEL_UMODE_QUIET           0x00000020 /* user is quiet */
77 /***/
78 
79 /****d* silccore/Modes/SilcUserMode
80  *
81  * DESCRIPTION
82  *
83  *    SILC User modes. These indicate the status and presence of the client
84  *    in the SILC network.
85  *
86  * SOURCE
87  */
88 #define SILC_UMODE_NONE              0x00000000 /* Normal SILC user */
89 #define SILC_UMODE_SERVER_OPERATOR   0x00000001 /* Server operator */
90 #define SILC_UMODE_ROUTER_OPERATOR   0x00000002 /* Router (SILC) operator */
91 #define SILC_UMODE_GONE              0x00000004 /* Client is gone */
92 #define SILC_UMODE_INDISPOSED        0x00000008 /* Client is indisposed */
93 #define SILC_UMODE_BUSY              0x00000010 /* Client is busy */
94 #define SILC_UMODE_PAGE              0x00000020 /* Client requests paging */
95 #define SILC_UMODE_HYPER             0x00000040 /* Client is hyper active */
96 #define SILC_UMODE_ROBOT             0x00000080 /* Client is a robot */
97 #define SILC_UMODE_ANONYMOUS         0x00000100 /* Client is anonymous */
98 #define SILC_UMODE_BLOCK_PRIVMSG     0x00000200 /* Client blocks privmsgs */
99 #define SILC_UMODE_DETACHED          0x00000400 /* Client is detached */
100 #define SILC_UMODE_REJECT_WATCHING   0x00000800 /* Client rejects watching */
101 #define SILC_UMODE_BLOCK_INVITE      0x00001000 /* Client blocks invites */
102 /***/
103 
104 #endif
105