10 #define __WTAP_INT_H__
24 void wtap_init_file_type_subtypes(
void);
27 int wtap_fstat(
wtap *wth, ws_statb64 *statb,
int *err);
29 typedef bool (*subtype_read_func)(
struct wtap*,
wtap_rec *,
30 Buffer *,
int *,
char **, int64_t *);
31 typedef bool (*subtype_seek_read_func)(
struct wtap*, int64_t,
wtap_rec *,
41 int file_type_subtype;
42 unsigned snapshot_length;
56 subtype_read_func subtype_read;
57 subtype_seek_read_func subtype_seek_read;
58 void (*subtype_sequential_close)(
struct wtap*);
59 void (*subtype_close)(
struct wtap*);
77 wtap_new_ipv6_callback_t add_new_ipv6;
87 typedef void *WFILE_T;
92 typedef bool (*subtype_write_func)(
struct wtap_dumper*,
94 const uint8_t*,
int*,
char**);
95 typedef bool (*subtype_finish_func)(
struct wtap_dumper*,
int*,
char**);
99 int file_type_subtype;
107 wtap_compression_type compression_type;
109 int64_t bytes_dumped;
114 subtype_add_idb_func subtype_add_idb;
115 subtype_write_func subtype_write;
116 subtype_finish_func subtype_finish;
136 WS_DLL_PUBLIC
bool wtap_dump_file_write(
wtap_dumper *wdh,
const void *buf,
137 size_t bufsize,
int *err);
138 WS_DLL_PUBLIC int64_t wtap_dump_file_seek(
wtap_dumper *wdh, int64_t offset,
int whence,
int *err);
139 WS_DLL_PUBLIC int64_t wtap_dump_file_tell(
wtap_dumper *wdh,
int *err);
141 extern int wtap_num_file_types;
148 #define PBSWAP64(p) \
164 #define PBSWAP32(p) \
174 #define PBSWAP16(p) \
188 #define phtons(p, v) \
190 (p)[0] = (uint8_t)((v) >> 8); \
191 (p)[1] = (uint8_t)((v) >> 0); \
196 #define phton24(p, v) \
198 (p)[0] = (uint8_t)((v) >> 16); \
199 (p)[1] = (uint8_t)((v) >> 8); \
200 (p)[2] = (uint8_t)((v) >> 0); \
205 #define phtonl(p, v) \
207 (p)[0] = (uint8_t)((v) >> 24); \
208 (p)[1] = (uint8_t)((v) >> 16); \
209 (p)[2] = (uint8_t)((v) >> 8); \
210 (p)[3] = (uint8_t)((v) >> 0); \
215 #define phtonll(p, v) \
217 (p)[0] = (uint8_t)((v) >> 56); \
218 (p)[1] = (uint8_t)((v) >> 48); \
219 (p)[2] = (uint8_t)((v) >> 40); \
220 (p)[3] = (uint8_t)((v) >> 32); \
221 (p)[4] = (uint8_t)((v) >> 24); \
222 (p)[5] = (uint8_t)((v) >> 16); \
223 (p)[6] = (uint8_t)((v) >> 8); \
224 (p)[7] = (uint8_t)((v) >> 0); \
229 #define phtole8(p, v) \
231 (p)[0] = (uint8_t)((v) >> 0); \
236 #define phtoles(p, v) \
238 (p)[0] = (uint8_t)((v) >> 0); \
239 (p)[1] = (uint8_t)((v) >> 8); \
244 #define phtole24(p, v) \
246 (p)[0] = (uint8_t)((v) >> 0); \
247 (p)[1] = (uint8_t)((v) >> 8); \
248 (p)[2] = (uint8_t)((v) >> 16); \
253 #define phtolel(p, v) \
255 (p)[0] = (uint8_t)((v) >> 0); \
256 (p)[1] = (uint8_t)((v) >> 8); \
257 (p)[2] = (uint8_t)((v) >> 16); \
258 (p)[3] = (uint8_t)((v) >> 24); \
263 #define phtolell(p, v) \
265 (p)[0] = (uint8_t)((v) >> 0); \
266 (p)[1] = (uint8_t)((v) >> 8); \
267 (p)[2] = (uint8_t)((v) >> 16); \
268 (p)[3] = (uint8_t)((v) >> 24); \
269 (p)[4] = (uint8_t)((v) >> 32); \
270 (p)[5] = (uint8_t)((v) >> 40); \
271 (p)[6] = (uint8_t)((v) >> 48); \
272 (p)[7] = (uint8_t)((v) >> 56); \
294 wtap_read_bytes_or_eof(
FILE_T fh,
void *buf,
unsigned int count,
int *err,
312 wtap_read_bytes(
FILE_T fh,
void *buf,
unsigned int count,
int *err,
326 wtap_read_packet_bytes(
FILE_T fh,
Buffer *buf,
unsigned length,
int *err,
335 int *err,
char **err_info, int64_t *data_offset);
342 wtap_full_file_seek_read(
wtap *wth, int64_t seek_off,
wtap_rec *rec,
Buffer *buf,
int *err,
char **err_info);
363 wtap_register_compatibility_file_subtype_name(
const char *old_name,
364 const char *new_name);
367 wtap_register_backwards_compatibility_lua_name(
const char *name,
int ft);
375 const GArray *get_backwards_compatibility_lua_table(
void);
Definition: wtap-int.h:369
Definition: wtap_opttypes.c:85
Definition: wtap-int.h:97
unsigned nrbs_growing_written
Definition: wtap-int.h:131
GArray * dsbs_initial
Definition: wtap-int.h:122
GArray * interface_data
Definition: wtap-int.h:121
const GArray * dsbs_growing
Definition: wtap-int.h:129
const GArray * mevs_growing
Definition: wtap-int.h:130
unsigned mevs_growing_written
Definition: wtap-int.h:133
const GArray * shb_iface_to_global
Definition: wtap-int.h:120
unsigned dsbs_growing_written
Definition: wtap-int.h:132
addrinfo_lists_t * addrinfo_lists
Definition: wtap-int.h:118
const GArray * nrbs_growing
Definition: wtap-int.h:128
Definition: file_wrappers.c:163
Definition: wtap-int.h:37
GArray * interface_data
Definition: wtap-int.h:45
bool ispipe
Definition: wtap-int.h:40
GArray * shb_iface_to_global
Definition: wtap-int.h:44
FILE_T random_fh
Definition: wtap-int.h:39
unsigned next_interface_data
Definition: wtap-int.h:46
GArray * nrbs
Definition: wtap-int.h:47
char * pathname
Definition: wtap-int.h:51
GArray * meta_events
Definition: wtap-int.h:49
GArray * dsbs
Definition: wtap-int.h:48
void wtapng_process_nrb(wtap *wth, wtap_block_t nrb)
Definition: wtap.c:1669
GArray * wtap_file_get_shb_for_new_file(wtap *wth)
Gets new section header block for new file, based on existing info.
Definition: wtap.c:150
void wtapng_process_dsb(wtap *wth, wtap_block_t dsb)
Definition: wtap.c:1693
GArray * wtap_file_get_nrb_for_new_file(wtap *wth)
Gets new name resolution info for new file, based on existing info.
Definition: wtap.c:521
wtap_block_t wtap_rec_generate_idb(const wtap_rec *rec)
Generate an IDB, given a packet record, using the records's encapsulation type and time stamp resolut...
Definition: wtap.c:1903
wtap_block_t wtap_dump_params_generate_idb(const wtap_dump_params *params)
Generate an IDB, given a set of dump parameters, using the parameters' encapsulation type,...
Definition: wtap.c:617
WS_DLL_PUBLIC void wtap_add_generated_idb(wtap *wth)
Generate an IDB, given a wiretap handle for the file, using the file's encapsulation type,...
Definition: wtap.c:351
void wtap_add_idb(wtap *wth, wtap_block_t idb)
Definition: wtap.c:275
void(* wtap_new_secrets_callback_t)(uint32_t secrets_type, const void *secrets, unsigned size)
Definition: wtap.h:1890
void(* wtap_new_ipv4_callback_t)(const unsigned addr, const char *name, const bool static_entry)
Definition: wtap.h:1878