OpenDNSSEC-signer 2.1.10
xfrhandler.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2009 NLNet Labs. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
17 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
19 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
21 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
22 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
23 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 *
25 */
26
32#ifndef DAEMON_XFRHANDLER_H
33#define DAEMON_XFRHANDLER_H
34
35#include "config.h"
36
38
39#include "status.h"
40#include "locks.h"
41#include "wire/buffer.h"
42#include "wire/netio.h"
43#include "wire/notify.h"
44#include "wire/tcpset.h"
45#include "wire/xfrd.h"
46#include "engine.h"
47
53 /* Engine reference */
54 janitor_thread_t thread_id;
56 /* Start time */
57 time_t start_time;
59 /* Network support */
71 unsigned got_time : 1;
72 unsigned need_to_exit : 1;
73 unsigned started : 1;
74};
75
83
89extern void xfrhandler_start(xfrhandler_type* xfrhandler);
90
97extern time_t xfrhandler_time(xfrhandler_type* xfrhandler);
98
104extern void xfrhandler_signal(xfrhandler_type* xfrhandler);
105
111extern void xfrhandler_cleanup(xfrhandler_type* xfrhandler);
112
113#endif /* DAEMON_XFRHANDLER_H */
buffer_type * packet
Definition: xfrhandler.h:62
unsigned got_time
Definition: xfrhandler.h:71
netio_type * netio
Definition: xfrhandler.h:60
tcp_set_type * tcp_set
Definition: xfrhandler.h:61
time_t current_time
Definition: xfrhandler.h:58
unsigned started
Definition: xfrhandler.h:73
janitor_thread_t thread_id
Definition: xfrhandler.h:54
engine_type * engine
Definition: xfrhandler.h:55
unsigned need_to_exit
Definition: xfrhandler.h:72
xfrd_type * udp_waiting_first
Definition: xfrhandler.h:64
notify_type * notify_waiting_last
Definition: xfrhandler.h:68
notify_type * notify_waiting_first
Definition: xfrhandler.h:67
netio_handler_type dnshandler
Definition: xfrhandler.h:70
size_t udp_use_num
Definition: xfrhandler.h:66
xfrd_type * udp_waiting_last
Definition: xfrhandler.h:65
xfrd_type * tcp_waiting_first
Definition: xfrhandler.h:63
void xfrhandler_cleanup(xfrhandler_type *xfrhandler)
Definition: xfrhandler.c:198
xfrhandler_type * xfrhandler_create(void)
Definition: xfrhandler.c:52
void xfrhandler_start(xfrhandler_type *xfrhandler)
Definition: xfrhandler.c:110
void xfrhandler_signal(xfrhandler_type *xfrhandler)
Definition: xfrhandler.c:159
time_t xfrhandler_time(xfrhandler_type *xfrhandler)
Definition: xfrhandler.c:141