Re: [PATCH] Bluetooth: Define HCI AMP cmd struct

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andrei,

> Add HCI commands to deal with Bluetooth AMP controllers.
> Those commands will be used by bluetooth and softamp code.
> 
> Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@xxxxxxxxx>
> ---
>  include/net/bluetooth/hci.h |   83 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 83 insertions(+)
> 
> diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
> index edb6639..afd9594 100644
> --- a/include/net/bluetooth/hci.h
> +++ b/include/net/bluetooth/hci.h
> @@ -31,6 +31,7 @@
>  #define HCI_MAX_FRAME_SIZE	(HCI_MAX_ACL_SIZE + 4)
>  
>  #define HCI_LINK_KEY_SIZE	16
> +#define HCI_AMP_LINK_KEY_SIZE	(2 * HCI_LINK_KEY_SIZE)
>  
>  /* HCI dev events */
>  #define HCI_DEV_REG			1
> @@ -525,6 +526,28 @@ struct hci_cp_io_capability_neg_reply {
>  	__u8     reason;
>  } __packed;
>  
> +#define HCI_OP_CREATE_PHY_LINK		0x0435
> +struct hci_cp_create_phy_link {
> +	__u8     phy_handle;
> +	__u8     key_len;
> +	__u8     key_type;
> +	__u8     key[HCI_AMP_LINK_KEY_SIZE];
> +} __packed;
> +
> +#define HCI_OP_ACCEPT_PHY_LINK		0x0436
> +struct hci_cp_accept_phy_link {
> +	__u8     phy_handle;
> +	__u8     key_len;
> +	__u8     key_type;
> +	__u8     key[HCI_AMP_LINK_KEY_SIZE];
> +} __packed;
> +
> +#define HCI_OP_DISC_PHY_LINK		0x0437
> +struct hci_cp_disc_phy_link {

we should use disconn or disconnect for this.

> +	__u8     phy_handle;
> +	__u8     reason;
> +} __packed;
> +
>  #define HCI_OP_SNIFF_MODE		0x0803
>  struct hci_cp_sniff_mode {
>  	__le16   handle;
> @@ -820,6 +843,33 @@ struct hci_rp_read_local_amp_info {
>  	__le32   be_flush_to;
>  } __packed;
>  
> +#define HCI_OP_READ_LOCAL_AMP_ASSOC	0x140a
> +struct hci_cp_read_local_amp_assoc {
> +	__u8     handle;
> +	__le16   len_so_far;
> +	__le16   max_len;
> +} __packed;
> +

No empty line here if the belong together.

> +struct hci_rp_read_local_amp_assoc {
> +	__u8     status;
> +	__u8     handle;
> +	__le16   rem_len;
> +	__u8     frag[0];
> +} __packed;
> +
> +#define HCI_OP_WRITE_REMOTE_AMP_ASSOC	0x140b
> +struct hci_cp_write_remote_amp_assoc {
> +	__u8     handle;
> +	__le16   len_so_far;
> +	__le16   rem_len;
> +	__u8     frag[0];
> +} __packed;
> +

Same here. No empty line.

> +struct hci_rp_write_remote_amp_assoc {
> +	__u8     status;
> +	__u8     handle;
> +} __packed;
> +
>  #define HCI_OP_LE_SET_EVENT_MASK	0x2001
>  struct hci_cp_le_set_event_mask {
>  	__u8     mask[8];
> @@ -1192,6 +1242,39 @@ struct hci_ev_le_meta {
>  	__u8     subevent;
>  } __packed;
>  
> +#define HCI_EV_PHY_LINK_COMPLETE	0x40
> +struct hci_ev_phy_link_complete {
> +	__u8     status;
> +	__u8     phy_handle;
> +} __packed;
> +
> +#define HCI_EV_CHANNEL_SELECTED		0x41
> +struct hci_ev_channel_selected {
> +	__u8     phy_handle;
> +} __packed;
> +
> +#define HCI_EV_DISC_PHY_LINK_COMPLETE	0x42
> +struct hci_ev_disc_phy_link_complete {

Use disconn here.

> +	__u8     status;
> +	__u8     phy_handle;
> +	__u8     reason;
> +} __packed;
> +
> +#define HCI_EV_LOG_LINK_COMPLETE	0x45
> +struct hci_ev_log_link_complete {

Do you wanna go with log instead of logical. I would use logical to not
get confused here.

> +	__u8     status;
> +	__le16   log_handle;

Just use handle here.

> +	__u8     phy_handle;
> +	__u8     flow_spec_id;
> +} __packed;
> +
> +#define HCI_EV_DISC_LOG_LINK_COMPLETE	0x46
> +struct hci_ev_disconn_log_link_complete {
> +	__u8     status;
> +	__le16   log_handle;

Just handle.

> +	__u8     reason;
> +} __packed;
> +
>  #define HCI_EV_NUM_COMP_BLOCKS		0x48
>  struct hci_comp_blocks_info {
>  	__le16   handle;

Regards

Marcel


--
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


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux