Wireshark 4.5.0
The Wireshark network protocol analyzer
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
merge.h
Go to the documentation of this file.
1
11#ifndef __MERGE_H__
12#define __MERGE_H__
13
14#include "wiretap/wtap.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif /* __cplusplus */
19
20typedef enum {
21 RECORD_PRESENT,
22 RECORD_NOT_PRESENT,
23 AT_EOF,
24 GOT_ERROR
25} in_file_state_e;
26
30typedef struct merge_in_file_s {
31 const char *filename;
32 wtap *wth;
33 wtap_rec rec;
34 in_file_state_e state;
35 uint32_t packet_num; /* current packet number */
36 int64_t size; /* file size */
37 GArray *idb_index_map; /* used for mapping the old phdr interface_id values to new during merge */
38 unsigned nrbs_seen; /* number of elements processed so far from wth->nrbs */
39 unsigned dsbs_seen; /* number of elements processed so far from wth->dsbs */
41
43typedef enum {
44 MERGE_EVENT_INPUT_FILES_OPENED,
45 MERGE_EVENT_FRAME_TYPE_SELECTED,
46 MERGE_EVENT_READY_TO_MERGE,
47 MERGE_EVENT_RECORD_WAS_READ,
48 MERGE_EVENT_DONE
50
51
59
60
66WS_DLL_PUBLIC idb_merge_mode
67merge_string_to_idb_merge_mode(const char *name);
68
69
75WS_DLL_PUBLIC const char*
76merge_idb_merge_mode_to_string(const int mode);
77
78
93typedef struct {
94 bool (*callback_func)(merge_event event, int num,
95 const merge_in_file_t in_files[], const unsigned in_file_count,
96 void *data);
97 void *data;
99
100
115WS_DLL_PUBLIC bool
116merge_files(const char* out_filename, const int file_type,
117 const char *const *in_filenames, const unsigned in_file_count,
118 const bool do_append, const idb_merge_mode mode,
119 unsigned snaplen, const char *app_name, merge_progress_callback_t* cb,
120 wtap_compression_type compression_type);
121
138WS_DLL_PUBLIC bool
139merge_files_to_tempfile(const char *tmpdir, char **out_filenamep, const char *pfx,
140 const int file_type, const char *const *in_filenames,
141 const unsigned in_file_count, const bool do_append,
142 const idb_merge_mode mode, unsigned snaplen,
143 const char *app_name, merge_progress_callback_t* cb);
144
157WS_DLL_PUBLIC bool
158merge_files_to_stdout(const int file_type, const char *const *in_filenames,
159 const unsigned in_file_count, const bool do_append,
160 const idb_merge_mode mode, unsigned snaplen,
161 const char *app_name, merge_progress_callback_t* cb,
162 wtap_compression_type compression_type);
163
164#ifdef __cplusplus
165}
166#endif /* __cplusplus */
167
168#endif /* __MERGE_H__ */
169
merge_event
Definition merge.h:43
WS_DLL_PUBLIC idb_merge_mode merge_string_to_idb_merge_mode(const char *name)
Definition merge.c:58
idb_merge_mode
Definition merge.h:53
@ IDB_MERGE_MODE_NONE
Definition merge.h:54
@ IDB_MERGE_MODE_ALL_SAME
Definition merge.h:55
@ IDB_MERGE_MODE_ANY_SAME
Definition merge.h:56
WS_DLL_PUBLIC bool merge_files_to_tempfile(const char *tmpdir, char **out_filenamep, const char *pfx, const int file_type, const char *const *in_filenames, const unsigned in_file_count, const bool do_append, const idb_merge_mode mode, unsigned snaplen, const char *app_name, merge_progress_callback_t *cb)
Definition merge.c:1505
WS_DLL_PUBLIC bool merge_files_to_stdout(const int file_type, const char *const *in_filenames, const unsigned in_file_count, const bool do_append, const idb_merge_mode mode, unsigned snaplen, const char *app_name, merge_progress_callback_t *cb, wtap_compression_type compression_type)
Definition merge.c:1527
WS_DLL_PUBLIC const char * merge_idb_merge_mode_to_string(const int mode)
Definition merge.c:70
WS_DLL_PUBLIC bool merge_files(const char *out_filename, const int file_type, const char *const *in_filenames, const unsigned in_file_count, const bool do_append, const idb_merge_mode mode, unsigned snaplen, const char *app_name, merge_progress_callback_t *cb, wtap_compression_type compression_type)
Definition merge.c:1472
struct merge_in_file_s merge_in_file_t
Definition merge.h:30
Callback information for merging.
Definition merge.h:93
void * data
Definition merge.h:97
Definition wtap.h:1432
Definition wtap-int.h:37