diff options
Diffstat (limited to 'src/crypto/asn1/tasn_typ.c')
-rw-r--r-- | src/crypto/asn1/tasn_typ.c | 67 |
1 files changed, 26 insertions, 41 deletions
diff --git a/src/crypto/asn1/tasn_typ.c b/src/crypto/asn1/tasn_typ.c index f2bbbc8..f004b0d 100644 --- a/src/crypto/asn1/tasn_typ.c +++ b/src/crypto/asn1/tasn_typ.c @@ -61,53 +61,38 @@ /* Declarations for string types */ -IMPLEMENT_ASN1_TYPE(ASN1_INTEGER); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_INTEGER); - -IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_ENUMERATED); - -IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_BIT_STRING); - -IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_OCTET_STRING); +#define IMPLEMENT_ASN1_STRING_FUNCTIONS(sname) \ + IMPLEMENT_ASN1_TYPE(sname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(sname, sname, sname) \ + sname *sname##_new(void) \ + { \ + return ASN1_STRING_type_new(V_##sname); \ + } \ + void sname##_free(sname *x) \ + { \ + ASN1_STRING_free(x); \ + } + +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_OCTET_STRING) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_INTEGER) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_ENUMERATED) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_BIT_STRING) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_UTF8STRING) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_PRINTABLESTRING) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_T61STRING) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_IA5STRING) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_GENERALSTRING) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_UTCTIME) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_GENERALIZEDTIME) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_VISIBLESTRING) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_UNIVERSALSTRING) +IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_BMPSTRING) IMPLEMENT_ASN1_TYPE(ASN1_NULL); IMPLEMENT_ASN1_FUNCTIONS(ASN1_NULL); IMPLEMENT_ASN1_TYPE(ASN1_OBJECT); -IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTF8STRING); - -IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING); - -IMPLEMENT_ASN1_TYPE(ASN1_T61STRING); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_T61STRING); - -IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_IA5STRING); - -IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALSTRING); - -IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTCTIME); - -IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME); - -IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_VISIBLESTRING); - -IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING); - -IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING); -IMPLEMENT_ASN1_FUNCTIONS(ASN1_BMPSTRING); - IMPLEMENT_ASN1_TYPE(ASN1_ANY); /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */; |