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 extern int ksmbd_debug_types; 16 17 #define KSMBD_DEBUG_SMB BIT(0) 18 #define KSMBD_DEBUG_AUTH BIT(1) 19 #define KSMBD_DEBUG_VFS BIT(2) 20 #define KSMBD_DEBUG_OPLOCK BIT(3) 21 #define KSMBD_DEBUG_IPC BIT(4) 22 #define KSMBD_DEBUG_CONN BIT(5) 23 #define KSMBD_DEBUG_RDMA BIT(6) 24 #define KSMBD_DEBUG_ALL (KSMBD_DEBUG_SMB | KSMBD_DEBUG_AUTH | \ 25 KSMBD_DEBUG_VFS | KSMBD_DEBUG_OPLOCK | \ 26 KSMBD_DEBUG_IPC | KSMBD_DEBUG_CONN | \ 27 KSMBD_DEBUG_RDMA) 28 29 #ifdef pr_fmt 30 #undef pr_fmt 31 #endif 32 33 #ifdef SUBMOD_NAME 34 #define pr_fmt(fmt) "ksmbd: " SUBMOD_NAME ": " fmt 35 #else 36 #define pr_fmt(fmt) "ksmbd: " fmt 37 #endif 38 39 #define ksmbd_debug(type, fmt, ...) \ 40 do { \ 41 if (ksmbd_debug_types & KSMBD_DEBUG_##type) \ 42 pr_info(fmt, ##__VA_ARGS__); \ 43 } while (0) 44 45 #define UNICODE_LEN(x) ((x) * 2) 46 47 #endif /* __KSMBD_GLOB_H */ 48