Chameleon

Chameleon Svn Source Tree

Root/branches/azimutz/Cleancut/i386/include/IOKit/storage/IOBlockStorageDriver.h

1/*
2 * Copyright (c) 1998-2009 Apple 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/*!
25 * @header IOBlockStorageDriver
26 * @abstract
27 * This header contains the IOBlockStorageDriver class definition.
28 */
29
30#ifndef _IOBLOCKSTORAGEDRIVER_H
31#define _IOBLOCKSTORAGEDRIVER_H
32
33#include <IOKit/IOTypes.h>
34
35/*!
36 * @defined kIOBlockStorageDriverClass
37 * @abstract
38 * The name of the IOBlockStorageDriver class.
39 */
40
41#define kIOBlockStorageDriverClass "IOBlockStorageDriver"
42
43/*!
44 * @defined kIOBlockStorageDriverStatisticsKey
45 * @abstract
46 * Holds a table of numeric values describing the driver's
47 * operating statistics.
48 * @discussion
49 * This property holds a table of numeric values describing the driver's
50 * operating statistics. The table is an OSDictionary, where each entry
51 * describes one given statistic.
52 */
53
54#define kIOBlockStorageDriverStatisticsKey "Statistics"
55
56/*!
57 * @defined kIOBlockStorageDriverStatisticsBytesReadKey
58 * @abstract
59 * Describes the number of bytes read since the block storage
60 * driver was instantiated.
61 * @discussion
62 * This property describes the number of bytes read since the block storage
63 * driver was instantiated. It is one of the statistic entries listed under
64 * the top-level kIOBlockStorageDriverStatisticsKey property table. It has
65 * an OSNumber value.
66 */
67
68#define kIOBlockStorageDriverStatisticsBytesReadKey "Bytes (Read)"
69
70/*!
71 * @defined kIOBlockStorageDriverStatisticsBytesWrittenKey
72 * @abstract
73 * Describes the number of bytes written since the block storage
74 * driver was instantiated.
75 * @discussion
76 * This property describes the number of bytes written since the block storage
77 * driver was instantiated. It is one of the statistic entries listed under the
78 * top-level kIOBlockStorageDriverStatisticsKey property table. It has an
79 * OSNumber value.
80 */
81
82#define kIOBlockStorageDriverStatisticsBytesWrittenKey "Bytes (Write)"
83
84/*!
85 * @defined kIOBlockStorageDriverStatisticsReadErrorsKey
86 * @abstract
87 * Describes the number of read errors encountered since the block
88 * storage driver was instantiated.
89 * @discussion
90 * This property describes the number of read errors encountered since the block
91 * storage driver was instantiated. It is one of the statistic entries listed
92 * under the top-level kIOBlockStorageDriverStatisticsKey property table. It
93 * has an OSNumber value.
94 */
95
96#define kIOBlockStorageDriverStatisticsReadErrorsKey "Errors (Read)"
97
98/*!
99 * @defined kIOBlockStorageDriverStatisticsWriteErrorsKey
100 * @abstract
101 * Describes the number of write errors encountered since the
102 * block storage driver was instantiated.
103 * @discussion
104 * This property describes the number of write errors encountered since the
105 * block storage driver was instantiated. It is one of the statistic entries
106 * listed under the top-level kIOBlockStorageDriverStatisticsKey property table.
107 * It has an OSNumber value.
108 */
109
110#define kIOBlockStorageDriverStatisticsWriteErrorsKey "Errors (Write)"
111
112/*!
113 * @defined kIOBlockStorageDriverStatisticsLatentReadTimeKey
114 * @abstract
115 * Describes the number of nanoseconds of latency during reads
116 * since the block storage driver was instantiated.
117 * @discussion
118 * This property describes the number of nanoseconds of latency during reads
119 * since the block storage driver was instantiated. It is one of the statistic
120 * entries listed under the top-level kIOBlockStorageDriverStatisticsKey
121 * property table. It has an OSNumber value.
122 */
123
124#define kIOBlockStorageDriverStatisticsLatentReadTimeKey "Latency Time (Read)"
125
126/*!
127 * @defined kIOBlockStorageDriverStatisticsLatentWriteTimeKey
128 * @abstract
129 * Describes the number of nanoseconds of latency during writes
130 * since the block storage driver was instantiated.
131 * @discussion
132 * This property describes the number of nanoseconds of latency during writes
133 * since the block storage driver was instantiated. It is one of the statistic
134 * entries listed under the top-level kIOBlockStorageDriverStatisticsKey
135 * property table. It has an OSNumber value.
136 */
137
138#define kIOBlockStorageDriverStatisticsLatentWriteTimeKey "Latency Time (Write)"
139
140/*!
141 * @defined kIOBlockStorageDriverStatisticsReadsKey
142 * @abstract
143 * Describes the number of read operations processed since the
144 * block storage driver was instantiated.
145 * @discussion
146 * This property describes the number of read operations processed since the
147 * block storage driver was instantiated. It is one of the statistic entries
148 * listed under the top-level kIOBlockStorageDriverStatisticsKey property table.
149 * It has an OSNumber value.
150 */
151
152#define kIOBlockStorageDriverStatisticsReadsKey "Operations (Read)"
153
154/*!
155 * @defined kIOBlockStorageDriverStatisticsWritesKey
156 * @abstract
157 * Describes the number of write operations processed since the
158 * block storage driver was instantiated.
159 * @discussion
160 * This property describes the number of write operations processed since the
161 * block storage driver was instantiated. It is one of the statistic entries
162 * listed under the top-level kIOBlockStorageDriverStatisticsKey property table.
163 * It has an OSNumber value.
164 */
165
166#define kIOBlockStorageDriverStatisticsWritesKey "Operations (Write)"
167
168/*!
169 * @defined kIOBlockStorageDriverStatisticsReadRetriesKey
170 * @abstract
171 * Describes the number of read retries required since the block
172 * storage driver was instantiated.
173 * @discussion
174 * This property describes the number of read retries required since the block
175 * storage driver was instantiated. It is one of the statistic entries listed
176 * under the top-level kIOBlockStorageDriverStatisticsKey property table. It
177 * has an OSNumber value.
178 */
179
180#define kIOBlockStorageDriverStatisticsReadRetriesKey "Retries (Read)"
181
182/*!
183 * @defined kIOBlockStorageDriverStatisticsWriteRetriesKey
184 * @abstract
185 * Describes the number of write retries required since the block
186 * storage driver was instantiated.
187 * @discussion
188 * This property describes the number of write retries required since the block
189 * storage driver was instantiated. It is one of the statistic entries listed
190 * under the top-level kIOBlockStorageDriverStatisticsKey property table. It
191 * has an OSNumber value.
192 */
193
194#define kIOBlockStorageDriverStatisticsWriteRetriesKey "Retries (Write)"
195
196/*!
197 * @defined kIOBlockStorageDriverStatisticsTotalReadTimeKey
198 * @abstract
199 * Describes the number of nanoseconds spent performing reads
200 * since the block storage driver was instantiated.
201 * @discussion
202 * This property describes the number of nanoseconds spent performing reads
203 * since the block storage driver was instantiated. It is one of the statistic
204 * entries listed under the top-level kIOBlockStorageDriverStatisticsKey
205 * property table. It has an OSNumber value.
206 */
207
208#define kIOBlockStorageDriverStatisticsTotalReadTimeKey "Total Time (Read)"
209
210/*!
211 * @defined kIOBlockStorageDriverStatisticsTotalWriteTimeKey
212 * @abstract
213 * Describes the number of nanoseconds spent performing writes
214 * since the block storage driver was instantiated.
215 * @discussion
216 * This property describes the number of nanoseconds spent performing writes
217 * since the block storage driver was instantiated. It is one of the statistic
218 * entries listed under the top-level kIOBlockStorageDriverStatisticsKey
219 * property table. It has an OSNumber value.
220 */
221
222#define kIOBlockStorageDriverStatisticsTotalWriteTimeKey "Total Time (Write)"
223
224/*!
225 * @enum IOMediaState
226 * @abstract
227 * The different states that getMediaState() can report.
228 * @constant kIOMediaStateOffline
229 * Media is not available.
230 * @constant kIOMediaStateOnline
231 * Media is available and ready for operations.
232 * @constant kIOMediaStateBusy
233 * Media is available, but not ready for operations.
234 */
235
236enum
237{
238 kIOMediaStateOffline = 0,
239 kIOMediaStateOnline = 1,
240 kIOMediaStateBusy = 2
241};
242
243typedef UInt32 IOMediaState;
244
245#endif /* !_IOBLOCKSTORAGEDRIVER_H */
246

Archive Download this file

Revision: 917