linux/drivers/staging/gdm724x/hci_packet.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/* Copyright (c) 2012 GCT Semiconductor, Inc. All rights reserved. */
   3
   4#ifndef _HCI_PACKET_H_
   5#define _HCI_PACKET_H_
   6
   7#define HCI_HEADER_SIZE 4
   8
   9/*
  10 * The NIC type definition:
  11 * For backward compatibility, lower 16 bits used as they were.
  12 * Lower 16 bit: NIC_TYPE values
  13 * Uppoer 16 bit: NIC_TYPE Flags
  14 */
  15#define NIC_TYPE_NIC0           0x00000010
  16#define NIC_TYPE_NIC1           0x00000011
  17#define NIC_TYPE_NIC2           0x00000012
  18#define NIC_TYPE_NIC3           0x00000013
  19#define NIC_TYPE_ARP            0x00000100
  20#define NIC_TYPE_ICMPV6         0x00000200
  21#define NIC_TYPE_MASK           0x0000FFFF
  22#define NIC_TYPE_F_IPV4         0x00010000
  23#define NIC_TYPE_F_IPV6         0x00020000
  24#define NIC_TYPE_F_DHCP         0x00040000
  25#define NIC_TYPE_F_NDP          0x00080000
  26#define NIC_TYPE_F_VLAN         0x00100000
  27
  28struct hci_packet {
  29        __dev16 cmd_evt;
  30        __dev16 len;
  31        u8 data[];
  32} __packed;
  33
  34struct tlv {
  35        u8 type;
  36        u8 len;
  37        u8 *data[1];
  38} __packed;
  39
  40struct sdu_header {
  41        __dev16 cmd_evt;
  42        __dev16 len;
  43        __dev32 dft_eps_id;
  44        __dev32 bearer_ID;
  45        __dev32 nic_type;
  46} __packed;
  47
  48struct sdu {
  49        __dev16 cmd_evt;
  50        __dev16 len;
  51        __dev32 dft_eps_ID;
  52        __dev32 bearer_ID;
  53        __dev32 nic_type;
  54        u8 data[];
  55} __packed;
  56
  57struct multi_sdu {
  58        __dev16 cmd_evt;
  59        __dev16 len;
  60        __dev16 num_packet;
  61        __dev16 reserved;
  62        u8 data[];
  63} __packed;
  64
  65struct hci_pdn_table_ind {
  66        __dev16 cmd_evt;
  67        __dev16 len;
  68        u8 activate;
  69        __dev32 dft_eps_id;
  70        __dev32 nic_type;
  71        u8 pdn_type;
  72        u8 ipv4_addr[4];
  73        u8 ipv6_intf_id[8];
  74} __packed;
  75
  76struct hci_connect_ind {
  77        __dev16 cmd_evt;
  78        __dev16 len;
  79        __dev32 connect;
  80} __packed;
  81
  82#endif /* _HCI_PACKET_H_ */
  83