1  /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
2  /* Do not edit directly, auto-generated from: */
3  /*	Documentation/netlink/specs/netdev.yaml */
4  /* YNL-GEN kernel header */
5  
6  #ifndef _LINUX_NETDEV_GEN_H
7  #define _LINUX_NETDEV_GEN_H
8  
9  #include <net/netlink.h>
10  #include <net/genetlink.h>
11  
12  #include <uapi/linux/netdev.h>
13  #include <linux/list.h>
14  
15  /* Common nested types */
16  extern const struct nla_policy netdev_page_pool_info_nl_policy[NETDEV_A_PAGE_POOL_IFINDEX + 1];
17  extern const struct nla_policy netdev_queue_id_nl_policy[NETDEV_A_QUEUE_TYPE + 1];
18  
19  int netdev_nl_dev_get_doit(struct sk_buff *skb, struct genl_info *info);
20  int netdev_nl_dev_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb);
21  int netdev_nl_page_pool_get_doit(struct sk_buff *skb, struct genl_info *info);
22  int netdev_nl_page_pool_get_dumpit(struct sk_buff *skb,
23  				   struct netlink_callback *cb);
24  int netdev_nl_page_pool_stats_get_doit(struct sk_buff *skb,
25  				       struct genl_info *info);
26  int netdev_nl_page_pool_stats_get_dumpit(struct sk_buff *skb,
27  					 struct netlink_callback *cb);
28  int netdev_nl_queue_get_doit(struct sk_buff *skb, struct genl_info *info);
29  int netdev_nl_queue_get_dumpit(struct sk_buff *skb,
30  			       struct netlink_callback *cb);
31  int netdev_nl_napi_get_doit(struct sk_buff *skb, struct genl_info *info);
32  int netdev_nl_napi_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb);
33  int netdev_nl_qstats_get_dumpit(struct sk_buff *skb,
34  				struct netlink_callback *cb);
35  int netdev_nl_bind_rx_doit(struct sk_buff *skb, struct genl_info *info);
36  
37  enum {
38  	NETDEV_NLGRP_MGMT,
39  	NETDEV_NLGRP_PAGE_POOL,
40  };
41  
42  extern struct genl_family netdev_nl_family;
43  
44  void netdev_nl_sock_priv_init(struct list_head *priv);
45  void netdev_nl_sock_priv_destroy(struct list_head *priv);
46  
47  #endif /* _LINUX_NETDEV_GEN_H */
48