2
PowerDNS Versatile Database Driven Nameserver
3
Copyright (C) 2002 PowerDNS.COM BV
5
This program is free software; you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation; either version 2 of the License, or
8
(at your option) any later version.
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
15
You should have received a copy of the GNU General Public License
16
along with this program; if not, write to the Free Software
17
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
39
ZoneParser() : d_ttl(3600) {}
41
void parse(const string &fname,const string &origin, unsigned int domain_id);
42
void parse(const string &fname,const string &origin, vector<Record>&records);
44
typedef void callback_t(unsigned int domain_id, const string &domain, const string &qtype, const string &content, int ttl, int prio);
45
void setCallback(callback_t *callback);
46
callback_t *d_callback;
47
bool parseLine(const vector<string>&words, vector<Record> &);
48
bool eatLine(const string& line, vector<Record>&);
49
void setDirectory(const string &dir);
50
static string canonic(const string& dom);
53
unsigned int zoneNumber(const string &str);
56
unsigned int d_lineno;
57
void soaCanonic(string &content);
58
bool isNumber(const string &);
59
bool isType(const string &);
60
bool isClass(const string &);
63
void cutOff(string &line, const string &delim);
64
void fillRec(const string &qname, const string &qtype, const string &content, int ttl, int prio, vector<Record>&rec);
65
string expandWord(const string &line, int value);
69
#endif /* BINDPARSER_HH */