xref: /btstack/doc/manual/docs-template/appendix/events_errors.md (revision 820e47d09b48668197da3083041facb16434f52b)
1503a627eSMilanka Ringwald#
2503a627eSMilanka Ringwald
3503a627eSMilanka Ringwald## L2CAP Events {#sec:eventsAndErrorsAppendix}
4503a627eSMilanka Ringwald
5503a627eSMilanka RingwaldL2CAP events and data packets are delivered to the packet handler
6503a627eSMilanka Ringwaldspecified by *l2cap_register_service* resp.
7503a627eSMilanka Ringwald*l2cap_create_channel*. Data packets have the
8503a627eSMilanka RingwaldL2CAP_DATA_PACKET packet type. L2CAP provides the following events:
9503a627eSMilanka Ringwald
10503a627eSMilanka Ringwald-   L2CAP_EVENT_CHANNEL_OPENED - sent if channel establishment is
11503a627eSMilanka Ringwald    done. Status not equal zero indicates an error. Possible errors: out
12503a627eSMilanka Ringwald    of memory; connection terminated by local host, when the connection
13503a627eSMilanka Ringwald    to remote device fails.
14503a627eSMilanka Ringwald
15503a627eSMilanka Ringwald-   L2CAP_EVENT_CHANNEL_CLOSED - emitted when channel is closed. No
16503a627eSMilanka Ringwald    status information is provided.
17503a627eSMilanka Ringwald
18503a627eSMilanka Ringwald-   L2CAP_EVENT_INCOMING_CONNECTION - received when the connection is
19503a627eSMilanka Ringwald    requested by remote. Connection accept and decline are performed
20503a627eSMilanka Ringwald    with *l2cap_accept_connection* and *l2cap_decline_connecti-on* respectively.
21503a627eSMilanka Ringwald
22503a627eSMilanka Ringwald-   L2CAP_EVENT_CAN_SEND_NOW - Indicates that an L2CAP data packet could
23503a627eSMilanka Ringwald    be sent on the reported l2cap_cid. It is emitted after a call to
24*820e47d0SMilanka Ringwald    *l2cap_request_can_send_now*. See [Sending L2CAP Data](../protocols/#sec:l2capSendProtocols)
25503a627eSMilanka Ringwald    Please note that the guarantee that a packet can be sent is only valid when the event is received.
26503a627eSMilanka Ringwald    After returning from the packet handler, BTstack might need to send itself.
27503a627eSMilanka Ringwald
28503a627eSMilanka RingwaldEvent      | Event Code
29503a627eSMilanka Ringwald-----------|----------------------------------------
30503a627eSMilanka RingwaldL2CAP_EVENT_CHANNEL_OPENED          | 0x70
31503a627eSMilanka RingwaldL2CAP_EVENT_CHANNEL_CLOSED          | 0x71
32503a627eSMilanka RingwaldL2CAP_EVENT_INCOMING_CONNECTION     | 0x72
33503a627eSMilanka RingwaldL2CAP_EVENT_CAN_SEND_NOW            | 0x78
34503a627eSMilanka Ringwald
35503a627eSMilanka RingwaldTable: L2CAP Events. {#tbl:l2capEvents}
36503a627eSMilanka Ringwald
37503a627eSMilanka RingwaldL2CAP event paramaters, with size in bits:
38503a627eSMilanka Ringwald
39503a627eSMilanka Ringwald- L2CAP_EVENT_CHANNEL_OPENED:
40503a627eSMilanka Ringwald    - *event(8), len(8), status(8), address(48), handle(16), psm(16), local_cid(16), remote_cid(16), local_mtu(16), remote_mtu(16)*
41503a627eSMilanka Ringwald- L2CAP_EVENT_CHANNEL_CLOSED:
42503a627eSMilanka Ringwald    - *event (8), len(8), channel(16)*
43503a627eSMilanka Ringwald- L2CAP_EVENT_INCOMING_CONNECTION:
44503a627eSMilanka Ringwald    - *event(8), len(8), address(48), handle(16), psm (16), local_cid(16), remote_cid (16)*
45503a627eSMilanka Ringwald- L2CAP_EVENT_CAN_SEND_NOW:
46503a627eSMilanka Ringwald    - *event(8), len(8), local_cid(16)
47503a627eSMilanka Ringwald
48503a627eSMilanka Ringwald## RFCOMM Events
49503a627eSMilanka Ringwald
50503a627eSMilanka RingwaldAll RFCOMM events and data packets are currently delivered to the packet
51503a627eSMilanka Ringwaldhandler specified by *rfcomm_register_packet_handler*. Data packets
52503a627eSMilanka Ringwaldhave the _DATA_PACKET packet type. Here is the list of events provided
53503a627eSMilanka Ringwaldby RFCOMM:
54503a627eSMilanka Ringwald
55503a627eSMilanka Ringwald-   RFCOMM_EVENT_INCOMING_CONNECTION - received when the connection
56503a627eSMilanka Ringwald    is requested by remote. Connection accept and decline are performed
57503a627eSMilanka Ringwald    with *rfcomm_accept_connection* and
58503a627eSMilanka Ringwald    *rfcomm_decline_connection* respectively.
59503a627eSMilanka Ringwald
60503a627eSMilanka Ringwald-   RFCOMM_EVENT_CHANNEL_CLOSED - emitted when channel is closed. No
61503a627eSMilanka Ringwald    status information is provided.
62503a627eSMilanka Ringwald
63503a627eSMilanka Ringwald-   RFCOMM_EVENT_CHANNEL_OPENED - sent if channel
64503a627eSMilanka Ringwald    establishment is done. Status not equal zero indicates an error.
65503a627eSMilanka Ringwald    Possible errors: an L2CAP error, out of memory.
66503a627eSMilanka Ringwald
67503a627eSMilanka Ringwald-   RFCOMM_EVENT_CAN_SEND_NOW - Indicates that an RFCOMM data packet could
68503a627eSMilanka Ringwald    be sent on the reported rfcomm_cid. It is emitted after a call to
69*820e47d0SMilanka Ringwald    *rfcomm_request_can_send_now*. See [Sending RFCOMM Data](../protocols/#sec:rfcommSendProtocols)
70503a627eSMilanka Ringwald    Please note that the guarantee that a packet can be sent is only valid when the event is received.
71503a627eSMilanka Ringwald    After returning from the packet handler, BTstack might need to send itself.
72503a627eSMilanka Ringwald
73503a627eSMilanka Ringwald
74503a627eSMilanka RingwaldEvent      | Event Code
75503a627eSMilanka Ringwald-----------|-----------------------------
76503a627eSMilanka RingwaldRFCOMM_EVENT_CHANNEL_OPENED | 0x80
77503a627eSMilanka RingwaldRFCOMM_EVENT_CHANNEL_CLOSED        | 0x81
78503a627eSMilanka RingwaldRFCOMM_EVENT_INCOMING_CONNECTION   | 0x82
79503a627eSMilanka RingwaldRFCOMM_EVENT_CAN_SEND_NOW          | 0x89
80503a627eSMilanka Ringwald
81503a627eSMilanka RingwaldTable: RFCOMM Events. {#tbl:rfcommEvents}
82503a627eSMilanka Ringwald
83503a627eSMilanka Ringwald
84503a627eSMilanka RingwaldRFCOMM event paramaters, with size in bits:
85503a627eSMilanka Ringwald
86503a627eSMilanka Ringwald- RFCOMM_EVENT_CHANNEL_OPENED:
87503a627eSMilanka Ringwald    - *event(8), len(8), status(8), address(48), handle(16), server_channel(8), rfcomm_cid(16), max_frame_size(16)*
88503a627eSMilanka Ringwald- RFCOMM_EVENT_CHANNEL_CLOSED:
89503a627eSMilanka Ringwald    - *event(8), len(8), rfcomm_cid(16)*
90503a627eSMilanka Ringwald- RFCOMM_EVENT_INCOMING_CONNECTION:
91503a627eSMilanka Ringwald    - *event(8), len(8), address(48), channel (8), rfcomm_cid(16)*
92503a627eSMilanka Ringwald- RFCOMM_EVENT_CAN_SEND_NOW:
93503a627eSMilanka Ringwald    - *event(8), len(8), rfcomm_cid(16)
94503a627eSMilanka Ringwald
95503a627eSMilanka Ringwald## Errors {#sec:errorsAppendix}
96503a627eSMilanka Ringwald
97503a627eSMilanka Ringwald
98503a627eSMilanka RingwaldError                                                                   |    Error Code
99503a627eSMilanka Ringwald------------------------------------------------------------------------|-------------------
100503a627eSMilanka RingwaldBTSTACK_MEMORY_ALLOC_FAILED | 0x56
101503a627eSMilanka RingwaldBTSTACK_ACL_BUFFERS_FULL | 0x57
102503a627eSMilanka RingwaldL2CAP_COMMAND_REJECT_REASON_COMMAND_NOT_UNDERSTOOD | 0x60
103503a627eSMilanka RingwaldL2CAP_COMMAND_REJECT_REASON_SIGNALING_MTU_EXCEEDED | 0x61
104503a627eSMilanka RingwaldL2CAP_COMMAND_REJECT_REASON_INVALID_CID_IN_REQUEST | 0x62
105503a627eSMilanka RingwaldL2CAP_CONNECTION_RESPONSE_RESULT_SUCCESSFUL | 0x63
106503a627eSMilanka RingwaldL2CAP_CONNECTION_RESPONSE_RESULT_PENDING | 0x64
107503a627eSMilanka RingwaldL2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_PSM | 0x65
108503a627eSMilanka RingwaldL2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_SECURITY | 0x66
109503a627eSMilanka RingwaldL2CAP_CONNECTION_RESPONSE_RESULT_REFUSED_RESOURCES | 0x65
110503a627eSMilanka RingwaldL2CAP_CONFIG_RESPONSE_RESULT_SUCCESSFUL | 0x66
111503a627eSMilanka RingwaldL2CAP_CONFIG_RESPONSE_RESULT_UNACCEPTABLE_PARAMS | 0x67
112503a627eSMilanka RingwaldL2CAP_CONFIG_RESPONSE_RESULT_REJECTED | 0x68
113503a627eSMilanka RingwaldL2CAP_CONFIG_RESPONSE_RESULT_UNKNOWN_OPTIONS | 0x69
114503a627eSMilanka RingwaldL2CAP_SERVICE_ALREADY_REGISTERED | 0x6a
115503a627eSMilanka RingwaldRFCOMM_MULTIPLEXER_STOPPED | 0x70
116503a627eSMilanka RingwaldRFCOMM_NO_OUTGOING_CREDITS | 0x72
117503a627eSMilanka RingwaldSDP_HANDLE_ALREADY_REGISTERED | 0x80
118503a627eSMilanka Ringwald
119503a627eSMilanka RingwaldTable: Errors. {#tbl:errors}
120503a627eSMilanka Ringwald
121