1/*
2 * Copyright (c) 2004-2007 Apple Inc. All rights reserved.
3 *
4 * IMPORTANT:  This Apple software is supplied to you by Apple Inc. ("Apple") in
5 * consideration of your agreement to the following terms, and your use, installation,
6 * modification or redistribution of this Apple software constitutes acceptance of these
7 * terms.  If you do not agree with these terms, please do not use, install, modify or
8 * redistribute this Apple software.
9 *
10 * In consideration of your agreement to abide by the following terms, and subject to these
11 * terms, Apple grants you a personal, non exclusive license, under Apple�s copyrights in this
12 * original Apple software (the �Apple Software�), to use, reproduce, modify and redistribute
13 * the Apple Software, with or without modifications, in source and/or binary forms; provided
14 * that if you redistribute the Apple Software in its entirety and without modifications, you
15 * must retain this notice and the following text and disclaimers in all such redistributions
16 * of the Apple Software.  Neither the name, trademarks, service marks or logos of Apple
17 * Computer, Inc. may be used to endorse or promote products derived from the Apple Software
18 * without specific prior written permission from Apple. Except as expressly stated in this
19 * notice, no other rights or licenses, express or implied, are granted by Apple herein,
20 * including but not limited to any patent rights that may be infringed by your derivative
21 * works or by other works in which the Apple Software may be incorporated.
22 *
23 * The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO WARRANTIES,
24 * EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-
25 * INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE
26 * SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
27 *
28 * IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
30 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE,
31 * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND
32 * WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR
33 * OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 */
35
36
37//�����������������������������������������������������������������������������
38//	Imports
39//�����������������������������������������������������������������������������
40
41#import <Cocoa/Cocoa.h>
42#import <IOKit/IOKitLib.h>
43
44
45//�����������������������������������������������������������������������������
46//	Interface
47//�����������������������������������������������������������������������������
48
49@interface SCSIDevice : NSObject
50{
51	NSString *		physicalInterconnect;
52	NSString *		manufacturer;
53	NSString *		model;
54	NSString *		revision;
55	NSString *		peripheralDeviceType;
56	NSNumber *		domainIdentifier;
57	NSNumber *		deviceIdentifier;
58	NSArray *		features;
59	NSImage *		image;
60	BOOL			devicePresent;
61	BOOL			isInitiator;
62}
63
64- ( id ) initWithService: ( io_service_t ) service;
65+ ( int ) domainIDForService: ( io_service_t ) service;
66+ ( int ) targetIDForService: ( io_service_t ) service;
67- ( void ) setPhysicalInterconnect: ( NSString * ) p;
68- ( void ) setManufacturer: ( NSString * ) m;
69- ( void ) setModel: ( NSString * ) m;
70- ( void ) setRevision: ( NSString * ) r;
71- ( void ) setPeripheralDeviceType: ( NSString * ) p;
72- ( void ) setDomainIdentifier: ( NSNumber * ) i;
73- ( void ) setDeviceIdentifier: ( NSNumber * ) i;
74- ( void ) setFeatures: ( NSArray * ) f;
75- ( void ) setIsInitiator: ( BOOL ) value;
76- ( void ) setDevicePresent: ( BOOL ) value;
77- ( void ) setImage: ( NSImage * ) image;
78
79- ( NSString * ) title;
80- ( NSString * ) physicalInterconnect;
81- ( NSString * ) manufacturer;
82- ( NSString * ) model;
83- ( NSString * ) revision;
84- ( NSString * ) peripheralDeviceType;
85- ( NSNumber * ) domainIdentifier;
86- ( NSNumber * ) deviceIdentifier;
87- ( NSArray * ) features;
88- ( NSImage * ) image;
89- ( BOOL ) devicePresent;
90- ( BOOL ) isInitiator;
91
92- ( IBAction ) reprobe: ( id ) sender;
93
94- ( void ) clearInformation;
95- ( NSArray * ) buildFeatureList: ( NSNumber * ) number;
96
97
98@end