1 /*******************************************************************
\r
4 hci_command.h - list of Command packet structures +
\r
7 Copyright (C) 2006 by Petr Kovacik petr_kovacik@gmail.com
\r
9 *******************************************************************/
\r
12 #ifndef HCI_COMMAND_H
\r
13 #define HCI_COMMAND_H
\r
15 /****************************************************************/
\r
16 /* --------------------- Link Control ------------------------ */
\r
17 /****************************************************************/
\r
18 /****************************************************************/
\r
20 #define OGF_LINK_CTL 0x01
\r
23 /****************************************************************/
\r
24 #define OCF_INQUIRY 0x0001
\r
25 /*--------------------------------*/
\r
28 uint8_t length; /* 1.28s units */
\r
31 #define INQUIRY_CP____lap 0
\r
32 #define INQUIRY_CP____length 3
\r
33 #define INQUIRY_CP____num_rsp 4
\r
34 /*--------------------------------*/
\r
35 #define INQUIRY_CP_SIZE 5
\r
36 /****************************************************************/
\r
37 /****************************************************************/
\r
40 /*--------------------------------*/
\r
45 #define STATUS_BDADDR_RP____status 0
\r
46 #define STATUS_BDADDR_RP____bdaddr 1
\r
47 /*--------------------------------*/
\r
48 #define STATUS_BDADDR_RP_SIZE 7
\r
49 /****************************************************************/
\r
50 /****************************************************************/
\r
53 #define OCF_INQUIRY_CANCEL 0x0002
\r
55 #define OCF_PERIODIC_INQUIRY 0x0003
\r
56 /*--------------------------------*/
\r
58 uint16_t max_period; /* 1.28s units */
\r
59 uint16_t min_period; /* 1.28s units */
\r
61 uint8_t length; /* 1.28s units */
\r
63 } periodic_inquiry_cp;
\r
64 #define PERIODIC_INQUIRY_CP____max_period 0
\r
65 #define PERIODIC_INQUIRY_CP____min_period 2
\r
66 #define PERIODIC_INQUIRY_CP____lap 4
\r
67 #define PERIODIC_INQUIRY_CP____length 7
\r
68 #define PERIODIC_INQUIRY_CP____num_rsp 8
\r
69 /*--------------------------------*/
\r
70 #define PERIODIC_INQUIRY_CP_SIZE 9
\r
71 /****************************************************************/
\r
72 /****************************************************************/
\r
75 #define OCF_EXIT_PERIODIC_INQUIRY 0x0004
\r
77 #define OCF_CREATE_CONN 0x0005
\r
78 /*--------------------------------*/
\r
82 uint8_t pscan_rep_mode;
\r
84 uint16_t clock_offset;
\r
85 uint8_t role_switch;
\r
87 #define CREATE_CONN_CP____bdaddr 0
\r
88 #define CREATE_CONN_CP____pkt_type 6
\r
89 #define CREATE_CONN_CP____pscan_rep_mode 8
\r
90 #define CREATE_CONN_CP____pscan_mode 9
\r
91 #define CREATE_CONN_CP____clock_offset 10
\r
92 #define CREATE_CONN_CP____role_switch 12
\r
93 /*--------------------------------*/
\r
94 #define CREATE_CONN_CP_SIZE 13
\r
95 /****************************************************************/
\r
96 /****************************************************************/
\r
99 #define OCF_DISCONNECT 0x0006
\r
100 /*--------------------------------*/
\r
105 #define DISCONNECT_CP____handle 0
\r
106 #define DISCONNECT_CP____reason 2
\r
107 /*--------------------------------*/
\r
108 #define DISCONNECT_CP_SIZE 3
\r
109 /****************************************************************/
\r
110 /****************************************************************/
\r
113 #define OCF_ADD_SCO 0x0007
\r
114 /*--------------------------------*/
\r
119 #define ADD_SCO_CP____handle 0
\r
120 #define ADD_SCO_CP____pkt_type 2
\r
121 /*--------------------------------*/
\r
122 #define ADD_SCO_CP_SIZE 4
\r
123 /****************************************************************/
\r
124 /****************************************************************/
\r
127 #define OCF_CREATE_CONN_CANCEL 0x0008
\r
128 /*--------------------------------*/
\r
131 } create_conn_cancel_cp;
\r
132 #define CREATE_CONN_CANCEL_CP____bdaddr 0
\r
133 /*--------------------------------*/
\r
134 #define CREATE_CONN_CANCEL_CP_SIZE 6
\r
135 /****************************************************************/
\r
136 /****************************************************************/
\r
139 #define OCF_ACCEPT_CONN_REQ 0x0009
\r
140 /*--------------------------------*/
\r
144 } accept_conn_req_cp;
\r
145 #define ACCEPT_CONN_REQ_CP____bdaddr 0
\r
146 #define ACCEPT_CONN_REQ_CP____role 6
\r
147 /*--------------------------------*/
\r
148 #define ACCEPT_CONN_REQ_CP_SIZE 7
\r
149 /****************************************************************/
\r
150 /****************************************************************/
\r
153 #define OCF_REJECT_CONN_REQ 0x000A
\r
154 /*--------------------------------*/
\r
158 } reject_conn_req_cp;
\r
159 #define REJECT_CONN_REQ_CP____bdaddr 0
\r
160 #define REJECT_CONN_REQ_CP____reason 6
\r
161 /*--------------------------------*/
\r
162 #define REJECT_CONN_REQ_CP_SIZE 7
\r
163 /****************************************************************/
\r
164 /****************************************************************/
\r
167 #define OCF_LINK_KEY_REPLY 0x000B
\r
168 /*--------------------------------*/
\r
171 uint8_t link_key[16];
\r
172 } link_key_reply_cp;
\r
173 #define LINK_KEY_REPLY_CP____bdaddr 0
\r
174 #define LINK_KEY_REPLY_CP____link_key 6
\r
175 /*--------------------------------*/
\r
176 #define LINK_KEY_REPLY_CP_SIZE 22
\r
177 /****************************************************************/
\r
178 /****************************************************************/
\r
181 #define OCF_LINK_KEY_NEG_REPLY 0x000C
\r
183 #define OCF_PIN_CODE_REPLY 0x000D
\r
184 /*--------------------------------*/
\r
188 uint8_t pin_code[16];
\r
189 } pin_code_reply_cp;
\r
190 #define PIN_CODE_REPLY_CP____bdaddr 0
\r
191 #define PIN_CODE_REPLY_CP____pin_len 6
\r
192 #define PIN_CODE_REPLY_CP____pin_code 7
\r
193 /*--------------------------------*/
\r
194 #define PIN_CODE_REPLY_CP_SIZE 23
\r
195 /****************************************************************/
\r
196 /****************************************************************/
\r
199 #define OCF_PIN_CODE_NEG_REPLY 0x000E
\r
201 #define OCF_SET_CONN_PTYPE 0x000F
\r
202 /*--------------------------------*/
\r
206 } set_conn_ptype_cp;
\r
207 #define SET_CONN_PTYPE_CP____handle 0
\r
208 #define SET_CONN_PTYPE_CP____pkt_type 2
\r
209 /*--------------------------------*/
\r
210 #define SET_CONN_PTYPE_CP_SIZE 4
\r
211 /****************************************************************/
\r
212 /****************************************************************/
\r
215 #define OCF_AUTH_REQUESTED 0x0011
\r
216 /*--------------------------------*/
\r
219 } auth_requested_cp;
\r
220 #define AUTH_REQUESTED_CP____handle 0
\r
221 /*--------------------------------*/
\r
222 #define AUTH_REQUESTED_CP_SIZE 2
\r
223 /****************************************************************/
\r
224 /****************************************************************/
\r
227 #define OCF_SET_CONN_ENCRYPT 0x0013
\r
228 /*--------------------------------*/
\r
232 } set_conn_encrypt_cp;
\r
233 #define SET_CONN_ENCRYPT_CP____handle 0
\r
234 #define SET_CONN_ENCRYPT_CP____encrypt 2
\r
235 /*--------------------------------*/
\r
236 #define SET_CONN_ENCRYPT_CP_SIZE 3
\r
237 /****************************************************************/
\r
238 /****************************************************************/
\r
241 #define OCF_CHANGE_CONN_LINK_KEY 0x0015
\r
242 /*--------------------------------*/
\r
245 }change_conn_link_key_cp;
\r
246 #define CHANGE_CONN_LINK_KEY_CP____handle 0
\r
247 /*--------------------------------*/
\r
248 #define CHANGE_CONN_LINK_KEY_CP_SIZE 2
\r
249 /****************************************************************/
\r
250 /****************************************************************/
\r
253 #define OCF_MASTER_LINK_KEY 0x0017
\r
254 /*--------------------------------*/
\r
257 }master_link_key_cp;
\r
258 #define MASTER_LINK_KEY_CP____key_flag 0
\r
259 /*--------------------------------*/
\r
260 #define MASTER_LINK_KEY_CP_SIZE 1
\r
261 /****************************************************************/
\r
262 /****************************************************************/
\r
265 #define OCF_REMOTE_NAME_REQ 0x0019
\r
266 /*--------------------------------*/
\r
269 uint8_t pscan_rep_mode;
\r
270 uint8_t pscan_mode;
\r
271 uint16_t clock_offset;
\r
272 }remote_name_req_cp;
\r
273 #define REMOTE_NAME_REQ_CP____bdaddr 0
\r
274 #define REMOTE_NAME_REQ_CP____pscan_rep_mode 6
\r
275 #define REMOTE_NAME_REQ_CP____pscan_mode 7
\r
276 #define REMOTE_NAME_REQ_CP____clock_offset 8
\r
277 /*--------------------------------*/
\r
278 #define REMOTE_NAME_REQ_CP_SIZE 10
\r
279 /****************************************************************/
\r
280 /****************************************************************/
\r
283 #define OCF_REMOTE_NAME_REQ_CANCEL 0x001A
\r
284 /*--------------------------------*/
\r
287 }remote_name_req_cancel_cp;
\r
288 #define REMOTE_NAME_REQ_CANCEL_CP____bdaddr 0
\r
289 /*--------------------------------*/
\r
290 #define REMOTE_NAME_REQ_CANCEL_CP_SIZE 6
\r
291 /****************************************************************/
\r
292 /****************************************************************/
\r
295 #define OCF_READ_REMOTE_FEATURES 0x001B
\r
296 /*--------------------------------*/
\r
299 }read_remote_features_cp;
\r
300 #define READ_REMOTE_FEATURES_CP____handle 0
\r
301 /*--------------------------------*/
\r
302 #define READ_REMOTE_FEATURES_CP_SIZE 2
\r
303 /****************************************************************/
\r
304 /****************************************************************/
\r
307 #define OCF_READ_REMOTE_EXT_FEATURES 0x001C
\r
308 /*--------------------------------*/
\r
312 }read_remote_ext_features_cp;
\r
313 #define READ_REMOTE_EXT_FEATURES_CP____handle 0
\r
314 #define READ_REMOTE_EXT_FEATURES_CP____page_num 2
\r
315 /*--------------------------------*/
\r
316 #define READ_REMOTE_EXT_FEATURES_CP_SIZE 3
\r
317 /****************************************************************/
\r
318 /****************************************************************/
\r
321 #define OCF_READ_REMOTE_VERSION 0x001D
\r
322 /*--------------------------------*/
\r
325 }read_remote_version_cp;
\r
326 #define READ_REMOTE_VERSION_CP____handle 0
\r
327 /*--------------------------------*/
\r
328 #define READ_REMOTE_VERSION_CP_SIZE 2
\r
329 /****************************************************************/
\r
330 /****************************************************************/
\r
333 #define OCF_READ_CLOCK_OFFSET 0x001F
\r
334 /*--------------------------------*/
\r
337 }read_clock_offset_cp;
\r
338 #define READ_CLOCK_OFFSET_CP____handle 0
\r
339 /*--------------------------------*/
\r
340 #define READ_CLOCK_OFFSET_CP_SIZE 2
\r
341 /****************************************************************/
\r
342 /****************************************************************/
\r
345 #define OCF_READ_LMP_HANDLE 0x0020
\r
347 #define OCF_SETUP_SYNC_CONN 0x0028
\r
348 /*--------------------------------*/
\r
351 uint32_t tx_bandwith;
\r
352 uint32_t rx_bandwith;
\r
353 uint16_t max_latency;
\r
354 uint16_t voice_setting;
\r
355 uint8_t retrans_effort;
\r
357 }setup_sync_conn_cp;
\r
358 #define SETUP_SYNC_CONN_CP____handle 0
\r
359 #define SETUP_SYNC_CONN_CP____tx_bandwith 2
\r
360 #define SETUP_SYNC_CONN_CP____rx_bandwith 6
\r
361 #define SETUP_SYNC_CONN_CP____max_latency 10
\r
362 #define SETUP_SYNC_CONN_CP____voice_setting 12
\r
363 #define SETUP_SYNC_CONN_CP____retrans_effort 14
\r
364 #define SETUP_SYNC_CONN_CP____pkt_type 15
\r
365 /*--------------------------------*/
\r
366 #define SETUP_SYNC_CONN_CP_SIZE 17
\r
367 /****************************************************************/
\r
368 /****************************************************************/
\r
371 #define OCF_ACCEPT_SYNC_CONN_REQ 0x0029
\r
372 /*--------------------------------*/
\r
375 uint32_t tx_bandwith;
\r
376 uint32_t rx_bandwith;
\r
377 uint16_t max_latency;
\r
378 uint16_t voice_setting;
\r
379 uint8_t retrans_effort;
\r
381 }accept_sync_conn_req_cp;
\r
382 #define ACCEPT_SYNC_CONN_REQ_CP____bdaddr 0
\r
383 #define ACCEPT_SYNC_CONN_REQ_CP____tx_bandwith 6
\r
384 #define ACCEPT_SYNC_CONN_REQ_CP____rx_bandwith 10
\r
385 #define ACCEPT_SYNC_CONN_REQ_CP____max_latency 14
\r
386 #define ACCEPT_SYNC_CONN_REQ_CP____voice_setting 16
\r
387 #define ACCEPT_SYNC_CONN_REQ_CP____retrans_effort 18
\r
388 #define ACCEPT_SYNC_CONN_REQ_CP____pkt_type 19
\r
389 /*--------------------------------*/
\r
390 #define ACCEPT_SYNC_CONN_REQ_CP_SIZE 21
\r
391 /****************************************************************/
\r
392 /****************************************************************/
\r
395 #define OCF_REJECT_SYNC_CONN_REQ 0x002A
\r
396 /*--------------------------------*/
\r
400 }reject_sync_conn_req_cp;
\r
401 #define REJECT_SYNC_CONN_REQ_CP____bdaddr 0
\r
402 #define REJECT_SYNC_CONN_REQ_CP____reason 6
\r
403 /*--------------------------------*/
\r
404 #define REJECT_SYNC_CONN_REQ_CP_SIZE 7
\r
405 /****************************************************************/
\r
406 /****************************************************************/
\r
411 /****************************************************************/
\r
412 /* --------------------- Link Policy ------------------------ */
\r
413 /****************************************************************/
\r
414 /****************************************************************/
\r
416 #define OGF_LINK_POLICY 0x02
\r
418 #define OCF_HOLD_MODE 0x0001
\r
419 /*--------------------------------*/
\r
422 uint16_t max_interval;
\r
423 uint16_t min_interval;
\r
425 #define HOLD_MODE_CP____handle 0
\r
426 #define HOLD_MODE_CP____max_interval 2
\r
427 #define HOLD_MODE_CP____min_interval 4
\r
428 /*--------------------------------*/
\r
429 #define HOLD_MODE_CP_SIZE 6
\r
430 /****************************************************************/
\r
431 /****************************************************************/
\r
434 #define OCF_SNIFF_MODE 0x0003
\r
435 /*--------------------------------*/
\r
438 uint16_t max_interval;
\r
439 uint16_t min_interval;
\r
443 #define SNIFF_MODE_CP____handle 0
\r
444 #define SNIFF_MODE_CP____max_interval 2
\r
445 #define SNIFF_MODE_CP____min_interval 4
\r
446 #define SNIFF_MODE_CP____attempt 6
\r
447 #define SNIFF_MODE_CP____timeout 8
\r
448 /*--------------------------------*/
\r
449 #define SNIFF_MODE_CP_SIZE 10
\r
450 /****************************************************************/
\r
451 /****************************************************************/
\r
454 #define OCF_EXIT_SNIFF_MODE 0x0004
\r
455 /*--------------------------------*/
\r
458 }exit_sniff_mode_cp;
\r
459 #define EXIT_SNIFF_MODE_CP____handle 0
\r
460 /*--------------------------------*/
\r
461 #define EXIT_SNIFF_MODE_CP_SIZE 2
\r
462 /****************************************************************/
\r
463 /****************************************************************/
\r
466 #define OCF_PARK_MODE 0x0005
\r
467 /*--------------------------------*/
\r
470 uint16_t max_interval;
\r
471 uint16_t min_interval;
\r
473 #define PARK_MODE_CP____handle 0
\r
474 #define PARK_MODE_CP____max_interval 2
\r
475 #define PARK_MODE_CP____min_interval 4
\r
476 /*--------------------------------*/
\r
477 #define PARK_MODE_CP_SIZE 6
\r
478 /****************************************************************/
\r
479 /****************************************************************/
\r
482 #define OCF_EXIT_PARK_MODE 0x0006
\r
483 /*--------------------------------*/
\r
486 }exit_park_mode_cp;
\r
487 #define EXIT_PARK_MODE_CP____handle 0
\r
488 /*--------------------------------*/
\r
489 #define EXIT_PARK_MODE_CP_SIZE 2
\r
490 /****************************************************************/
\r
491 /****************************************************************/
\r
494 #define OCF_QOS_SETUP 0x0007
\r
495 /*--------------------------------*/
\r
497 uint8_t service_type; /* 1 = best effort */
\r
498 uint32_t token_rate; /* Byte per seconds */
\r
499 uint32_t peak_bandwidth; /* Byte per seconds */
\r
500 uint32_t latency; /* Microseconds */
\r
501 uint32_t delay_variation; /* Microseconds */
\r
503 #define DELAY_VARIATION____service_type 0
\r
504 #define DELAY_VARIATION____token_rate 1
\r
505 #define DELAY_VARIATION____peak_bandwidth 5
\r
506 #define DELAY_VARIATION____latency 9
\r
507 #define DELAY_VARIATION____delay_variation 13
\r
508 /*--------------------------------*/
\r
509 #define HCI_QOS_CP_SIZE 17
\r
510 /*--------------------------------*/
\r
513 uint8_t flags; /* Reserved */
\r
514 hci_qos qos; /*POZOR POLOZKA MA TYP STRUKTURY!!!!!!!!!!*/
\r
516 #define QOS_SETUP_CP____handle 0
\r
517 #define QOS_SETUP_CP____flags 2
\r
518 #define QOS_SETUP_CP____qos 3
\r
519 /*--------------------------------*/
\r
520 #define QOS_SETUP_CP_SIZE (3 + HCI_QOS_CP_SIZE)
\r
521 /****************************************************************/
\r
522 /****************************************************************/
\r
525 #define OCF_ROLE_DISCOVERY 0x0009
\r
526 /*--------------------------------*/
\r
529 }role_discovery_cp;
\r
530 #define ROLE_DISCOVERY_CP____handle 0
\r
531 /*--------------------------------*/
\r
532 #define ROLE_DISCOVERY_CP_SIZE 2
\r
534 /*--------------------------------*/ /*NAVRATOVE PARAMETRY*/
\r
539 }role_discovery_rp;
\r
540 #define ROLE_DISCOVERY_RP____status 0
\r
541 #define ROLE_DISCOVERY_RP____handle 1
\r
542 #define ROLE_DISCOVERY_RP____role 3
\r
543 /*--------------------------------*/
\r
544 #define ROLE_DISCOVERY_RP_SIZE 4
\r
545 /****************************************************************/
\r
546 /****************************************************************/
\r
549 #define OCF_SWITCH_ROLE 0x000B
\r
551 /*--------------------------------*/
\r
556 #define SWITCH_ROLE_CP____bdaddr 0
\r
557 #define SWITCH_ROLE_CP____role 6
\r
558 /*--------------------------------*/
\r
559 #define SWITCH_ROLE_CP_SIZE 7
\r
560 /****************************************************************/
\r
561 /****************************************************************/
\r
564 #define OCF_READ_LINK_POLICY 0x000C
\r
565 /*--------------------------------*/
\r
568 }read_link_policy_cp;
\r
569 #define READ_LINK_POLICY_CP____handle 0
\r
570 /*--------------------------------*/
\r
571 #define READ_LINK_POLICY_CP_SIZE 2
\r
572 /*--------------------------------*/
\r
577 }read_link_policy_rp;
\r
578 #define READ_LINK_POLICY_RP____status 0
\r
579 #define READ_LINK_POLICY_RP____handle 1
\r
580 #define READ_LINK_POLICY_RP____policy 3
\r
581 /*--------------------------------*/
\r
582 #define READ_LINK_POLICY_RP_SIZE 5
\r
583 /****************************************************************/
\r
584 /****************************************************************/
\r
587 #define OCF_WRITE_LINK_POLICY 0x000D
\r
588 /*--------------------------------*/
\r
592 }write_link_policy_cp;
\r
593 #define WRITE_LINK_POLICY_CP____handle 0
\r
594 #define WRITE_LINK_POLICY_CP____policy 2
\r
595 /*--------------------------------*/
\r
596 #define WRITE_LINK_POLICY_CP_SIZE 4
\r
597 /*--------------------------------*/
\r
601 }write_link_policy_rp;
\r
602 #define WRITE_LINK_POLICY_RP____status 0
\r
603 #define WRITE_LINK_POLICY_RP____handle 1
\r
604 /*--------------------------------*/
\r
605 #define WRITE_LINK_POLICY_RP_SIZE 3
\r
606 /****************************************************************/
\r
607 /****************************************************************/
\r
612 /****************************************************************/
\r
613 /*--------------- Host Controller and Baseband -----------------*/
\r
614 /****************************************************************/
\r
615 /****************************************************************/
\r
617 #define OGF_HOST_CTL 0x03
\r
619 #define OCF_SET_EVENT_MASK 0x0001
\r
620 /*--------------------------------*/
\r
623 }set_event_mask_cp;
\r
624 #define SET_EVENT_MASK_CP____mask 0
\r
625 /*--------------------------------*/
\r
626 #define SET_EVENT_MASK_CP_SIZE 8
\r
627 /****************************************************************/
\r
628 /****************************************************************/
\r
631 #define OCF_RESET 0x0003
\r
633 #define OCF_SET_EVENT_FLT 0x0005
\r
634 /*--------------------------------*/
\r
638 uint8_t condition[0];
\r
640 #define SET_EVENT_FLT_CP____flt_type 0
\r
641 #define SET_EVENT_FLT_CP____cond_type 1
\r
642 #define SET_EVENT_FLT_CP____condition 2
\r
643 /*--------------------------------*/
\r
644 #define SET_EVENT_FLT_CP_SIZE 2
\r
645 /****************************************************************/
\r
646 /****************************************************************/
\r
650 #define FLT_CLEAR_ALL 0x00
\r
651 #define FLT_INQ_RESULT 0x01
\r
652 #define FLT_CONN_SETUP 0x02
\r
653 /* INQ_RESULT Condition types */
\r
654 #define INQ_RESULT_RETURN_ALL 0x00
\r
655 #define INQ_RESULT_RETURN_CLASS 0x01
\r
656 #define INQ_RESULT_RETURN_BDADDR 0x02
\r
657 /* CONN_SETUP Condition types */
\r
658 #define CONN_SETUP_ALLOW_ALL 0x00
\r
659 #define CONN_SETUP_ALLOW_CLASS 0x01
\r
660 #define CONN_SETUP_ALLOW_BDADDR 0x02
\r
661 /* CONN_SETUP Conditions */
\r
662 #define CONN_SETUP_AUTO_OFF 0x01
\r
663 #define CONN_SETUP_AUTO_ON 0x02
\r
665 #define OCF_FLUSH 0x0008
\r
667 #define OCF_READ_PIN_TYPE 0x0009
\r
668 /*--------------------------------*/
\r
673 #define READ_PIN_TYPE_RP____status 0
\r
674 #define READ_PIN_TYPE_RP____pin_type 1
\r
675 /*--------------------------------*/
\r
676 #define READ_PIN_TYPE_RP_SIZE 2
\r
677 /****************************************************************/
\r
678 /****************************************************************/
\r
681 #define OCF_WRITE_PIN_TYPE 0x000A
\r
682 /*--------------------------------*/
\r
685 }write_pin_type_cp;
\r
686 #define WRITE_PIN_TYPE_CP____pin_type 0
\r
687 /*--------------------------------*/
\r
688 #define WRITE_PIN_TYPE_CP_SIZE 1
\r
689 /****************************************************************/
\r
690 /****************************************************************/
\r
693 #define OCF_CREATE_NEW_UNIT_KEY 0x000B
\r
695 #define OCF_READ_STORED_LINK_KEY 0x000D
\r
696 /*--------------------------------*/
\r
700 }read_stored_link_key_cp;
\r
701 #define READ_STORED_LINK_KEY_CP____bdaddr 0
\r
702 #define READ_STORED_LINK_KEY_CP____read_all 6
\r
703 /*--------------------------------*/
\r
704 #define READ_STORED_LINK_KEY_CP_SIZE 7
\r
706 /*--------------------------------*/
\r
711 }read_stored_link_key_rp;
\r
712 #define READ_STORED_LINK_KEY_RP____status 0
\r
713 #define READ_STORED_LINK_KEY_RP____max_keys 1
\r
714 #define READ_STORED_LINK_KEY_RP____num_keys 3
\r
715 /*--------------------------------*/
\r
716 #define READ_STORED_LINK_KEY_RP_SIZE 5
\r
717 /****************************************************************/
\r
718 /****************************************************************/
\r
722 #define OCF_WRITE_STORED_LINK_KEY 0x0011
\r
723 /*--------------------------------*/
\r
726 /* variable length part */
\r
727 }write_stored_link_key_cp;
\r
728 #define WRITE_STORED_LINK_KEY_CP____num_keys 0
\r
729 /*--------------------------------*/
\r
730 #define WRITE_STORED_LINK_KEY_CP_SIZE 1
\r
731 /****************************************************************/
\r
732 /****************************************************************/
\r
735 /*--------------------------------*/
\r
739 }write_stored_link_key_rp;
\r
740 #define WRITE_STORED_LINK_KEY_RP____status 0
\r
741 #define WRITE_STORED_LINK_KEY_RP____num_keys 1
\r
742 /*--------------------------------*/
\r
743 #define READ_WRITE_LINK_KEY_RP_SIZE 2
\r
744 /****************************************************************/
\r
745 /****************************************************************/
\r
748 #define OCF_DELETE_STORED_LINK_KEY 0x0012
\r
749 /*--------------------------------*/
\r
752 uint8_t delete_all;
\r
753 }delete_stored_link_key_cp;
\r
754 #define DELETE_STORED_LINK_KEY_CP____bdaddr 0
\r
755 #define DELETE_STORED_LINK_KEY_CP____delete_all 6
\r
756 /*--------------------------------*/
\r
757 #define DELETE_STORED_LINK_KEY_CP_SIZE 7
\r
758 /****************************************************************/
\r
759 /****************************************************************/
\r
762 /*--------------------------------*/
\r
766 }delete_stored_link_key_rp;
\r
767 #define DELETE_STORED_LINK_KEY_RP____status 0
\r
768 #define DELETE_STORED_LINK_KEY_RP____num_keys 1
\r
769 /*--------------------------------*/
\r
770 #define DELETE_STORED_LINK_KEY_RP_SIZE 3
\r
771 /****************************************************************/
\r
772 /****************************************************************/
\r
775 #define OCF_CHANGE_LOCAL_NAME 0x0013
\r
776 /*--------------------------------*/
\r
779 } change_local_name_cp;
\r
780 #define CHANGE_LOCAL_NAME_CP____name 0
\r
781 /*--------------------------------*/
\r
782 #define CHANGE_LOCAL_NAME_CP_SIZE 248
\r
783 /****************************************************************/
\r
784 /****************************************************************/
\r
787 #define OCF_READ_LOCAL_NAME 0x0014
\r
788 /*--------------------------------*/
\r
792 }read_local_name_rp;
\r
793 #define READ_LOCAL_NAME_RP____status 0
\r
794 #define READ_LOCAL_NAME_RP____name 1
\r
795 /*--------------------------------*/
\r
796 #define READ_LOCAL_NAME_RP_SIZE 249
\r
797 /****************************************************************/
\r
798 /****************************************************************/
\r
801 #define OCF_READ_CONN_ACCEPT_TIMEOUT 0x0015
\r
802 /*--------------------------------*/
\r
806 }read_conn_accept_timeout_rp;
\r
807 #define READ_CONN_ACCEPT_TIMEOUT_RP____status 1
\r
808 #define READ_CONN_ACCEPT_TIMEOUT_RP____timeout 0
\r
809 /*--------------------------------*/
\r
810 #define READ_CONN_ACCEPT_TIMEOUT_RP_SIZE 3
\r
811 /****************************************************************/
\r
812 /****************************************************************/
\r
815 #define OCF_WRITE_CONN_ACCEPT_TIMEOUT 0x0016
\r
816 /*--------------------------------*/
\r
819 }write_conn_accept_timeout_cp;
\r
820 #define WRITE_CONN_ACCEPT_TIMEOUT_CP____timeout 0
\r
821 /*--------------------------------*/
\r
822 #define WRITE_CONN_ACCEPT_TIMEOUT_CP_SIZE 2
\r
823 /****************************************************************/
\r
824 /****************************************************************/
\r
827 #define OCF_READ_PAGE_TIMEOUT 0x0017
\r
828 /*--------------------------------*/
\r
832 }read_page_timeout_rp;
\r
833 #define READ_PAGE_TIMEOUT_RP____status 0
\r
834 #define READ_PAGE_TIMEOUT_RP____timeout 1
\r
835 /*--------------------------------*/
\r
836 #define READ_PAGE_TIMEOUT_RP_SIZE 3
\r
837 /****************************************************************/
\r
838 /****************************************************************/
\r
841 #define OCF_WRITE_PAGE_TIMEOUT 0x0018
\r
842 /*--------------------------------*/
\r
845 }write_page_timeout_cp;
\r
846 #define WRITE_PAGE_TIMEOUT_CP____timeout 0
\r
847 /*--------------------------------*/
\r
848 #define WRITE_PAGE_TIMEOUT_CP_SIZE 2
\r
849 /****************************************************************/
\r
850 /****************************************************************/
\r
853 #define OCF_READ_SCAN_ENABLE 0x0019
\r
854 /*--------------------------------*/
\r
858 }read_scan_enable_rp;
\r
859 #define READ_SCAN_ENABLE_RP____status 1
\r
860 #define READ_SCAN_ENABLE_RP____enable 0
\r
861 /*--------------------------------*/
\r
862 #define READ_SCAN_ENABLE_RP_SIZE 2
\r
863 /****************************************************************/
\r
864 /****************************************************************/
\r
867 #define OCF_WRITE_SCAN_ENABLE 0x001A
\r
868 #define SCAN_DISABLED 0x00
\r
869 #define SCAN_INQUIRY 0x01
\r
870 #define SCAN_PAGE 0x02
\r
871 #define SCAN_PAGE_INQ 0x03
\r
872 /*--------------------------------*/
\r
873 #define WRITE_SCAN_ENABLE_SIZE 1
\r
874 /****************************************************************/
\r
875 /****************************************************************/
\r
878 #define OCF_READ_PAGE_ACTIVITY 0x001B
\r
879 /*--------------------------------*/
\r
884 }read_page_activity_rp;
\r
885 #define READ_PAGE_ACTIVITY_RP____status 0
\r
886 #define READ_PAGE_ACTIVITY_RP____interval 1
\r
887 #define READ_PAGE_ACTIVITY_RP____window 3
\r
888 /*--------------------------------*/
\r
889 #define READ_PAGE_ACTIVITY_RP_SIZE 5
\r
890 /****************************************************************/
\r
891 /****************************************************************/
\r
894 #define OCF_WRITE_PAGE_ACTIVITY 0x001C
\r
895 /*--------------------------------*/
\r
899 }write_page_activity_cp;
\r
900 #define WRITE_PAGE_ACTIVITY_CP____interval 0
\r
901 #define WRITE_PAGE_ACTIVITY_CP____window 2
\r
902 /*--------------------------------*/
\r
903 #define WRITE_PAGE_ACTIVITY_CP_SIZE 4
\r
904 /****************************************************************/
\r
905 /****************************************************************/
\r
908 #define OCF_READ_INQ_ACTIVITY 0x001D
\r
909 /*--------------------------------*/
\r
914 }read_inq_activity_rp;
\r
915 #define READ_INQ_ACTIVITY_RP____status 0
\r
916 #define READ_INQ_ACTIVITY_RP____interval 1
\r
917 #define READ_INQ_ACTIVITY_RP____window 3
\r
918 /*--------------------------------*/
\r
919 #define READ_INQ_ACTIVITY_RP_SIZE 5
\r
920 /****************************************************************/
\r
921 /****************************************************************/
\r
924 #define OCF_WRITE_INQ_ACTIVITY 0x001E
\r
925 /*--------------------------------*/
\r
929 }write_inq_activity_cp;
\r
930 #define WRITE_INQ_ACTIVITY_CP____interval 0
\r
931 #define WRITE_INQ_ACTIVITY_CP____window 2
\r
932 /*--------------------------------*/
\r
933 #define WRITE_INQ_ACTIVITY_CP_SIZE 4
\r
934 /****************************************************************/
\r
935 /****************************************************************/
\r
938 #define OCF_READ_AUTH_ENABLE 0x001F
\r
940 #define OCF_WRITE_AUTH_ENABLE 0x0020
\r
941 #define AUTH_DISABLED 0x00
\r
942 #define AUTH_ENABLED 0x01
\r
944 #define OCF_READ_ENCRYPT_MODE 0x0021
\r
946 #define OCF_WRITE_ENCRYPT_MODE 0x0022
\r
947 #define ENCRYPT_DISABLED 0x00
\r
948 #define ENCRYPT_P2P 0x01
\r
949 #define ENCRYPT_BOTH 0x02
\r
951 #define OCF_READ_CLASS_OF_DEV 0x0023
\r
952 /*--------------------------------*/
\r
955 uint8_t dev_class[3];
\r
956 }read_class_of_dev_rp;
\r
957 #define READ_CLASS_OF_DEV_RP____status 0
\r
958 #define READ_CLASS_OF_DEV_RP____dev_class 1
\r
959 /*--------------------------------*/
\r
960 #define READ_CLASS_OF_DEV_RP_SIZE 4
\r
961 /****************************************************************/
\r
962 /****************************************************************/
\r
965 #define OCF_WRITE_CLASS_OF_DEV 0x0024
\r
966 /*--------------------------------*/
\r
968 uint8_t dev_class[3];
\r
969 }write_class_of_dev_cp;
\r
970 #define WRITE_CLASS_OF_DEV_CP____dev_class 0
\r
971 /*--------------------------------*/
\r
972 #define WRITE_CLASS_OF_DEV_CP_SIZE 3
\r
973 /****************************************************************/
\r
974 /****************************************************************/
\r
977 #define OCF_READ_VOICE_SETTING 0x0025
\r
978 /*--------------------------------*/
\r
981 uint16_t voice_setting;
\r
982 }read_voice_setting_rp;
\r
983 #define READ_VOICE_SETTING_RP____status 0
\r
984 #define READ_VOICE_SETTING_RP____voice_setting 1
\r
985 /*--------------------------------*/
\r
986 #define READ_VOICE_SETTING_RP_SIZE 3
\r
987 /****************************************************************/
\r
988 /****************************************************************/
\r
991 #define OCF_WRITE_VOICE_SETTING 0x0026
\r
992 /*--------------------------------*/
\r
994 uint16_t voice_setting;
\r
995 }write_voice_setting_cp;
\r
996 #define WRITE_VOICE_SETTING_CP____voice_setting 0
\r
997 /*--------------------------------*/
\r
998 #define WRITE_VOICE_SETTING_CP_SIZE 2
\r
999 /****************************************************************/
\r
1000 /****************************************************************/
\r
1003 #define OCF_READ_TRANSMIT_POWER_LEVEL 0x002D
\r
1004 /*--------------------------------*/
\r
1008 }read_transmit_power_level_cp;
\r
1009 #define READ_TRANSMIT_POWER_LEVEL_CP____handle 0
\r
1010 #define READ_TRANSMIT_POWER_LEVEL_CP____type 2
\r
1011 /*--------------------------------*/
\r
1012 #define READ_TRANSMIT_POWER_LEVEL_CP_SIZE 3
\r
1014 /*--------------------------------*/
\r
1019 }read_transmit_power_level_rp;
\r
1020 #define READ_TRANSMIT_POWER_LEVEL_RP____status 0
\r
1021 #define READ_TRANSMIT_POWER_LEVEL_RP____handle 1
\r
1022 #define READ_TRANSMIT_POWER_LEVEL_RP____level 3
\r
1023 /*--------------------------------*/
\r
1024 #define READ_TRANSMIT_POWER_LEVEL_RP_SIZE 4
\r
1025 /****************************************************************/
\r
1026 /****************************************************************/
\r
1029 #define OCF_HOST_BUFFER_SIZE 0x0033
\r
1030 /*--------------------------------*/
\r
1034 uint16_t acl_max_pkt;
\r
1035 uint16_t sco_max_pkt;
\r
1036 }host_buffer_size_cp;
\r
1037 #define HOST_BUFFER_SIZE_CP____acl_mtu 0
\r
1038 #define HOST_BUFFER_SIZE_CP____sco_mtu 2
\r
1039 #define HOST_BUFFER_SIZE_CP____acl_max_pkt 3
\r
1040 #define HOST_BUFFER_SIZE_CP____sco_max_pkt 5
\r
1041 /*--------------------------------*/
\r
1042 #define HOST_BUFFER_SIZE_CP_SIZE 7
\r
1043 /****************************************************************/
\r
1044 /****************************************************************/
\r
1047 #define OCF_READ_LINK_SUPERVISION_TIMEOUT 0x0036
\r
1048 /*--------------------------------*/
\r
1052 uint16_t link_sup_to;
\r
1053 }read_link_supervision_timeout_rp;
\r
1054 #define READ_LINK_SUPERVISION_TIMEOUT_RP____status 0
\r
1055 #define READ_LINK_SUPERVISION_TIMEOUT_RP____handle 1
\r
1056 #define READ_LINK_SUPERVISION_TIMEOUT_RP____link_sup_to 3
\r
1057 /*--------------------------------*/
\r
1058 #define READ_LINK_SUPERVISION_TIMEOUT_RP_SIZE 5
\r
1059 /****************************************************************/
\r
1060 /****************************************************************/
\r
1063 #define OCF_WRITE_LINK_SUPERVISION_TIMEOUT 0x0037
\r
1064 /*--------------------------------*/
\r
1067 uint16_t link_sup_to;
\r
1068 }write_link_supervision_timeout_cp;
\r
1069 #define WRITE_LINK_SUPERVISION_TIMEOUT_CP____handle 0
\r
1070 #define WRITE_LINK_SUPERVISION_TIMEOUT_CP____link_sup_to 2
\r
1071 /*--------------------------------*/
\r
1072 #define WRITE_LINK_SUPERVISION_TIMEOUT_CP_SIZE 4
\r
1073 /*--------------------------------*/
\r
1077 }write_link_supervision_timeout_rp;
\r
1078 #define WRITE_LINK_SUPERVISION_TIMEOUT_RP____status 0
\r
1079 #define WRITE_LINK_SUPERVISION_TIMEOUT_RP____handle 1
\r
1080 /*--------------------------------*/
\r
1081 #define WRITE_LINK_SUPERVISION_TIMEOUT_RP_SIZE 3
\r
1082 /****************************************************************/
\r
1083 /****************************************************************/
\r
1086 #define MAX_IAC_LAP 0x40
\r
1087 #define OCF_READ_CURRENT_IAC_LAP 0x0039
\r
1088 /*--------------------------------*/
\r
1091 uint8_t num_current_iac;
\r
1092 uint8_t lap[MAX_IAC_LAP][3];
\r
1093 }read_current_iac_lap_rp;
\r
1094 #define READ_CURRENT_IAC_LAP_RP____status 0
\r
1095 #define READ_CURRENT_IAC_LAP_RP____num_current_iac 1
\r
1096 #define READ_CURRENT_IAC_LAP_RP____lap 2
\r
1097 /*--------------------------------*/
\r
1098 #define READ_CURRENT_IAC_LAP_RP_SIZE 2+3*MAX_IAC_LAP
\r
1099 /****************************************************************/
\r
1100 /****************************************************************/
\r
1103 #define OCF_WRITE_CURRENT_IAC_LAP 0x003A
\r
1104 /*--------------------------------*/
\r
1106 uint8_t num_current_iac;
\r
1107 uint8_t lap[MAX_IAC_LAP][3];
\r
1108 }write_current_iac_lap_cp;
\r
1109 #define WRITE_CURRENT_IAC_LAP_CP____num_current_iac 0
\r
1110 #define WRITE_CURRENT_IAC_LAP_CP____lap 1
\r
1111 /*--------------------------------*/
\r
1112 #define WRITE_CURRENT_IAC_LAP_CP_SIZE 1+3*MAX_IAC_LAP
\r
1113 /****************************************************************/
\r
1114 /****************************************************************/
\r
1117 #define OCF_SET_AFH_CLASSIFICATION 0x003F
\r
1118 /*--------------------------------*/
\r
1121 }set_afh_classification_cp;
\r
1122 #define SET_AFH_CLASSIFICATION_CP____map 0
\r
1123 /*--------------------------------*/
\r
1124 #define SET_AFH_CLASSIFICATION_CP_SIZE 10
\r
1125 /*--------------------------------*/
\r
1128 }set_afh_classification_rp;
\r
1129 #define SET_AFH_CLASSIFICATION_RP____status 0
\r
1130 /*--------------------------------*/
\r
1131 #define SET_AFH_CLASSIFICATION_RP_SIZE 1
\r
1132 /****************************************************************/
\r
1133 /****************************************************************/
\r
1136 #define OCF_READ_INQUIRY_SCAN_TYPE 0x0042
\r
1137 /*--------------------------------*/
\r
1141 }read_inquiry_scan_type_rp;
\r
1142 #define READ_INQUIRY_SCAN_TYPE_RP____status 0
\r
1143 #define READ_INQUIRY_SCAN_TYPE_RP____type 1
\r
1144 /*--------------------------------*/
\r
1145 #define READ_INQUIRY_SCAN_TYPE_RP_SIZE 2
\r
1146 /****************************************************************/
\r
1147 /****************************************************************/
\r
1150 #define OCF_WRITE_INQUIRY_SCAN_TYPE 0x0043
\r
1151 /*--------------------------------*/
\r
1154 }write_inquiry_scan_type_cp;
\r
1155 #define WRITE_INQUIRY_SCAN_TYPE_CP____type 0
\r
1156 /*--------------------------------*/
\r
1157 #define WRITE_INQUIRY_SCAN_TYPE_CP_SIZE 1
\r
1158 /*--------------------------------*/
\r
1161 }write_inquiry_scan_type_rp;
\r
1162 #define WRITE_INQUIRY_SCAN_TYPE_RP____status 0
\r
1163 /*--------------------------------*/
\r
1164 #define WRITE_INQUIRY_SCAN_TYPE_RP_SIZE 1
\r
1165 /****************************************************************/
\r
1166 /****************************************************************/
\r
1169 #define OCF_READ_INQUIRY_MODE 0x0044
\r
1170 /*--------------------------------*/
\r
1174 }read_inquiry_mode_rp;
\r
1175 #define READ_INQUIRY_MODE_RP____status 0
\r
1176 #define READ_INQUIRY_MODE_RP____mode 1
\r
1177 /*--------------------------------*/
\r
1178 #define READ_INQUIRY_MODE_RP_SIZE 2
\r
1179 /****************************************************************/
\r
1180 /****************************************************************/
\r
1183 #define OCF_WRITE_INQUIRY_MODE 0x0045
\r
1184 /*--------------------------------*/
\r
1187 }write_inquiry_mode_cp;
\r
1188 #define WRITE_INQUIRY_MODE_CP____mode 0
\r
1189 /*--------------------------------*/
\r
1190 #define WRITE_INQUIRY_MODE_CP_SIZE 1
\r
1191 /*--------------------------------*/
\r
1194 }write_inquiry_mode_rp;
\r
1195 #define WRITE_INQUIRY_MODE_RP____status 0
\r
1196 /*--------------------------------*/
\r
1197 #define WRITE_INQUIRY_MODE_RP_SIZE 1
\r
1198 /****************************************************************/
\r
1199 /****************************************************************/
\r
1202 #define OCF_READ_AFH_MODE 0x0048
\r
1203 /*--------------------------------*/
\r
1207 }read_afh_mode_rp;
\r
1208 #define READ_AFH_MODE_RP____status 0
\r
1209 #define READ_AFH_MODE_RP____mode 1
\r
1210 /*--------------------------------*/
\r
1211 #define READ_AFH_MODE_RP_SIZE 2
\r
1212 /****************************************************************/
\r
1213 /****************************************************************/
\r
1216 #define OCF_WRITE_AFH_MODE 0x0049
\r
1217 /*--------------------------------*/
\r
1220 }write_afh_mode_cp;
\r
1221 #define WRITE_AFH_MODE_CP____mode 0
\r
1222 /*--------------------------------*/
\r
1223 #define WRITE_AFH_MODE_CP_SIZE 1
\r
1224 /*--------------------------------*/
\r
1227 }write_afh_mode_rp;
\r
1228 #define WRITE_AFH_MODE_RP____status 0
\r
1229 /*--------------------------------*/
\r
1230 #define WRITE_AFH_MODE_RP_SIZE 1
\r
1231 /****************************************************************/
\r
1232 /*---------------------funkce------------------------------*/
\r
1233 //bths_check_command *bth_find_end(bths_check_command *dyn_chan);
\r
1236 /*********************** OGF = 0x01 ****************************/
\r
1237 /*-------------------LINK CONTROL COMMANDS--------------------------*/
\r
1238 int bth_cmd_inqury(uint8_t length, uint8_t rsp, uint8_t *lap); //0x0001
\r
1239 int bth_cmd_Disconnect(uint16_t handle, uint8_t reason); //0x0006
\r
1243 int change_connection_packet_type(uint16_t handle, uint16_t ptype);
\r
1244 int bth_accept_conn_req_cp(bdaddr_t *bdaddr); /*0x01 - 0x0009*/
\r
1245 int bth_cmd_write_page_scan(uint16_t interval, uint16_t window);
\r
1246 int bth_cmd_write_inquiry_scan_activity(uint16_t interval, uint16_t window); //0x001E
\r
1247 int bth_cmd_read_bd_addr(void);
\r
1248 int bth_cmd_write_scan_enable(uint8_t set_ing_scan); //0x001A
\r
1249 int bth_cmd_write_link_policy_settings(uint16_t handle, uint16_t policy);
\r
1250 int bth_cmd_reset(void);
\r