source: azure_iot_hub/trunk/musl-1.1.18/include/netdb.h@ 389

Last change on this file since 389 was 389, checked in by coas-nagasima, 5 years ago

ビルドが通るよう更新

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-chdr;charset=UTF-8
File size: 3.8 KB
Line 
1#ifndef _NETDB_H
2#define _NETDB_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#include <features.h>
9#include <netinet/in.h>
10
11#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
12#define __NEED_size_t
13#include <bits/alltypes.h>
14#endif
15
16struct addrinfo {
17 int ai_flags;
18 int ai_family;
19 int ai_socktype;
20 int ai_protocol;
21 socklen_t ai_addrlen;
22 struct sockaddr *ai_addr;
23 char *ai_canonname;
24 struct addrinfo *ai_next;
25};
26
27#define AI_PASSIVE 0x01
28#define AI_CANONNAME 0x02
29#define AI_NUMERICHOST 0x04
30#define AI_V4MAPPED 0x08
31#define AI_ALL 0x10
32#define AI_ADDRCONFIG 0x20
33#define AI_NUMERICSERV 0x400
34
35
36#define NI_NUMERICHOST 0x01
37#define NI_NUMERICSERV 0x02
38#define NI_NOFQDN 0x04
39#define NI_NAMEREQD 0x08
40#define NI_DGRAM 0x10
41#define NI_NUMERICSCOPE 0x100
42
43#define EAI_BADFLAGS -1
44#define EAI_NONAME -2
45#define EAI_AGAIN -3
46#define EAI_FAIL -4
47#define EAI_FAMILY -6
48#define EAI_SOCKTYPE -7
49#define EAI_SERVICE -8
50#define EAI_MEMORY -10
51#define EAI_SYSTEM -11
52#define EAI_OVERFLOW -12
53
54int getaddrinfo (const char *__restrict, const char *__restrict, const struct addrinfo *__restrict, struct addrinfo **__restrict);
55void freeaddrinfo (struct addrinfo *);
56int getnameinfo (const struct sockaddr *__restrict, socklen_t, char *__restrict, socklen_t, char *__restrict, socklen_t, int);
57const char *gai_strerror(int);
58
59
60/* Legacy functions follow (marked OBsolete in SUS) */
61
62struct netent {
63 char *n_name;
64 char **n_aliases;
65 int n_addrtype;
66 uint32_t n_net;
67};
68
69struct hostent {
70 char *h_name;
71 char **h_aliases;
72 int h_addrtype;
73 int h_length;
74 char **h_addr_list;
75};
76#define h_addr h_addr_list[0]
77
78struct servent {
79 char *s_name;
80 char **s_aliases;
81 int s_port;
82 char *s_proto;
83};
84
85struct protoent {
86 char *p_name;
87 char **p_aliases;
88 int p_proto;
89};
90
91void sethostent (int);
92void endhostent (void);
93struct hostent *gethostent (void);
94
95void setnetent (int);
96void endnetent (void);
97struct netent *getnetent (void);
98struct netent *getnetbyaddr (uint32_t, int);
99struct netent *getnetbyname (const char *);
100
101void setservent (int);
102void endservent (void);
103struct servent *getservent (void);
104struct servent *getservbyname (const char *, const char *);
105struct servent *getservbyport (int, const char *);
106
107void setprotoent (int);
108void endprotoent (void);
109struct protoent *getprotoent (void);
110struct protoent *getprotobyname (const char *);
111struct protoent *getprotobynumber (int);
112
113#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_POSIX_SOURCE) \
114 || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE+0 < 200809L) \
115 || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700)
116struct hostent *gethostbyname (const char *);
117struct hostent *gethostbyaddr (const void *, socklen_t, int);
118int *__h_errno_location(void);
119#define h_errno (*__h_errno_location())
120#define HOST_NOT_FOUND 1
121#define TRY_AGAIN 2
122#define NO_RECOVERY 3
123#define NO_DATA 4
124#define NO_ADDRESS NO_DATA
125#endif
126
127#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
128void herror(const char *);
129const char *hstrerror(int);
130int gethostbyname_r(const char *, struct hostent *, char *, size_t, struct hostent **, int *);
131int gethostbyname2_r(const char *, int, struct hostent *, char *, size_t, struct hostent **, int *);
132struct hostent *gethostbyname2(const char *, int);
133int gethostbyaddr_r(const void *, socklen_t, int, struct hostent *, char *, size_t, struct hostent **, int *);
134int getservbyport_r(int, const char *, struct servent *, char *, size_t, struct servent **);
135int getservbyname_r(const char *, const char *, struct servent *, char *, size_t, struct servent **);
136#define EAI_NODATA -5
137#define EAI_ADDRFAMILY -9
138#define EAI_INPROGRESS -100
139#define EAI_CANCELED -101
140#define EAI_NOTCANCELED -102
141#define EAI_ALLDONE -103
142#define EAI_INTR -104
143#define EAI_IDN_ENCODE -105
144#define NI_MAXHOST 255
145#define NI_MAXSERV 32
146#endif
147
148
149#ifdef __cplusplus
150}
151#endif
152
153#endif
Note: See TracBrowser for help on using the repository browser.