1e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebust/*
2e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebust * Resolve DNS hostnames into valid ip addresses
3e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebust */
4e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebust#ifndef __LINUX_FS_NFS_DNS_RESOLVE_H
5e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebust#define __LINUX_FS_NFS_DNS_RESOLVE_H
6e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebust
7e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebust#define NFS_DNS_HOSTNAME_MAXLEN	(128)
8e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebust
9c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumaker
10c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumaker#ifdef CONFIG_NFS_USE_KERNEL_DNS
11c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumakerstatic inline int nfs_dns_resolver_init(void)
12c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumaker{
13c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumaker	return 0;
14c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumaker}
15c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumaker
16c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumakerstatic inline void nfs_dns_resolver_destroy(void)
17c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumaker{}
181b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsbursky
191b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsburskystatic inline int nfs_dns_resolver_cache_init(struct net *net)
201b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsbursky{
211b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsbursky	return 0;
221b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsbursky}
231b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsbursky
241b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsburskystatic inline void nfs_dns_resolver_cache_destroy(struct net *net)
251b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsbursky{}
26c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumaker#else
27e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebustextern int nfs_dns_resolver_init(void);
28e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebustextern void nfs_dns_resolver_destroy(void);
291b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsburskyextern int nfs_dns_resolver_cache_init(struct net *net);
301b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsburskyextern void nfs_dns_resolver_cache_destroy(struct net *net);
31c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumaker#endif
32c2e8139c9f797baa46515af6d350c51823736cbbBryan Schumaker
331b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsburskyextern ssize_t nfs_dns_resolve_name(struct net *net, char *name,
341b340d0118da1d7c60c664f17d7c8fce2bb1cd9dStanislav Kinsbursky		size_t namelen,	struct sockaddr *sa, size_t salen);
35e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebust
36e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1Trond Myklebust#endif
37