Wireshark  4.3.0
The Wireshark network protocol analyzer
pcapng.h
Go to the documentation of this file.
1 
9 #ifndef __W_PCAPNG_H__
10 #define __W_PCAPNG_H__
11 
12 #include <glib.h>
13 #include "wtap.h"
14 #include "ws_symbol_export.h"
15 
16 #define PCAPNG_MAGIC 0x1A2B3C4D
17 #define PCAPNG_SWAPPED_MAGIC 0x4D3C2B1A
18 
19 #define PCAPNG_MAJOR_VERSION 1
20 #define PCAPNG_MINOR_VERSION 0
21 
22 /* pcapng: common block header file encoding for every block type */
23 typedef struct pcapng_block_header_s {
24  uint32_t block_type;
25  uint32_t block_total_length;
26  /* x bytes block_body */
27  /* uint32_t block_total_length */
29 
30 /* pcapng: section header block file encoding */
32  /* pcapng_block_header_t */
33  uint32_t magic;
34  uint16_t version_major;
35  uint16_t version_minor;
36  uint64_t section_length; /* might be -1 for unknown */
37  /* ... Options ... */
39 
40 /* pcapng: interface description block file encoding */
42  uint16_t linktype;
43  uint16_t reserved;
44  uint32_t snaplen;
45  /* ... Options ... */
47 
48 /* pcapng: interface statistics block file encoding */
50  uint32_t interface_id;
51  uint32_t timestamp_high;
52  uint32_t timestamp_low;
53  /* ... Options ... */
55 
56 /* pcapng: Decryption Secrets Block file encoding */
58  uint32_t secrets_type; /* Secrets Type, see secrets-types.h */
59  uint32_t secrets_len; /* Size of variable-length secrets data. */
60  /* x bytes Secrets Data. */
61  /* ... Options ... */
63 
65  uint16_t type;
66  uint16_t value_length;
67 };
68 
69 /*
70  * Minimum IDB size = minimum block size + size of fixed length portion of IDB.
71  */
72 #define MIN_IDB_SIZE ((uint32_t)(MIN_BLOCK_SIZE + sizeof(pcapng_interface_description_block_t)))
73 #define MIN_DSB_SIZE ((uint32_t)(MIN_BLOCK_SIZE + sizeof(pcapng_decryption_secrets_block_t)))
74 
75 wtap_open_return_val pcapng_open(wtap *wth, int *err, char **err_info);
76 
77 #endif
Definition: pcapng.h:23
Definition: pcapng.h:57
Definition: pcapng.h:64
Definition: pcapng.h:31
Definition: wtap-int.h:37