ESP8266
Main Page
Related Pages
Modules
Classes
esp8266
libraries
ESP8266WiFi
src
lwip
netdb.h
1
/*
2
* Redistribution and use in source and binary forms, with or without modification,
3
* are permitted provided that the following conditions are met:
4
*
5
* 1. Redistributions of source code must retain the above copyright notice,
6
* this list of conditions and the following disclaimer.
7
* 2. Redistributions in binary form must reproduce the above copyright notice,
8
* this list of conditions and the following disclaimer in the documentation
9
* and/or other materials provided with the distribution.
10
* 3. The name of the author may not be used to endorse or promote products
11
* derived from this software without specific prior written permission.
12
*
13
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
14
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
15
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
16
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
17
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
18
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
19
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
20
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
21
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
22
* OF SUCH DAMAGE.
23
*
24
* This file is part of the lwIP TCP/IP stack.
25
*
26
* Author: Simon Goldschmidt
27
*
28
*/
29
#ifndef __LWIP_NETDB_H__
30
#define __LWIP_NETDB_H__
31
32
#include "lwip/opt.h"
33
34
#if LWIP_DNS && LWIP_SOCKET
35
36
#include <stddef.h>
/* for size_t */
37
38
#include "lwip/inet.h"
39
#include "lwip/sockets.h"
40
41
#ifdef __cplusplus
42
extern
"C"
{
43
#endif
44
45
/* some rarely used options */
46
#ifndef LWIP_DNS_API_DECLARE_H_ERRNO
47
#define LWIP_DNS_API_DECLARE_H_ERRNO 1
48
#endif
49
50
#ifndef LWIP_DNS_API_DEFINE_ERRORS
51
#define LWIP_DNS_API_DEFINE_ERRORS 1
52
#endif
53
54
#ifndef LWIP_DNS_API_DECLARE_STRUCTS
55
#define LWIP_DNS_API_DECLARE_STRUCTS 1
56
#endif
57
58
#if LWIP_DNS_API_DEFINE_ERRORS
59
60
#define EAI_NONAME 200
61
#define EAI_SERVICE 201
62
#define EAI_FAIL 202
63
#define EAI_MEMORY 203
64
65
#define HOST_NOT_FOUND 210
66
#define NO_DATA 211
67
#define NO_RECOVERY 212
68
#define TRY_AGAIN 213
69
#endif
/* LWIP_DNS_API_DEFINE_ERRORS */
70
71
#if LWIP_DNS_API_DECLARE_STRUCTS
72
struct
hostent {
73
char
*h_name;
/* Official name of the host. */
74
char
**h_aliases;
/* A pointer to an array of pointers to alternative host names,
75
terminated by a null pointer. */
76
int
h_addrtype;
/* Address type. */
77
int
h_length;
/* The length, in bytes, of the address. */
78
char
**h_addr_list;
/* A pointer to an array of pointers to network addresses (in
79
network byte order) for the host, terminated by a null pointer. */
80
#define h_addr h_addr_list[0]
/* for backward compatibility */
81
};
82
83
struct
addrinfo {
84
int
ai_flags;
/* Input flags. */
85
int
ai_family;
/* Address family of socket. */
86
int
ai_socktype;
/* Socket type. */
87
int
ai_protocol;
/* Protocol of socket. */
88
socklen_t ai_addrlen;
/* Length of socket address. */
89
struct
sockaddr *ai_addr;
/* Socket address of socket. */
90
char
*ai_canonname;
/* Canonical name of service location. */
91
struct
addrinfo *ai_next;
/* Pointer to next in list. */
92
};
93
#endif
/* LWIP_DNS_API_DECLARE_STRUCTS */
94
95
#if LWIP_DNS_API_DECLARE_H_ERRNO
96
/* application accessable error code set by the DNS API functions */
97
extern
int
h_errno;
98
#endif
/* LWIP_DNS_API_DECLARE_H_ERRNO*/
99
100
struct
hostent *lwip_gethostbyname(
const
char
*name);
101
int
lwip_gethostbyname_r(
const
char
*name,
struct
hostent *ret,
char
*buf,
102
size_t
buflen,
struct
hostent **result,
int
*h_errnop);
103
void
lwip_freeaddrinfo(
struct
addrinfo *ai);
104
int
lwip_getaddrinfo(
const
char
*nodename,
105
const
char
*servname,
106
const
struct
addrinfo *hints,
107
struct
addrinfo **res);
108
109
#if LWIP_COMPAT_SOCKETS
110
#define gethostbyname(name) lwip_gethostbyname(name)
111
#define gethostbyname_r(name, ret, buf, buflen, result, h_errnop) \
112
lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop)
113
#define freeaddrinfo(addrinfo) lwip_freeaddrinfo(addrinfo)
114
#define getaddrinfo(nodname, servname, hints, res) \
115
lwip_getaddrinfo(nodname, servname, hints, res)
116
#endif
/* LWIP_COMPAT_SOCKETS */
117
118
#ifdef __cplusplus
119
}
120
#endif
121
122
#endif
/* LWIP_DNS && LWIP_SOCKET */
123
124
#endif
/* __LWIP_NETDB_H__ */
Generated by
1.8.10