From 188ed2c7147f1cc09c76794c5db5b3f27c9704b3 Mon Sep 17 00:00:00 2001 From: Lev Walkin Date: Mon, 13 Sep 2004 08:31:01 +0000 Subject: inner structures tagging fix. see 0.9.5 comment in ChangeLog --- skeletons/constr_TYPE.h | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'skeletons/constr_TYPE.h') diff --git a/skeletons/constr_TYPE.h b/skeletons/constr_TYPE.h index 1918b5c1..15a67261 100644 --- a/skeletons/constr_TYPE.h +++ b/skeletons/constr_TYPE.h @@ -70,10 +70,13 @@ typedef struct asn1_TYPE_descriptor_s { asn_outmost_tag_f *outmost_tag; /* */ /* - * Tags that are expected, with some of their vital properties. + * Tags that are expected to occur. */ - ber_tlv_tag_t *tags; /* At least one tag must be specified */ + ber_tlv_tag_t *tags; /* Effective tags sequence for this type */ int tags_count; /* Number of tags which are expected */ + ber_tlv_tag_t *all_tags;/* Every tag for BER/containment */ + int all_tags_count; /* Number of tags */ + int last_tag_form; /* Acceptable form of the tag (prim, constr) */ /* @@ -92,12 +95,13 @@ typedef struct asn1_TYPE_descriptor_s { /* * An element of the constructed type, i.e. SEQUENCE, SET, CHOICE. */ + enum asn1_TYPE_flags_e { + ATF_NOFLAGS, + ATF_POINTER = 0x01, /* Represented by the pointer */ + ATF_OPEN_TYPE = 0x02, /* ANY type, without meaningful tag */ + }; typedef struct asn1_TYPE_member_s { - enum asn1_TYPE_flags_e { - ATF_NOFLAGS, - ATF_POINTER = 0x01, /* Represented by the pointer */ - ATF_OPEN_TYPE = 0x02, /* ANY type, without meaningful tag */ - } flags; /* Element's presentation flags */ + enum asn1_TYPE_flags_e flags; /* Element's presentation flags */ int optional; /* Following optional members, including current */ int memb_offset; /* Offset of the element */ ber_tlv_tag_t tag; /* Outmost (most immediate) tag */ -- cgit v1.2.3