1 /*
2  * Copyright (C) 2015-2017 Alibaba Group Holding Limited
3  */
4 
5 #include <sys/socket.h>
6 #include <netdb.h>
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
net_accept(int s,struct sockaddr * addr,socklen_t * addrlen)12 int net_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
13 {
14 #ifdef WITH_LWIP
15 	return lwip_accept(s, addr, addrlen);
16 #else
17     return -1;
18 #endif
19 }
20 
net_bind(int s,const struct sockaddr * name,socklen_t namelen)21 int net_bind(int s, const struct sockaddr *name, socklen_t namelen)
22 {
23 #ifdef WITH_LWIP
24 	return lwip_bind(s, name, namelen);
25 #else
26     return -1;
27 #endif
28 }
29 
net_shutdown(int s,int how)30 int net_shutdown(int s, int how)
31 {
32 #ifdef WITH_LWIP
33 	return lwip_shutdown(s, how);
34 #else
35     return -1;
36 #endif
37 }
38 
net_getpeername(int s,struct sockaddr * name,socklen_t * namelen)39 int net_getpeername (int s, struct sockaddr *name, socklen_t *namelen)
40 {
41 #ifdef WITH_LWIP
42 	return lwip_getpeername(s, name, namelen);
43 #else
44     return -1;
45 #endif
46 }
47 
net_getsockname(int s,struct sockaddr * name,socklen_t * namelen)48 int net_getsockname (int s, struct sockaddr *name, socklen_t *namelen)
49 {
50 #ifdef WITH_LWIP
51 	return lwip_getsockname(s, name, namelen);
52 #else
53     return -1;
54 #endif
55 }
56 
net_getsockopt(int s,int level,int optname,void * optval,socklen_t * optlen)57 int net_getsockopt (int s, int level, int optname, void *optval, socklen_t *optlen)
58 {
59 #ifdef WITH_LWIP
60 	return lwip_getsockopt(s, level, optname, optval, optlen);
61 #else
62     return -1;
63 #endif
64 }
65 
net_setsockopt(int s,int level,int optname,const void * optval,socklen_t optlen)66 int net_setsockopt (int s, int level, int optname, const void *optval, socklen_t optlen)
67 {
68 #ifdef WITH_LWIP
69 	return lwip_setsockopt(s, level, optname, optval, optlen);
70 #else
71     return -1;
72 #endif
73 }
74 
net_close(int s)75 int net_close(int s)
76 {
77 #ifdef WITH_LWIP
78 	return lwip_close(s);
79 #else
80     return -1;
81 #endif
82 }
83 
net_connect(int s,const struct sockaddr * name,socklen_t namelen)84 int net_connect(int s, const struct sockaddr *name, socklen_t namelen)
85 {
86 #ifdef WITH_LWIP
87 	return lwip_connect(s, name, namelen);
88 #else
89     return -1;
90 #endif
91 }
92 
net_listen(int s,int backlog)93 int net_listen(int s, int backlog)
94 {
95 #ifdef WITH_LWIP
96 	return lwip_listen(s, backlog);
97 #else
98     return -1;
99 #endif
100 }
101 
net_recv(int s,void * mem,size_t len,int flags)102 int net_recv(int s, void *mem, size_t len, int flags)
103 {
104 #ifdef WITH_LWIP
105 	return lwip_recv(s, mem, len, flags);
106 #else
107     return -1;
108 #endif
109 }
110 
net_read(int s,void * mem,size_t len)111 int net_read(int s, void *mem, size_t len)
112 {
113 #ifdef WITH_LWIP
114 	return lwip_read(s, mem, len);
115 #else
116     return -1;
117 #endif
118 }
119 
net_recvfrom(int s,void * mem,size_t len,int flags,struct sockaddr * from,socklen_t * fromlen)120 int net_recvfrom(int s, void *mem, size_t len, int flags,struct sockaddr *from, socklen_t *fromlen)
121 {
122 #ifdef WITH_LWIP
123 	return lwip_recvfrom(s, mem, len, flags, from, fromlen);
124 #else
125     return -1;
126 #endif
127 }
128 
net_send(int s,const void * dataptr,size_t size,int flags)129 int net_send(int s, const void *dataptr, size_t size, int flags)
130 {
131 #ifdef WITH_LWIP
132 	return lwip_send(s, dataptr, size, flags);
133 #else
134     return -1;
135 #endif
136 }
137 
net_sendmsg(int s,const struct msghdr * message,int flags)138 int net_sendmsg(int s, const struct msghdr *message, int flags)
139 {
140 #ifdef WITH_LWIP
141 	return lwip_sendmsg(s, message, flags);
142 #else
143     return -1;
144 #endif
145 }
146 
net_sendto(int s,const void * dataptr,size_t size,int flags,const struct sockaddr * to,socklen_t tolen)147 int net_sendto(int s, const void *dataptr, size_t size, int flags,	const struct sockaddr *to, socklen_t tolen)
148 {
149 #ifdef WITH_LWIP
150 	return lwip_sendto(s, dataptr, size, flags, to, tolen);
151 #else
152     return -1;
153 #endif
154 }
155 
net_socket(int domain,int type,int protocol)156 int net_socket(int domain, int type, int protocol)
157 {
158 #ifdef WITH_LWIP
159 	return lwip_socket(domain, type, protocol);
160 #else
161     return -1;
162 #endif
163 }
164 
net_write(int s,const void * data,size_t size)165 int net_write(int s, const void *data, size_t size)
166 {
167 #ifdef WITH_LWIP
168 	return lwip_write(s, data, size);
169 #else
170     return -1;
171 #endif
172 }
173 
net_writev(int s,const struct iovec * iov,int iovcnt)174 int net_writev(int s, const struct iovec *iov, int iovcnt)
175 {
176 #ifdef WITH_LWIP
177 	return lwip_writev(s, iov, iovcnt);
178 #else
179     return -1;
180 #endif
181 }
182 
net_select(int maxfdp1,fd_set * readset,fd_set * writeset,fd_set * exceptset,struct timeval * timeout)183 int net_select(int maxfdp1, fd_set *readset, fd_set *writeset,
184                fd_set *exceptset, struct timeval *timeout)
185 {
186 #ifdef WITH_LWIP
187 	return lwip_select(maxfdp1, readset, writeset,
188                exceptset, timeout);
189 #else
190     return -1;
191 #endif
192 }
193 
net_ioctl(int s,long cmd,void * argp)194 int net_ioctl(int s, long cmd, void *argp) {
195 #ifdef WITH_LWIP
196 	return lwip_ioctl(s, cmd, argp);
197 #else
198     return -1;
199 #endif
200 }
201 
net_fcntl(int s,int cmd,int val)202 int net_fcntl(int s, int cmd, int val) {
203 
204 #ifdef WITH_LWIP
205 	return lwip_fcntl(s, cmd, val);
206 #else
207     return -1;
208 #endif
209 }
210 
net_eventfd(unsigned int initval,int flags)211 int net_eventfd(unsigned int initval, int flags)
212 {
213 #ifdef WITH_LWIP
214     return lwip_eventfd(initval, flags);
215 #else
216     return -1;
217 #endif
218 }
219 
net_gethostbyname(const char * name)220 struct hostent *net_gethostbyname(const char *name)
221 {
222 #ifdef WITH_LWIP
223     return lwip_gethostbyname(name);
224 #else
225     return NULL;
226 #endif
227 }
228 
net_gethostbyname_r(const char * name,struct hostent * ret,char * buf,size_t buflen,struct hostent ** result,int * h_errnop)229 int net_gethostbyname_r(const char *name, struct hostent *ret, char *buf,
230                 size_t buflen, struct hostent **result, int *h_errnop)
231 {
232 #ifdef WITH_LWIP
233     return lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop);
234 #else
235     return -1;
236 #endif
237 }
238 
net_freeaddrinfo(struct addrinfo * ai)239 void net_freeaddrinfo(struct addrinfo *ai)
240 {
241 #ifdef WITH_LWIP
242     lwip_freeaddrinfo(ai);
243 #endif
244 }
245 
net_getaddrinfo(const char * nodename,const char * servname,const struct addrinfo * hints,struct addrinfo ** res)246 int net_getaddrinfo(const char *nodename,
247        const char *servname,
248        const struct addrinfo *hints,
249        struct addrinfo **res)
250 {
251 #ifdef WITH_LWIP
252     return lwip_getaddrinfo(nodename, servname, hints, res);
253 #else
254     return -1;
255 #endif
256 }
257 
258 #ifdef __cplusplus
259 }
260 #endif
261 
262