lwip/esp32: support iperf

1. Add _exit() definition in syscalls.c
2. Fix a bug in sockets.c on which iperf depends
This commit is contained in:
liuzhifu 2016-10-09 15:45:25 +08:00
parent 12caaed280
commit d71894bf99
2 changed files with 13 additions and 2 deletions

View file

@ -142,6 +142,10 @@ int _open_r(struct _reent *r, const char * path, int flags, int mode) {
return 0; return 0;
} }
void _exit(int __status) {
abort();
}
ssize_t _write_r(struct _reent *r, int fd, const void * data, size_t size) { ssize_t _write_r(struct _reent *r, int fd, const void * data, size_t size) {
const char *data_c = (const char *)data; const char *data_c = (const char *)data;
if (fd == STDOUT_FILENO) { if (fd == STDOUT_FILENO) {

View file

@ -1442,8 +1442,15 @@ lwip_sendto(int s, const void *data, size_t size, int flags,
#ifdef LWIP_ESP8266 #ifdef LWIP_ESP8266
/*fix the code for getting the UDP proto's remote information by liuh at 2014.8.27*/ /*fix the code for getting the UDP proto's remote information by liuh at 2014.8.27*/
if (NETCONNTYPE_GROUP(netconn_type(sock->conn)) == NETCONN_UDP){ if (NETCONNTYPE_GROUP(netconn_type(sock->conn)) == NETCONN_UDP){
buf.addr.u_addr.ip4.addr = sock->conn->pcb.udp->remote_ip.u_addr.ip4.addr; if(NETCONNTYPE_ISIPV6(netconn_type(sock->conn))) {
remote_port = sock->conn->pcb.udp->remote_port; memcpy(&buf.addr.u_addr.ip6.addr, sock->conn->pcb.udp->remote_ip.u_addr.ip6.addr,16);
remote_port = sock->conn->pcb.udp->remote_port;
IP_SET_TYPE(&buf.addr, IPADDR_TYPE_V6);
} else {
buf.addr.u_addr.ip4.addr = sock->conn->pcb.udp->remote_ip.u_addr.ip4.addr;
remote_port = sock->conn->pcb.udp->remote_port;
IP_SET_TYPE(&buf.addr, IPADDR_TYPE_V4);
}
} else { } else {
#endif #endif
remote_port = 0; remote_port = 0;