1 /* packet-bthci_cmd.h
2  *
3  * Wireshark - Network traffic analyzer
4  * By Gerald Combs <gerald@wireshark.org>
5  * Copyright 1998 Gerald Combs
6  *
7  * SPDX-License-Identifier: GPL-2.0-or-later
8  */
9 
10 #ifndef __PACKET_BTHCI_CMD_H__
11 #define __PACKET_BTHCI_CMD_H__
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif /* __cplusplus */
16 
17 extern value_string_ext bthci_cmd_opcode_vals_ext;
18 extern value_string_ext bthci_cmd_ogf_vals_ext;
19 extern value_string_ext bthci_cmd_ocf_link_control_vals_ext;
20 extern value_string_ext bthci_cmd_ocf_link_policy_vals_ext;
21 extern value_string_ext bthci_cmd_ocf_host_controller_and_baseband_vals_ext;
22 extern value_string_ext bthci_cmd_ocf_informational_vals_ext;
23 extern value_string_ext bthci_cmd_ocf_status_vals_ext;
24 extern value_string_ext bthci_cmd_ocf_testing_vals_ext;
25 extern value_string_ext bthci_cmd_ocf_low_energy_vals_ext;
26 
27 extern value_string_ext bthci_cmd_input_coding_vals_ext;
28 extern value_string_ext bthci_cmd_input_data_format_vals_ext;
29 extern value_string_ext bthci_cmd_input_sample_size_vals_ext;
30 extern value_string_ext bthci_cmd_air_coding_format_vals_ext;
31 extern value_string_ext bthci_cmd_status_vals_ext;
32 extern value_string_ext bthci_cmd_eir_data_type_vals_ext;
33 extern value_string_ext bthci_cmd_auth_req_vals_ext;
34 extern value_string_ext bthci_cmd_appearance_vals_ext;
35 extern value_string_ext bthci_cmd_le_phy_vals_ext;
36 extern value_string_ext bthci_cmd_cte_type_vals_ext;
37 extern value_string_ext bthci_cmd_clock_accuray_vals_ext;
38 extern value_string_ext bthci_cmd_slot_durations_vals_ext;
39 extern value_string_ext bthci_cmd_phy_and_coding_vals_ext;
40 extern value_string_ext bthci_cmd_framing_vals_ext;
41 
42 extern const value_string bthci_cmd_io_capability_vals[];
43 extern const value_string bthci_cmd_oob_data_present_vals[];
44 extern const value_string bthci_cmd_address_types_vals[];
45 WS_DLL_PUBLIC const value_string bthci_cmd_scan_enable_values[];
46 extern const value_string bthci_cmd_page_scan_modes[];
47 extern const value_string bthci_cmd_page_scan_repetition_modes[];
48 extern const value_string bthci_cmd_page_scan_period_modes[];
49 extern const value_string bthci_cmd_notification_types[];
50 
51 WS_DLL_PUBLIC const value_string bthci_cmd_encrypt_mode_vals[];
52 WS_DLL_PUBLIC const value_string bthci_cmd_authentication_enable_values[];
53 WS_DLL_PUBLIC const value_string bthci_cmd_inq_modes[];
54 
55 
56 typedef struct _bthci_cmd_data_t {
57     guint32  opcode;
58 
59     guint32  command_in_frame;
60     nstime_t command_abs_ts;
61     guint32  pending_in_frame;
62     nstime_t pending_abs_ts;
63     guint32  response_in_frame;
64     nstime_t response_abs_ts;
65 
66     union {
67         gchar   *name;
68         guint8   scan;
69         guint16  page_timeout;
70         guint8   authentication;
71         guint8   encryption;
72         guint32  class_of_device;
73         guint16  voice_setting;
74         guint8   simple_pairing_mode;
75         guint8   inquiry_mode;
76         struct {
77             guint16  acl_mtu;
78             guint8   sco_mtu;
79             guint16  acl_packets;
80             guint16  sco_packets;
81         } mtus;
82     } data;
83 } bthci_cmd_data_t;
84 
85 extern wmem_tree_t *bthci_cmds;
86 
87 #ifdef __cplusplus
88 }
89 #endif /* __cplusplus */
90 
91 #endif
92 
93 /*
94  * Editor modelines  -  https://www.wireshark.org/tools/modelines.html
95  *
96  * Local variables:
97  * c-basic-offset: 4
98  * tab-width: 8
99  * indent-tabs-mode: nil
100  * End:
101  *
102  * vi: set shiftwidth=4 tabstop=8 expandtab:
103  * :indentSize=4:tabSize=8:noTabs=true:
104  */
105