xref: /haiku/src/add-ons/kernel/network/protocols/l2cap/l2cap_command.h (revision bb83316a5811a550c4f850d07fa8e328e7ac0a94)
1 /*
2  * Copyright 2024, Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _L2CAP_COMMAND_H_
6 #define _L2CAP_COMMAND_H_
7 
8 #include <ByteOrder.h>
9 #include <NetBufferUtilities.h>
10 
11 #include <bluetooth/l2cap.h>
12 
13 
14 #define htole16(x) B_HOST_TO_LENDIAN_INT16(x)
15 #define le16toh(x) B_LENDIAN_TO_HOST_INT16(x)
16 #define htole32(x) B_HOST_TO_LENDIAN_INT16(x)
17 #define le32toh(x) B_LENDIAN_TO_HOST_INT32(x)
18 
19 
20 net_buffer*	make_l2cap_command_reject(uint8& code,
21 	uint16 reason, uint16 mtu, uint16 scid, uint16 dcid);
22 
23 net_buffer*	make_l2cap_connection_req(uint8& code, uint16 psm, uint16 scid);
24 net_buffer*	make_l2cap_connection_rsp(uint8& code,
25 	uint16 dcid, uint16 scid, uint16 result, uint16 status);
26 
27 net_buffer*	make_l2cap_configuration_req(uint8& code, uint16 dcid, uint16 flags,
28 	uint16* mtu, uint16* flush_timeout, l2cap_qos* flow);
29 net_buffer*	make_l2cap_configuration_rsp(uint8& code, uint16 scid, uint16 flags,
30 	uint16 result, net_buffer* opt);
31 
32 net_buffer*	make_l2cap_disconnection_req(uint8& code, uint16 dcid, uint16 scid);
33 net_buffer*	make_l2cap_disconnection_rsp(uint8& code, uint16 dcid, uint16 scid);
34 
35 net_buffer*	make_l2cap_information_req(uint8& code, uint16 type);
36 net_buffer*	make_l2cap_information_rsp(uint8& code, uint16 type, uint16 result, uint16 mtu);
37 
38 
39 #endif /* _L2CAP_COMMAND_H_ */
40