xref: /kernel/linux/linux-6.6/fs/smb/server/glob.h (revision 62306a36)
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 *   Copyright (C) 2016 Namjae Jeon <linkinjeon@kernel.org>
4 *   Copyright (C) 2018 Samsung Electronics Co., Ltd.
5 */
6
7#ifndef __KSMBD_GLOB_H
8#define __KSMBD_GLOB_H
9
10#include <linux/ctype.h>
11
12#include "unicode.h"
13#include "vfs_cache.h"
14
15#define KSMBD_VERSION	"3.4.2"
16
17extern int ksmbd_debug_types;
18
19#define KSMBD_DEBUG_SMB		BIT(0)
20#define KSMBD_DEBUG_AUTH	BIT(1)
21#define KSMBD_DEBUG_VFS		BIT(2)
22#define KSMBD_DEBUG_OPLOCK      BIT(3)
23#define KSMBD_DEBUG_IPC         BIT(4)
24#define KSMBD_DEBUG_CONN        BIT(5)
25#define KSMBD_DEBUG_RDMA        BIT(6)
26#define KSMBD_DEBUG_ALL         (KSMBD_DEBUG_SMB | KSMBD_DEBUG_AUTH |	\
27				KSMBD_DEBUG_VFS | KSMBD_DEBUG_OPLOCK |	\
28				KSMBD_DEBUG_IPC | KSMBD_DEBUG_CONN |	\
29				KSMBD_DEBUG_RDMA)
30
31#ifdef pr_fmt
32#undef pr_fmt
33#endif
34
35#ifdef SUBMOD_NAME
36#define pr_fmt(fmt)	"ksmbd: " SUBMOD_NAME ": " fmt
37#else
38#define pr_fmt(fmt)	"ksmbd: " fmt
39#endif
40
41#define ksmbd_debug(type, fmt, ...)				\
42	do {							\
43		if (ksmbd_debug_types & KSMBD_DEBUG_##type)	\
44			pr_info(fmt, ##__VA_ARGS__);		\
45	} while (0)
46
47#define UNICODE_LEN(x)		((x) * 2)
48
49#endif /* __KSMBD_GLOB_H */
50