Wireshark  4.3.0
The Wireshark network protocol analyzer
packet-btle.h
1 /* packet-btle.h
2  * Structures for determining the dissection context for BTLE.
3  *
4  * Copyright 2014, Christopher D. Kilgour, techie at whiterocker dot com
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 #ifndef __PACKET_BTLE_H__
13 #define __PACKET_BTLE_H__
14 
15 #include "packet-bluetooth.h"
16 
17 /*
18  * These structures are meant to support the provision of contextual
19  * metadata to the BTLE dissector.
20  */
21 typedef struct {
22  guint64 InitA;
23  guint64 AdvA;
24  guint32 LinkAA;
25  guint32 CRCInit;
26  guint8 WinSize;
27  guint16 WinOffset;
28  guint16 Interval;
29  guint16 Latency;
30  guint16 Timeout;
31  guint64 ChM;
32  guint8 Hop;
33  guint8 SCA;
35 
36 typedef enum {
37  E_AA_NO_COMMENT = 0,
38  E_AA_MATCHED,
39  E_AA_BIT_ERRORS,
40  E_AA_ILLEGAL
41 } btle_AA_category_t;
42 
43 #define BTLE_DIR_UNKNOWN 0
44 #define BTLE_DIR_MASTER_SLAVE 1
45 #define BTLE_DIR_SLAVE_MASTER 2
46 
47 #define BTLE_PDU_TYPE_UNKNOWN 0 /* Unknown physical channel PDU */
48 #define BTLE_PDU_TYPE_ADVERTISING 1 /* Advertising physical channel PDU */
49 #define BTLE_PDU_TYPE_DATA 2 /* Data physical channel PDU */
50 #define BTLE_PDU_TYPE_CONNECTEDISO 3 /* Connected isochronous physical channel PDU */
51 #define BTLE_PDU_TYPE_BROADCASTISO 4 /* Broadcast isochronous physical channel PDU */
52 
53 #define LE_1M_PHY 0
54 #define LE_2M_PHY 1
55 #define LE_CODED_PHY 2
56 
57 typedef struct {
58  btle_AA_category_t aa_category;
59  btle_CONNECT_REQ_t connection_info;
60  guint connection_info_valid: 1;
61  guint crc_checked_at_capture: 1;
62  guint crc_valid_at_capture: 1;
63  guint mic_checked_at_capture: 1;
64  guint mic_valid_at_capture: 1;
65  guint direction: 2; /* 0 Unknown, 1 Master -> Slave, 2 Slave -> Master */
66  guint aux_pdu_type_valid: 1;
67  guint event_counter_valid: 1;
68  guint8 pdu_type;
69  guint8 aux_pdu_type;
70  guint8 channel;
71  guint8 phy;
72  guint16 event_counter;
73 
74  union {
75  void *data;
76  bluetooth_data_t *bluetooth_data;
77  } previous_protocol_data;
79 
80 #endif /* __PACKET_BTLE_H__ */
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-btle.h:21
Definition: packet-btle.h:57