|
1 # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 # All rights reserved. |
|
3 # This component and the accompanying materials are made available |
|
4 # under the terms of the License "Symbian Foundation License v1.0" |
|
5 # which accompanies this distribution, and is available |
|
6 # at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". |
|
7 # |
|
8 # Initial Contributors: |
|
9 # Nokia Corporation - initial contribution. |
|
10 # |
|
11 # Contributors: |
|
12 # |
|
13 # Description: |
|
14 # |
|
15 |
|
16 # Bluetooth HCI Commands to be generated |
|
17 # Syntax is documented below. ("[]" brackets are used for grouping with regexp wildcards, and wildcard operators will only directly follow a ']') |
|
18 # |
|
19 # COMMAND_NAME(COMMAND_CREDITS,EXPECTS_COMMAND_STATUS,EXPECTS_COMMAND_COMPLETE[,Match,MATCHING_EVENT_NAME,CONCLUDES_COMMAND,CONTINUE_MATCHING[,MATCH_OPERANDS]*]*): COMMAND_PARAMETERS |
|
20 # |
|
21 # Variables: |
|
22 # COMMAND_NAME = The name of the command for which a class will be generated. |
|
23 # COMMAND_CREDITS = The number of "command credits" this command consumes when sent to a controller. |
|
24 # EXPECTS_COMMAND_STATUS = Boolean specifying whether the command expects a command status event from the controller in response. |
|
25 # EXPECTS_COMMAND_COMPLETE = Boolean specifying whether the command expects a command complete event from the controller. |
|
26 # MATCHING_EVENT_NAME = The name of an event that will be "matched" with this command |
|
27 # CONCLUDES_COMMAND = Boolean specifying whether the matched event represents the conclusion of the request made by the command. |
|
28 # CONTINUE_MATCHING = Boolean specifying whether the command queue should continue trying to match the event with other sent commands. |
|
29 # MATCH_OPERANDS = Used to perform the match on more than just the event opcode. |
|
30 # |
|
31 # COMMAND_PARAMETERS = [COMMAND_PARAMETER]? [,COMMAND_BLOCK_PARAM]* |
|
32 # COMMAND_PARAMETER = PARAMETER_NAME (PARAMETER_SIZE) |
|
33 # COMMAND_BLOCK_PARAM = COMMAND_PARAMETER [* PARAMETER_NAME] |
|
34 # The parameters to the command are typically just a name and a size. If the parameters feature an array (e.g. WriteStoredLinkKey) |
|
35 # then the '*' can be used to make the construct with the appropriate multiplicity. |
|
36 # |
|
37 # |
|
38 ##### 7.1 Link Control Commands |
|
39 # |
|
40 Inquiry(1,True,False,Match,InquiryResultEvent,False,False,Match,InquiryResultwithRSSIEvent,False,False,Match,ExtendedInquiryResultEvent,False,False,Match,InquiryCompleteEvent,True,False,Match,CommandCompleteEvent,True,True,CommandOpcode_KInquiryCancelOpcode): LAP (3) InquiryLength(1) NumResponses(1) |
|
41 InquiryCancel(1,False,True,Match,CommandCompleteEvent,True,True,CommandOpcode_KInquiryCancelOpcode): |
|
42 PeriodicInquiryMode(1,False,True): MaxPeriodLength (2), MinPeriodLength (2), LAP (3), InquiryLength (1), NumResponses (1) |
|
43 ExitPeriodicInquiryMode(1,False,True): |
|
44 CreateACLConnection(1,True,False,Match,ConnectionCompleteEvent,True,False,BDADDR): BDADDR (6), PacketType (2), PageScanRepetitionMode (1), Reserved (1), ClockOffset (2), AllowRoleSwitch (1) |
|
45 Disconnect(1,True,False,Match,DisconnectionCompleteEvent,True,False): ConnectionHandle (2), Reason (1) |
|
46 CreateConnectionCancel(1,False,True): BDADDR (6) |
|
47 AcceptConnectionRequest(1,True,False,Match,ConnectionCompleteEvent,True,False,BDADDR): BDADDR (6), Role (1) |
|
48 RejectConnectionRequest(1,True,False,Match,ConnectionCompleteEvent,True,False,BDADDR): BDADDR (6), Reason (1) |
|
49 LinkKeyRequestReply(1,False,True): BDADDR (6), LinkKey (16) |
|
50 LinkKeyRequestReplyNegative(1,False,True): BDADDR (6) |
|
51 PINCodeRequestReply(1,False,True): BDADDR (6), PINCodeLength (1), PINCode (16) |
|
52 PINCodeRequestReplyNegative(1,False,True): BDADDR (6) |
|
53 ChangeConnectionPacketType(1,True,False,Match,ConnectionPacketTypeChangedEvent,True,False): ConnectionHandle (2), PacketType (2) |
|
54 AuthenticationRequested(1,True,False,Match,AuthenticationCompleteEvent,True,False): ConnectionHandle (2) |
|
55 SetConnectionEncryption(1,True,False,Match,EncryptionChangeEvent,True,False): ConnectionHandle (2), EncryptionEnable (1) |
|
56 ChangeLinkKey(1,True,False,Match,LinkKeyNotificationEvent,False,False,Match,ChangeLinkKeyEvent,True,False): ConnectionHandle (2) |
|
57 MasterLinkKey(1,True,False,Match,MasterLinkKeyEvent,True,False): KeyFlag (1) |
|
58 RemoteNameRequest(1,True,False,Match,RemoteNameReqCompleteEvent,True,False,Match,RemoteHostSupportedFeaturesNotificationEvent,False,False): BDADDR (6), PageScanRepetitionMode (1), Reserved (1), ClockOffset (2) |
|
59 RemoteNameRequestCancel(1,False,True): BDADDR (6) |
|
60 ReadRemoteSupportedFeatures(1,True,False,Match,ReadRemSuppFeatCompleteEvent,True,False): ConnectionHandle (2) |
|
61 ReadRemoteExtendedFeatures(1,True,False,Match,ReadRemoteExtendedFeaturesCompleteEvent,True,False): ConnectionHandle (2), PageNumber (1) |
|
62 ReadRemoteVersionInfo(1,True,False,Match,ReadRemVerInfoCompleteEvent,True,False): ConnectionHandle (2) |
|
63 ReadClockOffset(1,True,False,Match,ReadClockOffsetEvent,True,False): ConnectionHandle (2) |
|
64 ReadLMPHandle(1,False,True): ConnectionHandle (2) |
|
65 SetupSynchronousConnection(1,True,False,Match,SynchronousConnectionCompleteEvent,True,False,BDADDR,Match,SynchronousConnectionChangedEvent,True,False): ConnectionHandle (2), TransmitBandwidth (4), ReceiveBandwidth (4), MaxLatency (2), VoiceSetting (2), RetransmissionEffort (1), PacketType (2), @BDADDR (6) |
|
66 AcceptSynchronousConnectionRequest(1,True,False,Match,SynchronousConnectionCompleteEvent,True,False,BDADDR): BDADDR (6), TransmitBandwidth (4), ReceiveBandwidth (4), MaxLatency (2), ContentFormat (2), RetransmissionEffort (1), PacketType (2) |
|
67 RejectSynchronousConnectionRequest(1,True,False,Match,SynchronousConnectionCompleteEvent,True,False,BDADDR): BDADDR (6), Reason (1) |
|
68 IOCapabilityRequestReply(1,False,True,Match,IOCapabilityResponseEvent,False,False,Match,RemoteOOBDataRequestEvent,False,False): BDADDR (6), IOCapability (1), OOBDataPresent (1), AuthenticationRequirements (1) |
|
69 UserConfirmationRequestReply(1,False,True): BDADDR (6) |
|
70 UserConfirmationRequestNegativeReply(1,False,True): BDADDR (6) |
|
71 UserPasskeyRequestReply(1,False,True): BDADDR (6), NumericValue (4) |
|
72 UserPasskeyRequestNegativeReply(1,False,True): BDADDR (6) |
|
73 RemoteOOBDataRequestReply(1,False,True): BDADDR (6), OOBDataC (16), OOBDataR (16) |
|
74 RemoteOOBDataRequestNegativeReply(1,False,True): BDADDR (6) |
|
75 IOCapabilityRequestNegativeReply(1,False,True): BDADDR (6), Reason (1) |
|
76 # |
|
77 ##### 7.2 Link Policy Commands |
|
78 # |
|
79 HoldMode(1,True,False,Match,ModeChangeEvent,True,False,ConnectionHandle): ConnectionHandle (2), HoldModeMaxInterval (2), HoldModeMinInterval (2) |
|
80 SniffMode(1,True,False,Match,ModeChangeEvent,True,False,ConnectionHandle): ConnectionHandle (2), SniffMaxInterval (2), SniffMinInterval (2), SniffAttempt (2), SniffTimeout (2) |
|
81 ExitSniffMode(1,True,False,Match,ModeChangeEvent,True,False,ConnectionHandle): ConnectionHandle (2) |
|
82 ParkMode(1,True,False,Match,ModeChangeEvent,True,False,ConnectionHandle): ConnectionHandle (2), BeaconMaxInterval (2), BeaconMinInterval (2) |
|
83 ExitParkMode(1,True,False,Match,ModeChangeEvent,True,False,ConnectionHandle): ConnectionHandle (2) |
|
84 QOSSetup(1,True,False,Match,QOSSetupCompleteEvent,True,False): ConnectionHandle (2), Flags (1), ServiceType (1), TokenRate (4), PeakBandwidth (4), Latency (4), DelayVariation (4) |
|
85 RoleDiscovery(1,False,True): ConnectionHandle (2) |
|
86 SwitchRole(1,True,False,Match,RoleChangeEvent,True,False): BDADDR (6), Role (1) |
|
87 ReadLinkPolicySettings(1,False,True): ConnectionHandle (2) |
|
88 WriteLinkPolicySettings(1,False,True): ConnectionHandle (2), LinkPolicySettings (2) |
|
89 ReadDefaultLinkPolicySettings(1,False,True): |
|
90 WriteDefaultLinkPolicySettings(1,False,True): DefaultLinkPolicySettings (2) |
|
91 FlowSpecification(1,True,False,Match,FlowSpecificationCompleteEvent,True,False): ConnectionHandle (2), Flags (1), FlowDirection (1), ServiceType (1), TokenRate (4), TokenBucketSize (4), PeakBandwidth (4), AccessLatency (4) |
|
92 ### SniffSubrating command would match with a sniff subrating event, however if not in sniff mode then the |
|
93 ### sniff subrating event will not be generated until sniff mode is entered, so we cannot match as we need to |
|
94 ### conclude the sniff subrating command upon the receipt of the command complete event. As it appears that |
|
95 ### we would expect the sniff subrating event after the complete matching to the sniff subrating event |
|
96 ### is pointless. |
|
97 SniffSubrating(1,False,True): ConnectionHandle (2), MaximumLatency (2), MinimumRemoteTimeout (2), MinimumLocalTimeout (2) |
|
98 # |
|
99 ##### 7.3 Controller & Baseband Commands |
|
100 # |
|
101 SetEventMask(1,False,True): EventMask (8) |
|
102 Reset(1,False,True): |
|
103 SetEventFilter(1,False,True): FilterType (1), FilterConditionType (1), Condition (7) |
|
104 Flush(1,False,True,Match,FlushOccurredEvent,False,False): ConnectionHandle (2) |
|
105 ReadPINType(1,False,True): |
|
106 WritePINType(1,False,True): PINType (1) |
|
107 CreateNewUnitKey(1,False,True): |
|
108 ReadStoredLinkKey(1,False,True,Match,ReturnLinkKeysEvent,False,False): BDADDR (6), ReadAllFlag (1) |
|
109 WriteStoredLinkKey(1,False,True): NumKeysToWrite (1), BDADDR (6) * NumKeysToWrite, LinkKey (16) * NumKeysToWrite |
|
110 DeleteStoredLinkKey(1,False,True): BDADDR (6), DeleteAllFlag (1) |
|
111 WriteLocalName(1,False,True): LocalName (248) |
|
112 ReadLocalName(1,False,True): |
|
113 ReadConnectionAcceptTimeout(1,False,True): |
|
114 WriteConnectionAcceptTimeout(1,False,True): ConnAcceptTimeout (2) |
|
115 ReadPageTimeout(1,False,True): |
|
116 WritePageTimeout(1,False,True): PageTimeout (2) |
|
117 ReadScanEnable(1,False,True): |
|
118 WriteScanEnable(1,False,True): ScanEnable (1) |
|
119 ReadPageScanActivity(1,False,True): |
|
120 WritePageScanActivity(1,False,True): PageScanInterval (2), PageScanWindow (2) |
|
121 ReadInquiryScanActivity(1,False,True): |
|
122 WriteInquiryScanActivity(1,False,True): InquiryScanInterval (2), InquiryScanWindow (2) |
|
123 ReadAuthenticationEnable(1,False,True): |
|
124 WriteAuthenticationEnable(1,False,True): AuthenticationEnable (1) |
|
125 ReadClassOfDevice(1,False,True): |
|
126 WriteClassOfDevice(1,False,True): ClassOfDevice (3) |
|
127 ReadVoiceSetting(1,False,True): |
|
128 WriteVoiceSetting(1,False,True): VoiceSetting (2) |
|
129 ReadAutomaticFlushTimeout(1,False,True): ConnectionHandle (2) |
|
130 WriteAutomaticFlushTimeout(1,False,True): ConnectionHandle (2), FlushTimeout (2) |
|
131 ReadNumBroadcastRetransmissions(1,False,True): |
|
132 WriteNumBroadcastRetransmissions(1,False,True): NumBroadcastRetransmissions (1) |
|
133 ReadHoldModeActivity(1,False,True): |
|
134 WriteHoldModeActivity(1,False,True): HoldModeActivity (1) |
|
135 ReadTransmitPowerLevel(1,False,True): ConnectionHandle (2), Type (1) |
|
136 ReadSynchronousFlowControlEnable(1,False,True): |
|
137 WriteSynchronousFlowControlEnable(1,False,True): SynchronousFlowControlEnable (1) |
|
138 SetControllerToHostFlowControl(1,False,True): FlowControlEnable (1) |
|
139 HostBufferSize(1,False,True): HostACLDataPacketLength (2), HostSynchronousDataPacketLength (1), HostTotalNumACLDataPackets (2), HostTotalNumSynchronousDataPackets (2) |
|
140 HostNumberOfCompletedPackets(0,False,False): NumberOfHandles (1), ConnectionHandle (2) * NumberOfHandles, HostNumOfCompletedPackets (2) * NumberOfHandles |
|
141 ReadLinkSupervisionTimeout(1,False,True): ConnectionHandle (2) |
|
142 WriteLinkSupervisionTimeout(1,False,True): ConnectionHandle (2), LinkSupervisionTimeout (2) |
|
143 ReadNumberOfSupportedIAC(1,False,True): |
|
144 ReadCurrentIACLAP(1,False,True): |
|
145 WriteCurrentIACLAP(1,False,True): NumCurrentIAC (1), IACLAP (3) * NumCurrentIAC |
|
146 SetAFHHostChannelClassification(1,False,True): AFHHostChannelClassification (10) |
|
147 ReadInquiryScanType(1,False,True): |
|
148 WriteInquiryScanType(1,False,True): ScanType (1) |
|
149 ReadInquiryMode(1,False,True): |
|
150 WriteInquiryMode(1,False,True): InquiryMode (1) |
|
151 ReadPageScanType(1,False,True): |
|
152 WritePageScanType(1,False,True): PageScanType (1) |
|
153 ReadAFHChannelAssessmentMode(1,False,True): |
|
154 WriteAFHChannelAssessmentMode(1,False,True): AFHChannelAssessmentMode (1) |
|
155 ReadExtendedInquiryResponse(1,False,True): |
|
156 WriteExtendedInquiryResponse(1,False,True): FECRequired (1), ExtendedInquiryResponse (240) |
|
157 RefreshEncryptionKey(1,True,False,Match,EncryptionKeyRefreshCompleteEvent,True,False,ConnectionHandle): ConnectionHandle (2) |
|
158 ReadSimplePairingMode(1,False,True): |
|
159 WriteSimplePairingMode(1,False,True): SimplePairingMode (1) |
|
160 ReadLocalOOBData(1,False,True): |
|
161 ReadInquiryResponseTransmitPowerLevel(1,False,True): |
|
162 WriteInquiryResponseTransmitPowerLevel(1,False,True): TxPowerLevel (1) |
|
163 SendKeypressNotification(1,False,True): BDADDR (6), NotificationType (1) |
|
164 ReadDefaultErroneousDataReporting(1,False,True): |
|
165 WriteDefaultErroneousDataReporting(1,False,True): ErroneousDataReporting (1) |
|
166 EnhancedFlush(1,True,False,Match,EnhancedFlushCompleteEvent,True,False,ConnectionHandle): ConnectionHandle (2), PacketType (1) |
|
167 # |
|
168 ##### 7.4 Informational Parameters |
|
169 # |
|
170 ReadLocalVersionInfo(1,False,True): |
|
171 ReadLocalSupportedCommands(1,False,True): |
|
172 ReadLocalSupportedFeatures(1,False,True): |
|
173 ReadLocalExtendedFeatures(1,False,True): PageNumber (1) |
|
174 ReadBufferSize(1,False,True): |
|
175 ReadBdaddr(1,False,True): |
|
176 # |
|
177 ##### 7.5 Status Parameters |
|
178 # |
|
179 ReadFailedContactCounter(1,False,True): ConnectionHandle (2) |
|
180 ResetFailedContactCounter(1,False,True): ConnectionHandle (2) |
|
181 ReadLinkQuality(1,False,True): ConnectionHandle (2) |
|
182 ReadRSSI(1,False,True): ConnectionHandle (2) |
|
183 ReadAFHChannelMap(1,False,True): ConnectionHandle (2) |
|
184 ReadClock(1,False,True): ConnectionHandle (2), WhichClock (1) |
|
185 # |
|
186 ##### 7.6 Testing Commands |
|
187 # |
|
188 ReadLoopbackMode(1,False,True): |
|
189 WriteLoopbackMode(1,False,True): LoopbackMode (1) |
|
190 EnableDeviceUnderTestMode(1,False,True): |
|
191 WriteSimplePairingDebugMode(1,False,True): SimplePairingDebugMode (1) |
|
192 # |
|
193 #### Appendix A: Deprecated Commands, Events and Configuration Parameters |
|
194 # |
|
195 ReadPageScanPeriod(1,False,True): |
|
196 WritePageScanPeriod(1,False,True): PageScanPeriodMode (1) |
|
197 AddSCOConnection(1,True,False,Match,ConnectionCompleteEvent,True,False,BDADDR): ConnectionHandle (2), PacketType (2), @BDADDR (6) |
|
198 ReadEncryptionMode(1,False,True): |
|
199 WriteEncryptionMode(1,False,True): EncryptionMode (1) |