AMP channel creation and channel moves are coordinated using the L2CAP signaling channel. These definitions cover the "create channel", "move channel", and "move channel confirm" signals. Signed-off-by: Mat Martineau <mathewm@xxxxxxxxxxxxxx> --- include/net/bluetooth/l2cap.h | 60 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 60 insertions(+), 0 deletions(-) diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index e77d39f..2ea0d15 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h @@ -89,6 +89,12 @@ struct l2cap_conninfo { #define L2CAP_ECHO_RSP 0x09 #define L2CAP_INFO_REQ 0x0a #define L2CAP_INFO_RSP 0x0b +#define L2CAP_CREATE_CHAN_REQ 0x0c +#define L2CAP_CREATE_CHAN_RSP 0x0d +#define L2CAP_MOVE_CHAN_REQ 0x0e +#define L2CAP_MOVE_CHAN_RSP 0x0f +#define L2CAP_MOVE_CHAN_CFM 0x10 +#define L2CAP_MOVE_CHAN_CFM_RSP 0x11 #define L2CAP_CONN_PARAM_UPDATE_REQ 0x12 #define L2CAP_CONN_PARAM_UPDATE_RSP 0x13 @@ -296,6 +302,60 @@ struct l2cap_info_rsp { __u8 data[0]; } __packed; +struct l2cap_create_chan_req { + __le16 psm; + __le16 scid; + __u8 amp_id; +} __attribute__ ((packed)); + +struct l2cap_create_chan_rsp { + __le16 dcid; + __le16 scid; + __le16 result; + __le16 status; +} __attribute__ ((packed)); + +#define L2CAP_CREATE_CHAN_SUCCESS 0x0000 +#define L2CAP_CREATE_CHAN_PENDING 0x0001 +#define L2CAP_CREATE_CHAN_REFUSED_PSM 0x0002 +#define L2CAP_CREATE_CHAN_REFUSED_SECURITY 0x0003 +#define L2CAP_CREATE_CHAN_REFUSED_RESOURCES 0x0004 +#define L2CAP_CREATE_CHAN_REFUSED_CONTROLLER 0x0005 + +#define L2CAP_CREATE_CHAN_STATUS_NONE 0x0000 +#define L2CAP_CREATE_CHAN_STATUS_AUTHENTICATION 0x0001 +#define L2CAP_CREATE_CHAN_STATUS_AUTHORIZATION 0x0002 + +struct l2cap_move_chan_req { + __le16 icid; + __u8 dest_amp_id; +} __attribute__ ((packed)); + +struct l2cap_move_chan_rsp { + __le16 icid; + __le16 result; +} __attribute__ ((packed)); + +#define L2CAP_MOVE_CHAN_SUCCESS 0x0000 +#define L2CAP_MOVE_CHAN_PENDING 0x0001 +#define L2CAP_MOVE_CHAN_REFUSED_CONTROLLER 0x0002 +#define L2CAP_MOVE_CHAN_REFUSED_SAME_ID 0x0003 +#define L2CAP_MOVE_CHAN_REFUSED_CONFIG 0x0004 +#define L2CAP_MOVE_CHAN_REFUSED_COLLISION 0x0005 +#define L2CAP_MOVE_CHAN_REFUSED_NOT_ALLOWED 0x0006 + +struct l2cap_move_chan_cfm { + __le16 icid; + __le16 result; +} __attribute__ ((packed)); + +#define L2CAP_MOVE_CHAN_CONFIRMED 0x0000 +#define L2CAP_MOVE_CHAN_UNCONFIRMED 0x0001 + +struct l2cap_move_chan_cfm_rsp { + __le16 icid; +} __attribute__ ((packed)); + /* info type */ #define L2CAP_IT_CL_MTU 0x0001 #define L2CAP_IT_FEAT_MASK 0x0002 -- 1.7.7 -- Mat Martineau Employee of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html