aae2e3dfbc3752d05b18db532f80b84e37d32ba5
[samba.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 2 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, write to the Free Software
20    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 */
22
23 struct wins_server {
24         /* wins server database handle */
25         struct winsdb_handle *wins_db;
26
27         /* some configuration */
28         struct {
29                 /* 
30                  * the interval (in secs) till an active record will be marked as RELEASED
31                  */
32                 uint32_t min_renew_interval;
33                 uint32_t max_renew_interval;
34
35                 /* 
36                  * the interval (in secs) a record remains in RELEASED state,
37                  * before it will be marked as TOMBSTONE
38                  * (also known as extinction interval)
39                  */
40                 uint32_t tombstone_interval;
41
42                 /* 
43                  * the interval (in secs) a record remains in TOMBSTONE state,
44                  * before it will be removed from the database.
45                  * See also 'tombstone_extra_timeout'.
46                  * (also known as extinction timeout)
47                  */
48                 uint32_t tombstone_timeout;
49         } config;
50 };
51
52 struct wins_challenge_io {
53         struct {
54                 struct nbtd_server *nbtd_server;
55                 struct event_context *event_ctx;
56                 struct nbt_name *name;
57                 uint32_t num_addresses;
58                 const char **addresses;
59         } in;
60         struct {
61                 uint32_t num_addresses;
62                 const char **addresses;
63         } out;
64 };
65
66 #include "nbt_server/wins/winsserver_proto.h"