20#ifndef __XF_BLE_TYPES_H__ 
   21#define __XF_BLE_TYPES_H__ 
   40#define XF_BLE_IS_ENABLE 1 
   47#define XF_BLE_ADDR_LEN     6 
   52#define XF_BLE_ADDR_PRINT_FMT  "%02X:%02X:%02X:%02X:%02X:%02X" 
   59#define XF_BLE_ADDR_EXPAND_TO_ARG(addr)  (addr)[0],(addr)[1],(addr)[2],(addr)[3],(addr)[4],(addr)[5] 
  149#define _XF_BLE_UUID16_INIT(uuid16)         \ 
  151        .type = XF_BLE_UUID_TYPE_16,        \ 
 
  155#define _XF_BLE_UUID32_INIT(uuid32)         \ 
  157        .type = XF_BLE_UUID_TYPE_32,        \ 
 
  161#define _XF_BLE_UUID128_INIT(uuid128 ...)   \ 
  163        .type = XF_BLE_UUID_TYPE_128,       \ 
  164        .value = { uuid128 },               \ 
 
  171#define XF_BLE_DECLARE_UUID16(uuid16) \ 
  172    ((xf_ble_uuid_info_t *) (&(xf_ble_uuid16_info_t) _XF_BLE_UUID16_INIT(uuid16))) 
 
  178#define XF_BLE_DECLARE_UUID32(uuid32) \ 
  179    ((xf_ble_uuid_info_t *) (&(xf_ble_uuid32_info_t) _XF_BLE_UUID32_INIT(uuid32))) 
 
  185#define XF_BLE_DECLARE_UUID128(uuid128...) \ 
  186    ((xf_ble_uuid_info_t *) (&(xf_ble_uuid128_info_t) _XF_BLE_UUID128_INIT(uuid128))) 
 
  192#define XF_BLE_INVALID_ATTR_HANDLE  (0x0000) 
  216    uint16_t    
array_u16[
sizeof(uintptr_t) / 
sizeof(uint16_t)];
 
  217    uint32_t    
array_u32[
sizeof(uintptr_t) / 
sizeof(uint32_t)];
 
 
#define __packed
取消结构体在编译过程中的优化对齐,按照实际占用字节数进行对齐。
 
xf_ble_gattc_event_t
BLE GATTC 事件
 
struct __packed _xf_ble_uuid32_info_t xf_ble_uuid32_info_t
BLE 32-bit UUID 信息
 
uint16_t xf_ble_attr_handle_t
BLE 属性句柄
 
xf_ble_addr_type_t
蓝牙地址类型,完全遵循蓝牙标准进行定义
 
struct __packed _xf_ble_uuid128_info_t xf_ble_uuid128_info_t
BLE 128-bit UUID 信息
 
xf_ble_uuid_type_t
BLE UUID 类型 (长度类型)
 
#define XF_BLE_ADDR_LEN
BLE 地址长度
 
struct __packed _xf_ble_uuid16_info_t xf_ble_uuid16_info_t
BLE 16-bit UUID 信息
 
xf_ble_gatts_event_t
BLE GATTS 事件
 
union _xf_ble_var_uintptr_t xf_ble_var_uintptr_t
BLE 中类型可变的数据
 
struct __packed _xf_ble_uuid_info_t xf_ble_uuid_info_t
BLE UUID 信息 (多种长度类型通用)
 
xf_ble_gap_event_t
BLE GAP 事件
 
@ XF_BLE_GATTC_EVT_DISCOVER_SERVICE_COMPLETE
 
@ XF_BLE_GATTC_EVT_WRITE_COMPLETE
 
@ XF_BLE_GATTC_EVT_MTU_CHANGED
 
@ XF_BLE_GATTC_EVT_RECV_NOTIFICATION_OR_INDICATION
 
@ XF_BLE_GATTC_EVT_READ_COMPLETE
 
@ XF_BT_ADDR_TYPE_RPA_RANDOM
 
@ XF_BT_ADDR_TYPE_RANDOM_DEV
 
@ XF_BT_ADDR_TYPE_RPA_PUBLIC
 
@ XF_BT_ADDR_TYPE_PUBLIC_DEV
 
@ XF_BLE_GATTS_EVT_REQ_READ
 
@ XF_BLE_GATTS_EVT_ADD_CHARA
 
@ XF_BLE_GATTS_EVT_REQ_WRITE
 
@ XF_BLE_GATTS_EVT_SERVICE_STOP
 
@ XF_BLE_GATTS_EVT_SERVICE_START
 
@ XF_BLE_GATTS_EVT_DEL_SERVICE
 
@ XF_BLE_GATTS_EVT_ADD_SERVICE
 
@ XF_BLE_GATTS_EVT_ADD_DESC
 
@ XF_BLE_GATTS_EVT_MTU_CHANGED
 
@ XF_BLE_GAP_EVT_PAIR_END
 
@ XF_BLE_GAP_EVT_SCAN_RESULT
 
@ XF_BLE_GAP_EVT_CONN_PARAMS_UPDATE
 
@ _XF_BLE_GAP_EVT_ENUM_END
 
@ XF_BLE_GAP_EVT_SCAN_PARAM_SET
 
@ XF_BLE_GAP_EVT_DISCONNECT
 
xf_ble_uuid_type_t len_type
 
uint8_t array_u8[sizeof(uintptr_t)]
 
uint32_t array_u32[sizeof(uintptr_t)/sizeof(uint32_t)]
 
uint16_t array_u16[sizeof(uintptr_t)/sizeof(uint16_t)]