1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/* ... */
/* ... */
#ifndef L2CAP_SIGNALING_H
#define L2CAP_SIGNALING_H
#include <stdint.h>
#include <stdarg.h>
#include "btstack_util.h"
#include "hci_cmd.h"
#if defined __cplusplus
extern "C" {
#endif
typedef enum {
COMMAND_REJECT = 1,
CONNECTION_REQUEST,
CONNECTION_RESPONSE,
CONFIGURE_REQUEST,
CONFIGURE_RESPONSE,
DISCONNECTION_REQUEST,
DISCONNECTION_RESPONSE,
ECHO_REQUEST,
ECHO_RESPONSE,
INFORMATION_REQUEST,
INFORMATION_RESPONSE,
CONNECTION_PARAMETER_UPDATE_REQUEST = 0x12,
CONNECTION_PARAMETER_UPDATE_RESPONSE,
LE_CREDIT_BASED_CONNECTION_REQUEST,
LE_CREDIT_BASED_CONNECTION_RESPONSE,
L2CAP_FLOW_CONTROL_CREDIT_INDICATION,
L2CAP_CREDIT_BASED_CONNECTION_REQUEST,
L2CAP_CREDIT_BASED_CONNECTION_RESPONSE,
L2CAP_CREDIT_BASED_RECONFIGURE_REQUEST,
L2CAP_CREDIT_BASED_RECONFIGURE_RESPONSE,
#ifdef UNIT_TEST
COMMAND_WITH_INVALID_FORMAT,
#endif
SM_PAIRING_FAILED = 0x1E,
COMMAND_REJECT_LE = 0x1F
...} L2CAP_SIGNALING_COMMANDS;
typedef enum {
L2CAP_CHANNEL_MODE_BASIC = 0,
L2CAP_CHANNEL_MODE_RETRANSMISSION = 1,
L2CAP_CHANNEL_MODE_FLOW_CONTROL = 2,
L2CAP_CHANNEL_MODE_ENHANCED_RETRANSMISSION = 3,
L2CAP_CHANNEL_MODE_STREAMING_MODE = 4,
...} l2cap_channel_mode_t;
/* ... */
uint16_t l2cap_create_signaling_packet(uint8_t * acl_buffer, hci_con_handle_t handle, uint8_t pb_flags, uint16_t cid, L2CAP_SIGNALING_COMMANDS cmd, uint8_t identifier, va_list argptr);
#if defined __cplusplus
}extern "C" { ... }
#endif
/* ... */
#endif