aboutsummaryrefslogtreecommitdiffstats
path: root/epan/asn1.h
diff options
context:
space:
mode:
authorTomas Kukosa <tomas.kukosa@siemens.com>2007-07-18 13:15:36 +0000
committerTomas Kukosa <tomas.kukosa@siemens.com>2007-07-18 13:15:36 +0000
commitab5d466fc7a896945f87087fae45847dde0e7c09 (patch)
tree5b808ce5d79a77ef3d582b7f65bb5cfe1566581c /epan/asn1.h
parent54a9c2e94e4691f5d4c7948061fc310b030771aa (diff)
rose_ctx_t structure usage in Q.932 dissector
svn path=/trunk/; revision=22349
Diffstat (limited to 'epan/asn1.h')
-rw-r--r--epan/asn1.h37
1 files changed, 27 insertions, 10 deletions
diff --git a/epan/asn1.h b/epan/asn1.h
index d426013ac9..1bf7b639ef 100644
--- a/epan/asn1.h
+++ b/epan/asn1.h
@@ -55,7 +55,7 @@ typedef struct _asn1_ctx_t {
int hf_index;
const char *direct_reference;
gint32 indirect_reference;
- guint32 encoding;
+ gint encoding;
/*
0 : single-ASN1-type,
1 : octet-aligned,
@@ -76,7 +76,7 @@ typedef struct _asn1_ctx_t {
struct {
tvbuff_t *data_value_descriptor;
int hf_index;
- guint32 identification;
+ gint identification;
/*
0 : syntaxes,
1 : syntax,
@@ -110,20 +110,37 @@ typedef struct _rose_ctx_t {
dissector_table_t res_global_dissector_table;
dissector_table_t res_local_dissector_table;
int apdu_depth;
- guint32 code;
- /*
- 0 : local,
- 1 : global
- */
- gint32 local;
- const char *global;
- proto_item *code_item;
+ struct { /* "dynamic" data */
+ gint pdu;
+ /*
+ 1 : invoke,
+ 2 : returnResult,
+ 3 : returnError,
+ 4 : reject
+ */
+ gint code;
+ /*
+ 0 : local,
+ 1 : global
+ */
+ gint32 code_local;
+ const char *code_global;
+ proto_item *code_item;
+ } d;
void *private_data;
} rose_ctx_t;
extern void asn1_ctx_init(asn1_ctx_t *actx, asn1_enc_e encoding, gboolean aligned, packet_info *pinfo);
extern gboolean asn1_ctx_check_signature(asn1_ctx_t *actx);
extern void asn1_ctx_clean_external(asn1_ctx_t *actx);
+extern void asn1_ctx_clean_epdv(asn1_ctx_t *actx);
+
+extern void rose_ctx_init(rose_ctx_t *rctx);
+extern gboolean rose_ctx_check_signature(rose_ctx_t *rctx);
+extern void rose_ctx_clean_data(rose_ctx_t *rctx);
+
+extern asn1_ctx_t *get_asn1_ctx(void *ptr);
+extern rose_ctx_t *get_rose_ctx(void *ptr);
extern double asn1_get_real(const guint8 *real_ptr, gint real_len);