diff --git a/porting/liteos_m_iccarm/kernel/iccarm.gni b/porting/liteos_m_iccarm/kernel/iccarm.gni index 52f01c71a839422f0443a8044dc2031a12e2273e..1635ad1184c00940278bb26c9b91b048cafe3c43 100644 --- a/porting/liteos_m_iccarm/kernel/iccarm.gni +++ b/porting/liteos_m_iccarm/kernel/iccarm.gni @@ -34,4 +34,8 @@ ICCARM_ADAPT_SRC_COMMON = [ "$MUSLPORTINGDIR/src/malloc.c", "$MUSLPORTINGDIR/src/fs.c", "$MUSLPORTINGDIR/src/misc/realpath.c", + "$MUSLPORTINGDIR/src/network/htonl.c", + "$MUSLPORTINGDIR/src/network/htons.c", + "$MUSLPORTINGDIR/src/network/ntohl.c", + "$MUSLPORTINGDIR/src/network/ntohs.c", ] diff --git a/porting/liteos_m_iccarm/kernel/src/network/htonl.c b/porting/liteos_m_iccarm/kernel/src/network/htonl.c new file mode 100644 index 0000000000000000000000000000000000000000..6622d16cc5351749d1b76c5f24aa71009b018ff0 --- /dev/null +++ b/porting/liteos_m_iccarm/kernel/src/network/htonl.c @@ -0,0 +1,8 @@ +#include +#include + +uint32_t htonl(uint32_t n) +{ + union { int i; char c; } u = { 1 }; + return u.c ? bswap_32(n) : n; +} diff --git a/porting/liteos_m_iccarm/kernel/src/network/htons.c b/porting/liteos_m_iccarm/kernel/src/network/htons.c new file mode 100644 index 0000000000000000000000000000000000000000..03a3a1d59ed4d5d10272d2751920ce3f8bec080b --- /dev/null +++ b/porting/liteos_m_iccarm/kernel/src/network/htons.c @@ -0,0 +1,8 @@ +#include +#include + +uint16_t htons(uint16_t n) +{ + union { int i; char c; } u = { 1 }; + return u.c ? bswap_16(n) : n; +} diff --git a/porting/liteos_m_iccarm/kernel/src/network/ntohl.c b/porting/liteos_m_iccarm/kernel/src/network/ntohl.c new file mode 100644 index 0000000000000000000000000000000000000000..d6fce4590d43a3ee868d7cd807c89c0b6599ee3e --- /dev/null +++ b/porting/liteos_m_iccarm/kernel/src/network/ntohl.c @@ -0,0 +1,8 @@ +#include +#include + +uint32_t ntohl(uint32_t n) +{ + union { int i; char c; } u = { 1 }; + return u.c ? bswap_32(n) : n; +} diff --git a/porting/liteos_m_iccarm/kernel/src/network/ntohs.c b/porting/liteos_m_iccarm/kernel/src/network/ntohs.c new file mode 100644 index 0000000000000000000000000000000000000000..745cef425a1947f119880d499e7829146e049470 --- /dev/null +++ b/porting/liteos_m_iccarm/kernel/src/network/ntohs.c @@ -0,0 +1,8 @@ +#include +#include + +uint16_t ntohs(uint16_t n) +{ + union { int i; char c; } u = { 1 }; + return u.c ? bswap_16(n) : n; +}