-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIOFireWireSerialBusProtocolTransportDebugging.h
More file actions
146 lines (104 loc) · 4.41 KB
/
IOFireWireSerialBusProtocolTransportDebugging.h
File metadata and controls
146 lines (104 loc) · 4.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/*
* Copyright (c) 1998-2009 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
#ifndef _IOKIT_IO_FIREWIRE_SERIAL_BUS_PROTOCOL_TRANSPORT_DEBUGGING_H_
#define _IOKIT_IO_FIREWIRE_SERIAL_BUS_PROTOCOL_TRANSPORT_DEBUGGING_H_
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
#define FWSBP_SYSCTL "debug.FirewireSBPTransport"
typedef struct FWSysctlArgs
{
uint32_t type;
uint32_t operation;
uint32_t debugFlags;
} FWSysctlArgs;
#define kFWTypeDebug 'FRWR'
enum
{
kFWOperationGetFlags = 0,
kFWOperationSetFlags = 1
};
extern UInt32 gSBP2DiskDebugFlags;
enum
{
kSBP2DiskEnableDebugLoggingBit = 0,
kSBP2DiskEnableTracePointsBit = 1,
kSBP2DiskEnableDebugLoggingMask = (1 << kSBP2DiskEnableDebugLoggingBit),
kSBP2DiskEnableTracePointsMask = (1 << kSBP2DiskEnableTracePointsBit),
};
#if KERNEL
void IOFireWireSerialBusProtocolTransportDebugAssert ( const char * componentNameString,
const char * assertionString,
const char * exceptionLabelString,
const char * errorString,
const char * fileName,
long lineNumber,
int errorCode );
#define DEBUG_ASSERT_MESSAGE( componentNameString, \
assertionString, \
exceptionLabelString, \
errorString, \
fileName, \
lineNumber, \
error ) \
IOFireWireSerialBusProtocolTransportDebugAssert( componentNameString, \
assertionString, \
exceptionLabelString, \
errorString, \
fileName, \
lineNumber, \
error )
#endif /* KERNEL */
#include <AssertMacros.h>
// Other helpful macros (maybe some day these will make
// their way into /usr/include/AssertMacros.h)
#define require_success( errorCode, exceptionLabel ) \
require( kIOReturnSuccess == (errorCode), exceptionLabel )
#define require_success_action( errorCode, exceptionLabel, action ) \
require_action( kIOReturnSuccess == (errorCode), exceptionLabel, action )
#define require_success_quiet( errorCode, exceptionLabel ) \
require_quiet( kIOReturnSuccess == (errorCode), exceptionLabel )
#define require_success_action_quiet( errorCode, exceptionLabel, action ) \
require_action_quiet( kIOReturnSuccess == (errorCode), exceptionLabel, action )
#define require_success_string( errorCode, exceptionLabel, message ) \
require_string( kIOReturnSuccess == (errorCode), exceptionLabel, message )
#define require_success_action_string( errorCode, exceptionLabel, action, message ) \
require_action_string( kIOReturnSuccess == (errorCode), exceptionLabel, action, message )
#define require_nonzero( obj, exceptionLabel ) \
require( ( 0 != obj ), exceptionLabel )
#define require_nonzero_action( obj, exceptionLabel, action ) \
require_action( ( 0 != obj ), exceptionLabel, action )
#define require_nonzero_quiet( obj, exceptionLabel ) \
require_quiet( ( 0 != obj ), exceptionLabel )
#define require_nonzero_action_quiet( obj, exceptionLabel, action ) \
require_action_quiet( ( 0 != obj ), exceptionLabel, action )
#define require_nonzero_string( obj, exceptionLabel, message ) \
require_string( ( 0 != obj ), exceptionLabel, message )
#define require_nonzero_action_string( obj, exceptionLabel, action, message ) \
require_action_string( ( 0 != obj ), exceptionLabel, action, message )
#define DEBUG_UNUSED( X ) ( void )( X )
#ifdef __cplusplus
}
#endif
#endif /* _IOKIT_IO_FIREWIRE_SERIAL_BUS_PROTOCOL_TRANSPORT_DEBUGGING_H_ */