From 7f983bc4747560b5699ab3a42a38449c95d2fab1 Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Thu, 20 Aug 2015 15:33:08 +1000 Subject: [PATCH] Add netbuf_helpers.h temporary header --- lwip/include/netbuf_helpers.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 lwip/include/netbuf_helpers.h diff --git a/lwip/include/netbuf_helpers.h b/lwip/include/netbuf_helpers.h new file mode 100644 index 0000000..4f02ba5 --- /dev/null +++ b/lwip/include/netbuf_helpers.h @@ -0,0 +1,28 @@ +/* Some netbuf helpers that should probably be rolled into a patch to lwip soon */ +#ifndef _NETBUF_HELPERS_H +#define _NETBUF_HELPERS_H +#include "lwip/netbuf.h" + +/* Read a 16 bit wide unsigned integer, stored host order, from the netbuf */ +inline static u16_t netbuf_read_u16_h(struct netbuf *netbuf, u16_t offs) +{ + u16_t raw; + netbuf_copy_partial(netbuf, &raw, 2, offs); + return raw; +} + +/* Read a 16 bit wide unsigned integer, stored network order, from the netbuf */ +inline static u16_t netbuf_read_u16_n(struct netbuf *netbuf, u16_t offs) +{ + return ntohs(netbuf_read_u16_h(netbuf, offs)); +} + +/* Read an 8 bit unsigned integer from the netbuf */ +inline static u8_t netbuf_read_u8(struct netbuf *netbuf, u16_t offs) +{ + u8_t result; + netbuf_copy_partial(netbuf, &result, 1, offs); + return result; +} + +#endif