Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
masterfile.h
Go to the documentation of this file.
1 /*
2  Posadis - A DNS Server
3  Master file reading functionality
4  Copyright (C) 2002 Meilof Veeningen <meilof@users.sourceforge.net>
5 
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.
10 
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.
15 
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., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20 
21 #ifndef __POSLIB_MASTERFILE_H
22 #define __POSLIB_MASTERFILE_H
23 
24 #include <stdio.h>
25 #include "dnsmessage.h"
26 #include "domainfn.h"
27 
48 typedef void(*error_callback)(void *user_dat, const char *fname, int linenum, const char *message);
49 
68 typedef void(*rr_literal_callback)(void *user_dat, const char *dom, const char *ttl, const char *type, const char *rrdata, domainname origin);
69 
78 typedef void(*rr_callback)(void *user_dat, DnsRR *rr);
79 
89 typedef void(*comment_callback)(void *user_dat, const char *comment);
90 
91 #define POSLIB_MF_AUTOPROBE 1
92 #define POSLIB_MF_NOSOA 2
112 void read_master_file(const char *file, domainname &znroot, void *userdat,
114  comment_callback comm_cb, int flags);
115 
125 domainname guess_zone_name(const char *file);
126 
135 FILE *try_fopen_r(const char *file);
136 
146 FILE *try_fopen(const char *file, const char *mode);
147 
155 bool file_exists(const char *file);
156 
157 #endif /* __POSLIB_MASTERFILE_H */
158