Don't have every dissector include wtap.h

The header for frame_data can forward declare an incomplete type
for wtap_rec, since it only takes a pointer to it.

This prevents every dissector from automatically including
wiretap/wtap.h

Add wiretap/wtap.h to some dissectors that need it.

Remove it from some other dissectors that had the explicit include
but don't actually need it.

A few other dissectors actually need wsutil/inet_addr.h but were
getting that via wtap.h - include what they actually need.

This reduces the number of files that are recompiled when
wiretap/wtap.h is touched from ~2500 to ~800.

Note that most of the dissectors that still include wiretap/wtap.h
really only need to use a WTAP_ENCAP_ value, and most of the rest
just need a pseudoheader. Those could be moved into another wiretap
include to further reduce recompilation.

Related to #19127
This commit is contained in:
John Thacker 2023-06-06 21:25:06 -04:00
parent a82d5b56d1
commit bda350d8fd
53 changed files with 38 additions and 44 deletions

View File

@ -15,7 +15,7 @@
#include <epan/packet.h>
#include <epan/prefs.h>
#include <epan/expert.h>
#include <wiretap/wtap.h>
static dissector_handle_t btsnoop_handle;
static dissector_handle_t hci_h1_handle;

View File

@ -25,10 +25,9 @@
#include <epan/tap.h>
#include <epan/expert.h>
#include <epan/proto_data.h>
#include <wsutil/str_util.h>
#include <epan/color_filters.h>
#include <wiretap/wtap.h>
#include <wsutil/str_util.h>
#include "file-file.h"

View File

@ -26,7 +26,7 @@
#include <epan/packet.h>
#include <epan/expert.h>
#include <wiretap/wtap.h>
void proto_register_jfif(void);
void proto_reg_handoff_jfif(void);

View File

@ -25,6 +25,7 @@
#include <epan/packet.h>
#include <epan/to_str.h>
#include <epan/expert.h>
#include <wiretap/wtap.h>
#define MAKE_TYPE_VAL(a, b, c, d) ((a)<<24 | (b)<<16 | (c)<<8 | (d))

View File

@ -11,6 +11,7 @@
#include "config.h"
#include <epan/packet.h>
#include <wiretap/wtap.h>
void proto_register_rfc7468(void);
void proto_reg_handoff_rfc7468(void);

View File

@ -20,7 +20,7 @@
#include <epan/packet.h>
#include <epan/expert.h>
#include <wsutil/strtoi.h>
#include <wsutil/inet_addr.h>
void proto_register_rtpdump(void);
void proto_reg_handoff_rtpdump(void);

View File

@ -15,7 +15,9 @@
#include <epan/packet.h>
#include <epan/prefs.h>
#include <epan/tap.h>
#include <wiretap/wtap.h>
#include "packet-actrace.h"
#define UDP_PORT_ACTRACE 2428 /* Not IANA registered */
#define NOT_ACTRACE 0

View File

@ -18,6 +18,7 @@
#include <stdbool.h>
#include <epan/packet.h>
#include <epan/to_str.h>
#include <wiretap/wtap.h>
void proto_reg_handoff_alp(void);
void proto_register_alp(void);

View File

@ -13,7 +13,6 @@
#include <epan/packet.h>
#include <epan/capture_dissectors.h>
#include <wiretap/wtap.h>
#include <epan/address_types.h>
#include <epan/arcnet_pids.h>
#include <epan/to_str.h>

View File

@ -27,7 +27,6 @@
#include <epan/to_str.h>
#include <epan/expert.h>
#include <epan/dissectors/packet-llc.h>
#include <wiretap/wtap.h>
#include <epan/capture_dissectors.h>
#include "packet-atalk.h"
#include "packet-afp.h"

View File

@ -101,7 +101,6 @@
#include <epan/packet.h>
#include <epan/capture_dissectors.h>
#include <epan/prefs.h>
#include <wiretap/wtap.h>
#define STRLEN 80

View File

@ -34,7 +34,6 @@
#include <epan/packet.h>
#include <epan/capture_dissectors.h>
#include <wiretap/wtap.h>
#include <epan/to_str.h>
#include <epan/xdlc.h>
#include <epan/ax25_pids.h>

View File

@ -24,7 +24,6 @@
#include <epan/decode_as.h>
#include <epan/proto_data.h>
#include <epan/reassemble.h>
#include <wiretap/wtap.h>
#include "packet-bluetooth.h"

View File

@ -15,7 +15,6 @@
#include <epan/packet.h>
#include <epan/expert.h>
#include <wiretap/wtap.h>
#include "packet-bluetooth.h"
#include "packet-btbredr_rf.h"

View File

@ -31,6 +31,7 @@
#include <epan/to_str.h>
#include <epan/uat.h>
#include <wiretap/wtap.h>
#include <epan/dissectors/packet-dlt.h>

View File

@ -44,7 +44,6 @@
#include <epan/prefs.h>
#include <epan/reassemble.h>
#include <epan/addr_resolv.h>
#include <wiretap/wtap.h>
#include <epan/exceptions.h>
#include <epan/crc16-tvb.h>
#include <epan/crc32-tvb.h>

View File

@ -10,12 +10,13 @@
*/
#include <config.h>
#include <conversation.h>
#include "packet-dpaux.h"
#include <epan/packet.h>
#include <epan/conversation.h>
#include <epan/proto_data.h>
#include <wiretap/wtap.h>
#include "packet-dpaux.h"
enum {
DPAUXMON_DATA = 0x00,

View File

@ -16,12 +16,14 @@
#include <epan/ipproto.h>
#include <epan/to_str.h>
#include <wsutil/str_util.h>
#include <wiretap/wtap.h>
#include <wiretap/erf_record.h>
#include "packet-erf.h"
#include "packet-ptp.h"
/*
*/
#include "wiretap/erf_record.h"
void proto_register_erf(void);
void proto_reg_handoff_erf(void);

View File

@ -17,6 +17,7 @@
#include "config.h"
#include <epan/packet.h>
#include <wiretap/wtap.h>
void proto_register_etw(void);
void proto_reg_handoff_etw(void);

View File

@ -28,7 +28,6 @@
#include <epan/expert.h>
#include <epan/conversation.h>
#include <epan/arptypes.h>
#include <wiretap/wtap.h>
#include "packet-llc.h"
#include "packet-chdlc.h"

View File

@ -24,7 +24,6 @@
#include <epan/prefs.h>
#include <epan/to_str.h>
#include <epan/sequence_analysis.h>
#include <wiretap/wtap.h>
#include <epan/tap.h>
#include <epan/expert.h>
#include <wsutil/wsgcrypt.h>

View File

@ -36,6 +36,7 @@
#include <epan/packet.h>
#include <epan/conversation.h>
#include <epan/dissectors/packet-gsm_rlcmac.h>
#include <wiretap/wtap.h>
#include "packet-gsmtap.h"
#include "packet-lapdm.h"

View File

@ -15,7 +15,6 @@
#include <epan/packet.h>
#include <epan/prefs.h>
#include <epan/reassemble.h>
#include <wiretap/wtap.h>
#include "packet-bluetooth.h"

View File

@ -16,7 +16,6 @@
#include <epan/capture_dissectors.h>
#include <epan/prefs.h>
#include <epan/decode_as.h>
#include <wiretap/wtap.h>
void proto_register_i2c(void);
void proto_reg_handoff_i2c(void);

View File

@ -17,7 +17,6 @@
#include <epan/packet.h>
#include <epan/capture_dissectors.h>
#include <wiretap/wtap.h>
#include <wsutil/pint.h>
#include <wsutil/802_11-utils.h>
#include "packet-ieee80211.h"

View File

@ -14,7 +14,6 @@
#include <epan/packet.h>
#include <epan/capture_dissectors.h>
#include <wiretap/wtap.h>
#include <wsutil/pint.h>
#include <wsutil/802_11-utils.h>

View File

@ -13,7 +13,6 @@
#include "config.h"
#include <range.h>
#include <wiretap/wtap.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include <wsutil/strtoi.h>

View File

@ -13,7 +13,6 @@
#include "config.h"
#include <range.h>
#include <wiretap/wtap.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include <wsutil/strtoi.h>

View File

@ -21,6 +21,7 @@
#include <epan/show_exception.h>
#include <epan/decode_as.h>
#include <wiretap/erf_record.h>
#include <wiretap/wtap.h>
#include "packet-infiniband.h"

View File

@ -16,7 +16,6 @@
#include <epan/packet.h>
#include <epan/capture_dissectors.h>
#include <wiretap/wtap.h>
#include <epan/to_str.h>
#include "packet-llc.h"

View File

@ -14,12 +14,13 @@
#define WS_LOG_DOMAIN "packet-knxip"
#include <wsutil/file_util.h>
#include "proto.h"
#include <epan/proto.h>
#include "packet-knxip_decrypt.h"
#include <epan/wmem_scopes.h>
#include <wsutil/wsgcrypt.h>
#include <wsutil/strtoi.h>
#include <wsutil/wslog.h>
#include <wsutil/inet_addr.h>
#define TEXT_BUFFER_SIZE 128

View File

@ -13,7 +13,6 @@
#include <epan/packet.h>
#include <epan/capture_dissectors.h>
#include <wiretap/wtap.h>
#include <wsutil/pint.h>
#include <epan/oui.h>
#include <epan/xdlc.h>

View File

@ -16,7 +16,7 @@
#include <epan/packet.h>
#include <epan/prefs.h>
#include <epan/proto_data.h>
#include <wiretap/wtap.h>
#include <wsutil/strtoi.h>
#include "packet-mac-lte.h"

View File

@ -15,7 +15,6 @@
*/
#include "config.h"
#include <wiretap/wtap.h>
#include <epan/packet.h>
#include <epan/capture_dissectors.h>
#include <epan/decode_as.h>

View File

@ -42,6 +42,7 @@
#include <epan/to_str.h>
#include <epan/strutil.h>
#include <epan/ipproto.h>
#include <wiretap/wtap.h>
#include "packet-gsm_a_common.h"
#include "packet-gsm_map.h"

View File

@ -16,7 +16,6 @@
#include <epan/expert.h>
#include <wsutil/inet_ipv6.h>
#include <wsutil/utf8_entities.h>
#include <wiretap/wtap.h>
#include "packet-netmon.h"
#include "packet-windows-common.h"

View File

@ -128,7 +128,6 @@
#include <epan/packet.h>
#include <epan/prefs.h>
#include <epan/ipproto.h>
#include <wiretap/wtap.h>
#include <epan/sminmpec.h>
#include <epan/to_str.h>
#include <epan/expert.h>

View File

@ -20,7 +20,6 @@
#include "packet-ppp.h"
#include <epan/etypes.h>
#include <epan/aftypes.h>
#include <wiretap/wtap.h>
void proto_register_null(void);
void proto_reg_handoff_null(void);

View File

@ -16,7 +16,6 @@
#include <epan/packet.h>
#include <epan/expert.h>
#include <wiretap/wtap.h>
#include <wiretap/pcap-encap.h>
#include <epan/dissectors/packet-pcap_pktdata.h>

View File

@ -14,7 +14,6 @@
#include <epan/packet.h>
#include <epan/capture_dissectors.h>
#include <wiretap/wtap.h>
#include "packet-ip.h"
#include "packet-ppp.h"

View File

@ -36,6 +36,7 @@
#include <epan/expert.h>
#include <wsutil/file_util.h>
#include <wsutil/report_message.h>
#include <wiretap/wtap.h>
#include "packet-snort-config.h"

View File

@ -17,7 +17,6 @@
#include <epan/prefs.h>
#include <epan/strutil.h>
#include <range.h>
#include <wiretap/wtap.h>
#include <wsutil/crc16-plain.h>
#include <wsutil/pint.h>
#include <wsutil/wsgcrypt.h>

View File

@ -23,11 +23,12 @@
*/
#include <config.h>
#include <wsutil/str_util.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include <epan/conversation.h>
#include <wsutil/str_util.h>
#include <wsutil/inet_addr.h>
/* Prototypes */
void proto_reg_handoff_srt(void);

View File

@ -29,7 +29,7 @@
#include <epan/exceptions.h>
#include <epan/packet.h>
#include <epan/expert.h>
#include <wiretap/wtap.h>
#include <wsutil/strtoi.h>
#include "packet-syslog.h"

View File

@ -21,7 +21,6 @@
#include "packet-llc.h"
#include "packet-sflow.h"
#include <epan/prefs.h>
#include <wiretap/wtap.h>
void proto_register_tr(void);
void proto_reg_handoff_tr(void);

View File

@ -16,6 +16,7 @@
#include <epan/prefs.h>
#include <epan/expert.h>
#include <wsutil/report_message.h>
#include <wsutil/inet_addr.h>
#include "packet-uaudp.h"

View File

@ -24,6 +24,7 @@
#include <epan/conversation.h>
#include <epan/proto_data.h>
#include <epan/dissectors/packet-tcp.h>
#include <wiretap/wtap.h>
void proto_reg_handoff_uci(void);
void proto_register_uci(void);

View File

@ -22,6 +22,7 @@
#include <epan/to_str.h>
#include <epan/proto_data.h>
#include <epan/reassemble.h>
#include <wiretap/wtap.h>
#include "packet-usb.h"
void proto_register_usbll(void);

View File

@ -20,6 +20,7 @@
#include <epan/nlpid.h>
#include <epan/etypes.h>
#include <epan/ws_printf.h>
#include <wiretap/wtap.h>
void proto_register_vpp(void);
void proto_reg_handoff_vpp(void);

View File

@ -11,10 +11,11 @@
#include <config.h>
#include <epan/packet.h>
#include <epan/conversation.h>
#include <wiretap/wtap.h>
#include "packet-ieee802154.h"
#include "packet-zbncp.h"
#include "conversation.h"
void proto_reg_handoff_zbncp(void);
void proto_register_zbncp(void);

View File

@ -14,10 +14,10 @@
#include <glib.h>
#include <epan/epan.h>
#include <wiretap/wtap.h>
#include <epan/frame_data.h>
#include <epan/column-utils.h>
#include <epan/timestamp.h>
#include <wiretap/wtap.h>
#include <wsutil/ws_assert.h>
#define COMPARE_FRAME_NUM() ((fdata1->num < fdata2->num) ? -1 : \

View File

@ -15,12 +15,11 @@
#include <ws_symbol_export.h>
#include <wsutil/nstime.h>
#include <wiretap/wtap.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
typedef struct wtap_rec wtap_rec;
struct _packet_info;
struct epan_session;

View File

@ -1378,7 +1378,7 @@ typedef struct {
*/
#define WTAP_NSTIME_32BIT_SECS_MAX ((time_t)(sizeof(time_t) > sizeof(gint32) ? G_MAXUINT32 : G_MAXINT32))
typedef struct {
typedef struct wtap_rec {
guint rec_type; /* what type of record is this? */
guint32 presence_flags; /* what stuff do we have? */
guint section_number; /* section, within file, containing this record */