]> git.saurik.com Git - apple/xnu.git/blob - iokit/IOKit/IOKitDebug.h
4b4cf541d4fc6743d55bfa97012780ecf44333cf
[apple/xnu.git] / iokit / IOKit / IOKitDebug.h
1 /*
2 * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23 /*
24 * Copyright (c) 1998 Apple Computer, Inc. All rights reserved.
25 *
26 * HISTORY
27 *
28 */
29
30
31 #ifndef _IOKIT_IOKITDEBUG_H
32 #define _IOKIT_IOKITDEBUG_H
33
34 #include <IOKit/IOTypes.h>
35
36
37 #ifdef __cplusplus
38
39 #include <libkern/c++/OSObject.h>
40 #include <libkern/c++/OSDictionary.h>
41 #include <libkern/c++/OSSerialize.h>
42
43 class IOKitDiagnostics : public OSObject
44 {
45 OSDeclareDefaultStructors(IOKitDiagnostics)
46
47 public:
48 static OSObject * diagnostics( void );
49 virtual bool serialize(OSSerialize *s) const;
50 private:
51 static void updateOffset( OSDictionary * dict,
52 UInt32 value, const char * name );
53 };
54
55 #endif __cplusplus
56
57 enum {
58 // loggage
59 kIOLogAttach = 0x00000001ULL,
60 kIOLogProbe = 0x00000002ULL,
61 kIOLogStart = 0x00000004ULL,
62 kIOLogRegister = 0x00000008ULL,
63 kIOLogMatch = 0x00000010ULL,
64 kIOLogConfig = 0x00000020ULL,
65 kIOLogYield = 0x00000040ULL,
66 kIOLogPower = 0x00000080ULL,
67 kIOLogMapping = 0x00000100ULL,
68 kIOLogCatalogue = 0x00000200ULL,
69 kIOLogTracePower = 0x00000400ULL,
70
71 kIOLogServiceTree = 0x00001000ULL,
72 kIOLogDTree = 0x00002000ULL,
73 kIOLogMemory = 0x00004000ULL,
74 // available = 0x00008000ULL,
75 kOSLogRegistryMods = 0x00010000ULL, // Log attempts to modify registry collections
76
77 // debug aids - change behaviour
78 kIONoFreeObjects = 0x00100000ULL,
79 kIOLogSynchronous = 0x00200000ULL, // IOLog completes synchrounsly
80 };
81
82 extern SInt64 gIOKitDebug;
83
84 #ifdef __cplusplus
85 extern "C" {
86 #endif
87
88 struct IORegistryPlane;
89 extern void IOPrintPlane( const struct IORegistryPlane * plane );
90 extern void OSPrintMemory( void );
91 #define IOPrintMemory OSPrintMemory
92
93 #ifdef __cplusplus
94 } /* extern "C" */
95 #endif /* __cplusplus */
96
97 #endif /* ! _IOKIT_IOKITDEBUG_H */