1 /* SPDX-License-Identifier: LGPL-2.1 */ 2 /* 3 * DNS Resolver upcall management for CIFS DFS 4 * Handles host name to IP address resolution 5 * 6 * Copyright (c) International Business Machines Corp., 2008 7 * Author(s): Steve French (sfrench@us.ibm.com) 8 * 9 */ 10 11 #ifndef _DNS_RESOLVE_H 12 #define _DNS_RESOLVE_H 13 14 #include <linux/net.h> 15 #include "cifsglob.h" 16 #include "cifsproto.h" 17 18 #ifdef __KERNEL__ 19 20 int dns_resolve_name(const char *dom, const char *name, 21 size_t namelen, struct sockaddr *ip_addr); 22 23 static inline int dns_resolve_unc(const char *dom, const char *unc, 24 struct sockaddr *ip_addr) 25 { 26 const char *name; 27 size_t namelen; 28 29 if (!unc || strlen(unc) < 3) 30 return -EINVAL; 31 32 extract_unc_hostname(unc, &name, &namelen); 33 if (!namelen) 34 return -EINVAL; 35 36 return dns_resolve_name(dom, name, namelen, ip_addr); 37 } 38 39 #endif /* KERNEL */ 40 41 #endif /* _DNS_RESOLVE_H */ 42