Samuel Cabrero | bf80e5d | 2020-11-30 19:02:51 +0100 | [diff] [blame] | 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 |
Aurelien Aptel | b7fd0fa | 2021-04-09 16:31:37 +0200 | [diff] [blame] | 10 | #include "cifsglob.h" |
Samuel Cabrero | bf80e5d | 2020-11-30 19:02:51 +0100 | [diff] [blame] | 11 | |
| 12 | struct cifs_tcon; |
Samuel Cabrero | fed979a | 2020-11-30 19:02:52 +0100 | [diff] [blame] | 13 | struct sk_buff; |
| 14 | struct genl_info; |
Samuel Cabrero | bf80e5d | 2020-11-30 19:02:51 +0100 | [diff] [blame] | 15 | |
Aurelien Aptel | b7fd0fa | 2021-04-09 16:31:37 +0200 | [diff] [blame] | 16 | #ifdef CONFIG_CIFS_SWN_UPCALL |
Samuel Cabrero | bf80e5d | 2020-11-30 19:02:51 +0100 | [diff] [blame] | 17 | extern int cifs_swn_register(struct cifs_tcon *tcon); |
| 18 | |
| 19 | extern int cifs_swn_unregister(struct cifs_tcon *tcon); |
| 20 | |
Samuel Cabrero | fed979a | 2020-11-30 19:02:52 +0100 | [diff] [blame] | 21 | extern int cifs_swn_notify(struct sk_buff *skb, struct genl_info *info); |
| 22 | |
Samuel Cabrero | 20fab0d | 2020-11-30 19:02:53 +0100 | [diff] [blame] | 23 | extern void cifs_swn_dump(struct seq_file *m); |
| 24 | |
Samuel Cabrero | 21077c6 | 2020-11-30 19:02:54 +0100 | [diff] [blame] | 25 | extern void cifs_swn_check(void); |
| 26 | |
Aurelien Aptel | b7fd0fa | 2021-04-09 16:31:37 +0200 | [diff] [blame] | 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 */ |
Samuel Cabrero | bf80e5d | 2020-11-30 19:02:51 +0100 | [diff] [blame] | 52 | #endif /* _CIFS_SWN_H */ |