diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:49:45 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:49:45 +0000 |
commit | 2c3c1048746a4622d8c89a29670120dc8fab93c4 (patch) | |
tree | 848558de17fb3008cdf4d861b01ac7781903ce39 /drivers/staging/gdm724x/hci_packet.h | |
parent | Initial commit. (diff) | |
download | linux-upstream.tar.xz linux-upstream.zip |
Adding upstream version 6.1.76.upstream/6.1.76upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'drivers/staging/gdm724x/hci_packet.h')
-rw-r--r-- | drivers/staging/gdm724x/hci_packet.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/drivers/staging/gdm724x/hci_packet.h b/drivers/staging/gdm724x/hci_packet.h new file mode 100644 index 000000000..3bb01e94f --- /dev/null +++ b/drivers/staging/gdm724x/hci_packet.h @@ -0,0 +1,82 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* Copyright (c) 2012 GCT Semiconductor, Inc. All rights reserved. */ + +#ifndef _HCI_PACKET_H_ +#define _HCI_PACKET_H_ + +#define HCI_HEADER_SIZE 4 + +/* + * The NIC type definition: + * For backward compatibility, lower 16 bits used as they were. + * Lower 16 bit: NIC_TYPE values + * Uppoer 16 bit: NIC_TYPE Flags + */ +#define NIC_TYPE_NIC0 0x00000010 +#define NIC_TYPE_NIC1 0x00000011 +#define NIC_TYPE_NIC2 0x00000012 +#define NIC_TYPE_NIC3 0x00000013 +#define NIC_TYPE_ARP 0x00000100 +#define NIC_TYPE_ICMPV6 0x00000200 +#define NIC_TYPE_MASK 0x0000FFFF +#define NIC_TYPE_F_IPV4 0x00010000 +#define NIC_TYPE_F_IPV6 0x00020000 +#define NIC_TYPE_F_DHCP 0x00040000 +#define NIC_TYPE_F_NDP 0x00080000 +#define NIC_TYPE_F_VLAN 0x00100000 + +struct hci_packet { + __dev16 cmd_evt; + __dev16 len; + u8 data[]; +} __packed; + +struct tlv { + u8 type; + u8 len; + u8 *data[]; +} __packed; + +struct sdu_header { + __dev16 cmd_evt; + __dev16 len; + __dev32 dft_eps_id; + __dev32 bearer_ID; + __dev32 nic_type; +} __packed; + +struct sdu { + __dev16 cmd_evt; + __dev16 len; + __dev32 dft_eps_ID; + __dev32 bearer_ID; + __dev32 nic_type; + u8 data[]; +} __packed; + +struct multi_sdu { + __dev16 cmd_evt; + __dev16 len; + __dev16 num_packet; + __dev16 reserved; + u8 data[]; +} __packed; + +struct hci_pdn_table_ind { + __dev16 cmd_evt; + __dev16 len; + u8 activate; + __dev32 dft_eps_id; + __dev32 nic_type; + u8 pdn_type; + u8 ipv4_addr[4]; + u8 ipv6_intf_id[8]; +} __packed; + +struct hci_connect_ind { + __dev16 cmd_evt; + __dev16 len; + __dev32 connect; +} __packed; + +#endif /* _HCI_PACKET_H_ */ |