blob: 5b8f3e0ebdb36aef86f79c1ca475e646fa300f87 [file] [log] [blame]
Namjae Jeon0626e662021-03-16 13:07:11 +09001/* 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>
Namjae Jeon0626e662021-03-16 13:07:11 +090011
12#include "unicode.h"
13#include "vfs_cache.h"
Namjae Jeon0626e662021-03-16 13:07:11 +090014
Namjae Jeon2db72602021-10-01 11:53:49 +090015#define KSMBD_VERSION "3.4.2"
Namjae Jeon0626e662021-03-16 13:07:11 +090016
Namjae Jeon0626e662021-03-16 13:07:11 +090017extern int ksmbd_debug_types;
Namjae Jeon0626e662021-03-16 13:07:11 +090018
Namjae Jeon64b39f42021-03-30 14:25:35 +090019#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)
Namjae Jeon0626e662021-03-16 13:07:11 +090026#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
Namjae Jeonbde16942021-06-28 15:23:19 +090031#ifdef pr_fmt
32#undef pr_fmt
Namjae Jeon0626e662021-03-16 13:07:11 +090033#endif
Namjae Jeonbde16942021-06-28 15:23:19 +090034
35#ifdef SUBMOD_NAME
36#define pr_fmt(fmt) "ksmbd: " SUBMOD_NAME ": " fmt
37#else
38#define pr_fmt(fmt) "ksmbd: " fmt
Namjae Jeon0626e662021-03-16 13:07:11 +090039#endif
40
41#define ksmbd_debug(type, fmt, ...) \
42 do { \
43 if (ksmbd_debug_types & KSMBD_DEBUG_##type) \
Namjae Jeonbde16942021-06-28 15:23:19 +090044 pr_info(fmt, ##__VA_ARGS__); \
Namjae Jeon0626e662021-03-16 13:07:11 +090045 } while (0)
46
Namjae Jeon0626e662021-03-16 13:07:11 +090047#define UNICODE_LEN(x) ((x) * 2)
48
49#endif /* __KSMBD_GLOB_H */