2 * ircd_lexer.l: A lexical scanner for ircd config files.
3 * This is part of ircu, an Internet Relay Chat server.
4 * The contents of this file are Copyright(C) 2001 by Andrew Miller, the
5 * ircd-hybrid team and the ircu team.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
34 yyin = fopen(configfile, "r");
38 YY_FATAL_ERROR("Could not open the configuration file.");
40 fprintf(stderr, "Could not open the configuration file.");
57 QSTRING \"[^"\n]+[\"\n]
60 {QSTRING} {yytext[yyleng-1] = 0; yylval.text = yytext+1; return QSTRING;}
61 {NUMBER} {yylval.num = strtoul(yytext, NULL, 10); return NUMBER;}
66 administrator return ADMIN;
67 general return GENERAL;
68 location return LOCATION;
69 contact return CONTACT;
70 connect return CONNECT;
72 pingfreq return PINGFREQ;
73 connectfreq return CONNECTFREQ;
74 maxlinks return MAXLINKS;
80 seconds return SECONDS;
81 minutes return MINUTES;
87 decades return DECADES;
91 kilobytes return KBYTES;
94 megabytes return MBYTES;
97 gigabytes return GBYTES;
100 terabytes return TBYTES;
103 server return SERVER;
108 uworld return UWORLD;
109 operator return OPER;
114 hidden return HIDDEN;
116 numeric return NUMERIC;
119 description return DESCRIPTION;
120 client return CLIENT;
122 realname return REAL;
123 reason return REASON;
130 quarantine return QUARANTINE;
132 timeout return TIMEOUT;
133 features return FEATURES;
134 channel return CHANNEL;
135 chan_limit return TPRIV_CHAN_LIMIT;
136 mode_lchan return TPRIV_MODE_LCHAN;
137 deop_lchan return TPRIV_DEOP_LCHAN;
138 walk_lchan return TPRIV_WALK_LCHAN;
139 local_kill return TPRIV_LOCAL_KILL;
140 rehash return TPRIV_REHASH;
141 restart return TPRIV_RESTART;
142 die return TPRIV_DIE;
143 gline return TPRIV_GLINE;
144 local_gline return TPRIV_LOCAL_GLINE;
145 local_jupe return TPRIV_LOCAL_JUPE;
146 opmode return TPRIV_OPMODE;
147 set return TPRIV_SET;
148 whox return TPRIV_WHOX;
149 badchan return TPRIV_BADCHAN;
150 local_badchan return TPRIV_LOCAL_BADCHAN;
151 see_chan return TPRIV_SEE_CHAN;
152 show_invis return TPRIV_SHOW_INVIS;
153 show_all_invis return TPRIV_SHOW_ALL_INVIS;
154 propagate return TPRIV_PROPAGATE;
155 unlimit_query return TPRIV_UNLIMIT_QUERY;
156 display return TPRIV_DISPLAY;
157 see_opers return TPRIV_SEE_OPERS;
158 wide_gline return TPRIV_WIDE_GLINE;
159 force_opmode return TPRIV_FORCE_OPMODE;
160 force_local_opmode return TPRIV_FORCE_LOCAL_OPMODE;
161 pseudo return PSEUDO;
162 prepend return PREPEND;
163 usermode return USERMODE;