Linux 6.9-rc1
[linux-2.6-microblaze.git] / net / smc / smc_netlink.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Shared Memory Communications over RDMA (SMC-R) and RoCE
4  *
5  *  SMC Generic netlink operations
6  *
7  *  Copyright IBM Corp. 2020
8  *
9  *  Author(s):  Guvenc Gulce <guvenc@linux.ibm.com>
10  */
11
12 #ifndef _SMC_NETLINK_H
13 #define _SMC_NETLINK_H
14
15 #include <net/netlink.h>
16 #include <net/genetlink.h>
17
18 extern struct genl_family smc_gen_nl_family;
19
20 extern const struct nla_policy smc_gen_ueid_policy[];
21
22 struct smc_nl_dmp_ctx {
23         int pos[3];
24 };
25
26 static inline struct smc_nl_dmp_ctx *smc_nl_dmp_ctx(struct netlink_callback *c)
27 {
28         return (struct smc_nl_dmp_ctx *)c->ctx;
29 }
30
31 int smc_nl_init(void) __init;
32 void smc_nl_exit(void);
33
34 #endif