1 /* 2 * btstack.h 3 * 4 * Created by Matthias Ringwald on 7/1/09. 5 * 6 * BTstack client API 7 * 8 */ 9 10 #pragma once 11 12 #include "hci.h" 13 #include "l2cap.h" 14 15 #include <stdint.h> 16 17 // init BTstack library 18 int bt_open(); 19 20 // stop using BTstack library 21 int bt_close(); 22 23 // send hci cmd packet 24 int bt_send_cmd(hci_cmd_t *cmd, ...); 25 26 // send hci acl packet 27 int bt_send_acl_packet(uint8_t *packet, int size); 28 29 // register packet and event handler 30 void bt_register_event_packet_handler(void (*handler)(uint8_t *packet, int size)); 31 void bt_register_acl_packet_handler (void (*handler)(uint8_t *packet, int size)); 32 33 // TODO: temp 34 int bt_send_l2cap_signaling_packet(hci_con_handle_t handle, L2CAP_SIGNALING_COMMANDS cmd, uint8_t identifier, ...); 35 36 // outgoing connections 37 l2cap_channel_t * l2cap_create_channel(bd_addr_t bd_addr, uint16_t psm, void (*event_cb)(uint8_t *packet, uint16_t size), 38 void (*data_cb)(uint8_t *packet, uint16_t size)); 39 void l2cap_disconnect(l2cap_channel_t *channel, uint8_t reason); 40