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