#include "netlink.h"
#include "common.h"
#include "bitset.h"
struct features_req_info { … };
struct features_reply_data { … };
#define FEATURES_REPDATA(__reply_base) …
const struct nla_policy ethnl_features_get_policy[] = …;
static void ethnl_features_to_bitmap32(u32 *dest, netdev_features_t src)
{ … }
static int features_prepare_data(const struct ethnl_req_info *req_base,
struct ethnl_reply_data *reply_base,
const struct genl_info *info)
{ … }
static int features_reply_size(const struct ethnl_req_info *req_base,
const struct ethnl_reply_data *reply_base)
{ … }
static int features_fill_reply(struct sk_buff *skb,
const struct ethnl_req_info *req_base,
const struct ethnl_reply_data *reply_base)
{ … }
const struct ethnl_request_ops ethnl_features_request_ops = …;
const struct nla_policy ethnl_features_set_policy[] = …;
static void ethnl_features_to_bitmap(unsigned long *dest, netdev_features_t val)
{ … }
static netdev_features_t ethnl_bitmap_to_features(unsigned long *src)
{ … }
static int features_send_reply(struct net_device *dev, struct genl_info *info,
const unsigned long *wanted,
const unsigned long *wanted_mask,
const unsigned long *active,
const unsigned long *active_mask, bool compact)
{ … }
int ethnl_set_features(struct sk_buff *skb, struct genl_info *info)
{ … }