xref: /btstack/src/btstack.h (revision da269baadbd14fc9cd936407c8db18bb4970027c)
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