]> rtime.felk.cvut.cz Git - mirosot.git/blob - bluetooth/hci_command.h
Initial import of Petr's work.
[mirosot.git] / bluetooth / hci_command.h
1 /*******************************************************************\r
2   bluetooth library\r
3 \r
4   hci_command.h - list of Command packet structures +\r
5                 list of Command fce\r
6 \r
7   Copyright (C) 2006 by Petr Kovacik petr_kovacik@gmail.com\r
8 \r
9  *******************************************************************/\r
10 \r
11 \r
12 #ifndef HCI_COMMAND_H\r
13 #define HCI_COMMAND_H\r
14 \r
15 /****************************************************************/\r
16 /* ---------------------  Link Control ------------------------ */\r
17 /****************************************************************/\r
18 /****************************************************************/\r
19 \r
20 #define OGF_LINK_CTL            0x01\r
21 \r
22 \r
23 /****************************************************************/\r
24 #define OCF_INQUIRY                     0x0001\r
25 /*--------------------------------*/\r
26 typedef struct {\r
27         uint8_t         lap[3];\r
28         uint8_t         length;         /* 1.28s units */\r
29         uint8_t         num_rsp;\r
30 } inquiry_cp;\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
38 \r
39 \r
40 /*--------------------------------*/\r
41 typedef struct {\r
42         uint8_t         status;\r
43         bdaddr_t        bdaddr;\r
44 } status_bdaddr_rp;\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
51 \r
52 \r
53 #define OCF_INQUIRY_CANCEL              0x0002\r
54 \r
55 #define OCF_PERIODIC_INQUIRY            0x0003\r
56 /*--------------------------------*/\r
57 typedef struct {\r
58         uint16_t        max_period;     /* 1.28s units */\r
59         uint16_t        min_period;     /* 1.28s units */\r
60         uint8_t         lap[3];\r
61         uint8_t         length;         /* 1.28s units */\r
62         uint8_t         num_rsp;\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
73 \r
74 \r
75 #define OCF_EXIT_PERIODIC_INQUIRY       0x0004\r
76 \r
77 #define OCF_CREATE_CONN                         0x0005\r
78 /*--------------------------------*/\r
79 typedef struct {\r
80         bdaddr_t        bdaddr;\r
81         uint16_t        pkt_type;\r
82         uint8_t         pscan_rep_mode;\r
83         uint8_t         pscan_mode;\r
84         uint16_t        clock_offset;\r
85         uint8_t         role_switch;\r
86 } create_conn_cp;\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
97 \r
98 \r
99 #define OCF_DISCONNECT                  0x0006\r
100 /*--------------------------------*/\r
101 typedef struct {\r
102         uint16_t        handle;\r
103         uint8_t         reason;\r
104 } disconnect_cp;\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
111 \r
112 \r
113 #define OCF_ADD_SCO                     0x0007\r
114 /*--------------------------------*/\r
115 typedef struct {\r
116         uint16_t        handle;\r
117         uint16_t        pkt_type;\r
118 } add_sco_cp;\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
125 \r
126 \r
127 #define OCF_CREATE_CONN_CANCEL          0x0008\r
128 /*--------------------------------*/\r
129 typedef struct {\r
130         bdaddr_t        bdaddr;\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
137 \r
138 \r
139 #define OCF_ACCEPT_CONN_REQ             0x0009\r
140 /*--------------------------------*/\r
141 typedef struct {\r
142         bdaddr_t        bdaddr;\r
143         uint8_t         role;\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
151 \r
152 \r
153 #define OCF_REJECT_CONN_REQ             0x000A\r
154 /*--------------------------------*/\r
155 typedef struct {\r
156         bdaddr_t        bdaddr;\r
157         uint8_t         reason;\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
165 \r
166 \r
167 #define OCF_LINK_KEY_REPLY              0x000B\r
168 /*--------------------------------*/\r
169 typedef struct {\r
170         bdaddr_t        bdaddr;\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
179 \r
180 \r
181 #define OCF_LINK_KEY_NEG_REPLY          0x000C\r
182 \r
183 #define OCF_PIN_CODE_REPLY                      0x000D\r
184 /*--------------------------------*/\r
185 typedef struct {\r
186         bdaddr_t        bdaddr;\r
187         uint8_t         pin_len;\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
197 \r
198 \r
199 #define OCF_PIN_CODE_NEG_REPLY          0x000E\r
200 \r
201 #define OCF_SET_CONN_PTYPE                      0x000F\r
202 /*--------------------------------*/\r
203 typedef struct {\r
204         uint16_t         handle;\r
205         uint16_t         pkt_type;\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
213 \r
214 \r
215 #define OCF_AUTH_REQUESTED              0x0011\r
216 /*--------------------------------*/\r
217 typedef struct {\r
218         uint16_t         handle;\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
225 \r
226 \r
227 #define OCF_SET_CONN_ENCRYPT            0x0013\r
228 /*--------------------------------*/\r
229 typedef struct {\r
230         uint16_t        handle;\r
231         uint8_t         encrypt;\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
239 \r
240 \r
241 #define OCF_CHANGE_CONN_LINK_KEY        0x0015\r
242 /*--------------------------------*/\r
243 typedef struct {\r
244         uint16_t        handle;\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
251 \r
252 \r
253 #define OCF_MASTER_LINK_KEY             0x0017\r
254 /*--------------------------------*/\r
255 typedef struct {\r
256         uint8_t         key_flag;\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
263 \r
264 \r
265 #define OCF_REMOTE_NAME_REQ             0x0019\r
266 /*--------------------------------*/\r
267 typedef struct {\r
268         bdaddr_t        bdaddr;\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
281 \r
282 \r
283 #define OCF_REMOTE_NAME_REQ_CANCEL      0x001A\r
284 /*--------------------------------*/\r
285 typedef struct {\r
286         bdaddr_t        bdaddr;\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
293 \r
294 \r
295 #define OCF_READ_REMOTE_FEATURES        0x001B\r
296 /*--------------------------------*/\r
297 typedef struct {\r
298         uint16_t        handle;\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
305 \r
306 \r
307 #define OCF_READ_REMOTE_EXT_FEATURES    0x001C\r
308 /*--------------------------------*/\r
309 typedef struct {\r
310         uint16_t        handle;\r
311         uint8_t         page_num;\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
319 \r
320 \r
321 #define OCF_READ_REMOTE_VERSION         0x001D\r
322 /*--------------------------------*/\r
323 typedef struct {\r
324         uint16_t        handle;\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
331 \r
332 \r
333 #define OCF_READ_CLOCK_OFFSET           0x001F\r
334 /*--------------------------------*/\r
335 typedef struct {\r
336         uint16_t        handle;\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
343 \r
344 \r
345 #define OCF_READ_LMP_HANDLE             0x0020\r
346 \r
347 #define OCF_SETUP_SYNC_CONN             0x0028\r
348 /*--------------------------------*/\r
349 typedef struct {\r
350         uint16_t        handle;\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
356         uint16_t        pkt_type;\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
369 \r
370 \r
371 #define OCF_ACCEPT_SYNC_CONN_REQ        0x0029\r
372 /*--------------------------------*/\r
373 typedef struct {\r
374         bdaddr_t        bdaddr;\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
380         uint16_t        pkt_type;\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
393 \r
394 \r
395 #define OCF_REJECT_SYNC_CONN_REQ        0x002A\r
396 /*--------------------------------*/\r
397 typedef struct {\r
398         bdaddr_t        bdaddr;\r
399         uint8_t         reason;\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
407 \r
408 \r
409 \r
410 \r
411 /****************************************************************/\r
412 /* ---------------------  Link Policy ------------------------ */\r
413 /****************************************************************/\r
414 /****************************************************************/\r
415 \r
416 #define OGF_LINK_POLICY         0x02\r
417 \r
418 #define OCF_HOLD_MODE           0x0001\r
419 /*--------------------------------*/\r
420 typedef struct {\r
421         uint16_t        handle;\r
422         uint16_t        max_interval;\r
423         uint16_t        min_interval;\r
424 }hold_mode_cp;\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
432 \r
433 \r
434 #define OCF_SNIFF_MODE                  0x0003\r
435 /*--------------------------------*/\r
436 typedef struct {\r
437         uint16_t        handle;\r
438         uint16_t        max_interval;\r
439         uint16_t        min_interval;\r
440         uint16_t        attempt;\r
441         uint16_t        timeout;\r
442 }sniff_mode_cp;\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
452 \r
453 \r
454 #define OCF_EXIT_SNIFF_MODE             0x0004\r
455 /*--------------------------------*/\r
456 typedef struct {\r
457         uint16_t        handle;\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
464 \r
465 \r
466 #define OCF_PARK_MODE                   0x0005\r
467 /*--------------------------------*/\r
468 typedef struct {\r
469         uint16_t        handle;\r
470         uint16_t        max_interval;\r
471         uint16_t        min_interval;\r
472 }park_mode_cp;\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
480 \r
481 \r
482 #define OCF_EXIT_PARK_MODE              0x0006\r
483 /*--------------------------------*/\r
484 typedef struct {\r
485         uint16_t        handle;\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
492 \r
493 \r
494 #define OCF_QOS_SETUP                   0x0007\r
495 /*--------------------------------*/\r
496 typedef struct {\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
502 }hci_qos;\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
511 typedef struct {\r
512         uint16_t        handle;\r
513         uint8_t         flags;                  /* Reserved */\r
514         hci_qos         qos;                                                                    /*POZOR POLOZKA MA TYP STRUKTURY!!!!!!!!!!*/\r
515 }qos_setup_cp;\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
523 \r
524 \r
525 #define OCF_ROLE_DISCOVERY              0x0009\r
526 /*--------------------------------*/\r
527 typedef struct {\r
528         uint16_t        handle;\r
529 }role_discovery_cp;\r
530 #define ROLE_DISCOVERY_CP____handle                     0\r
531 /*--------------------------------*/\r
532 #define ROLE_DISCOVERY_CP_SIZE 2\r
533 \r
534 /*--------------------------------*/   /*NAVRATOVE PARAMETRY*/\r
535 typedef struct {\r
536         uint8_t         status;\r
537         uint16_t        handle;\r
538         uint8_t         role;\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
547 \r
548 \r
549 #define OCF_SWITCH_ROLE                 0x000B\r
550 \r
551 /*--------------------------------*/\r
552 typedef struct {\r
553         bdaddr_t        bdaddr;\r
554         uint8_t         role;\r
555 }switch_role_cp;\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
562 \r
563 \r
564 #define OCF_READ_LINK_POLICY            0x000C\r
565 /*--------------------------------*/\r
566 typedef struct {\r
567         uint16_t        handle;\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
573 typedef struct {\r
574         uint8_t         status;\r
575         uint16_t        handle;\r
576         uint16_t        policy;\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
585 \r
586 \r
587 #define OCF_WRITE_LINK_POLICY           0x000D\r
588 /*--------------------------------*/\r
589 typedef struct {\r
590         uint16_t        handle;\r
591         uint16_t        policy;\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
598 typedef struct {\r
599         uint8_t         status;\r
600         uint16_t        handle;\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
608 \r
609 \r
610 \r
611 \r
612 /****************************************************************/\r
613 /*--------------- Host Controller and Baseband -----------------*/\r
614 /****************************************************************/\r
615 /****************************************************************/\r
616 \r
617 #define OGF_HOST_CTL            0x03\r
618 \r
619 #define OCF_SET_EVENT_MASK              0x0001\r
620 /*--------------------------------*/\r
621 typedef struct {\r
622         uint8_t         mask[8];\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
629 \r
630 \r
631 #define OCF_RESET                       0x0003\r
632 \r
633 #define OCF_SET_EVENT_FLT               0x0005\r
634 /*--------------------------------*/\r
635 typedef struct {\r
636         uint8_t         flt_type;\r
637         uint8_t         cond_type;\r
638         uint8_t         condition[0];\r
639 }set_event_flt_cp;\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
647 \r
648 \r
649 /* Filter types */\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
664 \r
665 #define OCF_FLUSH                                       0x0008\r
666 \r
667 #define OCF_READ_PIN_TYPE                       0x0009\r
668 /*--------------------------------*/\r
669 typedef struct {\r
670         uint8_t         status;\r
671         uint8_t         pin_type;\r
672 }read_pin_type_rp;\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
679 \r
680 \r
681 #define OCF_WRITE_PIN_TYPE              0x000A\r
682 /*--------------------------------*/\r
683 typedef struct {\r
684         uint8_t         pin_type;\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
691 \r
692 \r
693 #define OCF_CREATE_NEW_UNIT_KEY         0x000B\r
694 \r
695 #define OCF_READ_STORED_LINK_KEY        0x000D\r
696 /*--------------------------------*/\r
697 typedef struct {\r
698         bdaddr_t        bdaddr;\r
699         uint8_t         read_all;\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
705 \r
706 /*--------------------------------*/\r
707 typedef struct {\r
708         uint8_t         status;\r
709         uint16_t        max_keys;\r
710         uint16_t        num_keys;\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
719 \r
720 \r
721 \r
722 #define OCF_WRITE_STORED_LINK_KEY       0x0011\r
723 /*--------------------------------*/\r
724 typedef struct {\r
725         uint8_t         num_keys;\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
733 \r
734 \r
735 /*--------------------------------*/\r
736 typedef struct {\r
737         uint8_t         status;\r
738         uint8_t         num_keys;\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
746 \r
747 \r
748 #define OCF_DELETE_STORED_LINK_KEY      0x0012\r
749 /*--------------------------------*/\r
750 typedef struct {\r
751         bdaddr_t        bdaddr;\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
760 \r
761 \r
762 /*--------------------------------*/\r
763 typedef struct {\r
764         uint8_t         status;\r
765         uint16_t        num_keys;\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
773 \r
774 \r
775 #define OCF_CHANGE_LOCAL_NAME           0x0013\r
776 /*--------------------------------*/\r
777 typedef struct {\r
778         uint8_t         name[248];\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
785 \r
786 \r
787 #define OCF_READ_LOCAL_NAME             0x0014\r
788 /*--------------------------------*/\r
789 typedef struct {\r
790         uint8_t         status;\r
791         uint8_t         name[248];\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
799 \r
800 \r
801 #define OCF_READ_CONN_ACCEPT_TIMEOUT    0x0015\r
802 /*--------------------------------*/\r
803 typedef struct {\r
804         uint8_t         status;\r
805         uint16_t        timeout;\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
813 \r
814 \r
815 #define OCF_WRITE_CONN_ACCEPT_TIMEOUT   0x0016\r
816 /*--------------------------------*/\r
817 typedef struct {\r
818         uint16_t        timeout;\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
825 \r
826 \r
827 #define OCF_READ_PAGE_TIMEOUT           0x0017\r
828 /*--------------------------------*/\r
829 typedef struct {\r
830         uint8_t         status;\r
831         uint16_t        timeout;\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
839 \r
840 \r
841 #define OCF_WRITE_PAGE_TIMEOUT          0x0018\r
842 /*--------------------------------*/\r
843 typedef struct {\r
844         uint16_t        timeout;\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
851 \r
852 \r
853 #define OCF_READ_SCAN_ENABLE            0x0019\r
854 /*--------------------------------*/\r
855 typedef struct {\r
856         uint8_t         status;\r
857         uint8_t         enable;\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
865 \r
866 \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
876 \r
877 \r
878 #define OCF_READ_PAGE_ACTIVITY          0x001B\r
879 /*--------------------------------*/\r
880 typedef struct {\r
881         uint8_t         status;\r
882         uint16_t        interval;\r
883         uint16_t        window;\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
892 \r
893 \r
894 #define OCF_WRITE_PAGE_ACTIVITY         0x001C\r
895 /*--------------------------------*/\r
896 typedef struct {\r
897         uint16_t        interval;\r
898         uint16_t        window;\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
906 \r
907 \r
908 #define OCF_READ_INQ_ACTIVITY           0x001D\r
909 /*--------------------------------*/\r
910 typedef struct {\r
911         uint8_t         status;\r
912         uint16_t        interval;\r
913         uint16_t        window;\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
922 \r
923 \r
924 #define OCF_WRITE_INQ_ACTIVITY          0x001E\r
925 /*--------------------------------*/\r
926 typedef struct {\r
927         uint16_t        interval;\r
928         uint16_t        window;\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
936 \r
937 \r
938 #define OCF_READ_AUTH_ENABLE            0x001F\r
939 \r
940 #define OCF_WRITE_AUTH_ENABLE           0x0020\r
941         #define AUTH_DISABLED                           0x00\r
942         #define AUTH_ENABLED                            0x01\r
943 \r
944 #define OCF_READ_ENCRYPT_MODE           0x0021\r
945 \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
950 \r
951 #define OCF_READ_CLASS_OF_DEV           0x0023\r
952 /*--------------------------------*/\r
953 typedef struct {\r
954         uint8_t         status;\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
963 \r
964 \r
965 #define OCF_WRITE_CLASS_OF_DEV          0x0024\r
966 /*--------------------------------*/\r
967 typedef struct {\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
975 \r
976 \r
977 #define OCF_READ_VOICE_SETTING          0x0025\r
978 /*--------------------------------*/\r
979 typedef struct {\r
980         uint8_t         status;\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
989 \r
990 \r
991 #define OCF_WRITE_VOICE_SETTING         0x0026\r
992 /*--------------------------------*/\r
993 typedef struct {\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
1001 \r
1002 \r
1003 #define OCF_READ_TRANSMIT_POWER_LEVEL   0x002D\r
1004 /*--------------------------------*/\r
1005 typedef struct {\r
1006         uint16_t        handle;\r
1007         uint8_t         type;\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
1013 \r
1014 /*--------------------------------*/\r
1015 typedef struct {\r
1016         uint8_t         status;\r
1017         uint16_t        handle;\r
1018         int8_t          level;\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
1027 \r
1028 \r
1029 #define OCF_HOST_BUFFER_SIZE            0x0033\r
1030 /*--------------------------------*/\r
1031 typedef struct {\r
1032         uint16_t        acl_mtu;\r
1033         uint8_t         sco_mtu;\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
1045 \r
1046 \r
1047 #define OCF_READ_LINK_SUPERVISION_TIMEOUT       0x0036\r
1048 /*--------------------------------*/\r
1049 typedef struct {\r
1050         uint8_t         status;\r
1051         uint16_t        handle;\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
1061 \r
1062 \r
1063 #define OCF_WRITE_LINK_SUPERVISION_TIMEOUT      0x0037\r
1064 /*--------------------------------*/\r
1065 typedef struct {\r
1066         uint16_t        handle;\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
1074 typedef struct {\r
1075         uint8_t         status;\r
1076         uint16_t        handle;\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
1084 \r
1085 \r
1086 #define MAX_IAC_LAP 0x40\r
1087 #define OCF_READ_CURRENT_IAC_LAP        0x0039\r
1088 /*--------------------------------*/\r
1089 typedef struct {\r
1090         uint8_t         status;\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
1101 \r
1102 \r
1103 #define OCF_WRITE_CURRENT_IAC_LAP       0x003A\r
1104 /*--------------------------------*/\r
1105 typedef struct {\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
1115 \r
1116 \r
1117 #define OCF_SET_AFH_CLASSIFICATION      0x003F\r
1118 /*--------------------------------*/\r
1119 typedef struct {\r
1120         uint8_t         map[10];\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
1126 typedef struct {\r
1127         uint8_t         status;\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
1134 \r
1135 \r
1136 #define OCF_READ_INQUIRY_SCAN_TYPE      0x0042\r
1137 /*--------------------------------*/\r
1138 typedef struct {\r
1139         uint8_t         status;\r
1140         uint8_t         type;\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
1148 \r
1149 \r
1150 #define OCF_WRITE_INQUIRY_SCAN_TYPE     0x0043\r
1151 /*--------------------------------*/\r
1152 typedef struct {\r
1153         uint8_t         type;\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
1159 typedef struct {\r
1160         uint8_t         status;\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
1167 \r
1168 \r
1169 #define OCF_READ_INQUIRY_MODE           0x0044\r
1170 /*--------------------------------*/\r
1171 typedef struct {\r
1172         uint8_t         status;\r
1173         uint8_t         mode;\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
1181 \r
1182 \r
1183 #define OCF_WRITE_INQUIRY_MODE          0x0045\r
1184 /*--------------------------------*/\r
1185 typedef struct {\r
1186         uint8_t         mode;\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
1192 typedef struct {\r
1193         uint8_t         status;\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
1200 \r
1201 \r
1202 #define OCF_READ_AFH_MODE               0x0048\r
1203 /*--------------------------------*/\r
1204 typedef struct {\r
1205         uint8_t         status;\r
1206         uint8_t         mode;\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
1214 \r
1215 \r
1216 #define OCF_WRITE_AFH_MODE              0x0049\r
1217 /*--------------------------------*/\r
1218 typedef struct {\r
1219         uint8_t         mode;\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
1225 typedef struct {\r
1226         uint8_t         status;\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
1234 \r
1235 \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
1240 \r
1241 \r
1242 \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
1251 \r
1252 #endif\r
1253 \r
1254 \r