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