r13924: Split more prototypes out of include/proto.h + initial work on header
[samba.git] / source4 / libcli / resolve / wins.c
1 /* 
2    Unix SMB/CIFS implementation.
3
4    wins name resolution module
5
6    Copyright (C) Andrew Tridgell 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 #include "includes.h"
24 #include "libcli/resolve/resolve.h"
25
26 /*
27   wins name resolution method - async send
28  */
29 struct composite_context *resolve_name_wins_send(struct nbt_name *name, 
30                                                  struct event_context *event_ctx)
31 {
32         const char **address_list = lp_wins_server_list();
33         if (address_list == NULL) return NULL;
34         return resolve_name_nbtlist_send(name, event_ctx, address_list, False, True);
35 }
36
37 /*
38   wins name resolution method - recv side
39  */
40 NTSTATUS resolve_name_wins_recv(struct composite_context *c, 
41                                  TALLOC_CTX *mem_ctx, const char **reply_addr)
42 {
43         return resolve_name_nbtlist_recv(c, mem_ctx, reply_addr);
44 }
45
46 /*
47   wins name resolution method - sync call
48  */
49 NTSTATUS resolve_name_wins(struct nbt_name *name, 
50                             TALLOC_CTX *mem_ctx,
51                             const char **reply_addr)
52 {
53         struct composite_context *c = resolve_name_wins_send(name, NULL);
54         return resolve_name_wins_recv(c, mem_ctx, reply_addr);
55 }
56