/[cvs]/eggdrop1.9/src/flags.h
ViewVC logotype

Contents of /eggdrop1.9/src/flags.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.13 - (show annotations) (download) (as text)
Tue Jun 18 06:12:32 2002 UTC (17 years, 4 months ago) by guppy
Branch: MAIN
Changes since 1.12: +6 -9 lines
File MIME type: text/x-csrc

- removed userflag +k
- removed userflag +h
- removed all the code related to .strip since stdarg is going to redo it in a
better fashion using network filters.
- removed woobie since woobie is useless and we would be much better suited with
a "sample" module that actually does something useful

1 /*
2 * flags.h --
3 */
4 /*
5 * Copyright (C) 1997 Robey Pointer
6 * Copyright (C) 1999, 2000, 2001, 2002 Eggheads Development Team
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 */
22 /*
23 * $Id: flags.h,v 1.12 2002/06/17 06:14:40 guppy Exp $
24 */
25
26 #ifndef _EGG_FLAGS_H
27 #define _EGG_FLAGS_H
28
29 struct flag_record {
30 int match;
31 int global;
32 int udef_global;
33 int bot;
34 int chan;
35 int udef_chan;
36 };
37
38 #define FR_GLOBAL 0x00000001
39 #define FR_BOT 0x00000002
40 #define FR_CHAN 0x00000004
41 #define FR_OR 0x40000000
42 #define FR_AND 0x20000000
43 #define FR_ANYWH 0x10000000
44 #define FR_ALL 0x0fffffff
45
46 /*
47 * userflags:
48 * abcdefgh?jk?mnopq??tuvwx??
49 * + user defined A-Z
50 * unused letters: ilrsyz
51 *
52 * botflags:
53 * 0123456789ab????ghi??l???p?rs???????
54 * unused letters: cdefjkmnoqtuvwxyz
55 *
56 * chanflags:
57 * a??defg???k?mno?q???uv????
58 * + user defined A-Z
59 * unused letters: bchijlprstwxyz
60 */
61 #define USER_VALID 0xF9F27B /* all USER_ flags in use */
62 #define CHAN_VALID 0x757079 /* all flags that can be chan
63 specific */
64 #define BOT_VALID 0x7fe689C1 /* all BOT_ flags in use */
65
66
67 #define USER_AUTOOP 0x00000001 /* a auto-op */
68 #define USER_BOT 0x00000002 /* b user is a bot */
69 #define USER_C 0x00000004 /* c unused */
70 #define USER_DEOP 0x00000008 /* d user is global de-op */
71 #define USER_EXEMPT 0x00000010 /* e exempted from stopnethack */
72 #define USER_FRIEND 0x00000020 /* f user is global friend */
73 #define USER_GVOICE 0x00000040 /* g give voice true auto */
74 #define USER_H 0x00000080 /* h unused */
75 #define USER_I 0x00000100 /* i unused */
76 #define USER_JANITOR 0x00000200 /* j user has file area master */
77 #define USER_K 0x00000400 /* k unused */
78 #define USER_L 0x00000800 /* l unused */
79 #define USER_MASTER 0x00001000 /* m user has full bot access */
80 #define USER_OWNER 0x00002000 /* n user is the bot owner */
81 #define USER_OP 0x00004000 /* o user is +o on all channels */
82 #define USER_PARTY 0x00008000 /* p user has party line access */
83 #define USER_QUIET 0x00010000 /* q never let 'em get a voice */
84 #define USER_R 0x00020000 /* r unused */
85 #define USER_S 0x00040000 /* s unused */
86 #define USER_BOTMAST 0x00080000 /* t user is botnet master */
87 #define USER_UNSHARED 0x00100000 /* u not shared with sharebots */
88 #define USER_VOICE 0x00200000 /* v auto-voice on join */
89 #define USER_WASOPTEST 0x00400000 /* w wasop test needed for
90 stopnethack */
91 #define USER_XFER 0x00800000 /* x user has file area access */
92 #define USER_Y 0x01000000 /* y unused */
93 #define USER_Z 0x02000000 /* z unused */
94 #define USER_DEFAULT 0x40000000 /* use default-flags */
95
96 /* Flags specifically for bots
97 */
98 #define BOT_ALT 0x00000001 /* a auto-link here if all +h's
99 fail */
100 #define BOT_BOT 0x00000002 /* b sanity bot flag */
101 #define BOT_C 0x00000004 /* c unused */
102 #define BOT_D 0x00000008 /* d unused */
103 #define BOT_E 0x00000010 /* e unused */
104 #define BOT_F 0x00000020 /* f unused */
105 #define BOT_GLOBAL 0x00000040 /* g all channel are shared */
106 #define BOT_HUB 0x00000080 /* h auto-link to ONE of these
107 bots */
108 #define BOT_ISOLATE 0x00000100 /* i isolate party line from
109 botnet */
110 #define BOT_J 0x00000200 /* j unused */
111 #define BOT_K 0x00000400 /* k unused */
112 #define BOT_LEAF 0x00000800 /* l may not link other bots */
113 #define BOT_M 0x00001000 /* m unused */
114 #define BOT_N 0x00002000 /* n unused */
115 #define BOT_O 0x00004000 /* o unused */
116 #define BOT_PASSIVE 0x00008000 /* p share passively with this
117 bot */
118 #define BOT_Q 0x00010000 /* q unused */
119 #define BOT_REJECT 0x00020000 /* r automatically reject
120 anywhere */
121 #define BOT_AGGRESSIVE 0x00040000 /* s bot shares user files */
122 #define BOT_T 0x00080000 /* t unused */
123 #define BOT_U 0x00100000 /* u unused */
124 #define BOT_V 0x00200000 /* v unused */
125 #define BOT_W 0x00400000 /* w unused */
126 #define BOT_X 0x00800000 /* x unused */
127 #define BOT_Y 0x01000000 /* y unused */
128 #define BOT_Z 0x02000000 /* z unused */
129 #define BOT_FLAG0 0x00200000 /* 0 user-defined flag #0 */
130 #define BOT_FLAG1 0x00400000 /* 1 user-defined flag #1 */
131 #define BOT_FLAG2 0x00800000 /* 2 user-defined flag #2 */
132 #define BOT_FLAG3 0x01000000 /* 3 user-defined flag #3 */
133 #define BOT_FLAG4 0x02000000 /* 4 user-defined flag #4 */
134 #define BOT_FLAG5 0x04000000 /* 5 user-defined flag #5 */
135 #define BOT_FLAG6 0x08000000 /* 6 user-defined flag #6 */
136 #define BOT_FLAG7 0x10000000 /* 7 user-defined flag #7 */
137 #define BOT_FLAG8 0x20000000 /* 8 user-defined flag #8 */
138 #define BOT_FLAG9 0x40000000 /* 9 user-defined flag #9 */
139
140 #define BOT_SHARE (BOT_AGGRESSIVE|BOT_PASSIVE)
141
142
143 /* Flag checking macros
144 */
145 #define chan_op(x) ((x).chan & USER_OP)
146 #define glob_op(x) ((x).global & USER_OP)
147 #define chan_deop(x) ((x).chan & USER_DEOP)
148 #define glob_deop(x) ((x).global & USER_DEOP)
149 #define glob_master(x) ((x).global & USER_MASTER)
150 #define glob_bot(x) ((x).global & USER_BOT)
151 #define glob_owner(x) ((x).global & USER_OWNER)
152 #define chan_master(x) ((x).chan & USER_MASTER)
153 #define chan_owner(x) ((x).chan & USER_OWNER)
154 #define chan_autoop(x) ((x).chan & USER_AUTOOP)
155 #define glob_autoop(x) ((x).global & USER_AUTOOP)
156 #define chan_gvoice(x) ((x).chan & USER_GVOICE)
157 #define glob_gvoice(x) ((x).global & USER_GVOICE)
158 #define chan_voice(x) ((x).chan & USER_VOICE)
159 #define glob_voice(x) ((x).global & USER_VOICE)
160 #define chan_wasoptest(x) ((x).chan & USER_WASOPTEST)
161 #define glob_wasoptest(x) ((x).global & USER_WASOPTEST)
162 #define chan_quiet(x) ((x).chan & USER_QUIET)
163 #define glob_quiet(x) ((x).global & USER_QUIET)
164 #define chan_friend(x) ((x).chan & USER_FRIEND)
165 #define glob_friend(x) ((x).global & USER_FRIEND)
166 #define glob_botmast(x) ((x).global & USER_BOTMAST)
167 #define glob_party(x) ((x).global & USER_PARTY)
168 #define glob_xfer(x) ((x).global & USER_XFER)
169 #define chan_exempt(x) ((x).chan & USER_EXEMPT)
170 #define glob_exempt(x) ((x).global & USER_EXEMPT)
171
172 #define bot_global(x) ((x).bot & BOT_GLOBAL)
173 #define bot_chan(x) ((x).chan & BOT_AGGRESSIVE)
174 #define bot_shared(x) ((x).bot & BOT_SHARE)
175
176
177 #ifndef MAKING_MODS
178
179 void get_user_flagrec(struct userrec *, struct flag_record *, const char *);
180 void set_user_flagrec(struct userrec *, struct flag_record *, const char *);
181 void break_down_flags(const char *, struct flag_record *, struct flag_record *);
182 int build_flags(char *, struct flag_record *, struct flag_record *);
183 int flagrec_eq(struct flag_record *, struct flag_record *);
184 int flagrec_ok(struct flag_record *, struct flag_record *);
185 int sanity_check(int);
186 int chan_sanity_check(int, int);
187 char geticon(struct userrec *);
188
189 #endif /* !MAKING_MODS */
190
191 #endif /* !_EGG_FLAGS_H */

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23