#include <linux/fs.h>
#include <linux/string.h>
#include <linux/ctype.h>
#include <linux/kstrtox.h>
#include <linux/module.h>
#include <linux/proc_fs.h>
#include <linux/uaccess.h>
#include <uapi/linux/ethtool.h>
#include "cifspdu.h"
#include "cifsglob.h"
#include "cifsproto.h"
#include "cifs_debug.h"
#include "cifsfs.h"
#include "fs_context.h"
#ifdef CONFIG_CIFS_DFS_UPCALL
#include "dfs_cache.h"
#endif
#ifdef CONFIG_CIFS_SMB_DIRECT
#include "smbdirect.h"
#endif
#include "cifs_swn.h"
void
cifs_dump_mem(char *label, void *data, int length)
{ … }
void cifs_dump_detail(void *buf, struct TCP_Server_Info *server)
{ … }
void cifs_dump_mids(struct TCP_Server_Info *server)
{ … }
#ifdef CONFIG_PROC_FS
static void cifs_debug_tcon(struct seq_file *m, struct cifs_tcon *tcon)
{ … }
static void
cifs_dump_channel(struct seq_file *m, int i, struct cifs_chan *chan)
{ … }
static inline const char *smb_speed_to_str(size_t bps)
{ … }
static void
cifs_dump_iface(struct seq_file *m, struct cifs_server_iface *iface)
{ … }
static int cifs_debug_files_proc_show(struct seq_file *m, void *v)
{ … }
static __always_inline const char *compression_alg_str(__le16 alg)
{ … }
static int cifs_debug_data_proc_show(struct seq_file *m, void *v)
{ … }
static ssize_t cifs_stats_proc_write(struct file *file,
const char __user *buffer, size_t count, loff_t *ppos)
{ … }
static int cifs_stats_proc_show(struct seq_file *m, void *v)
{ … }
static int cifs_stats_proc_open(struct inode *inode, struct file *file)
{ … }
static const struct proc_ops cifs_stats_proc_ops = …;
#ifdef CONFIG_CIFS_SMB_DIRECT
#define PROC_FILE_DEFINE(name) …
PROC_FILE_DEFINE(…);
PROC_FILE_DEFINE(…);
PROC_FILE_DEFINE(…);
PROC_FILE_DEFINE(…);
PROC_FILE_DEFINE(…);
PROC_FILE_DEFINE(…);
PROC_FILE_DEFINE(…);
PROC_FILE_DEFINE(…);
#endif
static struct proc_dir_entry *proc_fs_cifs;
static const struct proc_ops cifsFYI_proc_ops;
static const struct proc_ops cifs_lookup_cache_proc_ops;
static const struct proc_ops traceSMB_proc_ops;
static const struct proc_ops cifs_security_flags_proc_ops;
static const struct proc_ops cifs_linux_ext_proc_ops;
static const struct proc_ops cifs_mount_params_proc_ops;
void
cifs_proc_init(void)
{ … }
void
cifs_proc_clean(void)
{ … }
static int cifsFYI_proc_show(struct seq_file *m, void *v)
{ … }
static int cifsFYI_proc_open(struct inode *inode, struct file *file)
{ … }
static ssize_t cifsFYI_proc_write(struct file *file, const char __user *buffer,
size_t count, loff_t *ppos)
{ … }
static const struct proc_ops cifsFYI_proc_ops = …;
static int cifs_linux_ext_proc_show(struct seq_file *m, void *v)
{ … }
static int cifs_linux_ext_proc_open(struct inode *inode, struct file *file)
{ … }
static ssize_t cifs_linux_ext_proc_write(struct file *file,
const char __user *buffer, size_t count, loff_t *ppos)
{ … }
static const struct proc_ops cifs_linux_ext_proc_ops = …;
static int cifs_lookup_cache_proc_show(struct seq_file *m, void *v)
{ … }
static int cifs_lookup_cache_proc_open(struct inode *inode, struct file *file)
{ … }
static ssize_t cifs_lookup_cache_proc_write(struct file *file,
const char __user *buffer, size_t count, loff_t *ppos)
{ … }
static const struct proc_ops cifs_lookup_cache_proc_ops = …;
static int traceSMB_proc_show(struct seq_file *m, void *v)
{ … }
static int traceSMB_proc_open(struct inode *inode, struct file *file)
{ … }
static ssize_t traceSMB_proc_write(struct file *file, const char __user *buffer,
size_t count, loff_t *ppos)
{ … }
static const struct proc_ops traceSMB_proc_ops = …;
static int cifs_security_flags_proc_show(struct seq_file *m, void *v)
{ … }
static int cifs_security_flags_proc_open(struct inode *inode, struct file *file)
{ … }
static void
cifs_security_flags_handle_must_flags(unsigned int *flags)
{ … }
static ssize_t cifs_security_flags_proc_write(struct file *file,
const char __user *buffer, size_t count, loff_t *ppos)
{ … }
static const struct proc_ops cifs_security_flags_proc_ops = …;
static int cifs_mount_params_proc_show(struct seq_file *m, void *v)
{ … }
static int cifs_mount_params_proc_open(struct inode *inode, struct file *file)
{ … }
static const struct proc_ops cifs_mount_params_proc_ops = …;
#else
inline void cifs_proc_init(void)
{
}
inline void cifs_proc_clean(void)
{
}
#endif