Root/
Source at commit 2350 created 10 years 5 months ago. By ifabio, remove duplicated define. | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 2006-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 | #ifndef _IOBDMEDIABSDCLIENT_H␊ |
25 | #define _IOBDMEDIABSDCLIENT_H␊ |
26 | ␊ |
27 | #include <sys/ioctl.h>␊ |
28 | #include <sys/types.h>␊ |
29 | ␊ |
30 | #include <IOKit/storage/IOBDTypes.h>␊ |
31 | ␊ |
32 | /*␊ |
33 | * Definitions␊ |
34 | *␊ |
35 | * ioctl description␊ |
36 | * ---------------------------- ------------------------------------------------␊ |
37 | * DKIOCBDREADSTRUCTURE see IOBDMedia::readStructure() in IOBDMedia.h␊ |
38 | *␊ |
39 | * DKIOCBDREADDISCINFO see IOBDMedia::readDiscInfo() in IOBDMedia.h␊ |
40 | * DKIOCBDREADTRACKINFO see IOBDMedia::readTrackInfo() in IOBDMedia.h␊ |
41 | *␊ |
42 | * DKIOCBDREPORTKEY see IOBDMedia::reportKey() in IOBDMedia.h␊ |
43 | * DKIOCBDSENDKEY see IOBDMedia::sendKey() in IOBDMedia.h␊ |
44 | *␊ |
45 | * DKIOCBDGETSPEED see IOBDMedia::getSpeed() in IOBDMedia.h␊ |
46 | * DKIOCBDSETSPEED see IOBDMedia::setSpeed() in IOBDMedia.h␊ |
47 | *␊ |
48 | * in /System/Library/Frameworks/Kernel.framework/Headers/IOKit/storage/␊ |
49 | */␊ |
50 | ␊ |
51 | typedef struct␊ |
52 | {␊ |
53 | uint8_t format;␊ |
54 | ␊ |
55 | uint8_t reserved0008[3]; /* reserved, clear to zero */␊ |
56 | ␊ |
57 | uint32_t address;␊ |
58 | uint8_t grantID;␊ |
59 | uint8_t layer;␊ |
60 | ␊ |
61 | uint8_t reserved0080[4]; /* reserved, clear to zero */␊ |
62 | ␊ |
63 | uint16_t bufferLength;␊ |
64 | void * buffer;␊ |
65 | } dk_bd_read_structure_t;␊ |
66 | ␊ |
67 | typedef struct␊ |
68 | {␊ |
69 | uint8_t format;␊ |
70 | uint8_t keyClass;␊ |
71 | ␊ |
72 | uint8_t reserved0016[2]; /* reserved, clear to zero */␊ |
73 | ␊ |
74 | uint32_t address;␊ |
75 | uint8_t grantID;␊ |
76 | ␊ |
77 | uint8_t reserved0072[5]; /* reserved, clear to zero */␊ |
78 | ␊ |
79 | uint16_t bufferLength;␊ |
80 | void * buffer;␊ |
81 | } dk_bd_report_key_t;␊ |
82 | ␊ |
83 | typedef struct␊ |
84 | {␊ |
85 | uint8_t format;␊ |
86 | uint8_t keyClass;␊ |
87 | ␊ |
88 | uint8_t reserved0016[6]; /* reserved, clear to zero */␊ |
89 | ␊ |
90 | uint8_t grantID;␊ |
91 | ␊ |
92 | uint8_t reserved0072[5]; /* reserved, clear to zero */␊ |
93 | ␊ |
94 | uint16_t bufferLength;␊ |
95 | void * buffer;␊ |
96 | } dk_bd_send_key_t;␊ |
97 | ␊ |
98 | typedef struct␊ |
99 | {␊ |
100 | uint8_t reserved0000[14]; /* reserved, clear to zero */␊ |
101 | ␊ |
102 | uint16_t bufferLength; /* actual length on return */␊ |
103 | void * buffer;␊ |
104 | } dk_bd_read_disc_info_t;␊ |
105 | ␊ |
106 | typedef struct␊ |
107 | {␊ |
108 | uint8_t reserved0000[4]; /* reserved, clear to zero */␊ |
109 | ␊ |
110 | uint32_t address;␊ |
111 | uint8_t addressType;␊ |
112 | ␊ |
113 | uint8_t reserved0072[5]; /* reserved, clear to zero */␊ |
114 | ␊ |
115 | uint16_t bufferLength; /* actual length on return */␊ |
116 | void * buffer;␊ |
117 | } dk_bd_read_track_info_t;␊ |
118 | ␊ |
119 | #define DKIOCBDREADSTRUCTURE _IOW('d', 160, dk_bd_read_structure_t)␊ |
120 | #define DKIOCBDREPORTKEY _IOW('d', 161, dk_bd_report_key_t)␊ |
121 | #define DKIOCBDSENDKEY _IOW('d', 162, dk_bd_send_key_t)␊ |
122 | ␊ |
123 | #define DKIOCBDGETSPEED _IOR('d', 163, uint16_t)␊ |
124 | #define DKIOCBDSETSPEED _IOW('d', 163, uint16_t)␊ |
125 | ␊ |
126 | #define DKIOCBDREADDISCINFO _IOWR('d', 164, dk_bd_read_disc_info_t)␊ |
127 | #define DKIOCBDREADTRACKINFO _IOWR('d', 165, dk_bd_read_track_info_t)␊ |
128 | ␊ |
129 | #define DKIOCBDSPLITTRACK _IOW('d', 166, uint32_t)␊ |
130 | ␊ |
131 | #ifdef KERNEL␊ |
132 | #ifdef __cplusplus␊ |
133 | ␊ |
134 | /*␊ |
135 | * Kernel␊ |
136 | */␊ |
137 | ␊ |
138 | #include <IOKit/storage/IOBDMedia.h>␊ |
139 | #include <IOKit/storage/IOMediaBSDClient.h>␊ |
140 | ␊ |
141 | /*␊ |
142 | * Class␊ |
143 | */␊ |
144 | ␊ |
145 | class IOBDMediaBSDClient : public IOMediaBSDClient␊ |
146 | {␊ |
147 | OSDeclareDefaultStructors(IOBDMediaBSDClient)␊ |
148 | ␊ |
149 | protected:␊ |
150 | ␊ |
151 | struct ExpansionData { /* */ };␊ |
152 | ExpansionData * _expansionData;␊ |
153 | ␊ |
154 | public:␊ |
155 | ␊ |
156 | /*␊ |
157 | * Obtain this object's provider. We override the superclass's method␊ |
158 | * to return a more specific subclass of IOService -- IOBDMedia. This␊ |
159 | * method serves simply as a convenience to subclass developers.␊ |
160 | */␊ |
161 | ␊ |
162 | virtual IOBDMedia * getProvider() const;␊ |
163 | ␊ |
164 | /*␊ |
165 | * Process a BD-specific ioctl.␊ |
166 | */␊ |
167 | ␊ |
168 | virtual int ioctl(dev_t dev, u_long cmd, caddr_t data, int flags, proc_t proc);␊ |
169 | ␊ |
170 | OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 0);␊ |
171 | OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 1);␊ |
172 | OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 2);␊ |
173 | OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 3);␊ |
174 | OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 4);␊ |
175 | OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 5);␊ |
176 | OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 6);␊ |
177 | OSMetaClassDeclareReservedUnused(IOBDMediaBSDClient, 7);␊ |
178 | };␊ |
179 | ␊ |
180 | #endif /* __cplusplus */␊ |
181 | #endif /* KERNEL */␊ |
182 | #endif /* !_IOBDMEDIABSDCLIENT_H */␊ |
183 |