|
|
1.1 root 1: /*
2: * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * The contents of this file constitute Original Code as defined in and
7: * are subject to the Apple Public Source License Version 1.1 (the
8: * "License"). You may not use this file except in compliance with the
9: * License. Please obtain a copy of the License at
10: * http://www.apple.com/publicsource and read it before using this file.
11: *
12: * This Original Code and all software distributed under the License are
13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17: * License for the specific language governing rights and limitations
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: #ifndef IOKIT_IOTIMESTAMP_H
23: #define IOKIT_IOTIMESTAMP_H
24:
25: #include <kdebug.h>
26: #include <sys/kdebug.h>
27:
28: static inline void
29: IOTimeStampStartConstant(unsigned int csc,
30: unsigned int a = 0, unsigned int b = 0,
31: unsigned int c = 0, unsigned int d = 0)
32: {
33: KERNEL_DEBUG_CONSTANT(csc | DBG_FUNC_START, a, b, c, d, 0);
34: }
35:
36: static inline void
37: IOTimeStampEndConstant(unsigned int csc,
38: unsigned int a = 0, unsigned int b = 0,
39: unsigned int c = 0, unsigned int d = 0)
40: {
41: KERNEL_DEBUG_CONSTANT(csc | DBG_FUNC_END, a, b, c, d, 0);
42: }
43:
44: static inline void
45: IOTimeStampConstant(unsigned int csc,
46: unsigned int a = 0, unsigned int b = 0,
47: unsigned int c = 0, unsigned int d = 0)
48: {
49: KERNEL_DEBUG_CONSTANT(csc | DBG_FUNC_NONE, a, b, c, d, 0);
50: }
51:
52: #if KDEBUG
53:
54: static inline void
55: IOTimeStampStart(unsigned int csc,
56: unsigned int a = 0, unsigned int b = 0,
57: unsigned int c = 0, unsigned int d = 0)
58: {
59: KERNEL_DEBUG(csc | DBG_FUNC_START, a, b, c, d, 0);
60: }
61:
62: static inline void
63: IOTimeStampEnd(unsigned int csc,
64: unsigned int a = 0, unsigned int b = 0,
65: unsigned int c = 0, unsigned int d = 0)
66: {
67: KERNEL_DEBUG(csc | DBG_FUNC_END, a, b, c, d, 0);
68: }
69:
70: static inline void
71: IOTimeStamp(unsigned int csc,
72: unsigned int a = 0, unsigned int b = 0,
73: unsigned int c = 0, unsigned int d = 0)
74: {
75: KERNEL_DEBUG(csc | DBG_FUNC_NONE, a, b, c, d, 0);
76: }
77:
78: #endif /* KDEBUG */
79:
80: #define IODBG_SCSI(code) (KDBG_CODE(DBG_IOKIT, DBG_IOSCSI, code))
81: #define IODBG_DISK(code) (KDBG_CODE(DBG_IOKIT, DBG_IODISK, code))
82: #define IODBG_NETWORK(code) (KDBG_CODE(DBG_IOKIT, DBG_IONETWORK, code))
83: #define IODBG_KEYBOARD(code) (KDBG_CODE(DBG_IOKIT, DBG_IOKEYBOARD, code))
84: #define IODBG_POINTING(code) (KDBG_CODE(DBG_IOKIT, DBG_IOPOINTING, code))
85: #define IODBG_AUDIO(code) (KDBG_CODE(DBG_IOKIT, DBG_IOAUDIO, code))
86: #define IODBG_FLOPPY(code) (KDBG_CODE(DBG_IOKIT, DBG_IOFLOPPY, code))
87: #define IODBG_SERIAL(code) (KDBG_CODE(DBG_IOKIT, DBG_IOSERIAL, code))
88: #define IODBG_TTY(code) (KDBG_CODE(DBG_IOKIT, DBG_IOTTY, code))
89:
90: /* IOKit infrastructure subclasses */
91: #define IODBG_WORKLOOP(code) (KDBG_CODE(DBG_IOKIT, DBG_IOWORKLOOP, code))
92: #define IODBG_INTES(code) (KDBG_CODE(DBG_IOKIT, DBG_IOINTES, code))
93: #define IODBG_TIMES(code) (KDBG_CODE(DBG_IOKIT, DBG_IOCLKES, code))
94: #define IODBG_CMDQ(code) (KDBG_CODE(DBG_IOKIT, DBG_IOCMDQ, code))
95: #define IODBG_MCURS(code) (KDBG_CODE(DBG_IOKIT, DBG_IOMCURS, code))
96: #define IODBG_MDESC(code) (KDBG_CODE(DBG_IOKIT, DBG_IOMDESC, code))
97:
98: /* IOKit specific codes - within each subclass */
99:
100: /* DBG_IOKIT/DBG_IOSCSI codes */
101:
102: /* DBG_IOKIT/DBG_IODISK codes */
103:
104: /* DBG_IOKIT/DBG_IONETWORK codes */
105:
106: /* DBG_IOKIT/DBG_IOKEYBOARD codes */
107:
108: /* DBG_IOKIT/DBG_IOPOINTING codes */
109:
110: /* DBG_IOKIT/DBG_IOAUDIO codes */
111:
112: /* DBG_IOKIT/DBG_IOFLOPPY codes */
113:
114: /* DBG_IOKIT/DBG_IOSERIAL codes */
115:
116: /* DBG_IOKIT/DBG_IOTTY codes */
117:
118: /* DBG_IOKIT/DBG_IOWORKLOOP codes */
119: #define IOWL_CLIENT 1 /* 0x050a0004 */
120: #define IOWL_WORK 2 /* 0x050a0008 */
121:
122: /* DBG_IOKIT/DBG_IOINTES codes */
123: #define IOINTES_CLIENT 1 /* 0x050b0004 */
124: #define IOINTES_LAT 2 /* 0x050b0008 */
125: #define IOINTES_SEMA 3 /* 0x050b000c */
126: #define IOINTES_INTCTXT 4 /* 0x050b0010 */
127: #define IOINTES_INTFLTR 5 /* 0x050b0014 */
128: #define IOINTES_ACTION 6 /* 0x050b0018 */
129: #define IOINTES_FILTER 7 /* 0x050b001c */
130:
131: /* DBG_IOKIT/DBG_IOTIMES codes */
132: #define IOTIMES_CLIENT 1 /* 0x050c0004 */
133: #define IOTIMES_LAT 2 /* 0x050c0008 */
134: #define IOTIMES_SEMA 3 /* 0x050c000c */
135: #define IOTIMES_ACTION 4 /* 0x050c0010 */
136:
137: /* DBG_IOKIT/DBG_IOCMDQ codes */
138: #define IOCMDQ_CLIENT 1 /* 0x050d0004 */
139: #define IOCMDQ_LAT 2 /* 0x050d0008 */
140: #define IOCMDQ_SEMA 3 /* 0x050d000c */
141: #define IOCMDQ_PSEMA 4 /* 0x050d0010 */
142: #define IOCMDQ_PLOCK 5 /* 0x050d0014 */
143: #define IOCMDQ_ACTION 6 /* 0x050d0018 */
144:
145: /* DBG_IOKIT/DBG_IOMCURS codes */
146:
147: /* DBG_IOKIT/DBG_IOMDESC codes */
148:
149: #endif /* ! IOKIT_IOTIMESTAMP_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.