From 730592df19f3d41f2c8db750bd6aa5675fc0319f Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Thu, 24 Sep 2015 21:07:54 +0800 Subject: [PATCH 1/3] [Kernel] mark the free mem block with HEAP_MAGIC. --- src/mem.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mem.c b/src/mem.c index 004de01d94..c45059c5cd 100644 --- a/src/mem.c +++ b/src/mem.c @@ -304,6 +304,7 @@ void *rt_malloc(rt_size_t size) /* create mem2 struct */ mem2 = (struct heap_mem *)&heap_ptr[ptr2]; + mem2->magic = HEAP_MAGIC; mem2->used = 0; mem2->next = mem->next; mem2->prev = ptr; @@ -540,7 +541,7 @@ void rt_free(void *rmem) RT_ASSERT(mem->magic == HEAP_MAGIC); /* ... and is now unused. */ mem->used = 0; - mem->magic = 0; + mem->magic = HEAP_MAGIC; if (mem < lfree) { From d1a1cbfdd7fea73d0e54898968937379dceaf5f8 Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Fri, 25 Sep 2015 06:55:55 +0800 Subject: [PATCH 2/3] [DFS] add sockaddr_storage structure in sys/socket.h --- components/dfs/filesystems/lwip/sys/socket.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/components/dfs/filesystems/lwip/sys/socket.h b/components/dfs/filesystems/lwip/sys/socket.h index 9a789ca094..5317e05e4c 100644 --- a/components/dfs/filesystems/lwip/sys/socket.h +++ b/components/dfs/filesystems/lwip/sys/socket.h @@ -31,6 +31,14 @@ extern "C" { #include +typedef uint16_t sa_family_t; + +struct sockaddr_storage +{ + sa_family_t ss_family; /* Address family */ + char ss_data[14]; /* 14-bytes of address data */ +}; + int accept(int s, struct sockaddr *addr, socklen_t *addrlen); int bind(int s, const struct sockaddr *name, socklen_t namelen); int shutdown(int s, int how); From b4e3fb2007cc19abe5cd24103008396e791a4f4a Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Fri, 25 Sep 2015 07:00:11 +0800 Subject: [PATCH 3/3] [DFS] add sys/tcp.h and sys/udp.h for compatibility --- components/dfs/filesystems/lwip/netinet/tcp.h | 30 +++++++++++++++++++ components/dfs/filesystems/lwip/netinet/udp.h | 30 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 components/dfs/filesystems/lwip/netinet/tcp.h create mode 100644 components/dfs/filesystems/lwip/netinet/udp.h diff --git a/components/dfs/filesystems/lwip/netinet/tcp.h b/components/dfs/filesystems/lwip/netinet/tcp.h new file mode 100644 index 0000000000..c157b0bb38 --- /dev/null +++ b/components/dfs/filesystems/lwip/netinet/tcp.h @@ -0,0 +1,30 @@ +/* + * File : tcp.h + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2015, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + * 2015-02-17 Bernard First version + */ + +#ifndef TCP_H__ +#define TCP_H__ + +#include + +#endif diff --git a/components/dfs/filesystems/lwip/netinet/udp.h b/components/dfs/filesystems/lwip/netinet/udp.h new file mode 100644 index 0000000000..6eef3ee774 --- /dev/null +++ b/components/dfs/filesystems/lwip/netinet/udp.h @@ -0,0 +1,30 @@ +/* + * File : udp.h + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2015, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + * 2015-02-17 Bernard First version + */ + +#ifndef UDP_H__ +#define UDP_H__ + +#include + +#endif