xref: /openbsd/usr.sbin/nsd/xfrd-disk.h (revision 6a6b9a23)
1 /*
2  * xfrd-disk.h - XFR (transfer) Daemon TCP system header file. Save/Load state to disk.
3  *
4  * Copyright (c) 2001-2006, NLnet Labs. All rights reserved.
5  *
6  * See LICENSE for the license.
7  *
8  */
9 
10 #ifndef XFRD_DISK_H
11 #define XFRD_DISK_H
12 
13 struct xfrd_state;
14 struct nsd;
15 
16 /* magic string to identify xfrd state file */
17 #define XFRD_FILE_MAGIC "NSDXFRD2"
18 
19 /* read from state file as many zones as possible (until error/eof).*/
20 void xfrd_read_state(struct xfrd_state* xfrd);
21 /* write xfrd zone state if possible */
22 void xfrd_write_state(struct xfrd_state* xfrd);
23 
24 /* create temp directory */
25 void xfrd_make_tempdir(struct nsd* nsd);
26 /* rmdir temp directory */
27 void xfrd_del_tempdir(struct nsd* nsd);
28 /* open temp file, makes directory if needed */
29 FILE* xfrd_open_xfrfile(struct nsd* nsd, uint64_t number, char* mode);
30 /* unlink temp file */
31 void xfrd_unlink_xfrfile(struct nsd* nsd, uint64_t number);
32 /* get temp file size */
33 uint64_t xfrd_get_xfrfile_size(struct nsd* nsd, uint64_t number );
34 
35 #endif /* XFRD_DISK_H */
36