Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
emscripten-core
GitHub Repository: emscripten-core/emscripten
Path: blob/main/system/lib/libc/musl/include/netdb.h
6172 views
1
#ifndef _NETDB_H
2
#define _NETDB_H
3
4
#ifdef __cplusplus
5
extern "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
16
struct 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_NODATA -5
48
#define EAI_FAMILY -6
49
#define EAI_SOCKTYPE -7
50
#define EAI_SERVICE -8
51
#define EAI_MEMORY -10
52
#define EAI_SYSTEM -11
53
#define EAI_OVERFLOW -12
54
55
int getaddrinfo (const char *__restrict, const char *__restrict, const struct addrinfo *__restrict, struct addrinfo **__restrict);
56
void freeaddrinfo (struct addrinfo *);
57
int getnameinfo (const struct sockaddr *__restrict, socklen_t, char *__restrict, socklen_t, char *__restrict, socklen_t, int);
58
const char *gai_strerror(int);
59
60
61
/* Legacy functions follow (marked OBsolete in SUS) */
62
63
struct netent {
64
char *n_name;
65
char **n_aliases;
66
int n_addrtype;
67
uint32_t n_net;
68
};
69
70
struct hostent {
71
char *h_name;
72
char **h_aliases;
73
int h_addrtype;
74
int h_length;
75
char **h_addr_list;
76
};
77
#define h_addr h_addr_list[0]
78
79
struct servent {
80
char *s_name;
81
char **s_aliases;
82
int s_port;
83
char *s_proto;
84
};
85
86
struct protoent {
87
char *p_name;
88
char **p_aliases;
89
int p_proto;
90
};
91
92
void sethostent (int);
93
void endhostent (void);
94
struct hostent *gethostent (void);
95
96
void setnetent (int);
97
void endnetent (void);
98
struct netent *getnetent (void);
99
struct netent *getnetbyaddr (uint32_t, int);
100
struct netent *getnetbyname (const char *);
101
102
void setservent (int);
103
void endservent (void);
104
struct servent *getservent (void);
105
struct servent *getservbyname (const char *, const char *);
106
struct servent *getservbyport (int, const char *);
107
108
void setprotoent (int);
109
void endprotoent (void);
110
struct protoent *getprotoent (void);
111
struct protoent *getprotobyname (const char *);
112
struct protoent *getprotobynumber (int);
113
114
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_POSIX_SOURCE) \
115
|| (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE+0 < 200809L) \
116
|| (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700)
117
struct hostent *gethostbyname (const char *);
118
struct hostent *gethostbyaddr (const void *, socklen_t, int);
119
#ifdef __GNUC__
120
__attribute__((const))
121
#endif
122
int *__h_errno_location(void);
123
#define h_errno (*__h_errno_location())
124
#define HOST_NOT_FOUND 1
125
#define TRY_AGAIN 2
126
#define NO_RECOVERY 3
127
#define NO_DATA 4
128
#define NO_ADDRESS NO_DATA
129
#endif
130
131
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
132
void herror(const char *);
133
const char *hstrerror(int);
134
int gethostbyname_r(const char *, struct hostent *, char *, size_t, struct hostent **, int *);
135
int gethostbyname2_r(const char *, int, struct hostent *, char *, size_t, struct hostent **, int *);
136
struct hostent *gethostbyname2(const char *, int);
137
int gethostbyaddr_r(const void *, socklen_t, int, struct hostent *, char *, size_t, struct hostent **, int *);
138
int getservbyport_r(int, const char *, struct servent *, char *, size_t, struct servent **);
139
int getservbyname_r(const char *, const char *, struct servent *, char *, size_t, struct servent **);
140
#define EAI_NODATA -5
141
#define EAI_ADDRFAMILY -9
142
#define EAI_INPROGRESS -100
143
#define EAI_CANCELED -101
144
#define EAI_NOTCANCELED -102
145
#define EAI_ALLDONE -103
146
#define EAI_INTR -104
147
#define EAI_IDN_ENCODE -105
148
#define NI_MAXHOST 255
149
#define NI_MAXSERV 32
150
#endif
151
152
153
#ifdef __cplusplus
154
}
155
#endif
156
157
#endif
158
159