Export libwiretap symbols using WS_DLL_PUBLIC define

TODO: hide flex-generated functions

svn path=/trunk/; revision=47948
This commit is contained in:
Balint Reczey 2013-02-28 19:35:59 +00:00
parent 6c29b9edd6
commit aa659985a5
58 changed files with 240 additions and 99 deletions

View File

@ -25,8 +25,11 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int _5views_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
gboolean _5views_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int _5views_dump_can_write_encap(int encap);
#endif

View File

@ -109,6 +109,10 @@ add_library(wiretap ${LINK_MODE_LIB}
set(FULL_SO_VERSION "0.0.0")
set_target_properties(wiretap PROPERTIES COMPILE_DEFINITIONS "WS_BUILD_DLL")
if(DEFINED COMPILE_HIDE_SYMBOLS)
set_target_properties(wiretap PROPERTIES COMPILE_FLAGS ${COMPILE_HIDE_SYMBOLS})
endif()
set_target_properties(wiretap PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}")
set_target_properties(wiretap PROPERTIES VERSION ${FULL_SO_VERSION} SOVERSION 0)
@ -125,7 +129,7 @@ configure_file(../abi-descriptor.template abi-descriptor.xml)
file(GLOB HEADERS *.h)
file(MAKE_DIRECTORY abi-check-headers)
file(COPY ${HEADERS} DESTINATION abi-check-headers)
file(COPY ${HEADERS} ../ws_symbol_export.h DESTINATION abi-check-headers)
add_custom_command(OUTPUT libwiretap.abi.tar.gz
COMMAND cp ../config.h abi-check-headers/

View File

@ -30,10 +30,12 @@ include Makefile.common
noinst_LTLIBRARIES = libwiretap_generated.la
lib_LTLIBRARIES = libwiretap.la
# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
libwiretap_la_LDFLAGS = -version-info 0:0:0 -export-symbols wtap.sym @LDFLAGS_SHAREDLIB@
libwiretap_la_LDFLAGS = -version-info 0:0:0 @LDFLAGS_SHAREDLIB@
AM_NON_GENERATED_CFLAGS =-DWS_BUILD_DLL @COMPILE_HIDE_SYMBOLS@
if HAVE_WARNINGS_AS_ERRORS
AM_NON_GENERATED_CFLAGS = -Werror
AM_NON_GENERATED_CFLAGS += -Werror
endif
INCLUDES = -I$(srcdir)/..
@ -43,7 +45,6 @@ CLEANFILES = \
libwiretap.la \
libwiretap_generated.a \
libwiretap_generated.la \
wtap.sym \
*~
MAINTAINERCLEANFILES = \
@ -68,12 +69,11 @@ EXTRA_DIST = \
Makefile.common \
Makefile.nmake \
libwiretap.vcproj \
wtap.def \
$(GENERATOR_FILES) \
$(GENERATED_FILES)
libwiretap_la_LIBADD = libwiretap_generated.la ${top_builddir}/wsutil/libwsutil.la $(GLIB_LIBS)
libwiretap_la_DEPENDENCIES = libwiretap_generated.la ${top_builddir}/wsutil/libwsutil.la wtap.sym
libwiretap_la_DEPENDENCIES = libwiretap_generated.la ${top_builddir}/wsutil/libwsutil.la
RUNLEX = $(top_srcdir)/tools/runlex.sh
@ -96,7 +96,7 @@ ascend.c ascend.h: ascend.y
dumpabi-libwiretap: all abi-descriptor.xml
rm -rf abi-check-headers abi_dumps .libs/*.abi.tar.gz
mkdir abi-check-headers
cp *.h abi-check-headers/
cp *.h ../ws_symbol_export.h abi-check-headers/
abi-compliance-checker -l libwiretap -v1 `readlink .libs/libwiretap.so | sed 's/.*\.so\.//'` \
-relpath $(abs_srcdir) -dump-abi abi-descriptor.xml || \
cat logs/libwiretap/[0-9]*/log.txt

View File

@ -32,10 +32,10 @@ all: wiretap-$(WTAP_VERSION).dll
wiretap-$(WTAP_VERSION).lib: wiretap-$(WTAP_VERSION).dll
wiretap-$(WTAP_VERSION).exp: wiretap-$(WTAP_VERSION).dll
wiretap-$(WTAP_VERSION).dll : $(OBJECTS) wtap.def ..\image\wiretap.res
wiretap-$(WTAP_VERSION).dll : $(OBJECTS) ..\image\wiretap.res
$(link) $(dlllflags) $(conlibsdll) \
$(LOCAL_LDFLAGS) $(DLL_LDFLAGS) \
/DEF:wtap.def /OUT:wiretap-$(WTAP_VERSION).dll \
/OUT:wiretap-$(WTAP_VERSION).dll \
/IMPLIB:wiretap-$(WTAP_VERSION).lib \
..\image\wiretap.res \
$(OBJECTS) $(wiretap_LIBS)

View File

@ -26,6 +26,7 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int aethra_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -31,6 +31,7 @@
#endif
#include <glib.h>
#include "ws_symbol_export.h"
typedef struct {
time_t start_time;
@ -50,15 +51,19 @@ extern const gchar *ascend_parse_error;
extern struct ascend_phdr *pseudo_header;
/* Here we provide interfaces to make our scanner act and look like lex */
WS_DLL_LOCAL
int ascendlex(void);
WS_DLL_LOCAL
void init_parse_ascend(void);
WS_DLL_LOCAL
void ascend_init_lexer(FILE_T fh);
typedef enum {
PARSED_RECORD,
PARSED_NONRECORD,
PARSE_FAILED
} parse_t;
WS_DLL_LOCAL
parse_t parse_ascend(FILE_T fh, guint8 *pd, struct ascend_phdr *phdr,
ascend_pkthdr *hdr, gint64 *start_of_data);

View File

@ -29,6 +29,7 @@
#define ASCEND_MAX_DATA_COLS 16
#define ASCEND_MAX_PKT_LEN (ASCEND_MAX_DATA_ROWS * ASCEND_MAX_DATA_COLS)
WS_DLL_LOCAL
int ascend_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -23,6 +23,7 @@
#ifndef __ATM_H__
#define __ATM_H__
#include <glib.h>
#include "ws_symbol_export.h"
/*
* Routines to use with ATM capture file types that don't include information
@ -30,10 +31,12 @@
* that information).
*/
WS_DLL_LOCAL
extern void
atm_guess_traffic_type(const guint8 *pd, guint32 len,
union wtap_pseudo_header *pseudo_header);
WS_DLL_LOCAL
extern void
atm_guess_lane_type(const guint8 *pd, guint32 len,
union wtap_pseudo_header *pseudo_header);

View File

@ -23,7 +23,9 @@
#ifndef __BER_H__
#define __BER_H__
#include <glib.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int ber_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -23,10 +23,15 @@
#ifndef __W_BTSNOOP_H__
#define __W_BTSNOOP_H__
#include <glib.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int btsnoop_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
gboolean btsnoop_dump_open_h1(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
gboolean btsnoop_dump_open_h4(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int btsnoop_dump_can_write_encap(int encap);
#endif

View File

@ -23,7 +23,9 @@
#ifndef __W_BUFFER_H__
#define __W_BUFFER_H__
#include <glib.h>
#include "ws_symbol_export.h"
#define SOME_FUNCTIONS_ARE_DEFINES
@ -34,10 +36,15 @@ typedef struct Buffer {
gsize first_free;
} Buffer;
WS_DLL_PUBLIC
void buffer_init(Buffer* buffer, gsize space);
WS_DLL_PUBLIC
void buffer_free(Buffer* buffer);
WS_DLL_PUBLIC
void buffer_assure_space(Buffer* buffer, gsize space);
WS_DLL_PUBLIC
void buffer_append(Buffer* buffer, guint8 *from, gsize bytes);
WS_DLL_PUBLIC
void buffer_remove_start(Buffer* buffer, gsize bytes);
#ifdef SOME_FUNCTIONS_ARE_DEFINES

View File

@ -24,8 +24,13 @@
#define __W_CAT_DCT2K_H__
#include <glib.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int catapult_dct2000_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
gboolean catapult_dct2000_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int catapult_dct2000_dump_can_write_encap(int encap);
#define DCT2000_ENCAP_UNHANDLED 0

View File

@ -25,9 +25,13 @@
#ifndef __COMMVIEW_H__
#define __COMMVIEW_H__
#include <glib.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int commview_open(wtap *wth, int *err, gchar **err_info _U_);
WS_DLL_LOCAL
int commview_dump_can_write_encap(int encap);
WS_DLL_LOCAL
gboolean commview_dump_open(wtap_dumper *wdh, int *err);
#endif /* __COMMVIEW_H__ */

View File

@ -28,7 +28,9 @@
#define __W_COSINE_H__
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int cosine_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -25,7 +25,9 @@
#define __CSIDS_H__
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int csids_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -27,7 +27,9 @@
#define __DAINTREE_SNA_H__
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int daintree_sna_open(wtap *wth, int *err, gchar **err_info _U_);
#endif /* __DAINTREE_SNA_H__ */

View File

@ -25,7 +25,9 @@
#define __W_DBS_ETHERWATCH_H__
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int dbs_etherwatch_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -24,7 +24,9 @@
#define __W_DCT3TRACE_H__
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int dct3trace_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -40,6 +40,7 @@
#include <glib.h>
#include <wiretap/wtap.h>
#include "ws_symbol_export.h"
/* Record type defines */
#define ERF_TYPE_LEGACY 0
@ -104,10 +105,14 @@ union erf_subhdr {
#define RECORDS_FOR_ERF_CHECK 20
#define FCS_BITS 32
WS_DLL_LOCAL
int erf_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
int erf_dump_can_write_encap(int encap);
WS_DLL_LOCAL
int erf_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int erf_populate_interfaces(wtap *wth);
#endif /* __W_ERF_H__ */

View File

@ -26,7 +26,9 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int eyesdn_open(wtap *wth, int *err, gchar **err_info);
enum EyeSDN_TYPES {
@ -41,7 +43,9 @@ enum EyeSDN_TYPES {
EYESDN_ENCAP_V5_EF
};
WS_DLL_LOCAL
gboolean eyesdn_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int eyesdn_dump_can_write_encap(int encap);
#endif

View File

@ -26,34 +26,59 @@
#include <glib.h>
#include <wtap.h>
#include <wsutil/file_util.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
extern FILE_T file_open(const char *path);
WS_DLL_LOCAL
extern FILE_T file_fdopen(int fildes);
WS_DLL_LOCAL
extern void file_set_random_access(FILE_T stream, gboolean random_flag, GPtrArray *seek);
WS_DLL_PUBLIC
extern gint64 file_seek(FILE_T stream, gint64 offset, int whence, int *err);
WS_DLL_LOCAL
extern gint64 file_skip(FILE_T file, gint64 delta, int *err);
WS_DLL_PUBLIC
extern gint64 file_tell(FILE_T stream);
WS_DLL_LOCAL
extern gint64 file_tell_raw(FILE_T stream);
WS_DLL_LOCAL
extern int file_fstat(FILE_T stream, ws_statb64 *statb, int *err);
WS_DLL_LOCAL
extern gboolean file_iscompressed(FILE_T stream);
WS_DLL_PUBLIC
extern int file_read(void *buf, unsigned int count, FILE_T file);
WS_DLL_PUBLIC
extern int file_getc(FILE_T stream);
WS_DLL_PUBLIC
extern char *file_gets(char *buf, int len, FILE_T stream);
WS_DLL_PUBLIC
extern int file_eof(FILE_T stream);
WS_DLL_PUBLIC
extern int file_error(FILE_T fh, gchar **err_info);
WS_DLL_LOCAL
extern void file_clearerr(FILE_T stream);
WS_DLL_LOCAL
extern void file_fdclose(FILE_T file);
WS_DLL_LOCAL
extern int file_fdreopen(FILE_T file, const char *path);
WS_DLL_LOCAL
extern void file_close(FILE_T file);
#ifdef HAVE_LIBZ
typedef struct wtap_writer *GZWFILE_T;
WS_DLL_LOCAL
extern GZWFILE_T gzwfile_open(const char *path);
WS_DLL_LOCAL
extern GZWFILE_T gzwfile_fdopen(int fd);
WS_DLL_LOCAL
extern guint gzwfile_write(GZWFILE_T state, const void *buf, guint len);
WS_DLL_LOCAL
extern int gzwfile_flush(GZWFILE_T state);
WS_DLL_LOCAL
extern int gzwfile_close(GZWFILE_T state);
WS_DLL_LOCAL
extern int gzwfile_geterr(GZWFILE_T state);
#endif /* HAVE_LIBZ */

View File

@ -25,7 +25,9 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int hcidump_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -26,7 +26,9 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int i4btrace_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -25,7 +25,9 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int ipfix_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -27,6 +27,7 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int iptrace_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -26,6 +26,7 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int iseries_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -26,11 +26,17 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int k12_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
int k12_dump_can_write_encap(int encap);
WS_DLL_LOCAL
gboolean k12_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int k12text_open(wtap *wth, int *err, gchar **err_info _U_);
WS_DLL_LOCAL
int k12text_dump_can_write_encap(int encap);
WS_DLL_LOCAL
gboolean k12text_dump_open(wtap_dumper *wdh, int *err);
#endif

View File

@ -26,8 +26,11 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int lanalyzer_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
gboolean lanalyzer_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int lanalyzer_dump_can_write_encap(int encap);
#endif

View File

@ -25,6 +25,7 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
/* Magic numbers in "libpcap" files.
@ -101,8 +102,11 @@ struct pcaprec_nokia_hdr {
guint8 stuff[4]; /* mysterious stuff */
};
WS_DLL_LOCAL
int libpcap_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
gboolean libpcap_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int libpcap_dump_can_write_encap(int encap);
#endif

View File

@ -61,7 +61,7 @@
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
Filter="cpp;c;cc;cxx;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
@ -435,10 +435,6 @@
RelativePath=".\runlex.sh"
>
</File>
<File
RelativePath=".\wtap.def"
>
</File>
</Files>
<Globals>
</Globals>

View File

@ -26,6 +26,7 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int mime_file_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -28,6 +28,7 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int mp2t_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -28,6 +28,7 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int mpeg_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -26,9 +26,13 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int netmon_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
gboolean netmon_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int netmon_dump_can_write_encap_1_x(int encap);
WS_DLL_LOCAL
int netmon_dump_can_write_encap_2_x(int encap);
#endif

View File

@ -95,10 +95,14 @@
#define NSPR_HEADER_VERSION203 0x23
#define NSPR_HEADER_VERSION204 0x24
#define NSPR_HEADER_VERSION205 0x25
WS_DLL_LOCAL
int nstrace_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
int nstrace_10_dump_can_write_encap(int encap);
WS_DLL_LOCAL
int nstrace_20_dump_can_write_encap(int encap);
WS_DLL_LOCAL
gboolean nstrace_dump_open(wtap_dumper *wdh, int *err);

View File

@ -51,6 +51,7 @@
#define NETSCREEN_MAX_PACKET_LEN 65536
WS_DLL_LOCAL
int netscreen_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -128,8 +128,11 @@
#define NETTL_HDR_PDU_MASK 0x30000000
WS_DLL_LOCAL
int nettl_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
gboolean nettl_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int nettl_dump_can_write_encap(int encap);
#endif

View File

@ -25,8 +25,11 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int network_instruments_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
int network_instruments_dump_can_write_encap(int encap);
WS_DLL_LOCAL
gboolean network_instruments_dump_open(wtap_dumper *wdh, int *err);
/*

View File

@ -26,10 +26,15 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int netxray_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
int netxray_dump_can_write_encap_1_1(int encap);
WS_DLL_LOCAL
gboolean netxray_dump_open_1_1(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int netxray_dump_can_write_encap_2_0(int encap);
WS_DLL_LOCAL
gboolean netxray_dump_open_2_0(wtap_dumper *wdh, int *err);
#endif

View File

@ -26,8 +26,11 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int ngsniffer_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
gboolean ngsniffer_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int ngsniffer_dump_can_write_encap(int encap);
#endif

View File

@ -29,6 +29,7 @@
#include <glib.h>
#include <wtap.h>
WS_DLL_LOCAL
int packetlogger_open(wtap *wth, int *err, gchar **err_info _U_);
#endif /* __PACKETLOGGER_H__ */

View File

@ -29,18 +29,23 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
extern int pcap_process_pseudo_header(FILE_T fh, int file_type, int wtap_encap,
guint packet_size, gboolean check_packet_size, struct wtap_pkthdr *phdr,
union wtap_pseudo_header *pseudo_header, int *err, gchar **err_info);
WS_DLL_LOCAL
extern void pcap_read_post_process(int file_type, int wtap_encap,
union wtap_pseudo_header *pseudo_header,
guint8 *pd, guint packet_size, gboolean bytes_swapped, int fcs_len);
WS_DLL_LOCAL
extern int pcap_get_phdr_size(int encap,
const union wtap_pseudo_header *pseudo_header);
WS_DLL_LOCAL
extern gboolean pcap_write_phdr(wtap_dumper *wdh, int wtap_encap,
const union wtap_pseudo_header *pseudo_header, int *err);

View File

@ -34,8 +34,11 @@
extern "C" {
#endif /* __cplusplus */
WS_DLL_PUBLIC
extern int wtap_pcap_encap_to_wtap_encap(int encap);
WS_DLL_PUBLIC
extern int wtap_wtap_encap_to_pcap_encap(int encap);
WS_DLL_PUBLIC
extern gboolean wtap_encap_requires_phdr(int encap);
#ifdef __cplusplus

View File

@ -25,9 +25,13 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int pcapng_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
gboolean pcapng_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int pcapng_dump_can_write_encap(int encap);
#endif

View File

@ -26,7 +26,9 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int peekclassic_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -23,7 +23,9 @@
#ifndef __W_PEEKTAGGED_H__
#define __W_PEEKTAGGED_H__
#include <glib.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int peektagged_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -25,7 +25,9 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int pppdump_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -26,7 +26,9 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int radcom_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -25,9 +25,13 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int snoop_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
gboolean snoop_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int snoop_dump_can_write_encap(int encap);
#endif

View File

@ -25,9 +25,11 @@
#include <glib.h>
#include <wiretap/wtap.h>
#include "ws_symbol_export.h"
#define TNEF_SIGNATURE 0x223E9F78
WS_DLL_LOCAL
int tnef_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -25,7 +25,9 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int toshiba_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -30,9 +30,13 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int visual_open(wtap *wth, int *err, gchar **err_info);
WS_DLL_LOCAL
gboolean visual_dump_open(wtap_dumper *wdh, int *err);
WS_DLL_LOCAL
int visual_dump_can_write_encap(int encap);
#endif

View File

@ -26,7 +26,9 @@
#include <glib.h>
#include <wtap.h>
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int vms_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -24,6 +24,9 @@
#ifndef __VWR_H__
#define __VWR_H__
#include "ws_symbol_export.h"
WS_DLL_LOCAL
int vwr_open(wtap *wth, int *err, gchar **err_info);
#endif

View File

@ -39,6 +39,7 @@
#include "wtap.h"
WS_DLL_PUBLIC
int wtap_fstat(wtap *wth, ws_statb64 *statb, int *err);
typedef gboolean (*subtype_read_func)(struct wtap*, int*, char**, gint64*);
@ -112,12 +113,14 @@ struct wtap_dumper {
GArray *interface_data; /**< An array holding the interface data from pcapng IDB:s or equivalent(?) NULL if not present.*/
};
extern gboolean wtap_dump_file_write(wtap_dumper *wdh, const void *buf,
WS_DLL_LOCAL
gboolean wtap_dump_file_write(wtap_dumper *wdh, const void *buf,
size_t bufsize, int *err);
extern gint64 wtap_dump_file_seek(wtap_dumper *wdh, gint64 offset, int whence, int *err);
extern gint64 wtap_dump_file_tell(wtap_dumper *wdh);
WS_DLL_LOCAL
extern gint wtap_num_file_types;
/* Macros to byte-swap 64-bit, 32-bit and 16-bit quantities. */
@ -363,6 +366,7 @@ extern gint wtap_num_file_types;
#endif
/*** get GSList of all compressed file extensions ***/
WS_DLL_LOCAL
GSList *wtap_get_compressed_file_extensions(void);
#endif /* __WTAP_INT_H__ */

View File

@ -601,6 +601,7 @@ static struct encap_type_info encap_table_base[] = {
{ "SCTP", "sctp" },
};
WS_DLL_LOCAL
gint wtap_num_encap_types = sizeof(encap_table_base) / sizeof(struct encap_type_info);
static GArray* encap_table_arr = NULL;
static const struct encap_type_info* encap_table = NULL;

View File

@ -1,84 +0,0 @@
; wtap.def
; $Id$
; Add symbols that should be exported out of libwiretap.dll
;
; DATA symbols must be declared WS_VAR_IMPORT in the header file!
;
; NOTE: TABS DON'T WORK IN THIS FILE, USE SPACES INSTEAD!!!
;
EXPORTS
buffer_assure_space
buffer_append
buffer_free
buffer_init
buffer_remove_start
file_eof
file_error
file_getc
file_gets
file_seek
file_read
file_tell
wtap_buf_ptr
wtap_cleareof
wtap_close
wtap_default_file_extension
wtap_dump
wtap_dump_can_open
wtap_dump_can_write_encap
wtap_dump_can_write_encaps
wtap_dump_can_compress
wtap_dump_close
wtap_dump_fdopen
wtap_dump_fdopen_ng
wtap_dump_file_encap_type
wtap_dump_flush
wtap_dump_open
wtap_dump_open_ng
wtap_dump_set_addrinfo_list
wtap_encap_requires_phdr
wtap_encap_short_string
wtap_encap_string
wtap_fdclose
wtap_fdreopen
wtap_file_encap
wtap_get_savable_file_types
wtap_get_file_extensions_list
wtap_free_file_extensions_list
wtap_file_get_idb_info
wtap_file_get_shb_info
wtap_file_size
wtap_file_tsprecision
wtap_file_type
wtap_file_type_short_string
wtap_file_type_string
wtap_fstat
wtap_get_bytes_dumped
wtap_get_num_encap_types
wtap_get_num_file_types
wtap_iscompressed
wtap_open_offline
wtap_pcap_encap_to_wtap_encap
wtap_phdr
wtap_read
wtap_read_so_far
wtap_register_encap_type
wtap_register_file_type
wtap_register_open_routine
wtap_seek_read
wtap_sequential_close
wtap_set_bytes_dumped
wtap_set_cb_new_ipv4
wtap_set_cb_new_ipv6
wtap_short_string_to_encap
wtap_short_string_to_file_type
wtap_snapshot_length
wtap_strerror
wtap_write_shb_comment
wtap_wtap_encap_to_pcap_encap

View File

@ -29,6 +29,7 @@
#include <glib.h>
#include <time.h>
#include "ws_symbol_export.h"
#ifdef __cplusplus
extern "C" {
@ -1052,6 +1053,7 @@ typedef int (*wtap_open_routine_t)(struct wtap*, int *, char **);
* @param do_random TRUE if random access to the file will be done,
* FALSE if not
*/
WS_DLL_PUBLIC
struct wtap* wtap_open_offline(const char *filename, int *err,
gchar **err_info, gboolean do_random);
@ -1060,6 +1062,7 @@ struct wtap* wtap_open_offline(const char *filename, int *err,
* wtap_read/gzread has a chance to succeed. This is necessary if
* we're tailing a file.
*/
WS_DLL_PUBLIC
void wtap_cleareof(wtap *wth);
/**
@ -1067,88 +1070,124 @@ void wtap_cleareof(wtap *wth);
* MUST match add_ipv4_name and add_ipv6_name in addr_resolv.c.
*/
typedef void (*wtap_new_ipv4_callback_t) (const guint addr, const gchar *name);
WS_DLL_PUBLIC
void wtap_set_cb_new_ipv4(wtap *wth, wtap_new_ipv4_callback_t add_new_ipv4);
typedef void (*wtap_new_ipv6_callback_t) (const void *addrp, const gchar *name);
WS_DLL_PUBLIC
void wtap_set_cb_new_ipv6(wtap *wth, wtap_new_ipv6_callback_t add_new_ipv6);
/** Returns TRUE if read was successful. FALSE if failure. data_offset is
* set to the offset in the file where the data for the read packet is
* located. */
WS_DLL_PUBLIC
gboolean wtap_read(wtap *wth, int *err, gchar **err_info,
gint64 *data_offset);
WS_DLL_PUBLIC
gboolean wtap_seek_read (wtap *wth, gint64 seek_off,
struct wtap_pkthdr *phdr, guint8 *pd, int len,
int *err, gchar **err_info);
/*** get various information snippets about the current packet ***/
WS_DLL_PUBLIC
struct wtap_pkthdr *wtap_phdr(wtap *wth);
WS_DLL_PUBLIC
guint8 *wtap_buf_ptr(wtap *wth);
/*** get various information snippets about the current file ***/
/** Return an approximation of the amount of data we've read sequentially
* from the file so far. */
WS_DLL_PUBLIC
gint64 wtap_read_so_far(wtap *wth);
WS_DLL_PUBLIC
gint64 wtap_file_size(wtap *wth, int *err);
WS_DLL_PUBLIC
gboolean wtap_iscompressed(wtap *wth);
WS_DLL_PUBLIC
guint wtap_snapshot_length(wtap *wth); /* per file */
WS_DLL_PUBLIC
int wtap_file_type(wtap *wth);
WS_DLL_PUBLIC
int wtap_file_encap(wtap *wth);
WS_DLL_PUBLIC
int wtap_file_tsprecision(wtap *wth);
WS_DLL_PUBLIC
wtapng_section_t* wtap_file_get_shb_info(wtap *wth);
WS_DLL_PUBLIC
wtapng_iface_descriptions_t *wtap_file_get_idb_info(wtap *wth);
WS_DLL_PUBLIC
void wtap_write_shb_comment(wtap *wth, gchar *comment);
/*** close the file descriptors for the current file ***/
WS_DLL_PUBLIC
void wtap_fdclose(wtap *wth);
/*** reopen the random file descriptor for the current file ***/
WS_DLL_PUBLIC
gboolean wtap_fdreopen(wtap *wth, const char *filename, int *err);
/*** close the current file ***/
WS_DLL_PUBLIC
void wtap_sequential_close(wtap *wth);
WS_DLL_PUBLIC
void wtap_close(wtap *wth);
/*** dump packets into a capture file ***/
WS_DLL_PUBLIC
gboolean wtap_dump_can_open(int filetype);
WS_DLL_PUBLIC
gboolean wtap_dump_can_write_encap(int filetype, int encap);
/**
* Given a GArray of WTAP_ENCAP_ types, return the per-file encapsulation
* type that would be needed to write out a file with those types.
*/
WS_DLL_PUBLIC
int wtap_dump_file_encap_type(const GArray *file_encaps);
/**
* Return TRUE if a capture with a given GArray of WTAP_ENCAP_ types
* can be written in a specified format, and FALSE if it can't.
*/
WS_DLL_PUBLIC
gboolean wtap_dump_can_write_encaps(int ft, const GArray *file_encaps);
WS_DLL_PUBLIC
gboolean wtap_dump_can_compress(int filetype);
WS_DLL_LOCAL
gboolean wtap_dump_has_name_resolution(int filetype);
WS_DLL_PUBLIC
wtap_dumper* wtap_dump_open(const char *filename, int filetype, int encap,
int snaplen, gboolean compressed, int *err);
WS_DLL_PUBLIC
wtap_dumper* wtap_dump_open_ng(const char *filename, int filetype, int encap,
int snaplen, gboolean compressed, wtapng_section_t *shb_hdr, wtapng_iface_descriptions_t *idb_inf, int *err);
WS_DLL_PUBLIC
wtap_dumper* wtap_dump_fdopen(int fd, int filetype, int encap, int snaplen,
gboolean compressed, int *err);
WS_DLL_PUBLIC
wtap_dumper* wtap_dump_fdopen_ng(int fd, int filetype, int encap, int snaplen,
gboolean compressed, wtapng_section_t *shb_hdr, wtapng_iface_descriptions_t *idb_inf, int *err);
WS_DLL_PUBLIC
gboolean wtap_dump(wtap_dumper *, const struct wtap_pkthdr *, const guint8 *, int *err);
WS_DLL_PUBLIC
void wtap_dump_flush(wtap_dumper *);
WS_DLL_PUBLIC
gint64 wtap_get_bytes_dumped(wtap_dumper *);
WS_DLL_PUBLIC
void wtap_set_bytes_dumped(wtap_dumper *wdh, gint64 bytes_dumped);
struct addrinfo;
WS_DLL_PUBLIC
gboolean wtap_dump_set_addrinfo_list(wtap_dumper *wdh, struct addrinfo *addrinfo_list);
WS_DLL_PUBLIC
gboolean wtap_dump_close(wtap_dumper *, int *);
/**
@ -1156,31 +1195,47 @@ gboolean wtap_dump_close(wtap_dumper *, int *);
* to save a file of a given type with a given GArray of WTAP_ENCAP_
* types.
*/
WS_DLL_PUBLIC
GArray *wtap_get_savable_file_types(int file_type, const GArray *file_encaps);
/*** various string converter functions ***/
WS_DLL_PUBLIC
const char *wtap_file_type_string(int filetype);
WS_DLL_PUBLIC
const char *wtap_file_type_short_string(int filetype);
WS_DLL_PUBLIC
int wtap_short_string_to_file_type(const char *short_name);
/*** various file extension functions ***/
WS_DLL_PUBLIC
const char *wtap_default_file_extension(int filetype);
WS_DLL_PUBLIC
GSList *wtap_get_file_extensions_list(int filetype, gboolean include_compressed);
WS_DLL_PUBLIC
void wtap_free_file_extensions_list(GSList *extensions);
WS_DLL_PUBLIC
const char *wtap_encap_string(int encap);
WS_DLL_PUBLIC
const char *wtap_encap_short_string(int encap);
WS_DLL_PUBLIC
int wtap_short_string_to_encap(const char *short_name);
WS_DLL_PUBLIC
const char *wtap_strerror(int err);
/*** get available number of file types and encapsulations ***/
WS_DLL_PUBLIC
int wtap_get_num_encap_types(void);
WS_DLL_PUBLIC
int wtap_get_num_file_types(void);
/*** dynamically register new file types and encapsulations ***/
WS_DLL_PUBLIC
void wtap_register_open_routine(wtap_open_routine_t, gboolean has_magic);
WS_DLL_PUBLIC
int wtap_register_file_type(const struct file_type_info* fi);
WS_DLL_PUBLIC
int wtap_register_encap_type(const char* name, const char* short_name);