[TCPIP DRIVER]
[reactos.git] / drivers / bluetooth / fbtusb / include / fbtHciCmdStructs.h
1 #ifndef _FBT_HCI_CMD_STRUCTS_H
2 #define _FBT_HCI_CMD_STRUCTS_H
3
4 // Pack structures to single unsigned char boundries
5 #pragma pack(push, 1)
6
7 // Command Header
8 typedef struct
9 {
10 unsigned short OpCode;
11 unsigned char ParameterLength;
12
13 } FBT_HCI_CMD_HEADER, *PFBT_HCI_CMD_HEADER;
14
15 // Link control commands
16 typedef struct
17 {
18 FBT_HCI_CMD_HEADER CommandHeader;
19 unsigned char LAP[FBT_HCI_LAP_SIZE];
20 unsigned char InquiryLength;
21 unsigned char NumResponses;
22
23 } FBT_HCI_INQUIRY, *PFBT_HCI_INQUIRY;
24
25 typedef struct
26 {
27 FBT_HCI_CMD_HEADER CommandHeader;
28
29 } FBT_HCI_INQUIRY_CANCEL, *PFBT_HCI_INQUIRY_CANCEL;
30
31 typedef struct
32 {
33 FBT_HCI_CMD_HEADER CommandHeader;
34 unsigned short MaxPeriodLength;
35 unsigned short MinPeriodLength;
36 unsigned char LAP[FBT_HCI_LAP_SIZE];
37 unsigned char InquiryLength;
38 unsigned char NumResponses;
39
40 } FBT_HCI_PERIODIC_INQUIRY_MODE, *PFBT_HCI_PERIODIC_INQUIRY_MODE;
41
42 typedef struct
43 {
44 FBT_HCI_CMD_HEADER CommandHeader;
45
46 } FBT_HCI_EXIT_PERIODIC_INQUIRY_MODE, *PFBT_HCI_EXIT_PERIODIC_INQUIRY_MODE;
47
48 typedef struct
49 {
50 FBT_HCI_CMD_HEADER CommandHeader;
51 unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
52 unsigned short PacketType;
53 unsigned char PageScanRepetitionMode;
54 unsigned char PageScanMode;
55 unsigned short ClockOffset;
56 unsigned char AllowRoleSwitch;
57
58 } FBT_HCI_CREATE_CONNECTION, *PFBT_HCI_CREATE_CONNECTION;
59
60 typedef struct
61 {
62 FBT_HCI_CMD_HEADER CommandHeader;
63 unsigned short ConnectionHandle;
64 unsigned char Reason;
65
66 } FBT_HCI_DISCONNECT, *PFBT_HCI_DISCONNECT;
67
68 typedef struct
69 {
70 FBT_HCI_CMD_HEADER CommandHeader;
71 unsigned short ConnectionHandle;
72 unsigned short PacketType;
73
74 } FBT_HCI_ADD_SCO_CONNECTION, *PFBT_HCI_ADD_SCO_CONNECTION;
75
76 typedef struct
77 {
78 FBT_HCI_CMD_HEADER CommandHeader;
79 unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
80 unsigned char Role;
81
82 } FBT_HCI_ACCEPT_CONNECTION_REQUEST, *PFBT_HCI_ACCEPT_CONNECTION_REQUEST;
83
84 typedef struct
85 {
86 FBT_HCI_CMD_HEADER CommandHeader;
87 unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
88 unsigned char Reason;
89
90 } FBT_HCI_REJECT_CONNECTION_REQUEST, *PFBT_HCI_REJECT_CONNECTION_REQUEST;
91
92 typedef struct
93 {
94 FBT_HCI_CMD_HEADER CommandHeader;
95 unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
96 unsigned char LinkKey[FBT_HCI_LINK_KEY_SIZE];
97
98 } FBT_HCI_LINK_KEY_REQUEST_REPLY, *PFBT_HCI_LINK_KEY_REQUEST_REPLY;
99
100 typedef struct
101 {
102 FBT_HCI_CMD_HEADER CommandHeader;
103 unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
104
105 } FBT_HCI_LINK_KEY_REQUEST_NEGATIVE_REPLY, *PFBT_HCI_LINK_KEY_REQUEST_NEGATIVE_REPLY;
106
107 typedef struct
108 {
109 FBT_HCI_CMD_HEADER CommandHeader;
110 unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
111 unsigned char PINCodeLength;
112 unsigned char PINCode[FBT_HCI_PIN_CODE_SIZE];
113
114 } FBT_HCI_PIN_CODE_REQUEST_REPLY, *PFBT_HCI_PIN_CODE_REQUEST_REPLY;
115
116 typedef struct
117 {
118 FBT_HCI_CMD_HEADER CommandHeader;
119 unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
120
121 } FBT_HCI_PIN_CODE_REQUEST_NEGATIVE_REPLY, *PFBT_HCI_PIN_CODE_REQUEST_NEGATIVE_REPLY;
122
123 typedef struct
124 {
125 FBT_HCI_CMD_HEADER CommandHeader;
126 unsigned short ConnectionHandle;
127 unsigned short PacketType;
128
129 } FBT_HCI_CHANGE_CONNECTION_PACKET_TYPE, *PFBT_HCI_CHANGE_CONNECTION_PACKET_TYPE;
130
131 typedef struct
132 {
133 FBT_HCI_CMD_HEADER CommandHeader;
134 unsigned short ConnectionHandle;
135
136 } FBT_HCI_AUTHENTICATION_REQUESTED, *PFBT_HCI_AUTHENTICATION_REQUESTED;
137
138 typedef struct
139 {
140 FBT_HCI_CMD_HEADER CommandHeader;
141 unsigned short ConnectionHandle;
142 unsigned char EncryptionEnable;
143
144 } FBT_HCI_SET_CONNECTION_ENCRYPTION, *PFBT_HCI_SET_CONNECTION_ENCRYPTION;
145
146 typedef struct
147 {
148 FBT_HCI_CMD_HEADER CommandHeader;
149 unsigned short ConnectionHandle;
150
151 } FBT_HCI_CHANGE_CONNECTION_LINK_KEY, *PFBT_HCI_CHANGE_CONNECTION_LINK_KEY;
152
153 typedef struct
154 {
155 FBT_HCI_CMD_HEADER CommandHeader;
156 unsigned char KeyFlag;
157
158 } FBT_HCI_MASTER_LINK_KEY, *PFBT_HCI_MASTER_LINK_KEY;
159
160 typedef struct
161 {
162 FBT_HCI_CMD_HEADER CommandHeader;
163 unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
164 unsigned char PageScanRepetitionMode;
165 unsigned char PageScanMode;
166 unsigned short ClockOffset;
167
168 } FBT_HCI_REMOTE_NAME_REQUEST, *PFBT_HCI_REMOTE_NAME_REQUEST;
169
170 typedef struct
171 {
172 FBT_HCI_CMD_HEADER CommandHeader;
173 unsigned short ConnectionHandle;
174
175 } FBT_HCI_READ_REMOTE_SUPPORTED_FEATURES, *PFBT_HCI_READ_REMOTE_SUPPORTED_FEATURES;
176
177 typedef struct
178 {
179 FBT_HCI_CMD_HEADER CommandHeader;
180 unsigned short ConnectionHandle;
181
182 } FBT_HCI_READ_REMOTE_VERSION_INFORMATION, *PFBT_HCI_READ_REMOTE_VERSION_INFORMATION;
183
184 typedef struct
185 {
186 FBT_HCI_CMD_HEADER CommandHeader;
187 unsigned short ConnectionHandle;
188
189 } FBT_HCI_READ_CLOCK_OFFSET, *PFBT_HCI_READ_CLOCK_OFFSET;
190
191
192 // Link policy commands
193 typedef struct
194 {
195 FBT_HCI_CMD_HEADER CommandHeader;
196 unsigned short ConnectionHandle;
197 unsigned short HoldModeMaxInterval;
198 unsigned short HoldModeMinInterval;
199
200 } FBT_HCI_HOLD_MODE, *PFBT_HCI_HOLD_MODE;
201
202 typedef struct
203 {
204 FBT_HCI_CMD_HEADER CommandHeader;
205 unsigned short ConnectionHandle;
206 unsigned short SniffMaxInterval;
207 unsigned short SniffMinInterval;
208 unsigned short SniffAttempt;
209 unsigned short SniffTimeout;
210
211 } FBT_HCI_SNIFF_MODE, *PFBT_HCI_SNIFF_MODE;
212
213 typedef struct
214 {
215 FBT_HCI_CMD_HEADER CommandHeader;
216 unsigned short ConnectionHandle;
217
218 } FBT_HCI_EXIT_SNIFF_MODE, *PFBT_HCI_EXIT_SNIFF_MODE;
219
220 typedef struct
221 {
222 FBT_HCI_CMD_HEADER CommandHeader;
223 unsigned short ConnectionHandle;
224 unsigned short BeaconMaxInterval;
225 unsigned short BeaconMinInterval;
226
227 } FBT_HCI_PARK_MODE, *PFBT_HCI_PARK_MODE;
228
229 typedef struct
230 {
231 FBT_HCI_CMD_HEADER CommandHeader;
232 unsigned short ConnectionHandle;
233
234 } FBT_HCI_EXIT_PARK_MODE, *PFBT_HCI_EXIT_PARK_MODE;
235
236 typedef struct
237 {
238 FBT_HCI_CMD_HEADER CommandHeader;
239 unsigned short ConnectionHandle;
240 unsigned char Flags;
241 unsigned char ServiceType;
242 unsigned long TokenRate;
243 unsigned long PeakBandwidth;
244 unsigned long Latency;
245 unsigned long DelayVariation;
246
247 } FBT_HCI_QOS_SETUP, *PFBT_HCI_QOS_SETUP;
248
249 typedef struct
250 {
251 FBT_HCI_CMD_HEADER CommandHeader;
252 unsigned short ConnectionHandle;
253
254 } FBT_HCI_ROLE_DISCOVERY, *PFBT_HCI_ROLE_DISCOVERY;
255
256 typedef struct
257 {
258 FBT_HCI_CMD_HEADER CommandHeader;
259 unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
260 unsigned char Role;
261
262 } FBT_HCI_SWITCH_ROLE, *PFBT_HCI_SWITCH_ROLE;
263
264 typedef struct
265 {
266 FBT_HCI_CMD_HEADER CommandHeader;
267 unsigned short ConnectionHandle;
268
269 } FBT_HCI_READ_LINK_POLICY_SETTINGS, *PFBT_HCI_READ_LINK_POLICY_SETTINGS;
270
271 typedef struct
272 {
273 FBT_HCI_CMD_HEADER CommandHeader;
274 unsigned short ConnectionHandle;
275 unsigned short LinkPolicySettings;
276
277 } FBT_HCI_WRITE_LINK_POLICY_SETTINGS, *PFBT_HCI_WRITE_LINK_POLICY_SETTINGS;
278
279
280 // Host Controller and Baseband commands
281 typedef struct
282 {
283 FBT_HCI_CMD_HEADER CommandHeader;
284 unsigned char EventMask[8];
285
286 } FBT_HCI_SET_EVENT_MASK, *PFBT_HCI_SET_EVENT_MASK;
287
288 typedef struct
289 {
290 FBT_HCI_CMD_HEADER CommandHeader;
291
292 } FBT_HCI_RESET, *PFBT_HCI_RESET;
293
294 typedef struct
295 {
296 FBT_HCI_CMD_HEADER CommandHeader;
297 unsigned char FilterType;
298 unsigned char FilterConditionType;
299 unsigned char Condition[7];
300
301 } FBT_HCI_SET_EVENT_FILTER, *PFBT_HCI_SET_EVENT_FILTER;
302
303 typedef struct
304 {
305 FBT_HCI_CMD_HEADER CommandHeader;
306 unsigned short ConnectionHandle;
307
308 } FBT_HCI_FLUSH, *PFBT_HCI_FLUSH;
309
310 typedef struct
311 {
312 FBT_HCI_CMD_HEADER CommandHeader;
313
314 } FBT_HCI_READ_PIN_TYPE, *PFBT_HCI_READ_PIN_TYPE;
315
316 typedef struct
317 {
318 FBT_HCI_CMD_HEADER CommandHeader;
319 unsigned char PinType;
320
321 } FBT_HCI_WRITE_PIN_TYPE, *PFBT_HCI_WRITE_PIN_TYPE;
322
323 typedef struct
324 {
325 FBT_HCI_CMD_HEADER CommandHeader;
326
327 } FBT_HCI_CREATE_NEW_UNIT_KEY, *PFBT_HCI_CREATE_NEW_UNIT_KEY;
328
329 typedef struct
330 {
331 FBT_HCI_CMD_HEADER CommandHeader;
332 unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
333 unsigned char ReadAllFlag;
334
335 } FBT_HCI_READ_STORED_LINK_KEY, *PFBT_HCI_READ_STORED_LINK_KEY;
336
337 typedef struct
338 {
339 FBT_HCI_CMD_HEADER CommandHeader;
340 unsigned char NumKeysToWrite;
341 unsigned char BD_ADDR[FBT_HCI_VARIABLE_SIZE][FBT_HCI_BDADDR_SIZE];
342 unsigned char LinkKey[FBT_HCI_VARIABLE_SIZE][FBT_HCI_LINK_KEY_SIZE];
343
344 } FBT_HCI_WRITE_STORED_LINK_KEY, *PFBT_HCI_WRITE_STORED_LINK_KEY;
345
346 typedef struct
347 {
348 FBT_HCI_CMD_HEADER CommandHeader;
349 unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
350 unsigned char DeleteAllFlag;
351
352 } FBT_HCI_DELETE_STORED_LINK_KEY, *PFBT_HCI_DELETE_STORED_LINK_KEY;
353
354 typedef struct
355 {
356 FBT_HCI_CMD_HEADER CommandHeader;
357 unsigned char Name[FBT_HCI_NAME_SIZE];
358
359 } FBT_HCI_CHANGE_LOCAL_NAME, *PFBT_HCI_CHANGE_LOCAL_NAME;
360
361 typedef struct
362 {
363 FBT_HCI_CMD_HEADER CommandHeader;
364
365 } FBT_HCI_READ_LOCAL_NAME, *PFBT_HCI_READ_LOCAL_NAME;
366
367 typedef struct
368 {
369 FBT_HCI_CMD_HEADER CommandHeader;
370
371 } FBT_HCI_READ_CONNECTION_ACCEPT_TIMEOUT, *PFBT_HCI_READ_CONNECTION_ACCEPT_TIMEOUT;
372
373 typedef struct
374 {
375 FBT_HCI_CMD_HEADER CommandHeader;
376 unsigned short ConnAcceptTimeout;
377
378 } FBT_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT, *PFBT_HCI_WRITE_CONNECTION_ACCEPT_TIMEOUT;
379
380 typedef struct
381 {
382 FBT_HCI_CMD_HEADER CommandHeader;
383
384 } FBT_HCI_READ_PAGE_TIMEOUT, *PFBT_HCI_READ_PAGE_TIMEOUT;
385
386 typedef struct
387 {
388 FBT_HCI_CMD_HEADER CommandHeader;
389 unsigned short PageTimeout;
390
391 } FBT_HCI_WRITE_PAGE_TIMEOUT, *PFBT_HCI_WRITE_PAGE_TIMEOUT;
392
393 typedef struct
394 {
395 FBT_HCI_CMD_HEADER CommandHeader;
396
397 } FBT_HCI_READ_SCAN_ENABLE, *PFBT_HCI_READ_SCAN_ENABLE;
398
399 typedef struct
400 {
401 FBT_HCI_CMD_HEADER CommandHeader;
402 unsigned char ScanEnable;
403
404 } FBT_HCI_WRITE_SCAN_ENABLE, *PFBT_HCI_WRITE_SCAN_ENABLE;
405
406 typedef struct
407 {
408 FBT_HCI_CMD_HEADER CommandHeader;
409
410 } FBT_HCI_READ_PAGE_SCAN_ACTIVITY, *PFBT_HCI_READ_PAGE_SCAN_ACTIVITY;
411
412 typedef struct
413 {
414 FBT_HCI_CMD_HEADER CommandHeader;
415 unsigned short PageScanInterval;
416 unsigned short PageScanWindow;
417
418 } FBT_HCI_WRITE_PAGE_SCAN_ACTIVITY, *PFBT_HCI_WRITE_PAGE_SCAN_ACTIVITY;
419
420 typedef struct
421 {
422 FBT_HCI_CMD_HEADER CommandHeader;
423
424 } FBT_HCI_READ_INQUIRY_SCAN_ACTIVITY, *PFBT_HCI_READ_INQUIRY_SCAN_ACTIVITY;
425
426 typedef struct
427 {
428 FBT_HCI_CMD_HEADER CommandHeader;
429 unsigned short InquiryScanInterval;
430 unsigned short InquiryScanWindow;
431
432 } FBT_HCI_WRITE_INQUIRY_SCAN_ACTIVITY, *PFBT_HCI_WRITE_INQUIRY_SCAN_ACTIVITY;
433
434 typedef struct
435 {
436 FBT_HCI_CMD_HEADER CommandHeader;
437
438 } FBT_HCI_READ_AUTHENTICATION_ENABLE, *PFBT_HCI_READ_AUTHENTICATION_ENABLE;
439
440 typedef struct
441 {
442 FBT_HCI_CMD_HEADER CommandHeader;
443 unsigned char AuthenticationEnable;
444
445 } FBT_HCI_WRITE_AUTHENTICATION_ENABLE, *PFBT_HCI_WRITE_AUTHENTICATION_ENABLE;
446
447 typedef struct
448 {
449 FBT_HCI_CMD_HEADER CommandHeader;
450
451 } FBT_HCI_READ_ENCRYPTION_MODE, *PFBT_HCI_READ_ENCRYPTION_MODE;
452
453 typedef struct
454 {
455 FBT_HCI_CMD_HEADER CommandHeader;
456 unsigned char EncryptionMode;
457
458 } FBT_HCI_WRITE_ENCRYPTION_MODE, *PFBT_HCI_WRITE_ENCRYPTION_MODE;
459
460 typedef struct
461 {
462 FBT_HCI_CMD_HEADER CommandHeader;
463
464 } FBT_HCI_READ_CLASS_OF_DEVICE, *PFBT_HCI_READ_CLASS_OF_DEVICE;
465
466 typedef struct
467 {
468 FBT_HCI_CMD_HEADER CommandHeader;
469 unsigned char ClassOfDevice[FBT_HCI_DEVICE_CLASS_SIZE];
470
471 } FBT_HCI_WRITE_CLASS_OF_DEVICE, *PFBT_HCI_WRITE_CLASS_OF_DEVICE;
472
473 typedef struct
474 {
475 FBT_HCI_CMD_HEADER CommandHeader;
476
477 } FBT_HCI_READ_VOICE_SETTING, *PFBT_HCI_READ_VOICE_SETTING;
478
479 typedef struct
480 {
481 FBT_HCI_CMD_HEADER CommandHeader;
482 unsigned short VoiceSetting;
483
484 } FBT_HCI_WRITE_VOICE_SETTING, *PFBT_HCI_WRITE_VOICE_SETTING;
485
486 typedef struct
487 {
488 FBT_HCI_CMD_HEADER CommandHeader;
489 unsigned short ConnectionHandle;
490
491 } FBT_HCI_READ_AUTOMATIC_FLUSH_TIMEOUT, *PFBT_HCI_READ_AUTOMATIC_FLUSH_TIMEOUT;
492
493 typedef struct
494 {
495 FBT_HCI_CMD_HEADER CommandHeader;
496 unsigned short ConnectionHandle;
497 unsigned short FlushTimeout;
498
499 } FBT_HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT, *PFBT_HCI_WRITE_AUTOMATIC_FLUSH_TIMEOUT;
500
501 typedef struct
502 {
503 FBT_HCI_CMD_HEADER CommandHeader;
504
505 } FBT_HCI_READ_NUM_BROADCAST_RETRANSMISSIONS, *PFBT_HCI_READ_NUM_BROADCAST_RETRANSMISSIONS;
506
507 typedef struct
508 {
509 FBT_HCI_CMD_HEADER CommandHeader;
510 unsigned char NumBroadcastRetran;
511
512 } FBT_HCI_WRITE_NUM_BROADCAST_RETRANSMISSIONS, *PFBT_HCI_WRITE_NUM_BROADCAST_RETRANSMISSIONS;
513
514 typedef struct
515 {
516 FBT_HCI_CMD_HEADER CommandHeader;
517
518 } FBT_HCI_READ_HOLD_MODE_ACTIVITY, *PFBT_HCI_READ_HOLD_MODE_ACTIVITY;
519
520 typedef struct
521 {
522 FBT_HCI_CMD_HEADER CommandHeader;
523 unsigned char HoldModeActivity;
524
525 } FBT_HCI_WRITE_HOLD_MODE_ACTIVITY, *PFBT_HCI_WRITE_HOLD_MODE_ACTIVITY;
526
527 typedef struct
528 {
529 FBT_HCI_CMD_HEADER CommandHeader;
530 unsigned short ConnectionHandle;
531 unsigned char Type;
532
533 } FBT_HCI_READ_TRANSMIT_POWER_LEVEL, *PFBT_HCI_READ_TRANSMIT_POWER_LEVEL;
534
535 typedef struct
536 {
537 FBT_HCI_CMD_HEADER CommandHeader;
538
539 } FBT_HCI_READ_SCO_FLOW_CONTROL_ENABLE, *PFBT_HCI_READ_SCO_FLOW_CONTROL_ENABLE;
540
541 typedef struct
542 {
543 FBT_HCI_CMD_HEADER CommandHeader;
544 unsigned char ScoFlowControlEnable;
545
546 } FBT_HCI_WRITE_SCO_FLOW_CONTROL_ENABLE, *PFBT_HCI_WRITE_SCO_FLOW_CONTROL_ENABLE;
547
548 typedef struct
549 {
550 FBT_HCI_CMD_HEADER CommandHeader;
551 unsigned char FlowControlEnable;
552
553 } FBT_HCI_SET_HOST_CONTROLLER_TO_HOST_FLOW_CONTROL, *PFBT_HCI_SET_HOST_CONTROLLER_TO_HOST_FLOW_CONTROL;
554
555 typedef struct
556 {
557 FBT_HCI_CMD_HEADER CommandHeader;
558 unsigned short AclDataPacketLength;
559 unsigned char ScoDataPacketLength;
560 unsigned short TotalNumAclDataPackets;
561 unsigned short TotalNumScoDataPackets;
562
563 } FBT_HCI_HOST_BUFFER_SIZE, *PFBT_HCI_HOST_BUFFER_SIZE;
564
565 typedef struct
566 {
567 FBT_HCI_CMD_HEADER CommandHeader;
568 unsigned char NumberOfHandles;
569 unsigned short ConnectionHandle[FBT_HCI_VARIABLE_SIZE];
570 unsigned short HostNumOfCompletedPackets[FBT_HCI_VARIABLE_SIZE];
571
572 } FBT_HCI_HOST_NUMBER_OF_COMPLETED_PACKETS, *PFBT_HCI_HOST_NUMBER_OF_COMPLETED_PACKETS;
573
574 typedef struct
575 {
576 FBT_HCI_CMD_HEADER CommandHeader;
577 unsigned short ConnectionHandle;
578
579 } FBT_HCI_READ_LINK_SUPERVISION_TIMEOUT, *PFBT_HCI_READ_LINK_SUPERVISION_TIMEOUT;
580
581 typedef struct
582 {
583 FBT_HCI_CMD_HEADER CommandHeader;
584 unsigned short ConnectionHandle;
585 unsigned short LinkSupervisionTimeout;
586
587 } FBT_HCI_WRITE_LINK_SUPERVISION_TIMEOUT, *PFBT_HCI_WRITE_LINK_SUPERVISION_TIMEOUT;
588
589 typedef struct
590 {
591 FBT_HCI_CMD_HEADER CommandHeader;
592
593 } FBT_HCI_READ_NUMBER_OF_SUPPORTED_IAC, *PFBT_HCI_READ_NUMBER_OF_SUPPORTED_IAC;
594
595 typedef struct
596 {
597 FBT_HCI_CMD_HEADER CommandHeader;
598
599 } FBT_HCI_READ_CURRENT_IAC_LAP, *PFBT_HCI_READ_CURRENT_IAC_LAP;
600
601 typedef struct
602 {
603 FBT_HCI_CMD_HEADER CommandHeader;
604 unsigned char NumCurrentIac;
605 unsigned char IacLap[FBT_HCI_VARIABLE_SIZE][FBT_HCI_LAP_SIZE];
606
607 } FBT_HCI_WRITE_CURRENT_IAC_LAP, *PFBT_HCI_WRITE_CURRENT_IAC_LAP;
608
609 typedef struct
610 {
611 FBT_HCI_CMD_HEADER CommandHeader;
612
613 } FBT_HCI_READ_PAGE_SCAN_PERIOD_MODE, *PFBT_HCI_READ_PAGE_SCAN_PERIOD_MODE;
614
615 typedef struct
616 {
617 FBT_HCI_CMD_HEADER CommandHeader;
618 unsigned char PageScanPeriodMode;
619
620 } FBT_HCI_WRITE_PAGE_SCAN_PERIOD_MODE, *PFBT_HCI_WRITE_PAGE_SCAN_PERIOD_MODE;
621
622 typedef struct
623 {
624 FBT_HCI_CMD_HEADER CommandHeader;
625
626 } FBT_HCI_READ_PAGE_SCAN_MODE, *PFBT_HCI_READ_PAGE_SCAN_MODE;
627
628 typedef struct
629 {
630 FBT_HCI_CMD_HEADER CommandHeader;
631 unsigned char PageScanMode;
632
633 } FBT_HCI_WRITE_PAGE_SCAN_MODE, *PFBT_HCI_WRITE_PAGE_SCAN_MODE;
634
635
636 // Informational parameters
637 typedef struct
638 {
639 FBT_HCI_CMD_HEADER CommandHeader;
640
641 } FBT_HCI_READ_LOCAL_VERSION_INFORMATION, *PFBT_HCI_READ_LOCAL_VERSION_INFORMATION;
642
643 typedef struct
644 {
645 FBT_HCI_CMD_HEADER CommandHeader;
646
647 } FBT_HCI_READ_LOCAL_SUPPORTED_FEATURES, *PFBT_HCI_READ_LOCAL_SUPPORTED_FEATURES;
648
649 typedef struct
650 {
651 FBT_HCI_CMD_HEADER CommandHeader;
652
653 } FBT_HCI_READ_BUFFER_SIZE, *PFBT_HCI_READ_BUFFER_SIZE;
654
655 typedef struct
656 {
657 FBT_HCI_CMD_HEADER CommandHeader;
658
659 } FBT_HCI_READ_COUNTRY_CODE, *PFBT_HCI_READ_COUNTRY_CODE;
660
661 typedef struct
662 {
663 FBT_HCI_CMD_HEADER CommandHeader;
664
665 } FBT_HCI_READ_BD_ADDR, *PFBT_HCI_READ_BD_ADDR;
666
667
668 // Status parameter commands
669
670 typedef struct
671 {
672 FBT_HCI_CMD_HEADER CommandHeader;
673 unsigned short ConnectionHandle;
674
675 } FBT_HCI_READ_FAILED_CONTACT_COUNTER, *PFBT_HCI_READ_FAILED_CONTACT_COUNTER;
676
677 typedef struct
678 {
679 FBT_HCI_CMD_HEADER CommandHeader;
680 unsigned short ConnectionHandle;
681
682 } FBT_HCI_RESET_FAILED_CONTACT_COUNTER, *PFBT_HCI_RESET_FAILED_CONTACT_COUNTER;
683
684 typedef struct
685 {
686 FBT_HCI_CMD_HEADER CommandHeader;
687 unsigned short ConnectionHandle;
688
689 } FBT_HCI_GET_LINK_QUALITY, *PFBT_HCI_GET_LINK_QUALITY;
690
691 typedef struct
692 {
693 FBT_HCI_CMD_HEADER CommandHeader;
694 unsigned short ConnectionHandle;
695
696 } FBT_HCI_READ_RSSI, *PFBT_HCI_READ_RSSI;
697
698
699 // Testing commands
700 typedef struct
701 {
702 FBT_HCI_CMD_HEADER CommandHeader;
703
704 } FBT_HCI_READ_LOOPBACK_MODE, *PFBT_HCI_READ_LOOPBACK_MODE;
705
706 typedef struct
707 {
708 FBT_HCI_CMD_HEADER CommandHeader;
709 unsigned char LoopbackMode;
710
711 } FBT_HCI_WRITE_LOOPBACK_MODE, *PFBT_HCI_WRITE_LOOPBACK_MODE;
712
713 typedef struct
714 {
715 FBT_HCI_CMD_HEADER CommandHeader;
716
717 } FBT_HCI_ENABLE_DEVICE_UNDER_TEST_MODE, *PFBT_HCI_ENABLE_DEVICE_UNDER_TEST_MODE;
718
719 #pragma pack(pop)
720
721 #endif // _FBT_HCI_CMD_STRUCTS_H