Core networking libraries including LwIP implementation
Dependencies: DebugLib lwip_ppp_ethernet
Dependents: EthernetNetworkLib
main/api/socket.h@4:e60b65fed967, 2012-05-31 (annotated)
- Committer:
- donatien
- Date:
- Thu May 31 15:09:06 2012 +0000
- Revision:
- 4:e60b65fed967
- Parent:
- 0:013f5d54248c
Debuglib up
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 0:013f5d54248c | 1 | /* socket.h */ |
donatien | 0:013f5d54248c | 2 | /* |
donatien | 0:013f5d54248c | 3 | Copyright (C) 2012 ARM Limited. |
donatien | 0:013f5d54248c | 4 | |
donatien | 0:013f5d54248c | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of |
donatien | 0:013f5d54248c | 6 | this software and associated documentation files (the "Software"), to deal in |
donatien | 0:013f5d54248c | 7 | the Software without restriction, including without limitation the rights to |
donatien | 0:013f5d54248c | 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies |
donatien | 0:013f5d54248c | 9 | of the Software, and to permit persons to whom the Software is furnished to do |
donatien | 0:013f5d54248c | 10 | so, subject to the following conditions: |
donatien | 0:013f5d54248c | 11 | |
donatien | 0:013f5d54248c | 12 | The above copyright notice and this permission notice shall be included in all |
donatien | 0:013f5d54248c | 13 | copies or substantial portions of the Software. |
donatien | 0:013f5d54248c | 14 | |
donatien | 0:013f5d54248c | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
donatien | 0:013f5d54248c | 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
donatien | 0:013f5d54248c | 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
donatien | 0:013f5d54248c | 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
donatien | 0:013f5d54248c | 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
donatien | 0:013f5d54248c | 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
donatien | 0:013f5d54248c | 21 | SOFTWARE. |
donatien | 0:013f5d54248c | 22 | */ |
donatien | 0:013f5d54248c | 23 | |
donatien | 0:013f5d54248c | 24 | |
donatien | 0:013f5d54248c | 25 | #ifndef SOCKET_H_ |
donatien | 0:013f5d54248c | 26 | #define SOCKET_H_ |
donatien | 0:013f5d54248c | 27 | |
donatien | 0:013f5d54248c | 28 | #include "lwip/sockets.h" |
donatien | 0:013f5d54248c | 29 | #include "lwip/netdb.h" |
donatien | 0:013f5d54248c | 30 | |
donatien | 0:013f5d54248c | 31 | namespace socket |
donatien | 0:013f5d54248c | 32 | { |
donatien | 0:013f5d54248c | 33 | |
donatien | 0:013f5d54248c | 34 | extern "C" |
donatien | 0:013f5d54248c | 35 | { |
donatien | 0:013f5d54248c | 36 | |
donatien | 0:013f5d54248c | 37 | //Sockets |
donatien | 0:013f5d54248c | 38 | |
donatien | 0:013f5d54248c | 39 | inline int accept(int s, struct sockaddr *addr, socklen_t *addrlen) |
donatien | 0:013f5d54248c | 40 | { |
donatien | 0:013f5d54248c | 41 | return lwip_accept(s, addr, addrlen); |
donatien | 0:013f5d54248c | 42 | } |
donatien | 0:013f5d54248c | 43 | |
donatien | 0:013f5d54248c | 44 | inline int bind(int s, const struct sockaddr *name, socklen_t namelen) |
donatien | 0:013f5d54248c | 45 | { |
donatien | 0:013f5d54248c | 46 | return lwip_bind(s, name, namelen); |
donatien | 0:013f5d54248c | 47 | } |
donatien | 0:013f5d54248c | 48 | |
donatien | 0:013f5d54248c | 49 | inline int shutdown(int s, int how) |
donatien | 0:013f5d54248c | 50 | { |
donatien | 0:013f5d54248c | 51 | return lwip_shutdown(s, how); |
donatien | 0:013f5d54248c | 52 | } |
donatien | 0:013f5d54248c | 53 | |
donatien | 0:013f5d54248c | 54 | inline int getsockname (int s, struct sockaddr *name, socklen_t *namelen) |
donatien | 0:013f5d54248c | 55 | { |
donatien | 0:013f5d54248c | 56 | return lwip_getsockname(s, name, namelen); |
donatien | 0:013f5d54248c | 57 | } |
donatien | 0:013f5d54248c | 58 | |
donatien | 0:013f5d54248c | 59 | inline int getpeername (int s, struct sockaddr *name, socklen_t *namelen) |
donatien | 0:013f5d54248c | 60 | { |
donatien | 0:013f5d54248c | 61 | return lwip_getpeername(s, name, namelen); |
donatien | 0:013f5d54248c | 62 | } |
donatien | 0:013f5d54248c | 63 | |
donatien | 0:013f5d54248c | 64 | inline int getsockopt (int s, int level, int optname, void *optval, socklen_t *optlen) |
donatien | 0:013f5d54248c | 65 | { |
donatien | 0:013f5d54248c | 66 | return lwip_getsockopt(s, level, optname, optval, optlen); |
donatien | 0:013f5d54248c | 67 | } |
donatien | 0:013f5d54248c | 68 | |
donatien | 0:013f5d54248c | 69 | inline int setsockopt (int s, int level, int optname, const void *optval, socklen_t optlen) |
donatien | 0:013f5d54248c | 70 | { |
donatien | 0:013f5d54248c | 71 | return lwip_setsockopt(s, level, optname, optval, optlen); |
donatien | 0:013f5d54248c | 72 | } |
donatien | 0:013f5d54248c | 73 | |
donatien | 0:013f5d54248c | 74 | inline int connect(int s, const struct sockaddr *name, socklen_t namelen) |
donatien | 0:013f5d54248c | 75 | { |
donatien | 0:013f5d54248c | 76 | return lwip_connect(s, name, namelen); |
donatien | 0:013f5d54248c | 77 | } |
donatien | 0:013f5d54248c | 78 | |
donatien | 0:013f5d54248c | 79 | inline int listen(int s, int backlog) |
donatien | 0:013f5d54248c | 80 | { |
donatien | 0:013f5d54248c | 81 | return lwip_listen(s, backlog); |
donatien | 0:013f5d54248c | 82 | } |
donatien | 0:013f5d54248c | 83 | |
donatien | 0:013f5d54248c | 84 | inline int recv(int s, void *mem, size_t len, int flags) |
donatien | 0:013f5d54248c | 85 | { |
donatien | 0:013f5d54248c | 86 | return lwip_recv(s, mem, len, flags); |
donatien | 0:013f5d54248c | 87 | } |
donatien | 0:013f5d54248c | 88 | |
donatien | 0:013f5d54248c | 89 | inline int recvfrom(int s, void *mem, size_t len, int flags, |
donatien | 0:013f5d54248c | 90 | struct sockaddr *from, socklen_t *fromlen) |
donatien | 0:013f5d54248c | 91 | { |
donatien | 0:013f5d54248c | 92 | return lwip_recvfrom(s, mem, len, flags, from, fromlen); |
donatien | 0:013f5d54248c | 93 | } |
donatien | 0:013f5d54248c | 94 | |
donatien | 0:013f5d54248c | 95 | inline int send(int s, const void *dataptr, size_t size, int flags) |
donatien | 0:013f5d54248c | 96 | { |
donatien | 0:013f5d54248c | 97 | return lwip_send(s, dataptr, size, flags); |
donatien | 0:013f5d54248c | 98 | } |
donatien | 0:013f5d54248c | 99 | |
donatien | 0:013f5d54248c | 100 | inline int sendto(int s, const void *dataptr, size_t size, int flags, |
donatien | 0:013f5d54248c | 101 | const struct sockaddr *to, socklen_t tolen) |
donatien | 0:013f5d54248c | 102 | { |
donatien | 0:013f5d54248c | 103 | return lwip_sendto(s, dataptr, size, flags, to, tolen); |
donatien | 0:013f5d54248c | 104 | } |
donatien | 0:013f5d54248c | 105 | |
donatien | 0:013f5d54248c | 106 | inline int socket(int domain, int type, int protocol) |
donatien | 0:013f5d54248c | 107 | { |
donatien | 0:013f5d54248c | 108 | return lwip_socket(domain, type, protocol); |
donatien | 0:013f5d54248c | 109 | } |
donatien | 0:013f5d54248c | 110 | |
donatien | 0:013f5d54248c | 111 | inline int select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, |
donatien | 0:013f5d54248c | 112 | struct timeval *timeout) |
donatien | 0:013f5d54248c | 113 | { |
donatien | 0:013f5d54248c | 114 | return lwip_select(maxfdp1, readset, writeset, exceptset, timeout); |
donatien | 0:013f5d54248c | 115 | } |
donatien | 0:013f5d54248c | 116 | |
donatien | 0:013f5d54248c | 117 | inline int ioctlsocket(int s, long cmd, void *argp) |
donatien | 0:013f5d54248c | 118 | { |
donatien | 0:013f5d54248c | 119 | return lwip_ioctl(s, cmd, argp); |
donatien | 0:013f5d54248c | 120 | } |
donatien | 0:013f5d54248c | 121 | |
donatien | 0:013f5d54248c | 122 | inline int read(int s, void *mem, size_t len) |
donatien | 0:013f5d54248c | 123 | { |
donatien | 0:013f5d54248c | 124 | return lwip_read(s, mem, len); |
donatien | 0:013f5d54248c | 125 | } |
donatien | 0:013f5d54248c | 126 | |
donatien | 0:013f5d54248c | 127 | inline int write(int s, const void *dataptr, size_t size) |
donatien | 0:013f5d54248c | 128 | { |
donatien | 0:013f5d54248c | 129 | return lwip_write(s, dataptr, size); |
donatien | 0:013f5d54248c | 130 | } |
donatien | 0:013f5d54248c | 131 | |
donatien | 0:013f5d54248c | 132 | inline int close(int s) |
donatien | 0:013f5d54248c | 133 | { |
donatien | 0:013f5d54248c | 134 | return lwip_close(s); |
donatien | 0:013f5d54248c | 135 | } |
donatien | 0:013f5d54248c | 136 | |
donatien | 0:013f5d54248c | 137 | //DNS |
donatien | 0:013f5d54248c | 138 | |
donatien | 0:013f5d54248c | 139 | inline struct hostent *gethostbyname(const char *name) |
donatien | 0:013f5d54248c | 140 | { |
donatien | 0:013f5d54248c | 141 | return lwip_gethostbyname(name); |
donatien | 0:013f5d54248c | 142 | } |
donatien | 0:013f5d54248c | 143 | |
donatien | 0:013f5d54248c | 144 | inline int gethostbyname_r(const char *name, struct hostent *ret, char *buf, size_t buflen, struct hostent **result, int *h_errnop) |
donatien | 0:013f5d54248c | 145 | { |
donatien | 0:013f5d54248c | 146 | return lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop); |
donatien | 0:013f5d54248c | 147 | } |
donatien | 0:013f5d54248c | 148 | |
donatien | 0:013f5d54248c | 149 | inline void freeaddrinfo(struct addrinfo *ai) |
donatien | 0:013f5d54248c | 150 | { |
donatien | 0:013f5d54248c | 151 | return lwip_freeaddrinfo(ai); |
donatien | 0:013f5d54248c | 152 | } |
donatien | 0:013f5d54248c | 153 | |
donatien | 0:013f5d54248c | 154 | inline int getaddrinfo(const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res) |
donatien | 0:013f5d54248c | 155 | { |
donatien | 0:013f5d54248c | 156 | return lwip_getaddrinfo(nodename, servname, hints, res); |
donatien | 0:013f5d54248c | 157 | } |
donatien | 0:013f5d54248c | 158 | |
donatien | 0:013f5d54248c | 159 | } |
donatien | 0:013f5d54248c | 160 | }; |
donatien | 0:013f5d54248c | 161 | |
donatien | 0:013f5d54248c | 162 | #endif /* SOCKET_H_ */ |