blob: 8a9d2a5c9077e851d3e52d148d4c458b3e2105f2 [file] [log] [blame]
Samuel Cabrerobf80e5d2020-11-30 19:02:51 +01001/* 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 Aptelb7fd0fa2021-04-09 16:31:37 +020010#include "cifsglob.h"
Samuel Cabrerobf80e5d2020-11-30 19:02:51 +010011
12struct cifs_tcon;
Samuel Cabrerofed979a2020-11-30 19:02:52 +010013struct sk_buff;
14struct genl_info;
Samuel Cabrerobf80e5d2020-11-30 19:02:51 +010015
Aurelien Aptelb7fd0fa2021-04-09 16:31:37 +020016#ifdef CONFIG_CIFS_SWN_UPCALL
Samuel Cabrerobf80e5d2020-11-30 19:02:51 +010017extern int cifs_swn_register(struct cifs_tcon *tcon);
18
19extern int cifs_swn_unregister(struct cifs_tcon *tcon);
20
Samuel Cabrerofed979a2020-11-30 19:02:52 +010021extern int cifs_swn_notify(struct sk_buff *skb, struct genl_info *info);
22
Samuel Cabrero20fab0d2020-11-30 19:02:53 +010023extern void cifs_swn_dump(struct seq_file *m);
24
Samuel Cabrero21077c62020-11-30 19:02:54 +010025extern void cifs_swn_check(void);
26
Aurelien Aptelb7fd0fa2021-04-09 16:31:37 +020027static 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
36static inline void cifs_swn_reset_server_dstaddr(struct TCP_Server_Info *server)
37{
38 server->use_swn_dstaddr = false;
39}
40
41#else
42
43static inline int cifs_swn_register(struct cifs_tcon *tcon) { return 0; }
44static inline int cifs_swn_unregister(struct cifs_tcon *tcon) { return 0; }
45static inline int cifs_swn_notify(struct sk_buff *s, struct genl_info *i) { return 0; }
46static inline void cifs_swn_dump(struct seq_file *m) {}
47static inline void cifs_swn_check(void) {}
48static inline bool cifs_swn_set_server_dstaddr(struct TCP_Server_Info *server) { return false; }
49static inline void cifs_swn_reset_server_dstaddr(struct TCP_Server_Info *server) {}
50
51#endif /* CONFIG_CIFS_SWN_UPCALL */
Samuel Cabrerobf80e5d2020-11-30 19:02:51 +010052#endif /* _CIFS_SWN_H */