1 /* 2 * Copyright (C) 2015-2021 Alibaba Group Holding Limited 3 */ 4 5 #ifndef __BT_VENDOR_DRV_H_ 6 #define __BT_VENDOR_DRV_H_ 7 8 #include <stdio.h> 9 #include <stdint.h> 10 11 typedef void (*rx_ind_cb_t)(void); 12 13 /** 14 * 初始化BT驱动、加载patch、调节Coex,其他厂家IC初始化的操作 15 * 16 * @return 操作状态,0代表成功,其他值表示失败 17 */ 18 int bt_vendor_drv_bring_up(void); 19 20 /** 21 * 设置RX事件回调,BT Driver收到EVENT/ACL数据后,通过此接口通知BT Stack进行读取操作 22 * @param[in] ready_to_rx 回调函数 23 * @return 操作状态,0代表成功,其他值表示失败 24 */ 25 int bt_vendor_drv_set_rx_ind(rx_ind_cb_t ind); 26 27 /** 28 * 从BT Controller读取EVENT/ACL数据 29 * @param[out] data 数据保存的起始内存地址 30 * @param[in] len 期望读取的数据长度 31 * @return 实际读取的数据长度 32 */ 33 size_t bt_vendor_drv_rx(uint8_t *data, size_t len); 34 35 /** 36 * BT Stack通过此接口往Controller发送数据 37 * @param[in] data 数据的起始内存地址 38 * @param[in] len 期望发送的数据长度 39 * @param[in] reserve NULL 40 * @return 实际发送的数据长度 41 */ 42 size_t bt_vendor_drv_tx(uint8_t *data, size_t len, void *reserve); 43 44 #endif