Core networking libraries including LwIP implementation
Dependencies: DebugLib lwip_ppp_ethernet
Dependents: EthernetNetworkLib
main/api/socket.h
- Committer:
- donatien
- Date:
- 2012-05-31
- Revision:
- 4:e60b65fed967
- Parent:
- 0:013f5d54248c
File content as of revision 4:e60b65fed967:
/* socket.h */ /* Copyright (C) 2012 ARM Limited. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef SOCKET_H_ #define SOCKET_H_ #include "lwip/sockets.h" #include "lwip/netdb.h" namespace socket { extern "C" { //Sockets inline int accept(int s, struct sockaddr *addr, socklen_t *addrlen) { return lwip_accept(s, addr, addrlen); } inline int bind(int s, const struct sockaddr *name, socklen_t namelen) { return lwip_bind(s, name, namelen); } inline int shutdown(int s, int how) { return lwip_shutdown(s, how); } inline int getsockname (int s, struct sockaddr *name, socklen_t *namelen) { return lwip_getsockname(s, name, namelen); } inline int getpeername (int s, struct sockaddr *name, socklen_t *namelen) { return lwip_getpeername(s, name, namelen); } inline int getsockopt (int s, int level, int optname, void *optval, socklen_t *optlen) { return lwip_getsockopt(s, level, optname, optval, optlen); } inline int setsockopt (int s, int level, int optname, const void *optval, socklen_t optlen) { return lwip_setsockopt(s, level, optname, optval, optlen); } inline int connect(int s, const struct sockaddr *name, socklen_t namelen) { return lwip_connect(s, name, namelen); } inline int listen(int s, int backlog) { return lwip_listen(s, backlog); } inline int recv(int s, void *mem, size_t len, int flags) { return lwip_recv(s, mem, len, flags); } inline int recvfrom(int s, void *mem, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen) { return lwip_recvfrom(s, mem, len, flags, from, fromlen); } inline int send(int s, const void *dataptr, size_t size, int flags) { return lwip_send(s, dataptr, size, flags); } inline int sendto(int s, const void *dataptr, size_t size, int flags, const struct sockaddr *to, socklen_t tolen) { return lwip_sendto(s, dataptr, size, flags, to, tolen); } inline int socket(int domain, int type, int protocol) { return lwip_socket(domain, type, protocol); } inline int select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, struct timeval *timeout) { return lwip_select(maxfdp1, readset, writeset, exceptset, timeout); } inline int ioctlsocket(int s, long cmd, void *argp) { return lwip_ioctl(s, cmd, argp); } inline int read(int s, void *mem, size_t len) { return lwip_read(s, mem, len); } inline int write(int s, const void *dataptr, size_t size) { return lwip_write(s, dataptr, size); } inline int close(int s) { return lwip_close(s); } //DNS inline struct hostent *gethostbyname(const char *name) { return lwip_gethostbyname(name); } inline int gethostbyname_r(const char *name, struct hostent *ret, char *buf, size_t buflen, struct hostent **result, int *h_errnop) { return lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop); } inline void freeaddrinfo(struct addrinfo *ai) { return lwip_freeaddrinfo(ai); } inline int getaddrinfo(const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res) { return lwip_getaddrinfo(nodename, servname, hints, res); } } }; #endif /* SOCKET_H_ */