summaryrefslogtreecommitdiffstats
path: root/include/linux/can/skb.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2013-01-28 00:19:34 -0500
committerDavid S. Miller <davem@davemloft.net>2013-01-28 00:19:34 -0500
commit61550022b9586972082904b80de26a464c558437 (patch)
tree590c21eed5f723162d3821a398b6d3831f75a488 /include/linux/can/skb.h
parent0e36cbb344575e481167e090f0926701f83207d6 (diff)
parente6afa00a1409bc3bceed9ccb33111519463dfe7b (diff)
Merge branch 'for-davem' of git://gitorious.org/linux-can/linux-can-next
Marc Kleine-Budde says: ==================== this is a pull-request for net-next/master. There is are 9 patches by Fabio Baltieri and Kurt Van Dijck which add LED infrastructure and support for CAN devices. Bernd Krumboeck adds a driver for the USB CAN adapter from 8 devices. Oliver Hartkopp improves the CAN gateway functionality. There are 4 patches by me, which clean up the CAN's Kconfig. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/can/skb.h')
-rw-r--r--include/linux/can/skb.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/linux/can/skb.h b/include/linux/can/skb.h
new file mode 100644
index 00000000000..4b0f24d3a87
--- /dev/null
+++ b/include/linux/can/skb.h
@@ -0,0 +1,35 @@
+/*
+ * linux/can/skb.h
+ *
+ * Definitions for the CAN network socket buffer
+ *
+ * Copyright (C) 2012 Oliver Hartkopp <socketcan@hartkopp.net>
+ *
+ */
+
+#ifndef CAN_SKB_H
+#define CAN_SKB_H
+
+#include <linux/types.h>
+#include <linux/can.h>
+
+/*
+ * The struct can_skb_priv is used to transport additional information along
+ * with the stored struct can(fd)_frame that can not be contained in existing
+ * struct sk_buff elements.
+ * N.B. that this information must not be modified in cloned CAN sk_buffs.
+ * To modify the CAN frame content or the struct can_skb_priv content
+ * skb_copy() needs to be used instead of skb_clone().
+ */
+
+/**
+ * struct can_skb_priv - private additional data inside CAN sk_buffs
+ * @ifindex: ifindex of the first interface the CAN frame appeared on
+ * @cf: align to the following CAN frame at skb->data
+ */
+struct can_skb_priv {
+ int ifindex;
+ struct can_frame cf[0];
+};
+
+#endif /* CAN_SKB_H */