/* 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[0];
} __packed;

struct tlv {
	u8 type;
	u8 len;
	u8 *data[1];
} __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[0];
} __packed;

struct multi_sdu {
	__dev16 cmd_evt;
	__dev16 len;
	__dev16 num_packet;
	__dev16 reserved;
	u8 data[0];
} __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_ */
