aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-per.h
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-per.h')
-rw-r--r--epan/dissectors/packet-per.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/epan/dissectors/packet-per.h b/epan/dissectors/packet-per.h
index 173f2b9a9f..3752f01e20 100644
--- a/epan/dissectors/packet-per.h
+++ b/epan/dissectors/packet-per.h
@@ -34,6 +34,8 @@ if (check_col(pinfo->cinfo, COL_INFO)){ \
} \
tvb_get_guint8(tvb, 9999);
+typedef int (*per_callback)(tvbuff_t *, int, packet_info *, proto_tree *);
+
/* in all functions here, offset is guint32 and is
byteposition<<3 + bitposition
*/
@@ -51,14 +53,14 @@ typedef struct _per_choice_t {
int value;
char *name;
int extension;
- int (*func)(tvbuff_t *, int, packet_info *, proto_tree *);
+ per_callback func;
} per_choice_t;
typedef struct _per_sequence_t {
char *name;
int extension;
int optional;
- int (*func)(tvbuff_t *, int, packet_info *, proto_tree *);
+ per_callback func;
} per_sequence_t;
@@ -68,7 +70,7 @@ extern guint32 dissect_per_null(tvbuff_t *tvb, guint32 offset, packet_info *pinf
extern guint32 dissect_per_GeneralString(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *tree, int hf_index);
-extern guint32 dissect_per_sequence_of(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *parent_tree, int hf_index, gint ett_index, int (*func)(tvbuff_t *, int , packet_info *, proto_tree *));
+extern guint32 dissect_per_sequence_of(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *parent_tree, int hf_index, gint ett_index, const per_sequence_t *seq);
extern guint32 dissect_per_IA5String(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *tree, int hf_index, int min_len, int max_len);
@@ -80,11 +82,11 @@ extern guint32 dissect_per_VisibleString(tvbuff_t *tvb, guint32 offset, packet_i
extern guint32 dissect_per_BMPString(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *tree, int hf_index, int min_len, int max_len);
-extern guint32 dissect_per_constrained_sequence_of(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *parent_tree, int hf_index, gint ett_index, int (*func)(tvbuff_t *, int , packet_info *, proto_tree *), int min_len, int max_len);
+extern guint32 dissect_per_constrained_sequence_of(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *parent_tree, int hf_index, gint ett_index, const per_sequence_t *seq, int min_len, int max_len);
-extern guint32 dissect_per_constrained_set_of(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *parent_tree, int hf_index, gint ett_index, int (*func)(tvbuff_t *, int , packet_info *, proto_tree *), int min_len, int max_len);
+extern guint32 dissect_per_constrained_set_of(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *parent_tree, int hf_index, gint ett_index, const per_sequence_t *seq, int min_len, int max_len);
-extern guint32 dissect_per_set_of(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *parent_tree, int hf_index, gint ett_index, int (*func)(tvbuff_t *, int , packet_info *, proto_tree *));
+extern guint32 dissect_per_set_of(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *parent_tree, int hf_index, gint ett_index, const per_sequence_t *seq);
extern guint32 dissect_per_object_identifier(tvbuff_t *tvb, guint32 offset, packet_info *pinfo, proto_tree *tree, int hf_index, char *value_string);