35 #ifndef __BT_PRIMARY_TYPE_H__ 36 #define __BT_PRIMARY_TYPE_H__ 38 #ifdef BT_PLATFORM_BLE_ONLY 74 #include "bt_platform.h" 84 #define BT_HANDLE_INVALID 0xFFFF 85 typedef uint16_t bt_handle_t; 90 #define BT_KEY_SIZE 16 96 #define BT_ROLE_MASTER 0x00 97 #define BT_ROLE_SLAVE 0x01 98 typedef uint8_t bt_role_t; 105 #define BT_MODULE_OFFSET 26 106 #define BT_MODULE_MASK 0x03FFFFFFU 108 #define BT_MODULE_GENERAL (0x00U<<BT_MODULE_OFFSET) 109 #define BT_MODULE_TIMER (0x01U<<BT_MODULE_OFFSET) 110 #define BT_MODULE_MM (0x02U<<BT_MODULE_OFFSET) 111 #define BT_MODULE_HCI (0x03U<<BT_MODULE_OFFSET) 112 #define BT_MODULE_GAP (0x04U<<BT_MODULE_OFFSET) 113 #define BT_MODULE_L2CAP (0x05U<<BT_MODULE_OFFSET) 114 #define BT_MODULE_SM (0x06U<<BT_MODULE_OFFSET) 115 #define BT_MODULE_ATT (0x07U<<BT_MODULE_OFFSET) 116 #define BT_MODULE_GATT (0x08U<<BT_MODULE_OFFSET) 117 #define BT_MODULE_SYSTEM (0x09U<<BT_MODULE_OFFSET) 118 #define BT_MODULE_SDP (0x0AU<<BT_MODULE_OFFSET) 119 #define BT_MODULE_RFCOMM (0x0BU<<BT_MODULE_OFFSET) 120 #define BT_MODULE_HFP (0x0CU<<BT_MODULE_OFFSET) 121 #define BT_MODULE_SPP (0x0DU<<BT_MODULE_OFFSET) 122 #define BT_MODULE_AVRCP (0x0EU<<BT_MODULE_OFFSET) 123 #define BT_MODULE_A2DP (0x0FU<<BT_MODULE_OFFSET) 124 #define BT_MODULE_GOEP (0x10U<<BT_MODULE_OFFSET) 125 #define BT_MODULE_PBAPC (0x11U<<BT_MODULE_OFFSET) 126 #define BT_MODULE_AWS (0x12U<<BT_MODULE_OFFSET) 127 #define BT_MODULE_GENERAL_ERROR (0x3FU<<BT_MODULE_OFFSET) 129 #define BT_MODULE_NUM BT_MODULE_GENERAL_ERROR 130 typedef uint32_t bt_msg_type_t; 135 #define BT_STATUS_SUCCESS (BT_MODULE_GENERAL|(BT_MODULE_MASK&0x00)) 136 #define BT_STATUS_PENDING (BT_MODULE_GENERAL|(BT_MODULE_MASK&0x01)) 137 #define BT_STATUS_BUSY (BT_MODULE_GENERAL|(BT_MODULE_MASK&0x02)) 139 #define BT_STATUS_TIMER_FULL (BT_MODULE_TIMER|(BT_MODULE_MASK&0x1)) 140 #define BT_STATUS_TIMER_NOT_FOUND (BT_MODULE_TIMER|(BT_MODULE_MASK&0x2)) 142 #define BT_STATUS_FAIL (BT_MODULE_GENERAL|(BT_MODULE_MASK&0x03FFFFF1)) 143 #define BT_STATUS_OUT_OF_MEMORY (BT_MODULE_GENERAL|(BT_MODULE_MASK&0x03FFFFF2)) 144 #define BT_STATUS_TIMEOUT (BT_MODULE_GENERAL|(BT_MODULE_MASK&0x03FFFFF3)) 145 #define BT_STATUS_BUFFER_USED (BT_MODULE_GENERAL|(BT_MODULE_MASK&0x03FFFFF4)) 146 #define BT_STATUS_UNSUPPORTED (BT_MODULE_GENERAL|(BT_MODULE_MASK&0x03FFFFF5)) 147 #define BT_STATUS_CONNECTION_IN_USE (BT_MODULE_GENERAL|(BT_MODULE_MASK&0x03FFFFF6)) 148 #define BT_STATUS_LINK_IS_DISCONNECTING (BT_MODULE_GENERAL|(BT_MODULE_MASK&0x03FFFFF7)) 149 #define BT_STATUS_LINK_SECURITY_BLCOK (BT_MODULE_GENERAL|(BT_MODULE_MASK&0x03FFFFF8)) 151 #define BT_STATUS_HCI_FLOW_CONTROLLED (BT_MODULE_HCI|0x01) 152 #define BT_STATUS_RX_PENDING (BT_MODULE_HCI|0x02) 154 #define BT_STATUS_DIRECTED_ADVERTISING_TIMEOUT (BT_MODULE_GAP|0x03) 155 #define BT_STATUS_CONNECTION_NOT_FOUND (BT_MODULE_GAP|0x04) 158 #define BT_STATUS_L2CAP_REQUEST_TIMEOUT (BT_MODULE_L2CAP|0x01) 159 #define BT_STATUS_L2CAP_LOCAL_SECURITY_BLOCKED (BT_MODULE_L2CAP|0x02) 160 #define BT_STATUS_L2CAP_LOCAL_PSM_UNSUPPORTED (BT_MODULE_L2CAP|0x03) 161 #define BT_STATUS_L2CAP_USER_REQUEST_DISCONNECT (BT_MODULE_L2CAP|0x04) 162 #define BT_STATUS_L2CAP_UNEXPECTED_SIGNAL_RECEIVED (BT_MODULE_L2CAP|0x05) 163 #define BT_STATUS_L2CAP_LOCAL_REJECTED_NO_RESOURCES (BT_MODULE_L2CAP|0x06) 164 #define BT_STATUS_L2CAP_REMOTE_PSM_UNSUPPORTED (BT_MODULE_L2CAP|0x42) 165 #define BT_STATUS_L2CAP_REMOTE_SECURITY_BLOCKED (BT_MODULE_L2CAP|0x43) 166 #define BT_STATUS_L2CAP_REMOTE_NO_RESOURCES (BT_MODULE_L2CAP|0x44) 167 #define BT_STATUS_L2CAP_CONFIG_UNACCEPTED (BT_MODULE_L2CAP|0x81) 168 #define BT_STATUS_L2CAP_CONFIG_REJECTED (BT_MODULE_L2CAP|0x82) 169 #define BT_STATUS_L2CAP_CONFIG_OPTIONS_UNKNOWN (BT_MODULE_L2CAP|0x83) 170 #define BT_STATUS_L2CAP_CHANNEL_EXISTED (BT_MODULE_L2CAP|0xA0) 173 typedef int32_t bt_status_t; 175 #define BT_BD_ADDR_LEN 6 180 typedef uint8_t bt_bd_addr_t[BT_BD_ADDR_LEN]; 181 typedef uint8_t const *bt_bd_addr_ptr_t; 186 #define BT_ADDR_PUBLIC 0x00 187 #define BT_ADDR_RANDOM 0x01 188 #define BT_ADDR_PUBLIC_IDENTITY 0x02 189 #define BT_ADDR_RANDOM_IDENTITY 0x03 190 typedef uint8_t bt_addr_type_t; 197 typedef uint8_t bt_data_t[1]; #define BT_KEY_SIZE
Bluetooth SM key size, please refer to the Bluetooth core specification version 4.2 [VOL 3, part H] Section 2.3.4.
Definition: bt_type.h:90
uint8_t bt_addr_type_t
Define the address type.
Definition: bt_type.h:190
uint8_t bt_bd_addr_t[6]
Address type, defined in Bluetooth core specification version 4.2.
Definition: bt_type.h:180
This structure defines the Bluetooth address.
Definition: bt_type.h:215
uint8_t bt_key_t[16]
Define the SM key type.
Definition: bt_type.h:91