diff options
Diffstat (limited to 'libdde_linux26/include')
| -rw-r--r-- | libdde_linux26/include/dde26_net.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libdde_linux26/include/dde26_net.h b/libdde_linux26/include/dde26_net.h index 2c3847b8..4545e7cc 100644 --- a/libdde_linux26/include/dde26_net.h +++ b/libdde_linux26/include/dde26_net.h @@ -2,9 +2,10 @@ #define __DDE_26_NET_H #include <linux/skbuff.h> +#include <linux/netdevice.h> /** rx callback function */ -typedef int (*linux_rx_callback)(struct sk_buff *); +typedef int (*linux_rx_callback)(char *, int, struct net_device *); extern linux_rx_callback l4dde26_rx_callback; @@ -25,8 +26,10 @@ linux_rx_callback l4dde26_register_rx_callback(linux_rx_callback cb); */ static inline int l4dde26_do_rx_callback(struct sk_buff *s) { - if (l4dde26_rx_callback != NULL) - return l4dde26_rx_callback(s); + if (l4dde26_rx_callback != NULL) { + skb_push(s, s->dev->hard_header_len); + return l4dde26_rx_callback(s->data, s->len, s->dev); + } return 0; } |
