summaryrefslogtreecommitdiff
path: root/apps/include
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-04-11 12:25:32 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-04-11 12:25:32 -0600
commit57d2acba435f67d561b63e6635330f182edc5047 (patch)
tree75ae50c7989a55783fcac71695fc4296ef1257a4 /apps/include
parentfb9444d0919f03b59d58f726f05993968ecdfdd7 (diff)
downloadnuttx-57d2acba435f67d561b63e6635330f182edc5047.tar.gz
nuttx-57d2acba435f67d561b63e6635330f182edc5047.tar.bz2
nuttx-57d2acba435f67d561b63e6635330f182edc5047.zip
Long needed clean up of DNS resolver for coding style and naming conventions
Diffstat (limited to 'apps/include')
-rw-r--r--apps/include/netutils/resolv.h153
1 files changed, 126 insertions, 27 deletions
diff --git a/apps/include/netutils/resolv.h b/apps/include/netutils/resolv.h
index 8d2142732..9447432a1 100644
--- a/apps/include/netutils/resolv.h
+++ b/apps/include/netutils/resolv.h
@@ -3,7 +3,7 @@
* DNS resolver code header file.
* Author Adam Dunkels <adam@dunkels.com>
*
- * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2007-2009, 2011-2012, 2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Inspired by/based on uIP logic by Adam Dunkels:
@@ -37,8 +37,8 @@
*
****************************************************************************/
-#ifndef __APPS_INCLUDE_NETUTILS_RESOLVE_H
-#define __APPS_INCLUDE_NETUTILS_RESOLVE_H
+#ifndef __APPS_INCLUDE_NETUTILS_DNSCLIENT_H
+#define __APPS_INCLUDE_NETUTILS_DNSCLIENT_H
/****************************************************************************
* Included Files
@@ -55,45 +55,144 @@
#undef EXTERN
#if defined(__cplusplus)
#define EXTERN extern "C"
-extern "C" {
+extern "C"
+{
#else
#define EXTERN extern
#endif
-/* Functions. */
+/****************************************************************************
+ * Name: dns_bind_sock
+ *
+ * Description:
+ * Initialize the DNS resolver using the caller provided socket.
+ *
+ ****************************************************************************/
+
+int dns_bind_sock(FAR int *sockfd);
-EXTERN int resolv_init(void);
-EXTERN int resolv_create(int *sockfd);
-EXTERN int resolv_release(int *sockfd);
-EXTERN int resolv_gethostip_socket(int sockfd, const char *hostname, in_addr_t *ipaddr);
-EXTERN int resolv_gethostip(const char *hostname, in_addr_t *ipaddr);
+/****************************************************************************
+ * Name: dns_bind
+ *
+ * Description:
+ * Initialize the DNS resolver using an internal, share-able socket.
+ *
+ ****************************************************************************/
+
+int dns_bind(void);
+
+/****************************************************************************
+ * Name: dns_free_sock
+ *
+ * Description:
+ * Release the DNS resolver by closing the socket.
+ *
+ ****************************************************************************/
+
+int dns_free_sock(FAR int *sockfd);
+
+/****************************************************************************
+ * Name: dns_query_sock
+ *
+ * Description:
+ * Using the DNS resolver socket (sockfd), look up the the 'hostname', and
+ * return its IP address in 'ipaddr'
+ *
+ * Returned Value:
+ * Returns zero (OK) if the query was successful.
+ *
+ ****************************************************************************/
+
+int dns_query_sock(int sockfd, FAR const char *hostname, FAR in_addr_t *ipaddr);
+
+/****************************************************************************
+ * Name: dns_query
+ *
+ * Description:
+ * Using the internal DNS resolver socket, look up the the 'hostname', and
+ * return its IP address in 'ipaddr'
+ *
+ * Returned Value:
+ * Returns zero (OK) if the query was successful.
+ *
+ ****************************************************************************/
+
+int dns_query(FAR const char *hostname, FAR in_addr_t *ipaddr);
+
+/****************************************************************************
+ * Name: dns_setserver
+ *
+ * Description:
+ * Configure which DNS server to use for queries
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_NET_IPv6
+void dns_setserver(FAR const struct in6_addr *dnsserver);
+#else
+void dns_setserver(FAR const struct in_addr *dnsserver);
+#endif
+
+/****************************************************************************
+ * Name: dns_getserver
+ *
+ * Description:
+ * Obtain the currently configured DNS server.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_NET_IPv6
+void dns_getserver(FAR const struct in_addr *dnsserver);
+#else
+void dns_getserver(FAR struct in_addr *dnsserver);
+#endif
+
+/****************************************************************************
+ * Name: dns_whois_socket
+ *
+ * Description:
+ * Get the binding for 'name' using the DNS server accessed via 'sockfd'
+ *
+ ****************************************************************************/
#ifdef CONFIG_NET_IPv6
-EXTERN void resolv_conf(FAR const struct in6_addr *dnsserver);
-EXTERN void resolv_getserver(FAR const struct in_addr *dnsserver);
-EXTERN int resolv_query(FAR const char *name, FAR struct sockaddr_in6 *addr);
-EXTERN int resolv_query_socket(int sockfd, FAR const char *name, FAR struct sockaddr_in6 *addr);
+int dns_whois_socket(int sockfd, FAR const char *name,
+ FAR struct sockaddr_in6 *addr);
#else
-EXTERN void resolv_conf(FAR const struct in_addr *dnsserver);
-EXTERN void resolv_getserver(FAR struct in_addr *dnsserver);
-EXTERN int resolv_query(FAR const char *name, FAR struct sockaddr_in *addr);
-EXTERN int resolv_query_socket(int sockfd, FAR const char *name, FAR struct sockaddr_in *addr);
+int dns_whois_socket(int sockfd, FAR const char *name,
+ FAR struct sockaddr_in *addr);
#endif
-EXTERN int dns_gethostip(const char *hostname, in_addr_t *ipaddr);
+/****************************************************************************
+ * Name: dns_whois
+ *
+ * Description:
+ * Get the binding for 'name' using the DNS server accessed via the DNS
+ * resolvers internal socket.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_NET_IPv6
+int dns_whois(FAR const char *name, FAR struct sockaddr_in6 *addr);
+#else
+int dns_whois(FAR const char *name, FAR struct sockaddr_in *addr);
+#endif
-#define dns_init resolv_init
-#define dns_bind resolv_create
-#define dns_query resolv_gethostip_socket
-#define dns_free resolv_release
+/****************************************************************************
+ * Name: dns_gethostip
+ *
+ * Descriptions:
+ * Combines the operations of dns_bind_sock(), dns_query_sock(), and
+ * dns_free_sock() to obtain the the IP address ('ipaddr') associated with
+ * the 'hostname' in one operation.
+ *
+ ****************************************************************************/
-#define dns_setserver resolv_conf
-#define dns_getserver resolv_getserver
-#define dns_whois resolv_query
+int dns_gethostip(FAR const char *hostname, FAR in_addr_t *ipaddr);
#undef EXTERN
#if defined(__cplusplus)
}
#endif
-#endif /* __APPS_INCLUDE_NETUTILS_RESOLVE_H */
+#endif /* __APPS_INCLUDE_NETUTILS_DNSCLIENT_H */