#include <linux/can/dev.h>
#include <linux/module.h>
#define MOD_DESC …
MODULE_DESCRIPTION(…);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
void can_flush_echo_skb(struct net_device *dev)
{ … }
int can_put_echo_skb(struct sk_buff *skb, struct net_device *dev,
unsigned int idx, unsigned int frame_len)
{ … }
EXPORT_SYMBOL_GPL(…);
struct sk_buff *
__can_get_echo_skb(struct net_device *dev, unsigned int idx,
unsigned int *len_ptr, unsigned int *frame_len_ptr)
{ … }
unsigned int can_get_echo_skb(struct net_device *dev, unsigned int idx,
unsigned int *frame_len_ptr)
{ … }
EXPORT_SYMBOL_GPL(…);
void can_free_echo_skb(struct net_device *dev, unsigned int idx,
unsigned int *frame_len_ptr)
{ … }
EXPORT_SYMBOL_GPL(…);
static void init_can_skb_reserve(struct sk_buff *skb)
{ … }
struct sk_buff *alloc_can_skb(struct net_device *dev, struct can_frame **cf)
{ … }
EXPORT_SYMBOL_GPL(…);
struct sk_buff *alloc_canfd_skb(struct net_device *dev,
struct canfd_frame **cfd)
{ … }
EXPORT_SYMBOL_GPL(…);
struct sk_buff *alloc_canxl_skb(struct net_device *dev,
struct canxl_frame **cxl,
unsigned int data_len)
{ … }
EXPORT_SYMBOL_GPL(…);
struct sk_buff *alloc_can_err_skb(struct net_device *dev, struct can_frame **cf)
{ … }
EXPORT_SYMBOL_GPL(…);
static bool can_skb_headroom_valid(struct net_device *dev, struct sk_buff *skb)
{ … }
bool can_dropped_invalid_skb(struct net_device *dev, struct sk_buff *skb)
{ … }
EXPORT_SYMBOL_GPL(…);