1/* 2 Unix SMB/CIFS implementation. 3 4 general name resolution interface 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 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#ifndef __LIBCLI_RESOLVE_H__ 23#define __LIBCLI_RESOLVE_H__ 24 25struct socket_address; 26struct tevent_context; 27 28#include "../libcli/nbt/libnbt.h" 29 30/* force that only NBT name resolution is used */ 31#define RESOLVE_NAME_FLAG_FORCE_NBT 0x00000001 32/* force that only DNS name resolution is used */ 33#define RESOLVE_NAME_FLAG_FORCE_DNS 0x00000002 34/* tell the dns resolver to do a DNS SRV lookup */ 35#define RESOLVE_NAME_FLAG_DNS_SRV 0x00000004 36/* allow the resolver to overwrite the given port, e.g. for DNS SRV */ 37#define RESOLVE_NAME_FLAG_OVERWRITE_PORT 0x00000008 38 39typedef struct composite_context *(*resolve_name_send_fn)(TALLOC_CTX *mem_ctx, 40 struct tevent_context *, 41 void *privdata, 42 uint32_t flags, 43 uint16_t port, 44 struct nbt_name *); 45typedef NTSTATUS (*resolve_name_recv_fn)(struct composite_context *creq, 46 TALLOC_CTX *mem_ctx, 47 struct socket_address ***addrs, 48 char ***names); 49#include "libcli/resolve/proto.h" 50struct interface; 51#include "libcli/resolve/lp_proto.h" 52 53#endif /* __LIBCLI_RESOLVE_H__ */ 54