Skip to content

Commit

Permalink
introduce oer constraint code
Browse files Browse the repository at this point in the history
  • Loading branch information
vlm committed Aug 2, 2017
1 parent e7b73c4 commit 7678076
Show file tree
Hide file tree
Showing 31 changed files with 44 additions and 15 deletions.
1 change: 1 addition & 0 deletions skeletons/ANY.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ asn_TYPE_descriptor_t asn_DEF_ANY = {
#endif /* ASN_DISABLE_OER_SUPPORT */
0, /* Use generic outmost tag fetcher */
0, 0, 0, 0,
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
&asn_SPC_ANY_specs,
Expand Down
1 change: 1 addition & 0 deletions skeletons/BIT_STRING.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ asn_TYPE_descriptor_t asn_DEF_BIT_STRING = {
asn_DEF_BIT_STRING_tags, /* Same as above */
sizeof(asn_DEF_BIT_STRING_tags)
/ sizeof(asn_DEF_BIT_STRING_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
&asn_SPC_BIT_STRING_specs
Expand Down
5 changes: 3 additions & 2 deletions skeletons/BMPString.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ static asn_OCTET_STRING_specifics_t asn_SPC_BMPString_specs = {
offsetof(BMPString_t, _asn_ctx),
ASN_OSUBV_U16 /* 16-bits character */
};
static asn_per_constraints_t asn_DEF_BMPString_constraints = {
static asn_per_constraints_t asn_DEF_BMPString_per_constraints = {
{ APC_CONSTRAINED, 16, 16, 0, 65535 },
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 },
0, 0
Expand Down Expand Up @@ -54,7 +54,8 @@ asn_TYPE_descriptor_t asn_DEF_BMPString = {
asn_DEF_BMPString_tags,
sizeof(asn_DEF_BMPString_tags)
/ sizeof(asn_DEF_BMPString_tags[0]),
&asn_DEF_BMPString_constraints,
0, /* No OER visible constraints */
&asn_DEF_BMPString_per_constraints,
0, 0, /* No members */
&asn_SPC_BMPString_specs
};
Expand Down
1 change: 1 addition & 0 deletions skeletons/BOOLEAN.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ asn_TYPE_descriptor_t asn_DEF_BOOLEAN = {
sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
asn_DEF_BOOLEAN_tags, /* Same as above */
sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/ENUMERATED.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ asn_TYPE_descriptor_t asn_DEF_ENUMERATED = {
sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]),
asn_DEF_ENUMERATED_tags, /* Same as above */
sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/GeneralString.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ asn_TYPE_descriptor_t asn_DEF_GeneralString = {
asn_DEF_GeneralString_tags,
sizeof(asn_DEF_GeneralString_tags)
/ sizeof(asn_DEF_GeneralString_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/GeneralizedTime.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ asn_TYPE_descriptor_t asn_DEF_GeneralizedTime = {
asn_DEF_GeneralizedTime_tags,
sizeof(asn_DEF_GeneralizedTime_tags)
/ sizeof(asn_DEF_GeneralizedTime_tags[0]),
0, /* No OER visible constraints */
&asn_DEF_GeneralizedTime_constraints,
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/GraphicString.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ asn_TYPE_descriptor_t asn_DEF_GraphicString = {
asn_DEF_GraphicString_tags,
sizeof(asn_DEF_GraphicString_tags)
/ sizeof(asn_DEF_GraphicString_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
5 changes: 3 additions & 2 deletions skeletons/IA5String.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ static const ber_tlv_tag_t asn_DEF_IA5String_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), /* [UNIVERSAL 22] IMPLICIT ...*/
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */
};
static asn_per_constraints_t asn_DEF_IA5String_constraints = {
static asn_per_constraints_t asn_DEF_IA5String_per_constraints = {
{ APC_CONSTRAINED, 7, 7, 0, 0x7f }, /* Value */
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */
0, 0
Expand Down Expand Up @@ -48,7 +48,8 @@ asn_TYPE_descriptor_t asn_DEF_IA5String = {
asn_DEF_IA5String_tags,
sizeof(asn_DEF_IA5String_tags)
/ sizeof(asn_DEF_IA5String_tags[0]),
&asn_DEF_IA5String_constraints,
0, /* No OER visible constraints */
&asn_DEF_IA5String_per_constraints,
0, 0, /* No members */
0 /* No specifics */
};
Expand Down
1 change: 1 addition & 0 deletions skeletons/INTEGER.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ asn_TYPE_descriptor_t asn_DEF_INTEGER = {
sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]),
asn_DEF_INTEGER_tags, /* Same as above */
sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
3 changes: 1 addition & 2 deletions skeletons/INTEGER.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

#include <asn_application.h>
#include <asn_codecs_prim.h>
#include <INTEGER_oer.h>

#ifdef __cplusplus
extern "C" {
Expand Down Expand Up @@ -41,8 +42,6 @@ xer_type_decoder_f INTEGER_decode_xer;
xer_type_encoder_f INTEGER_encode_xer;
per_type_decoder_f INTEGER_decode_uper;
per_type_encoder_f INTEGER_encode_uper;
oer_type_decoder_f INTEGER_decode_oer;
oer_type_encoder_f INTEGER_encode_oer;

/***********************************
* Some handy conversion routines. *
Expand Down
5 changes: 3 additions & 2 deletions skeletons/ISO646String.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ static const ber_tlv_tag_t asn_DEF_ISO646String_tags[] = {
(ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), /* [UNIVERSAL 26] IMPLICIT ...*/
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */
};
static asn_per_constraints_t asn_DEF_ISO646String_constraints = {
static asn_per_constraints_t asn_DEF_ISO646String_per_constraints = {
{ APC_CONSTRAINED, 7, 7, 0x20, 0x7e }, /* Value */
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */
0, 0
Expand Down Expand Up @@ -48,7 +48,8 @@ asn_TYPE_descriptor_t asn_DEF_ISO646String = {
asn_DEF_ISO646String_tags,
sizeof(asn_DEF_ISO646String_tags)
/ sizeof(asn_DEF_ISO646String_tags[0]),
&asn_DEF_ISO646String_constraints,
0, /* No OER visible constraints */
&asn_DEF_ISO646String_per_constraints,
0, 0, /* No members */
0 /* No specifics */
};
1 change: 1 addition & 0 deletions skeletons/NULL.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ asn_TYPE_descriptor_t asn_DEF_NULL = {
sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]),
asn_DEF_NULL_tags, /* Same as above */
sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/NativeEnumerated.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ asn_TYPE_descriptor_t asn_DEF_NativeEnumerated = {
sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]),
asn_DEF_NativeEnumerated_tags, /* Same as above */
sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/NativeInteger.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ asn_TYPE_descriptor_t asn_DEF_NativeInteger = {
sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]),
asn_DEF_NativeInteger_tags, /* Same as above */
sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/NativeReal.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ asn_TYPE_descriptor_t asn_DEF_NativeReal = {
sizeof(asn_DEF_NativeReal_tags) / sizeof(asn_DEF_NativeReal_tags[0]),
asn_DEF_NativeReal_tags, /* Same as above */
sizeof(asn_DEF_NativeReal_tags) / sizeof(asn_DEF_NativeReal_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
5 changes: 3 additions & 2 deletions skeletons/NumericString.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ static int asn_DEF_NumericString_c2v(unsigned int code) {
return 0x20;
}
}
static asn_per_constraints_t asn_DEF_NumericString_constraints = {
static asn_per_constraints_t asn_DEF_NumericString_per_constraints = {
{ APC_CONSTRAINED, 4, 4, 0x20, 0x39 }, /* Value */
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */
asn_DEF_NumericString_v2c,
Expand Down Expand Up @@ -68,7 +68,8 @@ asn_TYPE_descriptor_t asn_DEF_NumericString = {
asn_DEF_NumericString_tags,
sizeof(asn_DEF_NumericString_tags)
/ sizeof(asn_DEF_NumericString_tags[0]),
&asn_DEF_NumericString_constraints,
0, /* No OER visible constraints */
&asn_DEF_NumericString_per_constraints,
0, 0, /* No members */
0 /* No specifics */
};
Expand Down
1 change: 1 addition & 0 deletions skeletons/OBJECT_IDENTIFIER.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ asn_TYPE_descriptor_t asn_DEF_OBJECT_IDENTIFIER = {
asn_DEF_OBJECT_IDENTIFIER_tags, /* Same as above */
sizeof(asn_DEF_OBJECT_IDENTIFIER_tags)
/ sizeof(asn_DEF_OBJECT_IDENTIFIER_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/OCTET_STRING.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ asn_TYPE_descriptor_t asn_DEF_OCTET_STRING = {
asn_DEF_OCTET_STRING_tags, /* Same as above */
sizeof(asn_DEF_OCTET_STRING_tags)
/ sizeof(asn_DEF_OCTET_STRING_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
&asn_SPC_OCTET_STRING_specs
Expand Down
1 change: 1 addition & 0 deletions skeletons/ObjectDescriptor.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ asn_TYPE_descriptor_t asn_DEF_ObjectDescriptor = {
asn_DEF_ObjectDescriptor_tags,
sizeof(asn_DEF_ObjectDescriptor_tags)
/ sizeof(asn_DEF_ObjectDescriptor_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
5 changes: 3 additions & 2 deletions skeletons/PrintableString.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ static int asn_DEF_PrintableString_c2v(unsigned int code) {
return _PrintableString_code2value[code];
return -1;
}
static asn_per_constraints_t asn_DEF_PrintableString_constraints = {
static asn_per_constraints_t asn_DEF_PrintableString_per_constraints = {
{ APC_CONSTRAINED, 4, 4, 0x20, 0x39 }, /* Value */
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */
asn_DEF_PrintableString_v2c,
Expand Down Expand Up @@ -78,7 +78,8 @@ asn_TYPE_descriptor_t asn_DEF_PrintableString = {
asn_DEF_PrintableString_tags,
sizeof(asn_DEF_PrintableString_tags)
/ sizeof(asn_DEF_PrintableString_tags[0]),
&asn_DEF_PrintableString_constraints,
0, /* No OER visible constraints */
&asn_DEF_PrintableString_per_constraints,
0, 0, /* No members */
0 /* No specifics */
};
Expand Down
1 change: 1 addition & 0 deletions skeletons/REAL.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ asn_TYPE_descriptor_t asn_DEF_REAL = {
sizeof(asn_DEF_REAL_tags) / sizeof(asn_DEF_REAL_tags[0]),
asn_DEF_REAL_tags, /* Same as above */
sizeof(asn_DEF_REAL_tags) / sizeof(asn_DEF_REAL_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/RELATIVE-OID.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ asn_TYPE_descriptor_t asn_DEF_RELATIVE_OID = {
asn_DEF_RELATIVE_OID_tags, /* Same as above */
sizeof(asn_DEF_RELATIVE_OID_tags)
/ sizeof(asn_DEF_RELATIVE_OID_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/T61String.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ asn_TYPE_descriptor_t asn_DEF_T61String = {
asn_DEF_T61String_tags,
sizeof(asn_DEF_T61String_tags)
/ sizeof(asn_DEF_T61String_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/TeletexString.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ asn_TYPE_descriptor_t asn_DEF_TeletexString = {
asn_DEF_TeletexString_tags,
sizeof(asn_DEF_TeletexString_tags)
/ sizeof(asn_DEF_TeletexString_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/UTCTime.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ asn_TYPE_descriptor_t asn_DEF_UTCTime = {
asn_DEF_UTCTime_tags,
sizeof(asn_DEF_UTCTime_tags)
/ sizeof(asn_DEF_UTCTime_tags[0]),
0, /* No OER visible constraints */
&asn_DEF_UTCTime_constraints,
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/UTF8String.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ asn_TYPE_descriptor_t asn_DEF_UTF8String = {
asn_DEF_UTF8String_tags,
sizeof(asn_DEF_UTF8String_tags)
/ sizeof(asn_DEF_UTF8String_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
5 changes: 3 additions & 2 deletions skeletons/UniversalString.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ static asn_OCTET_STRING_specifics_t asn_SPC_UniversalString_specs = {
offsetof(UniversalString_t, _asn_ctx),
ASN_OSUBV_U32 /* 32-bits character */
};
static asn_per_constraints_t asn_DEF_UniversalString_constraints = {
static asn_per_constraints_t asn_DEF_UniversalString_per_constraints = {
{ APC_CONSTRAINED, 32, 32, 0, 2147483647 },
{ APC_SEMI_CONSTRAINED, -1, -1, 0, 0 },
0, 0
Expand Down Expand Up @@ -54,7 +54,8 @@ asn_TYPE_descriptor_t asn_DEF_UniversalString = {
asn_DEF_UniversalString_tags,
sizeof(asn_DEF_UniversalString_tags)
/ sizeof(asn_DEF_UniversalString_tags[0]),
&asn_DEF_UniversalString_constraints,
0, /* No OER visible constraints */
&asn_DEF_UniversalString_per_constraints,
0, 0, /* No members */
&asn_SPC_UniversalString_specs
};
Expand Down
1 change: 1 addition & 0 deletions skeletons/VideotexString.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ asn_TYPE_descriptor_t asn_DEF_VideotexString = {
asn_DEF_VideotexString_tags,
sizeof(asn_DEF_VideotexString_tags)
/ sizeof(asn_DEF_VideotexString_tags[0]),
0, /* No OER visible constraints */
0, /* No PER visible constraints */
0, 0, /* No members */
0 /* No specifics */
Expand Down
1 change: 1 addition & 0 deletions skeletons/VisibleString.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ asn_TYPE_descriptor_t asn_DEF_VisibleString = {
asn_DEF_VisibleString_tags,
sizeof(asn_DEF_VisibleString_tags)
/ sizeof(asn_DEF_VisibleString_tags[0]),
0, /* No OER visible constraints */
&asn_DEF_VisibleString_constraints,
0, 0, /* No members */
0 /* No specifics */
Expand Down
3 changes: 2 additions & 1 deletion skeletons/constr_TYPE.h
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,8 @@ typedef struct asn_TYPE_descriptor_s {
const ber_tlv_tag_t *all_tags; /* Every tag for BER/containment */
int all_tags_count; /* Number of tags */

asn_per_constraints_t *per_constraints; /* PER compiled constraints */
asn_oer_constraints_t *oer_constraints; /* OER constraints */
asn_per_constraints_t *per_constraints; /* PER constraints */

/*
* An ASN.1 production type members (members of SEQUENCE, SET, CHOICE).
Expand Down

0 comments on commit 7678076

Please sign in to comment.