summaryrefslogtreecommitdiffstats
path: root/net/ieee802154/6lowpan/6lowpan_i.h
diff options
context:
space:
mode:
authorAlexander Aring2015-01-04 17:10:54 +0100
committerMarcel Holtmann2015-01-08 07:25:59 +0100
commit8691ee592c9299847b28350692eda1d5d6990581 (patch)
tree2690aa2e00f5ac5f2d983a515a8ee065dbe265be /net/ieee802154/6lowpan/6lowpan_i.h
parentieee802154: create 6lowpan sub-directory (diff)
downloadkernel-qcow2-linux-8691ee592c9299847b28350692eda1d5d6990581.tar.gz
kernel-qcow2-linux-8691ee592c9299847b28350692eda1d5d6990581.tar.xz
kernel-qcow2-linux-8691ee592c9299847b28350692eda1d5d6990581.zip
ieee802154: 6lowpan: rename internal header
This patch renames the internal header for af802154. This naming convention is like ieee802154_i.h in mac802154 and avoids naming confusing with the global af802154 header. Furthermore this header contains more ieee802154 specific definitions. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/ieee802154/6lowpan/6lowpan_i.h')
-rw-r--r--net/ieee802154/6lowpan/6lowpan_i.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/net/ieee802154/6lowpan/6lowpan_i.h b/net/ieee802154/6lowpan/6lowpan_i.h
new file mode 100644
index 000000000000..edbe80314b7d
--- /dev/null
+++ b/net/ieee802154/6lowpan/6lowpan_i.h
@@ -0,0 +1,41 @@
+#ifndef __IEEE802154_6LOWPAN_I_H__
+#define __IEEE802154_6LOWPAN_I_H__
+
+#include <net/inet_frag.h>
+
+struct lowpan_create_arg {
+ u16 tag;
+ u16 d_size;
+ const struct ieee802154_addr *src;
+ const struct ieee802154_addr *dst;
+};
+
+/* Equivalent of ipv4 struct ip
+ */
+struct lowpan_frag_queue {
+ struct inet_frag_queue q;
+
+ u16 tag;
+ u16 d_size;
+ struct ieee802154_addr saddr;
+ struct ieee802154_addr daddr;
+};
+
+static inline u32 ieee802154_addr_hash(const struct ieee802154_addr *a)
+{
+ switch (a->mode) {
+ case IEEE802154_ADDR_LONG:
+ return (((__force u64)a->extended_addr) >> 32) ^
+ (((__force u64)a->extended_addr) & 0xffffffff);
+ case IEEE802154_ADDR_SHORT:
+ return (__force u32)(a->short_addr);
+ default:
+ return 0;
+ }
+}
+
+int lowpan_frag_rcv(struct sk_buff *skb, const u8 frag_type);
+void lowpan_net_frag_exit(void);
+int lowpan_net_frag_init(void);
+
+#endif /* __IEEE802154_6LOWPAN_I_H__ */