11#ifndef __PACKET_OER_H__
12#define __PACKET_OER_H__
14#include "ws_symbol_export.h"
17typedef unsigned (*oer_type_fn)(tvbuff_t*, unsigned,
asn1_ctx_t*, proto_tree*, int);
25#define ASN1_NO_EXTENSIONS 0
26#define ASN1_EXTENSION_ROOT ASN1_EXT_ROOT
27#define ASN1_NOT_EXTENSION_ROOT ASN1_EXT_EXT
30#define ASN1_NOT_OPTIONAL 0
31#define ASN1_OPTIONAL ASN1_OPT
49WS_DLL_PUBLIC uint32_t dissect_oer_null(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index);
53WS_DLL_PUBLIC uint32_t dissect_oer_sequence_of(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *parent_tree,
int hf_index,
int ett_index,
const oer_sequence_t *seq);
55WS_DLL_PUBLIC uint32_t dissect_oer_IA5String(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index,
int min_len,
int max_len,
bool has_extension);
65WS_DLL_PUBLIC uint32_t dissect_oer_UTF8String(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index,
int min_len,
int max_len,
bool has_extension);
69WS_DLL_PUBLIC uint32_t dissect_oer_constrained_sequence_of(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *parent_tree,
int hf_index,
int ett_index,
const oer_sequence_t *seq,
int min_len,
int max_len,
bool has_extension);
75WS_DLL_PUBLIC uint32_t dissect_oer_object_identifier(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index, tvbuff_t **value_tvb);
81WS_DLL_PUBLIC uint32_t dissect_oer_boolean(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index,
bool *bool_val);
83WS_DLL_PUBLIC uint32_t dissect_oer_integer(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index, int32_t *value);
85WS_DLL_PUBLIC uint32_t dissect_oer_integer_64b(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index, int64_t *value);
87WS_DLL_PUBLIC uint32_t dissect_oer_constrained_integer(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index, int64_t min, int64_t max, uint32_t *value,
bool has_extension);
89WS_DLL_PUBLIC uint32_t dissect_oer_constrained_integer_64b(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index, int64_t min, uint64_t max, uint64_t *value,
bool has_extension);
90WS_DLL_PUBLIC uint32_t dissect_oer_constrained_integer_64b_no_ub(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index, int64_t min, uint64_t max, uint64_t *value,
bool has_extension);
94WS_DLL_PUBLIC uint32_t dissect_oer_choice(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index,
int ett_index,
const oer_choice_t *choice,
int *value);
96WS_DLL_PUBLIC uint32_t dissect_oer_sequence(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *parent_tree,
int hf_index,
int ett_index,
const oer_sequence_t *sequence);
99WS_DLL_PUBLIC uint32_t dissect_oer_octet_string(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index,
int min_len,
int max_len,
bool has_extension, tvbuff_t **value_tvb);
102WS_DLL_PUBLIC uint32_t
103dissect_oer_bit_string(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index,
int min_len,
int max_len,
bool has_extension,
int *
const *named_bits,
int num_named_bits, tvbuff_t **value_tvb,
int *len);
108WS_DLL_PUBLIC uint32_t dissect_oer_enumerated(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index, uint32_t root_num, uint32_t *value,
bool has_extension, uint32_t ext_num,
const uint32_t *value_map);
110WS_DLL_PUBLIC uint32_t dissect_oer_open_type(tvbuff_t *tvb, uint32_t offset,
asn1_ctx_t *actx, proto_tree *tree,
int hf_index, oer_type_fn type_cb);
struct _asn1_ctx_t asn1_ctx_t
Central context object threaded through all ASN.1 dissection calls.
Definition packet-oer.h:33
Definition packet-oer.h:40