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)
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
message(WARNING "Hiding shared library symbols is not supported by the compiler."
" All shared library symbols will be exported.")
@ -517,14 +517,8 @@ if(ENABLE_PCAP_NG_DEFAULT)
endif()
#Platform specific
if(UNIX)
if(CMAKE_COMPILER_IS_GNUCC)
# set(WS_VAR_IMPORT "__attribute__((visibility(\"default\")))" )
set(WS_VAR_IMPORT "extern")
else()
set(WS_VAR_IMPORT "extern")
endif()
endif()
#if(UNIX)
#endif()
if(APPLE)
#
@ -538,8 +532,6 @@ if(APPLE)
endif()
if(WIN32)
add_definitions(-D_NEED_VAR_IMPORT_)
set(WS_VAR_IMPORT "__declspec(dllimport) extern")
set(WS_MSVC_NORETURN "__declspec(noreturn)")
# 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
GENERATED_CFLAGS=\
$(STANDARD_CFLAGS) \
-D_NEED_VAR_IMPORT_ \
/I. /Iwiretap $(GLIB_CFLAGS) \
$(ZLIB_CFLAGS) /I$(PCAP_DIR)\include $(AIRPCAP_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_SETSAMPLING@/$(PCAP_SETSAMPLING_CONFIG)/" \
-e "s/@HAVE_BPF_IMAGE@/$(BPF_IMAGE_CONFIG)/" \
-e "s/@HAVE_LIBWIRESHARKDLL@/$(LIBWIRESHARK_CONFIG)/" \
-e "s/@HAVE_LIBGNUTLS@/$(GNUTLS_CONFIG)/" \
-e "s/@HAVE_LIBGCRYPT@/$(LIBGCRYPT_CONFIG)/" \
-e "s/@HAVE_LUA@/$(LUA_CONFIG)/" \
@ -488,8 +486,6 @@ QMAKE_CFLAGS *= $(STANDARD_CFLAGS) $(PORTAUDIO_CFLAGS:\=/)
QMAKE_CXXFLAGS *= $(STANDARD_CFLAGS) $(PORTAUDIO_CFLAGS:\=/)
QMAKE_LFLAGS *= /LARGEADDRESSAWARE $(LDFLAGS)
DEFINES += _NEED_VAR_IMPORT_
<<KEEP
ps.c: tools\rdps.py print.ps

View File

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

View File

@ -26,6 +26,8 @@
#ifndef PACKET_ANSI_MAP_H
#define PACKET_ANSI_MAP_H
#include "ws_symbol_export.h"
#define ANSI_MAP_MAX_NUM_MESSAGE_TYPES 256
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
* 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
#define PACKET_CAMEL_H
#include "ws_symbol_export.h"
void proto_reg_handoff_camel(void);
void proto_register_camel(void);
@ -41,7 +43,7 @@ void proto_register_camel(void);
#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"*/
#endif /* PACKET_camel_H */

View File

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

View File

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

View File

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

View File

@ -26,6 +26,8 @@
#ifndef PACKET_GSM_MAP_H
#define PACKET_GSM_MAP_H
#include "ws_symbol_export.h"
/* Defines for the GSM MAP taps */
#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_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);
extern const value_string ssCode_vals[];

View File

@ -13,7 +13,7 @@
#.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
FacilityReason
GatekeeperRejectReason
@ -28,7 +28,7 @@ LocationRejectReason
RegistrationRejectReason
#.MODULE_EXPORTS
RasMessage WS_VAR
RasMessage EXTERN WS_DLL
NonStandardParameter
PublicTypeOfNumber
PrivateTypeOfNumber
@ -59,7 +59,7 @@ EndpointType
SupportedProtocols
GatekeeperIdentifier
ServiceControlSession
ReleaseCompleteReason WS_VAR
ReleaseCompleteReason EXTERN WS_DLL
ExtendedAliasAddress_PDU
#.END

View File

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

View File

@ -25,6 +25,9 @@
#ifndef PACKET_H245_H
#define PACKET_H245_H
#include "ws_symbol_export.h"
typedef enum _h245_msg_type {
H245_TermCapSet,
H245_TermCapSetAck,
@ -116,10 +119,10 @@ struct _h223_mux_element {
#include <epan/dissectors/packet-per.h>
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 );
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"
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
#include <epan/gcp.h>
#include "ws_symbol_export.h"
/*#include "packet-h248-exp.h"*/
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_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_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);
@ -112,6 +113,7 @@ struct _h248_curr_info_t {
const h248_pkg_param_t* par;
};
WS_DLL_PUBLIC
void h248_register_package(const h248_package_t* pkg, pkg_reg_action reg_action);
#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;
WS_DLL_PUBLIC
void
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)
static krb5_context krb5_ctx;
WS_DLL_PUBLIC
void
read_keytab_file(const char *filename)
{
@ -551,6 +554,7 @@ clear_keytab(void) {
service_key_list = NULL;
}
WS_DLL_PUBLIC
static void
read_keytab_file(const char *service_key_file)
{

View File

@ -27,6 +27,7 @@
#define __PACKET_LDAP_H__
# include <epan/packet.h> /* for dissector_*_t types */
#include "ws_symbol_export.h"
/*
* 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(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_);
/*#include "packet-ldap-exp.h" */

View File

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

View File

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

View File

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

View File

@ -25,6 +25,8 @@
* 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_DESC 128
@ -72,6 +74,7 @@ typedef struct _t38_conv
} t38_conv;
/* Add an T38 conversation with the given details */
WS_DLL_PUBLIC
void t38_add_address(packet_info *pinfo,
address *addr, int port,
int other_port,

View File

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

View File

@ -26,6 +26,9 @@
#ifndef PACKET_tcap_H
#define PACKET_tcap_H
#include "ws_symbol_export.h"
/* TCAP component type */
#define TCAP_COMP_INVOKE 0xa1
#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);
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_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*);

View File

@ -372,10 +372,6 @@
first (like Motorola and SPARC, unlike Intel and VAX). */
#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
never return (just like Charlie on the MTA).

View File

@ -52,7 +52,6 @@
@HAVE_PCAP_DATALINK_NAME_TO_VAL@
@HAVE_PCAP_DATALINK_VAL_TO_NAME@
@HAVE_PCAP_DATALINK_VAL_TO_DESCRIPTION@
@HAVE_LIBWIRESHARKDLL@
@HAVE_PCAP_LIST_DATALINKS@
@HAVE_PCAP_FREE_DATALINKS@
@ -76,15 +75,6 @@
@PCAP_NG_DEFAULT@
@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
* never return (just like Charlie on the MTA).

View File

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

View File

@ -521,15 +521,11 @@ fi
CFLAGS_before_fvhidden=$CFLAGS
AC_WIRESHARK_GCC_CFLAGS_CHECK(-fvisibility=hidden)
if test "x$CLFAGS" != "x$CFLAGS_before_fvhidden"
if test "x$CLFAGS" = "x$CFLAGS_before_fvhidden"
then
# Restore CFLAGS
CFLAGS=$CFLAGS_before_fvhidden
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])
# TODO add other ways of hiding symbols
AC_MSG_WARN(Compiler will export all symbols from shared libraries)
fi
AC_SUBST(COMPILE_HIDE_SYMBOLS)
AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed])
###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,-M])
@ -1978,12 +1974,6 @@ fi
AM_CONDITIONAL(HAVE_LIBPY, test x$want_python != xno)
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
# never return (just like Charlie on the MTA).

View File

@ -287,7 +287,7 @@ stips the parts outlined below:
o Removed the definition:
#ifndef ENABLE_STATIC
G_MODULE_EXPORT gchar version[] = VERSION;
WS_DLL_PUBLIC_NOEXTERN gchar version[] = VERSION;
#endif
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
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" */
"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);
}
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();
}

View File

@ -1548,6 +1548,7 @@ add_dependencies(epan svnversion)
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 VERSION ${FULL_SO_VERSION} SOVERSION 0)
@ -1573,7 +1574,7 @@ file(MAKE_DIRECTORY abi-check-headers abi-check-headers/epan
abi-check-headers/wmem)
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 ${CRYPT_HEADERS} DESTINATION abi-check-headers/crypt)
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
lib_LTLIBRARIES = libwireshark.la
# 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
@ -64,9 +64,10 @@ INCLUDES = -I$(srcdir)/.. -I$(srcdir)/$(LEMON) -I$(builddir)/wslua \
@LUA_INCLUDES@ $(LIBGNUTLS_CFLAGS) $(LIBGCRYPT_CFLAGS) \
$(LIBSMI_CFLAGS) $(LIBGEOIP_CFLAGS) $(PY_CFLAGS)
AM_NON_GENERATED_CFLAGS =-DWS_BUILD_DLL
if HAVE_WARNINGS_AS_ERRORS
AM_NON_GENERATED_CFLAGS = -Werror
AM_NON_GENERATED_CFLAGS += -Werror
endif
#Since code generated by lex may trigger gcc warnings, we are now generating two
@ -100,7 +101,6 @@ EXTRA_DIST = \
dtd_parse.h \
dtd_preparse.l \
enterprise-numbers \
libwireshark.def \
libwireshark.vcproj \
Makefile.common \
Makefile.nmake \
@ -119,7 +119,6 @@ CLEANFILES = \
libwireshark_generated.la \
libwireshark_asmopt.a \
libwireshark_asmopt.la \
libwireshark.sym \
*~
DISTCLEANFILES = \
@ -152,8 +151,7 @@ libwireshark_la_DEPENDENCIES = \
ftypes/libftypes.la dfilter/libdfilter.la dissectors/libdissectors.la \
dissectors/libdirtydissectors.la wmem/libwmem.la $(wslua_lib) $(wspython_lib) \
${top_builddir}/wsutil/libwsutil.la \
${top_builddir}/wiretap/libwiretap.la \
libwireshark.sym
${top_builddir}/wiretap/libwiretap.la
EXTRA_PROGRAMS = reassemble_test
reassemble_test_LDADD = \
@ -192,21 +190,6 @@ tvbtest.o exntest.o: exceptions.h
sminmpec.c: enterprise-numbers ../tools/make-sminmpec.pl
$(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

View File

@ -19,7 +19,7 @@ GENERATED_CFLAGS=\
$(LUA_CFLAGS) $(GNUTLS_CFLAGS) /I$(PCAP_DIR)\include \
$(PYTHON_CFLAGS) $(SMI_CFLAGS) $(GEOIP_CFLAGS)
CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS) -DWS_BUILD_DLL
!IFDEF LUA_DIR
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.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
@echo Linking libwireshark.dll
$(link) $(dlllflags) $(conlibsdll) shell32.lib \
$(LOCAL_LDFLAGS) $(DLL_LDFLAGS) \
/DEF:libwireshark.def /OUT:libwireshark.dll \
/OUT:libwireshark.dll \
/IMPLIB:libwireshark.lib $(LIBWIRESHARK_OBJECTS) \
$(libwireshark_LIBS) ..\image\libwireshark.res \
dissectors\register.obj \

View File

@ -36,6 +36,7 @@
#include <epan/address.h>
#include <epan/tvbuff.h>
#include "ws_symbol_export.h"
#ifdef __cplusplus
extern "C" {
@ -57,7 +58,7 @@ typedef struct _e_addr_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 */
@ -72,13 +73,13 @@ extern gchar *g_pipxnets_path;
* get_udp_port() returns the port name corresponding to that UDP port,
* 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,
* 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,
@ -90,7 +91,7 @@ extern gchar *get_dccp_port(guint port);
* get_sctp_port() returns the port name corresponding to that SCTP port,
* 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 */
/* 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 */
/* address 10.10.10.10 */
WS_DLL_PUBLIC
const gchar *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
* 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 */
extern void host_name_lookup_cleanup(void);
/* 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 */
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
"<vendor>_%02x:%02x:%02x" if the vendor code is known else
"%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 */
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()
@ -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()
* 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()
@ -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"
* 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,
* tvb_get_manuf_name_if_known() returns the vendor name, or NULL
* 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
"%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);
/* 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 */
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.
*
@ -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.
*/
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 */
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.
*
@ -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.
*/
extern struct addrinfo *get_addrinfo_list(void);
WS_DLL_PUBLIC struct addrinfo *get_addrinfo_list(void);
/* add ethernet address / name corresponding to IP address */
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.
* @return TRUE on success, FALSE on failure, timeout.
*/
WS_DLL_PUBLIC
gboolean get_host_ipaddr(const char *host, guint32 *addrp);
/** 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.
* @return TRUE on success, FALSE on failure or timeout.
*/
WS_DLL_PUBLIC
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
* that we don't know)
*/
WS_DLL_PUBLIC
const char* host_ip_af(const char *host);
#ifdef __cplusplus

View File

@ -26,6 +26,8 @@
#ifndef __ASN1_H__
#define __ASN1_H__
#include "ws_symbol_export.h"
typedef enum {
ASN1_ENC_BER, /* X.690 - BER, CER, DER */
ASN1_ENC_PER, /* X.691 - PER */
@ -173,7 +175,7 @@ typedef struct _rose_ctx_t {
void *private_data;
} 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 void asn1_ctx_clean_external(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 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 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);
extern rose_ctx_t *get_rose_ctx(void *ptr);
WS_DLL_PUBLIC asn1_ctx_t *get_asn1_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);

View File

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

View File

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

View File

@ -32,6 +32,7 @@
#include <epan/conversation.h>
#include <epan/dissectors/packet-camel.h>
#include <epan/tcap-persistentdata.h>
#include "ws_symbol_export.h"
#ifdef __cplusplus
extern "C" {
@ -56,7 +57,7 @@ extern "C" {
#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,
(eg: ApplyCharging, ApplyChargingReport)
@ -134,7 +135,7 @@ void camelsrt_call_matching(tvbuff_t *tvb,
proto_tree *tree,
struct camelsrt_info_t * p_camel_info);
WS_VAR_IMPORT gboolean gcamel_StatSRT;
WS_DLL_PUBLIC gboolean gcamel_StatSRT;
#ifdef __cplusplus
}

View File

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

View File

@ -26,6 +26,7 @@
#define __CIRCUIT_H__
#include "packet.h" /* for circuit dissector type */
#include "ws_symbol_export.h"
#ifdef __cplusplus
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
* 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);
/**
@ -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.
* 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);
/**
@ -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 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);
extern void *circuit_get_proto_data(circuit_t *conv, int proto);
extern void circuit_delete_proto_data(circuit_t *conv, int proto);
WS_DLL_PUBLIC void *circuit_get_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,
dissector_handle_t handle);

View File

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

View File

@ -30,6 +30,7 @@
#include "column_info.h"
#include "packet_info.h"
#include <epan/epan.h>
#include "ws_symbol_export.h"
#ifdef __cplusplus
extern "C" {
@ -44,14 +45,14 @@ extern "C" {
*
* 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;
* undoes the alocations that col_setup() does.
*
* 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.
*
@ -63,13 +64,13 @@ extern void col_init(column_info *cinfo);
*
* 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.
*
* 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.
* 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!
*/
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 */
@ -86,14 +87,14 @@ extern void col_fill_in_error(column_info *cinfo, frame_data *fdata, const gbool
* @param cinfo the current packet row
* @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.
*
* @param cinfo the current packet row
* @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.
@ -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
* 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,
* 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 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.
*
@ -131,7 +132,7 @@ extern const gchar *col_get_text(column_info *cinfo, const gint col);
* @param cinfo the current packet row
* @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.
*
@ -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 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.
*
@ -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 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.
*
@ -160,20 +161,24 @@ extern void col_add_str(column_info *cinfo, const gint col, const gchar *str);
* @param format the format string
* @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);
/** For internal Wireshark use only. Not to be called from dissectors. */
void col_custom_set_edt(epan_dissect_t *edt, column_info *cinfo);
/** 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);
/** For internal Wireshark use only. Not to be called from dissectors. */
WS_DLL_PUBLIC
gboolean have_custom_cols(column_info *cinfo);
/** 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);
/** 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);
/** 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 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.
*
@ -193,7 +198,7 @@ extern void col_append_str(column_info *cinfo, const gint col, const gchar *str)
* @param format the format string
* @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);
/** 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 ... 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);
/**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
* 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);
/** 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 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);
/** 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 ... 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, ...)
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
* 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);
extern void set_fd_time(frame_data *fd, gchar *buf);
WS_DLL_PUBLIC void set_fd_time(frame_data *fd, gchar *buf);
#ifdef __cplusplus
}

View File

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

View File

@ -25,6 +25,8 @@
#ifndef __CONVERSATION_H__
#define __CONVERSATION_H__
#include "ws_symbol_export.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
@ -102,7 +104,7 @@ extern void conversation_init(void);
* and/or port 2 value are not given and any value is acceptable
* 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);
/**
@ -141,7 +143,7 @@ extern conversation_t *conversation_new(const guint32 setup_frame, const address
*
* 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);
/** 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
* 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);
extern 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_get_proto_data(const 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);
/**
* Given two address/port pairs for a packet, search for a matching

View File

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

View File

@ -27,6 +27,8 @@
#ifndef __CRC16_TVB_H__
#define __CRC16_TVB_H__
#include "ws_symbol_export.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
@ -35,20 +37,20 @@ extern "C" {
@param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation.
@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.
@param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation.
@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.
@param tvb The tv buffer containing the data.
@param offset The offset into the tv buffer.
@param len The number of bytes to include in the computation.
@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
* 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 seed The seed to use.
@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
* 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 seed The seed to use.
@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);
/** 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 len The number of bytes to include in the computation.
@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
* 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 crc Starting CRC value
@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
}

View File

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

View File

@ -25,6 +25,8 @@
#ifndef __CRC32_TVB_H__
#define __CRC32_TVB_H__
#include "ws_symbol_export.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
@ -33,14 +35,14 @@ extern "C" {
@param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation.
@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.
@param tvb The tv buffer containing the data.
@param offset The offset into the tv buffer.
@param len The number of bytes to include in the computation.
@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
* 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 seed The seed to use.
@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
* 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 seed The seed to use.
@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);
/** Compute IEEE 802.x CRC32 checksum of a tv buffer.
@param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation.
@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.
@param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation.
@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.
@param tvb The tv buffer containing the data.
@param offset The offset into the tv buffer.
@param len The number of bytes to include in the computation.
@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.
@param tvb The tv buffer containing the data.
@param len The number of bytes to include in the computation.
@param seed The seed to use.
@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.
@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 seed The seed to use.
@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);
#ifdef __cplusplus
}

View File

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

View File

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

View File

@ -41,6 +41,8 @@
/* File includes */
/* */
#include "airpdcap_interop.h"
#include "ws_symbol_export.h"
/* */
/* */
/******************************************************************************/
@ -216,6 +218,7 @@ typedef struct _AIRPDCAP_KEYS_COLLECTION {
* success, or NULL on failure.
* @see get_key_string()
*/
WS_DLL_PUBLIC
decryption_key_t*
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
* @see parse_key_string()
*/
WS_DLL_PUBLIC
gchar*
get_key_string(decryption_key_t* dk);

View File

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

View File

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

View File

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

View File

@ -24,6 +24,9 @@
#ifndef _DFILTER_MACRO_H
#define _DFILTER_MACRO_H
#include "ws_symbol_export.h"
#define DFILTER_MACRO_FILENAME "dfilter_macros"
@ -39,6 +42,7 @@ typedef struct _dfilter_macro_t {
/* loop over the macros list */
typedef void (*dfilter_macro_cb_t)(dfilter_macro_t*, void*);
WS_DLL_PUBLIC
void dfilter_macro_foreach(dfilter_macro_cb_t, void*);
/* 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);
WS_DLL_PUBLIC
void dfilter_macro_get_uat(void**);
WS_DLL_PUBLIC
void dfilter_macro_build_ftv_cache(void* tree_root);
#endif /* _DFILTER_MACRO_H */

View File

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

View File

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

View File

@ -25,6 +25,7 @@
#ifndef __DISSECTOR_FILTERS_H__
#define __DISSECTOR_FILTERS_H__
#include "ws_symbol_export.h"
#ifdef __cplusplus
extern "C" {
@ -41,7 +42,7 @@ typedef const gchar* (*build_filter_string_func)(packet_info *pinfo);
/** 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;
} dissector_filter_t;
WS_VAR_IMPORT GList *dissector_filter_list;
WS_DLL_PUBLIC GList *dissector_filter_list;
#ifdef __cplusplus
}

View File

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

View File

@ -125,7 +125,7 @@ struct aspinfo {
/*
* 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

View File

@ -46,12 +46,12 @@ ext_value_string_t;
* without having to duplicate it. With MSVC and a
* libwireshark.dll, we need a special declaration.
*/
WS_VAR_IMPORT const ext_value_string_t *ansi_a_bsmap_strings;
WS_VAR_IMPORT const ext_value_string_t *ansi_a_dtap_strings;
WS_VAR_IMPORT const ext_value_string_t ansi_a_ios501_bsmap_strings[];
WS_VAR_IMPORT const ext_value_string_t ansi_a_ios501_dtap_strings[];
WS_VAR_IMPORT 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_bsmap_strings;
WS_DLL_PUBLIC const ext_value_string_t *ansi_a_dtap_strings;
WS_DLL_PUBLIC const ext_value_string_t ansi_a_ios501_bsmap_strings[];
WS_DLL_PUBLIC const ext_value_string_t ansi_a_ios501_dtap_strings[];
WS_DLL_PUBLIC const ext_value_string_t ansi_a_ios401_bsmap_strings[];
WS_DLL_PUBLIC const ext_value_string_t ansi_a_ios401_dtap_strings[];
#define A_VARIANT_IS634 4
#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_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
* 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

View File

@ -34,6 +34,8 @@
#ifndef PACKET_ANSI_MAP_H
#define PACKET_ANSI_MAP_H
#include "ws_symbol_export.h"
#define ANSI_MAP_MAX_NUM_MESSAGE_TYPES 256
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
* 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__
#define __PACKET_AP1394_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_ap1394(const guchar *, int, int, packet_counts *);
#endif

View File

@ -24,6 +24,9 @@
#ifndef __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);
#endif

View File

@ -21,6 +21,8 @@
#ifndef __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

View File

@ -24,6 +24,9 @@
#ifndef __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,
packet_counts *);

View File

@ -27,6 +27,9 @@
#ifndef __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 *);
#endif

View File

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

View File

@ -29,6 +29,7 @@
#include <epan/proto.h>
#include <epan/to_str.h>
#include <epan/asn1.h>
#include "ws_symbol_export.h"
#define BER_NOT_DECODED_YET(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.
* 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);
extern 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 get_ber_identifier(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);
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.
* 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);
extern int dissect_ber_length(packet_info *pinfo, proto_tree *tree, 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);
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_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_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_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_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_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_IMPLTAG 0x00000002
@ -150,11 +151,11 @@ typedef struct _ber_old_sequence_t {
/*
* 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);
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_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_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 */
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);
@ -177,39 +178,39 @@ typedef struct _ber_old_choice_t {
/*
* 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 */
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
*/
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);
/* 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);
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(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_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
*/
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_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 */
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_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 {
guint32 bit;
@ -222,21 +223,30 @@ typedef struct _asn_namedbit {
/* 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_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);
WS_DLL_PUBLIC
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);
WS_DLL_PUBLIC
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_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 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 */
WS_DLL_PUBLIC
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 */
WS_DLL_PUBLIC
gboolean oid_has_dissector(const char *oid);
#endif /* __PACKET_BER_H__ */

View File

@ -27,8 +27,9 @@
#ifndef __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);
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
#define PACKET_CAMEL_H
#include "ws_symbol_export.h"
void proto_reg_handoff_camel(void);
void proto_register_camel(void);
@ -49,7 +51,7 @@ void proto_register_camel(void);
#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"*/
#endif /* PACKET_camel_H */

View File

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

View File

@ -24,6 +24,9 @@
#ifndef __PACKET_CLIP_H__
#define __PACKET_CLIP_H__
#include "ws_symbol_export.h"
WS_DLL_PUBLIC
void capture_clip(const guchar *, int, packet_counts *);
#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_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_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_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_);

View File

@ -24,9 +24,12 @@
#ifndef __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.
*/
WS_VAR_IMPORT int proto_data;
WS_DLL_PUBLIC int proto_data;
#endif /* __PACKET_DATA_H__ */

View File

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

View File

@ -27,6 +27,7 @@
#define __PACKET_DCERPC_H__
#include <epan/conversation.h>
#include "ws_symbol_export.h"
/*
* Data representation.
@ -134,15 +135,19 @@ typedef struct _dcerpc_auth_info {
guint16 dcerpc_tvb_get_ntohs (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);
WS_DLL_PUBLIC
int dissect_dcerpc_uint8 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
int hfindex, guint8 *pdata);
WS_DLL_PUBLIC
int dissect_dcerpc_uint16 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
int hfindex, guint16 *pdata);
WS_DLL_PUBLIC
int dissect_dcerpc_uint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
int hfindex, guint32 *pdata);
WS_DLL_PUBLIC
int dissect_dcerpc_uint64 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
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,
proto_tree *tree, guint8 *drep,
int hfindex, guint32 *pdata);
WS_DLL_PUBLIC
int dissect_dcerpc_uuid_t (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
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.
*/
WS_DLL_PUBLIC
int dissect_ndr_uint8 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
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);
WS_DLL_PUBLIC
int dissect_ndr_uint16 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
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);
WS_DLL_PUBLIC
int dissect_ndr_uint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
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);
WS_DLL_PUBLIC
int dissect_ndr_duint32 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
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,
proto_tree *tree, guint8 *drep,
int hfindex, gfloat *pdata);
WS_DLL_PUBLIC
int dissect_ndr_double (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
int hfindex, gdouble *pdata);
int dissect_ndr_time_t (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
int hfindex, guint32 *pdata);
WS_DLL_PUBLIC
int dissect_ndr_uuid_t (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
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
typedef guint32 guint1632;
WS_DLL_PUBLIC
int dissect_ndr_uint1632 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
int hfindex, guint1632 *pdata);
typedef guint64 guint3264;
WS_DLL_PUBLIC
int dissect_ndr_uint3264 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep,
int hfindex, guint3264 *pdata);
@ -283,9 +297,13 @@ typedef struct _dcerpc_sub_dissector {
} dcerpc_sub_dissector;
/* 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);
WS_DLL_PUBLIC
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);
WS_DLL_PUBLIC
dcerpc_sub_dissector *dcerpc_get_proto_sub_dissector(e_uuid_t *uuid, guint16 ver);
/* 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
* 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
* libwireshark.dll, we need a special declaration.
*/
WS_VAR_IMPORT GHashTable *dcerpc_uuids;
WS_DLL_PUBLIC GHashTable *dcerpc_uuids;
typedef struct _dcerpc_uuid_key {
e_uuid_t uuid;
@ -420,9 +438,11 @@ typedef struct decode_dcerpc_bind_values_s {
} decode_dcerpc_bind_values_t;
/* Helper for "decode as" dialog to set up a UUID/conversation binding. */
WS_DLL_PUBLIC
struct _dcerpc_bind_value *
dcerpc_add_conv_to_bind_table(decode_dcerpc_bind_values_t *binding);
WS_DLL_PUBLIC
guint16
dcerpc_get_transport_salt (packet_info *pinfo);

View File

@ -27,31 +27,31 @@
#ifndef __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,
packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int
WS_DLL_PUBLIC int
dissect_IDispatch_GetTypeInfo_rqst(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int
WS_DLL_PUBLIC int
dissect_IDispatch_GetTypeInfo_resp(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int
WS_DLL_PUBLIC int
dissect_IDispatch_GetIDsOfNames_rqst(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int
WS_DLL_PUBLIC int
dissect_IDispatch_GetIDsOfNames_resp(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int
WS_DLL_PUBLIC int
dissect_IDispatch_Invoke_rqst(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int
WS_DLL_PUBLIC int
dissect_IDispatch_Invoke_resp(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep);

View File

@ -25,9 +25,10 @@
#ifndef __PACKET_DCERPC_DCOM_H
#define __PACKET_DCERPC_DCOM_H
#include "ws_symbol_export.h"
WS_VAR_IMPORT const value_string dcom_hresult_vals[];
WS_VAR_IMPORT const value_string dcom_variant_type_vals[];
WS_DLL_PUBLIC const value_string dcom_hresult_vals[];
WS_DLL_PUBLIC const value_string dcom_variant_type_vals[];
extern const value_string dcom_protseq_vals[];
extern int hf_dcom_iid;
@ -39,7 +40,7 @@ extern int hf_dcom_ipid;
extern GHashTable *dcom_uuids;
/* preferences */
extern gboolean dcom_prefs_display_unmarshalling_details;
WS_DLL_PUBLIC gboolean dcom_prefs_display_unmarshalling_details;
typedef struct dcom_machine_s {
@ -79,8 +80,8 @@ typedef struct dcom_marshaler_s {
dcom_dissect_fn_t routine;
} 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);
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_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_find(packet_info *pinfo, const guint8 *ip, e_uuid_t *ipid);
extern void dcom_interface_dump(void);
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);
/* the essential DCOM this and that, starting every call */
extern int
WS_DLL_PUBLIC int
dissect_dcom_this(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep);
extern int
WS_DLL_PUBLIC int
dissect_dcom_that(tvbuff_t *tvb, int offset,
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,
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,
proto_tree *tree, guint8 *drep,
int hfindex, guint32 * pu32DWORD, int field_index);
extern int
WS_DLL_PUBLIC int
dissect_dcom_HRESULT(tvbuff_t *tvb, int offset,
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,
proto_tree *tree, guint8 *drep,
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,
proto_tree *tree, guint8 *drep,
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,
guint32 u32VarType, guint32 u32ArraySize);
extern int
WS_DLL_PUBLIC int
dissect_dcom_SAFEARRAY(tvbuff_t *tvb, int offset, packet_info *pinfo,
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,
proto_tree *tree, guint8 *drep, int hfindex,
gchar *psz_buffer, guint32 u32max_buffer);
extern int
WS_DLL_PUBLIC int
dissect_dcom_indexed_LPWSTR(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex,
gchar *pszStr, guint32 u32MaxStr, int field_index);
extern int
WS_DLL_PUBLIC int
dissect_dcom_BSTR(tvbuff_t *tvb, gint offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex,
gchar *psz_buffer, guint32 u32max_buffer);
@ -184,28 +185,28 @@ extern int
dissect_dcom_OBJREF(tvbuff_t *tvb, gint offset, packet_info *pinfo,
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,
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,
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,
packet_info *pinfo, proto_tree *tree, guint8 *drep,
guint16 *pu16Vartype);
extern int
WS_DLL_PUBLIC int
dissect_dcom_VARIANT(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint8 *drep, int hfindex);
/* dcom "dcerpc internal" unmarshalling */
extern int
WS_DLL_PUBLIC int
dissect_dcom_dcerpc_array_size(tvbuff_t *tvb, gint offset, packet_info *pinfo,
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,
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 ;-) */
/* request: no parameters */
extern int
WS_DLL_PUBLIC int
dissect_dcom_simple_rqst(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint8 *drep);
/* response: only HRESULT */
extern int
WS_DLL_PUBLIC int
dissect_dcom_simple_resp(tvbuff_t *tvb, int offset,
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_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_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_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__
#include <epan/value_string.h>
#include "ws_symbol_export.h"
extern const value_string E164_country_code_value[];
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,
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

View File

@ -27,11 +27,14 @@
#define __PACKET_E212_H__
#include <epan/value_string.h>
#include "ws_symbol_export.h"
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);
WS_DLL_PUBLIC
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);
#endif /* __PACKET_E212_H__ */

View File

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

View File

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

View File

@ -27,6 +27,7 @@
#define __PACKET_FC_H_
#include "packet-scsi.h"
#include "ws_symbol_export.h"
/* R_CTL upper bits creates a classification tree */
#define FC_RCTL_DEV_DATA 0x00
@ -62,7 +63,7 @@
* without having to duplicate it. With MSVC and a
* 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 */
#define FC_DFCTL_DH 0x03 /* Device_Header type bits: */

View File

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

View File

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

View File

@ -23,6 +23,8 @@
* 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
* 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.
* Thus we need a special declaration.
*/
WS_VAR_IMPORT int proto_frame;
WS_VAR_IMPORT int hf_frame_arrival_time;
WS_VAR_IMPORT int hf_frame_number;
WS_VAR_IMPORT int hf_frame_len;
WS_VAR_IMPORT int hf_frame_capture_len;
WS_DLL_PUBLIC int proto_frame;
WS_DLL_PUBLIC int hf_frame_arrival_time;
WS_DLL_PUBLIC int hf_frame_number;
WS_DLL_PUBLIC int hf_frame_len;
WS_DLL_PUBLIC int hf_frame_capture_len;

View File

@ -28,6 +28,8 @@
#ifndef PACKET_GIOP_H
#define PACKET_GIOP_H
#include "ws_symbol_export.h"
/*
* 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
*/
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);
/*
@ -135,7 +137,7 @@ extern void delete_giop_user(giop_sub_dissector_t *sub, gchar *name);
* 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);
/*
@ -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.
*/
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,
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.
*/
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
@ -192,7 +194,7 @@ extern gboolean get_CDR_boolean(tvbuff_t *tvb, int *offset);
* 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.
*/
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);
@ -223,7 +225,7 @@ extern gdouble get_CDR_double(tvbuff_t *tvb, int *offset,
* 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);
@ -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);
@ -274,7 +276,7 @@ extern void get_CDR_fixed(tvbuff_t *tvb, packet_info *pinfo, proto_item *item,
* 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);
@ -282,7 +284,7 @@ extern gfloat get_CDR_float(tvbuff_t *tvb, int *offset,
* 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);
@ -295,7 +297,7 @@ extern void get_CDR_interface(tvbuff_t *tvb, packet_info *pinfo,
* 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);
@ -311,13 +313,13 @@ extern gint32 get_CDR_long(tvbuff_t *tvb, int *offset,
#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);
#else
/* 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);
#endif
@ -332,14 +334,14 @@ extern gdouble get_CDR_long_double(tvbuff_t *tvb, int *offset,
* 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);
/*
* 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);
@ -350,7 +352,7 @@ extern void get_CDR_object(tvbuff_t *tvb, packet_info *pinfo,
* 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.
@ -359,7 +361,7 @@ extern guint8 get_CDR_octet(tvbuff_t *tvb, int *offset);
* 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
* 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.
*/
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);
@ -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);
@ -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.
*/
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 );
/* 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.
*/
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);
@ -436,7 +438,7 @@ extern guint32 get_CDR_ulong(tvbuff_t *tvb, int *offset,
* 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);
/* 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.
*/
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);
@ -482,7 +484,7 @@ extern guint16 get_CDR_ushort(tvbuff_t *tvb, int *offset,
* 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);
@ -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.
*/
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);
@ -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 */
extern gboolean is_big_endian (MessageHeader * header);
WS_DLL_PUBLIC gboolean is_big_endian (MessageHeader * header);
/*
* 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.
*/
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 *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.
*/
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

View File

@ -52,6 +52,7 @@
#define __PACKET_GSM_A_COMMON_H__
#include "packet-sccp.h"
#include "ws_symbol_export.h"
/* 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);
@ -348,17 +349,17 @@ extern const char* get_gsm_a_msg_string(int pdu_type, int idx);
/*
* 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
*/
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
*/
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
@ -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
* 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
@ -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
* 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
*/
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
*/
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
*/
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
@ -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
* 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
@ -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
* 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',
@ -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_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);
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);
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_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);
@ -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_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);
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);
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);
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_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_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);
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_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);
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);
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);
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);
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_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);
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);
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);
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);
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);
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);
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);
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_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);
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);
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);
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);
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_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
* libwireshark.dll, we need a special declaration.
*/
WS_VAR_IMPORT const value_string gsm_a_bssmap_msg_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_mm_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_rr_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_cc_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_gmm_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_sms_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_sm_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_ss_strings[];
WS_VAR_IMPORT const value_string gsm_a_dtap_msg_tp_strings[];
WS_VAR_IMPORT const value_string gsm_a_rr_short_pd_msg_strings[];
WS_VAR_IMPORT const gchar *gsm_a_pd_str[];
WS_DLL_PUBLIC const value_string gsm_a_bssmap_msg_strings[];
WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_mm_strings[];
WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_rr_strings[];
WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_cc_strings[];
WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_gmm_strings[];
WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_sms_strings[];
WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_sm_strings[];
WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_ss_strings[];
WS_DLL_PUBLIC const value_string gsm_a_dtap_msg_tp_strings[];
WS_DLL_PUBLIC const value_string gsm_a_rr_short_pd_msg_strings[];
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_traffic_cls_vals[];

View File

@ -34,6 +34,8 @@
#ifndef PACKET_GSM_MAP_H
#define PACKET_GSM_MAP_H
#include "ws_symbol_export.h"
/* Defines for the GSM MAP taps */
#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_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);
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[];
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_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_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_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_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_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_);
@ -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_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_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_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_);
@ -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 ---*/
#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 */

View File

@ -90,11 +90,11 @@ typedef struct _h225_packet_info {
/*--- Included file: packet-h225-exp.h ---*/
#line 1 "../../asn1/h225/packet-h225-exp.h"
WS_VAR_IMPORT const value_string T_h323_message_body_vals[];
WS_VAR_IMPORT const value_string h225_ReleaseCompleteReason_vals[];
WS_DLL_PUBLIC const value_string T_h323_message_body_vals[];
WS_DLL_PUBLIC const value_string h225_ReleaseCompleteReason_vals[];
extern const value_string h225_PresentationIndicator_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_SupportedProtocols_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_CryptoH323Token_vals[];
extern const value_string h225_GenericIdentifier_vals[];
WS_VAR_IMPORT const value_string h225_RasMessage_vals[];
WS_VAR_IMPORT const value_string GatekeeperRejectReason_vals[];
WS_VAR_IMPORT const value_string RegistrationRejectReason_vals[];
WS_VAR_IMPORT const value_string UnregRequestReason_vals[];
WS_VAR_IMPORT const value_string UnregRejectReason_vals[];
WS_DLL_PUBLIC const value_string h225_RasMessage_vals[];
WS_DLL_PUBLIC const value_string GatekeeperRejectReason_vals[];
WS_DLL_PUBLIC const value_string RegistrationRejectReason_vals[];
WS_DLL_PUBLIC const value_string UnregRequestReason_vals[];
WS_DLL_PUBLIC const value_string UnregRejectReason_vals[];
extern const value_string h225_TransportQOS_vals[];
WS_VAR_IMPORT const value_string AdmissionRejectReason_vals[];
WS_VAR_IMPORT const value_string BandRejectReason_vals[];
WS_VAR_IMPORT const value_string LocationRejectReason_vals[];
WS_VAR_IMPORT const value_string DisengageReason_vals[];
WS_VAR_IMPORT const value_string DisengageRejectReason_vals[];
WS_VAR_IMPORT 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 const value_string AdmissionRejectReason_vals[];
WS_DLL_PUBLIC const value_string BandRejectReason_vals[];
WS_DLL_PUBLIC const value_string LocationRejectReason_vals[];
WS_DLL_PUBLIC const value_string DisengageReason_vals[];
WS_DLL_PUBLIC const value_string DisengageRejectReason_vals[];
WS_DLL_PUBLIC const value_string InfoRequestNakReason_vals[];
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_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_);
@ -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_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_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_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
#define PACKET_H245_H
#include "ws_symbol_export.h"
typedef enum _h245_msg_type {
H245_TermCapSet,
H245_TermCapSetAck,
@ -124,10 +127,10 @@ struct _h223_mux_element {
#include <epan/dissectors/packet-per.h>
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 );
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 ---*/
@ -138,7 +141,7 @@ extern const value_string h245_TransportAddress_vals[];
extern const value_string h245_UnicastAddress_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_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_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_);
@ -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_);
/*--- 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);

View File

@ -36,6 +36,7 @@
#ifndef PACKET_H248_H
#include <epan/gcp.h>
#include "ws_symbol_export.h"
/*#include "packet-h248-exp.h"*/
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_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_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);
@ -120,6 +121,7 @@ struct _h248_curr_info_t {
const h248_pkg_param_t* par;
};
WS_DLL_PUBLIC
void h248_register_package(const h248_package_t* pkg, pkg_reg_action reg_action);
#endif /* PACKET_H248_H */

View File

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

View File

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

View File

@ -25,6 +25,12 @@
* 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 proto_register_radiotap(void);
void proto_reg_handoff_radiotap(void);
@ -38,3 +44,5 @@ struct _radiotap_info {
guint32 flags;
guint64 tsft;
};
#endif

View File

@ -27,12 +27,17 @@
* 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_datapad (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 *);
WS_DLL_PUBLIC
void capture_prism(const guchar *, int, int, packet_counts *);
WS_DLL_PUBLIC
void capture_wlancap(const guchar *, int, int, packet_counts *);
void ieee_80211_add_tagged_parameters (tvbuff_t * tvb, int offset,

View File

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

View File

@ -26,6 +26,8 @@
#ifndef __PACKET_IP_H__
#define __PACKET_IP_H__
#include "ws_symbol_export.h"
typedef struct _ws_ip
{
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);
/* 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

View File

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

View File

@ -27,6 +27,8 @@
#ifndef PACKET_ISUP_H
#define PACKET_ISUP_H
#include "ws_symbol_export.h"
#define ISUP_MAX_NUM_MESSAGE_TYPES 256
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
* libwireshark.dll, we need a special declaration.
*/
WS_VAR_IMPORT 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 isup_message_type_value_acro_ext;
WS_DLL_PUBLIC value_string_ext q850_cause_code_vals_ext;
/*
* 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 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
*/
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);
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_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);
WS_DLL_PUBLIC
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_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