]>
git.saurik.com Git - apple/xnu.git/blob - iokit/IOKit/IOKitDebug.h
2 * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
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. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
29 * Copyright (c) 1998 Apple Computer, Inc. All rights reserved.
36 #ifndef _IOKIT_IOKITDEBUG_H
37 #define _IOKIT_IOKITDEBUG_H
39 #include <IOKit/IOTypes.h>
44 #include <libkern/c++/OSObject.h>
45 #include <libkern/c++/OSDictionary.h>
46 #include <libkern/c++/OSSerialize.h>
48 class IOKitDiagnostics
: public OSObject
50 OSDeclareDefaultStructors(IOKitDiagnostics
)
53 static OSObject
* diagnostics( void );
54 virtual bool serialize(OSSerialize
*s
) const;
56 static void updateOffset( OSDictionary
* dict
,
57 UInt32 value
, const char * name
);
60 #endif /* __cplusplus */
64 kIOLogAttach
= 0x00000001ULL
,
65 kIOLogProbe
= 0x00000002ULL
,
66 kIOLogStart
= 0x00000004ULL
,
67 kIOLogRegister
= 0x00000008ULL
,
68 kIOLogMatch
= 0x00000010ULL
,
69 kIOLogConfig
= 0x00000020ULL
,
70 kIOLogYield
= 0x00000040ULL
,
71 kIOLogPower
= 0x00000080ULL
,
72 kIOLogMapping
= 0x00000100ULL
,
73 kIOLogCatalogue
= 0x00000200ULL
,
74 kIOLogTracePower
= 0x00000400ULL
,
75 kIOLogDebugPower
= 0x00000800ULL
,
76 kIOLogServiceTree
= 0x00001000ULL
,
77 kIOLogDTree
= 0x00002000ULL
,
78 kIOLogMemory
= 0x00004000ULL
,
79 kIOLogKextMemory
= 0x00008000ULL
,
80 kOSLogRegistryMods
= 0x00010000ULL
, // Log attempts to modify registry collections
81 kIOLogPMRootDomain
= 0x00020000ULL
,
82 kOSRegistryModsMode
= 0x00040000ULL
, // Change default registry modification handling - panic vs. log
83 kIOTraceIOService
= 0x00080000ULL
,
84 kIOLogHibernate
= 0x00100000ULL
,
86 // debug aids - change behaviour
87 kIONoFreeObjects
= 0x00100000ULL
,
88 kIOLogSynchronous
= 0x00200000ULL
, // IOLog completes synchronously
89 kOSTraceObjectAlloc
= 0x00400000ULL
,
91 _kIODebugTopFlag
= 0x8000000000000000ULL
// force enum to be 64 bits
94 extern SInt64 gIOKitDebug
;
100 struct IORegistryPlane
;
101 extern void IOPrintPlane( const struct IORegistryPlane
* plane
);
102 #ifndef _OSCPPDEBUG_H
103 extern void OSPrintMemory( void );
105 #define IOPrintMemory OSPrintMemory
109 #endif /* __cplusplus */
111 #endif /* ! _IOKIT_IOKITDEBUG_H */