aboutsummaryrefslogtreecommitdiffstats
path: root/tools/asn2wrs.py
diff options
context:
space:
mode:
authorBalint Reczey <balint@balintreczey.hu>2013-03-01 23:53:11 +0000
committerBalint Reczey <balint@balintreczey.hu>2013-03-01 23:53:11 +0000
commit1ebdb2e521ca0cbd7aeebd1c89b8a5cf6a4cc322 (patch)
treed6dde0ea7b6e6e15cc2c51a5f478fb85965b9720 /tools/asn2wrs.py
parent0b8d70bfb715bc3d89b6dfae86fc79d7c4387f02 (diff)
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
Diffstat (limited to 'tools/asn2wrs.py')
-rwxr-xr-xtools/asn2wrs.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/tools/asn2wrs.py b/tools/asn2wrs.py
index 3a743ddcd2..1c1d67fb11 100755
--- a/tools/asn2wrs.py
+++ b/tools/asn2wrs.py
@@ -504,7 +504,7 @@ class Ctx:
EF_TYPE = 0x0001
EF_VALS = 0x0002
EF_ENUM = 0x0004
-EF_WS_VAR = 0x0010
+EF_WS_DLL = 0x0010 # exported from shared library
EF_EXTERN = 0x0020
EF_NO_PROT = 0x0040
EF_NO_TYPE = 0x0080
@@ -1625,8 +1625,8 @@ class EthCtx:
fx.write(self.eth_type[t]['val'].eth_type_enum(t, self))
if (self.eth_type[t]['export'] & EF_VALS) and self.eth_type[t]['val'].eth_has_vals():
if not self.eth_type[t]['export'] & EF_TABLE:
- if self.eth_type[t]['export'] & EF_WS_VAR:
- fx.write("WS_VAR_IMPORT ")
+ if self.eth_type[t]['export'] & EF_WS_DLL:
+ fx.write("WS_DLL_PUBLIC ")
else:
fx.write("extern ")
fx.write("const value_string %s[];\n" % (self.eth_vals_nm(t)))
@@ -1635,7 +1635,10 @@ class EthCtx:
for t in self.eth_export_ord: # functions
if (self.eth_type[t]['export'] & EF_TYPE):
if self.eth_type[t]['export'] & EF_EXTERN:
- fx.write("extern ")
+ if self.eth_type[t]['export'] & EF_WS_DLL:
+ fx.write("WS_DLL_PUBLIC ")
+ else:
+ fx.write("extern ")
fx.write(self.eth_type_fn_h(t))
for f in self.eth_hfpdu_ord: # PDUs
if (self.eth_hf[f]['pdu'] and self.eth_hf[f]['pdu']['export']):
@@ -2390,7 +2393,7 @@ class EthCnf:
if (par[i] == 'ONLY_ENUM'): default_flags &= ~(EF_TYPE|EF_VALS); default_flags |= EF_ENUM
elif (par[i] == 'WITH_ENUM'): default_flags |= EF_ENUM
elif (par[i] == 'VALS_WITH_TABLE'): default_flags |= EF_TABLE
- elif (par[i] == 'WS_VAR'): default_flags |= EF_WS_VAR
+ elif (par[i] == 'WS_DLL'): default_flags |= EF_WS_DLL
elif (par[i] == 'EXTERN'): default_flags |= EF_EXTERN
elif (par[i] == 'NO_PROT_PREFIX'): default_flags |= EF_NO_PROT
else: warnings.warn_explicit("Unknown parameter value '%s'" % (par[i]), UserWarning, fn, lineno)
@@ -2526,7 +2529,7 @@ class EthCnf:
if (par[i] == 'ONLY_ENUM'): flags &= ~(EF_TYPE|EF_VALS); flags |= EF_ENUM
elif (par[i] == 'WITH_ENUM'): flags |= EF_ENUM
elif (par[i] == 'VALS_WITH_TABLE'): flags |= EF_TABLE
- elif (par[i] == 'WS_VAR'): flags |= EF_WS_VAR
+ elif (par[i] == 'WS_DLL'): flags |= EF_WS_DLL
elif (par[i] == 'EXTERN'): flags |= EF_EXTERN
elif (par[i] == 'NO_PROT_PREFIX'): flags |= EF_NO_PROT
else: warnings.warn_explicit("Unknown parameter value '%s'" % (par[i]), UserWarning, fn, lineno)