Wireshark 5.1.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
packet-e212.h
1/* packet-e212.h
2 * E212 tables
3 * Copyright 2006, Anders Broman <anders.broman@ericsson.com>
4 *
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
8 *
9 * SPDX-License-Identifier: GPL-2.0-or-later
10 */
11
12#ifndef __PACKET_E212_H__
13#define __PACKET_E212_H__
14
15#include <wsutil/value_string.h>
16#include "ws_symbol_export.h"
17#include <epan/packet_info.h>
18#include <epan/address.h>
19
20extern value_string_ext E212_codes_ext;
21
22extern value_string_ext mcc_mnc_2digits_codes_ext;
23
24extern value_string_ext mcc_mnc_3digits_codes_ext;
25
27typedef struct _tap_imsi_info_t {
28 uint32_t frame_number;
29 const char *imsi;
32 const char *protocol;
33} tap_imsi_info_t;
34
35typedef enum {
36 E212_NONE,
37 E212_LAI,
38 E212_RAI,
39 E212_SAI,
40 E212_CGI,
41 E212_ECGI,
42 E212_TAI,
43 E212_NRCGI,
44 E212_5GSTAI,
45 E212_GUMMEI,
46 E212_GUAMI,
47 E212_SERV_NET,
48} e212_number_type_t;
49
50char* dissect_e212_mcc_mnc_wmem_packet_str(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, e212_number_type_t number_type, bool little_endian);
51void add_assoc_imsi_item(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, const char* imsi_str);
52
53WS_DLL_PUBLIC
54int dissect_e212_mcc_mnc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, e212_number_type_t number_type, bool little_endian);
55
56WS_DLL_PUBLIC
57int dissect_e212_mcc_mnc_in_address(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset);
58
65WS_DLL_PUBLIC
66const char *e212_get_mcc_mnc_digits(tvbuff_t *tvb, wmem_allocator_t *scope, int offset);
67
68WS_DLL_PUBLIC
69int dissect_e212_mcc_mnc_in_utf8_address(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset);
70
87WS_DLL_PUBLIC
88const char * dissect_e212_imsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, int length, bool skip_first);
89
98WS_DLL_PUBLIC
99const char * dissect_e212_utf8_imsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, int length);
100
101#endif /* __PACKET_E212_H__ */
102
103/*
104 * Editor modelines - https://www.wireshark.org/tools/modelines.html
105 *
106 * Local variables:
107 * c-basic-offset: 4
108 * tab-width: 8
109 * indent-tabs-mode: nil
110 * End:
111 *
112 * vi: set shiftwidth=4 tabstop=8 expandtab:
113 * :indentSize=4:tabSize=8:noTabs=true:
114 */
struct _address address
Holds a network or link-layer address of any supported type.
struct _packet_info packet_info
Represents the metadata and indexing information for a single captured frame.
struct _wmem_allocator_t wmem_allocator_t
Definition wmem_core.h:44
Definition packet-e212.h:27
address dst_addr
Definition packet-e212.h:31
const char * protocol
Definition packet-e212.h:32
address src_addr
Definition packet-e212.h:30
uint32_t frame_number
Definition packet-e212.h:28
const char * imsi
Definition packet-e212.h:29