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

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

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


Revision 1.4 - (hide annotations) (download) (as text)
Sun Jan 30 19:26:20 2000 UTC (19 years, 8 months ago) by fabian
Branch: MAIN
CVS Tags: eggdrop105020, eggdrop10503, eggdrop105040, eggdrop10403
Changes since 1.3: +113 -100 lines
File MIME type: text/x-csrc
cleanup3 patch

1 fabian 1.2 /*
2     * flags.h
3     *
4 fabian 1.4 * $Id: flags.h,v 1.3 2000/01/17 22:36:06 fabian Exp $
5 fabian 1.2 */
6     /*
7     * Copyright (C) 1997 Robey Pointer
8 fabian 1.3 * Copyright (C) 1999, 2000 Eggheads
9 fabian 1.2 *
10     * This program is free software; you can redistribute it and/or
11     * modify it under the terms of the GNU General Public License
12     * as published by the Free Software Foundation; either version 2
13     * of the License, or (at your option) any later version.
14     *
15     * This program is distributed in the hope that it will be useful,
16     * but WITHOUT ANY WARRANTY; without even the implied warranty of
17     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18     * GNU General Public License for more details.
19     *
20     * You should have received a copy of the GNU General Public License
21     * along with this program; if not, write to the Free Software
22     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23     */
24    
25     #ifndef _EGG_FLAGS_H
26     #define _EGG_FLAGS_H
27    
28 segfault 1.1 struct flag_record {
29     int match;
30     int global;
31     int udef_global;
32     int bot;
33     int chan;
34     int udef_chan;
35     };
36    
37     #define FR_GLOBAL 0x00000001
38     #define FR_BOT 0x00000002
39     #define FR_CHAN 0x00000004
40     #define FR_OR 0x40000000
41     #define FR_AND 0x20000000
42     #define FR_ANYWH 0x10000000
43     #define FR_ALL 0x0fffffff
44 fabian 1.4
45 fabian 1.2 /*
46     * userflags:
47     * abcd?fgh?jk?mnopq??tuvwx??
48     * + user defined A-Z
49     * unused letters: eilrsyz
50     *
51     * botflags:
52     * 0123456789ab????ghi??l???p?rs???????
53     * unused letters: cdefjkmnoqtuvwxyz
54     *
55     * chanflags:
56     * a??d?fg???k?mno?q?s?uv????
57     * + user defined A-Z
58     * unused letters: bchijlprtwxyz
59     */
60 fabian 1.4 #define USER_VALID 0x00f9f6ef /* all USER_ flags in use */
61     #define CHAN_VALID 0x00757469 /* all flags that can be chan
62     specific */
63     #define BOT_VALID 0x7fe689C1 /* all BOT_ flags in use */
64    
65    
66     #define USER_AUTOOP 0x00000001 /* a auto-op */
67     #define USER_BOT 0x00000002 /* b user is a bot */
68     #define USER_COMMON 0x00000004 /* c user is actually a public
69     irc site */
70     #define USER_DEOP 0x00000008 /* d user is global de-op */
71     #define USER_E 0x00000010 /* e unused */
72     #define USER_FRIEND 0x00000020 /* f user is global friend */
73     #define USER_GVOICE 0x00000040 /* g give voice true auto */
74     #define USER_HIGHLITE 0x00000080 /* h highlighting (bold) */
75     #define USER_I 0x00000100 /* i unused */
76     #define USER_JANITOR 0x00000200 /* j user has file area master */
77     #define USER_KICK 0x00000400 /* k user is global auto-kick */
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 segfault 1.1 #define USER_OP 0x00004000 /* o user is +o on all channels */
82     #define USER_PARTY 0x00008000 /* p user has party line access */
83 fabian 1.4 #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 segfault 1.1 #define USER_WASOPTEST 0x00400000 /* w wasop test needed for
90 fabian 1.4 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 segfault 1.1 #define BOT_Q 0x00010000 /* q unused */
119 fabian 1.4 #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 segfault 1.1
140     #define BOT_SHARE (BOT_AGGRESSIVE|BOT_PASSIVE)
141    
142 fabian 1.4
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_kick(x) ((x).chan & USER_KICK)
159     #define glob_kick(x) ((x).global & USER_KICK)
160     #define chan_voice(x) ((x).chan & USER_VOICE)
161     #define glob_voice(x) ((x).global & USER_VOICE)
162     #define chan_wasoptest(x) ((x).chan & USER_WASOPTEST)
163     #define glob_wasoptest(x) ((x).global & USER_WASOPTEST)
164     #define chan_quiet(x) ((x).chan & USER_QUIET)
165     #define glob_quiet(x) ((x).global & USER_QUIET)
166     #define chan_friend(x) ((x).chan & USER_FRIEND)
167     #define glob_friend(x) ((x).global & USER_FRIEND)
168     #define glob_botmast(x) ((x).global & USER_BOTMAST)
169     #define glob_party(x) ((x).global & USER_PARTY)
170     #define glob_xfer(x) ((x).global & USER_XFER)
171     #define glob_hilite(x) ((x).global & USER_HIGHLITE)
172    
173     #define bot_global(x) ((x).bot & BOT_GLOBAL)
174     #define bot_chan(x) ((x).chan & BOT_AGGRESSIVE)
175     #define bot_shared(x) ((x).bot & BOT_SHARE)
176    
177 segfault 1.1
178     #ifndef MAKING_MODS
179 fabian 1.4
180 segfault 1.1 void get_user_flagrec(struct userrec *, struct flag_record *, char *);
181     void set_user_flagrec(struct userrec *, struct flag_record *, char *);
182     void break_down_flags(char *, struct flag_record *, struct flag_record *);
183     int build_flags(char *, struct flag_record *, struct flag_record *);
184     int flagrec_eq(struct flag_record *, struct flag_record *);
185     int flagrec_ok(struct flag_record *, struct flag_record *);
186     int sanity_check(int);
187     int chan_sanity_check(int, int);
188     char geticon(int);
189    
190 fabian 1.2 #endif /* MAKING_MODS */
191    
192     #endif /* _EGG_FLAGS_H */

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23