linux/fs/cifs/cifs_swn.h
<<
>>
Prefs
   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
  12struct cifs_tcon;
  13struct sk_buff;
  14struct genl_info;
  15
  16#ifdef CONFIG_CIFS_SWN_UPCALL
  17extern int cifs_swn_register(struct cifs_tcon *tcon);
  18
  19extern int cifs_swn_unregister(struct cifs_tcon *tcon);
  20
  21extern int cifs_swn_notify(struct sk_buff *skb, struct genl_info *info);
  22
  23extern void cifs_swn_dump(struct seq_file *m);
  24
  25extern void cifs_swn_check(void);
  26
  27static 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 */
  52#endif /* _CIFS_SWN_H */
  53