Merge tag 'drm-msm-fixes-2021-05-09' of https://gitlab.freedesktop.org/drm/msm into...
[linux-2.6-microblaze.git] / fs / cifs / cifs_swn.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Witness Service client for CIFS
4  *
5  * Copyright (c) 2020 Samuel Cabrero <scabrero@suse.de>
6  */
7
8 #ifndef _CIFS_SWN_H
9 #define _CIFS_SWN_H
10 #include "cifsglob.h"
11
12 struct cifs_tcon;
13 struct sk_buff;
14 struct genl_info;
15
16 #ifdef CONFIG_CIFS_SWN_UPCALL
17 extern int cifs_swn_register(struct cifs_tcon *tcon);
18
19 extern int cifs_swn_unregister(struct cifs_tcon *tcon);
20
21 extern int cifs_swn_notify(struct sk_buff *skb, struct genl_info *info);
22
23 extern void cifs_swn_dump(struct seq_file *m);
24
25 extern void cifs_swn_check(void);
26
27 static inline bool cifs_swn_set_server_dstaddr(struct TCP_Server_Info *server)
28 {
29         if (server->use_swn_dstaddr) {
30                 server->dstaddr = server->swn_dstaddr;
31                 return true;
32         }
33         return false;
34 }
35
36 static inline void cifs_swn_reset_server_dstaddr(struct TCP_Server_Info *server)
37 {
38         server->use_swn_dstaddr = false;
39 }
40
41 #else
42
43 static inline int cifs_swn_register(struct cifs_tcon *tcon) { return 0; }
44 static inline int cifs_swn_unregister(struct cifs_tcon *tcon) { return 0; }
45 static inline int cifs_swn_notify(struct sk_buff *s, struct genl_info *i) { return 0; }
46 static inline void cifs_swn_dump(struct seq_file *m) {}
47 static inline void cifs_swn_check(void) {}
48 static inline bool cifs_swn_set_server_dstaddr(struct TCP_Server_Info *server) { return false; }
49 static inline void cifs_swn_reset_server_dstaddr(struct TCP_Server_Info *server) {}
50
51 #endif /* CONFIG_CIFS_SWN_UPCALL */
52 #endif /* _CIFS_SWN_H */