#include <linux/bitops.h>
#include <linux/if_arp.h>
#include <linux/netdevice.h>
#include <net/6lowpan.h>
#include <net/ipv6.h>
#include "6lowpan_i.h"
#include "nhc.h"
#define LOWPAN_IPHC_TF_MASK …
#define LOWPAN_IPHC_TF_00 …
#define LOWPAN_IPHC_TF_01 …
#define LOWPAN_IPHC_TF_10 …
#define LOWPAN_IPHC_TF_11 …
#define LOWPAN_IPHC_NH …
#define LOWPAN_IPHC_HLIM_MASK …
#define LOWPAN_IPHC_HLIM_00 …
#define LOWPAN_IPHC_HLIM_01 …
#define LOWPAN_IPHC_HLIM_10 …
#define LOWPAN_IPHC_HLIM_11 …
#define LOWPAN_IPHC_CID …
#define LOWPAN_IPHC_SAC …
#define LOWPAN_IPHC_SAM_MASK …
#define LOWPAN_IPHC_SAM_00 …
#define LOWPAN_IPHC_SAM_01 …
#define LOWPAN_IPHC_SAM_10 …
#define LOWPAN_IPHC_SAM_11 …
#define LOWPAN_IPHC_M …
#define LOWPAN_IPHC_DAC …
#define LOWPAN_IPHC_DAM_MASK …
#define LOWPAN_IPHC_DAM_00 …
#define LOWPAN_IPHC_DAM_01 …
#define LOWPAN_IPHC_DAM_10 …
#define LOWPAN_IPHC_DAM_11 …
#define is_addr_mac_addr_based(a, m) …
#define lowpan_is_iid_16_bit_compressable(a) …
#define lowpan_is_mcast_addr_compressable48(a) …
#define lowpan_is_mcast_addr_compressable32(a) …
#define lowpan_is_mcast_addr_compressable8(a) …
#define lowpan_is_linklocal_zero_padded(a) …
#define LOWPAN_IPHC_CID_DCI(cid) …
#define LOWPAN_IPHC_CID_SCI(cid) …
static inline void
lowpan_iphc_uncompress_802154_lladdr(struct in6_addr *ipaddr,
const void *lladdr)
{ … }
static struct lowpan_iphc_ctx *
lowpan_iphc_ctx_get_by_id(const struct net_device *dev, u8 id)
{ … }
static struct lowpan_iphc_ctx *
lowpan_iphc_ctx_get_by_addr(const struct net_device *dev,
const struct in6_addr *addr)
{ … }
static struct lowpan_iphc_ctx *
lowpan_iphc_ctx_get_by_mcast_addr(const struct net_device *dev,
const struct in6_addr *addr)
{ … }
static void lowpan_iphc_uncompress_lladdr(const struct net_device *dev,
struct in6_addr *ipaddr,
const void *lladdr)
{ … }
static int lowpan_iphc_uncompress_addr(struct sk_buff *skb,
const struct net_device *dev,
struct in6_addr *ipaddr,
u8 address_mode, const void *lladdr)
{ … }
static int lowpan_iphc_uncompress_ctx_addr(struct sk_buff *skb,
const struct net_device *dev,
const struct lowpan_iphc_ctx *ctx,
struct in6_addr *ipaddr,
u8 address_mode, const void *lladdr)
{ … }
static int lowpan_uncompress_multicast_daddr(struct sk_buff *skb,
struct in6_addr *ipaddr,
u8 address_mode)
{ … }
static int lowpan_uncompress_multicast_ctx_daddr(struct sk_buff *skb,
struct lowpan_iphc_ctx *ctx,
struct in6_addr *ipaddr,
u8 address_mode)
{ … }
static inline void lowpan_iphc_tf_set_ecn(struct ipv6hdr *hdr, const u8 *tf)
{ … }
static inline void lowpan_iphc_tf_set_dscp(struct ipv6hdr *hdr, const u8 *tf)
{ … }
static inline void lowpan_iphc_tf_set_lbl(struct ipv6hdr *hdr, const u8 *lbl)
{ … }
static int lowpan_iphc_tf_decompress(struct sk_buff *skb, struct ipv6hdr *hdr,
u8 val)
{ … }
static const u8 lowpan_ttl_values[] = …;
int lowpan_header_decompress(struct sk_buff *skb, const struct net_device *dev,
const void *daddr, const void *saddr)
{ … }
EXPORT_SYMBOL_GPL(…);
static const u8 lowpan_iphc_dam_to_sam_value[] = …;
static inline bool
lowpan_iphc_compress_ctx_802154_lladdr(const struct in6_addr *ipaddr,
const struct lowpan_iphc_ctx *ctx,
const void *lladdr)
{ … }
static bool lowpan_iphc_addr_equal(const struct net_device *dev,
const struct lowpan_iphc_ctx *ctx,
const struct in6_addr *ipaddr,
const void *lladdr)
{ … }
static u8 lowpan_compress_ctx_addr(u8 **hc_ptr, const struct net_device *dev,
const struct in6_addr *ipaddr,
const struct lowpan_iphc_ctx *ctx,
const unsigned char *lladdr, bool sam)
{ … }
static inline bool
lowpan_iphc_compress_802154_lladdr(const struct in6_addr *ipaddr,
const void *lladdr)
{ … }
static u8 lowpan_compress_addr_64(u8 **hc_ptr, const struct net_device *dev,
const struct in6_addr *ipaddr,
const unsigned char *lladdr, bool sam)
{ … }
static inline u8 lowpan_iphc_get_tc(const struct ipv6hdr *hdr)
{ … }
static inline bool lowpan_iphc_is_flow_lbl_zero(const struct ipv6hdr *hdr)
{ … }
static u8 lowpan_iphc_tf_compress(u8 **hc_ptr, const struct ipv6hdr *hdr)
{ … }
static u8 lowpan_iphc_mcast_ctx_addr_compress(u8 **hc_ptr,
const struct lowpan_iphc_ctx *ctx,
const struct in6_addr *ipaddr)
{ … }
static u8 lowpan_iphc_mcast_addr_compress(u8 **hc_ptr,
const struct in6_addr *ipaddr)
{ … }
int lowpan_header_compress(struct sk_buff *skb, const struct net_device *dev,
const void *daddr, const void *saddr)
{ … }
EXPORT_SYMBOL_GPL(…);