Merge Samba3 and Samba4 together
[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                 uint16_t nbt_port;
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"