15dd4bd3db6f87e2534d020877fce26ef0b63138
[gd/samba-autobuild/.git] / source4 / nbt_server / wins / winsserver.h
1 /* 
2    Unix SMB/CIFS implementation.
3
4    wins server WACK processing
5
6    Copyright (C) Stefan Metzmacher      2005
7    
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12    
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17    
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.
20 */
21
22 struct wins_server {
23         /* wins server database handle */
24         struct winsdb_handle *wins_db;
25
26         /* some configuration */
27         struct {
28                 /* 
29                  * the interval (in secs) till an active record will be marked as RELEASED
30                  */
31                 uint32_t min_renew_interval;
32                 uint32_t max_renew_interval;
33
34                 /* 
35                  * the interval (in secs) a record remains in RELEASED state,
36                  * before it will be marked as TOMBSTONE
37                  * (also known as extinction interval)
38                  */
39                 uint32_t tombstone_interval;
40
41                 /* 
42                  * the interval (in secs) a record remains in TOMBSTONE state,
43                  * before it will be removed from the database.
44                  * See also 'tombstone_extra_timeout'.
45                  * (also known as extinction timeout)
46                  */
47                 uint32_t tombstone_timeout;
48         } config;
49 };
50
51 struct wins_challenge_io {
52         struct {
53                 struct nbtd_server *nbtd_server;
54                 struct event_context *event_ctx;
55                 struct nbt_name *name;
56                 uint32_t num_addresses;
57                 const char **addresses;
58         } in;
59         struct {
60                 uint32_t num_addresses;
61                 const char **addresses;
62         } out;
63 };
64
65 #include "nbt_server/wins/winsserver_proto.h"