/* Returns TRUE on success, FALSE on failure; sets "*err" to an error code on
failure */
-gboolean _5views_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err)
+gboolean _5views_dump_open(wtap_dumper *wdh, int *err)
{
_5views_dump_t *_5views;
- /* This is a 5Views file. We can't fill in some fields in the
- header until all the packets have been written, so we can't
- write to a pipe. */
- if (cant_seek) {
- *err = WTAP_ERR_CANT_WRITE_TO_PIPE;
- return FALSE;
- }
-
/* We can't fill in all the fields in the file header, as we
haven't yet written any packets. As we'll have to rewrite
the header when we've written out all the packets, we just
#define __5VIEWS_H__
int _5views_open(wtap *wth, int *err, gchar **err_info);
-gboolean _5views_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean _5views_dump_open(wtap_dumper *wdh, int *err);
int _5views_dump_can_write_encap(int encap);
#endif
}
/* FIXME: How do we support multiple backends?*/
-gboolean btsnoop_dump_open_h1(wtap_dumper *wdh, gboolean cant_seek _U_, int *err)
+gboolean btsnoop_dump_open_h1(wtap_dumper *wdh, int *err)
{
struct btsnoop_hdr file_hdr;
/* Returns TRUE on success, FALSE on failure; sets "*err" to an error code on
failure */
-gboolean btsnoop_dump_open_h4(wtap_dumper *wdh, gboolean cant_seek _U_, int *err)
+gboolean btsnoop_dump_open_h4(wtap_dumper *wdh, int *err)
{
struct btsnoop_hdr file_hdr;
#define __W_BTSNOOP_H__
int btsnoop_open(wtap *wth, int *err, gchar **err_info);
-gboolean btsnoop_dump_open_h1(wtap_dumper *wdh, gboolean cant_seek, int *err);
-gboolean btsnoop_dump_open_h4(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean btsnoop_dump_open_h1(wtap_dumper *wdh, int *err);
+gboolean btsnoop_dump_open_h4(wtap_dumper *wdh, int *err);
int btsnoop_dump_can_write_encap(int encap);
#endif
/* The file that we are writing to has been opened. */
/* Set other dump callbacks. */
/*****************************************************/
-gboolean catapult_dct2000_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err _U_)
+gboolean catapult_dct2000_dump_open(wtap_dumper *wdh, int *err _U_)
{
/* Fill in other dump callbacks */
wdh->subtype_write = catapult_dct2000_dump;
*/
int catapult_dct2000_open(wtap *wth, int *err, gchar **err_info);
-gboolean catapult_dct2000_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean catapult_dct2000_dump_open(wtap_dumper *wdh, int *err);
int catapult_dct2000_dump_can_write_encap(int encap);
#define DCT2000_ENCAP_UNHANDLED 0
/* Returns TRUE on success, FALSE on failure;
sets "*err" to an error code on failure */
-gboolean commview_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_,
- int *err _U_)
+gboolean commview_dump_open(wtap_dumper *wdh, int *err _U_)
{
wdh->subtype_write = commview_dump;
wdh->subtype_close = NULL;
int commview_open(wtap *wth, int *err, gchar **err_info _U_);
int commview_dump_can_write_encap(int encap);
-gboolean commview_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err);
+gboolean commview_dump_open(wtap_dumper *wdh, int *err);
#endif /* __COMMVIEW_H__ */
const union wtap_pseudo_header *pseudo_header _U_,
const guchar *pd, int *err);
-gboolean eyesdn_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err)
+gboolean eyesdn_dump_open(wtap_dumper *wdh, int *err)
{
wdh->subtype_write=eyesdn_dump;
wdh->subtype_close=NULL;
EYESDN_ENCAP_BACNET
};
-gboolean eyesdn_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err);
+gboolean eyesdn_dump_open(wtap_dumper *wdh, int *err);
int eyesdn_dump_can_write_encap(int encap);
#endif
NULL, NULL },
/* WTAP_FILE_PCAP */
- { "Wireshark/tcpdump/... - libpcap", "libpcap", "*.pcap;*.cap", ".pcap", TRUE, FALSE,
+ { "Wireshark/tcpdump/... - libpcap", "libpcap", "*.pcap;*.cap", ".pcap", FALSE, FALSE,
libpcap_dump_can_write_encap, libpcap_dump_open },
/* WTAP_FILE_PCAP_NSEC */
- { "Wireshark - nanosecond libpcap", "nseclibpcap", "*.pcap;*.cap", ".pcap", TRUE, FALSE,
+ { "Wireshark - nanosecond libpcap", "nseclibpcap", "*.pcap;*.cap", ".pcap", FALSE, FALSE,
libpcap_dump_can_write_encap, libpcap_dump_open },
/* WTAP_FILE_PCAP_AIX */
- { "AIX tcpdump - libpcap", "aixlibpcap", "*.pcap;*.cap", ".pcap", TRUE, FALSE,
+ { "AIX tcpdump - libpcap", "aixlibpcap", "*.pcap;*.cap", ".pcap", FALSE, FALSE,
NULL, NULL },
/* WTAP_FILE_PCAP_SS991029 */
- { "Modified tcpdump - libpcap", "modlibpcap", "*.pcap;*.cap", ".pcap", TRUE, FALSE,
+ { "Modified tcpdump - libpcap", "modlibpcap", "*.pcap;*.cap", ".pcap", FALSE, FALSE,
libpcap_dump_can_write_encap, libpcap_dump_open },
/* WTAP_FILE_PCAP_NOKIA */
- { "Nokia tcpdump - libpcap ", "nokialibpcap", "*.pcap;*.cap", ".pcap", TRUE, FALSE,
+ { "Nokia tcpdump - libpcap ", "nokialibpcap", "*.pcap;*.cap", ".pcap", FALSE, FALSE,
libpcap_dump_can_write_encap, libpcap_dump_open },
/* WTAP_FILE_PCAP_SS990417 */
- { "RedHat 6.1 tcpdump - libpcap", "rh6_1libpcap", "*.pcap;*.cap", ".pcap", TRUE, FALSE,
+ { "RedHat 6.1 tcpdump - libpcap", "rh6_1libpcap", "*.pcap;*.cap", ".pcap", FALSE, FALSE,
libpcap_dump_can_write_encap, libpcap_dump_open },
/* WTAP_FILE_PCAP_SS990915 */
- { "SuSE 6.3 tcpdump - libpcap", "suse6_3libpcap", "*.pcap;*.cap", ".pcap", TRUE, FALSE,
+ { "SuSE 6.3 tcpdump - libpcap", "suse6_3libpcap", "*.pcap;*.cap", ".pcap", FALSE, FALSE,
libpcap_dump_can_write_encap, libpcap_dump_open },
/* WTAP_FILE_5VIEWS */
- { "Accellent 5Views capture", "5views", "*.5vw", ".5vw", FALSE, FALSE,
+ { "Accellent 5Views capture", "5views", "*.5vw", ".5vw", TRUE, FALSE,
_5views_dump_can_write_encap, _5views_dump_open },
/* WTAP_FILE_IPTRACE_1_0 */
NULL, NULL },
/* WTAP_FILE_NETMON_1_x */
- { "Microsoft NetMon 1.x", "netmon1", "*.cap", ".cap", FALSE, FALSE,
+ { "Microsoft NetMon 1.x", "netmon1", "*.cap", ".cap", TRUE, FALSE,
netmon_dump_can_write_encap, netmon_dump_open },
/* WTAP_FILE_NETMON_2_x */
- { "Microsoft NetMon 2.x", "netmon2", "*.cap", ".cap", FALSE, FALSE,
+ { "Microsoft NetMon 2.x", "netmon2", "*.cap", ".cap", TRUE, FALSE,
netmon_dump_can_write_encap, netmon_dump_open },
/* WTAP_FILE_NGSNIFFER_UNCOMPRESSED */
NULL, NULL },
/* WTAP_FILE_NETXRAY_1_1 */
- { "NA Sniffer (Windows) 1.1", "ngwsniffer_1_1", "*.cap", ".cap", FALSE, FALSE,
+ { "NA Sniffer (Windows) 1.1", "ngwsniffer_1_1", "*.cap", ".cap", TRUE, FALSE,
netxray_dump_can_write_encap_1_1, netxray_dump_open_1_1 },
/* WTAP_FILE_NETXRAY_2_00x */
- { "NA Sniffer (Windows) 2.00x", "ngwsniffer_2_0", "*.cap", ".cap", FALSE, FALSE,
+ { "NA Sniffer (Windows) 2.00x", "ngwsniffer_2_0", "*.cap", ".cap", TRUE, FALSE,
netxray_dump_can_write_encap_2_0, netxray_dump_open_2_0 },
/* WTAP_FILE_NETWORK_INSTRUMENTS_V9 */
- { "Network Instruments Observer (V9)", "niobserverv9", "*.bfr", ".bfr", FALSE, FALSE,
+ { "Network Instruments Observer (V9)", "niobserverv9", "*.bfr", ".bfr", TRUE, FALSE,
network_instruments_dump_can_write_encap, network_instruments_dump_open },
/* WTAP_FILE_LANALYZER */
- { "Novell LANalyzer","lanalyzer", "*.tr1", ".tr1", FALSE, FALSE,
+ { "Novell LANalyzer","lanalyzer", "*.tr1", ".tr1", TRUE, FALSE,
lanalyzer_dump_can_write_encap, lanalyzer_dump_open },
/* WTAP_FILE_PPPDUMP */
NULL, NULL},
/* WTAP_FILE_K12 */
- { "Tektronix K12xx 32-bit .rf5 format", "rf5", "*.rf5", ".rf5", TRUE, FALSE,
+ { "Tektronix K12xx 32-bit .rf5 format", "rf5", "*.rf5", ".rf5", FALSE, FALSE,
k12_dump_can_write_encap, k12_dump_open },
/* WTAP_FILE_TOSHIBA */
NULL, NULL },
/* WTAP_FILE_VISUAL_NETWORKS */
- { "Visual Networks traffic capture", "visual", "*.*", NULL, FALSE, FALSE,
+ { "Visual Networks traffic capture", "visual", "*.*", NULL, TRUE, FALSE,
visual_dump_can_write_encap, visual_dump_open },
/* WTAP_FILE_ETHERPEEK_V56 */
NULL, NULL },
/* WTAP_FILE_K12TEXT */
- { "K12 text file", "k12text", "*.txt", ".txt", TRUE, FALSE,
+ { "K12 text file", "k12text", "*.txt", ".txt", FALSE, FALSE,
k12text_dump_can_write_encap, k12text_dump_open },
/* WTAP_FILE_NETSCREEN */
NULL, NULL },
/* WTAP_FILE_COMMVIEW */
- { "TamoSoft CommView", "commview", "*.ncf", ".ncf", TRUE, FALSE,
+ { "TamoSoft CommView", "commview", "*.ncf", ".ncf", FALSE, FALSE,
commview_dump_can_write_encap, commview_dump_open },
/* WTAP_FILE_PCAPNG */
NULL, NULL },
/* WTAP_FILE_NETSCALER_1_0 */
- { "NetScaler Trace (Version 1.0)", "nstrace10", "*.*", "*.*", FALSE, FALSE,
+ { "NetScaler Trace (Version 1.0)", "nstrace10", "*.*", "*.*", TRUE, FALSE,
nstrace_10_dump_can_write_encap, nstrace_dump_open },
/* WTAP_FILE_NETSCALER_2_0 */
- { "NetScaler Trace (Version 2.0)", "nstrace20", "*.cap", "*.cap", FALSE, FALSE,
+ { "NetScaler Trace (Version 2.0)", "nstrace20", "*.cap", "*.cap", TRUE, FALSE,
nstrace_20_dump_can_write_encap, nstrace_dump_open },
/* WTAP_FILE_JPEG_JFIF */
#ifdef HAVE_LIBZ
gboolean wtap_dump_can_compress(int filetype)
{
+ /*
+ * If this is an unknown file type, or if we have to
+ * seek when writing out a file with this file type,
+ * return FALSE.
+ */
if (filetype < 0 || filetype >= wtap_num_file_types
- || dump_open_table[filetype].can_compress == FALSE)
+ || dump_open_table[filetype].writing_must_seek)
return FALSE;
return TRUE;
}
}
+ /* If this file type requires seeking, and we can't seek, fail. */
+ if (dump_open_table[filetype].writing_must_seek && cant_seek) {
+ *err = WTAP_ERR_CANT_WRITE_TO_PIPE;
+ return FALSE;
+ }
+
/* Now try to open the file for writing. */
- if (!(*dump_open_table[filetype].dump_open)(wdh, cant_seek, err)) {
+ if (!(*dump_open_table[filetype].dump_open)(wdh, err)) {
return FALSE;
}
}
-gboolean k12_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err) {
+gboolean k12_dump_open(wtap_dumper *wdh, int *err) {
k12_dump_t *k12;
- if (cant_seek) {
- *err = WTAP_ERR_CANT_WRITE_TO_PIPE;
- return FALSE;
- }
-
if ( ! wtap_dump_file_write(wdh, k12_file_magic, 8, err)) {
return FALSE;
}
int k12_open(wtap *wth, int *err, gchar **err_info);
int k12_dump_can_write_encap(int encap);
-gboolean k12_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err);
+gboolean k12_dump_open(wtap_dumper *wdh, int *err);
int k12text_open(wtap *wth, int *err, gchar **err_info _U_);
int k12text_dump_can_write_encap(int encap);
-gboolean k12text_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err);
+gboolean k12text_dump_open(wtap_dumper *wdh, int *err);
gboolean
-k12text_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err)
+k12text_dump_open(wtap_dumper *wdh, int *err)
{
-
- if (cant_seek) {
- *err = WTAP_ERR_CANT_WRITE_TO_PIPE;
- return FALSE;
- }
-
wdh->subtype_write = k12text_dump;
return TRUE;
* Returns TRUE on success, FALSE on failure; sets "*err" to an
* error code on failure
*---------------------------------------------------*/
-gboolean lanalyzer_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err)
+gboolean lanalyzer_dump_open(wtap_dumper *wdh, int *err)
{
int jump;
void *tmp;
- /* This is a LANalyzer file. We can't fill in some fields in the
- header until all the packets have been written, so we can't
- write to a pipe. */
- if (cant_seek) {
- *err = WTAP_ERR_CANT_WRITE_TO_PIPE;
- return FALSE;
- }
-
tmp = g_malloc(sizeof(LA_TmpInfo));
if (!tmp) {
*err = errno;
} LA_TmpInfo;
int lanalyzer_open(wtap *wth, int *err, gchar **err_info);
-gboolean lanalyzer_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean lanalyzer_dump_open(wtap_dumper *wdh, int *err);
int lanalyzer_dump_can_write_encap(int encap);
#endif
/* Returns TRUE on success, FALSE on failure; sets "*err" to an error code on
failure */
-gboolean libpcap_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err)
+gboolean libpcap_dump_open(wtap_dumper *wdh, int *err)
{
guint32 magic;
struct pcap_hdr file_hdr;
};
int libpcap_open(wtap *wth, int *err, gchar **err_info);
-gboolean libpcap_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean libpcap_dump_open(wtap_dumper *wdh, int *err);
int libpcap_dump_can_write_encap(int encap);
#endif
/* Returns TRUE on success, FALSE on failure; sets "*err" to an error code on
failure */
-gboolean netmon_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err)
+gboolean netmon_dump_open(wtap_dumper *wdh, int *err)
{
netmon_dump_t *netmon;
- /* This is a NetMon file. We can't fill in some fields in the
- header until all the packets have been written, so we can't
- write to a pipe. */
- if (cant_seek) {
- *err = WTAP_ERR_CANT_WRITE_TO_PIPE;
- return FALSE;
- }
-
/* We can't fill in all the fields in the file header, as we
haven't yet written any packets. As we'll have to rewrite
the header when we've written out all the packets, we just
#define __NETMON_H__
int netmon_open(wtap *wth, int *err, gchar **err_info);
-gboolean netmon_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean netmon_dump_open(wtap_dumper *wdh, int *err);
int netmon_dump_can_write_encap(int encap);
#endif
/* Returns TRUE on success, FALSE on failure; sets "*err" to an error code on
** failure */
-gboolean nstrace_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err)
+gboolean nstrace_dump_open(wtap_dumper *wdh, int *err _U_)
{
nstrace_dump_t *nstrace;
- if (cant_seek)
- {
- *err = WTAP_ERR_CANT_WRITE_TO_PIPE;
- return FALSE;
- }
-
wdh->subtype_write = nstrace_dump;
nstrace = (nstrace_dump_t *)g_malloc(sizeof(nstrace_dump_t));
int nstrace_10_dump_can_write_encap(int encap);
int nstrace_20_dump_can_write_encap(int encap);
-gboolean nstrace_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean nstrace_dump_open(wtap_dumper *wdh, int *err);
#endif /* _NETSCALER_H */
/* Returns TRUE on success, FALSE on failure;
sets "*err" to an error code on failure */
-gboolean nettl_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err)
+gboolean nettl_dump_open(wtap_dumper *wdh, int *err)
{
struct nettl_file_hdr file_hdr;
#define NETTL_HDR_PDU_MASK 0x30000000
int nettl_open(wtap *wth, int *err, gchar **err_info);
-gboolean nettl_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err);
+gboolean nettl_dump_open(wtap_dumper *wdh, int *err);
int nettl_dump_can_write_encap(int encap);
#endif
/* Returns TRUE on success, FALSE on failure; sets "*err" to an error code on
failure. */
-gboolean network_instruments_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err)
+gboolean network_instruments_dump_open(wtap_dumper *wdh, int *err)
{
capture_file_header file_header;
tlv_header comment_header;
time_t system_time;
niobserver_dump_t *niobserver;
- if (cant_seek) {
- *err = WTAP_ERR_CANT_WRITE_TO_PIPE;
- return FALSE;
- }
-
wdh->subtype_write = observer_dump;
niobserver = (niobserver_dump_t *)g_malloc(sizeof(niobserver_dump_t));
int network_instruments_open(wtap *wth, int *err, gchar **err_info);
int network_instruments_dump_can_write_encap(int encap);
-gboolean network_instruments_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean network_instruments_dump_open(wtap_dumper *wdh, int *err);
typedef struct capture_file_header
{
/* Returns TRUE on success, FALSE on failure; sets "*err" to an error code on
failure */
-gboolean netxray_dump_open_1_1(wtap_dumper *wdh, gboolean cant_seek, int *err)
+gboolean netxray_dump_open_1_1(wtap_dumper *wdh, int *err)
{
netxray_dump_t *netxray;
- /* This is a NetXRay file. We can't fill in some fields in the header
- until all the packets have been written, so we can't write to a
- pipe. */
- if (cant_seek) {
- *err = WTAP_ERR_CANT_WRITE_TO_PIPE;
- return FALSE;
- }
-
wdh->subtype_write = netxray_dump_1_1;
wdh->subtype_close = netxray_dump_close_1_1;
/* Returns TRUE on success, FALSE on failure; sets "*err" to an error code on
failure */
-gboolean netxray_dump_open_2_0(wtap_dumper *wdh, gboolean cant_seek, int *err)
+gboolean netxray_dump_open_2_0(wtap_dumper *wdh, int *err)
{
netxray_dump_t *netxray;
- /* This is a NetXRay file. We can't fill in some fields in the header
- until all the packets have been written, so we can't write to a
- pipe. */
- if (cant_seek) {
- *err = WTAP_ERR_CANT_WRITE_TO_PIPE;
- return FALSE;
- }
-
wdh->subtype_write = netxray_dump_2_0;
wdh->subtype_close = netxray_dump_close_2_0;
int netxray_open(wtap *wth, int *err, gchar **err_info);
int netxray_dump_can_write_encap_1_1(int encap);
-gboolean netxray_dump_open_1_1(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean netxray_dump_open_1_1(wtap_dumper *wdh, int *err);
int netxray_dump_can_write_encap_2_0(int encap);
-gboolean netxray_dump_open_2_0(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean netxray_dump_open_2_0(wtap_dumper *wdh, int *err);
#endif
/* Returns TRUE on success, FALSE on failure; sets "*err" to an error code on
failure */
gboolean
-ngsniffer_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err)
+ngsniffer_dump_open(wtap_dumper *wdh, int *err)
{
ngsniffer_dump_t *ngsniffer;
char buf[6] = {REC_VERS, 0x00, 0x12, 0x00, 0x00, 0x00}; /* version record */
#define __NGSNIFFER_H__
int ngsniffer_open(wtap *wth, int *err, gchar **err_info);
-gboolean ngsniffer_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean ngsniffer_dump_open(wtap_dumper *wdh, int *err);
int ngsniffer_dump_can_write_encap(int encap);
#endif
/* Returns TRUE on success, FALSE on failure; sets "*err" to an error code on
failure */
gboolean
-pcapng_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err)
+pcapng_dump_open(wtap_dumper *wdh, int *err)
{
wtapng_block_t wblock;
pcapng_dump_t *pcapng;
#define __W_PCAPNG_H__
int pcapng_open(wtap *wth, int *err, gchar **err_info);
-gboolean pcapng_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean pcapng_dump_open(wtap_dumper *wdh, int *err);
int pcapng_dump_can_write_encap(int encap);
#endif
/* Returns TRUE on success, FALSE on failure; sets "*err" to an error code on
failure */
-gboolean snoop_dump_open(wtap_dumper *wdh, gboolean cant_seek _U_, int *err)
+gboolean snoop_dump_open(wtap_dumper *wdh, int *err)
{
struct snoop_hdr file_hdr;
#define __W_SNOOP_H__
int snoop_open(wtap *wth, int *err, gchar **err_info);
-gboolean snoop_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean snoop_dump_open(wtap_dumper *wdh, int *err);
int snoop_dump_can_write_encap(int encap);
#endif
/* Open a file for writing.
Returns TRUE on success, FALSE on failure; sets "*err" to an
error code on failure */
-gboolean visual_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err)
+gboolean visual_dump_open(wtap_dumper *wdh, int *err)
{
struct visual_write_info *visual;
- /* We can't fill in some fields in the header until all the packets
- have been written, so we can't write to a pipe. */
- if (cant_seek) {
- *err = WTAP_ERR_CANT_WRITE_TO_PIPE;
- return FALSE;
- }
-
/* Set the write routines for a visual file. */
wdh->subtype_write = visual_dump;
wdh->subtype_close = visual_dump_close;
#define __VISUAL_H__
int visual_open(wtap *wth, int *err, gchar **err_info);
-gboolean visual_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
+gboolean visual_dump_open(wtap_dumper *wdh, int *err);
int visual_dump_can_write_encap(int encap);
#endif
typedef struct wtap wtap;
typedef struct wtap_dumper wtap_dumper;
-/* XXX Should this be moved to wtap-int.h? It appears to be internal to wtap.c. */
struct file_type_info {
/* the file type name */
/* should be NULL for all "pseudo" types that are only internally used and not read/writeable */
/* should be NULL if no default extension is known */
const char *file_extension_default;
- /* can this type be compressed with gzip? */
- gboolean can_compress;
+ /* when writing this file format, is seeking required? */
+ gboolean writing_must_seek;
/* does this type support name resolution records? */
/* should be FALSE is this file type doesn't support name resolution records */
/* the function to open the capture file for writing */
/* should be NULL is this file type don't have write support */
- int (*dump_open)(wtap_dumper *, gboolean, int *);
+ int (*dump_open)(wtap_dumper *, int *);
};