diff options
author | Tomas Kukosa <tomas.kukosa@siemens.com> | 2005-01-03 14:41:02 +0000 |
---|---|---|
committer | Tomas Kukosa <tomas.kukosa@siemens.com> | 2005-01-03 14:41:02 +0000 |
commit | 0d5093663d81405de07f2b7f4729740d48bdcba8 (patch) | |
tree | b961f12a1354550e1e16f16f63ea648f965e5b9a /tools | |
parent | 5e60281f8d313a724c994c4705a42cd8e7ccec5c (diff) |
Directives #.FN_* can be used for Ethereal types as well as for ASN.1 types
svn path=/trunk/; revision=12942
Diffstat (limited to 'tools')
-rw-r--r-- | tools/asn2eth.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/tools/asn2eth.py b/tools/asn2eth.py index 1855cadb86..79c0f9d9eb 100644 --- a/tools/asn2eth.py +++ b/tools/asn2eth.py @@ -813,14 +813,18 @@ class EthCtx: out += "dissect_%s_%s(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index, proto_item **item, void *private_data) {\n" % (self.eth_type[tname]['proto'], tname) elif (self.OPer()): out += "dissect_%s_%s(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {\n" % (self.eth_type[tname]['proto'], tname) - if self.conform.get_fn_presence(self.eth_type[tname]['ref'][0]): + if self.conform.get_fn_presence(tname): + out += self.conform.get_fn_text(tname, 'FN_HDR') + elif self.conform.get_fn_presence(self.eth_type[tname]['ref'][0]): out += self.conform.get_fn_text(self.eth_type[tname]['ref'][0], 'FN_HDR') return out #--- eth_type_fn_ftr -------------------------------------------------------- def eth_type_fn_ftr(self, tname): out = '\n' - if self.conform.get_fn_presence(self.eth_type[tname]['ref'][0]): + if self.conform.get_fn_presence(tname): + out += self.conform.get_fn_text(tname, 'FN_FTR') + elif self.conform.get_fn_presence(self.eth_type[tname]['ref'][0]): out += self.conform.get_fn_text(self.eth_type[tname]['ref'][0], 'FN_FTR') out += " return offset;\n" out += "}\n" @@ -828,12 +832,13 @@ class EthCtx: #--- eth_type_fn_body ------------------------------------------------------- def eth_type_fn_body(self, tname, body, pars=None): - if self.conform.get_fn_body_presence(self.eth_type[tname]['ref'][0]): + out = body + if self.conform.get_fn_body_presence(tname): + out = self.conform.get_fn_text(tname, 'FN_BODY') + elif self.conform.get_fn_body_presence(self.eth_type[tname]['ref'][0]): out = self.conform.get_fn_text(self.eth_type[tname]['ref'][0], 'FN_BODY') - elif pars: - out = body % pars - else: - out = body + if pars: + out = out % pars return out #--- eth_output_hf ---------------------------------------------------------- |