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