Wireshark  4.3.0
The Wireshark network protocol analyzer
manuf.h
1 /* manuf.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 #ifndef __MANUF_H__
10 #define __MANUF_H__
11 
12 #include <wireshark.h>
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif /* __cplusplus */
17 
18 #define MANUF_BLOCK_SIZE 5
19 
20 struct ws_manuf {
21  uint8_t block[MANUF_BLOCK_SIZE];
22  uint8_t mask;
23  const char *short_name;
24  const char *long_name;
25 };
26 
27 /* Internal structure, not supposed to be accessed by users. */
28 struct ws_manuf_iter {
29  size_t idx24, idx28, idx36;
30  struct ws_manuf buf24;
31  struct ws_manuf buf28;
32  struct ws_manuf buf36;
33 };
34 
35 typedef struct ws_manuf_iter ws_manuf_iter_t;
36 
37 /* Returns the short name. Takes an optional pointer to return the long name. */
38 WS_DLL_PUBLIC
39 const char *
40 ws_manuf_lookup_str(const uint8_t addr[6], const char **long_name_ptr);
41 
42 WS_DLL_PUBLIC
43 void
44 ws_manuf_iter_init(ws_manuf_iter_t *iter);
45 
46 WS_DLL_PUBLIC
47 bool
48 ws_manuf_iter_next(ws_manuf_iter_t *iter, struct ws_manuf *result);
49 
50 WS_DLL_PUBLIC
51 const char *
52 ws_manuf_block_str(char *buf, size_t buf_size, const struct ws_manuf *ptr);
53 
54 WS_DLL_PUBLIC void
55 ws_manuf_dump(FILE *fp);
56 
57 WS_DLL_PUBLIC
58 size_t
59 ws_manuf_count(void);
60 
61 #ifdef __cplusplus
62 }
63 #endif /* __cplusplus */
64 
65 #endif
Definition: manuf.h:28
Definition: manuf.h:20