Chameleon

Chameleon Svn Source Tree

Root/branches/slice/trunkM/i386/include/IOKit/scsi/IOSCSIPeripheralDeviceType00.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#ifndef _IOKIT_IO_SCSI_PERIPHERAL_DEVICE_TYPE_OO_H_
25#define _IOKIT_IO_SCSI_PERIPHERAL_DEVICE_TYPE_OO_H_
26
27#if defined(KERNEL) && defined(__cplusplus)
28
29
30//-----------------------------------------------------------------------------
31//Includes
32//-----------------------------------------------------------------------------
33
34// SCSI Architecture Model Family includes
35#include <IOKit/scsi/IOSCSIBlockCommandsDevice.h>
36
37
38//-----------------------------------------------------------------------------
39//Class Declaration
40//-----------------------------------------------------------------------------
41
42class IOSCSIPeripheralDeviceType00 : public IOSCSIBlockCommandsDevice
43{
44
45OSDeclareDefaultStructors ( IOSCSIPeripheralDeviceType00 )
46
47protected:
48
49// Reserve space for future expansion.
50struct IOSCSIPeripheralDeviceType00ExpansionData
51{
52OSSet *fClients;
53};
54IOSCSIPeripheralDeviceType00ExpansionData * fIOSCSIPeripheralDeviceType00Reserved;
55
56public:
57
58boolinit ( OSDictionary * propTable );
59virtual boolstart ( IOService * provider );
60virtual voidfree ( void );
61
62virtual boolhandleOpen (
63 IOService * client,
64 IOOptionBits options,
65 void * access );
66
67virtual voidhandleClose (
68IOService * client,
69IOOptionBits options );
70
71virtual boolhandleIsOpen ( const IOService * client ) const;
72
73 virtual IOReturnnewUserClient (
74 task_towningTask,
75 void *securityID,
76 UInt32type,
77 OSDictionary * properties,
78 IOUserClient **handler );
79virtual void CreateStorageServiceNub ( void );
80
81virtual char *GetVendorString ( void );
82virtual char *GetProductString ( void );
83virtual char *GetRevisionString ( void );
84
85
86private:
87
88// Space reserved for future expansion.
89OSMetaClassDeclareReservedUnused ( IOSCSIPeripheralDeviceType00, 1 );
90OSMetaClassDeclareReservedUnused ( IOSCSIPeripheralDeviceType00, 2 );
91OSMetaClassDeclareReservedUnused ( IOSCSIPeripheralDeviceType00, 3 );
92OSMetaClassDeclareReservedUnused ( IOSCSIPeripheralDeviceType00, 4 );
93OSMetaClassDeclareReservedUnused ( IOSCSIPeripheralDeviceType00, 5 );
94OSMetaClassDeclareReservedUnused ( IOSCSIPeripheralDeviceType00, 6 );
95OSMetaClassDeclareReservedUnused ( IOSCSIPeripheralDeviceType00, 7 );
96OSMetaClassDeclareReservedUnused ( IOSCSIPeripheralDeviceType00, 8 );
97
98};
99
100#endif/* defined(KERNEL) && defined(__cplusplus) */
101
102#endif/* _IOKIT_IO_SCSI_PERIPHERAL_DEVICE_TYPE_OO_H_ */
103

Archive Download this file

Revision: 1171