1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef __6LOWPAN_I_H 3*4882a593Smuzhiyun #define __6LOWPAN_I_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <linux/netdevice.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #include <net/6lowpan.h> 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun /* caller need to be sure it's dev->type is ARPHRD_6LOWPAN */ lowpan_is_ll(const struct net_device * dev,enum lowpan_lltypes lltype)10*4882a593Smuzhiyunstatic inline bool lowpan_is_ll(const struct net_device *dev, 11*4882a593Smuzhiyun enum lowpan_lltypes lltype) 12*4882a593Smuzhiyun { 13*4882a593Smuzhiyun return lowpan_dev(dev)->lltype == lltype; 14*4882a593Smuzhiyun } 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun extern const struct ndisc_ops lowpan_ndisc_ops; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun int addrconf_ifid_802154_6lowpan(u8 *eui, struct net_device *dev); 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun #ifdef CONFIG_6LOWPAN_DEBUGFS 21*4882a593Smuzhiyun void lowpan_dev_debugfs_init(struct net_device *dev); 22*4882a593Smuzhiyun void lowpan_dev_debugfs_exit(struct net_device *dev); 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun void __init lowpan_debugfs_init(void); 25*4882a593Smuzhiyun void lowpan_debugfs_exit(void); 26*4882a593Smuzhiyun #else lowpan_dev_debugfs_init(struct net_device * dev)27*4882a593Smuzhiyunstatic inline void lowpan_dev_debugfs_init(struct net_device *dev) { } lowpan_dev_debugfs_exit(struct net_device * dev)28*4882a593Smuzhiyunstatic inline void lowpan_dev_debugfs_exit(struct net_device *dev) { } 29*4882a593Smuzhiyun lowpan_debugfs_init(void)30*4882a593Smuzhiyunstatic inline void __init lowpan_debugfs_init(void) { } lowpan_debugfs_exit(void)31*4882a593Smuzhiyunstatic inline void lowpan_debugfs_exit(void) { } 32*4882a593Smuzhiyun #endif /* CONFIG_6LOWPAN_DEBUGFS */ 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun #endif /* __6LOWPAN_I_H */ 35