aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap
diff options
context:
space:
mode:
authorBalint Reczey <balint@balintreczey.hu>2013-02-28 21:11:32 +0000
committerBalint Reczey <balint@balintreczey.hu>2013-02-28 21:11:32 +0000
commitccc76ff07f095ed94b45344c662262786e4f0661 (patch)
treef9e5d8912c8e273959a76590c51fc7b8cb33e759 /wiretap
parent969ec935fabc5768d4e495a40e3892e2545e8e41 (diff)
Fix MSVC build errors related to symbol visibility
svn path=/trunk/; revision=47952
Diffstat (limited to 'wiretap')
-rw-r--r--wiretap/buffer.c5
-rw-r--r--wiretap/file_access.c30
-rw-r--r--wiretap/pcap-common.c3
-rw-r--r--wiretap/wtap.c27
4 files changed, 65 insertions, 0 deletions
diff --git a/wiretap/buffer.c b/wiretap/buffer.c
index e6df387af1..52bd63921e 100644
--- a/wiretap/buffer.c
+++ b/wiretap/buffer.c
@@ -30,6 +30,7 @@
#include "buffer.h"
/* Initializes a buffer with a certain amount of allocated space */
+WS_DLL_PUBLIC
void buffer_init(Buffer* buffer, gsize space)
{
buffer->data = (guint8*)g_malloc(space);
@@ -39,6 +40,7 @@ void buffer_init(Buffer* buffer, gsize space)
}
/* Frees the memory used by a buffer, and the buffer struct */
+WS_DLL_PUBLIC
void buffer_free(Buffer* buffer)
{
g_free(buffer->data);
@@ -48,6 +50,7 @@ void buffer_free(Buffer* buffer)
so that another routine can copy directly into the buffer space. After
doing that, the routine will also want to run
buffer_increase_length(). */
+WS_DLL_PUBLIC
void buffer_assure_space(Buffer* buffer, gsize space)
{
gsize available_at_end = buffer->allocated - buffer->first_free;
@@ -85,6 +88,7 @@ void buffer_assure_space(Buffer* buffer, gsize space)
buffer->data = (guint8*)g_realloc(buffer->data, buffer->allocated);
}
+WS_DLL_PUBLIC
void buffer_append(Buffer* buffer, guint8 *from, gsize bytes)
{
buffer_assure_space(buffer, bytes);
@@ -92,6 +96,7 @@ void buffer_append(Buffer* buffer, guint8 *from, gsize bytes)
buffer->first_free += bytes;
}
+WS_DLL_PUBLIC
void buffer_remove_start(Buffer* buffer, gsize bytes)
{
if (buffer->start + bytes > buffer->first_free) {
diff --git a/wiretap/file_access.c b/wiretap/file_access.c
index c63f538c2f..23662a9379 100644
--- a/wiretap/file_access.c
+++ b/wiretap/file_access.c
@@ -186,6 +186,7 @@ static void init_open_routines(void) {
open_routines = (wtap_open_routine_t*)(void *)open_routines_arr->data;
}
+WS_DLL_PUBLIC
void wtap_register_open_routine(wtap_open_routine_t open_routine, gboolean has_magic) {
init_open_routines();
@@ -223,6 +224,7 @@ void wtap_register_open_routine(wtap_open_routine_t open_routine, gboolean has_m
so that it can do sequential I/O to a capture file that's being
written to as new packets arrive independently of random I/O done
to display protocol trees for packets when they're selected. */
+WS_DLL_PUBLIC
wtap* wtap_open_offline(const char *filename, int *err, char **err_info,
gboolean do_random)
{
@@ -436,6 +438,7 @@ success:
* reopens the random stream.
*/
gboolean
+WS_DLL_PUBLIC
wtap_fdreopen(wtap *wth, const char *filename, int *err)
{
ws_statb64 statb;
@@ -764,6 +767,7 @@ static void init_file_types(void) {
dump_open_table = (const struct file_type_info*)(void *)dump_open_table_arr->data;
}
+WS_DLL_PUBLIC
int wtap_register_file_type(const struct file_type_info* fi) {
init_file_types();
@@ -774,6 +778,7 @@ int wtap_register_file_type(const struct file_type_info* fi) {
return wtap_num_file_types++;
}
+WS_DLL_PUBLIC
int wtap_get_num_file_types(void)
{
return wtap_num_file_types;
@@ -785,6 +790,7 @@ int wtap_get_num_file_types(void)
* there's only one type, it's that type, otherwise it's
* WTAP_ENCAP_PER_PACKET.
*/
+WS_DLL_PUBLIC
int
wtap_dump_file_encap_type(const GArray *file_encaps)
{
@@ -802,6 +808,7 @@ 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)
{
@@ -842,6 +849,7 @@ wtap_dump_can_write_encaps(int ft, const GArray *file_encaps)
* 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)
{
@@ -910,6 +918,7 @@ wtap_get_savable_file_types(int file_type, const GArray *file_encaps)
}
/* Name that should be somewhat descriptive. */
+WS_DLL_PUBLIC
const char *wtap_file_type_string(int filetype)
{
if (filetype < 0 || filetype >= wtap_num_file_types) {
@@ -921,6 +930,7 @@ const char *wtap_file_type_string(int filetype)
}
/* Name to use in, say, a command-line flag specifying the type. */
+WS_DLL_PUBLIC
const char *wtap_file_type_short_string(int filetype)
{
if (filetype < 0 || filetype >= wtap_num_file_types)
@@ -930,6 +940,7 @@ const char *wtap_file_type_short_string(int filetype)
}
/* Translate a short name to a capture file type. */
+WS_DLL_PUBLIC
int wtap_short_string_to_file_type(const char *short_name)
{
int filetype;
@@ -975,6 +986,7 @@ static GSList *add_extensions(GSList *extensions, const gchar *extension,
All strings in the list are allocated with g_malloc() and must be freed
with g_free(). */
+WS_DLL_PUBLIC
GSList *wtap_get_file_extensions_list(int filetype, gboolean include_compressed)
{
gchar **extensions_set, **extensionp;
@@ -1041,6 +1053,7 @@ GSList *wtap_get_file_extensions_list(int filetype, gboolean include_compressed)
/*
* Free a list returned by wtap_file_extensions_list().
*/
+WS_DLL_PUBLIC
void wtap_free_file_extensions_list(GSList *extensions)
{
GSList *extension;
@@ -1054,6 +1067,7 @@ void wtap_free_file_extensions_list(GSList *extensions)
/* Return the default file extension to use with the specified file type;
that's just the extension, without any ".". */
+WS_DLL_PUBLIC
const char *wtap_default_file_extension(int filetype)
{
if (filetype < 0 || filetype >= wtap_num_file_types)
@@ -1062,6 +1076,7 @@ const char *wtap_default_file_extension(int filetype)
return dump_open_table[filetype].default_file_extension;
}
+WS_DLL_PUBLIC
gboolean wtap_dump_can_open(int filetype)
{
if (filetype < 0 || filetype >= wtap_num_file_types
@@ -1071,6 +1086,7 @@ gboolean wtap_dump_can_open(int filetype)
return TRUE;
}
+WS_DLL_PUBLIC
gboolean wtap_dump_can_write_encap(int filetype, int encap)
{
if (filetype < 0 || filetype >= wtap_num_file_types
@@ -1084,6 +1100,7 @@ gboolean wtap_dump_can_write_encap(int filetype, int encap)
}
#ifdef HAVE_LIBZ
+WS_DLL_PUBLIC
gboolean wtap_dump_can_compress(int filetype)
{
/*
@@ -1098,12 +1115,14 @@ gboolean wtap_dump_can_compress(int filetype)
return TRUE;
}
#else
+WS_DLL_PUBLIC
gboolean wtap_dump_can_compress(int filetype _U_)
{
return FALSE;
}
#endif
+WS_DLL_LOCAL
gboolean wtap_dump_has_name_resolution(int filetype)
{
if (filetype < 0 || filetype >= wtap_num_file_types
@@ -1122,6 +1141,7 @@ static WFILE_T wtap_dump_file_open(wtap_dumper *wdh, const char *filename);
static WFILE_T wtap_dump_file_fdopen(wtap_dumper *wdh, int fd);
static int wtap_dump_file_close(wtap_dumper *wdh);
+WS_DLL_PUBLIC
wtap_dumper* wtap_dump_open(const char *filename, int filetype, int encap,
int snaplen, gboolean compressed, int *err)
{
@@ -1171,6 +1191,7 @@ wtap_dump_init_dumper(int filetype, int encap, int snaplen, gboolean compressed,
return wdh;
}
+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)
{
@@ -1230,12 +1251,14 @@ wtap_dumper* wtap_dump_open_ng(const char *filename, int filetype, int encap,
return wdh;
}
+WS_DLL_PUBLIC
wtap_dumper* wtap_dump_fdopen(int fd, int filetype, int encap, int snaplen,
gboolean compressed, int *err)
{
return wtap_dump_fdopen_ng(fd, filetype, encap, snaplen, compressed, NULL, NULL, 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)
{
@@ -1363,12 +1386,14 @@ static gboolean wtap_dump_open_finish(wtap_dumper *wdh, int filetype, gboolean c
return TRUE; /* success! */
}
+WS_DLL_PUBLIC
gboolean wtap_dump(wtap_dumper *wdh, const struct wtap_pkthdr *phdr,
const guint8 *pd, int *err)
{
return (wdh->subtype_write)(wdh, phdr, pd, err);
}
+WS_DLL_PUBLIC
void wtap_dump_flush(wtap_dumper *wdh)
{
#ifdef HAVE_LIBZ
@@ -1381,6 +1406,7 @@ void wtap_dump_flush(wtap_dumper *wdh)
}
}
+WS_DLL_PUBLIC
gboolean wtap_dump_close(wtap_dumper *wdh, int *err)
{
gboolean ret = TRUE;
@@ -1413,16 +1439,19 @@ gboolean wtap_dump_close(wtap_dumper *wdh, int *err)
return ret;
}
+WS_DLL_PUBLIC
gint64 wtap_get_bytes_dumped(wtap_dumper *wdh)
{
return wdh->bytes_dumped;
}
+WS_DLL_PUBLIC
void wtap_set_bytes_dumped(wtap_dumper *wdh, gint64 bytes_dumped)
{
wdh->bytes_dumped = bytes_dumped;
}
+WS_DLL_PUBLIC
gboolean wtap_dump_set_addrinfo_list(wtap_dumper *wdh, struct addrinfo *addrinfo_list)
{
if (!wdh || wdh->file_type < 0 || wdh->file_type >= wtap_num_file_types
@@ -1467,6 +1496,7 @@ static WFILE_T wtap_dump_file_fdopen(wtap_dumper *wdh _U_, int fd)
#endif
/* internally writing raw bytes (compressed or not) */
+WS_DLL_LOCAL
gboolean wtap_dump_file_write(wtap_dumper *wdh, const void *buf, size_t bufsize,
int *err)
{
diff --git a/wiretap/pcap-common.c b/wiretap/pcap-common.c
index 12f3423225..4d2555549c 100644
--- a/wiretap/pcap-common.c
+++ b/wiretap/pcap-common.c
@@ -592,6 +592,7 @@ static const struct {
};
#define NUM_PCAP_ENCAPS (sizeof pcap_to_wtap_map / sizeof pcap_to_wtap_map[0])
+WS_DLL_PUBLIC
int
wtap_pcap_encap_to_wtap_encap(int encap)
{
@@ -604,6 +605,7 @@ wtap_pcap_encap_to_wtap_encap(int encap)
return WTAP_ENCAP_UNKNOWN;
}
+WS_DLL_PUBLIC
int
wtap_wtap_encap_to_pcap_encap(int encap)
{
@@ -660,6 +662,7 @@ wtap_wtap_encap_to_pcap_encap(int encap)
return -1;
}
+WS_DLL_PUBLIC
gboolean
wtap_encap_requires_phdr(int encap) {
if (
diff --git a/wiretap/wtap.c b/wiretap/wtap.c
index dcc04716e5..e70e902fb5 100644
--- a/wiretap/wtap.c
+++ b/wiretap/wtap.c
@@ -47,6 +47,7 @@
* Return the size of the file, as reported by the OS.
* (gint64, in case that's 64 bits.)
*/
+WS_DLL_PUBLIC
gint64
wtap_file_size(wtap *wth, int *err)
{
@@ -61,6 +62,7 @@ wtap_file_size(wtap *wth, int *err)
/*
* Do an fstat on the file.
*/
+WS_DLL_PUBLIC
int
wtap_fstat(wtap *wth, ws_statb64 *statb, int *err)
{
@@ -70,36 +72,42 @@ wtap_fstat(wtap *wth, ws_statb64 *statb, int *err)
return 0;
}
+WS_DLL_PUBLIC
int
wtap_file_type(wtap *wth)
{
return wth->file_type;
}
+WS_DLL_PUBLIC
gboolean
wtap_iscompressed(wtap *wth)
{
return file_iscompressed((wth->fh == NULL) ? wth->random_fh : wth->fh);
}
+WS_DLL_PUBLIC
guint
wtap_snapshot_length(wtap *wth)
{
return wth->snapshot_length;
}
+WS_DLL_PUBLIC
int
wtap_file_encap(wtap *wth)
{
return wth->file_encap;
}
+WS_DLL_PUBLIC
int
wtap_file_tsprecision(wtap *wth)
{
return wth->tsprecision;
}
+WS_DLL_PUBLIC
wtapng_section_t *
wtap_file_get_shb_info(wtap *wth)
{
@@ -119,6 +127,7 @@ wtap_file_get_shb_info(wtap *wth)
return shb_hdr;
}
+WS_DLL_PUBLIC
void
wtap_write_shb_comment(wtap *wth, gchar *comment)
{
@@ -127,6 +136,7 @@ wtap_write_shb_comment(wtap *wth, gchar *comment)
}
+WS_DLL_PUBLIC
wtapng_iface_descriptions_t *
wtap_file_get_idb_info(wtap *wth)
{
@@ -617,12 +627,14 @@ static void wtap_init_encap_types(void) {
encap_table = (void*)encap_table_arr->data;
}
+WS_DLL_PUBLIC
int wtap_get_num_encap_types(void) {
wtap_init_encap_types();
return wtap_num_encap_types;
}
+WS_DLL_PUBLIC
int wtap_register_encap_type(const char* name, const char* short_name) {
struct encap_type_info e;
wtap_init_encap_types();
@@ -639,6 +651,7 @@ int wtap_register_encap_type(const char* name, const char* short_name) {
/* Name that should be somewhat descriptive. */
+WS_DLL_PUBLIC
const char *
wtap_encap_string(int encap)
{
@@ -651,6 +664,7 @@ wtap_encap_string(int encap)
}
/* Name to use in, say, a command-line flag specifying the type. */
+WS_DLL_PUBLIC
const char *
wtap_encap_short_string(int encap)
{
@@ -663,6 +677,7 @@ wtap_encap_short_string(int encap)
}
/* Translate a short name to a capture file type. */
+WS_DLL_PUBLIC
int
wtap_short_string_to_encap(const char *short_name)
{
@@ -702,6 +717,7 @@ static const char *wtap_errlist[] = {
};
#define WTAP_ERRLIST_SIZE (sizeof wtap_errlist / sizeof wtap_errlist[0])
+WS_DLL_PUBLIC
const char *
wtap_strerror(int err)
{
@@ -729,6 +745,7 @@ wtap_strerror(int err)
Instead, if the subtype has a "sequential close" function, we call it,
to free up stuff used only by the sequential side. */
+WS_DLL_PUBLIC
void
wtap_sequential_close(wtap *wth)
{
@@ -759,6 +776,7 @@ g_fast_seek_item_free(gpointer data, gpointer user_data _U_)
* we need to rename a file that we have open or if we need to rename on
* top of a file we have open.
*/
+WS_DLL_PUBLIC
void
wtap_fdclose(wtap *wth)
{
@@ -768,6 +786,7 @@ wtap_fdclose(wtap *wth)
file_fdclose(wth->random_fh);
}
+WS_DLL_PUBLIC
void
wtap_close(wtap *wth)
{
@@ -826,22 +845,26 @@ wtap_close(wtap *wth)
g_free(wth);
}
+WS_DLL_PUBLIC
void
wtap_cleareof(wtap *wth) {
/* Reset EOF */
file_clearerr(wth->fh);
}
+WS_DLL_PUBLIC
void wtap_set_cb_new_ipv4(wtap *wth, wtap_new_ipv4_callback_t add_new_ipv4) {
if (wth)
wth->add_new_ipv4 = add_new_ipv4;
}
+WS_DLL_PUBLIC
void wtap_set_cb_new_ipv6(wtap *wth, wtap_new_ipv6_callback_t add_new_ipv6) {
if (wth)
wth->add_new_ipv6 = add_new_ipv6;
}
+WS_DLL_PUBLIC
gboolean
wtap_read(wtap *wth, int *err, gchar **err_info, gint64 *data_offset)
{
@@ -892,24 +915,28 @@ wtap_read(wtap *wth, int *err, gchar **err_info, gint64 *data_offset)
* Return an approximation of the amount of data we've read sequentially
* from the file so far. (gint64, in case that's 64 bits.)
*/
+WS_DLL_PUBLIC
gint64
wtap_read_so_far(wtap *wth)
{
return file_tell_raw(wth->fh);
}
+WS_DLL_PUBLIC
struct wtap_pkthdr *
wtap_phdr(wtap *wth)
{
return &wth->phdr;
}
+WS_DLL_PUBLIC
guint8 *
wtap_buf_ptr(wtap *wth)
{
return buffer_start_ptr(wth->frame_buffer);
}
+WS_DLL_PUBLIC
gboolean
wtap_seek_read(wtap *wth, gint64 seek_off,
struct wtap_pkthdr *phdr, guint8 *pd, int len,