Chameleon

Chameleon Svn Source Tree

Root/branches/rewrite/i386/include/IOKit/firewire/IOFireWireLocalNode.h

Source at commit 1129 created 12 years 11 months ago.
By meklort, Change options.o so that it reloads the system config as well. Also change it so that it uses that config for variables (NOTE: if the calue exists in chameleonConfig, it's used instead.
1/*
2 * IOFireWireLocalNode.h
3 * IOFireWireFamily
4 *
5 * Created by Niels on Fri Aug 16 2002.
6 * Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
7 *
8 * @APPLE_LICENSE_HEADER_START@
9 *
10 * The contents of this file constitute Original Code as defined in and
11 * are subject to the Apple Public Source License Version 1.1 (the
12 * "License"). You may not use this file except in compliance with the
13 * License. Please obtain a copy of the License at
14 * http://www.apple.com/publicsource and read it before using this file.
15 *
16 * This Original Code and all software distributed under the License are
17 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
18 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
19 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
21 * License for the specific language governing rights and limitations
22 * under the License.
23 *
24 * @APPLE_LICENSE_HEADER_END@
25 */
26/*
27$Log: IOFireWireLocalNode.h,v $
28Revision 1.8 2009/03/26 22:45:17 calderon
29<rdar://6728033> User client fails to terminate with unexpected consuequences
30
31Revision 1.7 2008/11/14 00:17:12 arulchan
32fix for rdar://5939334
33
34Revision 1.6 2005/02/18 22:56:53 gecko1
353958781 Q45C EVT: FireWire ASP reporter says port speed is 800 Mb/sec
36
37Revision 1.5 2003/02/20 02:00:12 collin
38*** empty log message ***
39
40Revision 1.4 2003/02/17 21:47:53 collin
41*** empty log message ***
42
43Revision 1.3 2002/10/18 23:29:44 collin
44fix includes, fix cast which fails on new compiler
45
46Revision 1.2 2002/09/25 00:27:24 niels
47flip your world upside-down
48
49*/
50
51// public
52#import <IOKit/firewire/IOFireWireNub.h>
53
54class IOFireWireLocalNode;
55
56#pragma mark -
57
58/*!
59@class IOFireWireLocalNodeAux
60*/
61
62class IOFireWireLocalNodeAux : public IOFireWireNubAux
63{
64 OSDeclareDefaultStructors(IOFireWireLocalNodeAux)
65
66friend class IOFireWireLocalNode;
67
68protected:
69
70/*!
71@struct ExpansionData
72@discussion This structure will be used to expand the capablilties of the class in the future.
73 */
74
75 struct ExpansionData { };
76
77/*!
78@var reserved
79Reserved for future use. (Internal use only)
80*/
81
82ExpansionData * reserved;
83
84 virtual bool init( IOFireWireLocalNode * primary );
85virtualvoid free();
86
87private:
88 OSMetaClassDeclareReservedUnused(IOFireWireLocalNodeAux, 0);
89 OSMetaClassDeclareReservedUnused(IOFireWireLocalNodeAux, 1);
90 OSMetaClassDeclareReservedUnused(IOFireWireLocalNodeAux, 2);
91 OSMetaClassDeclareReservedUnused(IOFireWireLocalNodeAux, 3);
92
93};
94
95#pragma mark -
96
97/*! @class IOFireWireLocalNode
98*/
99
100class IOFireWireLocalNode : public IOFireWireNub
101{
102 OSDeclareDefaultStructors(IOFireWireLocalNode)
103
104friend class IOFireWireLocalNodeAux;
105
106/*------------------Useful info about device (also available in the registry)--------*/
107protected:
108
109/*-----------Methods provided to FireWire device clients-------------*/
110public:
111
112// Set up properties affected by bus reset
113virtual void setNodeProperties(UInt32 generation, UInt16 nodeID, UInt32 *selfIDs, int numIDs, IOFWSpeed maxSpeed );
114
115/*
116* Standard nub initialization
117*/
118virtual bool init(OSDictionary * propTable);
119virtual bool attach(IOService * provider );
120
121virtual void handleClose( IOService * forClient,
122IOOptionBits options ) ;
123virtual bool handleOpen( IOService * forClient,
124IOOptionBits options,
125void * arg ) ;
126virtual bool handleIsOpen( const IOService * forClient ) const;
127
128/*
129* Trick method to create protocol user clients
130*/
131virtual IOReturn setProperties( OSObject * properties );
132
133protected:
134
135virtual IOFireWireNubAux * createAuxiliary( void );
136
137public:
138virtual IOReturn message( UInt32 type, IOService * provider, void * argument );
139virtual void free();
140
141protected:
142OSSet * fOpenClients;
143};
144

Archive Download this file

Revision: 1129