Chameleon

Chameleon Svn Source Tree

Root/branches/slice/trunkM/i386/include/IOKit/bluetooth/IOBluetoothInternal.h

1/*
2File:BluetoothInternal.h
3Contains:Internal types and macros needed by public kernel APIs.
4Copyright:2003-2007 by Apple, Inc. All rights reserved.
5*/
6
7#pragma once
8
9typedef enum IOBluetoothHCIControllerConfigState
10{
11kIOBluetoothHCIControllerConfigStateOnline= 0,// Controller is configured and ready for clients
12kIOBluetoothHCIControllerConfigStateKernelSetupPending= 1,// New controller - kernel setup in progress
13kIOBluetoothHCIControllerConfigStateDaemonSetupPending= 2,// New controller - daemon setup in progress
14kIOBluetoothHCIControllerConfigStateDaemonSetupComplete= 3,// New controller - daemon setup complete
15kIOBluetoothHCIControllerConfigStateResetPending= 4,// HCI reset has been issued
16kIOBluetoothHCIControllerConfigStateKernelPostResetSetupPending= 5,// HCI reset complete - kernel setup in progress
17kIOBluetoothHCIControllerConfigStateDaemonPostResetSetupPending= 6,// HCI reset complete - daemon setup in progress
18kIOBluetoothHCIControllerConfigStateDaemonPostResetSetupComplete= 7,// HCI reset complete - daemon setup complete
19kIOBluetoothHCIControllerConfigStateUninitialized= 8
20} IOBluetoothHCIControllerConfigState;
21
22typedef UInt32 IOBluetoothHCIControllerPowerOptions;
23enum
24{
25kIOBluetoothHCIControllerPowerOptionPowerOffSupported= 0x00000001,
26kIOBluetoothHCIControllerPowerOptionWakeFromExistingConnectionSupported= 0x00000002,
27kIOBluetoothHCIControllerPowerOptionWakeFromNewConnectionSupported= 0x00000004,
28kIOBluetoothHCIControllerPowerOptionIdleWithConnectionSupported= 0x00000008,
29kIOBluetoothHCIControllerPowerOptionIdleWhenInternalPower= 0x00000010
30};
31
32enum IOBluetoothHCIControllerSleepOptions
33{
34kIOBluetoothHCIControllerAllowWakeFromExistingConnection= 0x00000001,
35kIOBluetoothHCIControllerAllowWakeFromNewConnection= 0x00000002,
36kIOBluetoothHCIControllerTemporaryOnFromIdle= 0x00000004
37};
38
39#define HCI_CONTROLLER_POWER_OFF_SUPPORTED( _controllerPowerOptions )( ( _controllerPowerOptions & kIOBluetoothHCIControllerPowerOptionPowerOffSupported ) == kIOBluetoothHCIControllerPowerOptionPowerOffSupported )
40#define HCI_CONTROLLER_SLEEP_SUPPORTED( _controllerPowerOptions )\
41( ( _controllerPowerOptions &\
42( kIOBluetoothHCIControllerPowerOptionWakeFromExistingConnectionSupported |\
43 kIOBluetoothHCIControllerPowerOptionWakeFromNewConnectionSupported ) ) != 0 )
44
45typedef enum IOBluetoothHCIControllerInternalPowerState
46{
47kIOBluetoothHCIControllerInternalPowerStateOff= 0,
48kIOBluetoothHCIControllerInternalPowerStateOn= 1,
49kIOBluetoothHCIControllerInternalPowerStateSleep= 2,
50kIOBluetoothHCIControllerInternalPowerStateIdle= 3
51} IOBluetoothHCIControllerInternalPowerState;
52
53enum IOBluetoothHCIControllerPowerStateOrdinal
54{
55kIOBluetoothHCIControllerPowerStateOrdinalOff= 0,
56kIOBluetoothHCIControllerPowerStateOrdinalIdle= 1,
57kIOBluetoothHCIControllerPowerStateOrdinalOn= 2
58};
59
60typedef UInt32 IOBluetoothHCIControllerFeatureFlags;
61
62enum
63{
64kIOBluetoothHCIControllerFeatureFlagVendorCommandFlowControl= 0x00000001,
65kIOBluetoothHCIControllerFeatureFlagSCOSupported= 0x00000002,
66kIOBluetoothHCIControllerFeatureFlagSerializeCommands= 0x10000000
67};
68
69//===========================================================================================================================
70//Private_UnifiedInquiryResult
71//===========================================================================================================================
72
73typedef structIOBluetoothHCIUnifiedInquiryResultIOBluetoothHCIUnifiedInquiryResult;
74structIOBluetoothHCIUnifiedInquiryResult
75{
76BluetoothHCIInquiryResultoriginalInquiryResult;
77
78// event code will be either:
79// kBluetoothHCIEventInquiryResult, kBluetoothHCIEventInquiryResultWithRSSI, or kBluetoothHCIEventExtendedInquiryResult
80
81BluetoothHCIEventCode eventCode;
82
83// kBluetoothHCIEventExtendedInquiryResult only
84
85BluetoothHCIExtendedInquiryResponseextendedInquiryResponse;
86
87// kBluetoothHCIEventExtendedInquiryResult or kBluetoothHCIEventInquiryResultWithRSSI only
88
89UInt8reserved;
90BluetoothHCIRSSIValueRSSIValue;
91};
92
93#if BLUETOOTH_VERSION_MAX_ALLOWED >= BLUETOOTH_VERSION_2_0
94
95enum BluetoothHCIExtendedInquiryResponseDataTypesAppleSpecificInfo
96{
97kBluetoothHCIExtendedInquiryResponseDataTypeAppleSpecificInfoReserved=0x00,
98kBluetoothHCIExtendedInquiryResponseDataTypeAppleSpecificInfoModelIdentifier=0x01,/* UTF8String char data */
99kBluetoothHCIExtendedInquiryResponseDataTypeAppleSpecificInfoThirdPartyAdvertising=0x02,
100};
101
102#endif /* BLUETOOTH_VERSION_MAX_ALLOWED >= BLUETOOTH_VERSION_2_0 */
103
104

Archive Download this file

Revision: 1171