Wireshark  4.3.0
The Wireshark network protocol analyzer
packet-btatt.h
1 /* packet-btaatt.h
2  * Headers for ATT
3  *
4  * Copyright 2015, Michal Labedzki for Tieto Corporation
5  *
6  * Wireshark - Network traffic analyzer
7  * By Gerald Combs <gerald@wireshark.org>
8  * Copyright 1998 Gerald Combs
9  *
10  * SPDX-License-Identifier: GPL-2.0-or-later
11  */
12 
13 #ifndef __PACKET_BTATT_H__
14 #define __PACKET_BTATT_H__
15 
16 #include <epan/expert.h>
17 #include "packet-bluetooth.h"
18 
19 #define ATT_OPCODE_ERROR_RESPONSE 0x01
20 #define ATT_OPCODE_EXCHANGE_MTU_REQUEST 0x02
21 #define ATT_OPCODE_EXCHANGE_MTU_RESPONSE 0x03
22 #define ATT_OPCODE_FIND_INFORMATION_REQUEST 0x04
23 #define ATT_OPCODE_FIND_INFORMATION_RESPONSE 0x05
24 #define ATT_OPCODE_FIND_BY_TYPE_VALUE_REQUEST 0x06
25 #define ATT_OPCODE_FIND_BY_TYPE_VALUE_RESPONSE 0x07
26 
27 #define ATT_OPCODE_READ_BY_TYPE_REQUEST 0x08
28 #define ATT_OPCODE_READ_BY_TYPE_RESPONSE 0x09
29 #define ATT_OPCODE_READ_REQUEST 0x0A
30 #define ATT_OPCODE_READ_RESPONSE 0x0B
31 #define ATT_OPCODE_READ_BLOB_REQUEST 0x0C
32 #define ATT_OPCODE_READ_BLOB_RESPONSE 0x0D
33 #define ATT_OPCODE_READ_MULTIPLE_REQUEST 0x0E
34 #define ATT_OPCODE_READ_MULTIPLE_RESPONSE 0x0F
35 #define ATT_OPCODE_READ_BY_GROUP_TYPE_REQUEST 0x10
36 #define ATT_OPCODE_READ_BY_GROUP_TYPE_RESPONSE 0x11
37 
38 #define ATT_OPCODE_WRITE_REQUEST 0x12
39 #define ATT_OPCODE_WRITE_RESPONSE 0x13
40 #define ATT_OPCODE_WRITE_PREPARE_REQUEST 0x16
41 #define ATT_OPCODE_WRITE_PREPARE_RESPONSE 0x17
42 #define ATT_OPCODE_WRITE_EXECUTE_REQUEST 0x18
43 #define ATT_OPCODE_WRITE_EXECUTE_RESPONSE 0x19
44 #define ATT_OPCODE_WRITE_COMMAND 0x52
45 #define ATT_OPCODE_WRITE_SIGNED_COMMAND 0xD2
46 
47 #define ATT_OPCODE_HANDLE_VALUE_NOTIFICATION 0x1B
48 #define ATT_OPCODE_HANDLE_VALUE_INDICATION 0x1D
49 #define ATT_OPCODE_HANDLE_VALUE_CONFIRMATION 0x1E
50 
51 typedef struct _btatt_data_t {
52  bluetooth_data_t *bluetooth_data;
53  guint8 opcode;
54  /* ATT handle for currently processed packet (optional) */
55  guint32 handle;
56 } btatt_data_t;
57 
58 
59 typedef struct _tap_handles_t {
60  guint32 handle;
61  bluetooth_uuid_t uuid;
63 
64 
65 extern const value_string btatt_ips_coordinate_system[];
66 extern const value_string btatt_ips_uncertainty_stationary_vals[];
67 extern const value_string btatt_ips_uncertainty_update_time_vals[];
68 extern const value_string btatt_ips_uncertainty_precision_vals[];
69 extern const value_string btatt_ips_uncertainty_coordinate_system[];
70 extern const value_string tds_organization_id_vals[];
71 extern const value_string characteristic_presentation_namespace_description_btsig_vals[];
72 
74 get_gatt_bluetooth_uuid_from_handle(packet_info *pinfo, guint32 handle, guint8 opcode,
75  bluetooth_data_t *bluetooth_data);
76 
77 WS_DLL_PUBLIC gboolean bluetooth_gatt_has_no_parameter(guint8 opcode);
78 WS_DLL_PUBLIC expert_field ei_btatt_invalid_usage;
79 
80 #endif
81 
82 /*
83  * Editor modelines - https://www.wireshark.org/tools/modelines.html
84  *
85  * Local variables:
86  * c-basic-offset: 4
87  * tab-width: 8
88  * indent-tabs-mode: nil
89  * End:
90  *
91  * vi: set shiftwidth=4 tabstop=8 expandtab:
92  * :indentSize=4:tabSize=8:noTabs=true:
93  */
Definition: packet-bluetooth.h:96
Definition: packet-btatt.h:51
Definition: packet_info.h:44
Definition: packet-btatt.h:59
Definition: packet-bluetooth.h:190
Definition: value_string.h:26
Definition: expert.h:39