Chameleon

Chameleon Svn Source Tree

Root/branches/Chimera/i386/include/IOKit/usb/IOUSBNub.h

1/*
2 * Copyright (c) 1998-2006 Apple Computer, 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_IOUSBNUB_H
25#define _IOKIT_IOUSBNUB_H
26
27#include <IOKit/IOService.h>
28#include <libkern/c++/OSData.h>
29#include <IOKit/IOMemoryDescriptor.h>
30
31#include <IOKit/usb/USB.h>
32
33class IOUSBController;
34class IOUSBPipe;
35
36/*!
37 @class IOUSBNub
38 @abstract Super class for for IOUSBDevice and IOUSBInterface.
39 */
40class IOUSBNub : public IOService
41{
42 OSDeclareDefaultStructors(IOUSBNub)
43
44public:
45
46// IOKit method
47virtual voidjoinPMtree ( IOService * driver );
48
49 virtual boolUSBCompareProperty(OSDictionary * matching, const char * key );
50
51 boolIsWildCardMatch( OSDictionary * matching, const char * key );
52 boolUSBComparePropertyWithMask( OSDictionary *matching, const char *key, const char * maskKey );
53};
54
55#ifdef __cplusplus
56extern "C" {
57#endif
58
59void printDescriptor(const IOUSBDescriptorHeader *desc);
60void printDeviceDescriptor(const IOUSBDeviceDescriptor *desc);
61void printConfigDescriptor(const IOUSBConfigurationDescriptor *cd);
62void printEndpointDescriptor(const IOUSBEndpointDescriptor *ed);
63void printInterfaceDescriptor(const IOUSBInterfaceDescriptor *id);
64
65#ifdef __cplusplus
66}
67#endif
68
69#endif /* _IOKIT_IOUSBNUB_H */
70

Archive Download this file

Revision: 2225