162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci *   Copyright (C) 2016 Namjae Jeon <linkinjeon@kernel.org>
462306a36Sopenharmony_ci *   Copyright (C) 2018 Samsung Electronics Co., Ltd.
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#ifndef __KSMBD_GLOB_H
862306a36Sopenharmony_ci#define __KSMBD_GLOB_H
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#include <linux/ctype.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include "unicode.h"
1362306a36Sopenharmony_ci#include "vfs_cache.h"
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#define KSMBD_VERSION	"3.4.2"
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciextern int ksmbd_debug_types;
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci#define KSMBD_DEBUG_SMB		BIT(0)
2062306a36Sopenharmony_ci#define KSMBD_DEBUG_AUTH	BIT(1)
2162306a36Sopenharmony_ci#define KSMBD_DEBUG_VFS		BIT(2)
2262306a36Sopenharmony_ci#define KSMBD_DEBUG_OPLOCK      BIT(3)
2362306a36Sopenharmony_ci#define KSMBD_DEBUG_IPC         BIT(4)
2462306a36Sopenharmony_ci#define KSMBD_DEBUG_CONN        BIT(5)
2562306a36Sopenharmony_ci#define KSMBD_DEBUG_RDMA        BIT(6)
2662306a36Sopenharmony_ci#define KSMBD_DEBUG_ALL         (KSMBD_DEBUG_SMB | KSMBD_DEBUG_AUTH |	\
2762306a36Sopenharmony_ci				KSMBD_DEBUG_VFS | KSMBD_DEBUG_OPLOCK |	\
2862306a36Sopenharmony_ci				KSMBD_DEBUG_IPC | KSMBD_DEBUG_CONN |	\
2962306a36Sopenharmony_ci				KSMBD_DEBUG_RDMA)
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci#ifdef pr_fmt
3262306a36Sopenharmony_ci#undef pr_fmt
3362306a36Sopenharmony_ci#endif
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci#ifdef SUBMOD_NAME
3662306a36Sopenharmony_ci#define pr_fmt(fmt)	"ksmbd: " SUBMOD_NAME ": " fmt
3762306a36Sopenharmony_ci#else
3862306a36Sopenharmony_ci#define pr_fmt(fmt)	"ksmbd: " fmt
3962306a36Sopenharmony_ci#endif
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci#define ksmbd_debug(type, fmt, ...)				\
4262306a36Sopenharmony_ci	do {							\
4362306a36Sopenharmony_ci		if (ksmbd_debug_types & KSMBD_DEBUG_##type)	\
4462306a36Sopenharmony_ci			pr_info(fmt, ##__VA_ARGS__);		\
4562306a36Sopenharmony_ci	} while (0)
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci#define UNICODE_LEN(x)		((x) * 2)
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci#endif /* __KSMBD_GLOB_H */
50