Export libwireshark symbols using WS_DLL_PUBLIC define

Also remove old WS_VAR_IMPORT define and related Makefile magic
everywhere in the project.

svn path=/trunk/; revision=47992
This commit is contained in:
Balint Reczey 2013-03-01 23:53:11 +00:00
parent 0b8d70bfb7
commit 1ebdb2e521
309 changed files with 1799 additions and 2659 deletions

View File

@ -216,7 +216,7 @@ message(STATUS "C-Flags: ${CMAKE_C_FLAGS}\nCXX-Flags: ${CMAKE_CXX_FLAGS}")
check_c_compiler_flag(-fvisibility=hidden FVHIDDEN) check_c_compiler_flag(-fvisibility=hidden FVHIDDEN)
if((FVHIDDEN)) if((FVHIDDEN))
set(COMPILE_HIDE_SYMBOLS -fvisibility=hidden) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
else() # TODO add alternate compiler flags for hiding symbols else() # TODO add alternate compiler flags for hiding symbols
message(WARNING "Hiding shared library symbols is not supported by the compiler." message(WARNING "Hiding shared library symbols is not supported by the compiler."
" All shared library symbols will be exported.") " All shared library symbols will be exported.")
@ -517,14 +517,8 @@ if(ENABLE_PCAP_NG_DEFAULT)
endif() endif()
#Platform specific #Platform specific
if(UNIX) #if(UNIX)
if(CMAKE_COMPILER_IS_GNUCC) #endif()
# set(WS_VAR_IMPORT "__attribute__((visibility(\"default\")))" )
set(WS_VAR_IMPORT "extern")
else()
set(WS_VAR_IMPORT "extern")
endif()
endif()
if(APPLE) if(APPLE)
# #
@ -538,8 +532,6 @@ if(APPLE)
endif() endif()
if(WIN32) if(WIN32)
add_definitions(-D_NEED_VAR_IMPORT_)
set(WS_VAR_IMPORT "__declspec(dllimport) extern")
set(WS_MSVC_NORETURN "__declspec(noreturn)") set(WS_MSVC_NORETURN "__declspec(noreturn)")
# Disable deprecation # Disable deprecation

View File

@ -41,7 +41,6 @@ LDFLAGS = /NOLOGO /INCREMENTAL:NO $(LOCAL_LDFLAGS)
# We use GENERATED_CFLAGS to get around flex's non-LLP64-compliant output # We use GENERATED_CFLAGS to get around flex's non-LLP64-compliant output
GENERATED_CFLAGS=\ GENERATED_CFLAGS=\
$(STANDARD_CFLAGS) \ $(STANDARD_CFLAGS) \
-D_NEED_VAR_IMPORT_ \
/I. /Iwiretap $(GLIB_CFLAGS) \ /I. /Iwiretap $(GLIB_CFLAGS) \
$(ZLIB_CFLAGS) /I$(PCAP_DIR)\include $(AIRPCAP_CFLAGS) \ $(ZLIB_CFLAGS) /I$(PCAP_DIR)\include $(AIRPCAP_CFLAGS) \
$(C_ARES_CFLAGS) $(ADNS_CFLAGS) $(GNUTLS_CFLAGS) \ $(C_ARES_CFLAGS) $(ADNS_CFLAGS) $(GNUTLS_CFLAGS) \
@ -428,7 +427,6 @@ config.h : config.h.win32 config.nmake
-e "s/@HAVE_PCAP_SET_DATALINK@/$(PCAP_SET_DATALINK_CONFIG)/" \ -e "s/@HAVE_PCAP_SET_DATALINK@/$(PCAP_SET_DATALINK_CONFIG)/" \
-e "s/@HAVE_PCAP_SETSAMPLING@/$(PCAP_SETSAMPLING_CONFIG)/" \ -e "s/@HAVE_PCAP_SETSAMPLING@/$(PCAP_SETSAMPLING_CONFIG)/" \
-e "s/@HAVE_BPF_IMAGE@/$(BPF_IMAGE_CONFIG)/" \ -e "s/@HAVE_BPF_IMAGE@/$(BPF_IMAGE_CONFIG)/" \
-e "s/@HAVE_LIBWIRESHARKDLL@/$(LIBWIRESHARK_CONFIG)/" \
-e "s/@HAVE_LIBGNUTLS@/$(GNUTLS_CONFIG)/" \ -e "s/@HAVE_LIBGNUTLS@/$(GNUTLS_CONFIG)/" \
-e "s/@HAVE_LIBGCRYPT@/$(LIBGCRYPT_CONFIG)/" \ -e "s/@HAVE_LIBGCRYPT@/$(LIBGCRYPT_CONFIG)/" \
-e "s/@HAVE_LUA@/$(LUA_CONFIG)/" \ -e "s/@HAVE_LUA@/$(LUA_CONFIG)/" \
@ -488,8 +486,6 @@ QMAKE_CFLAGS *= $(STANDARD_CFLAGS) $(PORTAUDIO_CFLAGS:\=/)
QMAKE_CXXFLAGS *= $(STANDARD_CFLAGS) $(PORTAUDIO_CFLAGS:\=/) QMAKE_CXXFLAGS *= $(STANDARD_CFLAGS) $(PORTAUDIO_CFLAGS:\=/)
QMAKE_LFLAGS *= /LARGEADDRESSAWARE $(LDFLAGS) QMAKE_LFLAGS *= /LARGEADDRESSAWARE $(LDFLAGS)
DEFINES += _NEED_VAR_IMPORT_
<<KEEP <<KEEP
ps.c: tools\rdps.py print.ps ps.c: tools\rdps.py print.ps

View File

@ -39,6 +39,7 @@ SUBDIRS = \
crmf \ crmf \
cms \ cms \
dap \ dap \
dsp \
dop \ dop \
disp \ disp \
dsp \ dsp \

View File

@ -26,6 +26,8 @@
#ifndef PACKET_ANSI_MAP_H #ifndef PACKET_ANSI_MAP_H
#define PACKET_ANSI_MAP_H #define PACKET_ANSI_MAP_H
#include "ws_symbol_export.h"
#define ANSI_MAP_MAX_NUM_MESSAGE_TYPES 256 #define ANSI_MAP_MAX_NUM_MESSAGE_TYPES 256
typedef struct _ansi_map_tap_rec_t { typedef struct _ansi_map_tap_rec_t {
@ -39,7 +41,7 @@ typedef struct _ansi_map_tap_rec_t {
* without having to duplicate it. With MSVC and a * without having to duplicate it. With MSVC and a
* libwireshark.dll, we need a special declaration. * libwireshark.dll, we need a special declaration.
*/ */
WS_VAR_IMPORT const value_string ansi_map_opr_code_strings[]; WS_DLL_PUBLIC const value_string ansi_map_opr_code_strings[];

View File

@ -34,6 +34,8 @@
#ifndef PACKET_CAMEL_H #ifndef PACKET_CAMEL_H
#define PACKET_CAMEL_H #define PACKET_CAMEL_H
#include "ws_symbol_export.h"
void proto_reg_handoff_camel(void); void proto_reg_handoff_camel(void);
void proto_register_camel(void); void proto_register_camel(void);
@ -41,7 +43,7 @@ void proto_register_camel(void);
#define camel_MAX_NUM_OPR_CODES 256 #define camel_MAX_NUM_OPR_CODES 256
WS_VAR_IMPORT const value_string camel_opr_code_strings[]; WS_DLL_PUBLIC const value_string camel_opr_code_strings[];
/* #include "packet-camel-exp.h"*/ /* #include "packet-camel-exp.h"*/
#endif /* PACKET_camel_H */ #endif /* PACKET_camel_H */

View File

@ -110,7 +110,7 @@ Abandoned
SearchControlOptions SearchControlOptions
SecurityError SecurityError
SecurityProblem SecurityProblem
SecurityParameters SecurityParameters EXTERN WS_DLL
ServiceControlOptions ServiceControlOptions
AbandonFailedError AbandonFailedError
UpdateError UpdateError

View File

@ -9,7 +9,7 @@ ServiceAdministration x509if
#.EXPORTS #.EXPORTS
AccessPoint AccessPoint
AccessPointInformation AccessPointInformation EXTERN WS_DLL
ContinuationReference ContinuationReference
Exclusions Exclusions
MasterAndShadowAccessPoints MasterAndShadowAccessPoints

View File

@ -80,7 +80,7 @@ EraseCC-EntryArg
EraseCC-EntryRes EraseCC-EntryRes
Ext-BasicServiceCode Ext-BasicServiceCode
Ext-ForwOptions Ext-ForwOptions
Ext-GeographicalInformation Ext-GeographicalInformation EXTERN WS_DLL
Ext-NoRepCondTime Ext-NoRepCondTime
Ext-QoS-Subscribed Ext-QoS-Subscribed
Ext2-QoS-Subscribed Ext2-QoS-Subscribed
@ -90,16 +90,16 @@ ExternalSignalInfo
ForwardingOptions ForwardingOptions
GeographicalInformation GeographicalInformation
GetPasswordArg GetPasswordArg
GlobalCellId GlobalCellId EXTERN WS_DLL
GPRSChargingID GPRSChargingID
GPRSMSClass GPRSMSClass
GSMMAPLocalErrorcode GSMMAPLocalErrorcode
GSN-Address GSN-Address
IMEI IMEI
IMSI IMSI EXTERN WS_DLL
InterrogateSS-Res InterrogateSS-Res
ISDN-AddressString ISDN-AddressString EXTERN WS_DLL
ISDN-AddressString_PDU ISDN-AddressString_PDU EXTERN WS_DLL
ISDN-SubaddressString ISDN-SubaddressString
LAIFixedLength LAIFixedLength
LCSClientExternalID LCSClientExternalID

View File

@ -26,6 +26,8 @@
#ifndef PACKET_GSM_MAP_H #ifndef PACKET_GSM_MAP_H
#define PACKET_GSM_MAP_H #define PACKET_GSM_MAP_H
#include "ws_symbol_export.h"
/* Defines for the GSM MAP taps */ /* Defines for the GSM MAP taps */
#define GSM_MAP_MAX_NUM_OPR_CODES 256 #define GSM_MAP_MAX_NUM_OPR_CODES 256
@ -43,7 +45,7 @@ typedef struct _gsm_map_tap_rec_t {
#define SMS_ENCODING_7BIT_LANG 4 #define SMS_ENCODING_7BIT_LANG 4
#define SMS_ENCODING_UCS2_LANG 5 #define SMS_ENCODING_UCS2_LANG 5
WS_VAR_IMPORT const value_string gsm_map_opr_code_strings[]; WS_DLL_PUBLIC const value_string gsm_map_opr_code_strings[];
const char* unpack_digits(tvbuff_t *tvb, int offset); const char* unpack_digits(tvbuff_t *tvb, int offset);
extern const value_string ssCode_vals[]; extern const value_string ssCode_vals[];

View File

@ -13,7 +13,7 @@
#.IMPORT ../h245/h245-exp.cnf #.IMPORT ../h245/h245-exp.cnf
#---------------------------------------------------------------------------------------- #----------------------------------------------------------------------------------------
#.EXPORTS ONLY_VALS WS_VAR NO_PROT_PREFIX #.EXPORTS ONLY_VALS WS_DLL NO_PROT_PREFIX
H323-UU-PDU/h323-message-body H323-UU-PDU/h323-message-body
FacilityReason FacilityReason
GatekeeperRejectReason GatekeeperRejectReason
@ -28,7 +28,7 @@ LocationRejectReason
RegistrationRejectReason RegistrationRejectReason
#.MODULE_EXPORTS #.MODULE_EXPORTS
RasMessage WS_VAR RasMessage EXTERN WS_DLL
NonStandardParameter NonStandardParameter
PublicTypeOfNumber PublicTypeOfNumber
PrivateTypeOfNumber PrivateTypeOfNumber
@ -59,7 +59,7 @@ EndpointType
SupportedProtocols SupportedProtocols
GatekeeperIdentifier GatekeeperIdentifier
ServiceControlSession ServiceControlSession
ReleaseCompleteReason WS_VAR ReleaseCompleteReason EXTERN WS_DLL
ExtendedAliasAddress_PDU ExtendedAliasAddress_PDU
#.END #.END

View File

@ -13,7 +13,7 @@ T38FaxProfile
DataProtocolCapability NO_PROT_PREFIX DataProtocolCapability NO_PROT_PREFIX
OpenLogicalChannel OpenLogicalChannel
QOSCapability QOSCapability
H223Capability H223Capability EXTERN WS_DLL
H223LogicalChannelParameters H223LogicalChannelParameters
TransportAddress TransportAddress
UnicastAddress UnicastAddress

View File

@ -25,6 +25,9 @@
#ifndef PACKET_H245_H #ifndef PACKET_H245_H
#define PACKET_H245_H #define PACKET_H245_H
#include "ws_symbol_export.h"
typedef enum _h245_msg_type { typedef enum _h245_msg_type {
H245_TermCapSet, H245_TermCapSet,
H245_TermCapSetAck, H245_TermCapSetAck,
@ -116,10 +119,10 @@ struct _h223_mux_element {
#include <epan/dissectors/packet-per.h> #include <epan/dissectors/packet-per.h>
typedef void (*h223_set_mc_handle_t) ( packet_info* pinfo, guint8 mc, h223_mux_element* me ); typedef void (*h223_set_mc_handle_t) ( packet_info* pinfo, guint8 mc, h223_mux_element* me );
extern void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle ); WS_DLL_PUBLIC void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle );
typedef void (*h223_add_lc_handle_t) ( packet_info* pinfo, guint16 lc, h223_lc_params* params ); typedef void (*h223_add_lc_handle_t) ( packet_info* pinfo, guint16 lc, h223_lc_params* params );
extern void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle ); WS_DLL_PUBLIC void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle );
#include "packet-h245-exp.h" #include "packet-h245-exp.h"
void dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str); void dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str);

View File

@ -28,6 +28,7 @@
#ifndef PACKET_H248_H #ifndef PACKET_H248_H
#include <epan/gcp.h> #include <epan/gcp.h>
#include "ws_symbol_export.h"
/*#include "packet-h248-exp.h"*/ /*#include "packet-h248-exp.h"*/
typedef struct _h248_curr_info_t h248_curr_info_t; typedef struct _h248_curr_info_t h248_curr_info_t;
@ -36,7 +37,7 @@ typedef void (*h248_pkg_param_dissector_t)(proto_tree* tree, tvbuff_t* tvb, pack
extern void h248_param_bytes_item(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored); extern void h248_param_bytes_item(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
extern void h248_param_uint_item(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored); extern void h248_param_uint_item(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
extern void h248_param_ber_integer(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored); WS_DLL_PUBLIC void h248_param_ber_integer(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
extern void h248_param_ber_octetstring(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored); extern void h248_param_ber_octetstring(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
extern void h248_param_ber_boolean(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored); extern void h248_param_ber_boolean(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
extern void external_dissector(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* dissector_handle); extern void external_dissector(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* dissector_handle);
@ -112,6 +113,7 @@ struct _h248_curr_info_t {
const h248_pkg_param_t* par; const h248_pkg_param_t* par;
}; };
WS_DLL_PUBLIC
void h248_register_package(const h248_package_t* pkg, pkg_reg_action reg_action); void h248_register_package(const h248_package_t* pkg, pkg_reg_action reg_action);
#endif /* PACKET_H248_H */ #endif /* PACKET_H248_H */

View File

@ -220,6 +220,8 @@ printf("added key in %u keytype:%d len:%d\n",pinfo->fd->num, keytype, keyleng
static krb5_context krb5_ctx; static krb5_context krb5_ctx;
WS_DLL_PUBLIC
void void
read_keytab_file(const char *filename) read_keytab_file(const char *filename)
{ {
@ -357,6 +359,7 @@ printf("woohoo decrypted keytype:%d in frame:%u\n", ek->keytype, pinfo->fd->num)
#elif defined(HAVE_HEIMDAL_KERBEROS) #elif defined(HAVE_HEIMDAL_KERBEROS)
static krb5_context krb5_ctx; static krb5_context krb5_ctx;
WS_DLL_PUBLIC
void void
read_keytab_file(const char *filename) read_keytab_file(const char *filename)
{ {
@ -551,6 +554,7 @@ clear_keytab(void) {
service_key_list = NULL; service_key_list = NULL;
} }
WS_DLL_PUBLIC
static void static void
read_keytab_file(const char *service_key_file) read_keytab_file(const char *service_key_file)
{ {

View File

@ -27,6 +27,7 @@
#define __PACKET_LDAP_H__ #define __PACKET_LDAP_H__
# include <epan/packet.h> /* for dissector_*_t types */ # include <epan/packet.h> /* for dissector_*_t types */
#include "ws_symbol_export.h"
/* /*
* These are all APPLICATION types; the value is the type tag. * These are all APPLICATION types; the value is the type tag.
@ -103,6 +104,7 @@ typedef struct ldap_call_response {
void register_ldap_name_dissector_handle(const char *attr_type, dissector_handle_t dissector); void register_ldap_name_dissector_handle(const char *attr_type, dissector_handle_t dissector);
void register_ldap_name_dissector(const char *attr_type, dissector_t dissector, int proto); void register_ldap_name_dissector(const char *attr_type, dissector_t dissector, int proto);
WS_DLL_PUBLIC
int dissect_mscldap_string(tvbuff_t *tvb, int offset, char *str, int max_len, gboolean prepend_dot _U_); int dissect_mscldap_string(tvbuff_t *tvb, int offset, char *str, int max_len, gboolean prepend_dot _U_);
/*#include "packet-ldap-exp.h" */ /*#include "packet-ldap-exp.h" */

View File

@ -15,11 +15,11 @@ NetworkProtocolProfile
# Addressing-Data-Elements # Addressing-Data-Elements
PresentedAddressScreened PresentedAddressScreened
PresentedAddressUnscreened PresentedAddressUnscreened
PresentedNumberScreened PresentedNumberScreened WS_DLL
PresentedNumberUnscreened PresentedNumberUnscreened WS_DLL
Address Address
PartyNumber PartyNumber WS_DLL
PartySubaddress PartySubaddress WS_DLL
ScreeningIndicator ScreeningIndicator
PresentationAllowedIndicator PresentationAllowedIndicator

View File

@ -10,7 +10,7 @@ GROUP_BY_PROT
-o qsig -o qsig
#.END #.END
#.EXPORTS EXTERN VALS_WITH_TABLE #.EXPORTS EXTERN VALS_WITH_TABLE WS_DLL
Name Name

View File

@ -13,7 +13,7 @@ CauseRadioNetwork
ProcedureCode ProcedureCode
ProtocolIE-ID ProtocolIE-ID
#.EXPORTS ONLY_VALS WS_VAR #.EXPORTS ONLY_VALS WS_DLL
CauseRadioNetwork CauseRadioNetwork
CauseTransport CauseTransport
CauseNas CauseNas

View File

@ -25,6 +25,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#include "ws_symbol_export.h"
#define MAX_T38_DATA_ITEMS 4 #define MAX_T38_DATA_ITEMS 4
#define MAX_T38_DESC 128 #define MAX_T38_DESC 128
@ -72,6 +74,7 @@ typedef struct _t38_conv
} t38_conv; } t38_conv;
/* Add an T38 conversation with the given details */ /* Add an T38 conversation with the given details */
WS_DLL_PUBLIC
void t38_add_address(packet_info *pinfo, void t38_add_address(packet_info *pinfo,
address *addr, int port, address *addr, int port,
int other_port, int other_port,

View File

@ -4,7 +4,7 @@
# $Id$ # $Id$
#.EXPORTS ONLY_VALS WS_VAR #.EXPORTS ONLY_VALS WS_DLL
Type-of-msg/t30-indicator Type-of-msg/t30-indicator
Type-of-msg/t30-data Type-of-msg/t30-data
#.END #.END

View File

@ -26,6 +26,9 @@
#ifndef PACKET_tcap_H #ifndef PACKET_tcap_H
#define PACKET_tcap_H #define PACKET_tcap_H
#include "ws_symbol_export.h"
/* TCAP component type */ /* TCAP component type */
#define TCAP_COMP_INVOKE 0xa1 #define TCAP_COMP_INVOKE 0xa1
#define TCAP_COMP_RRL 0xa2 #define TCAP_COMP_RRL 0xa2
@ -77,10 +80,10 @@ extern dissector_handle_t get_itu_tcap_subdissector(guint32 ssn);
dissector_handle_t get_ansi_tcap_subdissector(guint32 ssn); dissector_handle_t get_ansi_tcap_subdissector(guint32 ssn);
extern void add_ansi_tcap_subdissector(guint32 ssn, dissector_handle_t dissector); extern void add_ansi_tcap_subdissector(guint32 ssn, dissector_handle_t dissector);
extern void add_itu_tcap_subdissector(guint32 ssn, dissector_handle_t dissector); WS_DLL_PUBLIC void add_itu_tcap_subdissector(guint32 ssn, dissector_handle_t dissector);
extern void delete_ansi_tcap_subdissector(guint32 ssn, dissector_handle_t dissector); extern void delete_ansi_tcap_subdissector(guint32 ssn, dissector_handle_t dissector);
extern void delete_itu_tcap_subdissector(guint32 ssn, dissector_handle_t dissector); WS_DLL_PUBLIC void delete_itu_tcap_subdissector(guint32 ssn, dissector_handle_t dissector);
extern void call_tcap_dissector(dissector_handle_t, tvbuff_t*, packet_info*, proto_tree*); extern void call_tcap_dissector(dissector_handle_t, tvbuff_t*, packet_info*, proto_tree*);

View File

@ -372,10 +372,6 @@
first (like Motorola and SPARC, unlike Intel and VAX). */ first (like Motorola and SPARC, unlike Intel and VAX). */
#cmakedefine WORDS_BIGENDIAN 1 #cmakedefine WORDS_BIGENDIAN 1
/* Define as the string to precede external variable declarations in
dynamically-linked libraries */
#define WS_VAR_IMPORT @WS_VAR_IMPORT@
/* Define WS_MSVC_NORETURN appropriately for declarations of routines that /* Define WS_MSVC_NORETURN appropriately for declarations of routines that
never return (just like Charlie on the MTA). never return (just like Charlie on the MTA).

View File

@ -52,7 +52,6 @@
@HAVE_PCAP_DATALINK_NAME_TO_VAL@ @HAVE_PCAP_DATALINK_NAME_TO_VAL@
@HAVE_PCAP_DATALINK_VAL_TO_NAME@ @HAVE_PCAP_DATALINK_VAL_TO_NAME@
@HAVE_PCAP_DATALINK_VAL_TO_DESCRIPTION@ @HAVE_PCAP_DATALINK_VAL_TO_DESCRIPTION@
@HAVE_LIBWIRESHARKDLL@
@HAVE_PCAP_LIST_DATALINKS@ @HAVE_PCAP_LIST_DATALINKS@
@HAVE_PCAP_FREE_DATALINKS@ @HAVE_PCAP_FREE_DATALINKS@
@ -76,15 +75,6 @@
@PCAP_NG_DEFAULT@ @PCAP_NG_DEFAULT@
@WANT_PACKET_EDITOR@ @WANT_PACKET_EDITOR@
/* define macro for importing variables from an dll
* it depends on HAVE_LIBWIRESHARKDLL and _NEED_VAR_IMPORT_
*/
#if defined (_NEED_VAR_IMPORT_) && defined (HAVE_LIBWIRESHARKDLL)
# define WS_VAR_IMPORT __declspec(dllimport) extern
#else
# define WS_VAR_IMPORT extern
#endif
/* /*
* Define WS_MSVC_NORETURN appropriately for declarations of routines that * Define WS_MSVC_NORETURN appropriately for declarations of routines that
* never return (just like Charlie on the MTA). * never return (just like Charlie on the MTA).

View File

@ -1508,7 +1508,6 @@ WINSPARKLE_LIBS=
!ENDIF !ENDIF
!IFDEF ENABLE_LIBWIRESHARK !IFDEF ENABLE_LIBWIRESHARK
LIBWIRESHARK_CONFIG=^#define HAVE_LIBWIRESHARKDLL 1
# Link plugins with the import library of libwireshark.dll # Link plugins with the import library of libwireshark.dll
LINK_PLUGINS_WITH_LIBWIRESHARK=USE LINK_PLUGINS_WITH_LIBWIRESHARK=USE
!ELSE !ELSE

View File

@ -521,15 +521,11 @@ fi
CFLAGS_before_fvhidden=$CFLAGS CFLAGS_before_fvhidden=$CFLAGS
AC_WIRESHARK_GCC_CFLAGS_CHECK(-fvisibility=hidden) AC_WIRESHARK_GCC_CFLAGS_CHECK(-fvisibility=hidden)
if test "x$CLFAGS" != "x$CFLAGS_before_fvhidden" if test "x$CLFAGS" = "x$CFLAGS_before_fvhidden"
then then
# Restore CFLAGS # TODO add other ways of hiding symbols
CFLAGS=$CFLAGS_before_fvhidden AC_MSG_WARN(Compiler will export all symbols from shared libraries)
AC_DEFINE(COMPILE_HIDE_SYMBOLS, "-fvisibility=hidden", [Compiler will hide symbols not exported explicitly using -fvisibility=hidden])
else
AC_DEFINE(COMPILE_HIDE_SYMBOLS, "", [Compiler will export all symbols from shared libraries])
fi fi
AC_SUBST(COMPILE_HIDE_SYMBOLS)
AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed]) AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed])
###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,-M]) ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,-M])
@ -1978,12 +1974,6 @@ fi
AM_CONDITIONAL(HAVE_LIBPY, test x$want_python != xno) AM_CONDITIONAL(HAVE_LIBPY, test x$want_python != xno)
AC_SUBST(pythondir) AC_SUBST(pythondir)
#
# Define WS_VAR_IMPORT appropriately for declarations of external
# variables exported from dynamically-linked libraries.
#
AC_DEFINE(WS_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries])
# #
# Define WS_MSVC_NORETURN appropriately for declarations of routines that # Define WS_MSVC_NORETURN appropriately for declarations of routines that
# never return (just like Charlie on the MTA). # never return (just like Charlie on the MTA).

View File

@ -287,7 +287,7 @@ stips the parts outlined below:
o Removed the definition: o Removed the definition:
#ifndef ENABLE_STATIC #ifndef ENABLE_STATIC
G_MODULE_EXPORT gchar version[] = VERSION; WS_DLL_PUBLIC_NOEXTERN gchar version[] = VERSION;
#endif #endif
o Move relevant code from the blocks and delete these functions: o Move relevant code from the blocks and delete these functions:

View File

@ -110,9 +110,9 @@ extern int udp_term_stats_tree_packet(stats_tree *st, /* st as it was passed to
} }
#ifndef ENABLE_STATIC #ifndef ENABLE_STATIC
G_MODULE_EXPORT const gchar version[] = "0.0"; WS_DLL_PUBLIC_NOEXTERN const gchar version[] = "0.0";
G_MODULE_EXPORT void plugin_register_tap_listener(void) { WS_DLL_PUBLIC_NOEXTERN void plugin_register_tap_listener(void) {
stats_tree_register("udp", /* the proto we are going to "tap" */ stats_tree_register("udp", /* the proto we are going to "tap" */
"udp_terms", /* the abbreviation for this tree (to be used as -z udp_terms,tree) */ "udp_terms", /* the abbreviation for this tree (to be used as -z udp_terms,tree) */

View File

@ -1115,9 +1115,9 @@ static void register_foo_stat_trees(void) {
foo_stats_tree_packet, foo_stats_tree_init, NULL); foo_stats_tree_packet, foo_stats_tree_init, NULL);
} }
G_MODULE_EXPORT const gchar version[] = "0.0"; WS_DLL_PUBLIC_NOEXTERN const gchar version[] = "0.0";
G_MODULE_EXPORT void plugin_register_tap_listener(void) WS_DLL_PUBLIC_NOEXTERN void plugin_register_tap_listener(void)
{ {
register_foo_stat_trees(); register_foo_stat_trees();
} }

View File

@ -1548,6 +1548,7 @@ add_dependencies(epan svnversion)
set(FULL_SO_VERSION "0.0.0") set(FULL_SO_VERSION "0.0.0")
set_target_properties(epan PROPERTIES COMPILE_DEFINITIONS "WS_BUILD_DLL")
set_target_properties(epan PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}") set_target_properties(epan PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}")
set_target_properties(epan PROPERTIES VERSION ${FULL_SO_VERSION} SOVERSION 0) set_target_properties(epan PROPERTIES VERSION ${FULL_SO_VERSION} SOVERSION 0)
@ -1573,7 +1574,7 @@ file(MAKE_DIRECTORY abi-check-headers abi-check-headers/epan
abi-check-headers/wmem) abi-check-headers/wmem)
file(MAKE_DIRECTORY abi-check-headers/epan) file(MAKE_DIRECTORY abi-check-headers/epan)
file(COPY ../color.h ../register.h DESTINATION abi-check-headers) file(COPY ../color.h ../register.h ../ws_symbol_export.h DESTINATION abi-check-headers)
file(COPY ${EPAN_HEADERS} DESTINATION abi-check-headers/epan) file(COPY ${EPAN_HEADERS} DESTINATION abi-check-headers/epan)
file(COPY ${CRYPT_HEADERS} DESTINATION abi-check-headers/crypt) file(COPY ${CRYPT_HEADERS} DESTINATION abi-check-headers/crypt)
file(COPY ${DFILTER_HEADERS} DESTINATION abi-check-headers/dfilter) file(COPY ${DFILTER_HEADERS} DESTINATION abi-check-headers/dfilter)

View File

@ -56,7 +56,7 @@ ACLOCAL_AMFLAGS = `../aclocal-flags`
noinst_LTLIBRARIES = libwireshark_generated.la libwireshark_asmopt.la noinst_LTLIBRARIES = libwireshark_generated.la libwireshark_asmopt.la
lib_LTLIBRARIES = libwireshark.la lib_LTLIBRARIES = libwireshark.la
# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
libwireshark_la_LDFLAGS = -version-info 0:0:0 -export-symbols libwireshark.sym @LDFLAGS_SHAREDLIB@ libwireshark_la_LDFLAGS = -version-info 0:0:0 @LDFLAGS_SHAREDLIB@
include Makefile.common include Makefile.common
@ -64,9 +64,10 @@ INCLUDES = -I$(srcdir)/.. -I$(srcdir)/$(LEMON) -I$(builddir)/wslua \
@LUA_INCLUDES@ $(LIBGNUTLS_CFLAGS) $(LIBGCRYPT_CFLAGS) \ @LUA_INCLUDES@ $(LIBGNUTLS_CFLAGS) $(LIBGCRYPT_CFLAGS) \
$(LIBSMI_CFLAGS) $(LIBGEOIP_CFLAGS) $(PY_CFLAGS) $(LIBSMI_CFLAGS) $(LIBGEOIP_CFLAGS) $(PY_CFLAGS)
AM_NON_GENERATED_CFLAGS =-DWS_BUILD_DLL
if HAVE_WARNINGS_AS_ERRORS if HAVE_WARNINGS_AS_ERRORS
AM_NON_GENERATED_CFLAGS = -Werror AM_NON_GENERATED_CFLAGS += -Werror
endif endif
#Since code generated by lex may trigger gcc warnings, we are now generating two #Since code generated by lex may trigger gcc warnings, we are now generating two
@ -100,7 +101,6 @@ EXTRA_DIST = \
dtd_parse.h \ dtd_parse.h \
dtd_preparse.l \ dtd_preparse.l \
enterprise-numbers \ enterprise-numbers \
libwireshark.def \
libwireshark.vcproj \ libwireshark.vcproj \
Makefile.common \ Makefile.common \
Makefile.nmake \ Makefile.nmake \
@ -119,7 +119,6 @@ CLEANFILES = \
libwireshark_generated.la \ libwireshark_generated.la \
libwireshark_asmopt.a \ libwireshark_asmopt.a \
libwireshark_asmopt.la \ libwireshark_asmopt.la \
libwireshark.sym \
*~ *~
DISTCLEANFILES = \ DISTCLEANFILES = \
@ -152,8 +151,7 @@ libwireshark_la_DEPENDENCIES = \
ftypes/libftypes.la dfilter/libdfilter.la dissectors/libdissectors.la \ ftypes/libftypes.la dfilter/libdfilter.la dissectors/libdissectors.la \
dissectors/libdirtydissectors.la wmem/libwmem.la $(wslua_lib) $(wspython_lib) \ dissectors/libdirtydissectors.la wmem/libwmem.la $(wslua_lib) $(wspython_lib) \
${top_builddir}/wsutil/libwsutil.la \ ${top_builddir}/wsutil/libwsutil.la \
${top_builddir}/wiretap/libwiretap.la \ ${top_builddir}/wiretap/libwiretap.la
libwireshark.sym
EXTRA_PROGRAMS = reassemble_test EXTRA_PROGRAMS = reassemble_test
reassemble_test_LDADD = \ reassemble_test_LDADD = \
@ -192,21 +190,6 @@ tvbtest.o exntest.o: exceptions.h
sminmpec.c: enterprise-numbers ../tools/make-sminmpec.pl sminmpec.c: enterprise-numbers ../tools/make-sminmpec.pl
$(PERL) $(srcdir)/../tools/make-sminmpec.pl $(srcdir)/enterprise-numbers sminmpec.c $(PERL) $(srcdir)/../tools/make-sminmpec.pl $(srcdir)/enterprise-numbers sminmpec.c
def_sym_filter_symbols =
if !HAVE_PLUGINS
# If we're not building plugins, these symbols don't get built.
# Keep them out of the symbol list.
def_sym_filter_symbols += /^register_all_plugin_tap_listeners/ || /^plugin_list/ {next;};
endif
if !HAVE_LIBPY
# If we're not building python, these symbols don't get built.
# Keep them out of the symbol list.
def_sym_filter_symbols += /^py_create_dissector_handle/ || /^py_dissector_args/ {next;};
def_sym_filter_symbols += /^py_generic_dissector/ || /^py_pinfo/ || /^py_tree/ || /^py_tvbuff/ {next;};
def_sym_filter_symbols += /^hf_register_info_add/ || /^hf_register_info_create/ || /^hf_register_info_destroy/ {next;};
endif
if HAVE_PLUGINS if HAVE_PLUGINS

View File

@ -19,7 +19,7 @@ GENERATED_CFLAGS=\
$(LUA_CFLAGS) $(GNUTLS_CFLAGS) /I$(PCAP_DIR)\include \ $(LUA_CFLAGS) $(GNUTLS_CFLAGS) /I$(PCAP_DIR)\include \
$(PYTHON_CFLAGS) $(SMI_CFLAGS) $(GEOIP_CFLAGS) $(PYTHON_CFLAGS) $(SMI_CFLAGS) $(GEOIP_CFLAGS)
CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS) CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS) -DWS_BUILD_DLL
!IFDEF LUA_DIR !IFDEF LUA_DIR
WSLUA_LIB=wslua\wslua.lib WSLUA_LIB=wslua\wslua.lib
@ -86,12 +86,12 @@ all: crypt ftypes dfilter wmem $(WSLUA_DIR) $(WSPYTHON_DIR) dissectors libwiresh
libwireshark.lib: libwireshark.dll libwireshark.lib: libwireshark.dll
libwireshark.exp: libwireshark.dll libwireshark.exp: libwireshark.dll
libwireshark.dll: ..\config.h $(LIBWIRESHARK_OBJECTS) libwireshark.def crypt ftypes dfilter wmem $(WSLUA_DIR) $(WSPYTHON_DIR) dissectors $(DOXYGEN_DEP) $(EXTRA_OBJECTS) \ libwireshark.dll: ..\config.h $(LIBWIRESHARK_OBJECTS) crypt ftypes dfilter wmem $(WSLUA_DIR) $(WSPYTHON_DIR) dissectors $(DOXYGEN_DEP) $(EXTRA_OBJECTS) \
crypt\airpdcap.lib ftypes\ftypes.lib dfilter\dfilter.lib wmem/wmem.lib dissectors\dissectors.lib $(WSLUA_LIB) $(WSPYTHON_LIB) ..\image\libwireshark.res crypt\airpdcap.lib ftypes\ftypes.lib dfilter\dfilter.lib wmem/wmem.lib dissectors\dissectors.lib $(WSLUA_LIB) $(WSPYTHON_LIB) ..\image\libwireshark.res
@echo Linking libwireshark.dll @echo Linking libwireshark.dll
$(link) $(dlllflags) $(conlibsdll) shell32.lib \ $(link) $(dlllflags) $(conlibsdll) shell32.lib \
$(LOCAL_LDFLAGS) $(DLL_LDFLAGS) \ $(LOCAL_LDFLAGS) $(DLL_LDFLAGS) \
/DEF:libwireshark.def /OUT:libwireshark.dll \ /OUT:libwireshark.dll \
/IMPLIB:libwireshark.lib $(LIBWIRESHARK_OBJECTS) \ /IMPLIB:libwireshark.lib $(LIBWIRESHARK_OBJECTS) \
$(libwireshark_LIBS) ..\image\libwireshark.res \ $(libwireshark_LIBS) ..\image\libwireshark.res \
dissectors\register.obj \ dissectors\register.obj \

View File

@ -36,6 +36,7 @@
#include <epan/address.h> #include <epan/address.h>
#include <epan/tvbuff.h> #include <epan/tvbuff.h>
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -57,7 +58,7 @@ typedef struct _e_addr_resolve {
/* /*
* Flag controlling what names to resolve. * Flag controlling what names to resolve.
*/ */
WS_VAR_IMPORT e_addr_resolve gbl_resolv_flags; WS_DLL_PUBLIC e_addr_resolve gbl_resolv_flags;
/* global variables */ /* global variables */
@ -72,13 +73,13 @@ extern gchar *g_pipxnets_path;
* get_udp_port() returns the port name corresponding to that UDP port, * get_udp_port() returns the port name corresponding to that UDP port,
* or the port number as a string if not found. * or the port number as a string if not found.
*/ */
extern gchar *get_udp_port(guint port); WS_DLL_PUBLIC gchar *get_udp_port(guint port);
/* /*
* get_tcp_port() returns the port name corresponding to that TCP port, * get_tcp_port() returns the port name corresponding to that TCP port,
* or the port number as a string if not found. * or the port number as a string if not found.
*/ */
extern gchar *get_tcp_port(guint port); WS_DLL_PUBLIC gchar *get_tcp_port(guint port);
/* /*
* get_dccp_port() returns the port name corresponding to that DCCP port, * get_dccp_port() returns the port name corresponding to that DCCP port,
@ -90,7 +91,7 @@ extern gchar *get_dccp_port(guint port);
* get_sctp_port() returns the port name corresponding to that SCTP port, * get_sctp_port() returns the port name corresponding to that SCTP port,
* or the port number as a string if not found. * or the port number as a string if not found.
*/ */
extern gchar *get_sctp_port(guint port); WS_DLL_PUBLIC gchar *get_sctp_port(guint port);
/* get_addr_name takes as input an "address", as defined in address.h */ /* get_addr_name takes as input an "address", as defined in address.h */
/* it returns a string that contains: */ /* it returns a string that contains: */
@ -101,6 +102,7 @@ extern gchar *get_sctp_port(guint port);
/* which should be a string representation for the answer -e.g. "10.10.10.10" for IPv4 */ /* which should be a string representation for the answer -e.g. "10.10.10.10" for IPv4 */
/* address 10.10.10.10 */ /* address 10.10.10.10 */
WS_DLL_PUBLIC
const gchar *get_addr_name(const address *addr); const gchar *get_addr_name(const address *addr);
const gchar *se_get_addr_name(const address *addr); const gchar *se_get_addr_name(const address *addr);
@ -130,25 +132,25 @@ extern void host_name_lookup_init(void);
* @return True if any new objects have been resolved since the previous * @return True if any new objects have been resolved since the previous
* call. This can be used to trigger a display update, e.g. in Wireshark. * call. This can be used to trigger a display update, e.g. in Wireshark.
*/ */
extern gboolean host_name_lookup_process(void); WS_DLL_PUBLIC gboolean host_name_lookup_process(void);
/* host_name_lookup_cleanup cleans up an ADNS socket if we're using ADNS */ /* host_name_lookup_cleanup cleans up an ADNS socket if we're using ADNS */
extern void host_name_lookup_cleanup(void); extern void host_name_lookup_cleanup(void);
/* get_hostname returns the host name or "%d.%d.%d.%d" if not found */ /* get_hostname returns the host name or "%d.%d.%d.%d" if not found */
extern const gchar *get_hostname(const guint addr); WS_DLL_PUBLIC const gchar *get_hostname(const guint addr);
/* get_hostname6 returns the host name, or numeric addr if not found */ /* get_hostname6 returns the host name, or numeric addr if not found */
struct e_in6_addr; struct e_in6_addr;
extern const gchar* get_hostname6(const struct e_in6_addr *ad); WS_DLL_PUBLIC const gchar* get_hostname6(const struct e_in6_addr *ad);
/* get_ether_name returns the logical name if found in ethers files else /* get_ether_name returns the logical name if found in ethers files else
"<vendor>_%02x:%02x:%02x" if the vendor code is known else "<vendor>_%02x:%02x:%02x" if the vendor code is known else
"%02x:%02x:%02x:%02x:%02x:%02x" */ "%02x:%02x:%02x:%02x:%02x:%02x" */
extern gchar *get_ether_name(const guint8 *addr); WS_DLL_PUBLIC gchar *get_ether_name(const guint8 *addr);
/* get_ether_name returns the logical name if found in ethers files else NULL */ /* get_ether_name returns the logical name if found in ethers files else NULL */
extern gchar *get_ether_name_if_known(const guint8 *addr); gchar *get_ether_name_if_known(const guint8 *addr);
/* /*
* Given a sequence of 3 octets containing an OID, get_manuf_name() * Given a sequence of 3 octets containing an OID, get_manuf_name()
@ -160,7 +162,7 @@ extern const gchar *get_manuf_name(const guint8 *addr);
* Given a sequence of 3 octets containing an OID, get_manuf_name_if_known() * Given a sequence of 3 octets containing an OID, get_manuf_name_if_known()
* returns the vendor name, or NULL if not known. * returns the vendor name, or NULL if not known.
*/ */
extern const gchar *get_manuf_name_if_known(const guint8 *addr); WS_DLL_PUBLIC const gchar *get_manuf_name_if_known(const guint8 *addr);
/* /*
* Given an integer containing a 24-bit OID, uint_get_manuf_name() * Given an integer containing a 24-bit OID, uint_get_manuf_name()
@ -179,14 +181,14 @@ extern const gchar *uint_get_manuf_name_if_known(const guint oid);
* tvb_get_manuf_name() returns the vendor name, or "%02x:%02x:%02x" * tvb_get_manuf_name() returns the vendor name, or "%02x:%02x:%02x"
* if not known. * if not known.
*/ */
extern const gchar *tvb_get_manuf_name(tvbuff_t *tvb, gint offset); WS_DLL_PUBLIC const gchar *tvb_get_manuf_name(tvbuff_t *tvb, gint offset);
/* /*
* Given a tvbuff and an offset in that tvbuff for a 3-octet OID, * Given a tvbuff and an offset in that tvbuff for a 3-octet OID,
* tvb_get_manuf_name_if_known() returns the vendor name, or NULL * tvb_get_manuf_name_if_known() returns the vendor name, or NULL
* if not known. * if not known.
*/ */
extern const gchar *tvb_get_manuf_name_if_known(tvbuff_t *tvb, gint offset); WS_DLL_PUBLIC const gchar *tvb_get_manuf_name_if_known(tvbuff_t *tvb, gint offset);
/* get_eui64_name returns "<vendor>_%02x:%02x:%02x:%02x:%02x:%02x" if the vendor code is known /* get_eui64_name returns "<vendor>_%02x:%02x:%02x:%02x:%02x:%02x" if the vendor code is known
"%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x" */ "%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x" */
@ -209,10 +211,10 @@ extern guint8 *get_ether_addr(const gchar *name);
guint32 get_ipxnet_addr(const gchar *name, gboolean *known); guint32 get_ipxnet_addr(const gchar *name, gboolean *known);
/* adds a hostname/IPv4 in the hash table */ /* adds a hostname/IPv4 in the hash table */
extern void add_ipv4_name(const guint addr, const gchar *name); WS_DLL_PUBLIC void add_ipv4_name(const guint addr, const gchar *name);
/* adds a hostname/IPv6 in the hash table */ /* adds a hostname/IPv6 in the hash table */
extern void add_ipv6_name(const struct e_in6_addr *addr, const gchar *name); WS_DLL_PUBLIC void add_ipv6_name(const struct e_in6_addr *addr, const gchar *name);
/** Add an additional "hosts" file for IPv4 and IPv6 name resolution. /** Add an additional "hosts" file for IPv4 and IPv6 name resolution.
* *
@ -223,10 +225,10 @@ extern void add_ipv6_name(const struct e_in6_addr *addr, const gchar *name);
* *
* @return TRUE if the hosts file can be read. * @return TRUE if the hosts file can be read.
*/ */
extern gboolean add_hosts_file (const char *hosts_file); WS_DLL_PUBLIC gboolean add_hosts_file (const char *hosts_file);
/* adds a hostname in the hash table */ /* adds a hostname in the hash table */
extern gboolean add_ip_name_from_string (const char *addr, const char *name); WS_DLL_PUBLIC gboolean add_ip_name_from_string (const char *addr, const char *name);
/** Get a list of host name to address mappings we know about. /** Get a list of host name to address mappings we know about.
* *
@ -254,7 +256,7 @@ extern gboolean add_ip_name_from_string (const char *addr, const char *name);
* *
* @return The first element in our list of known addresses. May be NULL. * @return The first element in our list of known addresses. May be NULL.
*/ */
extern struct addrinfo *get_addrinfo_list(void); WS_DLL_PUBLIC struct addrinfo *get_addrinfo_list(void);
/* add ethernet address / name corresponding to IP address */ /* add ethernet address / name corresponding to IP address */
extern void add_ether_byip(const guint ip, const guint8 *eth); extern void add_ether_byip(const guint ip, const guint8 *eth);
@ -270,6 +272,7 @@ extern void add_ether_byip(const guint ip, const guint8 *eth);
* @param[out] addrp The numeric IPv4 address in network byte order. * @param[out] addrp The numeric IPv4 address in network byte order.
* @return TRUE on success, FALSE on failure, timeout. * @return TRUE on success, FALSE on failure, timeout.
*/ */
WS_DLL_PUBLIC
gboolean get_host_ipaddr(const char *host, guint32 *addrp); gboolean get_host_ipaddr(const char *host, guint32 *addrp);
/** Translates a string representing a hostname or colon-hex IPv6 address /** Translates a string representing a hostname or colon-hex IPv6 address
@ -283,6 +286,7 @@ gboolean get_host_ipaddr(const char *host, guint32 *addrp);
* @param[out] addrp The numeric IPv6 address in network byte order. * @param[out] addrp The numeric IPv6 address in network byte order.
* @return TRUE on success, FALSE on failure or timeout. * @return TRUE on success, FALSE on failure or timeout.
*/ */
WS_DLL_PUBLIC
gboolean get_host_ipaddr6(const char *host, struct e_in6_addr *addrp); gboolean get_host_ipaddr6(const char *host, struct e_in6_addr *addrp);
/* /*
@ -290,6 +294,7 @@ gboolean get_host_ipaddr6(const char *host, struct e_in6_addr *addrp);
* Return "ip6" if it is IPv6, "ip" otherwise (including the case * Return "ip6" if it is IPv6, "ip" otherwise (including the case
* that we don't know) * that we don't know)
*/ */
WS_DLL_PUBLIC
const char* host_ip_af(const char *host); const char* host_ip_af(const char *host);
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -26,6 +26,8 @@
#ifndef __ASN1_H__ #ifndef __ASN1_H__
#define __ASN1_H__ #define __ASN1_H__
#include "ws_symbol_export.h"
typedef enum { typedef enum {
ASN1_ENC_BER, /* X.690 - BER, CER, DER */ ASN1_ENC_BER, /* X.690 - BER, CER, DER */
ASN1_ENC_PER, /* X.691 - PER */ ASN1_ENC_PER, /* X.691 - PER */
@ -173,7 +175,7 @@ typedef struct _rose_ctx_t {
void *private_data; void *private_data;
} rose_ctx_t; } rose_ctx_t;
extern void asn1_ctx_init(asn1_ctx_t *actx, asn1_enc_e encoding, gboolean aligned, packet_info *pinfo); WS_DLL_PUBLIC void asn1_ctx_init(asn1_ctx_t *actx, asn1_enc_e encoding, gboolean aligned, packet_info *pinfo);
extern gboolean asn1_ctx_check_signature(asn1_ctx_t *actx); extern gboolean asn1_ctx_check_signature(asn1_ctx_t *actx);
extern void asn1_ctx_clean_external(asn1_ctx_t *actx); extern void asn1_ctx_clean_external(asn1_ctx_t *actx);
extern void asn1_ctx_clean_epdv(asn1_ctx_t *actx); extern void asn1_ctx_clean_epdv(asn1_ctx_t *actx);
@ -187,12 +189,12 @@ extern void asn1_param_push_integer(asn1_ctx_t *actx, gint32 value);
extern gboolean asn1_param_get_boolean(asn1_ctx_t *actx, const gchar *name); extern gboolean asn1_param_get_boolean(asn1_ctx_t *actx, const gchar *name);
extern gint32 asn1_param_get_integer(asn1_ctx_t *actx, const gchar *name); extern gint32 asn1_param_get_integer(asn1_ctx_t *actx, const gchar *name);
extern void rose_ctx_init(rose_ctx_t *rctx); WS_DLL_PUBLIC void rose_ctx_init(rose_ctx_t *rctx);
extern gboolean rose_ctx_check_signature(rose_ctx_t *rctx); extern gboolean rose_ctx_check_signature(rose_ctx_t *rctx);
extern void rose_ctx_clean_data(rose_ctx_t *rctx); WS_DLL_PUBLIC void rose_ctx_clean_data(rose_ctx_t *rctx);
extern asn1_ctx_t *get_asn1_ctx(void *ptr); WS_DLL_PUBLIC asn1_ctx_t *get_asn1_ctx(void *ptr);
extern rose_ctx_t *get_rose_ctx(void *ptr); WS_DLL_PUBLIC rose_ctx_t *get_rose_ctx(void *ptr);
extern double asn1_get_real(const guint8 *real_ptr, gint real_len); extern double asn1_get_real(const guint8 *real_ptr, gint real_len);

View File

@ -25,12 +25,14 @@
#define __BASE64_H__ #define __BASE64_H__
#include <epan/tvbuff.h> #include <epan/tvbuff.h>
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
/* In-place decoding of a base64 string. Resulting string is NULL terminated */ /* In-place decoding of a base64 string. Resulting string is NULL terminated */
WS_DLL_PUBLIC
size_t epan_base64_decode(char *s); size_t epan_base64_decode(char *s);
extern tvbuff_t* base64_to_tvb(tvbuff_t *parent, const char *base64); extern tvbuff_t* base64_to_tvb(tvbuff_t *parent, const char *base64);

View File

@ -25,11 +25,13 @@
#ifndef __BITSWAP_H__ #ifndef __BITSWAP_H__
#define __BITSWAP_H__ #define __BITSWAP_H__
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
extern guint8 swaptab[256]; WS_DLL_PUBLIC guint8 swaptab[256];
#define BIT_SWAP(b) (swaptab[b]) #define BIT_SWAP(b) (swaptab[b])

View File

@ -32,6 +32,7 @@
#include <epan/conversation.h> #include <epan/conversation.h>
#include <epan/dissectors/packet-camel.h> #include <epan/dissectors/packet-camel.h>
#include <epan/tcap-persistentdata.h> #include <epan/tcap-persistentdata.h>
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -56,7 +57,7 @@ extern "C" {
#define CAMELSRT_SMS_INITIALDP 9 #define CAMELSRT_SMS_INITIALDP 9
WS_VAR_IMPORT const value_string camelSRTtype_naming[]; WS_DLL_PUBLIC const value_string camelSRTtype_naming[];
/** If we have a request message and its response, /** If we have a request message and its response,
(eg: ApplyCharging, ApplyChargingReport) (eg: ApplyCharging, ApplyChargingReport)
@ -134,7 +135,7 @@ void camelsrt_call_matching(tvbuff_t *tvb,
proto_tree *tree, proto_tree *tree,
struct camelsrt_info_t * p_camel_info); struct camelsrt_info_t * p_camel_info);
WS_VAR_IMPORT gboolean gcamel_StatSRT; WS_DLL_PUBLIC gboolean gcamel_StatSRT;
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -24,6 +24,8 @@
#ifndef __CHARSETS_H__ #ifndef __CHARSETS_H__
#define __CHARSETS_H__ #define __CHARSETS_H__
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -32,7 +34,9 @@ extern "C" {
void ASCII_to_EBCDIC(guint8 *buf, guint bytes); void ASCII_to_EBCDIC(guint8 *buf, guint bytes);
guint8 ASCII_to_EBCDIC1(guint8 c); guint8 ASCII_to_EBCDIC1(guint8 c);
#endif #endif
WS_DLL_PUBLIC
void EBCDIC_to_ASCII(guint8 *buf, guint bytes); void EBCDIC_to_ASCII(guint8 *buf, guint bytes);
WS_DLL_PUBLIC
guint8 EBCDIC_to_ASCII1(guint8 c); guint8 EBCDIC_to_ASCII1(guint8 c);
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -26,6 +26,7 @@
#define __CIRCUIT_H__ #define __CIRCUIT_H__
#include "packet.h" /* for circuit dissector type */ #include "packet.h" /* for circuit dissector type */
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -65,7 +66,7 @@ extern void circuit_init(void);
* Given a circuit type and circuit ID for a packet, create a new circuit * Given a circuit type and circuit ID for a packet, create a new circuit
* to contain packets for that circuit. * to contain packets for that circuit.
*/ */
extern circuit_t *circuit_new(circuit_type ctype, guint32 circuit_id, WS_DLL_PUBLIC circuit_t *circuit_new(circuit_type ctype, guint32 circuit_id,
guint32 first_frame); guint32 first_frame);
/** /**
@ -73,7 +74,7 @@ extern circuit_t *circuit_new(circuit_type ctype, guint32 circuit_id,
* that type and ID whose range of frames includes that frame number. * that type and ID whose range of frames includes that frame number.
* Returns NULL if not found. * Returns NULL if not found.
*/ */
extern circuit_t *find_circuit(circuit_type ctype, guint32 circuit_id, WS_DLL_PUBLIC circuit_t *find_circuit(circuit_type ctype, guint32 circuit_id,
guint32 frame); guint32 frame);
/** /**
@ -82,10 +83,10 @@ extern circuit_t *find_circuit(circuit_type ctype, guint32 circuit_id,
*/ */
extern void close_circuit(circuit_t *circuit, guint32 last_frame); extern void close_circuit(circuit_t *circuit, guint32 last_frame);
extern void circuit_add_proto_data(circuit_t *conv, int proto, WS_DLL_PUBLIC void circuit_add_proto_data(circuit_t *conv, int proto,
void *proto_data); void *proto_data);
extern void *circuit_get_proto_data(circuit_t *conv, int proto); WS_DLL_PUBLIC void *circuit_get_proto_data(circuit_t *conv, int proto);
extern void circuit_delete_proto_data(circuit_t *conv, int proto); void circuit_delete_proto_data(circuit_t *conv, int proto);
extern void circuit_set_dissector(circuit_t *circuit, extern void circuit_set_dissector(circuit_t *circuit,
dissector_handle_t handle); dissector_handle_t handle);

View File

@ -26,6 +26,7 @@
#define _CODECS_H_ #define _CODECS_H_
#include <epan/epan.h> #include <epan/epan.h>
#include "ws_symbol_export.h"
struct codec_handle; struct codec_handle;
typedef struct codec_handle *codec_handle_t; typedef struct codec_handle *codec_handle_t;
@ -34,10 +35,10 @@ typedef void *(*codec_init_fn)(void);
typedef void (*codec_release_fn)(void *context); typedef void (*codec_release_fn)(void *context);
typedef int (*codec_decode_fn)(void *context, const void *input, int inputSizeBytes, void *output, int *outputSizeBytes); typedef int (*codec_decode_fn)(void *context, const void *input, int inputSizeBytes, void *output, int *outputSizeBytes);
extern void register_codec(const char *name, codec_init_fn init_fn, codec_release_fn release_fn, codec_decode_fn decode_fn); WS_DLL_PUBLIC void register_codec(const char *name, codec_init_fn init_fn, codec_release_fn release_fn, codec_decode_fn decode_fn);
extern codec_handle_t find_codec(const char *name); WS_DLL_PUBLIC codec_handle_t find_codec(const char *name);
extern void *codec_init(codec_handle_t codec); WS_DLL_PUBLIC void *codec_init(codec_handle_t codec);
extern void codec_release(codec_handle_t codec, void *context); WS_DLL_PUBLIC void codec_release(codec_handle_t codec, void *context);
extern int codec_decode(codec_handle_t codec, void *context, const void *input, int inputSizeBytes, void *output, int *outputSizeBytes); WS_DLL_PUBLIC int codec_decode(codec_handle_t codec, void *context, const void *input, int inputSizeBytes, void *output, int *outputSizeBytes);
#endif #endif

View File

@ -30,6 +30,7 @@
#include "column_info.h" #include "column_info.h"
#include "packet_info.h" #include "packet_info.h"
#include <epan/epan.h> #include <epan/epan.h>
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -44,14 +45,14 @@ extern "C" {
* *
* Internal, don't use this in dissectors! * Internal, don't use this in dissectors!
*/ */
extern void col_setup(column_info *cinfo, const gint num_cols); WS_DLL_PUBLIC void col_setup(column_info *cinfo, const gint num_cols);
/** Cleanup all the data structures for constructing column data; /** Cleanup all the data structures for constructing column data;
* undoes the alocations that col_setup() does. * undoes the alocations that col_setup() does.
* *
* Internal, don't use this in dissectors! * Internal, don't use this in dissectors!
*/ */
extern void col_cleanup(column_info *cinfo); WS_DLL_PUBLIC void col_cleanup(column_info *cinfo);
/** Initialize the data structures for constructing column data. /** Initialize the data structures for constructing column data.
* *
@ -63,13 +64,13 @@ extern void col_init(column_info *cinfo);
* *
* Internal, don't use this in dissectors! * Internal, don't use this in dissectors!
*/ */
extern void col_fill_in_frame_data(const frame_data *fd, column_info *cinfo, const gint col, gboolean const fill_col_exprs); WS_DLL_PUBLIC void col_fill_in_frame_data(const frame_data *fd, column_info *cinfo, const gint col, gboolean const fill_col_exprs);
/** Fill in all columns of the given packet. /** Fill in all columns of the given packet.
* *
* Internal, don't use this in dissectors! * Internal, don't use this in dissectors!
*/ */
extern void col_fill_in(packet_info *pinfo, const gboolean fill_col_exprs, const gboolean fill_fd_colums); WS_DLL_PUBLIC void col_fill_in(packet_info *pinfo, const gboolean fill_col_exprs, const gboolean fill_fd_colums);
/** Fill in columns if we got an error reading the packet. /** Fill in columns if we got an error reading the packet.
* We set most columns to "???", and set the Info column to an error * We set most columns to "???", and set the Info column to an error
@ -77,7 +78,7 @@ extern void col_fill_in(packet_info *pinfo, const gboolean fill_col_exprs, const
* *
* Internal, don't use this in dissectors! * Internal, don't use this in dissectors!
*/ */
extern void col_fill_in_error(column_info *cinfo, frame_data *fdata, const gboolean fill_col_exprs, const gboolean fill_fd_colums); WS_DLL_PUBLIC void col_fill_in_error(column_info *cinfo, frame_data *fdata, const gboolean fill_col_exprs, const gboolean fill_fd_colums);
/* Utility routines used by packet*.c */ /* Utility routines used by packet*.c */
@ -86,14 +87,14 @@ extern void col_fill_in_error(column_info *cinfo, frame_data *fdata, const gbool
* @param cinfo the current packet row * @param cinfo the current packet row
* @return TRUE if it's writable, FALSE if not * @return TRUE if it's writable, FALSE if not
*/ */
extern gboolean col_get_writable(column_info *cinfo); WS_DLL_PUBLIC gboolean col_get_writable(column_info *cinfo);
/** Set the columns writable. /** Set the columns writable.
* *
* @param cinfo the current packet row * @param cinfo the current packet row
* @param writable TRUE if it's writable, FALSE if not * @param writable TRUE if it's writable, FALSE if not
*/ */
extern void col_set_writable(column_info *cinfo, const gboolean writable); WS_DLL_PUBLIC void col_set_writable(column_info *cinfo, const gboolean writable);
/** /**
* Checks if the given column can be filled with data. * Checks if the given column can be filled with data.
@ -104,7 +105,7 @@ extern void col_set_writable(column_info *cinfo, const gboolean writable);
* @deprecated Not needed in new code the check is done in * @deprecated Not needed in new code the check is done in
* in the column function calls. * in the column function calls.
*/ */
extern gint check_col(column_info *cinfo, const gint col); WS_DLL_PUBLIC gint check_col(column_info *cinfo, const gint col);
/** Sets a fence for the current column content, /** Sets a fence for the current column content,
* so this content won't be affected by further col_... function calls. * so this content won't be affected by further col_... function calls.
@ -115,7 +116,7 @@ extern gint check_col(column_info *cinfo, const gint col);
* @param cinfo the current packet row * @param cinfo the current packet row
* @param col the column to use, e.g. COL_INFO * @param col the column to use, e.g. COL_INFO
*/ */
extern void col_set_fence(column_info *cinfo, const gint col); WS_DLL_PUBLIC void col_set_fence(column_info *cinfo, const gint col);
/** Gets the text of a column element. /** Gets the text of a column element.
* *
@ -131,7 +132,7 @@ extern const gchar *col_get_text(column_info *cinfo, const gint col);
* @param cinfo the current packet row * @param cinfo the current packet row
* @param col the column to use, e.g. COL_INFO * @param col the column to use, e.g. COL_INFO
*/ */
extern void col_clear(column_info *cinfo, const gint col); WS_DLL_PUBLIC void col_clear(column_info *cinfo, const gint col);
/** Set (replace) the text of a column element, the text won't be copied. /** Set (replace) the text of a column element, the text won't be copied.
* *
@ -141,7 +142,7 @@ extern void col_clear(column_info *cinfo, const gint col);
* @param col the column to use, e.g. COL_INFO * @param col the column to use, e.g. COL_INFO
* @param str the string to set * @param str the string to set
*/ */
extern void col_set_str(column_info *cinfo, const gint col, const gchar * str); WS_DLL_PUBLIC void col_set_str(column_info *cinfo, const gint col, const gchar * str);
/** Add (replace) the text of a column element, the text will be copied. /** Add (replace) the text of a column element, the text will be copied.
* *
@ -149,7 +150,7 @@ extern void col_set_str(column_info *cinfo, const gint col, const gchar * str);
* @param col the column to use, e.g. COL_INFO * @param col the column to use, e.g. COL_INFO
* @param str the string to add * @param str the string to add
*/ */
extern void col_add_str(column_info *cinfo, const gint col, const gchar *str); WS_DLL_PUBLIC void col_add_str(column_info *cinfo, const gint col, const gchar *str);
/** Add (replace) the text of a column element, the text will be formatted and copied. /** Add (replace) the text of a column element, the text will be formatted and copied.
* *
@ -160,20 +161,24 @@ extern void col_add_str(column_info *cinfo, const gint col, const gchar *str);
* @param format the format string * @param format the format string
* @param ... the variable number of parameters * @param ... the variable number of parameters
*/ */
extern void col_add_fstr(column_info *cinfo, const gint col, const gchar *format, ...) WS_DLL_PUBLIC void col_add_fstr(column_info *cinfo, const gint col, const gchar *format, ...)
G_GNUC_PRINTF(3, 4); G_GNUC_PRINTF(3, 4);
/** For internal Wireshark use only. Not to be called from dissectors. */ /** For internal Wireshark use only. Not to be called from dissectors. */
void col_custom_set_edt(epan_dissect_t *edt, column_info *cinfo); void col_custom_set_edt(epan_dissect_t *edt, column_info *cinfo);
/** For internal Wireshark use only. Not to be called from dissectors. */ /** For internal Wireshark use only. Not to be called from dissectors. */
WS_DLL_PUBLIC
void col_custom_prime_edt(epan_dissect_t *edt, column_info *cinfo); void col_custom_prime_edt(epan_dissect_t *edt, column_info *cinfo);
/** For internal Wireshark use only. Not to be called from dissectors. */ /** For internal Wireshark use only. Not to be called from dissectors. */
WS_DLL_PUBLIC
gboolean have_custom_cols(column_info *cinfo); gboolean have_custom_cols(column_info *cinfo);
/** For internal Wireshark use only. Not to be called from dissectors. */ /** For internal Wireshark use only. Not to be called from dissectors. */
WS_DLL_PUBLIC
gboolean col_has_time_fmt(column_info *cinfo, const gint col); gboolean col_has_time_fmt(column_info *cinfo, const gint col);
/** For internal Wireshark use only. Not to be called from dissectors. */ /** For internal Wireshark use only. Not to be called from dissectors. */
WS_DLL_PUBLIC
gboolean col_based_on_frame_data(column_info *cinfo, const gint col); gboolean col_based_on_frame_data(column_info *cinfo, const gint col);
/** Append the given text to a column element, the text will be copied. /** Append the given text to a column element, the text will be copied.
@ -182,7 +187,7 @@ gboolean col_based_on_frame_data(column_info *cinfo, const gint col);
* @param col the column to use, e.g. COL_INFO * @param col the column to use, e.g. COL_INFO
* @param str the string to append * @param str the string to append
*/ */
extern void col_append_str(column_info *cinfo, const gint col, const gchar *str); WS_DLL_PUBLIC void col_append_str(column_info *cinfo, const gint col, const gchar *str);
/** Append the given text to a column element, the text will be formatted and copied. /** Append the given text to a column element, the text will be formatted and copied.
* *
@ -193,7 +198,7 @@ extern void col_append_str(column_info *cinfo, const gint col, const gchar *str)
* @param format the format string * @param format the format string
* @param ... the variable number of parameters * @param ... the variable number of parameters
*/ */
extern void col_append_fstr(column_info *cinfo, const gint col, const gchar *format, ...) WS_DLL_PUBLIC void col_append_fstr(column_info *cinfo, const gint col, const gchar *format, ...)
G_GNUC_PRINTF(3, 4); G_GNUC_PRINTF(3, 4);
/** Prepend the given text to a column element, the text will be formatted and copied. /** Prepend the given text to a column element, the text will be formatted and copied.
@ -203,7 +208,7 @@ extern void col_append_fstr(column_info *cinfo, const gint col, const gchar *for
* @param format the format string * @param format the format string
* @param ... the variable number of parameters * @param ... the variable number of parameters
*/ */
extern void col_prepend_fstr(column_info *cinfo, const gint col, const gchar *format, ...) WS_DLL_PUBLIC void col_prepend_fstr(column_info *cinfo, const gint col, const gchar *format, ...)
G_GNUC_PRINTF(3, 4); G_GNUC_PRINTF(3, 4);
/**Prepend the given text to a column element, the text will be formatted and copied. /**Prepend the given text to a column element, the text will be formatted and copied.
@ -214,7 +219,7 @@ extern void col_prepend_fstr(column_info *cinfo, const gint col, const gchar *fo
* there is already a fence created. This function will create a fence in case * there is already a fence created. This function will create a fence in case
* it does not yet exist. * it does not yet exist.
*/ */
extern void col_prepend_fence_fstr(column_info *cinfo, const gint col, const gchar *format, ...) WS_DLL_PUBLIC void col_prepend_fence_fstr(column_info *cinfo, const gint col, const gchar *format, ...)
G_GNUC_PRINTF(3, 4); G_GNUC_PRINTF(3, 4);
/** Append the given text (prepended by a separator) to a column element. /** Append the given text (prepended by a separator) to a column element.
@ -226,7 +231,7 @@ extern void col_prepend_fence_fstr(column_info *cinfo, const gint col, const gch
* @param sep the separator string or NULL for default: ", " * @param sep the separator string or NULL for default: ", "
* @param str the string to append * @param str the string to append
*/ */
extern void col_append_sep_str(column_info *cinfo, const gint col, const gchar *sep, WS_DLL_PUBLIC void col_append_sep_str(column_info *cinfo, const gint col, const gchar *sep,
const gchar *str); const gchar *str);
/** Append the given text (prepended by a separator) to a column element. /** Append the given text (prepended by a separator) to a column element.
@ -239,7 +244,7 @@ extern void col_append_sep_str(column_info *cinfo, const gint col, const gchar *
* @param format the format string * @param format the format string
* @param ... the variable number of parameters * @param ... the variable number of parameters
*/ */
extern void col_append_sep_fstr(column_info *cinfo, const gint col, const gchar *sep, WS_DLL_PUBLIC void col_append_sep_fstr(column_info *cinfo, const gint col, const gchar *sep,
const gchar *format, ...) const gchar *format, ...)
G_GNUC_PRINTF(4, 5); G_GNUC_PRINTF(4, 5);
@ -254,10 +259,10 @@ extern void col_append_sep_fstr(column_info *cinfo, const gint col, const gchar
* @param fieldname the fieldname to use for creating a filter (when * @param fieldname the fieldname to use for creating a filter (when
* applying/preparing/copying as filter) * applying/preparing/copying as filter)
*/ */
extern void col_set_time(column_info *cinfo, const int col, WS_DLL_PUBLIC void col_set_time(column_info *cinfo, const int col,
const nstime_t *ts, const char *fieldname); const nstime_t *ts, const char *fieldname);
extern void set_fd_time(frame_data *fd, gchar *buf); WS_DLL_PUBLIC void set_fd_time(frame_data *fd, gchar *buf);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -25,6 +25,8 @@
#ifndef __COLUMN_H__ #ifndef __COLUMN_H__
#define __COLUMN_H__ #define __COLUMN_H__
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -38,26 +40,46 @@ typedef struct _fmt_data {
gboolean resolved; /* if TRUE, show a more human-readable name */ gboolean resolved; /* if TRUE, show a more human-readable name */
} fmt_data; } fmt_data;
WS_DLL_PUBLIC
const gchar *col_format_to_string(const gint); const gchar *col_format_to_string(const gint);
WS_DLL_PUBLIC
const gchar *col_format_desc(const gint); const gchar *col_format_desc(const gint);
WS_DLL_PUBLIC
gint get_column_format(const gint); gint get_column_format(const gint);
WS_DLL_PUBLIC
void set_column_format(const gint, const gint); void set_column_format(const gint, const gint);
WS_DLL_PUBLIC
void get_column_format_matches(gboolean *, const gint); void get_column_format_matches(gboolean *, const gint);
WS_DLL_PUBLIC
gint get_column_format_from_str(const gchar *); gint get_column_format_from_str(const gchar *);
WS_DLL_PUBLIC
gchar *get_column_title(const gint); gchar *get_column_title(const gint);
WS_DLL_PUBLIC
void set_column_title(const gint, const gchar *); void set_column_title(const gint, const gchar *);
WS_DLL_PUBLIC
gboolean get_column_visible(const gint); gboolean get_column_visible(const gint);
WS_DLL_PUBLIC
void set_column_visible(const gint, gboolean); void set_column_visible(const gint, gboolean);
WS_DLL_PUBLIC
gboolean get_column_resolved(const gint); gboolean get_column_resolved(const gint);
WS_DLL_PUBLIC
void set_column_resolved(const gint, gboolean); void set_column_resolved(const gint, gboolean);
WS_DLL_PUBLIC
const gchar *get_column_custom_field(const gint); const gchar *get_column_custom_field(const gint);
WS_DLL_PUBLIC
void set_column_custom_field(const gint, const char *); void set_column_custom_field(const gint, const char *);
WS_DLL_PUBLIC
gint get_column_custom_occurrence(const gint); gint get_column_custom_occurrence(const gint);
WS_DLL_PUBLIC
void set_column_custom_occurrence(const gint, const gint); void set_column_custom_occurrence(const gint, const gint);
WS_DLL_PUBLIC
const gchar *get_column_width_string(const gint, const gint); const gchar *get_column_width_string(const gint, const gint);
WS_DLL_PUBLIC
const char *get_column_longest_string(const gint); const char *get_column_longest_string(const gint);
WS_DLL_PUBLIC
gint get_column_char_width(const gint format); gint get_column_char_width(const gint format);
WS_DLL_PUBLIC
void void
build_column_format_array(column_info *cinfo, const gint num_cols, const gboolean reset_fences); build_column_format_array(column_info *cinfo, const gint num_cols, const gboolean reset_fences);

View File

@ -25,6 +25,8 @@
#ifndef __CONVERSATION_H__ #ifndef __CONVERSATION_H__
#define __CONVERSATION_H__ #define __CONVERSATION_H__
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -102,7 +104,7 @@ extern void conversation_init(void);
* and/or port 2 value are not given and any value is acceptable * and/or port 2 value are not given and any value is acceptable
* when searching for this conversation. * when searching for this conversation.
*/ */
extern conversation_t *conversation_new(const guint32 setup_frame, const address *addr1, const address *addr2, WS_DLL_PUBLIC conversation_t *conversation_new(const guint32 setup_frame, const address *addr1, const address *addr2,
const port_type ptype, const guint32 port1, const guint32 port2, const guint options); const port_type ptype, const guint32 port1, const guint32 port2, const guint options);
/** /**
@ -141,7 +143,7 @@ extern conversation_t *conversation_new(const guint32 setup_frame, const address
* *
* otherwise, we found no matching conversation, and return NULL. * otherwise, we found no matching conversation, and return NULL.
*/ */
extern conversation_t *find_conversation(const guint32 frame_num, const address *addr_a, const address *addr_b, WS_DLL_PUBLIC conversation_t *find_conversation(const guint32 frame_num, const address *addr_a, const address *addr_b,
const port_type ptype, const guint32 port_a, const guint32 port_b, const guint options); const port_type ptype, const guint32 port_a, const guint32 port_b, const guint options);
/** A helper function that calls find_conversation() and, if a conversation is /** A helper function that calls find_conversation() and, if a conversation is
@ -150,14 +152,14 @@ extern conversation_t *find_conversation(const guint32 frame_num, const address
* No options are used, though we could extend this API to include an options * No options are used, though we could extend this API to include an options
* parameter. * parameter.
*/ */
extern conversation_t *find_or_create_conversation(packet_info *pinfo); WS_DLL_PUBLIC conversation_t *find_or_create_conversation(packet_info *pinfo);
extern void conversation_add_proto_data(conversation_t *conv, const int proto, WS_DLL_PUBLIC void conversation_add_proto_data(conversation_t *conv, const int proto,
void *proto_data); void *proto_data);
extern void *conversation_get_proto_data(const conversation_t *conv, const int proto); WS_DLL_PUBLIC void *conversation_get_proto_data(const conversation_t *conv, const int proto);
extern void conversation_delete_proto_data(conversation_t *conv, const int proto); WS_DLL_PUBLIC void conversation_delete_proto_data(conversation_t *conv, const int proto);
extern void conversation_set_dissector(conversation_t *conversation, WS_DLL_PUBLIC void conversation_set_dissector(conversation_t *conversation,
const dissector_handle_t handle); const dissector_handle_t handle);
/** /**
* Given two address/port pairs for a packet, search for a matching * Given two address/port pairs for a packet, search for a matching

View File

@ -36,6 +36,7 @@
#include <glib.h> #include <glib.h>
#include <epan/tvbuff.h> #include <epan/tvbuff.h>
#include <wsutil/crc16.h> #include <wsutil/crc16.h>
#include <epan/crc16-tvb.h>
#include <wsutil/crc16-plain.h> #include <wsutil/crc16-plain.h>

View File

@ -27,6 +27,8 @@
#ifndef __CRC16_TVB_H__ #ifndef __CRC16_TVB_H__
#define __CRC16_TVB_H__ #define __CRC16_TVB_H__
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -35,20 +37,20 @@ extern "C" {
@param tvb The tv buffer containing the data. @param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@return The CRC16 CCITT checksum. */ @return The CRC16 CCITT checksum. */
extern guint16 crc16_ccitt_tvb(tvbuff_t *tvb, guint len); WS_DLL_PUBLIC guint16 crc16_ccitt_tvb(tvbuff_t *tvb, guint len);
/** Compute CRC16 X.25 CCITT checksum of a tv buffer. /** Compute CRC16 X.25 CCITT checksum of a tv buffer.
@param tvb The tv buffer containing the data. @param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@return The CRC16 X.25 CCITT checksum. */ @return The CRC16 X.25 CCITT checksum. */
extern guint16 crc16_x25_ccitt_tvb(tvbuff_t *tvb, guint len); WS_DLL_PUBLIC guint16 crc16_x25_ccitt_tvb(tvbuff_t *tvb, guint len);
/** Compute CRC16 CCITT checksum of a tv buffer. /** Compute CRC16 CCITT checksum of a tv buffer.
@param tvb The tv buffer containing the data. @param tvb The tv buffer containing the data.
@param offset The offset into the tv buffer. @param offset The offset into the tv buffer.
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@return The CRC16 CCITT checksum. */ @return The CRC16 CCITT checksum. */
extern guint16 crc16_ccitt_tvb_offset(tvbuff_t *tvb, guint offset, guint len); WS_DLL_PUBLIC guint16 crc16_ccitt_tvb_offset(tvbuff_t *tvb, guint offset, guint len);
/** Compute CRC16 CCITT checksum of a tv buffer. If computing the /** Compute CRC16 CCITT checksum of a tv buffer. If computing the
* checksum over multiple tv buffers and you want to feed the partial CRC16 * checksum over multiple tv buffers and you want to feed the partial CRC16
@ -57,7 +59,7 @@ extern guint16 crc16_ccitt_tvb_offset(tvbuff_t *tvb, guint offset, guint len);
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@param seed The seed to use. @param seed The seed to use.
@return The CRC16 CCITT checksum (using the given seed). */ @return The CRC16 CCITT checksum (using the given seed). */
extern guint16 crc16_ccitt_tvb_seed(tvbuff_t *tvb, guint len, guint16 seed); WS_DLL_PUBLIC guint16 crc16_ccitt_tvb_seed(tvbuff_t *tvb, guint len, guint16 seed);
/** Compute CRC16 CCITT checksum of a tv buffer. If computing the /** Compute CRC16 CCITT checksum of a tv buffer. If computing the
* checksum over multiple tv buffers and you want to feed the partial CRC16 * checksum over multiple tv buffers and you want to feed the partial CRC16
@ -67,7 +69,7 @@ extern guint16 crc16_ccitt_tvb_seed(tvbuff_t *tvb, guint len, guint16 seed);
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@param seed The seed to use. @param seed The seed to use.
@return The CRC16 CCITT checksum (using the given seed). */ @return The CRC16 CCITT checksum (using the given seed). */
extern guint16 crc16_ccitt_tvb_offset_seed(tvbuff_t *tvb, guint offset, WS_DLL_PUBLIC guint16 crc16_ccitt_tvb_offset_seed(tvbuff_t *tvb, guint offset,
guint len, guint16 seed); guint len, guint16 seed);
/** Compute the "plain" CRC16 checksum of a tv buffer using the following /** Compute the "plain" CRC16 checksum of a tv buffer using the following
@ -84,7 +86,7 @@ extern guint16 crc16_ccitt_tvb_offset_seed(tvbuff_t *tvb, guint offset,
@param offset The offset into the tv buffer. @param offset The offset into the tv buffer.
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@return The CRC16 checksum. */ @return The CRC16 checksum. */
extern guint16 crc16_plain_tvb_offset(tvbuff_t *tvb, guint offset, guint len); WS_DLL_PUBLIC guint16 crc16_plain_tvb_offset(tvbuff_t *tvb, guint offset, guint len);
/** Compute the "plain" CRC16 checksum of a tv buffer using the following /** Compute the "plain" CRC16 checksum of a tv buffer using the following
* parameters: * parameters:
@ -101,7 +103,7 @@ extern guint16 crc16_plain_tvb_offset(tvbuff_t *tvb, guint offset, guint len);
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@param crc Starting CRC value @param crc Starting CRC value
@return The CRC16 checksum. */ @return The CRC16 checksum. */
extern guint16 crc16_plain_tvb_offset_seed(tvbuff_t *tvb, guint offset, guint len, guint16 crc); WS_DLL_PUBLIC guint16 crc16_plain_tvb_offset_seed(tvbuff_t *tvb, guint offset, guint len, guint16 crc);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -32,6 +32,7 @@
#include <glib.h> #include <glib.h>
#include <epan/tvbuff.h> #include <epan/tvbuff.h>
#include <wsutil/crc32.h> #include <wsutil/crc32.h>
#include <epan/crc32-tvb.h>
guint32 guint32

View File

@ -25,6 +25,8 @@
#ifndef __CRC32_TVB_H__ #ifndef __CRC32_TVB_H__
#define __CRC32_TVB_H__ #define __CRC32_TVB_H__
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -33,14 +35,14 @@ extern "C" {
@param tvb The tv buffer containing the data. @param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@return The CRC32 CCITT checksum. */ @return The CRC32 CCITT checksum. */
extern guint32 crc32_ccitt_tvb(tvbuff_t *tvb, guint len); WS_DLL_PUBLIC guint32 crc32_ccitt_tvb(tvbuff_t *tvb, guint len);
/** Compute CRC32 CCITT checksum of a tv buffer. /** Compute CRC32 CCITT checksum of a tv buffer.
@param tvb The tv buffer containing the data. @param tvb The tv buffer containing the data.
@param offset The offset into the tv buffer. @param offset The offset into the tv buffer.
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@return The CRC32 CCITT checksum. */ @return The CRC32 CCITT checksum. */
extern guint32 crc32_ccitt_tvb_offset(tvbuff_t *tvb, guint offset, guint len); WS_DLL_PUBLIC guint32 crc32_ccitt_tvb_offset(tvbuff_t *tvb, guint offset, guint len);
/** Compute CRC32 CCITT checksum of a tv buffer. If computing the /** Compute CRC32 CCITT checksum of a tv buffer. If computing the
* checksum over multiple tv buffers and you want to feed the partial CRC32 * checksum over multiple tv buffers and you want to feed the partial CRC32
@ -49,7 +51,7 @@ extern guint32 crc32_ccitt_tvb_offset(tvbuff_t *tvb, guint offset, guint len);
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@param seed The seed to use. @param seed The seed to use.
@return The CRC32 CCITT checksum (using the given seed). */ @return The CRC32 CCITT checksum (using the given seed). */
extern guint32 crc32_ccitt_tvb_seed(tvbuff_t *tvb, guint len, guint32 seed); WS_DLL_PUBLIC guint32 crc32_ccitt_tvb_seed(tvbuff_t *tvb, guint len, guint32 seed);
/** Compute CRC32 CCITT checksum of a tv buffer. If computing the /** Compute CRC32 CCITT checksum of a tv buffer. If computing the
* checksum over multiple tv buffers and you want to feed the partial CRC32 * checksum over multiple tv buffers and you want to feed the partial CRC32
@ -59,35 +61,35 @@ extern guint32 crc32_ccitt_tvb_seed(tvbuff_t *tvb, guint len, guint32 seed);
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@param seed The seed to use. @param seed The seed to use.
@return The CRC32 CCITT checksum (using the given seed). */ @return The CRC32 CCITT checksum (using the given seed). */
extern guint32 crc32_ccitt_tvb_offset_seed(tvbuff_t *tvb, guint offset, WS_DLL_PUBLIC guint32 crc32_ccitt_tvb_offset_seed(tvbuff_t *tvb, guint offset,
guint len, guint32 seed); guint len, guint32 seed);
/** Compute IEEE 802.x CRC32 checksum of a tv buffer. /** Compute IEEE 802.x CRC32 checksum of a tv buffer.
@param tvb The tv buffer containing the data. @param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@return The IEEE 802.x CRC32 checksum. */ @return The IEEE 802.x CRC32 checksum. */
extern guint32 crc32_802_tvb(tvbuff_t *tvb, guint len); WS_DLL_PUBLIC guint32 crc32_802_tvb(tvbuff_t *tvb, guint len);
/** Compute MPEG-2 CRC32 checksum of a tv buffer. /** Compute MPEG-2 CRC32 checksum of a tv buffer.
@param tvb The tv buffer containing the data. @param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@return The MPEG-2 CRC32 checksum. */ @return The MPEG-2 CRC32 checksum. */
extern guint32 crc32_mpeg2_tvb(tvbuff_t *tvb, guint len); WS_DLL_PUBLIC guint32 crc32_mpeg2_tvb(tvbuff_t *tvb, guint len);
/** Compute MPEG-2 CRC32 checksum of a tv buffer. /** Compute MPEG-2 CRC32 checksum of a tv buffer.
@param tvb The tv buffer containing the data. @param tvb The tv buffer containing the data.
@param offset The offset into the tv buffer. @param offset The offset into the tv buffer.
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@return The MPEG-2 CRC32 checksum. */ @return The MPEG-2 CRC32 checksum. */
extern guint32 crc32_mpeg2_tvb_offset(tvbuff_t *tvb, guint offset, guint len); WS_DLL_PUBLIC guint32 crc32_mpeg2_tvb_offset(tvbuff_t *tvb, guint offset, guint len);
/** Compute MPEG-2 CRC32 checksum of a buffer of data. /** Compute MPEG-2 CRC32 checksum of a buffer of data.
@param tvb The tv buffer containing the data. @param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@param seed The seed to use. @param seed The seed to use.
@return The CRC32 MPEG-2 checksum (using the given seed). */ @return The CRC32 MPEG-2 checksum (using the given seed). */
extern guint32 crc32_mpeg2_tvb_seed(tvbuff_t *tvb, guint len, guint32 seed); WS_DLL_PUBLIC guint32 crc32_mpeg2_tvb_seed(tvbuff_t *tvb, guint len, guint32 seed);
/** Compute MPEG-2 CRC32 checksum of a buffer of data. /** Compute MPEG-2 CRC32 checksum of a buffer of data.
@param tvb The tv buffer containing the data. @param tvb The tv buffer containing the data.
@ -95,7 +97,7 @@ extern guint32 crc32_mpeg2_tvb_seed(tvbuff_t *tvb, guint len, guint32 seed);
@param len The number of bytes to include in the computation. @param len The number of bytes to include in the computation.
@param seed The seed to use. @param seed The seed to use.
@return The CRC32 MPEG-2 checksum (using the given seed). */ @return The CRC32 MPEG-2 checksum (using the given seed). */
extern guint32 crc32_mpeg2_tvb_offset_seed(tvbuff_t *tvb, guint offset, WS_DLL_PUBLIC guint32 crc32_mpeg2_tvb_offset_seed(tvbuff_t *tvb, guint offset,
guint len, guint32 seed); guint len, guint32 seed);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -10,7 +10,7 @@ include Makefile.common
CFLAGS=$(WARNINGS_ARE_ERRORS) $(STANDARD_CFLAGS) \ CFLAGS=$(WARNINGS_ARE_ERRORS) $(STANDARD_CFLAGS) \
/I../.. $(GLIB_CFLAGS) $(GNUTLS_CFLAGS) \ /I../.. $(GLIB_CFLAGS) $(GNUTLS_CFLAGS) \
$(LIBGCRYPT_CFLAGS) $(LIBGCRYPT_CFLAGS) -DWS_BUILD_DLL
.c.obj:: .c.obj::
$(CC) $(CFLAGS) -Fd.\ -c $< $(CC) $(CFLAGS) -Fd.\ -c $<

View File

@ -42,6 +42,7 @@
#include "airpdcap_interop.h" #include "airpdcap_interop.h"
#include "airpdcap_user.h" #include "airpdcap_user.h"
#include "ws_symbol_export.h"
/************************************************************************/ /************************************************************************/
/* Constant definitions */ /* Constant definitions */
@ -316,6 +317,7 @@ INT AirPDcapSetLastSSID(
* This function is not thread-safe when used in parallel with context * This function is not thread-safe when used in parallel with context
* management functions and the packet process function on the same context. * management functions and the packet process function on the same context.
*/ */
WS_DLL_PUBLIC
INT AirPDcapInitContext( INT AirPDcapInitContext(
PAIRPDCAP_CONTEXT ctx) PAIRPDCAP_CONTEXT ctx)
; ;
@ -332,6 +334,7 @@ INT AirPDcapInitContext(
* management functions and the packet process function on the same * management functions and the packet process function on the same
* context. * context.
*/ */
WS_DLL_PUBLIC
INT AirPDcapDestroyContext( INT AirPDcapDestroyContext(
PAIRPDCAP_CONTEXT ctx) PAIRPDCAP_CONTEXT ctx)
; ;

View File

@ -41,6 +41,8 @@
/* File includes */ /* File includes */
/* */ /* */
#include "airpdcap_interop.h" #include "airpdcap_interop.h"
#include "ws_symbol_export.h"
/* */ /* */
/* */ /* */
/******************************************************************************/ /******************************************************************************/
@ -216,6 +218,7 @@ typedef struct _AIRPDCAP_KEYS_COLLECTION {
* success, or NULL on failure. * success, or NULL on failure.
* @see get_key_string() * @see get_key_string()
*/ */
WS_DLL_PUBLIC
decryption_key_t* decryption_key_t*
parse_key_string(gchar* key_string, guint8 key_type); parse_key_string(gchar* key_string, guint8 key_type);
@ -226,6 +229,7 @@ parse_key_string(gchar* key_string, guint8 key_type);
* @return A g_malloc()ed string representation of the key * @return A g_malloc()ed string representation of the key
* @see parse_key_string() * @see parse_key_string()
*/ */
WS_DLL_PUBLIC
gchar* gchar*
get_key_string(decryption_key_t* dk); get_key_string(decryption_key_t* dk);

View File

@ -38,12 +38,13 @@
#define _AIRPDCAP_WS_H #define _AIRPDCAP_WS_H
#include "airpdcap_system.h" #include "airpdcap_system.h"
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
WS_VAR_IMPORT AIRPDCAP_CONTEXT airpdcap_ctx; WS_DLL_PUBLIC AIRPDCAP_CONTEXT airpdcap_ctx;
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -25,6 +25,8 @@
#ifndef __MD5_H__ /**@todo Should this be _CRYPT_MD5_H__ ?*/ #ifndef __MD5_H__ /**@todo Should this be _CRYPT_MD5_H__ ?*/
#define __MD5_H__ #define __MD5_H__
#include "ws_symbol_export.h"
/** /**
* @file md5.h * @file md5.h
* @brief MD5 Functions * @brief MD5 Functions
@ -49,6 +51,7 @@ typedef struct md5_state_s
/** Initialize the algorithm. /** Initialize the algorithm.
* @param pms MD5 context. * @param pms MD5 context.
*/ */
WS_DLL_PUBLIC
void md5_init(md5_state_t *pms); void md5_init(md5_state_t *pms);
/** Append a string to the message. /** Append a string to the message.
@ -56,6 +59,7 @@ void md5_init(md5_state_t *pms);
* @param data Data. * @param data Data.
* @param nbytes Length of data. * @param nbytes Length of data.
*/ */
WS_DLL_PUBLIC
void md5_append( md5_state_t *pms, void md5_append( md5_state_t *pms,
const guint8 *data, size_t nbytes); const guint8 *data, size_t nbytes);
@ -63,6 +67,7 @@ void md5_append( md5_state_t *pms,
* @param pms MD5 context. * @param pms MD5 context.
* @param digest 16 byte digest. * @param digest 16 byte digest.
*/ */
WS_DLL_PUBLIC
void md5_finish(md5_state_t *pms, guint8 digest[16]); void md5_finish(md5_state_t *pms, guint8 digest[16]);
typedef struct md5_hmac_state_s typedef struct md5_hmac_state_s
@ -79,6 +84,7 @@ void md5_hmac_append(md5_hmac_state_t *hctx,
void md5_hmac_finish(md5_hmac_state_t *hctx, guint8 digest[16]); void md5_hmac_finish(md5_hmac_state_t *hctx, guint8 digest[16]);
WS_DLL_PUBLIC
void md5_hmac(const guint8* text, size_t text_len, const guint8* key, void md5_hmac(const guint8* text, size_t text_len, const guint8* key,
size_t key_len, guint8 digest[16]); size_t key_len, guint8 digest[16]);

View File

@ -17,7 +17,7 @@ GENERATED_CFLAGS=\
/I$(LEMON) \ /I$(LEMON) \
/I$(PCAP_DIR)\include /I$(PCAP_DIR)\include
CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS) CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS) -DWS_BUILD_DLL
.c.obj:: .c.obj::
$(CC) $(CFLAGS) -Fd.\ -c $< $(CC) $(CFLAGS) -Fd.\ -c $<

View File

@ -24,6 +24,9 @@
#ifndef _DFILTER_MACRO_H #ifndef _DFILTER_MACRO_H
#define _DFILTER_MACRO_H #define _DFILTER_MACRO_H
#include "ws_symbol_export.h"
#define DFILTER_MACRO_FILENAME "dfilter_macros" #define DFILTER_MACRO_FILENAME "dfilter_macros"
@ -39,6 +42,7 @@ typedef struct _dfilter_macro_t {
/* loop over the macros list */ /* loop over the macros list */
typedef void (*dfilter_macro_cb_t)(dfilter_macro_t*, void*); typedef void (*dfilter_macro_cb_t)(dfilter_macro_t*, void*);
WS_DLL_PUBLIC
void dfilter_macro_foreach(dfilter_macro_cb_t, void*); void dfilter_macro_foreach(dfilter_macro_cb_t, void*);
/* save dfilter macros to a file */ /* save dfilter macros to a file */
@ -52,8 +56,10 @@ const gchar* dfilter_macro_apply(const gchar* text, const gchar** error);
void dfilter_macro_init(void); void dfilter_macro_init(void);
WS_DLL_PUBLIC
void dfilter_macro_get_uat(void**); void dfilter_macro_get_uat(void**);
WS_DLL_PUBLIC
void dfilter_macro_build_ftv_cache(void* tree_root); void dfilter_macro_build_ftv_cache(void* tree_root);
#endif /* _DFILTER_MACRO_H */ #endif /* _DFILTER_MACRO_H */

View File

@ -24,6 +24,7 @@
#define DFILTER_H #define DFILTER_H
#include <glib.h> #include <glib.h>
#include "ws_symbol_export.h"
/* Passed back to user */ /* Passed back to user */
typedef struct _dfilter_t dfilter_t; typedef struct _dfilter_t dfilter_t;
@ -57,11 +58,13 @@ dfilter_cleanup(void);
* *
* Returns TRUE on success, FALSE on failure. * Returns TRUE on success, FALSE on failure.
*/ */
WS_DLL_PUBLIC
gboolean gboolean
dfilter_compile(const gchar *text, dfilter_t **dfp); dfilter_compile(const gchar *text, dfilter_t **dfp);
/* Frees all memory used by dfilter, and frees /* Frees all memory used by dfilter, and frees
* the dfilter itself. */ * the dfilter itself. */
WS_DLL_PUBLIC
void void
dfilter_free(dfilter_t *df); dfilter_free(dfilter_t *df);
@ -71,10 +74,11 @@ dfilter_free(dfilter_t *df);
* libwireshark.dll, we need a special declaration. * libwireshark.dll, we need a special declaration.
*/ */
WS_VAR_IMPORT const gchar *dfilter_error_msg; WS_DLL_PUBLIC const gchar *dfilter_error_msg;
/* Apply compiled dfilter */ /* Apply compiled dfilter */
WS_DLL_PUBLIC
gboolean gboolean
dfilter_apply_edt(dfilter_t *df, epan_dissect_t* edt); dfilter_apply_edt(dfilter_t *df, epan_dissect_t* edt);
@ -86,10 +90,12 @@ dfilter_apply(dfilter_t *df, proto_tree *tree);
void void
dfilter_prime_proto_tree(const dfilter_t *df, proto_tree *tree); dfilter_prime_proto_tree(const dfilter_t *df, proto_tree *tree);
WS_DLL_PUBLIC
GPtrArray * GPtrArray *
dfilter_deprecated_tokens(dfilter_t *df); dfilter_deprecated_tokens(dfilter_t *df);
/* Print bytecode of dfilter to stdout */ /* Print bytecode of dfilter to stdout */
WS_DLL_PUBLIC
void void
dfilter_dump(dfilter_t *df); dfilter_dump(dfilter_t *df);

View File

@ -27,6 +27,7 @@
#define __DRANGE_H__ #define __DRANGE_H__
#include <glib.h> #include <glib.h>
#include "ws_symbol_export.h"
/* Please don't directly manipulate these structs. Please use /* Please don't directly manipulate these structs. Please use
* the methods provided. If you REALLY can't do what you need to * the methods provided. If you REALLY can't do what you need to

View File

@ -25,6 +25,7 @@
#ifndef __DISSECTOR_FILTERS_H__ #ifndef __DISSECTOR_FILTERS_H__
#define __DISSECTOR_FILTERS_H__ #define __DISSECTOR_FILTERS_H__
#include "ws_symbol_export.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -41,7 +42,7 @@ typedef const gchar* (*build_filter_string_func)(packet_info *pinfo);
/** register a dissector filter */ /** register a dissector filter */
extern void register_dissector_filter(const char *name, is_filter_valid_func is_filter_valid, build_filter_string_func build_filter_string); WS_DLL_PUBLIC void register_dissector_filter(const char *name, is_filter_valid_func is_filter_valid, build_filter_string_func build_filter_string);
@ -53,7 +54,7 @@ typedef struct dissector_filter_s {
build_filter_string_func build_filter_string; build_filter_string_func build_filter_string;
} dissector_filter_t; } dissector_filter_t;
WS_VAR_IMPORT GList *dissector_filter_list; WS_DLL_PUBLIC GList *dissector_filter_list;
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -11,7 +11,7 @@ include Makefile.common
CFLAGS= $(WARNINGS_ARE_ERRORS) $(STANDARD_CFLAGS) \ CFLAGS= $(WARNINGS_ARE_ERRORS) $(STANDARD_CFLAGS) \
/I. /I.. /I../.. $(GLIB_CFLAGS) \ /I. /I.. /I../.. $(GLIB_CFLAGS) \
$(ZLIB_CFLAGS) \ $(ZLIB_CFLAGS) -DWS_BUILD_DLL\
$(GNUTLS_CFLAGS) $(NETTLE_CFLAGS) \ $(GNUTLS_CFLAGS) $(NETTLE_CFLAGS) \
$(KFW_CFLAGS) $(AIRPCAP_CFLAGS) $(GEOIP_CFLAGS) \ $(KFW_CFLAGS) $(AIRPCAP_CFLAGS) $(GEOIP_CFLAGS) \
/I$(PCAP_DIR)\include /I$(PCAP_DIR)\include

View File

@ -125,7 +125,7 @@ struct aspinfo {
/* /*
* value_string table for AFP command codes. * value_string table for AFP command codes.
*/ */
WS_VAR_IMPORT value_string_ext CommandCode_vals_ext; WS_DLL_PUBLIC value_string_ext CommandCode_vals_ext;
/* /*
* Value from table matching requests and responses; also passed to AFP * Value from table matching requests and responses; also passed to AFP

View File

@ -46,12 +46,12 @@ ext_value_string_t;
* without having to duplicate it. With MSVC and a * without having to duplicate it. With MSVC and a
* libwireshark.dll, we need a special declaration. * libwireshark.dll, we need a special declaration.
*/ */
WS_VAR_IMPORT const ext_value_string_t *ansi_a_bsmap_strings; WS_DLL_PUBLIC const ext_value_string_t *ansi_a_bsmap_strings;
WS_VAR_IMPORT const ext_value_string_t *ansi_a_dtap_strings; WS_DLL_PUBLIC const ext_value_string_t *ansi_a_dtap_strings;
WS_VAR_IMPORT const ext_value_string_t ansi_a_ios501_bsmap_strings[]; WS_DLL_PUBLIC const ext_value_string_t ansi_a_ios501_bsmap_strings[];
WS_VAR_IMPORT const ext_value_string_t ansi_a_ios501_dtap_strings[]; WS_DLL_PUBLIC const ext_value_string_t ansi_a_ios501_dtap_strings[];
WS_VAR_IMPORT const ext_value_string_t ansi_a_ios401_bsmap_strings[]; WS_DLL_PUBLIC const ext_value_string_t ansi_a_ios401_bsmap_strings[];
WS_VAR_IMPORT const ext_value_string_t ansi_a_ios401_dtap_strings[]; WS_DLL_PUBLIC const ext_value_string_t ansi_a_ios401_dtap_strings[];
#define A_VARIANT_IS634 4 #define A_VARIANT_IS634 4
#define A_VARIANT_TSB80 5 #define A_VARIANT_TSB80 5
@ -61,13 +61,13 @@ WS_VAR_IMPORT const ext_value_string_t ansi_a_ios401_dtap_strings[];
#define A_VARIANT_IOS401 9 #define A_VARIANT_IOS401 9
#define A_VARIANT_IOS501 10 #define A_VARIANT_IOS501 10
WS_VAR_IMPORT gint a_global_variant; WS_DLL_PUBLIC gint a_global_variant;
/* /*
* allows ANSI MAP to use this for IS-880 enhancements * allows ANSI MAP to use this for IS-880 enhancements
* based on the 'ansi_a_ios401_elem_1_strings/ansi_a_ios501_elem_1_strings' * based on the 'ansi_a_ios401_elem_1_strings/ansi_a_ios501_elem_1_strings'
*/ */
WS_VAR_IMPORT const ext_value_string_t *ansi_a_elem_1_strings; WS_DLL_PUBLIC const ext_value_string_t *ansi_a_elem_1_strings;
/* /*
* maximum number of strings that are allowed * maximum number of strings that are allowed

View File

@ -34,6 +34,8 @@
#ifndef PACKET_ANSI_MAP_H #ifndef PACKET_ANSI_MAP_H
#define PACKET_ANSI_MAP_H #define PACKET_ANSI_MAP_H
#include "ws_symbol_export.h"
#define ANSI_MAP_MAX_NUM_MESSAGE_TYPES 256 #define ANSI_MAP_MAX_NUM_MESSAGE_TYPES 256
typedef struct _ansi_map_tap_rec_t { typedef struct _ansi_map_tap_rec_t {
@ -47,7 +49,7 @@ typedef struct _ansi_map_tap_rec_t {
* without having to duplicate it. With MSVC and a * without having to duplicate it. With MSVC and a
* libwireshark.dll, we need a special declaration. * libwireshark.dll, we need a special declaration.
*/ */
WS_VAR_IMPORT const value_string ansi_map_opr_code_strings[]; WS_DLL_PUBLIC const value_string ansi_map_opr_code_strings[];

View File

@ -24,6 +24,9 @@
#ifndef __PACKET_AP1394_H__ #ifndef __PACKET_AP1394_H__
#define __PACKET_AP1394_H__ #define __PACKET_AP1394_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_ap1394(const guchar *, int, int, packet_counts *); void capture_ap1394(const guchar *, int, int, packet_counts *);
#endif #endif

View File

@ -24,6 +24,9 @@
#ifndef __PACKET_ARCNET_H__ #ifndef __PACKET_ARCNET_H__
#define __PACKET_ARCNET_H__ #define __PACKET_ARCNET_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_arcnet (const guchar *, int, packet_counts *, gboolean, gboolean); void capture_arcnet (const guchar *, int, packet_counts *, gboolean, gboolean);
#endif #endif

View File

@ -21,6 +21,8 @@
#ifndef __PACKET_ATALK_H__ #ifndef __PACKET_ATALK_H__
#define __PACKET_ATALK_H__ #define __PACKET_ATALK_H__
extern void capture_llap(packet_counts *ld); #include "ws_symbol_export.h"
WS_DLL_PUBLIC void capture_llap(packet_counts *ld);
#endif #endif

View File

@ -24,6 +24,9 @@
#ifndef __PACKET_ATM_H__ #ifndef __PACKET_ATM_H__
#define __PACKET_ATM_H__ #define __PACKET_ATM_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_atm(const union wtap_pseudo_header *, const guchar *, int, void capture_atm(const union wtap_pseudo_header *, const guchar *, int,
packet_counts *); packet_counts *);

View File

@ -27,6 +27,9 @@
#ifndef __PACKET_AX25_KISS_H__ #ifndef __PACKET_AX25_KISS_H__
#define __PACKET_AX25_KISS_H__ #define __PACKET_AX25_KISS_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_ax25_kiss(const guchar *, int, int, packet_counts *); void capture_ax25_kiss(const guchar *, int, int, packet_counts *);
#endif #endif

View File

@ -27,6 +27,9 @@
#ifndef __PACKET_AX25_H__ #ifndef __PACKET_AX25_H__
#define __PACKET_AX25_H__ #define __PACKET_AX25_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_ax25(const guchar *, int, int, packet_counts *); void capture_ax25(const guchar *, int, int, packet_counts *);
#endif #endif

View File

@ -29,6 +29,7 @@
#include <epan/proto.h> #include <epan/proto.h>
#include <epan/to_str.h> #include <epan/to_str.h>
#include <epan/asn1.h> #include <epan/asn1.h>
#include "ws_symbol_export.h"
#define BER_NOT_DECODED_YET(x) \ #define BER_NOT_DECODED_YET(x) \
proto_tree_add_text(tree, tvb, offset, 0, "something unknown here [%s]",x); \ proto_tree_add_text(tree, tvb, offset, 0, "something unknown here [%s]",x); \
@ -99,35 +100,35 @@ typedef int (*ber_old_type_fn)(gboolean, tvbuff_t*, int, asn1_ctx_t *actx, proto
/* this function dissects the identifier octer of the BER TLV. /* this function dissects the identifier octer of the BER TLV.
* We only handle TAGs (and LENGTHs) that fit inside 32 bit integers. * We only handle TAGs (and LENGTHs) that fit inside 32 bit integers.
*/ */
extern int get_ber_identifier(tvbuff_t *tvb, int offset, gint8 *ber_class, gboolean *pc, gint32 *tag); WS_DLL_PUBLIC int get_ber_identifier(tvbuff_t *tvb, int offset, gint8 *ber_class, gboolean *pc, gint32 *tag);
extern int dissect_ber_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, gint8 *ber_class, gboolean *pc, gint32 *tag); WS_DLL_PUBLIC int dissect_ber_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, gint8 *ber_class, gboolean *pc, gint32 *tag);
extern int dissect_unknown_ber(packet_info *pinfo, tvbuff_t *tvb, int offset, proto_tree *tree); WS_DLL_PUBLIC int dissect_unknown_ber(packet_info *pinfo, tvbuff_t *tvb, int offset, proto_tree *tree);
/* this function dissects the identifier octer of the BER TLV. /* this function dissects the identifier octer of the BER TLV.
* We only handle (TAGs and) LENGTHs that fit inside 32 bit integers. * We only handle (TAGs and) LENGTHs that fit inside 32 bit integers.
*/ */
extern int get_ber_length(tvbuff_t *tvb, int offset, guint32 *length, gboolean *ind); WS_DLL_PUBLIC int get_ber_length(tvbuff_t *tvb, int offset, guint32 *length, gboolean *ind);
extern int dissect_ber_length(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, guint32 *length, gboolean *ind); WS_DLL_PUBLIC int dissect_ber_length(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, guint32 *length, gboolean *ind);
extern int dissect_ber_tagged_type(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, gint8 tag_cls, gint32 tag_tag, gboolean tag_impl, ber_type_fn type); WS_DLL_PUBLIC int dissect_ber_tagged_type(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, gint8 tag_cls, gint32 tag_tag, gboolean tag_impl, ber_type_fn type);
extern int dissect_ber_constrained_octet_string(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, gint hf_id, tvbuff_t **out_tvb); extern int dissect_ber_constrained_octet_string(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, gint hf_id, tvbuff_t **out_tvb);
extern int dissect_ber_octet_string(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, tvbuff_t **out_tvb); WS_DLL_PUBLIC int dissect_ber_octet_string(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, tvbuff_t **out_tvb);
extern int dissect_ber_octet_string_wcb(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, ber_callback func); extern int dissect_ber_octet_string_wcb(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, ber_callback func);
extern int dissect_ber_old_octet_string_wcb(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, ber_old_callback func); extern int dissect_ber_old_octet_string_wcb(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, ber_old_callback func);
extern int dissect_ber_integer64(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, gint64 *value); WS_DLL_PUBLIC int dissect_ber_integer64(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, gint64 *value);
extern int dissect_ber_constrained_integer64(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint64 min_len, gint64 max_len, gint hf_id, gint64 *value); extern int dissect_ber_constrained_integer64(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint64 min_len, gint64 max_len, gint hf_id, gint64 *value);
extern int dissect_ber_integer(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, guint32 *value); WS_DLL_PUBLIC int dissect_ber_integer(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, guint32 *value);
extern int dissect_ber_constrained_integer(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, gint hf_id, guint32 *value); extern int dissect_ber_constrained_integer(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, gint hf_id, guint32 *value);
extern int dissect_ber_null(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id); WS_DLL_PUBLIC int dissect_ber_null(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id);
extern int dissect_ber_boolean(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, gboolean *value); WS_DLL_PUBLIC int dissect_ber_boolean(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, gboolean *value);
extern int dissect_ber_real(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, double *value); extern int dissect_ber_real(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, double *value);
extern int dissect_ber_external_type(gboolean implicit_tag, proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, gint hf_id, ber_callback func); extern int dissect_ber_external_type(gboolean implicit_tag, proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, gint hf_id, ber_callback func);
extern int dissect_ber_EmbeddedPDV_Type(gboolean implicit_tag, proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, gint hf_id, ber_callback func); WS_DLL_PUBLIC int dissect_ber_EmbeddedPDV_Type(gboolean implicit_tag, proto_tree *parent_tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, gint hf_id, ber_callback func);
#define BER_FLAGS_OPTIONAL 0x00000001 #define BER_FLAGS_OPTIONAL 0x00000001
#define BER_FLAGS_IMPLTAG 0x00000002 #define BER_FLAGS_IMPLTAG 0x00000002
@ -150,11 +151,11 @@ typedef struct _ber_old_sequence_t {
/* /*
* This function dissects a BER sequence * This function dissects a BER sequence
*/ */
extern int dissect_ber_sequence(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_sequence_t *seq, gint hf_id, gint ett_id); WS_DLL_PUBLIC int dissect_ber_sequence(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_sequence_t *seq, gint hf_id, gint ett_id);
extern int dissect_ber_set(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_sequence_t *seq, gint hf_id, gint ett_id); WS_DLL_PUBLIC int dissect_ber_set(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_sequence_t *seq, gint hf_id, gint ett_id);
/* To be removed when the transition to the "New" type is complete */ /* To be removed when the transition to the "New" type is complete */
extern int dissect_ber_old_sequence(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_old_sequence_t *seq, gint hf_id, gint ett_id); WS_DLL_PUBLIC int dissect_ber_old_sequence(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_old_sequence_t *seq, gint hf_id, gint ett_id);
extern int dissect_ber_old_set(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_old_sequence_t *seq, gint hf_id, gint ett_id); extern int dissect_ber_old_set(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_old_sequence_t *seq, gint hf_id, gint ett_id);
@ -177,39 +178,39 @@ typedef struct _ber_old_choice_t {
/* /*
* This function dissects a BER choice * This function dissects a BER choice
*/ */
extern int dissect_ber_choice(asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_choice_t *ch, gint hf_id, gint ett_id, gint *branch_taken); WS_DLL_PUBLIC int dissect_ber_choice(asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_choice_t *ch, gint hf_id, gint ett_id, gint *branch_taken);
/* To be removed when the transition to the "New" type is complete */ /* To be removed when the transition to the "New" type is complete */
extern int dissect_ber_old_choice(asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_old_choice_t *ch, gint hf_id, gint ett_id, gint *branch_taken); WS_DLL_PUBLIC int dissect_ber_old_choice(asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_old_choice_t *ch, gint hf_id, gint ett_id, gint *branch_taken);
/* /*
* This function dissects a BER strings * This function dissects a BER strings
*/ */
extern int dissect_ber_constrained_restricted_string(gboolean implicit_tag, gint32 type, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, gint hf_id, tvbuff_t **out_tvb); extern int dissect_ber_constrained_restricted_string(gboolean implicit_tag, gint32 type, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, gint hf_id, tvbuff_t **out_tvb);
extern int dissect_ber_restricted_string(gboolean implicit_tag, gint32 type, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, tvbuff_t **out_tvb); WS_DLL_PUBLIC int dissect_ber_restricted_string(gboolean implicit_tag, gint32 type, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, tvbuff_t **out_tvb);
extern int dissect_ber_GeneralString(asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, char *name_string, guint name_len); extern int dissect_ber_GeneralString(asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, char *name_string, guint name_len);
/* this function dissects a BER Object Identifier /* this function dissects a BER Object Identifier
*/ */
extern int dissect_ber_object_identifier(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, tvbuff_t **value_tvb); WS_DLL_PUBLIC int dissect_ber_object_identifier(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, tvbuff_t **value_tvb);
extern int dissect_ber_object_identifier_str(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, const char **value_stringx); WS_DLL_PUBLIC int dissect_ber_object_identifier_str(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id, const char **value_stringx);
/* this function dissects a BER sequence of /* this function dissects a BER sequence of
*/ */
extern int dissect_ber_constrained_sequence_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, const ber_sequence_t *seq, gint hf_id, gint ett_id); extern int dissect_ber_constrained_sequence_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, const ber_sequence_t *seq, gint hf_id, gint ett_id);
extern int dissect_ber_sequence_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_sequence_t *seq, gint hf_id, gint ett_id); WS_DLL_PUBLIC int dissect_ber_sequence_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_sequence_t *seq, gint hf_id, gint ett_id);
extern int dissect_ber_constrained_set_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, const ber_sequence_t *seq, gint hf_id, gint ett_id); extern int dissect_ber_constrained_set_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, const ber_sequence_t *seq, gint hf_id, gint ett_id);
extern int dissect_ber_set_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_sequence_t *seq, gint hf_id, gint ett_id); WS_DLL_PUBLIC int dissect_ber_set_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_sequence_t *seq, gint hf_id, gint ett_id);
/* To be removed when the transition to the "New" type is complete */ /* To be removed when the transition to the "New" type is complete */
extern int dissect_ber_old_sequence_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_old_sequence_t *seq, gint hf_id, gint ett_id); WS_DLL_PUBLIC int dissect_ber_old_sequence_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_old_sequence_t *seq, gint hf_id, gint ett_id);
extern int dissect_ber_old_set_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_old_sequence_t *seq, gint hf_id, gint ett_id); extern int dissect_ber_old_set_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const ber_old_sequence_t *seq, gint hf_id, gint ett_id);
extern int dissect_ber_GeneralizedTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id); WS_DLL_PUBLIC int dissect_ber_GeneralizedTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id);
extern int dissect_ber_UTCTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id); WS_DLL_PUBLIC int dissect_ber_UTCTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id);
typedef struct _asn_namedbit { typedef struct _asn_namedbit {
guint32 bit; guint32 bit;
@ -222,21 +223,30 @@ typedef struct _asn_namedbit {
/* this function dissects a BER BIT-STRING /* this function dissects a BER BIT-STRING
*/ */
extern int dissect_ber_constrained_bitstring(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, const asn_namedbit *named_bits, gint hf_id, gint ett_id, tvbuff_t **out_tvb); extern int dissect_ber_constrained_bitstring(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, gint32 min_len, gint32 max_len, const asn_namedbit *named_bits, gint hf_id, gint ett_id, tvbuff_t **out_tvb);
extern int dissect_ber_bitstring(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const asn_namedbit *named_bits, gint hf_id, gint ett_id, tvbuff_t **out_tvb); WS_DLL_PUBLIC int dissect_ber_bitstring(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, const asn_namedbit *named_bits, gint hf_id, gint ett_id, tvbuff_t **out_tvb);
extern int dissect_ber_bitstring32(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, int **bit_fields, gint hf_id, gint ett_id, tvbuff_t **out_tvb); extern int dissect_ber_bitstring32(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_tree, tvbuff_t *tvb, int offset, int **bit_fields, gint hf_id, gint ett_id, tvbuff_t **out_tvb);
WS_DLL_PUBLIC
int call_ber_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree); int call_ber_oid_callback(const char *oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
WS_DLL_PUBLIC
void register_ber_oid_dissector_handle(const char *oid, dissector_handle_t dissector, int proto, const char *name); void register_ber_oid_dissector_handle(const char *oid, dissector_handle_t dissector, int proto, const char *name);
WS_DLL_PUBLIC
void register_ber_oid_dissector(const char *oid, dissector_t dissector, int proto, const char *name); void register_ber_oid_dissector(const char *oid, dissector_t dissector, int proto, const char *name);
WS_DLL_PUBLIC
void register_ber_syntax_dissector(const char *oid, int proto, dissector_t dissector); void register_ber_syntax_dissector(const char *oid, int proto, dissector_t dissector);
void register_ber_oid_name(const char *oid, const char *name); void register_ber_oid_name(const char *oid, const char *name);
WS_DLL_PUBLIC
void register_ber_oid_syntax(const char *oid, const char *name, const char *syntax); void register_ber_oid_syntax(const char *oid, const char *name, const char *syntax);
void dissect_ber_oid_NULL_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); void dissect_ber_oid_NULL_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
WS_DLL_PUBLIC
void ber_decode_as_foreach(GHFunc func, gpointer user_data); /* iterate through known syntaxes */ void ber_decode_as_foreach(GHFunc func, gpointer user_data); /* iterate through known syntaxes */
WS_DLL_PUBLIC
void ber_decode_as(const gchar *syntax); /* decode the current capture as this syntax */ void ber_decode_as(const gchar *syntax); /* decode the current capture as this syntax */
WS_DLL_PUBLIC
void ber_set_filename(gchar *filename); /* name of current BER-encoded file */ void ber_set_filename(gchar *filename); /* name of current BER-encoded file */
WS_DLL_PUBLIC
gboolean oid_has_dissector(const char *oid); gboolean oid_has_dissector(const char *oid);
#endif /* __PACKET_BER_H__ */ #endif /* __PACKET_BER_H__ */

View File

@ -27,8 +27,9 @@
#ifndef __PACKET_BSSGP_H__ #ifndef __PACKET_BSSGP_H__
#define __PACKET_BSSGP_H__ #define __PACKET_BSSGP_H__
#include "ws_symbol_export.h"
WS_VAR_IMPORT value_string_ext bssgp_cause_vals_ext; WS_DLL_PUBLIC value_string_ext bssgp_cause_vals_ext;
void bssgp_suspend_ack(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len); void bssgp_suspend_ack(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len);
guint16 de_bssgp_cell_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_bssgp_cell_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);

View File

@ -42,6 +42,8 @@
#ifndef PACKET_CAMEL_H #ifndef PACKET_CAMEL_H
#define PACKET_CAMEL_H #define PACKET_CAMEL_H
#include "ws_symbol_export.h"
void proto_reg_handoff_camel(void); void proto_reg_handoff_camel(void);
void proto_register_camel(void); void proto_register_camel(void);
@ -49,7 +51,7 @@ void proto_register_camel(void);
#define camel_MAX_NUM_OPR_CODES 256 #define camel_MAX_NUM_OPR_CODES 256
WS_VAR_IMPORT const value_string camel_opr_code_strings[]; WS_DLL_PUBLIC const value_string camel_opr_code_strings[];
/* #include "packet-camel-exp.h"*/ /* #include "packet-camel-exp.h"*/
#endif /* PACKET_camel_H */ #endif /* PACKET_camel_H */

View File

@ -33,6 +33,9 @@
#define CHDLC_ADDR_UNICAST 0x0f #define CHDLC_ADDR_UNICAST 0x0f
#define CHDLC_ADDR_MULTICAST 0x8f #define CHDLC_ADDR_MULTICAST 0x8f
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_chdlc(const guchar *, int, int, packet_counts *); void capture_chdlc(const guchar *, int, int, packet_counts *);
extern const value_string chdlc_vals[]; extern const value_string chdlc_vals[];

View File

@ -24,6 +24,9 @@
#ifndef __PACKET_CLIP_H__ #ifndef __PACKET_CLIP_H__
#define __PACKET_CLIP_H__ #define __PACKET_CLIP_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_clip(const guchar *, int, packet_counts *); void capture_clip(const guchar *, int, packet_counts *);
#endif #endif

View File

@ -73,7 +73,7 @@ int dissect_dap_ServiceControlOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _
int dissect_dap_ContextSelection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_dap_ContextSelection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_dap_FamilyReturn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_dap_FamilyReturn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_dap_Filter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_dap_Filter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_dap_SecurityParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); WS_DLL_PUBLIC int dissect_dap_SecurityParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_dap_DirectoryBindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_dap_DirectoryBindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_dap_DirectoryBindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_dap_DirectoryBindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_dap_ReadArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_dap_ReadArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);

View File

@ -24,9 +24,12 @@
#ifndef __PACKET_DATA_H__ #ifndef __PACKET_DATA_H__
#define __PACKET_DATA_H__ #define __PACKET_DATA_H__
/* "proto_data" is exported from libwireshark.dll. #include "ws_symbol_export.h"
/*
"proto_data" is exported from libwireshark.dll.
* Thus we need a special declaration. * Thus we need a special declaration.
*/ */
WS_VAR_IMPORT int proto_data; WS_DLL_PUBLIC int proto_data;
#endif /* __PACKET_DATA_H__ */ #endif /* __PACKET_DATA_H__ */

View File

@ -26,6 +26,8 @@
#ifndef __PACKET_DCERPC_NT_H #ifndef __PACKET_DCERPC_NT_H
#define __PACKET_DCERPC_NT_H #define __PACKET_DCERPC_NT_H
#include "ws_symbol_export.h"
/* /*
* Platform ID values, used by several dissectors. * Platform ID values, used by several dissectors.
*/ */

View File

@ -27,6 +27,7 @@
#define __PACKET_DCERPC_H__ #define __PACKET_DCERPC_H__
#include <epan/conversation.h> #include <epan/conversation.h>
#include "ws_symbol_export.h"
/* /*
* Data representation. * Data representation.
@ -134,15 +135,19 @@ typedef struct _dcerpc_auth_info {
guint16 dcerpc_tvb_get_ntohs (tvbuff_t *tvb, gint offset, guint8 *drep); guint16 dcerpc_tvb_get_ntohs (tvbuff_t *tvb, gint offset, guint8 *drep);
guint32 dcerpc_tvb_get_ntohl (tvbuff_t *tvb, gint offset, guint8 *drep); guint32 dcerpc_tvb_get_ntohl (tvbuff_t *tvb, gint offset, guint8 *drep);
void dcerpc_tvb_get_uuid (tvbuff_t *tvb, gint offset, guint8 *drep, e_uuid_t *uuid); void dcerpc_tvb_get_uuid (tvbuff_t *tvb, gint offset, guint8 *drep, e_uuid_t *uuid);
WS_DLL_PUBLIC
int dissect_dcerpc_uint8 (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_dcerpc_uint8 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint8 *pdata); int hfindex, guint8 *pdata);
WS_DLL_PUBLIC
int dissect_dcerpc_uint16 (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_dcerpc_uint16 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint16 *pdata); int hfindex, guint16 *pdata);
WS_DLL_PUBLIC
int dissect_dcerpc_uint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_dcerpc_uint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint32 *pdata); int hfindex, guint32 *pdata);
WS_DLL_PUBLIC
int dissect_dcerpc_uint64 (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_dcerpc_uint64 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint64 *pdata); int hfindex, guint64 *pdata);
@ -155,6 +160,7 @@ int dissect_dcerpc_double (tvbuff_t *tvb, gint offset, packet_info *pinfo,
int dissect_dcerpc_time_t (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_dcerpc_time_t (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint32 *pdata); int hfindex, guint32 *pdata);
WS_DLL_PUBLIC
int dissect_dcerpc_uuid_t (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_dcerpc_uuid_t (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, e_uuid_t *pdata); int hfindex, e_uuid_t *pdata);
@ -162,18 +168,22 @@ int dissect_dcerpc_uuid_t (tvbuff_t *tvb, gint offset, packet_info *pinfo,
/* /*
* NDR routines for subdissectors. * NDR routines for subdissectors.
*/ */
WS_DLL_PUBLIC
int dissect_ndr_uint8 (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_ndr_uint8 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint8 *pdata); int hfindex, guint8 *pdata);
int PIDL_dissect_uint8 (tvbuff_t *tvb, gint offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hfindex, guint32 param); int PIDL_dissect_uint8 (tvbuff_t *tvb, gint offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hfindex, guint32 param);
WS_DLL_PUBLIC
int dissect_ndr_uint16 (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_ndr_uint16 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint16 *pdata); int hfindex, guint16 *pdata);
int PIDL_dissect_uint16 (tvbuff_t *tvb, gint offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hfindex, guint32 param); int PIDL_dissect_uint16 (tvbuff_t *tvb, gint offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hfindex, guint32 param);
WS_DLL_PUBLIC
int dissect_ndr_uint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_ndr_uint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint32 *pdata); int hfindex, guint32 *pdata);
int PIDL_dissect_uint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hfindex, guint32 param); int PIDL_dissect_uint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hfindex, guint32 param);
WS_DLL_PUBLIC
int dissect_ndr_duint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_ndr_duint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint64 *pdata); int hfindex, guint64 *pdata);
@ -184,12 +194,14 @@ int PIDL_dissect_uint64 (tvbuff_t *tvb, gint offset, packet_info *pinfo, proto_t
int dissect_ndr_float (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_ndr_float (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, gfloat *pdata); int hfindex, gfloat *pdata);
WS_DLL_PUBLIC
int dissect_ndr_double (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_ndr_double (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, gdouble *pdata); int hfindex, gdouble *pdata);
int dissect_ndr_time_t (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_ndr_time_t (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint32 *pdata); int hfindex, guint32 *pdata);
WS_DLL_PUBLIC
int dissect_ndr_uuid_t (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_ndr_uuid_t (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, e_uuid_t *pdata); int hfindex, e_uuid_t *pdata);
@ -200,12 +212,14 @@ int dissect_ndr_ctx_hnd (tvbuff_t *tvb, gint offset, packet_info *pinfo,
#define FT_UINT1632 FT_UINT32 #define FT_UINT1632 FT_UINT32
typedef guint32 guint1632; typedef guint32 guint1632;
WS_DLL_PUBLIC
int dissect_ndr_uint1632 (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_ndr_uint1632 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint1632 *pdata); int hfindex, guint1632 *pdata);
typedef guint64 guint3264; typedef guint64 guint3264;
WS_DLL_PUBLIC
int dissect_ndr_uint3264 (tvbuff_t *tvb, gint offset, packet_info *pinfo, int dissect_ndr_uint3264 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint3264 *pdata); int hfindex, guint3264 *pdata);
@ -283,9 +297,13 @@ typedef struct _dcerpc_sub_dissector {
} dcerpc_sub_dissector; } dcerpc_sub_dissector;
/* registration function for subdissectors */ /* registration function for subdissectors */
WS_DLL_PUBLIC
void dcerpc_init_uuid (int proto, int ett, e_uuid_t *uuid, guint16 ver, dcerpc_sub_dissector *procs, int opnum_hf); void dcerpc_init_uuid (int proto, int ett, e_uuid_t *uuid, guint16 ver, dcerpc_sub_dissector *procs, int opnum_hf);
WS_DLL_PUBLIC
const char *dcerpc_get_proto_name(e_uuid_t *uuid, guint16 ver); const char *dcerpc_get_proto_name(e_uuid_t *uuid, guint16 ver);
WS_DLL_PUBLIC
int dcerpc_get_proto_hf_opnum(e_uuid_t *uuid, guint16 ver); int dcerpc_get_proto_hf_opnum(e_uuid_t *uuid, guint16 ver);
WS_DLL_PUBLIC
dcerpc_sub_dissector *dcerpc_get_proto_sub_dissector(e_uuid_t *uuid, guint16 ver); dcerpc_sub_dissector *dcerpc_get_proto_sub_dissector(e_uuid_t *uuid, guint16 ver);
/* Create a opnum, name value_string from a subdissector list */ /* Create a opnum, name value_string from a subdissector list */
@ -353,12 +371,12 @@ typedef struct _dcerpc_info {
/* the init_protocol hooks. With MSVC and a /* the init_protocol hooks. With MSVC and a
* libwireshark.dll, we need a special declaration. * libwireshark.dll, we need a special declaration.
*/ */
WS_VAR_IMPORT GHookList dcerpc_hooks_init_protos; WS_DLL_PUBLIC GHookList dcerpc_hooks_init_protos;
/* the registered subdissectors. With MSVC and a /* the registered subdissectors. With MSVC and a
* libwireshark.dll, we need a special declaration. * libwireshark.dll, we need a special declaration.
*/ */
WS_VAR_IMPORT GHashTable *dcerpc_uuids; WS_DLL_PUBLIC GHashTable *dcerpc_uuids;
typedef struct _dcerpc_uuid_key { typedef struct _dcerpc_uuid_key {
e_uuid_t uuid; e_uuid_t uuid;
@ -420,9 +438,11 @@ typedef struct decode_dcerpc_bind_values_s {
} decode_dcerpc_bind_values_t; } decode_dcerpc_bind_values_t;
/* Helper for "decode as" dialog to set up a UUID/conversation binding. */ /* Helper for "decode as" dialog to set up a UUID/conversation binding. */
WS_DLL_PUBLIC
struct _dcerpc_bind_value * struct _dcerpc_bind_value *
dcerpc_add_conv_to_bind_table(decode_dcerpc_bind_values_t *binding); dcerpc_add_conv_to_bind_table(decode_dcerpc_bind_values_t *binding);
WS_DLL_PUBLIC
guint16 guint16
dcerpc_get_transport_salt (packet_info *pinfo); dcerpc_get_transport_salt (packet_info *pinfo);

View File

@ -27,31 +27,31 @@
#ifndef __PACKET_DCERPC_DCOM_DISPATCH_H #ifndef __PACKET_DCERPC_DCOM_DISPATCH_H
#define __PACKET_DCERPC_DCOM_DISPATCH_H #define __PACKET_DCERPC_DCOM_DISPATCH_H
extern int WS_DLL_PUBLIC int
dissect_IDispatch_GetTypeInfoCount_resp(tvbuff_t *tvb, int offset, dissect_IDispatch_GetTypeInfoCount_resp(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep); packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int WS_DLL_PUBLIC int
dissect_IDispatch_GetTypeInfo_rqst(tvbuff_t *tvb, int offset, dissect_IDispatch_GetTypeInfo_rqst(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep); packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int WS_DLL_PUBLIC int
dissect_IDispatch_GetTypeInfo_resp(tvbuff_t *tvb, int offset, dissect_IDispatch_GetTypeInfo_resp(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep); packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int WS_DLL_PUBLIC int
dissect_IDispatch_GetIDsOfNames_rqst(tvbuff_t *tvb, int offset, dissect_IDispatch_GetIDsOfNames_rqst(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep); packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int WS_DLL_PUBLIC int
dissect_IDispatch_GetIDsOfNames_resp(tvbuff_t *tvb, int offset, dissect_IDispatch_GetIDsOfNames_resp(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep); packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int WS_DLL_PUBLIC int
dissect_IDispatch_Invoke_rqst(tvbuff_t *tvb, int offset, dissect_IDispatch_Invoke_rqst(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep); packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int WS_DLL_PUBLIC int
dissect_IDispatch_Invoke_resp(tvbuff_t *tvb, int offset, dissect_IDispatch_Invoke_resp(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep); packet_info *pinfo, proto_tree *tree, guint8 *drep);

View File

@ -25,9 +25,10 @@
#ifndef __PACKET_DCERPC_DCOM_H #ifndef __PACKET_DCERPC_DCOM_H
#define __PACKET_DCERPC_DCOM_H #define __PACKET_DCERPC_DCOM_H
#include "ws_symbol_export.h"
WS_VAR_IMPORT const value_string dcom_hresult_vals[]; WS_DLL_PUBLIC const value_string dcom_hresult_vals[];
WS_VAR_IMPORT const value_string dcom_variant_type_vals[]; WS_DLL_PUBLIC const value_string dcom_variant_type_vals[];
extern const value_string dcom_protseq_vals[]; extern const value_string dcom_protseq_vals[];
extern int hf_dcom_iid; extern int hf_dcom_iid;
@ -39,7 +40,7 @@ extern int hf_dcom_ipid;
extern GHashTable *dcom_uuids; extern GHashTable *dcom_uuids;
/* preferences */ /* preferences */
extern gboolean dcom_prefs_display_unmarshalling_details; WS_DLL_PUBLIC gboolean dcom_prefs_display_unmarshalling_details;
typedef struct dcom_machine_s { typedef struct dcom_machine_s {
@ -79,8 +80,8 @@ typedef struct dcom_marshaler_s {
dcom_dissect_fn_t routine; dcom_dissect_fn_t routine;
} dcom_marshaler_t; } dcom_marshaler_t;
extern dcom_interface_t *dcom_interface_new(packet_info *pinfo, const guint8 *ip, e_uuid_t *iid, guint64 oxid, guint64 oid, e_uuid_t *ipid); WS_DLL_PUBLIC dcom_interface_t *dcom_interface_new(packet_info *pinfo, const guint8 *ip, e_uuid_t *iid, guint64 oxid, guint64 oid, e_uuid_t *ipid);
extern dcom_interface_t *dcom_interface_find(packet_info *pinfo, const guint8 *ip, e_uuid_t *ipid); WS_DLL_PUBLIC dcom_interface_t *dcom_interface_find(packet_info *pinfo, const guint8 *ip, e_uuid_t *ipid);
extern void dcom_interface_dump(void); extern void dcom_interface_dump(void);
extern int dcom_register_rountine(dcom_dissect_fn_t routine, e_uuid_t* uuid); extern int dcom_register_rountine(dcom_dissect_fn_t routine, e_uuid_t* uuid);
@ -89,10 +90,10 @@ extern void dcom_register_common_routines_(void);
extern dcom_dissect_fn_t dcom_get_rountine_by_uuid(const e_uuid_t* uuid); extern dcom_dissect_fn_t dcom_get_rountine_by_uuid(const e_uuid_t* uuid);
/* the essential DCOM this and that, starting every call */ /* the essential DCOM this and that, starting every call */
extern int WS_DLL_PUBLIC int
dissect_dcom_this(tvbuff_t *tvb, int offset, dissect_dcom_this(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep); packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int WS_DLL_PUBLIC int
dissect_dcom_that(tvbuff_t *tvb, int offset, dissect_dcom_that(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep); packet_info *pinfo, proto_tree *tree, guint8 *drep);
@ -125,21 +126,21 @@ dissect_dcom_indexed_WORD(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint16 * pu16WORD, int field_index); int hfindex, guint16 * pu16WORD, int field_index);
extern int WS_DLL_PUBLIC int
dissect_dcom_indexed_DWORD(tvbuff_t *tvb, int offset, packet_info *pinfo, dissect_dcom_indexed_DWORD(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
int hfindex, guint32 * pu32DWORD, int field_index); int hfindex, guint32 * pu32DWORD, int field_index);
extern int WS_DLL_PUBLIC int
dissect_dcom_HRESULT(tvbuff_t *tvb, int offset, dissect_dcom_HRESULT(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep, guint32 * pu32hresult); packet_info *pinfo, proto_tree *tree, guint8 *drep, guint32 * pu32hresult);
extern int WS_DLL_PUBLIC int
dissect_dcom_HRESULT_item(tvbuff_t *tvb, int offset, packet_info *pinfo, dissect_dcom_HRESULT_item(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
guint32 * pu32HResult, int field_index, proto_item **item); guint32 * pu32HResult, int field_index, proto_item **item);
extern int WS_DLL_PUBLIC int
dissect_dcom_indexed_HRESULT(tvbuff_t *tvb, int offset, packet_info *pinfo, dissect_dcom_indexed_HRESULT(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
guint32 * pu32hresult, int field_index); guint32 * pu32hresult, int field_index);
@ -153,21 +154,21 @@ typedef void (*sa_callback_t) (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, proto_tree *tree, guint8 *drep,
guint32 u32VarType, guint32 u32ArraySize); guint32 u32VarType, guint32 u32ArraySize);
extern int WS_DLL_PUBLIC int
dissect_dcom_SAFEARRAY(tvbuff_t *tvb, int offset, packet_info *pinfo, dissect_dcom_SAFEARRAY(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex _U_, sa_callback_t sacb); proto_tree *tree, guint8 *drep, int hfindex _U_, sa_callback_t sacb);
extern int WS_DLL_PUBLIC int
dissect_dcom_LPWSTR(tvbuff_t *tvb, gint offset, packet_info *pinfo, dissect_dcom_LPWSTR(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex, proto_tree *tree, guint8 *drep, int hfindex,
gchar *psz_buffer, guint32 u32max_buffer); gchar *psz_buffer, guint32 u32max_buffer);
extern int WS_DLL_PUBLIC int
dissect_dcom_indexed_LPWSTR(tvbuff_t *tvb, gint offset, packet_info *pinfo, dissect_dcom_indexed_LPWSTR(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex, proto_tree *tree, guint8 *drep, int hfindex,
gchar *pszStr, guint32 u32MaxStr, int field_index); gchar *pszStr, guint32 u32MaxStr, int field_index);
extern int WS_DLL_PUBLIC int
dissect_dcom_BSTR(tvbuff_t *tvb, gint offset, packet_info *pinfo, dissect_dcom_BSTR(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex, proto_tree *tree, guint8 *drep, int hfindex,
gchar *psz_buffer, guint32 u32max_buffer); gchar *psz_buffer, guint32 u32max_buffer);
@ -184,28 +185,28 @@ extern int
dissect_dcom_OBJREF(tvbuff_t *tvb, gint offset, packet_info *pinfo, dissect_dcom_OBJREF(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex, dcom_interface_t **interf); proto_tree *tree, guint8 *drep, int hfindex, dcom_interface_t **interf);
extern int WS_DLL_PUBLIC int
dissect_dcom_MInterfacePointer(tvbuff_t *tvb, gint offset, packet_info *pinfo, dissect_dcom_MInterfacePointer(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex, dcom_interface_t **interf); proto_tree *tree, guint8 *drep, int hfindex, dcom_interface_t **interf);
extern int WS_DLL_PUBLIC int
dissect_dcom_PMInterfacePointer(tvbuff_t *tvb, gint offset, packet_info *pinfo, dissect_dcom_PMInterfacePointer(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex, dcom_interface_t **interf); proto_tree *tree, guint8 *drep, int hfindex, dcom_interface_t **interf);
extern int WS_DLL_PUBLIC int
dissect_dcom_VARTYPE(tvbuff_t *tvb, int offset, dissect_dcom_VARTYPE(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep, packet_info *pinfo, proto_tree *tree, guint8 *drep,
guint16 *pu16Vartype); guint16 *pu16Vartype);
extern int WS_DLL_PUBLIC int
dissect_dcom_VARIANT(tvbuff_t *tvb, int offset, packet_info *pinfo, dissect_dcom_VARIANT(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex); proto_tree *tree, guint8 *drep, int hfindex);
/* dcom "dcerpc internal" unmarshalling */ /* dcom "dcerpc internal" unmarshalling */
extern int WS_DLL_PUBLIC int
dissect_dcom_dcerpc_array_size(tvbuff_t *tvb, gint offset, packet_info *pinfo, dissect_dcom_dcerpc_array_size(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, guint32 *pu32array_size); proto_tree *tree, guint8 *drep, guint32 *pu32array_size);
extern int WS_DLL_PUBLIC int
dissect_dcom_dcerpc_pointer(tvbuff_t *tvb, gint offset, packet_info *pinfo, dissect_dcom_dcerpc_pointer(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, guint32 *pu32pointer); proto_tree *tree, guint8 *drep, guint32 *pu32pointer);
@ -221,11 +222,11 @@ dissect_dcom_nospec_data(tvbuff_t *tvb, int offset,
/* very simple parameter-profiles dissectors (for very simple requests ;-) */ /* very simple parameter-profiles dissectors (for very simple requests ;-) */
/* request: no parameters */ /* request: no parameters */
extern int WS_DLL_PUBLIC int
dissect_dcom_simple_rqst(tvbuff_t *tvb, int offset, dissect_dcom_simple_rqst(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep); packet_info *pinfo, proto_tree *tree, guint8 *drep);
/* response: only HRESULT */ /* response: only HRESULT */
extern int WS_DLL_PUBLIC int
dissect_dcom_simple_resp(tvbuff_t *tvb, int offset, dissect_dcom_simple_resp(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep); packet_info *pinfo, proto_tree *tree, guint8 *drep);

View File

@ -42,7 +42,7 @@ int dissect_dsp_OperationProgress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
int dissect_dsp_ReferenceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_dsp_ReferenceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_dsp_AccessPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_dsp_AccessPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_dsp_MasterAndShadowAccessPoints(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_dsp_MasterAndShadowAccessPoints(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_dsp_AccessPointInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); WS_DLL_PUBLIC int dissect_dsp_AccessPointInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_dsp_Exclusions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_dsp_Exclusions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_dsp_ContinuationReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_dsp_ContinuationReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);

View File

@ -27,6 +27,7 @@
#define __PACKET_E164_H__ #define __PACKET_E164_H__
#include <epan/value_string.h> #include <epan/value_string.h>
#include "ws_symbol_export.h"
extern const value_string E164_country_code_value[]; extern const value_string E164_country_code_value[];
extern const value_string E164_International_Networks_vals[]; extern const value_string E164_International_Networks_vals[];
@ -47,5 +48,5 @@ typedef struct {
extern void dissect_e164_number(tvbuff_t *tvb, proto_tree *tree, int offset, int length, extern void dissect_e164_number(tvbuff_t *tvb, proto_tree *tree, int offset, int length,
e164_info_t e164_info); e164_info_t e164_info);
extern void dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, gboolean bcd_coded); WS_DLL_PUBLIC void dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, gboolean bcd_coded);
#endif #endif

View File

@ -27,11 +27,14 @@
#define __PACKET_E212_H__ #define __PACKET_E212_H__
#include <epan/value_string.h> #include <epan/value_string.h>
#include "ws_symbol_export.h"
extern value_string_ext E212_codes_ext; extern value_string_ext E212_codes_ext;
gchar* dissect_e212_mcc_mnc_ep_str(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, gboolean little_endian); gchar* dissect_e212_mcc_mnc_ep_str(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, gboolean little_endian);
WS_DLL_PUBLIC
int dissect_e212_mcc_mnc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, gboolean little_endian); int dissect_e212_mcc_mnc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, gboolean little_endian);
WS_DLL_PUBLIC
int dissect_e212_mcc_mnc_in_address(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset); int dissect_e212_mcc_mnc_in_address(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset);
#endif /* __PACKET_E212_H__ */ #endif /* __PACKET_E212_H__ */

View File

@ -24,6 +24,9 @@
#ifndef __PACKET_ENC_H__ #ifndef __PACKET_ENC_H__
#define __PACKET_ENC_H__ #define __PACKET_ENC_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_enc(const guchar *, int, packet_counts *); void capture_enc(const guchar *, int, packet_counts *);
#endif #endif

View File

@ -24,12 +24,15 @@
#ifndef __PACKET_ETH_H__ #ifndef __PACKET_ETH_H__
#define __PACKET_ETH_H__ #define __PACKET_ETH_H__
#include "ws_symbol_export.h"
typedef struct _eth_hdr { typedef struct _eth_hdr {
address dst; address dst;
address src; address src;
guint16 type; guint16 type;
} eth_hdr; } eth_hdr;
WS_DLL_PUBLIC
void capture_eth(const guchar *, int, int, packet_counts *); void capture_eth(const guchar *, int, int, packet_counts *);
void add_ethernet_trailer(packet_info *pinfo, proto_tree *tree, proto_tree *fh_tree, void add_ethernet_trailer(packet_info *pinfo, proto_tree *tree, proto_tree *fh_tree,

View File

@ -27,6 +27,7 @@
#define __PACKET_FC_H_ #define __PACKET_FC_H_
#include "packet-scsi.h" #include "packet-scsi.h"
#include "ws_symbol_export.h"
/* R_CTL upper bits creates a classification tree */ /* R_CTL upper bits creates a classification tree */
#define FC_RCTL_DEV_DATA 0x00 #define FC_RCTL_DEV_DATA 0x00
@ -62,7 +63,7 @@
* without having to duplicate it. With MSVC and a * without having to duplicate it. With MSVC and a
* libwireshark.dll, we need a special declaration. * libwireshark.dll, we need a special declaration.
*/ */
WS_VAR_IMPORT const value_string fc_fc4_val[]; WS_DLL_PUBLIC const value_string fc_fc4_val[];
/* DF_CTL bits */ /* DF_CTL bits */
#define FC_DFCTL_DH 0x03 /* Device_Header type bits: */ #define FC_DFCTL_DH 0x03 /* Device_Header type bits: */

View File

@ -24,12 +24,15 @@
#ifndef __PACKET_FDDI_H__ #ifndef __PACKET_FDDI_H__
#define __PACKET_FDDI_H__ #define __PACKET_FDDI_H__
#include "ws_symbol_export.h"
typedef struct _fddi_hdr { typedef struct _fddi_hdr {
guint8 fc; guint8 fc;
address dst; address dst;
address src; address src;
} fddi_hdr; } fddi_hdr;
WS_DLL_PUBLIC
void capture_fddi(const guchar *, int, packet_counts *); void capture_fddi(const guchar *, int, packet_counts *);
#endif #endif

View File

@ -24,6 +24,9 @@
#ifndef __PACKET_FR_H__ #ifndef __PACKET_FR_H__
#define __PACKET_FR_H__ #define __PACKET_FR_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_fr(const guchar *, int, int, packet_counts *); void capture_fr(const guchar *, int, int, packet_counts *);
#endif #endif

View File

@ -23,6 +23,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#include "ws_symbol_export.h"
/* /*
* Routine used to register frame end routine. The routine should only * Routine used to register frame end routine. The routine should only
* be registred when the dissector is used in the frame, not in the * be registred when the dissector is used in the frame, not in the
@ -39,8 +41,8 @@ extern dissector_table_t wtap_encap_dissector_table;
/* following variables are exported from libwireshark.dll. /* following variables are exported from libwireshark.dll.
* Thus we need a special declaration. * Thus we need a special declaration.
*/ */
WS_VAR_IMPORT int proto_frame; WS_DLL_PUBLIC int proto_frame;
WS_VAR_IMPORT int hf_frame_arrival_time; WS_DLL_PUBLIC int hf_frame_arrival_time;
WS_VAR_IMPORT int hf_frame_number; WS_DLL_PUBLIC int hf_frame_number;
WS_VAR_IMPORT int hf_frame_len; WS_DLL_PUBLIC int hf_frame_len;
WS_VAR_IMPORT int hf_frame_capture_len; WS_DLL_PUBLIC int hf_frame_capture_len;

View File

@ -28,6 +28,8 @@
#ifndef PACKET_GIOP_H #ifndef PACKET_GIOP_H
#define PACKET_GIOP_H #define PACKET_GIOP_H
#include "ws_symbol_export.h"
/* /*
* Useful visible data/structs * Useful visible data/structs
*/ */
@ -119,7 +121,7 @@ extern gboolean dissect_giop(tvbuff_t *, packet_info *, proto_tree *); /* new in
* This is for heuristic dissection * This is for heuristic dissection
*/ */
extern void register_giop_user(giop_sub_dissector_t *sub, const gchar *name, WS_DLL_PUBLIC void register_giop_user(giop_sub_dissector_t *sub, const gchar *name,
int sub_proto); int sub_proto);
/* /*
@ -135,7 +137,7 @@ extern void delete_giop_user(giop_sub_dissector_t *sub, gchar *name);
* This is for explicit dissection. * This is for explicit dissection.
*/ */
extern void register_giop_user_module(giop_sub_dissector_t *sub, const gchar *name, WS_DLL_PUBLIC void register_giop_user_module(giop_sub_dissector_t *sub, const gchar *name,
const gchar *module, int sub_proto); const gchar *module, int sub_proto);
/* /*
@ -170,7 +172,7 @@ extern void delete_giop_user_module(giop_sub_dissector_t *sub, gchar *name,
* Data is added to tree directly if present. * Data is added to tree directly if present.
*/ */
extern void get_CDR_any(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item, WS_DLL_PUBLIC void get_CDR_any(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item,
gint *offset, gboolean stream_is_big_endian, gint *offset, gboolean stream_is_big_endian,
int boundary, MessageHeader * header); int boundary, MessageHeader * header);
@ -182,7 +184,7 @@ extern void get_CDR_any(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, pro
* has been processed. * has been processed.
*/ */
extern gboolean get_CDR_boolean(tvbuff_t *tvb, int *offset); WS_DLL_PUBLIC gboolean get_CDR_boolean(tvbuff_t *tvb, int *offset);
/* Copy a 1 octet sequence from the tvbuff /* Copy a 1 octet sequence from the tvbuff
@ -192,7 +194,7 @@ extern gboolean get_CDR_boolean(tvbuff_t *tvb, int *offset);
* has been processed. * has been processed.
*/ */
extern guint8 get_CDR_char(tvbuff_t *tvb, int *offset); WS_DLL_PUBLIC guint8 get_CDR_char(tvbuff_t *tvb, int *offset);
@ -208,7 +210,7 @@ extern guint8 get_CDR_char(tvbuff_t *tvb, int *offset);
* have been processed. * have been processed.
*/ */
extern gdouble get_CDR_double(tvbuff_t *tvb, int *offset, WS_DLL_PUBLIC gdouble get_CDR_double(tvbuff_t *tvb, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
@ -223,7 +225,7 @@ extern gdouble get_CDR_double(tvbuff_t *tvb, int *offset,
* Enum values are encoded as unsigned long. * Enum values are encoded as unsigned long.
*/ */
extern guint32 get_CDR_enum(tvbuff_t *tvb, int *offset, WS_DLL_PUBLIC guint32 get_CDR_enum(tvbuff_t *tvb, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
@ -258,7 +260,7 @@ extern guint32 get_CDR_enum(tvbuff_t *tvb, int *offset,
* *
*/ */
extern void get_CDR_fixed(tvbuff_t *tvb, packet_info *pinfo, proto_item *item, WS_DLL_PUBLIC void get_CDR_fixed(tvbuff_t *tvb, packet_info *pinfo, proto_item *item,
gchar **seq, gint *offset, guint32 digits, gint32 scale); gchar **seq, gint *offset, guint32 digits, gint32 scale);
@ -274,7 +276,7 @@ extern void get_CDR_fixed(tvbuff_t *tvb, packet_info *pinfo, proto_item *item,
* have been processed. * have been processed.
*/ */
extern gfloat get_CDR_float(tvbuff_t *tvb, int *offset, WS_DLL_PUBLIC gfloat get_CDR_float(tvbuff_t *tvb, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
@ -282,7 +284,7 @@ extern gfloat get_CDR_float(tvbuff_t *tvb, int *offset,
* Decode an Interface type, and display it on the tree. * Decode an Interface type, and display it on the tree.
*/ */
extern void get_CDR_interface(tvbuff_t *tvb, packet_info *pinfo, WS_DLL_PUBLIC void get_CDR_interface(tvbuff_t *tvb, packet_info *pinfo,
proto_tree *tree, int *offset, gboolean stream_is_big_endian, int boundary); proto_tree *tree, int *offset, gboolean stream_is_big_endian, int boundary);
@ -295,7 +297,7 @@ extern void get_CDR_interface(tvbuff_t *tvb, packet_info *pinfo,
* have been processed. * have been processed.
*/ */
extern gint32 get_CDR_long(tvbuff_t *tvb, int *offset, WS_DLL_PUBLIC gint32 get_CDR_long(tvbuff_t *tvb, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
@ -311,13 +313,13 @@ extern gint32 get_CDR_long(tvbuff_t *tvb, int *offset,
#ifdef G_HAVE_GLONG_DOUBLE #ifdef G_HAVE_GLONG_DOUBLE
extern glong_double get_CDR_long_double(tvbuff_t *tvb, int *offset, WS_DLL_PUBLIC glong_double get_CDR_long_double(tvbuff_t *tvb, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
#else #else
/* FIX -- Cast long double to gdouble until I figure this out -- FS*/ /* FIX -- Cast long double to gdouble until I figure this out -- FS*/
extern gdouble get_CDR_long_double(tvbuff_t *tvb, int *offset, WS_DLL_PUBLIC gdouble get_CDR_long_double(tvbuff_t *tvb, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
#endif #endif
@ -332,14 +334,14 @@ extern gdouble get_CDR_long_double(tvbuff_t *tvb, int *offset,
* have been processed. * have been processed.
*/ */
extern gint64 get_CDR_long_long(tvbuff_t *tvb, int *offset, WS_DLL_PUBLIC gint64 get_CDR_long_long(tvbuff_t *tvb, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
/* /*
* Decode an Object type, and display it on the tree. * Decode an Object type, and display it on the tree.
*/ */
extern void get_CDR_object(tvbuff_t *tvb, packet_info *pinfo, WS_DLL_PUBLIC void get_CDR_object(tvbuff_t *tvb, packet_info *pinfo,
proto_tree *tree, int *offset, gboolean stream_is_big_endian, int boundary); proto_tree *tree, int *offset, gboolean stream_is_big_endian, int boundary);
@ -350,7 +352,7 @@ extern void get_CDR_object(tvbuff_t *tvb, packet_info *pinfo,
* has been processed. * has been processed.
*/ */
extern guint8 get_CDR_octet(tvbuff_t *tvb, int *offset); WS_DLL_PUBLIC guint8 get_CDR_octet(tvbuff_t *tvb, int *offset);
/* Copy a sequence of octets from the tvbuff. /* Copy a sequence of octets from the tvbuff.
@ -359,7 +361,7 @@ extern guint8 get_CDR_octet(tvbuff_t *tvb, int *offset);
* This function also increments offset by len. * This function also increments offset by len.
*/ */
extern void get_CDR_octet_seq(tvbuff_t *tvb, const gchar **seq, int *offset, guint32 len); WS_DLL_PUBLIC void get_CDR_octet_seq(tvbuff_t *tvb, const gchar **seq, int *offset, guint32 len);
/* Copy a 2 octet sequence from the tvbuff /* Copy a 2 octet sequence from the tvbuff
* which represents a signed short value, and convert * which represents a signed short value, and convert
@ -370,7 +372,7 @@ extern void get_CDR_octet_seq(tvbuff_t *tvb, const gchar **seq, int *offset, gui
* have been processed. * have been processed.
*/ */
extern gint16 get_CDR_short(tvbuff_t *tvb, int *offset, WS_DLL_PUBLIC gint16 get_CDR_short(tvbuff_t *tvb, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
@ -396,7 +398,7 @@ extern void giop_add_CDR_string(proto_tree *tree, tvbuff_t *tvb, int *offset,
* *
*/ */
extern guint32 get_CDR_string(tvbuff_t *tvb, const gchar **seq, int *offset, WS_DLL_PUBLIC guint32 get_CDR_string(tvbuff_t *tvb, const gchar **seq, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
@ -411,7 +413,7 @@ extern guint32 get_CDR_string(tvbuff_t *tvb, const gchar **seq, int *offset,
* It returns a guint32 representing a TCKind value. * It returns a guint32 representing a TCKind value.
*/ */
extern guint32 get_CDR_typeCode(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, gint *offset, WS_DLL_PUBLIC guint32 get_CDR_typeCode(tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree, gint *offset,
gboolean stream_is_big_endian, int boundary, MessageHeader * header ); gboolean stream_is_big_endian, int boundary, MessageHeader * header );
/* Copy a 4 octet sequence from the tvbuff /* Copy a 4 octet sequence from the tvbuff
@ -423,7 +425,7 @@ extern guint32 get_CDR_typeCode(tvbuff_t *tvb, packet_info* pinfo, proto_tree *t
* have been processed. * have been processed.
*/ */
extern guint32 get_CDR_ulong(tvbuff_t *tvb, int *offset, WS_DLL_PUBLIC guint32 get_CDR_ulong(tvbuff_t *tvb, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
@ -436,7 +438,7 @@ extern guint32 get_CDR_ulong(tvbuff_t *tvb, int *offset,
* have been processed. * have been processed.
*/ */
extern guint64 get_CDR_ulong_long(tvbuff_t *tvb, int *offset, WS_DLL_PUBLIC guint64 get_CDR_ulong_long(tvbuff_t *tvb, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
/* Copy a 2 octet sequence from the tvbuff /* Copy a 2 octet sequence from the tvbuff
@ -448,7 +450,7 @@ extern guint64 get_CDR_ulong_long(tvbuff_t *tvb, int *offset,
* have been processed. * have been processed.
*/ */
extern guint16 get_CDR_ushort(tvbuff_t *tvb, int *offset, WS_DLL_PUBLIC guint16 get_CDR_ushort(tvbuff_t *tvb, int *offset,
gboolean stream_is_big_endian, int boundary); gboolean stream_is_big_endian, int boundary);
@ -482,7 +484,7 @@ extern guint16 get_CDR_ushort(tvbuff_t *tvb, int *offset,
* Wchar is not supported for GIOP 1.0. * Wchar is not supported for GIOP 1.0.
*/ */
extern gint get_CDR_wchar(tvbuff_t *tvb, const gchar **seq, int *offset, WS_DLL_PUBLIC gint get_CDR_wchar(tvbuff_t *tvb, const gchar **seq, int *offset,
MessageHeader * header); MessageHeader * header);
@ -505,7 +507,7 @@ extern gint get_CDR_wchar(tvbuff_t *tvb, const gchar **seq, int *offset,
* Wstring is not supported for GIOP 1.0. * Wstring is not supported for GIOP 1.0.
*/ */
extern guint32 get_CDR_wstring(tvbuff_t *tvb, const gchar **seq, int *offset, WS_DLL_PUBLIC guint32 get_CDR_wstring(tvbuff_t *tvb, const gchar **seq, int *offset,
gboolean stream_is_big_endian, int boundary, MessageHeader * header); gboolean stream_is_big_endian, int boundary, MessageHeader * header);
@ -520,7 +522,7 @@ extern guint32 get_CDR_wstring(tvbuff_t *tvb, const gchar **seq, int *offset,
/* Determine the byte order from the GIOP MessageHeader */ /* Determine the byte order from the GIOP MessageHeader */
extern gboolean is_big_endian (MessageHeader * header); WS_DLL_PUBLIC gboolean is_big_endian (MessageHeader * header);
/* /*
* get_encap_info() for any encapsulation (eg:sequences) * get_encap_info() for any encapsulation (eg:sequences)
@ -528,7 +530,7 @@ extern gboolean is_big_endian (MessageHeader * header);
* and *offset, and returns the sequence length. * and *offset, and returns the sequence length.
*/ */
extern guint32 get_CDR_encap_info(tvbuff_t *tvb, proto_tree *tree, gint *offset, WS_DLL_PUBLIC guint32 get_CDR_encap_info(tvbuff_t *tvb, proto_tree *tree, gint *offset,
gboolean old_stream_is_big_endian, guint32 old_boundary, gboolean old_stream_is_big_endian, guint32 old_boundary,
gboolean *new_stream_is_big_endian_ptr, guint32 *new_boundary_ptr ); gboolean *new_stream_is_big_endian_ptr, guint32 *new_boundary_ptr );
@ -540,7 +542,7 @@ extern guint32 get_CDR_encap_info(tvbuff_t *tvb, proto_tree *tree, gint *offset,
* the initial sequence. * the initial sequence.
*/ */
extern gchar * make_printable_string (const gchar *in, guint32 len); WS_DLL_PUBLIC gchar * make_printable_string (const gchar *in, guint32 len);
/* /*
* Enums for TCkind * Enums for TCkind

View File

@ -52,6 +52,7 @@
#define __PACKET_GSM_A_COMMON_H__ #define __PACKET_GSM_A_COMMON_H__
#include "packet-sccp.h" #include "packet-sccp.h"
#include "ws_symbol_export.h"
/* PROTOTYPES/FORWARDS */ /* PROTOTYPES/FORWARDS */
typedef guint16 (*elem_fcn)(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); typedef guint16 (*elem_fcn)(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
@ -348,17 +349,17 @@ extern const char* get_gsm_a_msg_string(int pdu_type, int idx);
/* /*
* Type Length Value (TLV) element dissector * Type Length Value (TLV) element dissector
*/ */
extern guint16 elem_tlv(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, guint len, const gchar *name_add); WS_DLL_PUBLIC guint16 elem_tlv(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, guint len, const gchar *name_add);
/* /*
* Type Extendable Length Value (TLVE) element dissector * Type Extendable Length Value (TLVE) element dissector
*/ */
extern guint16 elem_telv(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, guint len, const gchar *name_add); guint16 elem_telv(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, guint len, const gchar *name_add);
/* /*
* Type Length Value (TLV-E) element dissector * Type Length Value (TLV-E) element dissector
*/ */
extern guint16 elem_tlv_e(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, guint len, const gchar *name_add); guint16 elem_tlv_e(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, guint len, const gchar *name_add);
/* /*
* Type Value (TV) element dissector * Type Value (TV) element dissector
@ -366,7 +367,7 @@ extern guint16 elem_tlv_e(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, g
* Length cannot be used in these functions, big problem if a element dissector * Length cannot be used in these functions, big problem if a element dissector
* is not defined for these. * is not defined for these.
*/ */
extern guint16 elem_tv(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, const gchar *name_add); WS_DLL_PUBLIC guint16 elem_tv(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, const gchar *name_add);
/* /*
* Type Value (TV) element dissector * Type Value (TV) element dissector
@ -375,22 +376,22 @@ extern guint16 elem_tv(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guin
* Length cannot be used in these functions, big problem if a element dissector * Length cannot be used in these functions, big problem if a element dissector
* is not defined for these. * is not defined for these.
*/ */
extern guint16 elem_tv_short(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, const gchar *name_add); WS_DLL_PUBLIC guint16 elem_tv_short(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, const gchar *name_add);
/* /*
* Type (T) element dissector * Type (T) element dissector
*/ */
extern guint16 elem_t(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, const gchar *name_add); WS_DLL_PUBLIC guint16 elem_t(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint8 iei, gint pdu_type, int idx, guint32 offset, const gchar *name_add);
/* /*
* Length Value (LV) element dissector * Length Value (LV) element dissector
*/ */
extern guint16 elem_lv(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gint pdu_type, int idx, guint32 offset, guint len, const gchar *name_add); WS_DLL_PUBLIC guint16 elem_lv(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gint pdu_type, int idx, guint32 offset, guint len, const gchar *name_add);
/* /*
* Length Value (LV-E) element dissector * Length Value (LV-E) element dissector
*/ */
extern guint16 elem_lv_e(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gint pdu_type, int idx, guint32 offset, guint len, const gchar *name_add); guint16 elem_lv_e(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gint pdu_type, int idx, guint32 offset, guint len, const gchar *name_add);
/* /*
* Value (V) element dissector * Value (V) element dissector
@ -398,7 +399,7 @@ extern guint16 elem_lv_e(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gi
* Length cannot be used in these functions, big problem if a element dissector * Length cannot be used in these functions, big problem if a element dissector
* is not defined for these. * is not defined for these.
*/ */
extern guint16 elem_v(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gint pdu_type, int idx, guint32 offset, const gchar *name_add); WS_DLL_PUBLIC guint16 elem_v(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gint pdu_type, int idx, guint32 offset, const gchar *name_add);
/* /*
* Short Value (V_SHORT) element dissector * Short Value (V_SHORT) element dissector
@ -406,7 +407,7 @@ extern guint16 elem_v(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gint
* nibble used in this functions to indicate left or right nibble of the octet * nibble used in this functions to indicate left or right nibble of the octet
* This is expected to be used right nibble first, as the tables of 24.008. * This is expected to be used right nibble first, as the tables of 24.008.
*/ */
extern guint16 elem_v_short(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gint pdu_type, int idx, guint32 offset, guint32 nibble); WS_DLL_PUBLIC guint16 elem_v_short(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gint pdu_type, int idx, guint32 offset, guint32 nibble);
/* XXX: Most (if not all) the functions which make use of the following macros have the variables 'consumed', /* XXX: Most (if not all) the functions which make use of the following macros have the variables 'consumed',
@ -660,8 +661,11 @@ guint16 be_cell_id_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gui
guint16 be_chan_type(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 be_chan_type(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 be_prio(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 be_prio(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_lai(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_lai(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_mid(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_mid(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_cell_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_cell_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_bearer_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_bearer_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_bearer_cap_uplink(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_bearer_cap_uplink(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
@ -673,38 +677,60 @@ guint16 de_cn_common_gsm_map_nas_sys_info(tvbuff_t *tvb, proto_tree *tree, packe
guint16 de_cs_domain_spec_sys_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_cs_domain_spec_sys_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_ps_domain_spec_sys_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_ps_domain_spec_sys_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_plmn_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_plmn_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_ms_cm_1(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_ms_cm_1(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_ms_cm_2(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_ms_cm_2(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_ms_cm_3(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_ms_cm_3(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_serv_cat(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_serv_cat(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_sm_apn(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_sm_apn(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_sm_pco(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_sm_pco(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_sm_qos(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_sm_qos(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_sm_pflow_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_sm_pflow_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_sm_tflow_temp(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_sm_tflow_temp(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_time_zone(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_time_zone(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_gmm_drx_param(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_gmm_drx_param(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_gmm_ms_net_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_gmm_ms_net_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_gmm_rai(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_gmm_rai(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_gmm_ms_radio_acc_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_gmm_ms_radio_acc_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_gmm_voice_domain_pref(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_gmm_voice_domain_pref(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_sup_codec_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_sup_codec_list(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_rr_cause(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rr_cause(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_rr_cell_dsc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rr_cell_dsc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_rr_ch_dsc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rr_ch_dsc(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_rr_ch_mode(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rr_ch_mode(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_rr_chnl_needed(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rr_chnl_needed(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_rr_cip_mode_set(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rr_cip_mode_set(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_rr_cm_enq_mask(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rr_cm_enq_mask(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_rr_meas_res(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rr_meas_res(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_rr_multirate_conf(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rr_multirate_conf(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_rr_sus_cau(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rr_sus_cau(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_rr_tlli(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rr_tlli(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_rej_cause(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_rej_cause(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
WS_DLL_PUBLIC
guint16 de_d_gb_call_ref(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len); guint16 de_d_gb_call_ref(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_spare_nibble(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_); guint16 de_spare_nibble(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_);
@ -728,17 +754,17 @@ void rp_data_n_ms(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 o
* without having to duplicate it. With MSVC and a * without having to duplicate it. With MSVC and a
* libwireshark.dll, we need a special declaration. * libwireshark.dll, we need a special declaration.
*/ */
WS_VAR_IMPORT const value_string gsm_a_bssmap_msg_strings[]; WS_DLL_PUBLIC const value_string gsm_a_bssmap_msg_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_mm_strings[]; WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_mm_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_rr_strings[]; WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_rr_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_cc_strings[]; WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_cc_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_gmm_strings[]; WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_gmm_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_sms_strings[]; WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_sms_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_sm_strings[]; WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_sm_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_ss_strings[]; WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_ss_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_tp_strings[]; WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_tp_strings[];
WS_VAR_IMPORT const value_string gsm_a_rr_short_pd_msg_strings[]; WS_DLL_PUBLIC const value_string gsm_a_rr_short_pd_msg_strings[];
WS_VAR_IMPORT const gchar *gsm_a_pd_str[]; WS_DLL_PUBLIC const gchar *gsm_a_pd_str[];
extern const value_string gsm_a_sm_qos_del_of_err_sdu_vals[]; extern const value_string gsm_a_sm_qos_del_of_err_sdu_vals[];
extern const value_string gsm_a_sm_qos_traffic_cls_vals[]; extern const value_string gsm_a_sm_qos_traffic_cls_vals[];

View File

@ -34,6 +34,8 @@
#ifndef PACKET_GSM_MAP_H #ifndef PACKET_GSM_MAP_H
#define PACKET_GSM_MAP_H #define PACKET_GSM_MAP_H
#include "ws_symbol_export.h"
/* Defines for the GSM MAP taps */ /* Defines for the GSM MAP taps */
#define GSM_MAP_MAX_NUM_OPR_CODES 256 #define GSM_MAP_MAX_NUM_OPR_CODES 256
@ -51,7 +53,7 @@ typedef struct _gsm_map_tap_rec_t {
#define SMS_ENCODING_7BIT_LANG 4 #define SMS_ENCODING_7BIT_LANG 4
#define SMS_ENCODING_UCS2_LANG 5 #define SMS_ENCODING_UCS2_LANG 5
WS_VAR_IMPORT const value_string gsm_map_opr_code_strings[]; WS_DLL_PUBLIC const value_string gsm_map_opr_code_strings[];
const char* unpack_digits(tvbuff_t *tvb, int offset); const char* unpack_digits(tvbuff_t *tvb, int offset);
extern const value_string ssCode_vals[]; extern const value_string ssCode_vals[];
@ -98,14 +100,14 @@ extern const value_string gsm_map_BasicServiceCode_vals[];
extern const value_string gsm_map_Ext_BasicServiceCode_vals[]; extern const value_string gsm_map_Ext_BasicServiceCode_vals[];
int dissect_gsm_map_TBCD_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_TBCD_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_ISDN_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); WS_DLL_PUBLIC int dissect_gsm_map_ISDN_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_ISDN_SubaddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_ISDN_SubaddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_ExternalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_ExternalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_AlertingPattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_AlertingPattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_GSN_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_GSN_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_IMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); WS_DLL_PUBLIC int dissect_gsm_map_IMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_IMEI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_IMEI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_GlobalCellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); WS_DLL_PUBLIC int dissect_gsm_map_GlobalCellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_NetworkResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_NetworkResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_NAEA_CIC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_NAEA_CIC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_LCSClientExternalID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_LCSClientExternalID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
@ -209,7 +211,7 @@ int dissect_gsm_map_lcs_SupportedGADShapes(gboolean implicit_tag _U_, tvbuff_t *
int dissect_gsm_map_lcs_LCS_ReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_lcs_LCS_ReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_lcs_LCSCodeword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_lcs_LCSCodeword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_lcs_AreaEventInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_lcs_AreaEventInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_lcs_Ext_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); WS_DLL_PUBLIC int dissect_gsm_map_lcs_Ext_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_lcs_VelocityEstimate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_lcs_VelocityEstimate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_lcs_Add_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_gsm_map_lcs_Add_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_gsm_map_lcs_LCS_ClientID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_gsm_map_lcs_LCS_ClientID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
@ -270,7 +272,7 @@ int dissect_gsm_ss_LocationMethod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
/*--- End of included file: packet-gsm_map-exp.h ---*/ /*--- End of included file: packet-gsm_map-exp.h ---*/
#line 58 "../../asn1/gsm_map/packet-gsm_map-template.h" #line 60 "../../asn1/gsm_map/packet-gsm_map-template.h"
#endif /* PACKET_GSM_MAP_H */ #endif /* PACKET_GSM_MAP_H */

View File

@ -90,11 +90,11 @@ typedef struct _h225_packet_info {
/*--- Included file: packet-h225-exp.h ---*/ /*--- Included file: packet-h225-exp.h ---*/
#line 1 "../../asn1/h225/packet-h225-exp.h" #line 1 "../../asn1/h225/packet-h225-exp.h"
WS_VAR_IMPORT const value_string T_h323_message_body_vals[]; WS_DLL_PUBLIC const value_string T_h323_message_body_vals[];
WS_VAR_IMPORT const value_string h225_ReleaseCompleteReason_vals[]; WS_DLL_PUBLIC const value_string h225_ReleaseCompleteReason_vals[];
extern const value_string h225_PresentationIndicator_vals[]; extern const value_string h225_PresentationIndicator_vals[];
extern const value_string h225_ScreeningIndicator_vals[]; extern const value_string h225_ScreeningIndicator_vals[];
WS_VAR_IMPORT const value_string FacilityReason_vals[]; WS_DLL_PUBLIC const value_string FacilityReason_vals[];
extern const value_string h225_TransportAddress_vals[]; extern const value_string h225_TransportAddress_vals[];
extern const value_string h225_SupportedProtocols_vals[]; extern const value_string h225_SupportedProtocols_vals[];
extern const value_string AliasAddress_vals[]; extern const value_string AliasAddress_vals[];
@ -104,19 +104,19 @@ extern const value_string h225_PrivateTypeOfNumber_vals[];
extern const value_string h225_IntegrityMechanism_vals[]; extern const value_string h225_IntegrityMechanism_vals[];
extern const value_string h225_CryptoH323Token_vals[]; extern const value_string h225_CryptoH323Token_vals[];
extern const value_string h225_GenericIdentifier_vals[]; extern const value_string h225_GenericIdentifier_vals[];
WS_VAR_IMPORT const value_string h225_RasMessage_vals[]; WS_DLL_PUBLIC const value_string h225_RasMessage_vals[];
WS_VAR_IMPORT const value_string GatekeeperRejectReason_vals[]; WS_DLL_PUBLIC const value_string GatekeeperRejectReason_vals[];
WS_VAR_IMPORT const value_string RegistrationRejectReason_vals[]; WS_DLL_PUBLIC const value_string RegistrationRejectReason_vals[];
WS_VAR_IMPORT const value_string UnregRequestReason_vals[]; WS_DLL_PUBLIC const value_string UnregRequestReason_vals[];
WS_VAR_IMPORT const value_string UnregRejectReason_vals[]; WS_DLL_PUBLIC const value_string UnregRejectReason_vals[];
extern const value_string h225_TransportQOS_vals[]; extern const value_string h225_TransportQOS_vals[];
WS_VAR_IMPORT const value_string AdmissionRejectReason_vals[]; WS_DLL_PUBLIC const value_string AdmissionRejectReason_vals[];
WS_VAR_IMPORT const value_string BandRejectReason_vals[]; WS_DLL_PUBLIC const value_string BandRejectReason_vals[];
WS_VAR_IMPORT const value_string LocationRejectReason_vals[]; WS_DLL_PUBLIC const value_string LocationRejectReason_vals[];
WS_VAR_IMPORT const value_string DisengageReason_vals[]; WS_DLL_PUBLIC const value_string DisengageReason_vals[];
WS_VAR_IMPORT const value_string DisengageRejectReason_vals[]; WS_DLL_PUBLIC const value_string DisengageRejectReason_vals[];
WS_VAR_IMPORT const value_string InfoRequestNakReason_vals[]; WS_DLL_PUBLIC const value_string InfoRequestNakReason_vals[];
int dissect_h225_ReleaseCompleteReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); WS_DLL_PUBLIC int dissect_h225_ReleaseCompleteReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h225_PresentationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h225_PresentationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h225_ScreeningIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h225_ScreeningIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h225_TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h225_TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
@ -146,7 +146,7 @@ int dissect_h225_GenericData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
int dissect_h225_GenericIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h225_GenericIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h225_FeatureSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h225_FeatureSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h225_TransportChannelInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h225_TransportChannelInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h225_RasMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); WS_DLL_PUBLIC int dissect_h225_RasMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h225_TransportQOS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h225_TransportQOS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h225_ExtendedAliasAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_h225_ExtendedAliasAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);

View File

@ -33,6 +33,9 @@
#ifndef PACKET_H245_H #ifndef PACKET_H245_H
#define PACKET_H245_H #define PACKET_H245_H
#include "ws_symbol_export.h"
typedef enum _h245_msg_type { typedef enum _h245_msg_type {
H245_TermCapSet, H245_TermCapSet,
H245_TermCapSetAck, H245_TermCapSetAck,
@ -124,10 +127,10 @@ struct _h223_mux_element {
#include <epan/dissectors/packet-per.h> #include <epan/dissectors/packet-per.h>
typedef void (*h223_set_mc_handle_t) ( packet_info* pinfo, guint8 mc, h223_mux_element* me ); typedef void (*h223_set_mc_handle_t) ( packet_info* pinfo, guint8 mc, h223_mux_element* me );
extern void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle ); WS_DLL_PUBLIC void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle );
typedef void (*h223_add_lc_handle_t) ( packet_info* pinfo, guint16 lc, h223_lc_params* params ); typedef void (*h223_add_lc_handle_t) ( packet_info* pinfo, guint16 lc, h223_lc_params* params );
extern void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle ); WS_DLL_PUBLIC void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle );
/*--- Included file: packet-h245-exp.h ---*/ /*--- Included file: packet-h245-exp.h ---*/
@ -138,7 +141,7 @@ extern const value_string h245_TransportAddress_vals[];
extern const value_string h245_UnicastAddress_vals[]; extern const value_string h245_UnicastAddress_vals[];
extern const value_string h245_MulticastAddress_vals[]; extern const value_string h245_MulticastAddress_vals[];
int dissect_h245_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h245_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h245_H223Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); WS_DLL_PUBLIC int dissect_h245_H223Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h245_QOSCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h245_QOSCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h245_DataProtocolCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h245_DataProtocolCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_h245_T38FaxProfile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h245_T38FaxProfile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
@ -149,7 +152,7 @@ int dissect_h245_UnicastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
int dissect_h245_MulticastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_h245_MulticastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
/*--- End of included file: packet-h245-exp.h ---*/ /*--- End of included file: packet-h245-exp.h ---*/
#line 125 "../../asn1/h245/packet-h245-template.h" #line 128 "../../asn1/h245/packet-h245-template.h"
void dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str); void dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str);

View File

@ -36,6 +36,7 @@
#ifndef PACKET_H248_H #ifndef PACKET_H248_H
#include <epan/gcp.h> #include <epan/gcp.h>
#include "ws_symbol_export.h"
/*#include "packet-h248-exp.h"*/ /*#include "packet-h248-exp.h"*/
typedef struct _h248_curr_info_t h248_curr_info_t; typedef struct _h248_curr_info_t h248_curr_info_t;
@ -44,7 +45,7 @@ typedef void (*h248_pkg_param_dissector_t)(proto_tree* tree, tvbuff_t* tvb, pack
extern void h248_param_bytes_item(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored); extern void h248_param_bytes_item(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
extern void h248_param_uint_item(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored); extern void h248_param_uint_item(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
extern void h248_param_ber_integer(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored); WS_DLL_PUBLIC void h248_param_ber_integer(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
extern void h248_param_ber_octetstring(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored); extern void h248_param_ber_octetstring(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
extern void h248_param_ber_boolean(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored); extern void h248_param_ber_boolean(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* ignored);
extern void external_dissector(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* dissector_handle); extern void external_dissector(proto_tree*, tvbuff_t*, packet_info* , int, h248_curr_info_t*,void* dissector_handle);
@ -120,6 +121,7 @@ struct _h248_curr_info_t {
const h248_pkg_param_t* par; const h248_pkg_param_t* par;
}; };
WS_DLL_PUBLIC
void h248_register_package(const h248_package_t* pkg, pkg_reg_action reg_action); void h248_register_package(const h248_package_t* pkg, pkg_reg_action reg_action);
#endif /* PACKET_H248_H */ #endif /* PACKET_H248_H */

View File

@ -25,8 +25,11 @@
#define __PACKET_HTTP_H__ #define __PACKET_HTTP_H__
#include <epan/packet.h> #include <epan/packet.h>
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void http_dissector_add(guint32 port, dissector_handle_t handle); void http_dissector_add(guint32 port, dissector_handle_t handle);
WS_DLL_PUBLIC
void http_port_add(guint32 port); void http_port_add(guint32 port);
/* Used for HTTP statistics */ /* Used for HTTP statistics */

View File

@ -24,6 +24,9 @@
#ifndef __PACKET_I2C_H__ #ifndef __PACKET_I2C_H__
#define __PACKET_I2C_H__ #define __PACKET_I2C_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_i2c(union wtap_pseudo_header *, packet_counts *); void capture_i2c(union wtap_pseudo_header *, packet_counts *);
#endif #endif

View File

@ -25,6 +25,12 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#ifndef __PACKET_IEEE80211_RADIOTAP_H__
#define __PACKET_IEEE80211_RADIOTAP_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_radiotap(const guchar *pd, int offset, int len, packet_counts *ld); void capture_radiotap(const guchar *pd, int offset, int len, packet_counts *ld);
void proto_register_radiotap(void); void proto_register_radiotap(void);
void proto_reg_handoff_radiotap(void); void proto_reg_handoff_radiotap(void);
@ -38,3 +44,5 @@ struct _radiotap_info {
guint32 flags; guint32 flags;
guint64 tsft; guint64 tsft;
}; };
#endif

View File

@ -27,12 +27,17 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_ieee80211 (const guchar *, int, int, packet_counts *); void capture_ieee80211 (const guchar *, int, int, packet_counts *);
void capture_ieee80211_datapad (const guchar *, int, int, packet_counts *); void capture_ieee80211_datapad (const guchar *, int, int, packet_counts *);
void capture_ieee80211_fixed (const guchar *, int, int, packet_counts *); void capture_ieee80211_fixed (const guchar *, int, int, packet_counts *);
void capture_ieee80211_ht (const guchar *, int, int, packet_counts *); void capture_ieee80211_ht (const guchar *, int, int, packet_counts *);
WS_DLL_PUBLIC
void capture_prism(const guchar *, int, int, packet_counts *); void capture_prism(const guchar *, int, int, packet_counts *);
WS_DLL_PUBLIC
void capture_wlancap(const guchar *, int, int, packet_counts *); void capture_wlancap(const guchar *, int, int, packet_counts *);
void ieee_80211_add_tagged_parameters (tvbuff_t * tvb, int offset, void ieee_80211_add_tagged_parameters (tvbuff_t * tvb, int offset,

View File

@ -24,9 +24,12 @@
#ifndef __PACKET_IEEE802A_H__ #ifndef __PACKET_IEEE802A_H__
#define __PACKET_IEEE802A_H__ #define __PACKET_IEEE802A_H__
#include "ws_symbol_export.h"
/* /*
* Add an entry for a new OUI. * Add an entry for a new OUI.
*/ */
WS_DLL_PUBLIC
void ieee802a_add_oui(guint32, const char *, const char *, hf_register_info *); void ieee802a_add_oui(guint32, const char *, const char *, hf_register_info *);
#endif #endif

View File

@ -26,6 +26,8 @@
#ifndef __PACKET_IP_H__ #ifndef __PACKET_IP_H__
#define __PACKET_IP_H__ #define __PACKET_IP_H__
#include "ws_symbol_export.h"
typedef struct _ws_ip typedef struct _ws_ip
{ {
guint8 ip_v_hl; /* combines ip_v and ip_hl */ guint8 ip_v_hl; /* combines ip_v and ip_hl */
@ -44,6 +46,6 @@ void capture_ip(const guchar *, int, int, packet_counts *);
guint16 ip_checksum(const guint8 *ptr, int len); guint16 ip_checksum(const guint8 *ptr, int len);
/* Export the DSCP extended value-string table for other protocols */ /* Export the DSCP extended value-string table for other protocols */
WS_VAR_IMPORT value_string_ext dscp_vals_ext; WS_DLL_PUBLIC value_string_ext dscp_vals_ext;
#endif #endif

View File

@ -24,6 +24,9 @@
#ifndef __PACKET_IPFC_H__ #ifndef __PACKET_IPFC_H__
#define __PACKET_IPFC_H__ #define __PACKET_IPFC_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_ipfc(const guchar *, int, packet_counts *); void capture_ipfc(const guchar *, int, packet_counts *);
#endif #endif

View File

@ -27,6 +27,8 @@
#ifndef PACKET_ISUP_H #ifndef PACKET_ISUP_H
#define PACKET_ISUP_H #define PACKET_ISUP_H
#include "ws_symbol_export.h"
#define ISUP_MAX_NUM_MESSAGE_TYPES 256 #define ISUP_MAX_NUM_MESSAGE_TYPES 256
typedef struct _isup_tap_rec_t { typedef struct _isup_tap_rec_t {
@ -43,8 +45,8 @@ typedef struct _isup_tap_rec_t {
* without having to duplicate it. With MSVC and a * without having to duplicate it. With MSVC and a
* libwireshark.dll, we need a special declaration. * libwireshark.dll, we need a special declaration.
*/ */
WS_VAR_IMPORT value_string_ext isup_message_type_value_acro_ext; WS_DLL_PUBLIC value_string_ext isup_message_type_value_acro_ext;
WS_VAR_IMPORT value_string_ext q850_cause_code_vals_ext; WS_DLL_PUBLIC value_string_ext q850_cause_code_vals_ext;
/* /*
* Export some definitions and value_string tables for other dissectors * Export some definitions and value_string tables for other dissectors
*/ */
@ -165,16 +167,21 @@ extern value_string_ext isup_transmission_medium_requirement_value_ext;
extern value_string_ext bearer_network_connection_characteristics_vals_ext; extern value_string_ext bearer_network_connection_characteristics_vals_ext;
extern value_string_ext x213_afi_value_ext; extern value_string_ext x213_afi_value_ext;
WS_VAR_IMPORT value_string_ext isup_calling_partys_category_value_ext; WS_DLL_PUBLIC value_string_ext isup_calling_partys_category_value_ext;
/* /*
* Export dissection of some parameters * Export dissection of some parameters
*/ */
void dissect_nsap(tvbuff_t *parameter_tvb,gint offset,gint len, proto_tree *parameter_tree); void dissect_nsap(tvbuff_t *parameter_tvb,gint offset,gint len, proto_tree *parameter_tree);
WS_DLL_PUBLIC
void dissect_isup_called_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item); void dissect_isup_called_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
WS_DLL_PUBLIC
void dissect_isup_calling_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item); void dissect_isup_calling_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
void dissect_isup_cause_indicators_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item); void dissect_isup_cause_indicators_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
WS_DLL_PUBLIC
void dissect_isup_redirection_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item); void dissect_isup_redirection_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
WS_DLL_PUBLIC
void dissect_isup_original_called_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item); void dissect_isup_original_called_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
WS_DLL_PUBLIC
void dissect_isup_redirecting_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item); void dissect_isup_redirecting_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
void dissect_isup_location_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item); void dissect_isup_location_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);

Some files were not shown because too many files have changed in this diff Show More