Free (GPLv2) TCP/IP stack developed by TASS Belgium

Dependents:   lpc1768-picotcp-demo ZeroMQ_PicoTCP_Publisher_demo TCPSocket_HelloWorld_PicoTCP Pico_TCP_UDP_Test ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers pico_dns_client.h Source File

pico_dns_client.h

00001 /*********************************************************************
00002    PicoTCP. Copyright (c) 2012 TASS Belgium NV. Some rights reserved.
00003    See LICENSE and COPYING for usage.
00004 
00005    .
00006 
00007    Authors: Kristof Roelants
00008  *********************************************************************/
00009 
00010 #ifndef INCLUDE_PICO_DNS_CLIENT
00011 #define INCLUDE_PICO_DNS_CLIENT
00012 
00013 #define PICO_DNS_NS_DEL 0
00014 #define PICO_DNS_NS_ADD 1
00015 #include "pico_config.h"
00016 
00017 /* Compression values */
00018 #define PICO_DNS_LABEL 0
00019 #define PICO_DNS_POINTER 3
00020 
00021 /* Label len */
00022 #define PICO_DNS_LABEL_INITIAL 1u
00023 #define PICO_DNS_LABEL_ROOT 1
00024 
00025 /* TTL values */
00026 #define PICO_DNS_MAX_TTL 604800 /* one week */
00027 
00028 /* Len of an IPv4 address string */
00029 #define PICO_DNS_IPV4_ADDR_LEN 16
00030 #define PICO_DNS_IPV6_ADDR_LEN 54
00031 
00032 /* Default nameservers + port */
00033 #define PICO_DNS_NS_DEFAULT "208.67.222.222"
00034 #define PICO_DNS_NS_PORT 53
00035 
00036 int pico_dns_client_init(void);
00037 /* flag is PICO_DNS_NS_DEL or PICO_DNS_NS_ADD */
00038 int pico_dns_client_nameserver(struct pico_ip4 *ns, uint8_t flag);
00039 int pico_dns_client_getaddr(const char *url, void (*callback)(char *ip, void *arg), void *arg);
00040 int pico_dns_client_getname(const char *ip, void (*callback)(char *url, void *arg), void *arg);
00041 #ifdef PICO_SUPPORT_IPV6
00042 int pico_dns_client_getaddr6(const char *url, void (*callback)(char *, void *), void *arg);
00043 int pico_dns_client_getname6(const char *url, void (*callback)(char *, void *), void *arg);
00044 #endif
00045 
00046 #endif /* _INCLUDE_PICO_DNS_CLIENT */