Wireshark  4.3.0
The Wireshark network protocol analyzer
address_types.h
Go to the documentation of this file.
1 
11 #ifndef __ADDRESS_TYPES_H__
12 #define __ADDRESS_TYPES_H__
13 
14 #include "address.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif /* __cplusplus */
19 
20 typedef int (*AddrValueToString)(const address* addr, char *buf, int buf_len);
21 typedef int (*AddrValueToStringLen)(const address* addr);
22 typedef unsigned (*AddrValueToByte)(const address* addr, uint8_t *buf, unsigned buf_len);
23 typedef int (*AddrFixedLen)(void);
24 typedef const char* (*AddrColFilterString)(const address* addr, bool src);
25 typedef int (*AddrNameResolutionLen)(void);
26 typedef const char* (*AddrNameResolutionToString)(const address* addr);
27 
28 struct _address_type_t;
29 typedef struct _address_type_t address_type_t;
30 
31 WS_DLL_PUBLIC int address_type_dissector_register(const char* name, const char* pretty_name,
32  AddrValueToString to_str_func, AddrValueToStringLen str_len_func,
33  AddrValueToByte to_bytes_func, AddrColFilterString col_filter_str_func, AddrFixedLen fixed_len_func,
34  AddrNameResolutionToString name_res_str_func, AddrNameResolutionLen name_res_len_func);
35 
36 WS_DLL_PUBLIC int address_type_get_by_name(const char* name);
37 
38 void address_types_initialize(void);
39 
40 /* Address type functions used by multiple (dissector) address types */
41 int none_addr_to_str(const address* addr, char *buf, int buf_len);
42 int none_addr_str_len(const address* addr);
43 int none_addr_len(void);
44 
45 int ether_to_str(const address* addr, char *buf, int buf_len);
46 int ether_str_len(const address* addr);
47 int ether_len(void);
48 const char* ether_name_resolution_str(const address* addr);
49 int ether_name_resolution_len(void);
50 
51 
52 
53 /* XXX - Temporary? Here at least until all of the address type handling is finalized
54  * Otherwise should be folded into address_types.c or just be handled with function pointers
55  */
56 const char* address_type_column_filter_string(const address* addr, bool src);
57 
58 
59 #ifdef __cplusplus
60 }
61 #endif /* __cplusplus */
62 
63 #endif /* __ADDRESS_TYPES_H__ */
64 
65 /*
66  * Editor modelines - https://www.wireshark.org/tools/modelines.html
67  *
68  * Local variables:
69  * c-basic-offset: 4
70  * tab-width: 8
71  * indent-tabs-mode: nil
72  * End:
73  *
74  * vi: set shiftwidth=4 tabstop=8 expandtab:
75  * :indentSize=4:tabSize=8:noTabs=true:
76  */
Definition: address_types.c:26
Definition: address.h:56