12 #ifndef __PACKET_PER_H__
13 #define __PACKET_PER_H__
15 #include "ws_symbol_export.h"
28 #define ASN1_NO_EXTENSIONS 0
29 #define ASN1_EXTENSION_ROOT ASN1_EXT_ROOT
30 #define ASN1_NOT_EXTENSION_ROOT ASN1_EXT_EXT
33 #define ASN1_NOT_OPTIONAL 0
34 #define ASN1_OPTIONAL ASN1_OPT
58 WS_DLL_PUBLIC guint32 dissect_per_IA5String(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
int min_len,
int max_len, gboolean has_extension,
tvbuff_t **value_tvb);
60 WS_DLL_PUBLIC guint32 dissect_per_NumericString(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
int min_len,
int max_len, gboolean has_extension,
tvbuff_t **value_tvb);
62 WS_DLL_PUBLIC guint32 dissect_per_PrintableString(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
int min_len,
int max_len, gboolean has_extension,
tvbuff_t **value_tvb);
64 WS_DLL_PUBLIC guint32 dissect_per_VisibleString(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
int min_len,
int max_len, gboolean has_extension,
tvbuff_t **value_tvb);
66 WS_DLL_PUBLIC guint32 dissect_per_BMPString(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
int min_len,
int max_len, gboolean has_extension);
68 extern guint32 dissect_per_UTF8String(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
int min_len,
int max_len, gboolean has_extension);
72 WS_DLL_PUBLIC guint32 dissect_per_constrained_sequence_of(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *parent_tree,
int hf_index, gint ett_index,
const per_sequence_t *seq,
int min_len,
int max_len, gboolean has_extension);
74 WS_DLL_PUBLIC guint32 dissect_per_constrained_set_of(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *parent_tree,
int hf_index, gint ett_index,
const per_sequence_t *seq,
int min_len,
int max_len, gboolean has_extension);
79 WS_DLL_PUBLIC guint32 dissect_per_object_identifier_str(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
const char **value_stringx);
82 WS_DLL_PUBLIC guint32 dissect_per_relative_oid_str(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
const char **value_stringx);
84 WS_DLL_PUBLIC guint32 dissect_per_boolean(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
bool *bool_val);
86 WS_DLL_PUBLIC guint32 dissect_per_integer(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index, gint32 *value);
88 WS_DLL_PUBLIC guint32 dissect_per_constrained_integer(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index, guint32 min, guint32 max, guint32 *value, gboolean has_extension);
90 WS_DLL_PUBLIC guint32 dissect_per_constrained_integer_64b(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index, guint64 min, guint64 max, guint64 *value, gboolean has_extension);
99 WS_DLL_PUBLIC guint32 dissect_per_octet_string(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
int min_len,
int max_len, gboolean has_extension,
tvbuff_t **value_tvb);
100 WS_DLL_PUBLIC guint32 dissect_per_octet_string_containing_pdu_new(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
int min_len,
int max_len, gboolean has_extension, dissector_t type_cb);
102 WS_DLL_PUBLIC guint32 dissect_per_bit_string(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
int min_len,
int max_len, gboolean has_extension,
int *
const *named_bits, gint num_named_bits,
tvbuff_t **value_tvb,
int *len);
104 WS_DLL_PUBLIC guint32 dissect_per_bit_string_containing_pdu_new(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
int min_len,
int max_len, gboolean has_extension, dissector_t type_cb);
106 WS_DLL_PUBLIC guint32 dissect_per_restricted_character_string(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index,
int min_len,
int max_len, gboolean has_extension,
const char *alphabet,
int alphabet_length,
tvbuff_t **value_tvb);
108 WS_DLL_PUBLIC guint32 dissect_per_enumerated(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index, guint32 root_num, guint32 *value, gboolean has_extension, guint32 ext_num, guint32 *value_map);
110 WS_DLL_PUBLIC guint32 dissect_per_open_type(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index, per_type_fn type_cb);
111 WS_DLL_PUBLIC guint32 dissect_per_open_type_pdu_new(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index, dissector_t type_cb);
113 WS_DLL_PUBLIC guint32 dissect_per_external_type(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index, per_type_fn type_cb);
115 extern guint32 dissect_per_size_constrained_type(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx,
proto_tree *tree,
int hf_index, per_type_fn type_cb,
const gchar *name,
int min_len,
int max_len, gboolean has_extension);
116 extern gboolean get_size_constraint_from_stack(
asn1_ctx_t *actx,
const gchar *name,
int *pmin_len,
int *pmax_len,
bool *phas_extension);
118 extern guint32 dissect_per_length_determinant(
tvbuff_t *tvb, guint32 offset,
asn1_ctx_t *actx _U_,
proto_tree *tree,
int hf_index, guint32 *length,
bool *is_fragmented);
121 WS_DLL_PUBLIC
void register_per_oid_dissector(
const char *oid, dissector_t dissector,
int proto,
const char *name);
Definition: packet_info.h:44
Definition: packet-per.h:36
Definition: packet-per.h:43
Definition: tvbuff-int.h:35