linux/fs/ntfs3/debug.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 *
   4 * Copyright (C) 2019-2021 Paragon Software GmbH, All rights reserved.
   5 *
   6 * Useful functions for debugging.
   7 *
   8 */
   9
  10// clang-format off
  11#ifndef _LINUX_NTFS3_DEBUG_H
  12#define _LINUX_NTFS3_DEBUG_H
  13
  14struct super_block;
  15struct inode;
  16
  17#ifndef Add2Ptr
  18#define Add2Ptr(P, I)           ((void *)((u8 *)(P) + (I)))
  19#define PtrOffset(B, O)         ((size_t)((size_t)(O) - (size_t)(B)))
  20#endif
  21
  22#ifdef CONFIG_PRINTK
  23__printf(2, 3)
  24void ntfs_printk(const struct super_block *sb, const char *fmt, ...);
  25__printf(2, 3)
  26void ntfs_inode_printk(struct inode *inode, const char *fmt, ...);
  27#else
  28static inline __printf(2, 3)
  29void ntfs_printk(const struct super_block *sb, const char *fmt, ...)
  30{
  31}
  32
  33static inline __printf(2, 3)
  34void ntfs_inode_printk(struct inode *inode, const char *fmt, ...)
  35{
  36}
  37#endif
  38
  39/*
  40 * Logging macros. Thanks Joe Perches <joe@perches.com> for implementation.
  41 */
  42
  43#define ntfs_err(sb, fmt, ...)  ntfs_printk(sb, KERN_ERR fmt, ##__VA_ARGS__)
  44#define ntfs_warn(sb, fmt, ...) ntfs_printk(sb, KERN_WARNING fmt, ##__VA_ARGS__)
  45#define ntfs_info(sb, fmt, ...) ntfs_printk(sb, KERN_INFO fmt, ##__VA_ARGS__)
  46#define ntfs_notice(sb, fmt, ...)                                              \
  47        ntfs_printk(sb, KERN_NOTICE fmt, ##__VA_ARGS__)
  48
  49#define ntfs_inode_err(inode, fmt, ...)                                        \
  50        ntfs_inode_printk(inode, KERN_ERR fmt, ##__VA_ARGS__)
  51#define ntfs_inode_warn(inode, fmt, ...)                                       \
  52        ntfs_inode_printk(inode, KERN_WARNING fmt, ##__VA_ARGS__)
  53
  54#endif /* _LINUX_NTFS3_DEBUG_H */
  55// clang-format on
  56