| /* SPDX-License-Identifier: GPL-2.0 */ | 
 | /* | 
 |  * (C) 2001 Clemson University and The University of Chicago | 
 |  * | 
 |  * See COPYING in top-level directory. | 
 |  */ | 
 |  | 
 | /* This file just defines debugging masks to be used with the gossip | 
 |  * logging utility.  All debugging masks for ORANGEFS are kept here to make | 
 |  * sure we don't have collisions. | 
 |  */ | 
 |  | 
 | #ifndef __ORANGEFS_DEBUG_H | 
 | #define __ORANGEFS_DEBUG_H | 
 |  | 
 | #ifdef __KERNEL__ | 
 | #include <linux/types.h> | 
 | #include <linux/kernel.h> | 
 | #else | 
 | #include <stdint.h> | 
 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) | 
 | #endif | 
 |  | 
 | #define	GOSSIP_NO_DEBUG			(__u64)0 | 
 |  | 
 | #define GOSSIP_SUPER_DEBUG		((__u64)1 << 0) | 
 | #define GOSSIP_INODE_DEBUG		((__u64)1 << 1) | 
 | #define GOSSIP_FILE_DEBUG		((__u64)1 << 2) | 
 | #define GOSSIP_DIR_DEBUG		((__u64)1 << 3) | 
 | #define GOSSIP_UTILS_DEBUG		((__u64)1 << 4) | 
 | #define GOSSIP_WAIT_DEBUG		((__u64)1 << 5) | 
 | #define GOSSIP_ACL_DEBUG		((__u64)1 << 6) | 
 | #define GOSSIP_DCACHE_DEBUG		((__u64)1 << 7) | 
 | #define GOSSIP_DEV_DEBUG		((__u64)1 << 8) | 
 | #define GOSSIP_NAME_DEBUG		((__u64)1 << 9) | 
 | #define GOSSIP_BUFMAP_DEBUG		((__u64)1 << 10) | 
 | #define GOSSIP_CACHE_DEBUG		((__u64)1 << 11) | 
 | #define GOSSIP_DEBUGFS_DEBUG		((__u64)1 << 12) | 
 | #define GOSSIP_XATTR_DEBUG		((__u64)1 << 13) | 
 | #define GOSSIP_INIT_DEBUG		((__u64)1 << 14) | 
 | #define GOSSIP_SYSFS_DEBUG		((__u64)1 << 15) | 
 |  | 
 | #define GOSSIP_MAX_NR                 16 | 
 | #define GOSSIP_MAX_DEBUG              (((__u64)1 << GOSSIP_MAX_NR) - 1) | 
 |  | 
 | /* a private internal type */ | 
 | struct __keyword_mask_s { | 
 | 	const char *keyword; | 
 | 	__u64 mask_val; | 
 | }; | 
 |  | 
 | /* | 
 |  * Map all kmod keywords to kmod debug masks here. Keep this | 
 |  * structure "packed": | 
 |  * | 
 |  *   "all" is always last... | 
 |  * | 
 |  *   keyword     mask_val     index | 
 |  *     foo          1           0 | 
 |  *     bar          2           1 | 
 |  *     baz          4           2 | 
 |  *     qux          8           3 | 
 |  *      .           .           . | 
 |  */ | 
 | static struct __keyword_mask_s s_kmod_keyword_mask_map[] = { | 
 | 	{"super", GOSSIP_SUPER_DEBUG}, | 
 | 	{"inode", GOSSIP_INODE_DEBUG}, | 
 | 	{"file", GOSSIP_FILE_DEBUG}, | 
 | 	{"dir", GOSSIP_DIR_DEBUG}, | 
 | 	{"utils", GOSSIP_UTILS_DEBUG}, | 
 | 	{"wait", GOSSIP_WAIT_DEBUG}, | 
 | 	{"acl", GOSSIP_ACL_DEBUG}, | 
 | 	{"dcache", GOSSIP_DCACHE_DEBUG}, | 
 | 	{"dev", GOSSIP_DEV_DEBUG}, | 
 | 	{"name", GOSSIP_NAME_DEBUG}, | 
 | 	{"bufmap", GOSSIP_BUFMAP_DEBUG}, | 
 | 	{"cache", GOSSIP_CACHE_DEBUG}, | 
 | 	{"debugfs", GOSSIP_DEBUGFS_DEBUG}, | 
 | 	{"xattr", GOSSIP_XATTR_DEBUG}, | 
 | 	{"init", GOSSIP_INIT_DEBUG}, | 
 | 	{"sysfs", GOSSIP_SYSFS_DEBUG}, | 
 | 	{"none", GOSSIP_NO_DEBUG}, | 
 | 	{"all", GOSSIP_MAX_DEBUG} | 
 | }; | 
 |  | 
 | static const int num_kmod_keyword_mask_map = (int) | 
 | 	(ARRAY_SIZE(s_kmod_keyword_mask_map)); | 
 |  | 
 | #endif /* __ORANGEFS_DEBUG_H */ |