Root/
Source at commit 2097 created 11 years 8 months ago. By cosmo1t, ATI Radeon 5450 http://forge.voodooprojects.org/p/chameleon/issues/286/ | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 1998-2002 Apple Computer, Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * The contents of this file constitute Original Code as defined in and␊ |
7 | * are subject to the Apple Public Source License Version 1.1 (the␊ |
8 | * "License"). You may not use this file except in compliance with the␊ |
9 | * License. Please obtain a copy of the License at␊ |
10 | * http://www.apple.com/publicsource and read it before using this file.␊ |
11 | * ␊ |
12 | * This Original Code and all software distributed under the License are␊ |
13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the␊ |
17 | * License for the specific language governing rights and limitations␊ |
18 | * under the License.␊ |
19 | * ␊ |
20 | * @APPLE_LICENSE_HEADER_END@␊ |
21 | */␊ |
22 | /*␊ |
23 | * Copyright (c) 1999-2002 Apple Computer, Inc. All rights reserved.␊ |
24 | *␊ |
25 | * IOFWIsochPort is an abstract object that represents hardware on the bus␊ |
26 | * (locally or remotely) that sends or receives isochronous packets.␊ |
27 | * Local ports are implemented by the local device driver,␊ |
28 | * Remote ports are implemented by the driver for the remote device.␊ |
29 | *␊ |
30 | * HISTORY␊ |
31 | *␊ |
32 | * $Log: IOFWLocalIsochPort.h,v $␊ |
33 | * Revision 1.10 2004/06/10 20:57:36 niels␊ |
34 | * *** empty log message ***␊ |
35 | *␊ |
36 | * Revision 1.9 2003/08/30 00:16:44 collin␊ |
37 | * *** empty log message ***␊ |
38 | *␊ |
39 | * Revision 1.8 2003/08/15 04:36:55 niels␊ |
40 | * *** empty log message ***␊ |
41 | *␊ |
42 | * Revision 1.7 2003/07/29 22:49:22 niels␊ |
43 | * *** empty log message ***␊ |
44 | *␊ |
45 | * Revision 1.6 2003/07/21 06:52:58 niels␊ |
46 | * merge isoch to TOT␊ |
47 | *␊ |
48 | * Revision 1.5.14.1 2003/07/01 20:54:07 niels␊ |
49 | * isoch merge␊ |
50 | *␊ |
51 | */␊ |
52 | ␊ |
53 | ␊ |
54 | #ifndef _IOKIT_IOFWLOCALISOCHPORT_H␊ |
55 | #define _IOKIT_IOFWLOCALISOCHPORT_H␊ |
56 | ␊ |
57 | #import <IOKit/firewire/IOFireWireFamilyCommon.h>␊ |
58 | #import <IOKit/firewire/IOFWIsochPort.h>␊ |
59 | ␊ |
60 | class IOFireWireController;␊ |
61 | class IODCLProgram;␊ |
62 | ␊ |
63 | /*! @class IOFWLocalIsochPort␊ |
64 | */␊ |
65 | class IOFWLocalIsochPort : public IOFWIsochPort␊ |
66 | {␊ |
67 | OSDeclareDefaultStructors(IOFWLocalIsochPort)␊ |
68 | ␊ |
69 | ␉protected:␊ |
70 | ␉␊ |
71 | ␉␉IOFireWireController *␉fControl;␊ |
72 | ␉␉IODCLProgram *␉␉␉fProgram;␊ |
73 | ␉␊ |
74 | ␉/*! @struct ExpansionData␊ |
75 | ␉␉@discussion This structure will be used to expand the capablilties of the class in the future.␊ |
76 | ␉␉*/ ␊ |
77 | ␉␉struct ExpansionData␊ |
78 | ␉␉{␊ |
79 | ␉␉} ;␊ |
80 | ␉␊ |
81 | ␉␉ExpansionData *␉␉␉fExpansion ;␊ |
82 | ␊ |
83 | ␉protected :␊ |
84 | ␉␊ |
85 | ␉␉virtual void ␉␉␉free ( void ) ;␊ |
86 | ␊ |
87 | ␉public:␊ |
88 | ␉␊ |
89 | ␉␉virtual bool ␉␉␉init (␊ |
90 | ␉␉␉␉␉␉␉␉␉␉IODCLProgram *␉␉␉program, ␊ |
91 | ␉␉␉␉␉␉␉␉␉␉IOFireWireController *␉control ) ;␊ |
92 | ␉␊ |
93 | ␉␉// Return maximum speed and channels supported␊ |
94 | ␉␉// (bit n set = chan n supported)␊ |
95 | ␉␉virtual IOReturn ␉␉getSupported (␊ |
96 | ␉␉␉␉␉␉␉␉␉␉IOFWSpeed &␉␉␉␉maxSpeed, ␊ |
97 | ␉␉␉␉␉␉␉␉␉␉UInt64 &␉␉␉␉chanSupported ) ;␊ |
98 | ␉␊ |
99 | ␉␉// Allocate hardware resources for port␊ |
100 | ␉␉virtual IOReturn ␉␉allocatePort (␊ |
101 | ␉␉␉␉␉␉␉␉␉␉IOFWSpeed ␉␉␉␉speed, ␊ |
102 | ␉␉␉␉␉␉␉␉␉␉UInt32 ␉␉␉␉␉chan ) ;␊ |
103 | ␉␉virtual IOReturn ␉␉releasePort ( void ) ;␉// Free hardware resources␊ |
104 | ␉␉virtual IOReturn ␉␉start ( void ) ;␉␉// Start port processing packets␊ |
105 | ␉␉virtual IOReturn ␉␉stop ( void ) ;␉␉// Stop processing packets␊ |
106 | ␉␊ |
107 | ␉␉/*! @function notify␊ |
108 | ␉␉␉@abstract Informs hardware of a change to the DCL program.␊ |
109 | ␉␉␉@param notificationType Type of change.␊ |
110 | ␉␉␉@param dclCommandList List of DCL commands that have been changed.␊ |
111 | ␉␉␉@param numDCLCommands Number of commands in list.␊ |
112 | ␉␉␉@result IOKit error code. */␊ |
113 | ␉␉virtual IOReturn ␉␉notify(␊ |
114 | ␉␉␉␉␉␉␉␉␉␉IOFWDCLNotificationType ␉notificationType,␊ |
115 | ␉␉␉␉␉␉␉␉␉␉DCLCommand ** ␉␉␉␉dclCommandList, ␊ |
116 | ␉␉␉␉␉␉␉␉␉␉UInt32 ␉␉␉␉␉␉numDCLCommands ) ;␊ |
117 | ␉␉static void␉␉␉␉printDCLProgram (␊ |
118 | ␉␉␉␉␉␉␉␉␉␉const DCLCommand *␉␉dcl,␊ |
119 | ␉␉␉␉␉␉␉␉␉␉UInt32␉␉␉␉␉count = 0,␊ |
120 | ␉␉␉␉␉␉␉␉␉␉void (*printFN)( const char *format, ...) = NULL,␊ |
121 | ␉␉␉␉␉␉␉␉␉␉unsigned␉␉␉␉lineDelayMS = 0 ) ;␊ |
122 | ␉␉IOReturn␉␉␉␉setIsochResourceFlags (␊ |
123 | ␉␉␉␉␉␉␉␉␉␉IOFWIsochResourceFlags␉flags ) ;␊ |
124 | ␉␉IODCLProgram *␉␉␉getProgramRef() const ;␊ |
125 | ␊ |
126 | ␉␉IOReturn␉␉␉␉synchronizeWithIO() ;␊ |
127 | ␊ |
128 | ␉private:␊ |
129 | ␊ |
130 | ␉␉OSMetaClassDeclareReservedUnused ( IOFWLocalIsochPort, 0 ) ;␊ |
131 | ␉␉OSMetaClassDeclareReservedUnused ( IOFWLocalIsochPort, 1 ) ;␊ |
132 | };␊ |
133 | ␊ |
134 | #endif /* ! _IOKIT_IOFWLOCALISOCHPORT_H */␊ |
135 | ␊ |
136 |