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