net/psp/psp-nl-gen.h

Source file repositories/reference/linux-study-clean/net/psp/psp-nl-gen.h

File Facts

System
Linux kernel
Corpus path
net/psp/psp-nl-gen.h
Extension
.h
Size
1917 bytes
Lines
50
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_PSP_GEN_H
#define _LINUX_PSP_GEN_H

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

#include <uapi/linux/psp.h>

/* Common nested types */
extern const struct nla_policy psp_keys_nl_policy[PSP_A_KEYS_SPI + 1];

int psp_device_get_locked(const struct genl_split_ops *ops,
			  struct sk_buff *skb, struct genl_info *info);
int psp_device_get_locked_admin(const struct genl_split_ops *ops,
				struct sk_buff *skb, struct genl_info *info);
int psp_assoc_device_get_locked(const struct genl_split_ops *ops,
				struct sk_buff *skb, struct genl_info *info);
int psp_device_get_locked_dev_assoc(const struct genl_split_ops *ops,
				    struct sk_buff *skb,
				    struct genl_info *info);
void
psp_device_unlock(const struct genl_split_ops *ops, struct sk_buff *skb,
		  struct genl_info *info);

int psp_nl_dev_get_doit(struct sk_buff *skb, struct genl_info *info);
int psp_nl_dev_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb);
int psp_nl_dev_set_doit(struct sk_buff *skb, struct genl_info *info);
int psp_nl_key_rotate_doit(struct sk_buff *skb, struct genl_info *info);
int psp_nl_rx_assoc_doit(struct sk_buff *skb, struct genl_info *info);
int psp_nl_tx_assoc_doit(struct sk_buff *skb, struct genl_info *info);
int psp_nl_get_stats_doit(struct sk_buff *skb, struct genl_info *info);
int psp_nl_get_stats_dumpit(struct sk_buff *skb, struct netlink_callback *cb);
int psp_nl_dev_assoc_doit(struct sk_buff *skb, struct genl_info *info);
int psp_nl_dev_disassoc_doit(struct sk_buff *skb, struct genl_info *info);

enum {
	PSP_NLGRP_MGMT,
	PSP_NLGRP_USE,
};

extern struct genl_family psp_nl_family;

#endif /* _LINUX_PSP_GEN_H */

Annotation

Implementation Notes