blob: 6620cebd1037503370008a0022c5641ad1529fa6 [file] [log] [blame]
Olga Kornievskaia74678742021-06-08 15:59:10 -04001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2020 Anna Schumaker <Anna.Schumaker@Netapp.com>
4 */
5#ifndef __SUNRPC_SYSFS_H
6#define __SUNRPC_SYSFS_H
7
Olga Kornievskaiac5a382e2021-06-08 15:59:12 -04008struct rpc_sysfs_client {
9 struct kobject kobject;
10 struct net *net;
Olga Kornievskaia2a338a52021-06-08 15:59:17 -040011 struct rpc_clnt *clnt;
12 struct rpc_xprt_switch *xprt_switch;
Olga Kornievskaiac5a382e2021-06-08 15:59:12 -040013};
14
Olga Kornievskaiabaea9942021-06-08 15:59:16 -040015struct rpc_sysfs_xprt_switch {
16 struct kobject kobject;
17 struct net *net;
18 struct rpc_xprt_switch *xprt_switch;
19 struct rpc_xprt *xprt;
20};
21
Olga Kornievskaiad408ebe2021-06-08 15:59:18 -040022struct rpc_sysfs_xprt {
23 struct kobject kobject;
24 struct rpc_xprt *xprt;
Olga Kornievskaia5b7eb782021-06-23 23:28:50 -040025 struct rpc_xprt_switch *xprt_switch;
Olga Kornievskaiad408ebe2021-06-08 15:59:18 -040026};
27
Olga Kornievskaia74678742021-06-08 15:59:10 -040028int rpc_sysfs_init(void);
29void rpc_sysfs_exit(void);
30
Olga Kornievskaia2a338a52021-06-08 15:59:17 -040031void rpc_sysfs_client_setup(struct rpc_clnt *clnt,
32 struct rpc_xprt_switch *xprt_switch,
33 struct net *net);
Olga Kornievskaiac5a382e2021-06-08 15:59:12 -040034void rpc_sysfs_client_destroy(struct rpc_clnt *clnt);
Olga Kornievskaiabaea9942021-06-08 15:59:16 -040035void rpc_sysfs_xprt_switch_setup(struct rpc_xprt_switch *xprt_switch,
36 struct rpc_xprt *xprt, gfp_t gfp_flags);
37void rpc_sysfs_xprt_switch_destroy(struct rpc_xprt_switch *xprt);
Olga Kornievskaiad408ebe2021-06-08 15:59:18 -040038void rpc_sysfs_xprt_setup(struct rpc_xprt_switch *xprt_switch,
39 struct rpc_xprt *xprt, gfp_t gfp_flags);
40void rpc_sysfs_xprt_destroy(struct rpc_xprt *xprt);
Olga Kornievskaiac5a382e2021-06-08 15:59:12 -040041
Olga Kornievskaia74678742021-06-08 15:59:10 -040042#endif