hci.h (53f240c0b086912a4668b164686d78100c96342d) hci.h (9afaa4d426555cd46725e0caea74f010a121ef1c)
1/*
2 * Copyright (C) 2014 BlueKitchen GmbH
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright

--- 213 unchanged lines hidden (view full) ---

222 AUTH_FLAG_CONNECTION_ENCRYPTED = 0x2000,
223
224 // errands
225 AUTH_FLAG_READ_RSSI = 0x4000,
226 AUTH_FLAG_WRITE_SUPERVISION_TIMEOUT = 0x8000,
227
228} hci_authentication_flags_t;
229
1/*
2 * Copyright (C) 2014 BlueKitchen GmbH
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright

--- 213 unchanged lines hidden (view full) ---

222 AUTH_FLAG_CONNECTION_ENCRYPTED = 0x2000,
223
224 // errands
225 AUTH_FLAG_READ_RSSI = 0x4000,
226 AUTH_FLAG_WRITE_SUPERVISION_TIMEOUT = 0x8000,
227
228} hci_authentication_flags_t;
229
230// GAP Connection Tasks
231#define GAP_CONNECTION_TASK_WRITE_AUTOMATIC_FLUSH_TIMEOUT 0x0001u
232
230/**
231 * Connection State
232 */
233typedef enum {
234 SEND_CREATE_CONNECTION = 0,
235 SENT_CREATE_CONNECTION,
236 SEND_CANCEL_CONNECTION,
237 SENT_CANCEL_CONNECTION,

--- 353 unchanged lines hidden (view full) ---

591
592 // request role switch
593 hci_role_t request_role;
594
595 btstack_timer_source_t timeout_sco;
596#endif /* ENABLE_CLASSIC */
597
598 // authentication and other errands
233/**
234 * Connection State
235 */
236typedef enum {
237 SEND_CREATE_CONNECTION = 0,
238 SENT_CREATE_CONNECTION,
239 SEND_CANCEL_CONNECTION,
240 SENT_CANCEL_CONNECTION,

--- 353 unchanged lines hidden (view full) ---

594
595 // request role switch
596 hci_role_t request_role;
597
598 btstack_timer_source_t timeout_sco;
599#endif /* ENABLE_CLASSIC */
600
601 // authentication and other errands
599 uint32_t authentication_flags;
602 uint16_t authentication_flags;
600
603
604 // gap connection tasks, see GAP_CONNECTION_TASK_x
605 uint16_t gap_connection_tasks;
606
601 btstack_timer_source_t timeout;
602
603 // timeout in system ticks (HAVE_EMBEDDED_TICK) or milliseconds (HAVE_EMBEDDED_TIME_MS)
604 uint32_t timestamp;
605
606 // ACL packet recombination - PRE_BUFFER + ACL Header + ACL payload
607 uint8_t acl_recombination_buffer[HCI_INCOMING_PRE_BUFFER_SIZE + 4 + HCI_ACL_BUFFER_SIZE];
608 uint16_t acl_recombination_pos;

--- 291 unchanged lines hidden (view full) ---

900 /* write page scan type */
901 uint8_t new_page_scan_type;
902
903 /* write page timeout */
904 uint16_t page_timeout;
905
906 // Errata-11838 mandates 7 bytes for GAP Security Level 1-3, we use 16 as default
907 uint8_t gap_required_encyrption_key_size;
607 btstack_timer_source_t timeout;
608
609 // timeout in system ticks (HAVE_EMBEDDED_TICK) or milliseconds (HAVE_EMBEDDED_TIME_MS)
610 uint32_t timestamp;
611
612 // ACL packet recombination - PRE_BUFFER + ACL Header + ACL payload
613 uint8_t acl_recombination_buffer[HCI_INCOMING_PRE_BUFFER_SIZE + 4 + HCI_ACL_BUFFER_SIZE];
614 uint16_t acl_recombination_pos;

--- 291 unchanged lines hidden (view full) ---

906 /* write page scan type */
907 uint8_t new_page_scan_type;
908
909 /* write page timeout */
910 uint16_t page_timeout;
911
912 // Errata-11838 mandates 7 bytes for GAP Security Level 1-3, we use 16 as default
913 uint8_t gap_required_encyrption_key_size;
914
908 uint16_t link_supervision_timeout;
915 uint16_t link_supervision_timeout;
916 uint16_t automatic_flush_timeout;
917
909 gap_security_level_t gap_security_level;
910 gap_security_level_t gap_minimal_service_security_level;
911 gap_security_mode_t gap_security_mode;
912
913 uint32_t inquiry_lap; // GAP_IAC_GENERAL_INQUIRY or GAP_IAC_LIMITED_INQUIRY
914 uint16_t inquiry_scan_interval;
915 uint16_t inquiry_scan_window;
916

--- 435 unchanged lines hidden (view full) ---

1352uint16_t hci_usable_acl_packet_types(void);
1353
1354/**
1355 * Check if ACL packets marked as non flushable can be sent. Called by L2CAP
1356 */
1357bool hci_non_flushable_packet_boundary_flag_supported(void);
1358
1359/**
918 gap_security_level_t gap_security_level;
919 gap_security_level_t gap_minimal_service_security_level;
920 gap_security_mode_t gap_security_mode;
921
922 uint32_t inquiry_lap; // GAP_IAC_GENERAL_INQUIRY or GAP_IAC_LIMITED_INQUIRY
923 uint16_t inquiry_scan_interval;
924 uint16_t inquiry_scan_window;
925

--- 435 unchanged lines hidden (view full) ---

1361uint16_t hci_usable_acl_packet_types(void);
1362
1363/**
1364 * Check if ACL packets marked as non flushable can be sent. Called by L2CAP
1365 */
1366bool hci_non_flushable_packet_boundary_flag_supported(void);
1367
1368/**
1369 * Return current automatic flush timeout setting
1370 */
1371uint16_t hci_automatic_flush_timeout(void);
1372
1373/**
1360 * Check if remote supported features query has completed
1361 */
1362bool hci_remote_features_available(hci_con_handle_t con_handle);
1363
1364/**
1365 * Trigger remote supported features query
1366 */
1367void hci_remote_features_query(hci_con_handle_t con_handle);

--- 131 unchanged lines hidden ---
1374 * Check if remote supported features query has completed
1375 */
1376bool hci_remote_features_available(hci_con_handle_t con_handle);
1377
1378/**
1379 * Trigger remote supported features query
1380 */
1381void hci_remote_features_query(hci_con_handle_t con_handle);

--- 131 unchanged lines hidden ---