net/shaper/shaper_nl_gen.h

Source file repositories/reference/linux-study-clean/net/shaper/shaper_nl_gen.h

File Facts

System
Linux kernel
Corpus path
net/shaper/shaper_nl_gen.h
Extension
.h
Size
2248 bytes
Lines
53
Domain
Networking Core
Bucket
Sockets, Protocols, Packet Path, And Network Policy
Inferred role
Networking Core: implementation source
Status
source implementation candidate

Why This File Exists

Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _LINUX_NET_SHAPER_GEN_H
#define _LINUX_NET_SHAPER_GEN_H

#include <net/netlink.h>
#include <net/genetlink.h>

#include <uapi/linux/net_shaper.h>

#define NET_SHAPER_MAX_HANDLE_ID	67108862

/* Common nested types */
extern const struct nla_policy net_shaper_handle_nl_policy[NET_SHAPER_A_HANDLE_ID + 1];
extern const struct nla_policy net_shaper_leaf_info_nl_policy[NET_SHAPER_A_WEIGHT + 1];

int net_shaper_nl_pre_doit(const struct genl_split_ops *ops,
			   struct sk_buff *skb, struct genl_info *info);
int net_shaper_nl_pre_doit_write(const struct genl_split_ops *ops,
				 struct sk_buff *skb, struct genl_info *info);
int net_shaper_nl_cap_pre_doit(const struct genl_split_ops *ops,
			       struct sk_buff *skb, struct genl_info *info);
void
net_shaper_nl_post_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
			struct genl_info *info);
void
net_shaper_nl_post_doit_write(const struct genl_split_ops *ops,
			      struct sk_buff *skb, struct genl_info *info);
void
net_shaper_nl_cap_post_doit(const struct genl_split_ops *ops,
			    struct sk_buff *skb, struct genl_info *info);
int net_shaper_nl_pre_dumpit(struct netlink_callback *cb);
int net_shaper_nl_cap_pre_dumpit(struct netlink_callback *cb);
int net_shaper_nl_post_dumpit(struct netlink_callback *cb);
int net_shaper_nl_cap_post_dumpit(struct netlink_callback *cb);

int net_shaper_nl_get_doit(struct sk_buff *skb, struct genl_info *info);
int net_shaper_nl_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb);
int net_shaper_nl_set_doit(struct sk_buff *skb, struct genl_info *info);
int net_shaper_nl_delete_doit(struct sk_buff *skb, struct genl_info *info);
int net_shaper_nl_group_doit(struct sk_buff *skb, struct genl_info *info);
int net_shaper_nl_cap_get_doit(struct sk_buff *skb, struct genl_info *info);
int net_shaper_nl_cap_get_dumpit(struct sk_buff *skb,
				 struct netlink_callback *cb);

extern struct genl_family net_shaper_nl_family;

#endif /* _LINUX_NET_SHAPER_GEN_H */

Annotation

Implementation Notes