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 17 extern 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