2
* Copyright (c) 2005 Apple Computer, Inc. All rights reserved.
4
* @APPLE_LICENSE_HEADER_START@
6
* "Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7
* Reserved. This file contains Original Code and/or Modifications of
8
* Original Code as defined in and that are subject to the Apple Public
9
* Source License Version 1.0 (the 'License'). You may not use this file
10
* except in compliance with the License. Please obtain a copy of the
11
* License at http://www.apple.com/publicsource and read it before using
14
* The Original Code and all software distributed under the License are
15
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19
* License for the specific language governing rights and limitations
22
* @APPLE_LICENSE_HEADER_END@
24
#ifndef __FSCK_DEBUG__
25
#define __FSCK_DEBUG__
27
#include <sys/types.h>
29
enum debug_message_type {
30
/* Type of information */
31
d_info = 0x0001, /* Normal information messages during execution */
32
d_error = 0x0002, /* Error messages */
34
/* Category of verify/repair operation */
35
d_xattr = 0x0010, /* Extended attributes related messages */
36
d_overlap = 0x0020 /* Overlap extents related messages */
39
/* Current debug level of fsck_hfs for printing messages via dprintf */
40
extern unsigned long cur_debug_level;
44
* Description: Debug function similar to printf except the first parameter
45
* which indicates the type of message to be printed by dprintf. Based on
46
* current debug level and the type of message, the function decides
47
* whether to print the message or not.
49
* Each unique message type has a bit assigned to it. The message type
50
* passed to dprintf can be one or combination (OR-ed value) of pre-defined
51
* debug message types. Only the messages whose type have one or more similar
52
* bits set in comparison with current global debug level are printed.
54
* For example, if cur_debug_level = 0x11 (d_info|d_xattr)
55
* ----------------------------------------
56
* message type - printed/not printed
57
* ----------------------------------------
59
* d_error|d_xattr - printed
60
* d_error - not printed
61
* d_overlap - not printed
64
* message_type - type of message, to determine when to print the message
65
* variable arguments - similar to printfs
70
extern void dprintf (unsigned long message_type, char *format, ...);
72
#endif /* __FSCK_DEBUG__ */