From: David Laight <redacted>
Date: Wed, 26 Feb 2014 16:10:05 +0000
From: Alexander Aring
quoted
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
---
net/ieee802154/6lowpan.h | 116 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 116 insertions(+)
diff --git a/net/ieee802154/6lowpan.h b/net/ieee802154/6lowpan.h
index 2b835db..b6ae0bc 100644
--- a/net/ieee802154/6lowpan.h
+++ b/net/ieee802154/6lowpan.h
@@ -306,6 +306,122 @@ static inline void lowpan_push_hc_data(u8 **hc_ptr, const void *data,
*hc_ptr += len;
}
+static inline u8 lowpan_addr_mode_size(const u8 addr_mode)
+{
+ switch (addr_mode) {
+ case LOWPAN_IPHC_ADDR_00:
+ return 16;
+ case LOWPAN_IPHC_ADDR_01:
+ return 8;
+ case LOWPAN_IPHC_ADDR_02:
+ return 2;
+ default:
+ return 0;
+ }
+}
The compiler will generate much better code if you index an array instead
of using a switch statement.
And please mark the array const :-)